单片机_09(10)-第九章 MCS-51单片机显示键盘接口 ppt_第1页
单片机_09(10)-第九章 MCS-51单片机显示键盘接口 ppt_第2页
单片机_09(10)-第九章 MCS-51单片机显示键盘接口 ppt_第3页
单片机_09(10)-第九章 MCS-51单片机显示键盘接口 ppt_第4页
单片机_09(10)-第九章 MCS-51单片机显示键盘接口 ppt_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、编码键盘:编码键盘: 键盘上闭合键的识别由专用硬件实现。键盘上闭合键的识别由专用硬件实现。非编码键盘:键盘上闭合键的识别由软件实现。非编码键盘:键盘上闭合键的识别由软件实现。 编码键盘是键盘电路在某个键被按下后,能提供该键所代表的信息代码,并以并行或串行信号输给CPU。 非编码键盘是一种便宜而广泛用于微机系统的输入设备。这种键盘内部有一个扫描电路,不断地扫描键盘是否有键被按下。此键所代表的键盘信息代码,则由键盘接口及键盘处理软件根据键盘送来的位置信息产生,然后再送给CPU。 在设计键盘接口时,解决以下几个问题: 开关状态的可靠输入可设计硬件去抖动电路或设计去抖动软件。 键盘状态的监测方法中断方

2、式还是查询方式。 键盘编码方法。一、键盘工作原理 键盘结构 按键设置在行列式交点上,行列线分别连接到按键开关的两端。当行线通过上拉电阻接+5V时,被钳位在高电平状态。 X3X2X1 X0Y3Y2Y1Y0输输 入入 口口输出口输出口图9-1 行列式44键盘原理电路 当键盘没键闭合时,所有的行线和列线断开。行线X0-X3呈高电平。当某键闭合时,则该键所对应的行线与列线短路。 例:6号键闭合,则行线X1和列线Y2短路,X1的电平由Y2决定,若把行线接到微机的输入口,列线接微机的输出口。则通过控制列线,使Y0=0,Y1=Y2=Y3=1时,微机通过输入口读行线的状态,可判断是否有键合上。 键盘中有无按键

3、按下是由列线送入全扫描字、行线读入行线状态来判断的。键盘中哪一个键按下可由列线逐列置低电平后,检查行输入状态来判断。 逐行逐列地检查键盘状态的过程称为对键盘的一次扫描。 键闭合时行线电压波形:抖动时间长短和开关的机械特性有关,一般为5-10ms。 为了保证CPU对键的闭合作一次仅一次处理,在软件中必须设置去除抖动,在键的稳定闭合或断开时读键的状态,并判断出键由闭合到释放时,在作键输入处理。硬件去除抖动的方法:单稳延时电路。二、单片机对非编码键盘的控制方式 编程扫描方式:当单片机空闲时,才调用键盘扫 描子程序,响应键盘的输入要求。v定时扫描方式:每隔一定时间对键盘扫描一次 。v通常利用单片机内的

4、定时器,产生10MS的定时中v断,CPU响应定时器溢出中断请求,对键盘扫描。缺点:对键盘扫描是随机的。优点:优点:及时响应键入的命令或数据,便于用户对正在执行的程序进行干预。缺点:缺点:不管键盘上有无键闭合,CPU总是定时的关心键盘状态,由于用户可能对正在运行的系统很少甚至不干预,所以大多数情况下都是空扫描空扫描。 中断扫描方式:当键盘上有键闭合时产生中断请求,CPU响应中断,执行中断服务程序,判别键号,并作相应的处理。 优点:优点: CPU CPU 效率较高。效率较高。 键盘工作方式的选取应该根据实际应用系统中cpu工作的忙、闲情况而定。其原则是既要保证能及时相应按键操作,又不要过多占用cp

5、u的工作时间。图9-2 8155扩展I/O口组成的行列式键盘 键盘扫描方式 扫描法:在判定有键按下后逐列(或逐在判定有键按下后逐列(或逐行)置低电平,同时读入行(或列)的状行)置低电平,同时读入行(或列)的状态,如果行(或列)的状态出现非全态,如果行(或列)的状态出现非全1 1状态,状态,这时这时0 0状态的行、列交点的键就是所按下的状态的行、列交点的键就是所按下的键。特点是逐列(或逐行)扫描查询。这键。特点是逐列(或逐行)扫描查询。这时相应行(或列)应有上拉电阻接高电平。时相应行(或列)应有上拉电阻接高电平。 线反转法:让行线编程为输入线,列线编程为输出线,并使输出线输出为全低电平,则行线中

