#include <REGX51.H>
void delay(unsigned char t);
unsigned char nixietable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//¹¹ÔìÒ»¸ö¶ÎÂëµÄ¾ØÕó
void nixie(unsigned char location, number)//¹¹ÔìÒ»¸öÑ°Ö·£¬Ñ¡¶ÎÂëµÄº¯Êý
{
switch(location)//Ñ°Ö·
{
case 1:P2_4=1;P2_3=1;P2_2=1;break;//¼ÓÒ»¸öbreakÌø³öÑ»·£¬Èç¹û²»¼Ó¼ÌÐøÑ»·
case 2:P2_4=1;P2_3=1;P2_2=0;break;//
case 3:P2_4=1;P2_3=0;P2_2=1;break;//
case 4:P2_4=1;P2_3=0;P2_2=0;break;//
case 5:P2_4=0;P2_3=1;P2_2=1;break;//
case 6:P2_4=0;P2_3=1;P2_2=0;break;//
case 7:P2_4=0;P2_3=0;P2_2=1;break;//
case 8:P2_4=0;P2_3=0;P2_2=0;break;
}
P0=nixietable[number];//Ñ¡Âë
}
void delay(unsigned char t) //@11.0592MHz
{
unsigned char i, j;
while(t--)
{
i = 2;
j = 199;
do
{
while (--j);
} while (--i);
}
}
void main()
{
while(1)
{
nixie(1,1);delay(2);
nixie(2,2);delay(2);
nixie(3,3);delay(2);
nixie(4,4);delay(2);
nixie(5,5);delay(2);
nixie(6,6);delay(2);
nixie(7,7);delay(2);
}
}
数码管动态显示
最新推荐文章于 2024-07-12 15:13:17 发布