数码管显示999-0;个位闪烁
数码管显示999-0;个位为什么闪烁?如何改善?现附程序如下,请大神指点!!!!!!!!sbit shi=P1^2;
sbit bai=P1^1;
unsigned int a,b,c, j;
#define uint unsigned int
void delay(uint x)
{
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
main()
{ while(1)
{
for(c=999;c>0;c--)
{
//delay(100);
bai=0;
P0=shizhong ;
delay(8);
P0=0xff;
bai=1;
shi=0;
P0=shizhong ;
delay(8);
P0=0xff;
shi=1;
ge=0;
P0=shizhong;
delay(24);
P0=0xff;
ge=1;
}
}
} P0=0xff; 都去掉,delay(8),小点,或去掉试试
P0=0xff; 都去掉,delay(8),小点,不能去掉 不然可能有重影你把晶振频率调大一点让程序刷新的快一点
sbit shi=P1^2;
sbit bai=P1^1;
#define uint unsigned int
void delay(uint x)
{
unsigned int a,b;
for(a=x;a>0;a--){
for(b=110;b>0;b--){
}
}
}
void main(void)
{
while(1)
{
U8 c2;
int c1;
for(c=999; c>=0; c--){
for(c2=0; c2<100; c2++){
//delay(100);
bai=0;
P0=shizhong ;
delay(8);
P0=0xff;
bai=1;
shi=0;
P0=shizhong ;
delay(8);
P0=0xff;
shi=1;
ge=0;
P0=shizhong;
delay(8);
P0=0xff;
ge=1;
}
}
}
} sbit shi=P1^2; sbit bai=P1^1;#define uint unsigned intvoid delay(uint x) { unsigned int a,b; for(a=x;a>0;a--){ for(b=110;b>0;b--){ } } }void main(void) { while(1) { U8 c2; int c1; for(c=999; c>=0; c--){ for(c2=0; c2<100; c2++){ //delay(100);
sbit shi=P1^2; sbit bai=P1^1;#define uint unsigned intvoid delay(uint x) { unsigned int a,b; for(a=x;a>0;a--){ for(b=110;b>0;b--){ } } }void main(void) { while(1) { U8 c2; int c1; for(c=999; c>=0; c--){ for(c2=0; c2<100; c2++){ //delay(100); bai=0; P0=shizhong ; delay(8); P0=0xff; bai=1; shi=0; P0=shizhong ; delay(8); P0=0xff; shi=1; ge=0; P0=shizhong; delay(8); P0=0xff; ge=1; } } } } 嗯,预料中的结果,多谢大家啦
页:
[1]