单片机第10章_第1页
单片机第10章_第2页
单片机第10章_第3页
单片机第10章_第4页
单片机第10章_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第1010章章 MCS-51MCS-51与键盘、显示器、拨盘、打印机的接与键盘、显示器、拨盘、打印机的接 口设计口设计输入外设输入外设:键盘等;键盘等;输出外设输出外设:LEDLED显示器显示器10.1 LED10.1 LED显示器接口原理显示器接口原理 LEDLED(Light Emitting Diode):(Light Emitting Diode):发光二极管的缩写。发光二极管的缩写。显示器前面冠以显示器前面冠以“LED”LED”。10.1.1 LED10.1.1 LED显示器的结构显示器的结构 常用的常用的LEDLED显示器为显示器为8 8段段(或(或7 7段段,8 8段比段比7

2、7段多了一段多了一个小数点个小数点“dpdp”段)。段)。有有共阳极和共阴极共阳极和共阴极两种。如图两种。如图10-110-1所示。所示。为使为使LEDLED显示不同的符号或数字显示不同的符号或数字,要为,要为LEDLED提供提供段码段码(或称(或称字型码字型码)。)。提供给提供给LEDLED显示器的段码显示器的段码(字型码字型码)正好是一个字正好是一个字节(节(8 8段)段)。各段与字节中各位对应关系如下:。各段与字节中各位对应关系如下:按上述格式,按上述格式,8 8段段LEDLED的段码如表的段码如表10-110-1所示。所示。显示字符显示字符共阴极共阴极段码段码共阳极共阳极段码段码显示字

3、符显示字符共阴极共阴极段码段码共阳极共阳极段码段码0 03FH3FHC0HC0Hc c39H39HC6HC6H1 106H06HF9HF9Hd d5EH5EHA1HA1H2 25BH5BHA4HA4HE E79H79H86H86H3 34FH4FHB0HB0HF F71H71H8EH8EH4 466H66H99H99HP P73H73H8CH8CH5 56DH6DH92H92HU U3EH3EHC1HC1H6 67DH7DH82H82HT T31H31HCEHCEH7 707H07HF8HF8Hy y6EH6EH91H91H8 87FH7FH80H80HH H76H76H89H89H9 96F

4、H6FH90H90HL L38H38HC7HC7HA A77FH77FH88H88H“灭灭”00H00HFFHFFHb b7CH7CH83H83H表表10-1 LED10-1 LED段码(段码(8 8段)段)表表10-110-1只列出了部分段码,只列出了部分段码,可根据实际情况选用可根据实际情况选用。另外,另外,段码是相对的段码是相对的,它由各字段在字节中所处的,它由各字段在字节中所处的位决定。例如表位决定。例如表10-110-1中中8 8段段LEDLED段码是按格式段码是按格式:而形成的,而形成的, “0”0”的段码为的段码为3FH3FH(共阴)。(共阴)。反之,如反之,如 将格式改为下列格

5、式:将格式改为下列格式:则则 “0”0”的段码为的段码为7EH7EH(共阴)(共阴)。字型及段码由设计者自行设定,字型及段码由设计者自行设定,习惯上还是以习惯上还是以“a”a” 段对应段码的最低位。段对应段码的最低位。N N个个LEDLED显示块有显示块有N N位位选线和位位选线和8 8N N根段码线根段码线。 10.1.2 LED10.1.2 LED显示器工作原理显示器工作原理图图10-210-2是是4 4位位 LEDLED显示器的结构原理图。显示器的结构原理图。段码线段码线控制控制显示的字型显示的字型,位选线位选线控制控制该显示位的亮或灭。该显示位的亮或灭。静态显示和动态显示静态显示和动态

6、显示两种显示方式。两种显示方式。1. 1. 静态显示方式静态显示方式各位的公共端连接在一起(接地或各位的公共端连接在一起(接地或+5V+5V)。)。 每位的段码线(每位的段码线(a adpdp)分别)分别与一个与一个8 8位的锁存器位的锁存器输出相连。输出相连。 显示字符一确定,相应锁存器的段码输出将维持显示字符一确定,相应锁存器的段码输出将维持不变,直到送入另一个段码为止。不变,直到送入另一个段码为止。显示的亮度高显示的亮度高。 图图10-310-3: : 4 4位静态位静态LEDLED显示器电路。该电路各位显示器电路。该电路各位可独立显示。可独立显示。2. 2. 动态显示方式动态显示方式

