这里实现了静态数码管的显示。51单片机一共有可以显示4个数字,可以通过控制P2(4-2)的端口选择8个数字显示器中的一个显示数字,控制P0端口写入显示的数值信息。将操作的逻辑使用了函数Nixie进行了封装。
#include <8051.h>unsigned char NixieTable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
};
void Nixie(unsigned char Location, unsigned char 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;default:break;}P0=NixieTable[Number];
}void main(){Nixie(7,2);// P2_4=0;// P2_3=0;// P2_2=0;// P0=0x7d;while (1){}
}