单片机c语言数码管_用51单片机实现数码管显示数字2107(c语言)

原问题:用51单片机实现数码管显示数字2107(c语言)
分类:编程开发 > 最后更新时间:【2017-02-26 22:53:53】

最佳答案

你那个编码数码管的数值可能有问题,写出来全是乱码。

(这是我写的,你可以做个参考):

#include<reg52.h>
sbit wela=P2^7;
sbit dula=P2^6;
#define uchar unsigned char
#define uint unsigned int
void delay();//声明延时函数
void main()
{
uchar table[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
,0x77};
while(1)
{
wela=1;//以后皆是重复的段位输入
P0=0xfe;
wela=0;
dula=1;
P0=table[2];
dula=0;
delay();
dula=0xff;//消隐
wela=1;
P0=0xfd;
wela=0;
dula=1;
P0=table[0];
dula=0;
delay();
dula=0xff;
wela=1;
P0=0xfb;
wela=0;
dula=1;
P0=table[1];
dula=0;
delay();
dula=0xff;
wela=1;
P0=0xf7;
wela=0;
dula=1;
P0=table[7];
dula=0;
delay();
dula=0xff;
}

}
void delay()//延时函数体
{
uint m=100;//时间尽可能短,达到数码管的动态显示效果
while(m--);
}

最佳答案由网友  仁者ZXX  提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
17

分享到:

其他回答

暂无其它回答!

    推荐