#include<reg52.h>
sbit dula = P2^6;
sbit wela = P2^7;
unsigned char code table[] = {
0x3f,0x06,0x5b,0x4f,//0,1,2,3
0x66,0x6d,0x7d,0x07,//4,5,6,7
0x7f,0x6f,0x77,0x7c,//8,9,0,A
0x39,0x5e,0x79,0x71//b,C,d,E
};
void delay(unsigned int i)
{ unsigned int j,k;
for(j=i;j>0;j--)
for(k=125;k>0;k--);
}
unsigned int h,m,s;
void main()
{
/*所有的数码管设置成0*/
wela = 1;
P0 = 0x80;
wela = 0;
dula = 1;
P0 = 0x3f;
dula = 0;
delay(5);
//小时
wela = 1;
P0 = 0xfd;
wela = 0;
dula = 1;
P0 = 0x07;
dula = 0;
delay(5);
while(1);
}
本意是想让数码管显示070000
但是为什么最后只留下一个7呢?调试很长时间也未成功
还请各位大神帮忙解答 还有一个问题
为什么delay(5);这样的延时函数呢?
我看书上都是这么写的
------解决方案--------------------
用不同的片选
------解决方案--------------------
都while(1)了,数码管只剩残像了。