6、电平由高变低的所在行为按键所在行。让行线编程为输出线,列线编程为输出线,并使输出线输出为全低电平,则列线中电平由高变低的所在行为按键所在列。第二节第二节 MCS-51MCS-51系列单片机显示的系列单片机显示的 扩展扩展一、LED显示器接口原理 1 1 LED显示器结构 LED显示器是单片机应用系统中常用的输出器件。它是由若干个发光二极管组成的。原理:当发光二极管导通时,相应的一个点或一个笔画发亮。控制不同组合的二极管导通,就能显示出各种字符。 7段LED结构 (a)共阴极 (b)共阳极 (c)管脚配置 图9-3 七段LED显示块 共阴极共阴极LEDLED显示器的发光二极管的阳极为高电平显示器

7、的发光二极管的阳极为高电平时时, ,二极管被点亮。二极管被点亮。 共阳极共阳极LEDLED显示器的发光二极管的阴极为低电平显示器的发光二极管的阴极为低电平时时, ,二极管被点亮。二极管被点亮。a, b, c, d, e, fa, b, c, d, e, f被点亮被点亮共阴极段选码共阴极段选码( (高电平点亮):高电平点亮):3FH Dp g f e d c b a 0 0 1 1 1 1 1 1共阳极段选码(低点平点亮)共阳极段选码(低点平点亮): C0H Dp g f e d c b a 1 1 0 0 0 0 0 0 7段LED字型码 “米”字段结构及外型图 “米”字段LED字型码2 LE

8、D显示器原理 LED显示器有两种方式: (1)LED静态显示方式(如图9-4所示) (2)LED动态显示方式(如图9-5所示)静态显示:显示器显示某一个字符时,相应的发光二极管恒定的导通或截至。动态显示:显示器的各位轮流被点亮,对于显示器的每一位来说,每隔一段时间点亮一次。a b c d e f Rdpa b c d e f Rdpa b c d e f Rdpa b c d e f Rdpa b c d e f Rdp3.83.83.83.83.8 I/O口位选控制 I/O口段选控制图9-4 N位LED显示器 GND/+5VGND/+5VGND/+5VGND/+5VGND/+5VI/O(1)

9、I/O(2)I/O(3)I/O(4)图9-5 四位静态LED显示器电路PAPA口、口、PBPB口、口、PCPC口分别控制一位口分别控制一位LEDLED 静态显示时,较小的电流就能得到较高的亮度且字符不闪烁。缺点:每一位都需要一个8位输出口控制。当显示器位数比较少时,采用静态显示的方法是合适的。 I/O(1)DDDDDDDDI/O(2)75643210图9-6 八位LED动态显示器电路 动态显示利用了LED显示器的余晖和人眼的视觉暂留功能可以达到各位同时显示的效果,但是必须保证扫描的速度足够快,否则字符会闪烁。显示器的亮度相关的两个因素:导通电流。点亮时间和间隔时间的比例。 动态显示的位数增多,

10、将会占用大量cpu时间,因此动态显示的实质是以牺牲cpu时间来换取器件的减少。 参考p230 8位led动态显示2003.10.10的过程。二、LED显示器接口段数据口:段码扫描口:扫描口:位码位码图9-7通过8155扩展I/O口控制8位LED动态显示接口图9-8动态显示子程序流程图显示程序:显示程序:DIS: MOV R0,#7AH ;指向显示缓冲区起始单元MOV R3,#01H ;字位码初值R3MOV A,R3 ;取字位码DLP:MOV DPTR,#PAAR;指向字位口 (PA口) MOVX DPTR,A ;输出字位码,显示其中1位MOV A,R0 ;取一个显示数据ADD A,#0CH ;

11、查表偏移量MOVC A,A+PC ;取出字形码INC DPTR ;指向字段口(PB口)MOVX DPTR,A ;输出字形码ACALL DLY1MS ;延时1msINC R0 ;指向显缓区下一单元MOV A,R3 ;修改字位码RL A ;显示下一位MOV R3,AJNB ACC.6,DLP ;未显示到最右边LED,继续显示RET ;全部扫描一遍,结束DTAB:DB 0C0H,0F9H,0A4H ;字形表 DB 0B0H,99H,DLY1MS: ;延时1ms子程序8031单片机和扩展I/O接口芯片8155H实现的6位LED显示和32键的键盘/显示器接口 1. 8031外扩了一片8155H,其RAM

12、的地址和I/O地址的范围是多少?RAM: 7E00H-7EFFHI/O: 7F00H-7F05H2. PA口,PB口,PC口的作用?PA口:输出口,控制列线的电位,作为键的 扫描口同时又是6位显示器的扫描口。PB口:段数据口PC口:键输入口,接行线。显示子程序 DIR: MOV RO,#79H MOV RO,#01H MOV A,R3 LD0: MOV DPTR,#7F01H MOV DPTR,A INC DPTR MOV A,R0 ADD A,#0DH MOVC A,A+PCDIR1:MOVXDPTR,AACALLDL11INCR0MOVA,R3JBA.5,LD1;显示到 第六位吗?RLAM

