求大神指导程序,delay内时间不同数码管显示结果不一样啊
protues吧
全部回复
仅看楼主
level 1
ylbloveyly 楼主
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6;
sbit wela=P2^5;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,
0x79,0x71};
void display ();
void delayms(uint xms);
void main()
{
while(1) //大循环
{
display();
}
}
void display()
{
dula=1;
P0=table[0];
dula=0;
P0=0xff;//消影
wela=1;
P0=0xfe;
wela=0;
delayms(100);
dula=1;
P0=table[1];
dula=0;
P0=0xff;//消影
wela=1;
P0=0xfd;
wela=0;
delayms(100);
}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
delayms内时间很大时,显示正常,改小时如10ms,就显示不全了
2015年09月28日 09点09分 1
level 13
延时大概在1ms能正常显示
2015年09月30日 13点09分 2
1