建筑网站图纸,wordpress网站安全性,策划网络营销方案,php网站开发实例教程的作者一、数码管原理图 我们发现#xff0c;总共有8个数码管。
它们的上面接8个LED#xff0c;用来控制选择哪个数码管。例如要控制第三个数码管#xff0c;就让LED6为0#xff0c;其他为1#xff0c;那LED又接到哪呢#xff1f;
二、LED 由图可以看出#xff0c;这个一个1…一、数码管原理图 我们发现总共有8个数码管。
它们的上面接8个LED用来控制选择哪个数码管。例如要控制第三个数码管就让LED6为0其他为1那LED又接到哪呢
二、LED 由图可以看出这个一个138译码器我们通过控制P22P23P24进而控制8个LED。例如要让第三个数码管LED6亮LED6对应Y55的二进制是101所以让P221P230P241。
三、数码管显示 通过一二我们可以选择哪个数码管现在要控制选择的数码管的显示。
我们可以发现每个数码管都有a,b,c,d...正好对应下面8条线a,b,c,d...而a,b,c,d...又对应左边P00,P01...
例如要显示6需要让afgedc亮b,dp不亮。
a对应P00所以P001。
b对应P01所以P010。
cd亮对应P02,P031。
。。。。
最后P00111 11010x7D
四、代码
#include STC89C5xRC.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: P241;P231;P221;break; case 2: P241;P231;P220;break; case 3: P241;P230;P221;break; case 4: P241;P230;P220;break; case 5: P240;P231;P221;break; case 6: P240;P231;P220;break; case 7: P240;P230;P221;break; case 8: P240;P230;P220;break; } P0NixieTable[Number];
} void main()
{
// P241; //Controls a nixie tube
// P230;
// P221;
// P00x7D; //value is 6 Nixie(3,6); while(1) { }
}
自定义Nixie函数负责选择数码管和显示数字。传入两个参数第一个参数代表第几个数码管第二个参数代表显示数字几。
Nixie(3,6)3对应Location代表第三个数码管。由本篇第二节可知第三个数码管对应LED6LED6对应101。
6对应显示数字6由本篇第三节可知数字6对应0x7d。