
使用单片机驱动4位数码管,亮度不一样,第一位很亮,其他很暗,为什么?
电路图和结果如图所示!我想让前3个数码管显示520,课时结果亮度很暗程序如下:#include<STC12C2052AD.H>voiddelay(unsignedintx...
电路图和结果如图所示!我想让前3个数码管显示520,课时结果亮度很暗
程序如下:
#include <STC12C2052AD.H>
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
P3=0xf1;
P1=0x92;
delay(5);
P3=0xf2;
P1=0xa4;
delay(5);
P3=0xf4;
P1=0xc0;
delay(5);
} 展开
程序如下:
#include <STC12C2052AD.H>
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
P3=0xf1;
P1=0x92;
delay(5);
P3=0xf2;
P1=0xa4;
delay(5);
P3=0xf4;
P1=0xc0;
delay(5);
} 展开
展开全部
程序里没有做鬼影处理。你每次显示一位数码管之后,在delay之后都将P1和P3口清空,当然是按照你的电路来写,目的就是让数码管什么也不显示。然后再次赋值显示下一位的值。建议使用定时器来显示,这样能保证每一位的亮度完全相同。
更多追问追答
追问
那程序应该怎么写呢?
那程序应该怎么写呢?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询