首页 理论教育 汇编与C语言的单片机原理与应用:实用键盘/显示器接口设计

汇编与C语言的单片机原理与应用:实用键盘/显示器接口设计

时间:2023-10-23 理论教育 版权反馈
【摘要】:图8-238155键盘/显示的程序流程8.1.4.2利用MCS-51单片机串行口实现的键盘/显示器接口当MCS-51单片机的串行口未作他用时,可使用MCS-51的串行口的方式0的输出方式,构成键盘/显示器接口,如图8-24所示。图8-24用AT89S51串行口扩展键盘/显示器早期的较为流行的键盘/显示器芯片8279采用并行连接方式,目前流行的键盘/显示器接口芯片均采用串行连接方式,占用口线少。显示RAM的容量为16×8位,最多可控制16个LED数码管显示。

汇编与C语言的单片机原理与应用:实用键盘/显示器接口设计

单片机应用系统中,键盘和显示器往往需同时使用,为节省I/O口线,可将键盘和显示电路做在一起,构成实用的键盘、显示电路。

8.1.4.1 利用并行I/O芯片实现键盘/显示器接口

图8-22 8155并行扩展I/O口构成的键盘/显示接口电路

图8-22为8031用扩展I/O接口芯片8155实现的6位LED显示和32键的键盘/显示器接口电路。图中8155也可用8255来替代。图8-22中,8031外扩1片8155H。8155内部的RAM地址为7E00 H~7EFFH;8155的I/O口地址为7F00 H~7F05H,其中PA口为输出口,控制键盘列线的扫描,同时又是6位共阴极显示器的位扫描口,PB口作为显示器段码输出口,PC口作为键盘的行线状态的输入口。75452为反相驱动器,7407为同相驱动器。

8031内部RAM 6个显示缓冲单元为79H~7EH,存放要显示的6位数据。8155H的PB口输出相应位的段码,依次改变PA口输出为高的位使某一位显示某一字符,其他位为暗。动态地显示出由缓冲区中显示数据所确定的字符。程序流程见图8-23。具体程序略去。

图8-23 8155键盘/显示的程序流程

8.1.4.2 利用MCS-51单片机串行口实现的键盘/显示器接口

当MCS-51单片机的串行口未作他用时,可使用MCS-51的串行口的方式0的输出方式,构成键盘/显示器接口,如图8-24所示。8个74LS164(0)~74LS164(7)作为8位LED数码管的段码输出口,单片机的P3.4、P3.5作为两行键的行状态输入线,P3.3作为TXD引脚同步移位脉冲输出控制线,P3.3=0时,与门封死,禁止同步移位脉冲输出。由于显示器采用静态方式,因此这种方案主程序可不必扫描显示器,软件设计简单,使单片机有更多的时间处理其他事务

8.1.4.3 利用专用键盘/显示器接口芯片实现的键盘/显示器接口

采用专用的键盘/显示器接口芯片可省去编写键盘/显示器动态扫描程序以及键盘去抖动程序编写的繁琐工作。目前各种专用接口芯片种类繁多,各有特点,总体趋势是并行接口芯片逐渐退出,串行接口芯片越来越多的得到应用。

图8-24 用AT89S51串行口扩展键盘/显示器(www.xing528.com)

早期的较为流行的键盘/显示器芯片8279采用并行连接方式,目前流行的键盘/显示器接口芯片均采用串行连接方式,占用口线少。目前常见的专用芯片有周立功公司的ZLG7289A、ZLG7290B、MAX7219、南京沁恒公司的CH451、HD7279和BC7281等。这些芯片全采用动态扫描方式,且控制的键盘均为编码键盘。

下面简单介绍一下各种专用的键盘/显示器接口芯片。

(1)专用键盘/显示器接口芯片8279。它是可编程的并行键盘/显示器接口芯片。内部有键盘FIFO(先进先出堆栈)/传感器双重功能的8×8=64字节RAM。键盘控制部分可控制8×8的键盘矩阵,能自动获得按下键的键号。自动去键盘抖动并具有双键锁定保护功能。显示RAM的容量为16×8位,最多可控制16个LED数码管显示。目前并行的8279已经逐渐淡出市场。

(2)专用键盘/显示器芯片ZLG7290B。它采用I2 C串行口总线结构,可实现8位LED显示和64键的键盘管理,需外接晶振,使用按键功能时要接8个二极管,电路稍显复杂,且每次I2 C通信间隔稍长(10ms)。它具有闪烁、段点亮、段熄灭、功能键、连击键计数等功能。其中,功能键实现了组合按键,这在此类芯片中极具特点;连击键计数实现了识别长按键的功能,也是独有的。

(3)专用显示器芯片MAX7219。它是MAXIM(美信)公司的产品。该芯片采用串行SPI接口,仅是单纯驱动共阴极LED数码管,没有键盘管理功能。

(4)专用显示器芯片BC7281。它可驱动16位LED数码管显示和实现64键的键盘管理,可实现闪烁、段点亮、段熄灭等功能。最大特点是通过外接移位寄存器驱动16位LED数码管。但所需外围电路较多,占PCB空间较大,且在驱动16位LED数码管时,由于采用动态扫描方式工作,电流噪声过大。

(5)专用键盘/显示器芯片HD7279。它与单片机间采用串行通信,可控制并驱动8位LED数码管和实现64(8×8)键的键盘管理。外围电路简单,价格低廉。由于具有上述优点,目前得到较为广泛的应用。

(6)专用键盘/显示器芯片CH451。它可动态驱动8位LED数码管显示,具有BCD码译码、闪烁、移位等功能。内置大电流驱动级,段电流不小于30m A,位电流不小于160m A。内置64(8×8)键键盘控制器,可对8×8矩阵键盘自动扫描,且有去抖动电路,并提供键盘中断和按键释放标志位,可供查询按键按下与释放状态。片内内置上电复位和看门狗定时器。芯片性价比较高,是目前使用较为广泛的专用的键盘/显示器接口芯片之一。但抗干扰能力不是很强,不支持组合键识别。

上述串行各种专用芯片中,CH451和HD7279使用较多,而早期常采用并行专用芯片8279。有关这些芯片的详细介绍请读者查阅相关资料。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