怎样做微课网站,明星静态网站,网架加工方案,怎么做网站建设销售TM1637四位数码管模块是一个带时钟点的4位共阳数码管(0.36英寸)的显示模块#xff0c;驱动芯片为TM1637#xff0c;驱动方式为IIC#xff0c;因此只需2根信号线即可使单片机控制4位8段数码管(数码管8级亮度可调)。模块特点如下#xff1a;显示器件为4位共阳数码管数码管8级…  TM1637四位数码管模块是一个带时钟点的4位共阳数码管(0.36英寸)的显示模块驱动芯片为TM1637驱动方式为IIC因此只需2根信号线即可使单片机控制4位8段数码管(数码管8级亮度可调)。模块特点如下显示器件为4位共阳数码管数码管8级亮度可调控制接口电平可为5V或3.3VIIC驱动只需要占用两个IO引脚即可实现驱动显示功能带有时钟点应用于电子钟显示很方便TM1637管脚定义硬件连接模块共4个引脚(GND、VCC、DIO、CLK)GND为地VCC为供电电源DIO为数据输入输出脚CLK为时钟信号脚。用4根母对母杜邦线将4位数码管显示模块和STM32核心板连接起来如下图、下表所示四位数码管连接线STM32核心板CLK黄色PA3DIO蓝色PA2VCC红色3.3VGND黑色GNDIIC总线时序分析因为TM1637是IIC总线驱动所以驱动TM1637的总线时序需满足IIC总线的规定。下图是指令数据传输过程(读按键数据时序)上面时序图需要注意以下几点IIC总线对数据的有效性要求在输入数据时当CLK是高电平时DIO上的信号必须保持不变只有CLK上的时钟信号为低电平时DIO上的信号才能改变。所以我们封装的写字节的函数都是在CLK引脚为低电平的时候修改DIO的数据数据输入的开始条件是CLK为高电平时DIO由高变低具体代码实现如下 //IIC开始void TM1637_start(void){	 CLK_1;	 DIO_1;	 delay_us(2);	 DIO_0;}结束条件是CLK为高电平时DIO由低电平变为高电平。具体代码实现如下//IIC停止void TM1637_stop(void){	 CLK_0;	 delay_us(2);	 DIO_0;	 delay_us(2);	 CLK_1;	 delay_us(2);	 DIO_1;	 delay_us(2);}TM1637的数据传输带有应答信号ACK在传输数据的过程中在时钟线的第九个时钟芯片内部会产生一个应答信号ACK将DIO管脚拉低。写命令的实现根据上面实现的IIC 写字节函数实现下面地址自动加1模式下向SRAM写数据下图中时序图和代码部分颜色、形状相同部分相互对应。起始信号之后由DIO输入TM1637的第一个字节作为一条指令。经过内部译码取这个字节的B7、B6两位比特位以区别不同的指令。B7B6指令01数据命令设置10显示控制命令设置11地址命令设置数据命令设置该指令用来设置数据写和读B1和B0位不允许设置01或11有上面表格可以查到B70B61。比如0x40这个命令就对应上表中第一行写数据到显示寄存器。地址命令设置该指令用来设置显示寄存器的地址如果地址设为06H或更高数据将被忽略直到有效地址被设定上电时地址默认为00H。比如0xC0这个就是地址命令对应显示地址00H即第一个数码管的地址后面发送数据就可以给第一个数码管设置显示内容。显示控制比如0x8F对应二进制1000 1111B31代表开显示B2~B0的111代表脉冲宽度即显示亮度通过表格可以得出0x8F代表最高亮度。结果展示这种数码管可以显示的内容有0123456789AbcdEFHLnPU下面视频对这些内容进行了循环显示。