- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第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 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 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 ; 停止扫描,计算键值 行0 行1 行2 行3 行4 行5 R2 FE FD FB F7 EF DF R4 0 4 8 C 10 14 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 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,0E
您可能关注的文档
最近下载
- 泌尿科内镜随访制度.docx
- 大学英语综合教程(高级)(华中农业大学)中国大学MOOC(慕课)章节测验试题(答案).pdf
- 江苏海洋大学2023-2024学年第1学期《高等数学(上)》期末考试试卷(B卷)附参考答案.pdf
- 初中物理-内能知识点.doc VIP
- 《语文新课程改革研究》课程考试题库文学类专业(2023年)完整版.doc VIP
- 2023年新版征信报告详细版征信报告模板-Word-可编辑-有水印.docx VIP
- 餐饮店长个人年终工作总结.pptx
- 西门子azl52.00b1中文说明书.pdf
- 泌尿外科内镜技术的风险评估与应急预案.doc
- 《仪器分析》练习题及参考答案(按章节).pdf
文档评论(0)