1.静态数码管显示
#include<regx52.h> unsigned char NixieTable[]={0x3f,0x06,0x5B, 0x4F,0x66,0x6D, 0x7D,0x07,0x7F, 0x6F,0x77,0x7C, 0x39,0x5E,0x79, 0x71,0x00}; void Nixie(unsigned char Location,Number){ switch(Location){ case 1: P2_4=1;P2_3=1;P2_2=1;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 main() { while(1){ Nixie(3,0); } }
2.动态数码管 ---清零
#include<regx52.h> unsigned char NixieTable[]={0x3f,0x06,0x5B, 0x4F,0x66,0x6D, 0x7D,0x07,0x7F, 0x6F,0x77,0x7C, 0x39,0x5E,0x79, 0x71,0x00}; void Nixie(unsigned char Location,Number){ switch(Location){ case 1: P2_4=1;P2_3=1;P2_2=1;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 int xms) //@12.000MHz { unsigned char i, j; while(xms--){ i = 2; j = 239; do { while (--j); } while (--i); } } void main() { while(1){ Nixie(1,0); Delay(2); Nixie(2,1); Delay(2); Nixie(3,2); Delay(2); Nixie(4,3); Delay(2); Nixie(5,4); Delay(2); Nixie(6,5); Delay(2); Nixie(7,6); Delay(2); Nixie(8,7); Delay(2); } }
3.TM1640驱动数码管:
优点:自带显存、扫描电路,单片机只要告诉他显示什么即可
4.74HC595 也可以
浙公网安备 33010602011771号