13、OVR3,AAJMPLD0LD1:RETDSEG:DB 3FH,06H,5BH,4FH,66H,6DHDB 7DH,07H,7FH,6FH,77H,7CHDB 39H,5EH,79H,71H,73H,3EHDB 31H,6EH,1CH,23H,40H,03HDB 18H,00,00,00DL11: MOV R7,#02HDL: MOV R6,#0FFHDL6: DJNZ R6,DL6 DJNZ R7,DL RET图9-9 动态显示子程序流程图键盘扫描子程序q在键盘扫描子程序中完成下述几个功能。方法:方法:PA0-PA7PA0-PA7输出全为输出全为“0”0”,读,读PCPC口的状口的状态,若态

14、,若PC0-PC3 PC0-PC3 为全为全“1”1”,则无键闭合,若,则无键闭合,若PC0-PC3PC0-PC3不全为不全为“1”1”,则有键合上。,则有键合上。(1)判断键盘上有无键按下(2)去键的机械抖动影响 (3)求按下键的键号(4)键闭合一次仅进行一次键功能操作判别有键闭合后,延迟一段时间,再判别键盘判别有键闭合后,延迟一段时间,再判别键盘的状态,若仍有键闭合,则认为键盘有一键处的状态,若仍有键闭合,则认为键盘有一键处于闭合期,否则为抖动。于闭合期,否则为抖动。方法:等闭合键释放后再作处理。方法:等闭合键释放后再作处理。方法为对键盘的列线进行扫描方法为对键盘的列线进行扫描扫描口扫描口

15、PA0-PA7PA0-PA7依次输出:依次输出:PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1相应的依次读相应的依次读PCPC口状态,若为全口状态,若为全“1”1”,则列线为,则列线为“0”0”的这一列上没有的这一列上没有键闭合,闭合键号等于为低电平的列号键闭合,闭合键号等于为低电平的列号加上低电平的行的首键号。加上低电平的行的首键号。 返回例:例:PAPA口输出为口输出为1111110111111101时,读时,读出出

16、PC0-PC3PC0-PC3为为11011101 N= N=行首键号行首键号+ +列号列号 =8+1=9=8+1=9调用子程序延时6ms调用子程序延时12ms开始有键闭合否?有键闭合否?判断闭合键键号栈 闭合键释放否?输入键号A返回YNNYNYKEYI: ACALL KS1 JNZ LK1NI: ACALL DIR AJMP KEYILK1: ACALL DIR ACALL DIR ACALL KS1 JNZ LK2 ACALL DIR AJMP KEYILK2:MOVR2,#0FEH;扫描模式R2MOVR4,#00HLK4:MOVDPTR,#7F01HMOVA,R2MOVXDPTR,INCD

17、PTRINCDPTRMOVXA,DPTRJBA.0,LONEMOVA,#00HAJMPLKPLONE:JB A.1,LTW0 MOV A,#80H AJMP LKPLTW0:JB A.2,LTHR MOV A,#10H AJMP LKPLTHR:JB A.3,NEXT MOV A,#18HLKP: ADD A,R4 PUSH ALK3: ACALL DIR ACALL KS1 JNZ LK3 POP A RETNEXT:INC R4 MOV A,R2 JNB A.7,KND RL A MOV R2,A AJMP LK4KND: AJMP KEYIKS1:MOVDPTR,#7F01HMOVA,#

18、00HMOVXDPTR,AINCDPTRINCDPTRMOVXA,DPTRCPLAANLA,#0FHRET利用8031的串行口实现键盘/显示器接口 应用8031的串行口方式0的输出方式,在串行口外接74LS164构成键盘显示器接口。 此为静态显示方式,主程序可不必扫描显示器。8 8个个74LS16474LS164作为作为8 8位七段输出口。位七段输出口。80318031的的P3.4P3.4、P3.5P3.5作为键输入线。作为键输入线。P3.3P3.3作为同步脉冲输出控制线。作为同步脉冲输出控制线。显示子程序:DIR: SETB P3.3; 开放显示输出 MOV R7,#08H MOV R0,#7FH; 7FH78H为显示缓冲区DL0: MOV A,R0 ADD A,#0DH MOVC A,A+PC MOV SBUF,ADL1: JNB TI,DL1 CLR TI DEC R0 DJNZ R7,DL0 CLR P3.3 RETSEGTAB:DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H,82H,0F8H,90H DB 88H,83H,0C6H,0A1H,86H DB 8FH,0BFH,

温馨提示

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

最新文档

评论

0/150

提交评论