51单片机键盘扫描程序.doc

上传人:11****ws 文档编号:2989013 上传时间:2019-05-16 格式:DOC 页数:3 大小:36KB
下载 相关 举报
51单片机键盘扫描程序.doc_第1页
第1页 / 共3页
51单片机键盘扫描程序.doc_第2页
第2页 / 共3页
51单片机键盘扫描程序.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 OUTBIT EQU 08002H ; 位控制口OUTSEG EQU 08004H ; 段控制口IN EQU 08001H ; 键盘读入口LEDBUF EQU 40H ; 显示缓冲ORG 0000HLJMP STARTORG 0100HLEDMAP: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H ; 八段管显示码DB 7FH, 6fH, 77H, 7CH, 39H, 5EH, 79H, 71HDB 00H, 49HDELAY:MOV R7,#00H ; 延时子程序DELAYLOOP:DJNZ R7,DELAYLOOPDJNZ R6,DELAYLOOPRE

2、TDISPLAYLED:MOV R0,#LEDBUFMOV R1,#06H ; 共 6 个八段管MOV R2,#00100000B ; 从左边开始显示LOOP:MOV DPTR,#OUTBITMOV A,#0HMOVX DPTR,A ; 关所有八段管MOV A,R0MOV DPTR,#LEDMAPMOVC A,A+DPTR ;由序码求段码MOV DPTR,#OUTSEGMOVX DPTR,AMOV DPTR,#OUTBITMOV A,R2MOVX DPTR,A ; 显示一位八段管MOV R6,#01HCALL DELAYMOV A,R2 ; 显示下一位RR AMOV R2,AINC R0DJN

3、Z R1,LOOPRETTESTKEY:MOV DPTR,#OUTBITMOV A,#00HMOVX DPTR,A ; 输出线置为 0MOV DPTR,#INMOVX A,DPTR ; 读入键状态CPL AANL A,#0FH ; 高四位不用RETKEYTABLE: DB 16H,15H,14H,0FFH ; 键码定义DB 13H,12H,11H,10HDB 0DH,0CH,0BH,0AHDB 0EH,03H,06H,09HDB 0FH,02H,05H,08HDB 00H,01H,04H,07HGETKEY:MOV DPTR, #OUTBITMOV P2, DPHMOV R0, #LOW(IN

4、)MOV R1, #00100000BMOV R2, #06HKLOOP:MOV A, R1 ; 找出键所在列CPL AMOVX DPTR, ACPL ARR AMOV R1,A ; 下一列MOVX A , R0CPL AANL A, #0FHJNZ LOOP1 ; 该列有键入DJNZ R2, KLOOPMOV R2, #0FFH ;没有键按下, 返回 0ffhSJMP EXITLOOP1: MOV R1,A ; 键值 = 列 X 4 + 行MOV A,R2DEC ARL ARL AMOV R2,A ; r2 = (r2-1)*4MOV A,R1 ; r1 中为读入的行值MOV R1,#04H

5、LOOP2:RRC A ; 移位找出所在行JC EXITINC R2 ; r2 = r2+ 行值DJNZ R1,LOOP2Exit:MOV A, R2 ; 取出键码MOV DPTR, #KEYTABLEMOVC A,A+DPTRMOV R2,AWAIT:MOV DPTR,#OUTBIT ; 等键释放CLR AMOVX DPTR, AMOV R6, #10HCALL DELAYCALL TESTKEYJNZ WAITMOV A, R2RETSTART:MOV SP, #60HMOV LEDBUF+0, #11H ; 显示 三 092MOV LEDBUF+1, #00HMOV LEDBUF+2, #09HMOV LEDBUF+3, #02HMOV LEDBUF+4, #0MOV LEDBUF+5, #0MAIN:CALL DISPLAYLED ; 显示CALL TESTKEY ; 有键入?JZ MAIN ; 无键入, 继续显示CALL GETKEYMOV R5,A ; 读入键码ANL A, #0F0H ; 显示键码SWAP AMOV LEDBUF+4,AMOV A,R5ANL A,#0FHMOV LEDBUF+5,ALJMP MAINEND

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。