版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1C与键盘显示器拨盘打印机的接口设计与键盘显示器拨盘打印机的接口设计2图图10-110-1 8 8端端LEDLED结构及外形结构及外形第1页/共112页3 为使为使LEDLED显示不同的符号或数字显示不同的符号或数字,要为,要为LEDLED提供提供段码段码(或(或称称字型码字型码)。)。 提供给提供给LEDLED显示器的段码显示器的段码(字型码字型码)正好是一个字节(正好是一个字节(8 8段)段)。 各段与字节中各位对应关系如各段与字节中各位对应关系如表表10-110-1。按上述格式,按上述格式,8 8段段LEDLED的段码如的段码如表表10-10-2 2所示。所示。表表10-1 10-
2、1 段码与字节中各位对应关系段码与字节中各位对应关系第2页/共112页4显示字符显示字符共阴极段码共阴极段码共阳极段码共阳极段码显示字符显示字符共阴极段码共阴极段码共阳极段码共阳极段码0 03 3FHFHC0HC0Hc c3939H HC6HC6H1 10606H HF9HF9Hd d5 5EHEHA1HA1H2 25 5BHBHA4HA4HE E7979H H8686H H3 34 4FHFHB0HB0HF F7171H H8 8EHEH4 46666H H9999H HP P7373H H8 8CHCH5 56 6DHDH9292H HU U3 3EHEHC1HC1H6 67 7DHDH8
3、282H HT T3131H HCEHCEH7 70707H HF8HF8Hy y6 6EHEH9191H H8 87 7FHFH8080H HH H7676H H8989H H9 96 6FHFH9090H HL L3838H HC7HC7HA A7777FHFH8888H H“灭灭”0000H HFFHFFHb b7 7CHCH8383H H表表10-10-2 LED2 LED段码(段码(8 8段)段) 表表10-10-2 2只列出了部分段码,只列出了部分段码,可根据实际情况选用可根据实际情况选用,也可重新定义,也可重新定义。 第3页/共112页5 N N个个LEDLED显示块有显示块有N
4、 N位位位选线位选线和和8 8N N根根段码线。段码线。 段码线段码线控制显示字符的字型,而控制显示字符的字型,而位选线位选线为各个为各个LEDLED显示块中各显示块中各段的公共端,它控制该段的公共端,它控制该LEDLED显示位的亮与暗。显示位的亮与暗。LEDLED显示器工作原理显示器工作原理图图10-210-2是是4 4位位LEDLED显示器的结构原理图。显示器的结构原理图。图图10-210-2 4 4位位LEDLED显示器的结构原理图显示器的结构原理图第4页/共112页61. LED1. LED静态显示方式静态显示方式 各位的公共端连接在一起(接地或各位的公共端连接在一起(接地或+5+5V
5、 V)。)。 每位的段码线(每位的段码线(a adpdp)分别分别与一个与一个8 8位的锁存器输出相连位的锁存器输出相连。 之所以称为静态显示,是因为各个之所以称为静态显示,是因为各个LEDLED的显示字符一经确定的显示字符一经确定,相应锁存器的段码输出将维持不变,直到送入另一个字符的,相应锁存器的段码输出将维持不变,直到送入另一个字符的段码为止。段码为止。 静态显示器的静态显示器的显示的亮度高显示的亮度高。 图图10-3:10-3: 4 4位静态位静态LEDLED显示器电路显示器电路。该电路各位可独立显示。该电路各位可独立显示,只要在该位的段码线上保持段码电平,该位就能保持相应的,只要在该位
6、的段码线上保持段码电平,该位就能保持相应的显示字符。显示字符。第5页/共112页7 由于各位分别由一个由于各位分别由一个8 8位的数据输出口(如位的数据输出口(如82C5582C55的的PAPA、PBPB、PCPC口)控制段码线,故在同一时间内,每一个显示的字符可以各口)控制段码线,故在同一时间内,每一个显示的字符可以各不相同。不相同。 这种显示方式编程容易,但是占用口线较多。如图这种显示方式编程容易,但是占用口线较多。如图10-310-3,若,若用用IOIO口线接口,要占用口线接口,要占用4 4个个8 8位位IOIO口,若用锁存器(如口,若用锁存器(如74LS37374LS373)接)接口,
7、要用口,要用4 4片片74LS37374LS373芯片。如果显示的位数增多的话,则需要增芯片。如果显示的位数增多的话,则需要增加锁存器。加锁存器。 在在显示位数较多的情况显示位数较多的情况下,一般都采用下,一般都采用动态显示动态显示方式。方式。第6页/共112页82. 2. LEDLED动态显示方式动态显示方式 在多位在多位LEDLED显示时,为简化硬件电路,通常将所有位的段码显示时,为简化硬件电路,通常将所有位的段码线线相应段并在一起,由一个相应段并在一起,由一个8 8位位I/OI/O口控制口控制,形成,形成段码线的多路复段码线的多路复用;用;而各位的共阳极或共阴极分别由相应的而各位的共阳极
8、或共阴极分别由相应的I I/ /O O线控制,形成各线控制,形成各位的分时选通。位的分时选通。 图图10-410-4:4 4位位8 8段段LEDLED动态显示电路。其中动态显示电路。其中段码线占用一个段码线占用一个8 8位位I/OI/O口口,而,而位选线占用一个位选线占用一个4 4位位I/OI/O口口。 由于各位的段码线并联,由于各位的段码线并联,8 8位位I I/ /O O口输出端的段码对各个显示口输出端的段码对各个显示位来说都是相同的。因此,在同一时刻,如果各位位选线都处于位来说都是相同的。因此,在同一时刻,如果各位位选线都处于选通状态,选通状态,4 4位位LEDLED将显示相同的字符。将
9、显示相同的字符。第7页/共112页9 若要各位都显示出与本位相应的显示字符,就必须采用若要各位都显示出与本位相应的显示字符,就必须采用动态动态显示方式显示方式,即在,即在某一时刻,只让某一位的位选线处于选通状态某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段码线上要输出相应而其他各位的位选线处于关闭状态,同时,段码线上要输出相应的字符的段码。的字符的段码。 这样,在同一时刻,这样,在同一时刻,4 4位位LEDLED中中只有选通只有选通的那一位显示出字符的那一位显示出字符,而其他三位则是熄灭的。下一时刻,只,而其他三位则是熄灭的。下一时刻,只让下一位的位选线处于
10、让下一位的位选线处于选通状态选通状态,而其他各位的位选线处于关闭状态,在段码线上输出,而其他各位的位选线处于关闭状态,在段码线上输出将要显示的字符的段码,此时只有选通位显示出相应的字符,其将要显示的字符的段码,此时只有选通位显示出相应的字符,其他位熄灭的。如此循环下去。他位熄灭的。如此循环下去。第8页/共112页10 虽然这些字符是在不同的时刻出现的,而虽然这些字符是在不同的时刻出现的,而在同一时刻,只有在同一时刻,只有一位显示一位显示,其他位熄灭,但由于,其他位熄灭,但由于LEDLED显示器的余辉和人眼的显示器的余辉和人眼的“视视觉暂留觉暂留”作用,只要每位显示间隔足够短,则可以造成作用,只
11、要每位显示间隔足够短,则可以造成“多位同多位同时亮时亮”的假象,达到同时显示的效果。的假象,达到同时显示的效果。 LED LED不同位显示的时间间隔应根据实际情况而定。发光二极不同位显示的时间间隔应根据实际情况而定。发光二极管管从导通到发光有一定的延时从导通到发光有一定的延时,导通时间太短,则发光太弱,人,导通时间太短,则发光太弱,人眼无法看清;但也不能太长,因为要受限于临界闪烁频率,而且眼无法看清;但也不能太长,因为要受限于临界闪烁频率,而且此时间越长,占用单片机时间越多。另外,显示位数增多,也将此时间越长,占用单片机时间越多。另外,显示位数增多,也将占用大量的单片机时间,因此动态显示的实质
12、以牺牲单片机时间占用大量的单片机时间,因此动态显示的实质以牺牲单片机时间来换取来换取IOIO端口的减少。端口的减少。第9页/共112页11图图10-510-5为为8 8位位LEDLED动态显示动态显示200200的过程的过程。 图(图(a)a)是显示过程,是显示过程,某一时刻,只有一位某一时刻,只有一位LEDLED被选通显示,其被选通显示,其 余位则是熄灭的;余位则是熄灭的; 图(图(b)b)是实际显示结果,是实际显示结果,人眼看到的是人眼看到的是8 8位稳定位稳定的的同时显示同时显示的的字符。字符。图图10-510-5 8 8位位LEDLED动态显示过程和结果动态显示过程和结果第10页/共1
13、12页1210.2 10.2 键盘接口原理键盘接口原理1. 1. 键盘输入的特点键盘输入的特点 单片机系统中键盘有两种:机械式键盘和薄膜式键盘。单片机系统中键盘有两种:机械式键盘和薄膜式键盘。 键盘:一组按键开关的集合键盘:一组按键开关的集合。 一个电压信号通过键盘开关机械触点的断开、闭合,其行线一个电压信号通过键盘开关机械触点的断开、闭合,其行线电压的输出波形如电压的输出波形如图图10-610-6。图图10-610-6 键盘开关及其波形键盘开关及其波形抖动期(抖动期(t1t1、t3t3):一般为):一般为5 510ms10ms;稳定的闭合期间(稳定的闭合期间(t2t2):一般为十分之几秒到几
14、秒;):一般为十分之几秒到几秒;断开期(断开期(t0t0、t4t4)第11页/共112页13 2. 2. 按键的确认按键的确认检测检测行线行线电平电平(图(图10-610-6) 高电平:高电平:断开;断开; 低电平低电平:闭合。:闭合。 为了确保对一次按键动作只确认一次按键有效,必须消除抖为了确保对一次按键动作只确认一次按键有效,必须消除抖动期动期t1t1和和t3t3的影响。的影响。3.3.如何消除按键的抖动如何消除按键的抖动 常用常用软件来消除按键抖动。软件来消除按键抖动。 基本思想基本思想:检测到有键按下,键对应的行线为低,软件延时检测到有键按下,键对应的行线为低,软件延时1010msms
15、后,行线如仍为低,则确认该行有键按下。后,行线如仍为低,则确认该行有键按下。 当键松开时当键松开时,行线变高,软件延时,行线变高,软件延时1010msms后,行线仍为高,说后,行线仍为高,说明按键已松开。明按键已松开。 采取以上措施,采取以上措施,躲开了两个抖动期躲开了两个抖动期t1t1和和t3t3的影响的影响。第12页/共112页14独立式独立式按键接口和按键接口和行列式行列式键盘接口。键盘接口。1.1.独立式键盘接口独立式键盘接口 各键相互独立,每个按键各接一根输入线,通过各键相互独立,每个按键各接一根输入线,通过检测输入检测输入线的电平状态线的电平状态可很容易判断那个键被按下。可很容易判
16、断那个键被按下。 此种接口此种接口适于键数较少适于键数较少或或操作速度较高操作速度较高的场合。的场合。 图图10-710-7(a a)为为中断方式的独立式中断方式的独立式键盘工作电路。只要有一键盘工作电路。只要有一个键按下,与门的输出即为低电平,并向个键按下,与门的输出即为低电平,并向89C5189C51发出中断请求,发出中断请求,在中断服务程序中,对按下的键进行识别。在中断服务程序中,对按下的键进行识别。 图图10-710-7(b b)为为查询方式的独立式查询方式的独立式键盘工作电路。按键直接键盘工作电路。按键直接与与89C5189C51的的IOIO口线相连,通过读口线相连,通过读IOIO口
17、,判断各口,判断各IOIO口线的电平的状口线的电平的状态,即可以识别出按下的键。态,即可以识别出按下的键。第13页/共112页15图图10-710-7 独立式键盘接口电路独立式键盘接口电路第14页/共112页16图图10-810-8 通过通过82C5582C55扩展的独立式键盘接口扩展的独立式键盘接口 在各种独立式键盘电路中,在各种独立式键盘电路中,各按键均采用了上拉电阻各按键均采用了上拉电阻,以确,以确保在按键断开时候,各保在按键断开时候,各I I/O O口又确定的高电平。如果输入口线内部口又确定的高电平。如果输入口线内部已有上拉电阻,则外电路上拉电阻可省去。已有上拉电阻,则外电路上拉电阻可
18、省去。第15页/共112页172. 2. 行列式行列式( (矩阵式矩阵式) )键盘接口键盘接口 用于按键数目较多的场合,用于按键数目较多的场合,由由行线和列线组成行线和列线组成,按键位于,按键位于行、列的交叉点上。如行、列的交叉点上。如图图10-10-9 9所示。所示。 按键数目较多的场合按键数目较多的场合,行列式键盘与独立式键盘相比,行列式键盘与独立式键盘相比,要要节省很多的节省很多的I/OI/O口线口线。图图10-910-9 4 44 4行列式键盘结构行列式键盘结构第16页/共112页18(1 1)行列式键盘工作原理)行列式键盘工作原理 按键设在行、列线交点上。行线按键设在行、列线交点上。
19、行线通过上拉电阻接到通过上拉电阻接到+5V+5V上上。 无键按下,该行线为高电平;无键按下,该行线为高电平;当有键按下时,行线电平由列当有键按下时,行线电平由列线的电平来决定线的电平来决定。 由于行、列线为多键共用,各按键彼此将相互发生影响,由于行、列线为多键共用,各按键彼此将相互发生影响,必须必须将行、列线信号将行、列线信号配合起来并作适当的处理配合起来并作适当的处理,才能确定闭合,才能确定闭合键的位置。键的位置。(2 2)按键的识别方法按键的识别方法a. a. 扫描法扫描法 图图10-10-9 9(b b)中中3 3号键被按下为例,来说明此键时如何被识号键被按下为例,来说明此键时如何被识别
20、出来的。别出来的。第17页/共112页19识别键盘有无键被按下的方法,分两步进行:识别键盘有无键被按下的方法,分两步进行: 第第1 1步步:识别键盘有无键按下识别键盘有无键按下。把所有的列线均置为。把所有的列线均置为0 0电平,然电平,然后检查各行线是否都为高电平,如果不全为高电平,则说明后检查各行线是否都为高电平,如果不全为高电平,则说明该行该行有键按下有键按下,否则说明无键按下。,否则说明无键按下。 当键当键3 3按下时,第按下时,第1 1行为低电平,但还不能确定是键行为低电平,但还不能确定是键3 3被按下被按下(键(键2 2、1 1或或0 0按下都可以使第按下都可以使第1 1行线为低电平
21、)行线为低电平)第第2 2步:步:如有键被按下,识别出具体的按键如有键被按下,识别出具体的按键。 扫描法扫描法:在某一时刻:在某一时刻只让一条列线只让一条列线处于低电平,其余所有列处于低电平,其余所有列线处于高电平。线处于高电平。 当第当第1 1列为低电平,其余列为高电平时,因为是键列为低电平,其余列为高电平时,因为是键3 3被按下,被按下,所以第所以第1 1行的行线仍处于高电平;依次类推,直到第行的行线仍处于高电平;依次类推,直到第4 4列为低电平列为低电平时,第时,第1 1行的行线行的行线变为低电平。可判断出第变为低电平。可判断出第1 1行第行第4 4列被按下。列被按下。 上述方法称为上述
22、方法称为扫描法扫描法,即,即先把某一列置低电平,其余各列为先把某一列置低电平,其余各列为高电平,检查各行线电平的变化高电平,检查各行线电平的变化,如果某行线电平为低,可确定,如果某行线电平为低,可确定此行列交叉点此行列交叉点处的按键被按下。处的按键被按下。第18页/共112页20 b. b. 线反转法线反转法 只需两步便能获得此按键所在的行列值,线反转法的原理只需两步便能获得此按键所在的行列值,线反转法的原理如如图图10-10-1010。假设。假设3 3号键被按下。号键被按下。 第第1 1步:步:列线输出为全低电平列线输出为全低电平,则行线中电平由高变低的所,则行线中电平由高变低的所在行为按键
23、所在行。在行为按键所在行。 P1.0 P1.0P1.3P1.3全为全为“0 0”,读,读P1.4P1.4P1.7P1.7的状态,则的状态,则P1.4=0P1.4=0,其,其余为余为1 1。第。第1 1行电平有变化,说明行电平有变化,说明第第1 1行有键按下行有键按下。 第第2 2步:步:行线输出为全低电平行线输出为全低电平,则列线中电平由高变低所,则列线中电平由高变低所在列为按键所在列。在列为按键所在列。 P1.4 P1.4P1.7P1.7全为全为“0 0”,读,读P1.0P1.0P1.3P1.3的状态,则的状态,则P1.0=0P1.0=0,其余为其余为1 1。第。第4 4行电平有变化,说明行
24、电平有变化,说明第第4 4列有键按下列有键按下。 结合上述两步,可确定按键所在行和列。结合上述两步,可确定按键所在行和列。第19页/共112页21图图10-1010-10 线反转法原理图线反转法原理图第20页/共112页22 单片机在忙于各项工作任务时,如何兼顾键盘的输入,取单片机在忙于各项工作任务时,如何兼顾键盘的输入,取决于键盘的工作方式。决于键盘的工作方式。 原则:原则:即要保证能及时响应按键操作,又不要过多占用即要保证能及时响应按键操作,又不要过多占用CPUCPU的工作时间。的工作时间。 键盘工作方式有键盘工作方式有3 3种种,即编程扫描、定时扫描和中断扫描。,即编程扫描、定时扫描和中
25、断扫描。1. 1. 编程扫描方式编程扫描方式 只有当单片机空闲时,才调用键盘扫描子程序,扫描键盘。只有当单片机空闲时,才调用键盘扫描子程序,扫描键盘。工作过程:工作过程:(1 1)在键盘扫描子程序中,先判断有无键按下。)在键盘扫描子程序中,先判断有无键按下。(2 2)用软件来消除按键抖动的影响。如有键按下,则进行下一)用软件来消除按键抖动的影响。如有键按下,则进行下一步。步。(3 3)求按下键的键号。)求按下键的键号。(4 4)等待按键释放后,再进行按键功能的处理操作。)等待按键释放后,再进行按键功能的处理操作。第21页/共112页232. 2. 定时扫描工作方式定时扫描工作方式 利用单片机内
26、的定时器,产生利用单片机内的定时器,产生1010msms的定时中断,对键盘进的定时中断,对键盘进行扫描。行扫描。3.3.中断工作方式中断工作方式 只有在键盘有键按下时,才执行键盘扫描程序,如无键按只有在键盘有键按下时,才执行键盘扫描程序,如无键按下,单片机将不理睬键盘。下,单片机将不理睬键盘。键盘所做的工作分为三个层次键盘所做的工作分为三个层次。 第第1 1层:层:单片机如何来监视键盘的输入。三种工作方式:单片机如何来监视键盘的输入。三种工作方式:编程扫描;定时扫描;中断扫描。编程扫描;定时扫描;中断扫描。 第第2 2层:层:确定具体按键的键号。体现在按键的识别方法上确定具体按键的键号。体现在
27、按键的识别方法上就是:扫描法;线反转法。就是:扫描法;线反转法。 第第3 3层:层:执行键处理程序。执行键处理程序。第22页/共112页2410.3 10.3 键盘键盘/ /显示器接口设计实例显示器接口设计实例 一般把键盘和显示器放在一起考虑。一般把键盘和显示器放在一起考虑。I/OI/O芯片实现键盘芯片实现键盘/ /显示器接口显示器接口 图图10-110-11 1:80318031用扩展用扩展I/OI/O接口芯片接口芯片8181C55C55实现的实现的6 6位位LEDLED显示显示3232键的键键的键盘盘/ /显示器接口显示器接口电路。电路。 图中图中8181C55C55也可用也可用8282C
28、55C55来来替代。替代。第23页/共112页25 8 89C519C51外扩一片外扩一片81558155H H。RAMRAM地址:地址: 7 7E00HE00H7EFFH7EFFH。 I/O I/O口地址:口地址:7 7F00HF00H7F05H7F05H。 PAPA口口为输出口为输出口,控制键盘控制键盘列线的扫描列线的扫描,同时又是,同时又是6 6位共阴位共阴极显示器的极显示器的位扫描口位扫描口。 PBPB口口作为显示器段码输出口,作为显示器段码输出口,PCPC口作为键盘的行线状态的口作为键盘的行线状态的输入口。输入口。 75452 75452:反相驱动器,反相驱动器,74077407:同
29、相驱动器。同相驱动器。1 1动态显示程序设计动态显示程序设计 内部内部RAM RAM 6 6个显示缓冲单元:个显示缓冲单元:7979H H7EH7EH,存放要显示的存放要显示的6 6位位数据。数据。 81 81C55C55的的PBPB口输出相应位的段码,口输出相应位的段码,依次改变依次改变PAPA口输出为口输出为高高的的位位使某一位显示某一字符,其它位为暗。动态地显示出由缓冲使某一位显示某一字符,其它位为暗。动态地显示出由缓冲区中显示数据所确定的字符。区中显示数据所确定的字符。第24页/共112页26DIRDIR: MOV R0, MOV R0,79H79H; ;置缓冲器指针初值置缓冲器指针初
30、值 MOV R3,MOV R3,01H01H; ;位选码的初值送位选码的初值送R3R3 MOV A,R3MOV A,R3LD0LD0: MOV DPTR, MOV DPTR,7F01H 7F01H ; ;位选码位选码PAPA口口 MOVX DPTR,AMOVX DPTR,A ;( ;(PA.0PA.0位位) )最左边最左边LEDLED亮亮 INC DPTRINC DPTR ; ;数据指针指向数据指针指向PBPB口口 MOV A,R0 MOV A,R0 ; ;显示数据显示数据A A ADD A,ADD A,0DH 0DH ; ;加偏移量加偏移量 MOVC A,AMOVC A,APC PC ; ;
31、根据显示数据来查表取段码根据显示数据来查表取段码DIR1DIR1:MOVX DPTR,AMOVX DPTR,A ; ;段码段码81558155H H PBPB口口 ACALL DL1ms ACALL DL1ms ; ;该位显示该位显示1 1msms INC R0INC R0 ; ;指针指向下一个数据单元指针指向下一个数据单元 MOV A,R3MOV A,R3 ; ;位选码送入位选码送入A A中中 JB Acc.5,LD1JB Acc.5,LD1 ; ;判断是否扫描到最右边判断是否扫描到最右边,到则返回到则返回 RL A RL A ; ;位选码左移一位,准备让下一位位选码左移一位,准备让下一位L
32、EDLED亮亮 MOV R3,AMOV R3,A ; ;位选码送位选码送R3R3中保存中保存 AJMP LD0 AJMP LD0 LD1LD1: RET RET 第25页/共112页27DSEGDSEG: DB 3FH,06H,5BH,4FH,66H,6DH DB 3FH,06H,5BH,4FH,66H,6DH ;共阴极段码表共阴极段码表 DB 7DH,07H,7FH,6FH,77H,7CH DB 7DH,07H,7FH,6FH,77H,7CH DB 39H,5EH,79H,71H,73H,3EH DB 39H,5EH,79H,71H,73H,3EH DB 31H,6EH,1CH,23H,40
33、H,03HDB 31H,6EH,1CH,23H,40H,03H DB 18H,00HDB 18H,00HDL1msDL1ms: MOV R7,MOV R7,02H02H;延时延时1 1msms子程序子程序 DLDL: MOV R6,MOV R6,0FFH0FFHDL6DL6: DJNZ R6,DL6DJNZ R6,DL6 DJNZ R7,DLDJNZ R7,DL RETRET第26页/共112页282 2键盘程序设计键盘程序设计(1 1)判别键盘上有无键闭合)判别键盘上有无键闭合 方法为扫描口方法为扫描口PA0PA0PA7PA7输出全输出全0 0,读,读PCPC口的状态,若口的状态,若PC0P
34、C0PC3PC3全为全为1 1(键盘上的行线全为高电平),则键盘上没有键(键盘上的行线全为高电平),则键盘上没有键闭合,若闭合,若PC0PC0PC3PC3不全为不全为1 1,则有键处于闭合状态。,则有键处于闭合状态。(2 2)去除键的机械抖动)去除键的机械抖动 判别出键盘上有键闭合后,延迟一段时间再判别键盘的状判别出键盘上有键闭合后,延迟一段时间再判别键盘的状态,若仍有键闭合,则认为键盘上有一个键处于稳定的闭合期态,若仍有键闭合,则认为键盘上有一个键处于稳定的闭合期,否则认为是键的抖动。,否则认为是键的抖动。(3 3)判别闭合键的键号)判别闭合键的键号 方法方法: :对键盘的列线进行逐列扫描对
35、键盘的列线进行逐列扫描,扫描口,扫描口PA0PA0PA7PA7依次依次输出下列编码,即输出下列编码,即只有一列为低电平只有一列为低电平,其余各列为高电平。,其余各列为高电平。第27页/共112页29 第28页/共112页30图图10-1210-12 键盘子程序流程图键盘子程序流程图第29页/共112页31第30页/共112页32第31页/共112页33第32页/共112页34第33页/共112页35第34页/共112页36键盘键盘/ /显示器专用芯片显示器专用芯片82798279实现的键盘实现的键盘/ /显示器接口显示器接口 采用并行采用并行I I/O O口实现的键盘口实现的键盘/ /显示器接
36、口电路,需要用户自行显示器接口电路,需要用户自行编写键盘编写键盘/ /显示器的程序。当键盘中有双键或显示器的程序。当键盘中有双键或N N键同时按下时,还键同时按下时,还要考虑编写处理这种情况的程序端。要考虑编写处理这种情况的程序端。 目前已经有各种。目前已经有各种。专用的键盘专用的键盘/ /显示器接口芯片显示器接口芯片可供用户选可供用户选择。择。 用户可省去编写键盘用户可省去编写键盘/ /显示器动态扫描程序的繁琐工作,只显示器动态扫描程序的繁琐工作,只需需对键盘对键盘/ /显示器接口芯片中的各个控制寄存器进行显示器接口芯片中的各个控制寄存器进行正确的设置正确的设置以以及及与键盘与键盘/ /显示
37、器进行显示器进行正确的连接正确的连接即可。即可。 常用的常用的专用可编程键盘专用可编程键盘/ /显示器接口电路芯片为显示器接口电路芯片为Intel 8279Intel 8279和和HD7279AHD7279A。第35页/共112页37键盘键盘/ /显示器专用芯片显示器专用芯片82798279实现的键盘实现的键盘/ /显示器接口显示器接口 Intel8279Intel8279芯片是一种芯片是一种可编程的专用键盘可编程的专用键盘/ /显示器接口电路芯显示器接口电路芯片片,它能,它能同时完成同时完成监视键盘输入监视键盘输入和和显示控制显示控制两种功能。两种功能。 82798279芯片芯片对键盘部分对
38、键盘部分提供扫描工作方式,能对提供扫描工作方式,能对6464个按键个按键的键的键 盘阵列不断扫描,自动消除抖动,自动识别出闭合的键并得到键盘阵列不断扫描,自动消除抖动,自动识别出闭合的键并得到键号,能对号,能对双键或双键或N N个键同时按下进行处理个键同时按下进行处理。 显示部分显示部分为为LEDLED或其他显示器或其他显示器提供按扫描方式工作的显示接提供按扫描方式工作的显示接口口,可显示多达,可显示多达1616位位的字符或数字。的字符或数字。 第36页/共112页381.82791.8279的引脚及内部结构的引脚及内部结构 图图10-1310-13 8279 8279的引脚功能图的引脚功能图
39、第37页/共112页39图图10-1410-14 8279 8279的引脚功能的引脚功能第38页/共112页402. 2. 引脚功能介绍引脚功能介绍(1)(1)与单片机的接口引脚与单片机的接口引脚【P199P199】 DB0DB0DB7DB7:数据总线、双向、三态,与单片机数据总线相连数据总线、双向、三态,与单片机数据总线相连,在单片机和,在单片机和82798279之间传送命令或数据。之间传送命令或数据。接单片机接单片机P0P0口。口。 CLKCLK:系统时钟,输入线。用于系统时钟,输入线。用于82798279内部定时,以产生其工内部定时,以产生其工作所需的时序。作所需的时序。可接可接89C5
40、189C51的的/ALEALE(时钟频率(时钟频率6 6分频)。分频)。 RESETRESET:复位输入线,高电平有效。复位输入线,高电平有效。82798279被复位,被复位,复位后的复位后的状态如下状态如下: * * 1616个字符左边输入显示方式个字符左边输入显示方式 * * 编码扫描编码扫描键盘、双键锁定方式键盘、双键锁定方式 /CSCS:片选线,输入,低电平有效。片选线,输入,低电平有效。 /CS=0,8279=0,8279被选中,允许单片机对其进行读、写操作。被选中,允许单片机对其进行读、写操作。 /CS=1=1,禁止对,禁止对92799279进行读、写。进行读、写。第39页/共11
41、2页41 A0A0:命令字:命令字/ /状态字、数据选择状态字、数据选择 A0A0=1=1,89C5189C51写入写入82798279的是的是命令命令字节字节; ; 读出读出的是的是状态状态字节。字节。 A0A0=0=0,89C5189C51写入或读出写入或读出的字节均为的字节均为数据数据。 / /RDRD、/ /WRWR:读、写控制引脚,输入线,低电平有效。这两个读、写控制引脚,输入线,低电平有效。这两个来自单片机的控制信号,控制单片机对来自单片机的控制信号,控制单片机对82798279的读、写操作。的读、写操作。 IRQIRQ:中断请求线,高电平有效。中断请求线,高电平有效。 在键盘方式
42、中,当键盘在键盘方式中,当键盘RAMRAM(先进先出方式)中先进先出方式)中存有按下键存有按下键的数据时,的数据时,IRQIRQ为高电平为高电平,向,向CPUCPU提出中断申请。提出中断申请。 CPUCPU每次从键盘每次从键盘RAMRAM中读出一个字节数据时,中读出一个字节数据时,IRQIRQ就变为低电就变为低电平。平。 如果键盘如果键盘RAMRAM中还有未读完的数据,中还有未读完的数据,IRQIRQ将再次变为高电平,将再次变为高电平,再次提出中断请求。再次提出中断请求。第40页/共112页42(2 2)扫描信号输出引脚扫描信号输出引脚 SL0SL0SL3SL3:扫描输出线扫描输出线。用来扫描
43、键盘和显示器。用来扫描键盘和显示器。 可编程设定为可编程设定为编码输出编码输出,即,即SL0SL0SL3SL3需外接需外接4-164-16译码器,译码器,输出输出1616取取1 1的扫描信号。的扫描信号。 也可编程设定为也可编程设定为译码输出译码输出,即由,即由SL0SL0SL3SL3直接输出直接输出4 4取取1 1的的扫描信号。扫描信号。(3 3)与键盘连接的引脚)与键盘连接的引脚 RL0RL0RL7RL7:输入线。:输入线。键盘矩阵的键盘矩阵的行信号输入线行信号输入线。 SHIFTSHIFT:输入线,高电平有效。通常用作键盘上、下档功能输入线,高电平有效。通常用作键盘上、下档功能的控制键。
44、的控制键。 CNTL/STBCNTL/STB:输入线,高电平有效。在键盘方式时,通常用来输入线,高电平有效。在键盘方式时,通常用来作为键盘控制功能键使用。作为键盘控制功能键使用。第41页/共112页43(4 4)与显示器连接的引脚)与显示器连接的引脚 OUTA0OUTA0OUTA3OUTA3(A A组显示数据)组显示数据)、OUTB0OUTB0OUTB3OUTB3(B B组显示数组显示数据)据): :向向LEDLED显示器输出的段码显示器输出的段码, , 与扫描信号线与扫描信号线SL0SL0SL3SL3同步。同步。两组可独立使用,也可合并使用。两组可独立使用,也可合并使用。 /BD:BD:消隐
45、显示控制,低电平有效。该输出信号用于显示位切消隐显示控制,低电平有效。该输出信号用于显示位切换时的显示消隐或将显示器的显示消隐。换时的显示消隐或将显示器的显示消隐。3. 82793. 8279的基本功能部件的基本功能部件(1 1)扫描计数器)扫描计数器 扫描计数器有两种输出方式。扫描计数器有两种输出方式。 编码方式编码方式: :扫描线扫描线SL0SL0SL3SL3输出,经外部输出,经外部4-164-16译码器译码译码器译码后,为键盘和显示器提供后,为键盘和显示器提供1616取取1 1的扫描线。的扫描线。 译码方式译码方式: :计数器的最低二位在计数器的最低二位在82798279内部译码后,从内
46、部译码后,从SL0SL0SL3SL3输出,为键盘和显示器提供输出,为键盘和显示器提供4 4取取1 1扫描线。扫描线。第42页/共112页44D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0CNTLCNTLSHIFTSHIFT扫扫 描描回回 复复(2 2)键盘去抖动及回复缓冲器)键盘去抖动及回复缓冲器 8 8个引脚个引脚RL0RL0RL7RL7被接到键盘的行线。被接到键盘的行线。 在逐列扫描时,当某一键闭合,消抖电路延时等待在逐列扫描时,当某一键闭合,消抖电路延时等待1010msms之之后,再检验该键是否仍闭合。若闭合,则该键的行、列地址和后,再检验该键是否仍闭合。若闭合,则该键
47、的行、列地址和附加的移位、控制状态一起附加的移位、控制状态一起形成键盘数据形成键盘数据,送入,送入82798279内部的键内部的键盘盘RAMRAM存储器。存储器。格式格式为:为: 控制(控制(CNTLCNTL)和和移位(移位(SHIFTSHIFT)的状态由两个独立的附加开的状态由两个独立的附加开关决定,而关决定,而扫描扫描(D5D5、D4D4、D3D3)是被按键的是被按键的列列编码,而编码,而回复回复(D2D2、D1D1、D0D0)则是被按键的则是被按键的行行编码。编码。第43页/共112页45(3 3)键盘)键盘RAMRAM及其状态寄存器及其状态寄存器 键盘键盘RAMRAM:8 8字节字节先
48、进先出(先进先出(FIFOFIFO)存储器。内部的存储器。内部的FIFOFIFO状状态寄存器态寄存器存放存放FIFOFIFO的工作状态,如的工作状态,如FIFOFIFO是空还是满,其中存有是空还是满,其中存有多少字符,是否操作出错等等。多少字符,是否操作出错等等。 当当FIFOFIFO存储器空间不足时,状态逻辑将产生存储器空间不足时,状态逻辑将产生IRQ=1IRQ=1信号,向信号,向单片机发出中断申请。单片机发出中断申请。(4 4)显示)显示RAMRAM和显示地址寄存器和显示地址寄存器 显示显示RAMRAM:存显示数据。存显示数据。1616个字节个字节,可,可存放存放1616位显示信息位显示信
49、息。显示显示RAMRAM的输出与显示扫描配合,同时轮流驱动被选中的显示的输出与显示扫描配合,同时轮流驱动被选中的显示位,使显示器呈现稳定的显示(动态扫描)。位,使显示器呈现稳定的显示(动态扫描)。第44页/共112页464. 82794. 8279的命令字和状态字的命令字和状态字 命令字:命令字:D7D7、D6D6、D5D5为命令特征位,来区分为命令特征位,来区分8 8条条不同的命令不同的命令字。字。 状态字:状态字:主要用于主要用于键盘工作方式键盘工作方式,以指示键盘,以指示键盘RAMRAM中的字符中的字符数和有无错误发生。数和有无错误发生。第45页/共112页475. 82795. 827
50、9与键盘与键盘/ /显示器的接口显示器的接口 图图10-10-1515为为82798279与与8 8位显示器,位显示器,4 48 8键盘键盘的接口电路。键盘的的接口电路。键盘的行线接行线接82798279的的RL0RL0RL3RL3,82798279芯片选用外部译码方式,芯片选用外部译码方式,SL0SL0SL2SL2经经74LS13874LS138(1)(1)译码输出,接键盘的列线实现键盘逐列扫描。译码输出,接键盘的列线实现键盘逐列扫描。 SL0SL0SLSL3 3又由又由74LS138(2)74LS138(2)译码输出,经驱动后到显示器各位译码输出,经驱动后到显示器各位的公共阴极,进行逐位扫
51、描显示。输出线的公共阴极,进行逐位扫描显示。输出线OUTB0OUTB0OUTB3OUTB3、OUTA0OUTA0OUTA3OUTA3作为作为8 8位段数据输出口,输出段码。位段数据输出口,输出段码。 当位切换时,当位切换时,/BD/BD输出为低电平,使输出为低电平,使7474LS138(2)LS138(2)输出全为高输出全为高电平,显示消隐。电平,显示消隐。 当键盘上出现当键盘上出现有效的闭合键有效的闭合键时,键输入数据自动进入时,键输入数据自动进入82798279芯片的键盘芯片的键盘RAMRAM存储器,并向存储器,并向89C5189C51请求中断,请求中断,89C5189C51单片机响应单片
52、机响应中断读取键盘中断读取键盘RAMRAM中的键输入数据。若要更新显示器输出,仅需中的键输入数据。若要更新显示器输出,仅需改变显示改变显示RAMRAM中的内容。中的内容。 图图10-10-15:15:82798279的的命令命令/ /状态口地址为状态口地址为7 7FFFHFFFH,数据口地址为数据口地址为7 7FFEHFFEH。第46页/共112页48图图10-1510-15 89C51 89C51单片机通过单片机通过82798279芯片与显示器键盘的接口电路芯片与显示器键盘的接口电路第47页/共112页4982798279初始化程序:初始化程序:INITI: SETB EX1INITI: S
53、ETB EX1 ; ;允许外部中断允许外部中断1 1中断中断 MOVMOV DPTR,#7FFFH DPTR,#7FFFH ; ;命令命令/ /状态口地址写入状态口地址写入DPTRDPTR MOVMOV A,#0D1H A,#0D1H ; ;控制字控制字D1HD1H送送A A MOVX DPTR,AMOVX DPTR,A ; ;向命令向命令/ /状态口写入控制字状态口写入控制字LP: LP: MOVX A,DPTR MOVX A,DPTR ; ;读读82798279的状态的状态 JBJBAcc.7,LPAcc.7,LP MOVMOVA,#00HA,#00H MOVX DPTR,AMOVX DP
54、TR,A MOV A,MOV A,2AH2AH MOVX DPTR,AMOVX DPTR,A SETB EASETB EA 第48页/共112页50键输入中断服务程序键输入中断服务程序:PINT1PINT1:PUSH PSWPUSH PSW PUSH DPHPUSH DPH PUSH DPLPUSH DPL PUSH AccPUSH Acc MOV DPTR,MOV DPTR,7FFFH 7FFFH ;向命令口写入读键盘向命令口写入读键盘RAMRAM命命令令 MOV A,MOV A,40H40H MOVX DPTR,AMOVX DPTR,A MOV DPTR,MOV DPTR,7FFEH 7F
55、FEH ;读键输入值读键输入值 MOVX A,DPTRMOVX A,DPTR CJNE A,CJNE A,37H,PRI1 37H,PRI1 ;判输入停机命令否判输入停机命令否 SETB 20HSETB 20HPRI1PRI1: POP AccPOP Acc POP DPLPOP DPL POP DPHPOP DPH POP PSWPOP PSW RETIRETI第49页/共112页51显示子程序:显示子程序:DIRDIR: MOV MOV DPTR,DPTR,# #7FFFH 7FFFH ; ;输出写显示输出写显示RAMRAM命令命令 MOV MOV A,A,# #90H90H MOVX M
56、OVX DPTR,ADPTR,A MOV MOV R0R0,#,#70H70H MOV MOV R7R7,#,#08H08H ; ;送显示送显示RAMRAM数据的个数数据的个数 MOV MOV DPTRDPTR,#,#7FFEH7FFEHDL0DL0: MOV MOV A A, ,R0R0 ADD AADD A,#,#05H05H ; ;05H05H为查表偏移量为查表偏移量 MOVC AMOVC A, ,A+PC A+PC ; ;查表得到段码查表得到段码 MOVX DPTRMOVX DPTR, ,A A ; ;写入显示写入显示RAMRAM INC R0INC R0 ; ;显示数据单元地址增显示
57、数据单元地址增1 1 DJNZ R7DJNZ R7, ,DL0DL0 ; ;8 8个显示数据是否输出完毕个显示数据是否输出完毕 RETRETADSEGADSEG:DB 3FH,06H,5BH,4FH,66H,6DH DB 3FH,06H,5BH,4FH,66H,6DH ; ;段码表(共阴极)段码表(共阴极) DB 7DH,07H,7FH,6FH,77H,7CHDB 7DH,07H,7FH,6FH,77H,7CH . . 第50页/共112页52第51页/共112页53第52页/共112页54第53页/共112页55图图10-16 10-16 HD7279AHD7279A引脚图引脚图第54页/共
58、112页56第55页/共112页57第56页/共112页58第57页/共112页59(2 2)控制命令与时序)控制命令与时序HD7279AHD7279A芯片的控制命令由芯片的控制命令由6 6条纯命令条纯命令、7 7条带数据命令条带数据命令和和1 1条条读键盘命令读键盘命令组成。组成。 纯命令(纯命令(6 6条)。条)。所有纯命令所有纯命令都是都是1 1字节命令字节命令,如,如表表10-810-8所列。所列。 第58页/共112页60第59页/共112页61第60页/共112页62 从从HD7279AHD7279A读出当前的按键值读出当前的按键值。命令。命令第第1 1字节字节为为15H15H,表
59、示单,表示单片机写到片机写到HD7279AHD7279A的是读键命令,而的是读键命令,而第第2 2字节字节d7d7d0d0为从为从HD7279AHD7279A中中读出的按键值读出的按键值,其,其范围为范围为00H00H3FH3FH。 当按键按下时当按键按下时,KEYKEY引脚从高电平变为低电平,并保持到按引脚从高电平变为低电平,并保持到按键释放为止。在此期间,若键释放为止。在此期间,若HD7279AHD7279A收到来自单片机的读键盘命收到来自单片机的读键盘命令令15H15H,则,则HD7279AHD7279A输出当前的按键代码。输出当前的按键代码。 应注意应注意,HD7279AHD7279A
60、只能给出其中只能给出其中一个按下键一个按下键的代码的代码,不适合不适合需要需要2 2个或个或2 2个以上键个以上键同时按下的场合同时按下的场合。如果确实需要双键组合。如果确实需要双键组合使用,可在单片机某位使用,可在单片机某位I/OI/O引脚接一键,引脚接一键,HD7279AHD7279A所连键盘共同所连键盘共同组成双键功能。组成双键功能。第61页/共112页63第62页/共112页64图图10-1710-17 纯命令时序纯命令时序a. a. 纯命令时序纯命令时序 单片机发出单片机发出8 8个个CLKCLK脉冲,向脉冲,向HD7279AHD7279A发出发出8 8位命令,位命令,DATADAT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年公务员招考申论新就业形态劳动者保障模拟试卷及答案
- 2026年初级新能源外伤应急基础处置考试试卷及答案
- 绿色小清新教学说课 以说促教 以研共学
- 2026年保安员考试题库及答案(达标题)
- 2026秋小学赣美版美术一年级上册(新教材)教学计划
- 2026年公务员考试申论真题及答案卷
- 2026工勤考试收银审核员(高级技师)考试题(含答案)
- 2026年冬季两项裁判能力测评高频试题及答案
- 2026年全国安全生产月活动《安全知识》答题活动考前测试题(含答案)
- 2026年育婴师职业资格考试试题及答案
- GB 48145-2026井工煤矿机电设备完好性要求
- 2026-2027学年四年级上册英语基础过关第一次月考试卷
- 新版2026秋新北师大版数学五年级上册全册教案教学设计含综合实践合集
- 《南泥湾》教案2026-2027学年湘艺版六年级上册音乐
- 2026年呼吸与睡眠医学考试试题及答案
- 2026年注册电气工程师考试《电力系统分析》历年真题汇编
- 法律尽职调查报告模板
- 雨课堂学堂在线学堂云《人工智能与创新(南开)》单元测试考核答案
- GA/T 2336-2025法医临床学人体体表损伤检验规范
- DBJ∕T 15-185-2020 基坑工程自动化监测技术规范
- 用药指导及咨询服务方案
评论
0/150
提交评论