怎样让8个数码管这样亮:像在墙上钉订一样,从这边到那边一排,不同的数字。 以下哪个程序该怎么改啊,我实在弄不出来现在,求指教。
#include<at89x51.h>
#define uchar unsigned char
#define uint unsigned int
sbit duan=P2^6;
sbit wei=P2^7;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(uint);
void main()
{
while(1)
{
wei=1;
P0=0x7f;
wei=0;
duan=1;
P0=table[7];
duan=0;
delay(300);
P0=0x00;
wei=1;
P0=0xbf;
wei=0;
duan=1;
P0=table[6];
duan=0;
delay(300);
P0=0x00;
wei=1;
P0=0xdf;
wei=0;
duan=1;
P0=table[5];
duan=0;
delay(300);
P0=0x00;
wei=1;
P0=0xef;
wei=0;
duan=1;
P0=table[4];
duan=0;
delay(300);
P0=0x00;
wei=1;
P0=0xf7;
wei=0;
duan=1;
P0=table[3];
duan=0;
delay(300);
P0=0x00;
wei=1;
P0=0xfb;
wei=0;
duan=1;
P0=table[2];
duan=0;
delay(300);
P0=0x00;
wei=1;
P0=0xfd;
wei=0;
duan=1;
P0=table[1];
duan=0;
delay(300);
P0=0x00;
wei=1;
P0=0xfe;
wei=0;
duan=1;
P0=table[0];
duan=0;
delay(300);
P0=0x00;
}
}
void delay(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
经过本侦探的推理,初步估计是你的延时太长。delay(300)改成delay(5);
共阴呐
代码.rar 下载积分: 积分 -1 分
410 Bytes, 下载次数: 12, 下载积分: 积分 -1 分
共阴数码管8位.rar 下载积分: 积分 -1 分
19.23 KB, 下载次数: 10, 下载积分: 积分 -1 分
一周热门 更多>