6位数码管动态显示,延时5ms,第6位数码管为什么不亮
时间:10-02
整理:3721RD
点击:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit w1=P2^1;
sbit w2=P2^2;
sbit w3=P2^3;
sbit w4=P2^4;
sbit w5=P2^5;
sbit w6=P2^6;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delayms(uint);
void main()
{
while(1)
{
w1=0;
w2=1;
w3=1;
w4=1;
w5=1;
w6=1; //打开第一个数码管
P0=table[1]; //送入数字1
delayms(5); //延迟5ms
w1=1;
w2=0;
w3=1;
w4=1;
w5=1;
w6=1;
P0=table[2];
delayms(5);
w1=1;
w2=1;
w3=0;
w4=1;
w5=1;
w6=1;
P0=table[3];
delayms(5);
w1=1;
w2=1;
w3=1;
w4=0;
w5=1;
w6=1;
P0=table[4];
delayms(5);
w1=1;
w2=1;
w3=1;
w4=1;
w5=0;
w6=1;
P0=table[5];
delayms(5);
w1=1;
w2=1;
w3=1;
w4=1;
w5=1;
w6=0;
P0=table[6];
delayms(5);
}
}
void delayms(uint ms)
{
uint i,j;
for(i=ms;i>0;i--)
for(j=100;j>0;j--);
}
希望各位大大教一下。感激不尽。
#define uchar unsigned char
#define uint unsigned int
sbit w1=P2^1;
sbit w2=P2^2;
sbit w3=P2^3;
sbit w4=P2^4;
sbit w5=P2^5;
sbit w6=P2^6;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delayms(uint);
void main()
{
while(1)
{
w1=0;
w2=1;
w3=1;
w4=1;
w5=1;
w6=1; //打开第一个数码管
P0=table[1]; //送入数字1
delayms(5); //延迟5ms
w1=1;
w2=0;
w3=1;
w4=1;
w5=1;
w6=1;
P0=table[2];
delayms(5);
w1=1;
w2=1;
w3=0;
w4=1;
w5=1;
w6=1;
P0=table[3];
delayms(5);
w1=1;
w2=1;
w3=1;
w4=0;
w5=1;
w6=1;
P0=table[4];
delayms(5);
w1=1;
w2=1;
w3=1;
w4=1;
w5=0;
w6=1;
P0=table[5];
delayms(5);
w1=1;
w2=1;
w3=1;
w4=1;
w5=1;
w6=0;
P0=table[6];
delayms(5);
}
}
void delayms(uint ms)
{
uint i,j;
for(i=ms;i>0;i--)
for(j=100;j>0;j--);
}
希望各位大大教一下。感激不尽。
如果延时500ms的话,6位数码管会按照先后顺序,由1,2,3,4,5,6循环显示。但是现在延时5ms的时候第6位数码管 ...

我也搞不明白了, 同问
找个硬件实试一下,这软件仿真不一定正确,仿真成功,下到硬件上多半用不了,所以最好用实物
这个程序的话应该是可行的吧
硬件的话,板子上面没有数码管,手头条件有限,只有液晶屏的,所以用仿真试试
数组下标从零开始的,你确定都对了 我不清楚16进制
程序看着没问题哈
这个应该是对的
你试试把第六个延时函数的时间改到500ms,别的不用改,试试看。当你把所有的延时函数改为5ms时,这就是所谓的动态显示,你应该懂吧。也可能是仿真软件的问题,我不太清楚,我是直接买了板子学的。希望对你有些帮助,我也在学习。共同加油啊,我QQ1650230295,有问题加我。可以一起学习。
的确,第六位没显示
好好学习天天向上
仿真软件的问题,你可以试试调一下仿真的时间,再不行就下载到硬件上,没学习板可以自己焊一个,网上大把电路图,很简单的,价格不贵