7、所有位的段码线所有位的段码线相应段并在一起,由一个相应段并在一起,由一个8 8位位I/OI/O口控制口控制,形成,形成段码线的多路复用段码线的多路复用,各位的各位的公共端公共端分别由分别由相应的相应的I/OI/O线控制,形成各位的线控制,形成各位的分时选通分时选通。图图10-410-4:4 4位位8 8段段LEDLED动态显示电路。其中段码线占用一动态显示电路。其中段码线占用一个个8 8位位I/OI/O口,而位选线占用一个口,而位选线占用一个4 4位位I/OI/O口。口。图图10-510-5为为8 8位位LEDLED动态显示动态显示2003.10.102003.10.10的过程的过程。图(图(

8、a)a)是显示过程,是显示过程,某一时刻,只有一位某一时刻,只有一位LEDLED被选通被选通 显示,其余位则是熄灭的;显示,其余位则是熄灭的;图(图(b)b)是实际显示结果,是实际显示结果,人眼看到的是人眼看到的是8 8位稳定位稳定的的 同时显示同时显示的字符。的字符。10.2 10.2 键盘接口原理键盘接口原理1. 1. 键盘输入的特点键盘输入的特点键盘:一组按键开关的集合。键盘:一组按键开关的集合。 行线电压信号通过键盘开关机械触点的断开、闭合,行线电压信号通过键盘开关机械触点的断开、闭合,输出波形如图输出波形如图10-610-6。2. 2. 按键的确认按键的确认 检测检测行线行线电平电平

9、 高电平:高电平:断开;断开;低电平:低电平:闭合,闭合,常用常用软件来消除按键抖动。软件来消除按键抖动。 基本思想基本思想:检测到有键按下,键对应的行线为低,软:检测到有键按下,键对应的行线为低,软件延时件延时10ms10ms后,行线如仍为低,则确认该行有键按下。后,行线如仍为低,则确认该行有键按下。3.3.如何消除按键的抖动如何消除按键的抖动 当键松开时,当键松开时,行线变高,软件延时行线变高,软件延时10ms10ms后,行线仍后,行线仍为为高,说明按键已松开。高,说明按键已松开。采取以上措施,采取以上措施,躲开了两个抖动期躲开了两个抖动期t1t1和和t3t3的影响。的影响。10.2.2

10、10.2.2 键盘接口的工作原理键盘接口的工作原理独立式独立式按键接口和按键接口和行列式行列式键盘接口。键盘接口。1.1.独立式键盘接口独立式键盘接口 各键相互独立,每个按键各接一根输入线,通过各键相互独立,每个按键各接一根输入线,通过检检测输入线的电平状态测输入线的电平状态可很容易判断那个键被按下。可很容易判断那个键被按下。此种接口此种接口适于键数较少或操作速度较高适于键数较少或操作速度较高的场合。的场合。图图10-710-7(a a)为)为中断方式的独立式中断方式的独立式键盘工作电路键盘工作电路图图10-710-7(b b)为)为查询方式的独立式查询方式的独立式键盘工作电路键盘工作电路。图

11、图10-810-8为为8255A8255A扩展扩展I/OI/O口口的的独立式独立式按键接口电路。按键接口电路。图图10-910-9用用三态缓冲器三态缓冲器扩展的扩展的I/OI/O口的按键接口电口的按键接口电路路。 对图对图10-910-9独立式键盘编程,软件消抖,查询方式检独立式键盘编程,软件消抖,查询方式检测键的状态。仅有一键按下时才有效才处理。测键的状态。仅有一键按下时才有效才处理。KEYIN:MOV DPTR,#0BFFFHKEYIN:MOV DPTR,#0BFFFH;键盘端口地址;键盘端口地址BFFFHBFFFHMOVX A,DPTRMOVX A,DPTR;读键盘状态;读键盘状态ANL

12、 A,#1FHANL A,#1FH;屏蔽高三位;屏蔽高三位MOV R3,AMOV R3,A;保存键盘状态值;保存键盘状态值LCALL DELAY10LCALL DELAY10;延时;延时10ms10ms去键盘抖动去键盘抖动MOVX A,DPTRMOVX A,DPTR;再读键盘状态;再读键盘状态ANL A,#1FHANL A,#1FH;屏蔽高三位;屏蔽高三位 CJNE A,R3,RETURN CJNE A,R3,RETURN ;两次不同,抖动引起转;两次不同,抖动引起转RETURNRETURNCJNE A,#1EH,KEY2 CJNE A,#1EH,KEY2 ;相等,有键按下,不等转;相等,有键

