当前位置: 代码迷 >> 单片机 >> 生手:怎样让数码管显示2个不同的数字
  详细解决方案

生手:怎样让数码管显示2个不同的数字

热度:34   发布时间:2016-04-28 15:33:04.0
新手:怎样让数码管显示2个不同的数字啊
#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)了,数码管只剩残像了。
  相关解决方案