📄 led显示器驱动.c
字号:
//一种简单的LED显示器驱动电路的设计源程序
//何青连
//对应五个数码管的显示缓冲区
unsigned char data HJCLED0;
unsigned char data HJCLED1;
unsigned char data HJCLED2;
unsigned char data HJCLED3;
unsigned char data HJCLED4;
//向74hc164写一个字节,mSB在前
void SendOneCharToLed(unsigned char cData)// /数码管显示程序
{
P10=0; //先全部位清0再发送新数据
P11=0;
P12=0;
P13=0;
P14=0;
SBUF=cData; //串行口发送信息
while(TI==0);
TI=0;
}
void T0_int(void) interrupt 1 // T0中断函数
{
TH0=0xec; //定时器重新赋值,5毫秒中断一次,刷新一个LED显示
TL0=0x77;
switch(CurrentShowLED)
{
case 0:
SendOneCharToLed(HJCLED0);
P10=1; //显示第1位
P11=0;
P12=0;
P13=0;
P14=0;
break;
case 1:
SendOneCharToLed(HJCLED1);
P10=0;
P11=1; //显示第2位
P12=0;
P13=0;
P14=0;
break;
case 2:
SendOneCharToLed(HJCLED2);
P10=0;
P11=0;
P12=1; //显示第3位
P13=0;
P14=0;
break;
case 3:
SendOneCharToLed(HJCLED3);
P10=0;
P11=0;
P12=0;
P13=1; //显示第4位
P14=0;
break;
case 4:
SendOneCharToLed(HJCLED4);
P10=0;
P11=0;
P12=0;
P13=0;
P14=1; //显示第5位
break;
default:
break;
}
CurrentShowLED++; //位信号
if(CurrentShowLED>=5)
{CurrentShowLED=0;}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -