文档详情

第七章MCS_51与键盘_显示器的接口.ppt

发布:2017-04-25约4.49千字共30页下载文档
文本预览下载声明
第七章 MCS-51与键盘、显示器的接口 ;键盘的处理主要涉及三个方面: ;3.键位的编码;7.1.2 独立式键盘与单片机的接口; 图(a)为中断方式工作的独立式键盘的结构形式,(b)为查询方式工作的独立式键盘的结构形式;K0:AJMP KEY0 K1:AJMP KEY1 …… K7:AJIMP KEY7 KEY0:…… ;0号键功能程序 JMP START ;0号键功能程序执行完返回 KEY1:…… ;0号键功能程序 JMP START ;1号键功能程序执行完返回 …… KEY7:…… ;7号键功能程序 JMP START ;7号键功能程序执行完返回;矩阵键盘的连接方法有多种,可直接连接于单片机的I/O口线;可利用扩展的并行I/O口连接;也可利用可编程的键盘、显示接口芯片(如8279)进行连接等等。其中,利用扩展的并行I/O口连接方便灵活,在单片机应用系统中比较常用。下图就是通过8255A芯片扩展的并行I/O口连接4?8的矩阵键盘。;一.矩阵键盘的工作过程;1.查询工作方式;键盘扫描子程序如下:(硬件线路如图7.4,8255A的A口、B口、C口和控制口地址分别为7F00H、7F01H、7F02H、7F03H,设8255A已在主程序中初始化。已设定为A口方式0输出,C口的低4位方式0输入。);MOVX A,@DPTR ;从8155 PC口读入行状态 JB ACC.0,LONE ;查第0行无键按下,转查第1行 MOV A,#00H ;第0行有键按下,行首键码#00H→A AJMP LKP ;转求键码 LONE:JB ACC.1,LTWO ;查第1行无键按下,转查第2行 MOV A,#08H ;第1行有键按下,行首键码#08H→A AJMP LKP ;转求键码 LTWO:JB ACC.2,LTHR ;查第2行无键按下,转查第3行 MOV A,#10H ;第2行有键按下,行首键码#10H→A AJMP LKP ;转求键码 LTHR:JB ACC.3,NEXT ;查第3行无键按下,转该查下一列 MOV A,#18H ;第3行有键按下,行首键码#18H→A LKP:ADD A,R4 ;求键码,键码=行首键码+列号 PUSH ACC ;键码进栈保护 LK3:ACALL KS1 ;等待键释放 JNZ LK3 ;键未释放,等待 POP ACC ;键释放,键码→A RET ;键扫描结束,出口状态(A)=键码;NEXT:INC R4 ;准备扫描下一列,列号加1 MOV A,R2 ;取列扫描字送累加器A JNB ACC.7,KEND ;判断8列扫描否?扫描完返回 RL A ;扫描字左移一位,变为下一列扫描字 MOV R2,A ;扫描字送入R2保存 AJMP LK4 ;转下一列扫描 KEND:AJMP KEY1 KS1:MOV DPTR,#7F00H ;DPTR指向8155PA口 MOV A,#00H ;全扫描字→A MOVX @DPTR,A ;全扫描字送往8155PA口 INC DPTR ;DPTR指向8155PC口 INC DPTR MOVX A,@DPTR ;读入PC口行状态 CPL A ;变正逻辑,以高电平表示有键按下 ANL A,#0FH ;屏蔽高4位,只保留低4位行线值 RET ;出口状态:(A)≠0时有键按下;TM12ms:MOV R7,#18H ;延时12 ms子程序 TM:MOV R6,#0FFH TM6:DJNZ R6,TM6 DJNZ R7,TM RET TM6ms:MOV R7,#0CH ;延时6 ms子程序 TM2:MOV R6,#0FFH TM62:DJNZ R6,TM6 DJNZ R7,TM RET;7.2 MCS-51单片机与LED显示器接口;其中:(a)为共阴极结构。(
显示全部
相似文档