|
#include <reg51.h>
sbit dula=P2^6; //段選信號(hào)的鎖存器控制
sbit wela=P2^7; //位選信號(hào)的鎖存器控制
unsigned char code wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
//數(shù)碼管各位的碼表
unsigned char code duan[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f};
//1-8的碼表
void delay(unsigned int i)
{
unsigned int m,n;
for(m=i;m>0;m--)
for(n=90;n>0;n--);
}
void main()
{
unsigned char num;
for(num=0;num<8;num++)
{
P0=wei[num];
wela=1;
wela=0;
P0=duan[num];
dula=1;
dula=0;
delay(500);
}
while(1)
{
for(num=0;num<8;num++)
{
P0=wei[num];
wela=1;
wela=0;
P0=duan[num];
dula=1;
dula=0;
delay(2); //時(shí)間間隔短,這是關(guān)鍵(所謂的同時(shí)顯示,只是間隔較短而已,
//利用人眼的余輝效應(yīng),覺得每個(gè)數(shù)碼管都一直在亮)。
}
}
}
|
|