合泰单片机

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

HT16K23带Key Input LCD驱动

文件编码:A N0276S

简介

HT16K23是一款带按键扫描功能的LCD驱动芯片,内建存储器及RC振荡电路,可同时驱

动20×1 Key与20×4 LCD,支持I2C标准接口,只需两条信号线便可完成与MCU的通信功

能。本文以HT68F30为主控MCU,通过I2C通信协议控制HT16K23读取按键Data以及控

制LCD显示,目的在于让用户更清楚地掌握HT16K23的特性和应用。

工作原理

方框图

图1 HT16K23内部框图

表1 HT16K23 RAM Mapping of 20×4

表2:HT16K23 RAM Mapping of 16×8

由图1可知:HT16K23是一款具有按键扫描功能的LCD驱动芯片,基本特性如下:•HT16K23工作电压:2.4V~5.5V

•内建RC振荡器

•多种显示方式

若选16 SEG & 8 COM显示方式,显示RAM为16×8-bit。

若选20 SEG & 4 COM显示方式,显示RAM为10×8-bit。

•两线I2C通信接口(HT16K23工作在从机方式,MCU工作在主机方式)

•按键扫描功能

若选16 SEG & 8 COM显示方式,最多提供16×1按键扫描。

若选20 SEG & 4 COM显示方式,最多提供20×1按键扫描。

•LCD Bias Circuit:可设定为1/3 bias、1/4 duty或1/4 bias、1/8 duty

•可选硬件中断功能

表1和表2分别为20 SEG & 4 COM 的RAM Mapping 和16 SEG&8COM 的RAM Mapping : • HT16K23 RAM 内部有个地址指针,当往某个地址写入或读取数据后,地址指针自动加1,指向下一个要写入或读取的地址 • 如表1所示,在20 SEG×4 COM 显示方式下,内存地址达到0x0AH 后,再次写入或读取数据时,地址将自动复位为00H • 如表2所示,在16 SEG×8 COM 显示方式下,内存地址达到0x0FH 后,再次写入或读取数据时,地址将自动复位为00H • 用户可以根据自己的需要,在RAM 内写入或读取相应的数据 其他: • 若选16 SEG & 8 COM 显示方式,LCD bias Circuit 设定为1/4 bias 、1/8 duty ,最多可选16个按键 • 若选20 SEG & 4 COM 显示方式,LCD bias Circuit 设定为1/3 bias 、1/4 duty ,最多可选20个按键 • SEG 脚与按键输入脚共用,按键RAM 地址为0x20~0x22,为只读寄存器,如表3所示 表3:按键按键寄存器寄存器

操作操作说明说明

主控MCU 通过I 2C 通信方式实现对HT16K23进行配置及数据传输 (传输方式为MSB 方式即高位先传)。

HT16K23写入操作

写入命令

图2 写入命令控制时序

主机给HT16K23发送一个START 命令,紧接着发高7位从机地址 (E6H 即HT16K23的地址),其中第八位设定为0 (写入命令),此后,HT16K23将应答一个ACK 信号 (ACK 为"1"表示数据传输成功,否则为失败,用户可根据此位做相应的处理),主机接收到ACK 信号后,继续发送8-bit 的控制命令码 (命令码在下文会介绍),HT16K23又一次应答ACK 信号,主机接收到ACK 信号后,发送STOP 命令,写入命令操作结束。

写入单笔写入单笔数据数据

图3 写入单个8-bit 数据数据时序时序

主机给HT16K23发送一个START 命令,紧接着发送HT16K23的地址及写入命令,接收到HT16K23应答的ACK 信号后,继续发送8-bit 寄存器地址,接收到HT16K23应答的ACK 信号后,发送8-bit 的Data 数据,接收到HT16K23应答的ACK 信号后,发送STOP 命令,单笔数据写入操作结束!

写入多笔写入多笔数据数据

图4 写入多个字节数据的控制时序

写入多笔数据的方式与上面的单笔数据方式相似,不同之处在于写完第一个数据收到ACK 之后,不发送STOP 命令而是继续发送数据 (在写入下一个数据时内部寄存器地址指针会自动加1指向下一个地址,即地址+1),直到数据发送结束收到应答的ACK 之后,再发送STOP 命令,多笔数据写入结束。

HT16K23读取操作

图5 写入多个字节数据的控制时序

如图,读取操作如下:

首先,主机给HT16K23写入欲访问的寄存器地址。

然后,主机给HT16K23发送START 命令,紧接发送E7H (HT16K23的地址及读取命令(=1)),主机接收到HT16K23反馈的ACK 信号后,读取8-bit 的数据,若欲读取下一个连续的地址里面的Data ,则主机给从机 (HT16K23) 发送ACK 信号,HT16K23在接受

到ACK信号后,地址自动加1,主机可继续读取8-bit的数据,反之,主机可发送NACK 信号后发送STOP信号,读取操作结束!

注意:若读取地址为0x00 ~ 0x0FH,地址达到0x0FH后,继续读取8-bit的数据,地址指针将复位为0x00H;若读取地址为0x20 ~ 0x22H,地址达到0x22H后,继续读取8-bit的数据,地址指针将复位为0x20H。

HT16K23读写命令

下表为操作HT16K23的控制命令,具体功能描述请参见表中的Description显示:

表4 HT16K23的控制命令表

H/W 方框图

硬件硬件方框方框方框图图

图6 硬件方框图 硬件硬件方框方框方框图图功能说明 整个系统由电源模块、MCU 控制模块、HT16K23驱动模块、LCD 显示模块和按键模块组成。 • 电源模块 提供MCU 控制模块和HT16K23驱动模块,所需的工作电源。 • MCU 模块 负责与HT16K23驱动模块通信。 • 驱动模块 完成按键扫描与LCD 驱动显示。 • 按键模块 人机交互的输入设备。 • LCD 显示模块 人机交互的显示设备。

功能功能描述描述 应用范例按键功能说明

图7 硬件实物图

相关文档
最新文档