#include "reg52.h"sbit LED1=P2^0; //将P2管脚的前三位定义为38译码器的C、B、A端sbit LED2=P2^1;sbit LED3=P2^2;unsigned char NixieTable[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//共阳极/******************************************************************************** 函 数 名 : delay* 函数功能 : 延时函数* 输 入 : 无* 输 出 : 无*******************************************************************************/void delayMs(unsigned int xms){unsigned char i,j;while(xms){i=2;j=205; do{while(--j);}while(--i);xms--; }}/******************************************************************************** 函 数 名 : NIXIE* 函数功能 : 数码管函数* 输 入 : 无* 输 出 : 无*******************************************************************************/void Nixie(unsigned int Location,Number){switch( Location ){case 0: L1=0; L2=0; L3=0;break;case 1: L1=1; L2=0; L3=0;break;case 2: L1=0; L2=1; L3=0;break;case 3: L1=1; L2=1; L3=0;break;case 4: L1=0; L2=0; L3=1;break;case 5: L1=1; L2=0; L3=1;break;case 6: L1=0; L2=1; L3=1;break;case 7: L1=1; L2=1; L3=1;break;}P0 = NixieTable[Number];}/******************************************************************************** 函 数 名 : main* 函数功能 : 主函数* 输 入 : 无* 输 出 : 无*******************************************************************************/void main(){ while(1){Nixie(0,0);delayMs(500);Nixie(1,1);delayMs(500);Nixie(2,2);delayMs(500);Nixie(3,3);delayMs(500);Nixie(4,4);delayMs(500);Nixie(5,5);delayMs(500);Nixie(6,6);delayMs(500);Nixie(7,7);delayMs(500);}
如果觉得《C - 51 38译码器 动态数码管显示》对你有帮助,请点赞、收藏,并留下你的观点哦!