13、按下,不等转KEY2KEY2LJMP PKEY1LJMP PKEY1; ;是是K1K1键按下,转键按下,转K1K1键处理键处理 ;子程序;子程序PKEY1PKEY1KEY2: CJNE A,#1DH,KEY3 ;S2KEY2: CJNE A,#1DH,KEY3 ;S2键未按下,转键未按下,转KEY3KEY3LJMP PKEY2LJMP PKEY2 ;S2 ;S2键按下,转键按下,转PKEY2PKEY2处理处理KEY3:KEY3: CJNE A,#1BH,KEY4CJNE A,#1BH,KEY4 ;S3;S3未按下,转未按下,转KEY4KEY4LJMP PKEY3 ;S3LJMP PKEY3 ;

14、S3按下,转按下,转PKEY3PKEY3处理处理KEY4: CJNE A,#17H,KEY5 ;S4KEY4: CJNE A,#17H,KEY5 ;S4键未按下,转键未按下,转KEY5KEY5LJMP PKEY4 ;S4LJMP PKEY4 ;S4按下,转按下,转PKEY4PKEY4处理处理KEY5:KEY5: CJNE A,#0FH,PASS ;S5CJNE A,#0FH,PASS ;S5未按下,转未按下,转RETURNRETURNLJMP PKEY5 ;S5LJMP PKEY5 ;S5按下,转按下,转PKEY5PKEY5处理处理RETURN:RET ;RETURN:RET ;重键或无键按下

15、,从子程序返回重键或无键按下,从子程序返回识别和编程简单,识别和编程简单,用在按键数较少的场合。用在按键数较少的场合。2. 行列式行列式(矩阵式矩阵式)键盘接口键盘接口 用于按键数目较多的场合,由行线和列线组成,用于按键数目较多的场合,由行线和列线组成,按键位于行、列的交叉点上。如图按键位于行、列的交叉点上。如图10-1010-10所示。所示。 按键数目较多的场合按键数目较多的场合,行列式键盘与独立式键盘,行列式键盘与独立式键盘相比,要相比,要节省很多的节省很多的I/OI/O口线口线。(1)行列式键盘工作原理)行列式键盘工作原理 无键按下,该行线为高电平,无键按下,该行线为高电平,当有键按下时

16、,当有键按下时,行线电平由列线的电平来决定行线电平由列线的电平来决定。 由于行、列线为多键共用,各按键彼此将相互发由于行、列线为多键共用,各按键彼此将相互发生影响,必须生影响,必须将行、列线信号配合起来并作适当的处将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置理,才能确定闭合键的位置。(2 2)按键的识别方法)按键的识别方法a. a. 扫描法扫描法 图图10-1010-10(b b)中)中3 3号键被按下为例,来说明此键号键被按下为例,来说明此键时如何被识别出来的。时如何被识别出来的。识别键盘有无键被按下的方法,分两步进行:识别键盘有无键被按下的方法,分两步进行:第第1 1步:步:

17、识别键盘有无键按下;识别键盘有无键按下;第第2 2步:步:如有键被按下,识别出具体的按键。如有键被按下,识别出具体的按键。 把所有列线置把所有列线置0 0,检查各行线电平是否有变化,如,检查各行线电平是否有变化,如有变化,说明有键按下,如无变化,则无键按下。有变化,说明有键按下,如无变化,则无键按下。 上述方法称为上述方法称为扫描法,即先把某一列置低电平,扫描法,即先把某一列置低电平,其余各列为高电平,检查各行线电平的变化其余各列为高电平,检查各行线电平的变化,如果某,如果某行线电平为低,可确定行线电平为低,可确定此行列交叉点此行列交叉点处的按键被按处的按键被按下。下。 b. b. 线反转法线

