概述:HD7279A是一款具有简单SPI串行接口的器件,可直接驱动8位共阴式数码管(或64个独立的LED),管理多达64键键盘,单片即可完成LED显示和键盘接口的全部功能,大大简化电路设计,占用单片机资源极少(最少2线),完全免调试,外围电路更简单。HD7279A内部含有译码器可直接接收BCD码或16进制码,也可不译码,并同时具有两种译码方式。此外,该器件还具有多种控制指令,诸如消隐,闪烁,左移,右移和段寻址等,显示控制方式灵活,其段寻址能力可用于独立的LED显示或信息指示灯控制。HD7279A具有片选信号,可方便实现高于8位的显示或高于64键的键盘接口,采用多片级联,对片选信号进行译码即可实现。当应用系统中只有一片HD7279A时,片选端CS可直接接地。典型工作电压5.0V。
二、HD7279A功能和特性
无需外围电路,直接驱动数码管 多种译码方式,各显示位可分别控制译码方式 段寻址功能,可以单独控制显示段,便于使用独立LED 具有左移、右移、闪烁、消隐等多种显示控制指令 键盘部分具有去抖动功能,按键有效指示输出。
1.硬件设计
以基于单片机的医疗设备控制系统中的键盘显示模块为例,该模块中HD7279A器件 与单片机AT89C52只有3条线相连,如图4所示,其中3引脚插座J1是单片机AT89C52与HD7279A的连接线.占用单片机的3条I/0端口线:P1.7/CLK是单片机产生的控制同步时钟,P1.6/CS是HD7279A的片选线;P1.5/DATA是命令数据输出/输入线。键盘中断线KEY悬空,CS端由单片机控制是基于省电考虑,也可接地。HD7279A器件控制4个LED数码管动态显示,并监测16键键盘。CLK时钟频率约100 kHz,由单片机编程延时决定。在CLK的同步时钟作用下,控制命令、显示数据以及采用查询方式读取键盘键值代码数据等均由DATA端输入/输出。采用查询方式读取键值代码可节省一条单片机的I/0端口线,但需占用较多软件资源,由于该实例中单片机的任务并不复杂,因此每间隔30 ms读取一次键值代码。 图4中DIG4~DIG7既是4位共阴式数码管位选控制线,又是键盘列扫描线。SSA~SSG,SDP共8条线是4位数码管的段选控制线,分别通过200Ω的限流电阻与HD7279A器件的SA~SG,DP相连接,其中SSD~SSG同时为键盘的行扫描线。排电阻RX1是8×lO kΩ的下拉电阻,不可省去。连接到HD7279A器件RC端的振荡电路中,电阻R13=1.5 kΩ,电容C2=15 pF都是必须的,且R13在1~2 kΩ的阻值范同内变化,C2在10P~20 pF范围内变化时,该电路均能稳定工作,而在此范围之外有可能导致LED意外闪烁或响应键盘不灵敏,需要注意的是R13与C2必须尽量靠近HD7279A器件的RC端放置,以防止相互干扰。Cl=100μF,为滤波电容,有利于降低LED大电流工作对电源的冲击。LDl~LD4选用4位独立共阴式高亮度数码管LED,HD7279A采用动态扫描方式控制LED的显示,因此应该将4位不显示位全部消隐,进一步提高亮度。为了使4位LED全亮并保证足够的亮度,整个显示模块的工作电流降低到50 mA,可以将8个限流电阻增大到250~270Ω。需要注意的是HD7279A不具有双键锁定功能,因此在需要双键锁定功能的应用场合,可利用另外的单片机的I/O线与HD7279A器件联合判定。
图4
由于HD7279A与单片机采用串行接口(最少2线),对键盘的行列监控扫描线与显示控制的位选段选线共用,外围元件少,元件取值范围较宽,工作电流较小,工作稳定可靠,因此接口电路设计简单简洁,操作方便,性价比极高。
2.软件设计
针对图4中的键盘显示模块,给出了图5所示的软件编程流程图。常规任务是指单片机应用系统需要执行的其他任务,一次执行时间不超过20 ms;显示任务是指单片机发送给HD7279A器件的显示或控制命令,执行时间不超过5 ms;键盘一次按下保持时间一般在60 ms以上,而定时读取键值代码的时间间隔大约为30 ms,因此只要合理安排软件执行时序,则常规任务、显示任务和键盘操作就不会产生任何冲突,而且不会漏掉任何一次按键动作。
网友评论