第9章键盘与显示接口技术.ppt
文本预览下载声明
第9章 键盘与显示接口技术 共阴极和共阳极的段选码互为反码 。 DISP: MOV SCON,#00H ;串口初始化方式0 SETB P1.0 ;74HC164处于正常工作状态 MOV R0, #33H ;首地址赋指针 MOV R1,#04H ;显示4个数 LP1: MOV A,@R0 ;取待显示字符 LCALL DXM ;查段选码 MOV SBUF ,A ;启动串行发送命令,输出段位码 JNB TI, $ ;等待发送完毕 CLR TI ;清发送完毕标志位 DEC R0 ;指针减1 DJNZ R1,LP1 ;判断4位段选码是否全部输出 RET ; 9.3 键盘与显示接口应用举例 键盘显示扫描程序编写 程序清单: 1 子程序6——判断是否有键按下 2 子程序7——键盘扫描程序,确认按下的键 3 主程序 ——将按键码显示在数码管上 子程序6:判断是否有键按下 占用资源:A KeyTest: MOV DPTR, #0E101H ;指向8155的PA口寄存器 MOV A, #00H MOVX @DPTR, A ;列输出全0 MOV DPTR, #0E103H ;指向8155的PC口寄存器 MOVX A , @DPTR ;读键值 ORL A, #0F0H ;屏蔽高四位 CPL A ;全0无按键 RET 9.3 键盘与显示接口应用举例 子程序7:键盘扫描程序,确认按下的键 占用资源:A, R2, R4 KeyGet: MOV R2, ;行扫描码 MOV R4, #00H ;置第0行首键值 KG1: MOV DPTR, #0E101H ;指向8155的PA口寄存器 MOV A, R2 MOVX @DPTR, A ;一行输出0,其它行输出1 MOV DPTR, #0E103H ;指向8155的PC口寄存器 MOVX A, @DPTR ;读键值 JB ACC.0, L1 ;第0列无按键,跳到L1 MOV A, #00H ;保存列号,准备计算键值 LJMP KG2 L1: JB ACC.1, L2 ;第1列无按键,跳到L2 MOV A, #01H ;保存列号,准备计算键值 LJMP KG2 L2: JB ACC.2, L3 ;第2列无按键,跳到L3 MOV A, #02H ;保存列号,准备计算键值 LJMP KG2 L3: JB ACC.3, NEXT ;第3列无按键,跳到扫描下一行 MOV A, #03H ;保存列号,准备计算键值 KG2: ADD A, R4 ; 停止扫描,计算键值 10 EF 行4 C F7 行3 14 DF 行5 8 FB 行2 4 FD 行1 0 FE 行0 R4 R2 9.3 键盘与显示接口应用举例 MOV DPTR, #TAB1 MOVC A, @A+DPTR ;按照键值查表得到键码 PUSH ACC ;保存键码 WaitRelease: LCALL DISP LCALL KeyTest ;判断是否有键按下 JNZ WaitRelease LCALL DISP ;调用显示程序, 延时6ms,消除抖动 LCALL KeyTest ;再次判断是否有键按下 JNZ WaitRelease POP ACC KeyGetEND: RET NEXT: MOV A, R2 ;扫描行指针 JNB ACC.5, NEXT1 ;判断6行是否全部扫描完 RL A ;行扫描码左移 MOV R2, A MOV A, R4 ADD A, #04 ;置下一行首键值 MOV R4, A LJMP KG1 ;开始扫描下一行 NEXT1: MOV A, #24 ;未扫描到按键返回键码24 LJMP KeyGetEND TAB1: DB 0,1,4,7,0FH,2,5,8,0EH,3,6,9,0DH,0CH,0BH,0AH ;键码表 DB 16,17,18,19,20,21,22 单片机原理及接口技术 本章学习要求: 1.掌握数码管显示原理、电路连接及编程; 2.掌握键盘工作原理、电路连接及编程。 9.1 LED显示接口技术 9.1 LED显示接口技术 由LED构成的3种显示部件 指示灯 数码管 点阵屏 LED: Light Emiting Diode 电路符号: 9.1 LED显示接口技术 §9.1.1 数码管结构及显示原理
显示全部