18、反转法 只需两步便能获得此按键所在的行列值,线反转只需两步便能获得此按键所在的行列值,线反转法的原理如图法的原理如图10-1110-11。第第1 1步:步:列线输出为全低电平,则行线中电平由高变低列线输出为全低电平,则行线中电平由高变低的所在行为按键所在行。的所在行为按键所在行。第第2 2步:步:行线输出为全低电平,则列线中电平由高变低行线输出为全低电平,则列线中电平由高变低所在列为按键所在列。所在列为按键所在列。 结合上述两步,可确定按键所在行和列。结合上述两步,可确定按键所在行和列。10.2.3 10.2.3 键盘的工作方式键盘的工作方式 单片机在忙于各项工作任务时,如何兼顾键盘的输单片机

19、在忙于各项工作任务时,如何兼顾键盘的输入,取决于键盘的工作方式。入,取决于键盘的工作方式。原则:原则:即要保证能及时响应按键操作,又不要过多占即要保证能及时响应按键操作,又不要过多占用用CPUCPU的工作时间。的工作时间。 通常,通常,键盘工作方式有键盘工作方式有3 3种种,即编程扫描、定时扫,即编程扫描、定时扫描和中断扫描。描和中断扫描。1. 1. 编程扫描方式编程扫描方式 只有当单片机空闲时,才调用键盘扫描子程序,只有当单片机空闲时,才调用键盘扫描子程序,扫描键盘。扫描键盘。工作过程:工作过程:(1 1)在键盘扫描子程序中,先判断有无键按下。)在键盘扫描子程序中,先判断有无键按下。方法:方

20、法:列线列线8 8位输出全位输出全0 0,读行线口低,读行线口低4 4位状态,若行线位状态,若行线为全为全1 1,则说明键盘无键按下;若不全为,则说明键盘无键按下;若不全为1 1,则说明,则说明键盘可能有键按下。键盘可能有键按下。(2 2)用软件来消除按键抖动的影响。如有键按下,则)用软件来消除按键抖动的影响。如有键按下,则进行下一步。进行下一步。(3 3)求按下键的键号。)求按下键的键号。(4 4)等待按键释放后,再进行按键功能的处理操作。)等待按键释放后,再进行按键功能的处理操作。2. 2. 定时扫描工作方式定时扫描工作方式 利用单片机内的定时器,产生利用单片机内的定时器,产生10ms10

21、ms的定时中断,对的定时中断,对键盘进行扫描。键盘进行扫描。3.3.中断工作方式中断工作方式 只有在键盘有键按下时,才执行键盘扫描程序,如只有在键盘有键按下时,才执行键盘扫描程序,如无键按下,单片机将不理睬键盘。无键按下,单片机将不理睬键盘。 键盘所做的工作分为三个层次键盘所做的工作分为三个层次,如图,如图10-1310-13。第第1 1层:层:单片机如何来监视键盘的输入。三种工作方单片机如何来监视键盘的输入。三种工作方 式:式:编程扫描编程扫描定时扫描定时扫描中断扫描。中断扫描。第第2 2层:层:确定具体按键的键号。体现在按键的识别方确定具体按键的键号。体现在按键的识别方 法上就是:法上就是

22、:扫描法;扫描法;线反转法。线反转法。第第3 3层:层:执行键处理程序。执行键处理程序。10.3 10.3 键盘键盘/ /显示器接口设计实例显示器接口设计实例 一般把键盘和显示器放在一起考虑。一般把键盘和显示器放在一起考虑。10.3.1 10.3.1 利用并行利用并行I/OI/O芯片实现键盘芯片实现键盘/ /显示器接口显示器接口 图图10-1410-14:80318031用扩展用扩展I/OI/O接口芯片接口芯片8155H8155H实现的实现的6 6位位LEDLED显示和显示和3232键的键盘键的键盘/ /显示器接口电路。图中显示器接口电路。图中8155H8155H也可用也可用8255A8255

23、A来替代。来替代。 8031 8031外扩一片外扩一片8155H8155H。RAMRAM地址:地址:7E00H7E00H7EFFH7EFFH。I/OI/O口地址:口地址:7F00H7F00H7F05H7F05H。 PAPA口口为输出口,控制键盘为输出口,控制键盘列线的扫描列线的扫描,同时又是,同时又是6 6位共阴极显示器的位共阴极显示器的位扫描口位扫描口。 PBPB口口作为显示器段码输出口,作为显示器段码输出口,PCPC口作为键盘的行口作为键盘的行线状态的输入口。线状态的输入口。 75452 75452:反相驱动器,反相驱动器,74077407:同相驱动器。同相驱动器。1 1动态显示程序设计动

24、态显示程序设计 8031 8031内部内部RAM 6RAM 6个显示缓冲单元:个显示缓冲单元:79H79H7EH7EH,存,存放要显示的放要显示的6 6位数据。位数据。 8155H 8155H的的PBPB口输出相应位的段码,口输出相应位的段码,依次改变依次改变PAPA口口输出为输出为高高的位的位使某一位显示某一字符,其它位为暗。使某一位显示某一字符,其它位为暗。动态地显示出由缓冲区中显示数据所确定的字符。程动态地显示出由缓冲区中显示数据所确定的字符。程序流程如图序流程如图10-15 10-15 。2 2键盘程序设计键盘程序设计(1 1)判别键盘上有无键闭合)判别键盘上有无键闭合(2 2)去除键

25、的机械抖动)去除键的机械抖动 (3 3)判别闭合键的键号)判别闭合键的键号(4 4)使)使CPUCPU对键的一次闭合仅作一次处理对键的一次闭合仅作一次处理 键盘程序的流程如图键盘程序的流程如图10-1610-16。10.3.2 10.3.2 利用利用80318031的串行口实现键盘的串行口实现键盘/ /显示器接口显示器接口 串口未作它用,可用来外扩键盘串口未作它用,可用来外扩键盘/ /显示器。显示器。 串口为方式串口为方式0 0输出,串口外接移位寄存器输出,串口外接移位寄存器74LS16474LS164。接口电路如图接口电路如图10-1710-17。 74LS164(0)74LS164(0)7

26、4LS164(7):74LS164(7):作为作为8 8位位LEDLED的段码输出,的段码输出, 8031 8031的的P3.4P3.4、P3.5P3.5:两行键的行状态输入两行键的行状态输入 P3.3 P3.3(TXDTXD):):同步移位脉冲输出控制线,同步移位脉冲输出控制线, 10.3.3 10.3.3 利用通用键盘利用通用键盘/ /显示器接口芯片显示器接口芯片82798279实现键盘实现键盘/ / 显示器接口显示器接口 Intel 8279 Intel 8279芯片:通用可编程键盘芯片:通用可编程键盘/ /显示器接口芯片。显示器接口芯片。 对键盘部分提供扫描工作方式,能对对键盘部分提供

27、扫描工作方式,能对6464个个键键盘阵键键盘阵列不断扫描,列不断扫描,自动消抖,自动识别出闭合的键并得到键自动消抖,自动识别出闭合的键并得到键号,号,能对能对双键或双键或N N键同时按下键同时按下进行处理。进行处理。 优点:优点:亮度大亮度大,容易做到,容易做到显示不闪烁显示不闪烁,且,且CPUCPU不必不必频繁的为显示服务频繁的为显示服务,从而使单片机有更多的时间处理,从而使单片机有更多的时间处理其它事务。其它事务。扫描方式的显示接口,可显示多达扫描方式的显示接口,可显示多达1616位位的字符。的字符。1.82791.8279的引脚及内部结构的引脚及内部结构 2. 2. 引脚功能介绍引脚功能

28、介绍(1)(1)与与CPUCPU的接口引脚的接口引脚 DB0 DB0DB7DB7:数据总线、双向、三态,与单片机数据数据总线、双向、三态,与单片机数据 总线相连,在总线相连,在CPUCPU和和82798279之间传送命令或数据。之间传送命令或数据。 CLK CLK:系统时钟,用于系统时钟,用于82798279内部定时,以产生其工作内部定时,以产生其工作 所需的时序。所需的时序。 RESET RESET:高电平时,高电平时,82798279被复位,被复位,复位后的状态如下:复位后的状态如下:* * 16 16个字符左边输入显示方式个字符左边输入显示方式* * 编码扫描键盘、双键锁定方式编码扫描键

29、盘、双键锁定方式 CS CS* *:片选片选 A0 A0:=1=1,写入,写入的是的是命令命令字节字节; ; 读出读出的是的是状态状态字节。字节。 =0=0,写入或读出的字节均为,写入或读出的字节均为数据数据。 RD RD* *、WRWR* *:读、写控制引脚读、写控制引脚 IRQ IRQ:中断请求线。在键盘方式中,当键盘中断请求线。在键盘方式中,当键盘RAMRAM(先(先进先出)中进先出)中存有按下键的数据时,存有按下键的数据时,IRQIRQ为高电平为高电平,向,向CPUCPU提出中断申请。提出中断申请。(2 2)扫描信号输出引脚)扫描信号输出引脚 CPUCPU每次从键盘每次从键盘RAMRA

30、M中读出一个字节数据时,中读出一个字节数据时,IRQIRQ就变就变为低电平为低电平。如果键盘如果键盘RAMRAM中还有未读完的数据,中还有未读完的数据,IRQIRQ将将再次变为高电平,再次提出中断请求。再次变为高电平,再次提出中断请求。 SL0 SL0SL3SL3 扫描输出。用来扫描键盘和显示器。可编程设定扫描输出。用来扫描键盘和显示器。可编程设定为为编码输出编码输出,即,即SL0SL0SL3SL3需外接需外接4-164-16译码器,输出译码器,输出1616取取1 1的扫描信号,也可编程设定为的扫描信号,也可编程设定为译码输出译码输出,即由,即由SL0SL0SL3SL3直接输出直接输出4 4取

31、取1 1的扫描信号。的扫描信号。(3 3)与键盘连接的引脚)与键盘连接的引脚 RL0 RL0RL7RL7 键盘矩阵的行信号输入线。键盘矩阵的行信号输入线。 SHIFT SHIFT 输入线,通常用作键盘上、下档功能的控制键。输入线,通常用作键盘上、下档功能的控制键。 CNTL/STB CNTL/STB 输入线,高电平有效。在键盘方式时,通常用来输入线,高电平有效。在键盘方式时,通常用来作为键盘控制功能键使用。作为键盘控制功能键使用。(4 4)与显示器连接的引脚)与显示器连接的引脚 OUTA0 OUTA0OUTA3OUTA3(A A组显示数据)组显示数据)、OUTB0OUTB0OUTB3OUTB3

32、(B B组显示数据)组显示数据): :向向LEDLED显示器输出的段码显示器输出的段码, , 与扫描信号与扫描信号线线SL0SL0SL3SL3同步。两组可独立使用,也可合并使用。同步。两组可独立使用,也可合并使用。 BD BD* *: :消隐显示控制消隐显示控制。3. 82793. 8279的基本功能部件的基本功能部件(1 1)扫描计数器)扫描计数器编码方式编码方式: :扫描线扫描线SL0SL0SL3SL3输出,经外部输出,经外部4-164-16译码器译码器译码后,为键盘和显示器提供译码后,为键盘和显示器提供1616取取1 1的扫描线。的扫描线。译码方式译码方式: :计数器的最低二位在计数器的

33、最低二位在82798279内部译码后,从内部译码后,从SL0SL0SL3SL3输出,为键盘和显示器提供输出,为键盘和显示器提供4 4取取1 1扫描线。扫描线。D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0CNTLCNTLSHIFTSHIFT扫扫 描描回回 复复(2 2)键盘去抖动及回复缓冲器)键盘去抖动及回复缓冲器 RL0 RL0RL7RL7被接到键盘的行线。被接到键盘的行线。 在逐列扫描时,当某一键闭合,消抖电路延时等在逐列扫描时,当某一键闭合,消抖电路延时等待待10ms10ms之后,再检验该键是否仍闭合。若闭合,则该之后,再检验该键是否仍闭合。若闭合,则该键的行、列地址和

34、附加的移位、控制状态一起形成键键的行、列地址和附加的移位、控制状态一起形成键盘数据,送入盘数据,送入82798279内部的键盘内部的键盘RAMRAM存储器。格式为:存储器。格式为: 控制(控制(CNTLCNTL)和移位()和移位(SHIFTSHIFT)的状态由两个独立)的状态由两个独立的附加开关决定,而的附加开关决定,而扫描扫描(D5D5、D4D4、D3D3)是被按键的)是被按键的列列编码,而编码,而回复回复(D2D2、D1D1、D0D0)则是被按键的)则是被按键的行行位置位置数据。数据。(3 3)键盘)键盘RAMRAM及其状态寄存器及其状态寄存器键盘键盘RAMRAM:8 8字节先进先出(字节

35、先进先出(FIFOFIFO)存储器。内部的)存储器。内部的FIFOFIFO状态寄存器存放状态寄存器存放FIFOFIFO的工作状态,如的工作状态,如FIFOFIFO是空还是满,是空还是满,其中存有多少字符,是否操作出错等等。其中存有多少字符,是否操作出错等等。 当当FIFOFIFO存储器有数据时将产生存储器有数据时将产生IRQ=1IRQ=1信号,向信号,向CPUCPU发发出中断申请,读出一次数据后变为低,若出中断申请,读出一次数据后变为低,若FIFOFIFO中还有中还有数据,则数据,则IRQIRQ又变为高。又变为高。(4 4)显示)显示RAMRAM和显示地址寄存器和显示地址寄存器显示显示RAMR

36、AM:存显示数据。存显示数据。1616个字节,可存放个字节,可存放1616位显示信位显示信息。显示息。显示RAMRAM的输出与显示扫描配合,同时轮流驱动被的输出与显示扫描配合,同时轮流驱动被选中的显示位,使显示器呈现稳定的显示(动态扫选中的显示位,使显示器呈现稳定的显示(动态扫描)。描)。4. 82794. 8279的命令字和状态字的命令字和状态字命令字:命令字:D7D7、D6D6、D5D5为命令特征位,来区分为命令特征位,来区分8 8条不同条不同的命令字。的命令字。 状态字:状态字:主要用于键盘工作方式,以指示键盘主要用于键盘工作方式,以指示键盘RAMRAM中中的字符数和有无错误发生。具体内

37、容参加教材。的字符数和有无错误发生。具体内容参加教材。5. 82795. 8279与键盘与键盘/ /显示器的接口显示器的接口 图图10-2010-20为为82798279与与8 8位显示器,位显示器,4 48 8键盘键盘的接口电路。的接口电路。行线接行线接82798279的的RL0RL0RL3RL3,82798279选用外部译码方式,选用外部译码方式,SL0SL0SL2SL2经经74LS13874LS138(1 1)译码输出,接列线,实现键盘逐)译码输出,接列线,实现键盘逐列扫描。列扫描。 SL0 SL0SL2SL2又由又由74LS138(2)74LS138(2)译码输出到显示器各位的公译码输

38、出到显示器各位的公共阴极,进行逐位扫描显示。共阴极,进行逐位扫描显示。OUTB0OUTB03 3、OUTA 0OUTA 03 3输输出出8 8位段码。位段码。 当位切换时,当位切换时,BDBD* *输出为低电平,使输出为低电平,使74LS138(2)74LS138(2)输出输出全为高电平,显示消隐。全为高电平,显示消隐。 当键盘上出现有效的闭合键时,键输入数据自动进入当键盘上出现有效的闭合键时,键输入数据自动进入中断读取键盘中断读取键盘RAMRAM中的键输入数据。若要更新显示器输中的键输入数据。若要更新显示器输出,仅需改变出,仅需改变82798279中显示中显示RAMRAM中的内容。中的内容。

39、82798279的键盘的键盘RAMRAM存储器,并向存储器,并向80318031请求中断,请求中断,80318031响应响应 图图10-20:827910-20:8279的的命令命令/ /状态口地址为状态口地址为7FFFH7FFFH,数据口,数据口地址为地址为7FFEH7FFEH。 82798279初始化程序:初始化程序:编程思路:编程思路:1.1.先选择端口先选择端口。命令。命令/ /状态口还是数据口?状态口还是数据口?2.2.选择命令选择命令/ /状态口,状态口,写入命令字写入命令字。命令字高。命令字高3 3位用来确位用来确定是什么样的命令?定是什么样的命令? 清除命令?读键盘清除命令?读

40、键盘RAM?RAM?写显示写显示RAMRAM?基本设置命令?基本设置命令? 后后5 5为确定某种命令的具体操作。为确定某种命令的具体操作。3.3.选择数据口,进行数据的读写选择数据口,进行数据的读写。例如写入显示。例如写入显示RAMRAM数数据,或读键盘据,或读键盘RAMRAM数据。数据。 主程序流程简介主程序流程简介:单片机及:单片机及82798279初始化,外部中断初始化,外部中断1 1为为按键中断入口,显示子程序一般根据键值状态来调用。按键中断入口,显示子程序一般根据键值状态来调用。INITI: SETB EX1INITI: SETB EX1 ; ; 允许外部中断允许外部中断1 1中断中断MOVMOV DPTR DPTR,#7FFFH,#7FFFH ; ; 命令命令/ /状态口地址写入状态口地址写入DPTRDPTRMOVMOV A,#0D1H A,#0D1H ; ; 控制字控制字D1HD1H送送A A,清除指令,清除指令MOVX DPT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论