STMCU小助手
发布时间:2022-4-24 17:00
|
一、简介 TM1652 是一款LED(发光二极管、数码管、点阵屏)驱动控制专用芯片,内部集成了数字通讯电路、 解码电路、数据锁存器、震荡器、LED驱动电路。通讯方式采用异步串口通信(UART)协议,因芯片只 接收单片机发来的数据,仅需要单片机的一个TX端口发送数据给芯片即可,实现单线通讯;在显示驱动 方面,芯片采用动态扫描方式,两种显示模式可选,8级段驱动电流可调,16级位占空比可调;TM1652 内置消隐处理优化电路 二、驱动方式 本芯片采用异步串口通信(UART)协议,工作原理是将传输数据的每个字符以串行方式一位接一位 的传输。下图给出了其工作模式: TM1652 每一位的时间为:52us。 其中每一位(bit)的意义如下: ▲起始位:为由高变低,低电平时间为一位的时间,表示传输字符的开始。 ▲数据位:紧跟起始位之后,D0-D7,低位先发。 ▲校验位:为一位的时间,如果 8 位数据位中 1 的个数为奇数,该位设为 0(置低电平),否则为 1(置 高电平)。 ▲停止位:置高。时间为一位的时间,它是发送完一个字符数据的结束标志。 ▲空闲位:置高。如果空闲位置高的时间大于 3ms,TM1652 就认为本次数据帧结束,本次数据从暂存器 打入相应寄存器开始控制芯片输出。如果一帧数据传输没有结束,那么建议设置空闲位时间范围在 0-0.5ms 以内。 TM1652 的一帧数据包括以下两种形式: ⑴ 显示地址命令+显示数据; ⑵ 显示控制命令+显示控制调节命令。 波特率:是衡量数据传输速率的指针。表示为每秒钟传送的二进制位数(bit 数)。例如资料传送速率 为 120 字符/秒,而每一个字符为 11 位,则其传送的波特率为 11×120=1320 bit/秒=1320 波特。TM1652 支持波特率范围为:17500bps~21200bps,这里我们建议用 19200bps 即每位的时间为:1s(秒)/19200≈52us(微秒)。所以 TM1652 支持的每位的时间范围为:47us~57us。 在用 IO 模拟 UART 通讯时候,SDA 数据的位宽应该满足提供的位宽范围。 三、驱动源码
main.c
|
实战经验 | Keil工程使用NEAI库的异常问题
经验分享 | FDCAN数据段波特率增加后发送失败的问题分析
STM32几种流行开发环境的优缺点
好用软件推荐-TouchGFX Designer
OpenSTLinux 6.1发布:M33-TD加持+安全升级,STM32MPU开发效率翻倍!
【经验分享】STM32CubeIDE汉化
手把手教你VSCode搭建STM32开发环境
RTOS在STM32中的应用
【下载有礼】STM32 Finder华为应用商店正式上线!移动选型工具助力开发效率升级
【2025·STM32峰会】GUI解决方案实训分享5-调通板载的NRF24L01 SPI接口并使用模块进行无线通信(发送和接收)
微信公众号
手机版