TM1637驱动数码管
TM1637
-
TM1637是带键盘扫描接口的LED驱动控制专用电路。
-
显示模式(8段x6位),支持共阳数码管输出。
-
键扫描(8x2bit),不支持组合按键。
-
两线串行接口(CLK,DIO)。
TM1637引脚
驱动晶体管
TM1637驱动数码管需要:将数据写入到数码管对应的显示寄存器中,打开对应的数码管。
写入寄存器和打开数码管,都是对寄存器进行操作,写入命令或数据,这是第一个要点。
第二个要点是,MCU按照TM1637协议,与TM1637通信。
写数据到寄存器
首先要知道在TM1637中,和数码管对应的6个字节的地址别是:
GRID1-GRID6:00H-05H,写显示数据时,按显示地址从低位到高位,从数据字节的低位到高位操作。
写显示数据到显示寄存器,需要先写数据命令,指明是写数据到显示寄存器。
然后需要写入地址命令,再之后是写显示的数据,最后写入控制显示命令,显示哪些数码管,以什么亮度显示。
控制命令:
比如说,这里我们要驱动数码管亮,因此数据命令是0x40
比如说,如果我们是要驱动GRID3对应的数码管亮,就要写入数据到C2H,地址命令是0xC2.
比如说,如果我们希望所有的数码管亮,且亮度最大,那么显示控制命令是0x84|0x87=0x8f
TM1637时序
TM1637协议是非常规的IIC协议,首先要注意它是先传输低位,再传输高位数据的,并且与IIC协议不同,它没有IIC从设备地址。
TM1637写数据时序图: