泰安人才网装载机司机招聘网站优化推广软件
一、前言
显示床位号使用到4位数码管,为了节约单片IO口,使用TM1637来驱动数码管。
二、TM1637驱动芯片简介
三、电路设计,使用矩阵按键来模拟每个床位的呼叫按钮
四、编写51单片机代码
void delay_ms(u16 n)
{u8 i;while(n--){i = 111;while(i--);}
}u8 key_scan()
{u8 keyH, keyL, line, row;KEY=0xF0;if(KEY!=0xF0){delay_ms(10); //消抖延时if(KEY!=0xF0){keyH=KEY&0xF0;KEY=0x0F;keyL=KEY&0x0F;switch(keyH){case 0x70: line=1;break;case 0xB0: line=2;break;case 0xD0: line=3;break;case 0xE0: line=4;break;}switch(keyL){case 0x07: row=1;break;case 0x0B: row=2;break;case 0x0D: row=3;break;case 0x0E: row=4;break;}while(KEY!=0x0F);return (line-1)*4+row;}}return 0xFF;
}code unsigned char tab[] =
{0x3F,/*0*/0x06,/*1*/0x5B,/*2*/0x4F,/*3*/0x66,/*4*/0x6D,/*5*/0x7D,/*6*/0x07,/*7*/0x7F,/*8*/0x6F,/*9*/0x77,/*10 A*/0x7C,/*11 b*/0x58,/*12 c*/0x5E,/*13 d*/0x79,/*14 E*/0x71,/*15 F*/0x76,/*16 H*/0x38,/*17 L*/0x54,/*18 n*/0x73,/*19 P*/0x3E,/*20 U*/0x00,/*21 黑屏*/
};// TM1637串行数据线
sbit CLK = P2^0;
sbit DIO = P2^1;// LED灯
sbit LED = P3^0;void delay_us(unsigned int i)
{for (; i < 0; i--)_nop_();
}// TM1637开始信号
void TM1637_Start()
{CLK = 1;DIO = 1;delay_us(2);DIO = 0;
}// TM1637结束信号
void TM1637_Stop()
{CLK = 0;DIO = 0;delay_us(2);CLK = 1;delay_us(2);DIO = 1;
}void TM1637_ACK(void)
{CLK = 0;DIO = 1;while(DIO == 1);CLK =1;
}// 向TM1637写数据
void TM1637_Write(unsigned char DATA)
{unsigned char i;for (i = 0; i < 8; i++){CLK = 0;if (DATA & 0x01){DIO = 1;}else{DIO = 0;}DATA = DATA >> 1;CLK = 1;delay_us(2);}
}void TM1637_Display(u8 index)
{TM1637_Start();TM1637_Write(0x40); // 命令TM1637_ACK();TM1637_Stop();TM1637_Start();TM1637_Write(0xC0); // 地址TM1637_ACK(); TM1637_Write(0x3F); // 数据1TM1637_ACK();TM1637_Write(0x3F); // 数据2TM1637_ACK();TM1637_Write(0x3F); // 数据3TM1637_ACK();TM1637_Write(0x3F); // 数据4TM1637_ACK();TM1637_Write(0x3F); // 数据5TM1637_ACK();TM1637_Write(index); // 数据6TM1637_ACK();TM1637_Stop();TM1637_Start();TM1637_Write(0x89); // 亮度命令TM1637_ACK();TM1637_Stop();
}void main()
{u8 num;LED = LED_ON;TM1637_Display(tab[0]);while(1){num = key_scan();if(num!=0xFF){TM1637_Display(tab[num]);}}
}
五、电路仿真运行效果
六、完整Proteus仿真电路图和51单片机源码下载:
链接:https://pan.baidu.com/s/1TojZnTWu3sGl8oGfjc2dhw?pwd=ga5p
提取码:ga5p