点击查看代码
/*
动态数码管显示 (数码管扫描)
xff
2025/1/7
扫描方式:单片机直接扫描
*/
#include <REGX52.H>
#include "Delay.h"
void NixieDisplay(unsigned int loc,num);
void main()
{
while(1)
{
NixieDisplay(1,1);
NixieDisplay(2,2);
NixieDisplay(3,3);
}
}
void NixieDisplay(unsigned int loc,num)
{
unsigned int NixieNumber[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x00};
switch(loc)
{
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=NixieNumber[num];
Delay(1); //保持稳定显示 保证亮度
P0=0x00; // 数据清零 实现消影
}