收藏 分享(赏)

接口课程设计_实现特定功能的键盘及LED显示2.doc

上传人:HR专家 文档编号:6264135 上传时间:2019-04-03 格式:DOC 页数:7 大小:47.50KB
下载 相关 举报
接口课程设计_实现特定功能的键盘及LED显示2.doc_第1页
第1页 / 共7页
接口课程设计_实现特定功能的键盘及LED显示2.doc_第2页
第2页 / 共7页
接口课程设计_实现特定功能的键盘及LED显示2.doc_第3页
第3页 / 共7页
接口课程设计_实现特定功能的键盘及LED显示2.doc_第4页
第4页 / 共7页
接口课程设计_实现特定功能的键盘及LED显示2.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、 1 题目三 实现特定功能的键盘及 LED 显示 1了解键盘及 LED 显示接口设计,绘制出原理图。2根据实验箱上提供的硬件资源完成:a、按 1 键显示年b、按 2 键显示月日c、按 3 键显示 GOOD d、按 4 键数码管由左到右 8 字循环显示。3设计电路并在实验台上连接线路。OUTBIT EQU 08002H ; 位控制口OUTSEG EQU 08004H ; 段控制口IN_KEY EQU 08001H ; 键盘读入口DATA SEGMENTLEDBUF DB 6 DUP(?) ; 显示缓冲NUM DB 1 DUP(?) ; 显示的数据DELAYT DB 1 DUP(?)LEDMAP:

2、 ; 八段管显示码DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H ;0,1,2,3,4,5,6,7DB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H ;8,9,A,b,C,d,E,FKEYTABLE: ; 键码定义DB 16H, 15H, 14H, 0FFHDB 13H, 12H, 11H, 10HDB 0DH, 0CH, 0BH, 0AHDB 0EH, 03H, 06H, 09HDB 0FH, 02H, 05H, 08HDB 00H, 01H, 04H, 07HDATA ENDSCODE SEGMENTASSUME CS:C

3、ODE, DS:DATADELAY PROC NEAR ; 延时子程序PUSH AX PUSH CXMOV AL, 0MOV CX,AXLOOP $ 2 POP CXPOP AXRETDELAY ENDPDISPLAYLED PROC NEARMOV BX, OFFSET LEDBUFMOV CL, 6 ; 共 6 个八段管MOV AH, 00100000B ;从左边开始显示DLOOP:MOV DX, OUTBITMOV AL, 0OUT DX,AL ; 关所有八段管MOV AL, BXMOV DX, OUTSEGOUT DX,ALMOV DX, OUTBITMOV AL, AHOUT DX,

4、 AL ; 显示一位八段管PUSH AXMOV AH, 1CALL DELAYPOP AXSHR AH, 1INC BXDEC CLJNZ DLOOPMOV DX, OUTBITMOV AL, 0OUT DX,AL ; 关所有八段管RETDISPLAYLED ENDPDISPLAYLED1 PROC NEAR MOV CL, 6 ; 共 6 个八段管;MOV AH, 00000001B ; 从左边开始显示MOV AH,00100000B 3 DLOOP1:MOV DX, OUTBITMOV AL, 0OUT DX,AL ; 关所有八段管MOV AL,7FHMOV DX, OUTSEGOUT D

5、X,ALMOV DX, OUTBITMOV AL, AHOUT DX, AL ; 显示一位八段管PUSH AXMOV AH, 120CALL DELAYPOP AX SHR AH, 1DEC CLJNZ DLOOP1 MOV DX, OUTBITMOV AL, 0OUT DX,AL ; 关所有八段管RETDISPLAYLED1 ENDPTESTKEY PROC NEARMOV DX, OUTBITMOV AL, 0OUT DX, AL ; 输出线置为 0 关所有八段管MOV DX, IN_KEYIN AL, DX ; 读入键状态NOT ALAND AL, 0FH ; 高四位不用RETTESTK

6、EY ENDPGETKEY PROC NEARMOV CH, 00100000BMOV CL, 6 4 KLOOP:MOV DX, OUTBITMOV AL, CH ; 找出键所在列NOT ALOUT DX, ALSHR CH, 1MOV DX, IN_KEYIN AL, DXNOT ALAND AL, 0FHJNE GOON_ ; 该列有键入DEC CLJNZ KLOOPMOV CL, 0FFH ; 没有键按下, 返回 0FFHJMP EXIT1GOON_:DEC CLSHL CL, 2 ; 键值 = 列 X 4 + 行MOV CH, 4LOOPC:TEST AL, 1JNZ EXIT1SH

7、R AL, 1INC CLDEC CHJNZ LOOPCEXIT1:MOV DX, OUTBITMOV AL, 0OUT DX, ALMOV CH, 0MOV BX, OFFSET KEYTABLEADD BX, CXMOV AL, BX ; 取出键码MOV BL, ALWAITRELEASE: 5 MOV DX, OUTBITMOV AL, 0OUT DX, AL ; 等键释放MOV AH, 10CALL DELAYCALL TESTKEYJNE WAITRELEASEMOV AL, BLRETGETKEY ENDPSTART PROC NEARMOV AX, DATAMOV DS, AXB

8、:MOV LEDBUF, 0 ;不显示MOV LEDBUF+1, 0MOV LEDBUF+2, 0MOV LEDBUF+3, 0MOV LEDBUF+4, 0MOV LEDBUF+5, 0MLOOP:CALL DISPLAYLED ; 显示CALL TESTKEY ; 有键入?JE MLOOP ; 无键入, 继续显示T1:CALL GETKEY ; 读入键码AND AL, 0FH ; 显示键码MOV AH, 0CMP AL,01HJZ P1CMP AL,02HJZ P2CMP AL,03HJZ P3CMP AL,04HJZ P4 6 JMP BP1:MOV BX, OFFSET LEDMAPA

9、DD BX, AXMOV AL, BXMOV LEDBUF,5BHMOV LEDBUF+1,3FHMOV LEDBUF+2,06H MOV LEDBUF+3,5BHMOV LEDBUF+4,0MOV LEDBUF+5,0JMP MLOOPP2: MOV BX,OFFSET LEDMAPADD BX,AXMOV AL,BXMOV LEDBUF,3FHMOV LEDBUF+1,7DHMOV LEDBUF+2,3FH MOV LEDBUF+3,66HMOV LEDBUF+4,0MOV LEDBUF+5,0JMP MLOOPP3:MOV BX,OFFSET LEDMAPADD BX,AXMOV AL,BXMOV LEDBUF,6FHMOV LEDBUF+1,5CHMOV LEDBUF+2,5CH MOV LEDBUF+3,5EHMOV LEDBUF+4,0MOV LEDBUF+5,0JMP MLOOPP4: CALL DISPLAYLED1CALL TESTKEY ; 有键入? 7 JE P4 ; 无键入, 继续显示JMP T1START ENDPCODE ENDSEND START

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报