首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

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

2013-01-23 
新手:怎样让数码管显示2个不同的数字啊#includereg52.hsbit dula P2^6sbit wela P2^7unsigned cha

新手:怎样让数码管显示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)了,数码管只剩残像了。

热点排行