想让八位数码管这样闪,
4 4
3 3
2 2
1 1
程序如下即可:
void mian()
{
while(1) {
duanx = shuzi[4]; weix = 0x7e; delay(10000);
duanx = shuzi[3]; weix = 0xbd; delay(10000);
duanx = shuzi[2]; weix = 0xdb; delay(10000);
duanx = shuzi[1]; weix = 0xe7; delay(10000);
}
}
追问你给的这个程序里,数码管显示也出现问题了,和我的显示数字是一样的。
我的数码管是共阳的,数组里的内容没有错。如果我直接写
duanx = 0x99; weix = 0x7e; delay(10000);
duanx = 0xb0; weix = 0xbd; delay(10000);
duanx = 0xa4; weix = 0xdb; delay(10000);
duanx = 0xf9; weix = 0xe7; delay(10000);
这样是可以的。
回答哦?
又实验了一遍,刚才给出的程序,确实是显示了:
4 4
3 3
2 2
1 1
全部程序,如下:
#include "reg52.h"
#define duanx P0
#define weix P2
unsigned char shuzi[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delay(int z)
{
int x,y;
for(x=z;x>0;x--) for(y=110;y>0;y--);
}
void main()
{
while(1) {
duanx = shuzi[4]; weix = 0x7e; delay(1000);
duanx = shuzi[3]; weix = 0xbd; delay(1000);
duanx = shuzi[2]; weix = 0xdb; delay(1000);
duanx = shuzi[1]; weix = 0xe7; delay(1000);
}
}