2022年2022年键盘扫描显示实验 .pdf

上传人:C****o 文档编号:32029397 上传时间:2022-08-08 格式:PDF 页数:16 大小:138.68KB
返回 下载 相关 举报
2022年2022年键盘扫描显示实验 .pdf_第1页
第1页 / 共16页
2022年2022年键盘扫描显示实验 .pdf_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《2022年2022年键盘扫描显示实验 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年键盘扫描显示实验 .pdf(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、键盘扫描显示实验原理及分析报告学院计算机工程学院专业计算机科学与技术年级班别09 计算机科学与技术 1 班学号2009404010131学生姓名李指导教师李永2012 年 01 月名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 16 页 - - - - - - - - - 目录一、内容提要二、实验目的三、实验要求四、实验器材五、实验电路六、实验说明七、实验框图八、实验程序九、实验分析十、实验心得十一、参考文献名师资料总结 - - -精品资料欢迎下载 - - - - - -

2、 - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 16 页 - - - - - - - - - 一、内容提要单片机技术日趋成熟的今天, 其灵活的硬件电路的设计和软件的设计,让单片机得到了广泛的应用, 几乎是从小的电子产品, 到大的工业控制, 单片机都起到了举足轻重的作用。单片机在人们的生活中得到广泛的应用。本文介绍了基于单片机的键盘扫描显示实验,详细讨论了它从软件上实现的过程,以及硬件接口的原理及其实现,根据输出的列码和读取的行码来判断按下的是什在么键,即有按键时向列扫描码地址(0e101H)逐列输出低电平 , 然后从行码地址 (0e1

3、03H)读回,理解读取键盘按键的原理,和最简单的单片机接口原理二、实验目的:1、掌握键盘和显示器的接口方法和编程方法。2、掌握键盘扫描和 LED八段数码管显示器的工作原理。二、实验要求:在上一个实验的基础上, 利用实验仪提供的键盘扫描电路和显示电路, 做一个扫描键盘和数码显示实验,把按键输入的键码在六位数码管上显示出来。实验程序可分成三个模块:1、键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。2、显示模块:将显示单元的内容在显示器上动态显示。3、主程序:调用键输入模块和显示模块。三、实验器材:1、超想 -3000TC综合实验仪 1 台2、KEIL 仿真器 1 台3、计算机 1 台

4、四、实验电路:这里只是键盘草图,详细原理参见“ 8155键显模块 ” 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 16 页 - - - - - - - - - 五、实验说明:本实验仪提供了一个64 的小键盘,向列扫描码地址(0e101H)逐列输出低电平, 然后从行码地址 (0e103H)读回,如果有键按下 , 则相应行的值应为低 , 如果无键按下 , 由于上拉的作用 , 行码为高 . 这样就可以通过输出的列码和读取的行码来判断按下的是什么键。 在判断有键按下后 ,

5、要有一定的延时 , 防止键盘抖动。 列扫描码还可以分时用作LED的位选通信号。六、实验框图:列码(0e101H) 行码(0e103H)显示缓冲区初始化 LED显示读取键值键值转换为显示数据有键输入 ? 否是名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 16 页 - - - - - - - - - 主程序框图读键输入子程序框图七、实验程序如下:ST MOV 11H,R7 键盘扫描实验OUTBIT equ 0e101h ; 位控制口CLK164 equ 0e102h ; 段

6、控制口 ( 接 164 时钟位 ) DAT164 equ 0e102h ; 段控制口 ( 接 164 数据位 ) 否是否开始输出列扫描信号列扫描信号移位该列有键输入?读入行信号6 列扫描完?初始化地址参数按照行列计算键值查表得键码等待键盘释放待按键释放返回名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 16 页 - - - - - - - - - IN equ 0e103h ; 键盘读入口 ORG 0000H LJMP STAR ;= KEY1: MOV 13H,#06H

7、 MOV 12H,#20H KEY2: MOV A,12H CPL A MOV R7,A MOV DPTR,#0E101H MOV A,R7 MOVX DPTR,A MOV A,12H CLR C RRC A MOV 12H,A MOV DPTR,#0E103H MOVX A,DPTR MOV R7,A MOV A,R7 CPL A MOV R7,A MOV A,R7 ANL A,#0FH MOV 14H,A DEC 13H MOV R7,13H MOV A,R7 JZ KEYDIS MOV A,14H JZ KEY2 KEYDIS: MOV A,14H JZ TESTKEY5 MOV A,1

8、3H ADD A,ACC ADD A,ACC MOV 13H,A MOV A,14H JNB ACC.1,TESTKEY INC 13H SJMP TESTKEY2 ;= ; 键盘扫描名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 16 页 - - - - - - - - - TESTKEY: MOV A,14H JNB ACC.2,TESTKEY1 INC 13H INC 13H SJMP TESTKEY2 TESTKEY1: MOV A,14H JNB ACC.3,T

9、ESTKEY2 MOV A,#03H ADD A,13H MOV 13H,A TESTKEY2: MOV DPTR,#0E101H CLR A MOVX DPTR,A TE KEY3: MOV R7,#0AH LCALL MLOOP LCALL MLOOP4 MOV A,R7 JNZ TESTKEY3 MOV R7,13H MOV A,R7 MOV DPTR,#0134H MOVC A,A+DPTR MOV R7,A RET ;= TESTKEY4: DB 22H ; ;= TESTKEY5: MOV R7,#0FFH RET ;= GETKEY: MOV 10H,#20H MOV 0EH,#

10、00H GETKEY1: MOV A,0EH CLR C SUBB A,#06H JNC GOON2 MOV DPTR,#0E101H CLR A MOVX DPTR,A MOV R7,0EH MOV A,#08H 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 16 页 - - - - - - - - - ADD A,R7 MOV R0,A MOV A,R0 MOV R7,A MOV 0FH,#00H GETKEY2: MOV A,0FH CLR C SUBB A,#0

11、8H JNC GOON1 MOV A,11H JNB ACC.7,KLOOP MOV DPTR,#0E102H MOV A,#01H MOVX DPTR,A SJMP KLOOP1 ;= KLOOP: MOV DPTR,#0E102H CLR A MOVX DPTR,A KLOOP1: MOV DPTR,#0E102H MOVX A,DPTR MOV R7,A MOV A,R7 ORL A,#02H MOV R7,A MOV A,R7 MOVX DPTR,A MOV DPTR,#0E102H MOVX A,DPTR MOV R7,A MOV A,R7 ANL A,#0FDH MOV R7,A

12、MOV A,R7 MOVX DPTR,A MOV A,11H ADD A,ACC MOV 11H,A INC 0FH SJMP GETKEY2 GOON1: MOV DPTR,#0E101H MOV A,10H MOVX DPTR,A MOV R7,#01H 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 16 页 - - - - - - - - - LCALL MLOOP MOV A,10H CLR C RRC A MOV 10H,A INC 0EH SJMP GETK

13、EY1 GOON2: RET ;= WAIT: MOV DPTR,#0E100H MOV A,#03H MOVX DPTR,A MOV 08H,#0FFH MOV 09H,#0FFH MOV 0AH,#0FFH MOV 0BH,#0FFH MOV 0CH,#00H MOV 0DH,#00H WAIT1: LCALL GETKEY LCALL MLOOP4 MOV A,R7 JZ WAIT1 LCALL KEY1 MOV R6,#00H MOV R6,#00H MOV A,R7 ANL A,#0FH MOV R7,A MOV A,#24H ADD A,R7 MOV DPL,A MOV A,#01

14、H ADDC A,R6 MOV DPH,A CLR A MOVC A,A+DPTR MOV R7,A MOV 0DH,R7 SJMP WAIT1 RET ;= TAB: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 16 页 - - - - - - - - - Q0124: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H ;?.Ofm. Q012C: DB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H

15、;?ow|9yq Q0134: DB 00H, 01H, 04H, 07H, 0FH, 02H, 05H, 08H ;. Q013C: DB 0EH, 03H, 06H, 09H, 0DH, 0CH, 0BH, 0AH ;. Q0144: DB 10H, 11H, 12H, 13H, 14H, 15H, 16H ;. ;= MLOOP: MOV 15H,R7 MLOOP1: MOV R7,15H DEC 15H MOV A,R7 JZ MLOOP3 MOV 16H,#64H MLOOP2: MOV A,16H JZ MLOOP1 DEC 16H SJMP MLOOP2 SJMP MLOOP1

16、MLOOP3: RET ;= MLOOP4: MOV DPTR,#0E101H CLR A MOVX DPTR,A MOV DPTR,#0E103H MOVX A,DPTR MOV R7,A MOV A,R7 CPL A MOV R7,A MOV A,R7 ANL A,#0FH MOV R7,A RET ;= STAR: MOV R0,#7FH CLR A STAR1: MOV R0,A DJNZ R0,STAR1 MOV SP,#16H LJMP WAIT END ;=名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整

17、理 - - - - - - - 第 10 页,共 16 页 - - - - - - - - - = 八实验分析:一:主程序分析主程序执行步:1:显示缓冲区初始化2:LED显示3:判断是否有键输入。4:如果有键盘输入读取键值: 5:键值转换为显示数据二:子程序分析:子程序执行步骤:1:初始化地址参数2:输出列扫描信号列3:扫描信号移位4:读入行信号5:该列有键输入若是则执行6,7,8,若不是则执行9,2,3,4. 6 按照行列计算键值7 查表得键码9 :6 列扫描完?10:子程序主要代码分析如下:键盘扫描子程序分析:程序段 TESTKEY分析:名师资料总结 - - -精品资料欢迎下载 - - -

18、 - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 16 页 - - - - - - - - - 本段程序主要作用是初始化地址参数,将 14H放入运算器 A中,判断 A的值是否不小于ACC.2的值如果是则跳转到TESTKEY1 如果不是则A的值加 13H再加 13H, 程序无条件跳转到TESTKEY2 TESTKEY: MOV A,14H JNB ACC.2,TESTKEY1 INC 13H INC 13H SJMP TESTKEY2 程序段 TESTKEY1 分析:将 14H 的值放入运算器A 中判断 A 的值是否不小于A

19、CC.3的值如果是则跳转到TESTKEY2 如果不是则将 A的值加立即数03 再放入运算器 A中,再将地址13H的值加上运算器A中的值放入 A中。再将A中的值放入 13H中。TESTKEY1: MOV A,14H JNB ACC.3,TESTKEY2 MOV A,#03H ADD A,13H MOV 13H,A 程序段 TESTKEY2 分析:本程序段主要功能是:输出列扫描信号列扫描信号移位具体分析如下: 地址指针 DPTR指向立即数 #0E101H的地址,将运算器 A内存放的值的所有位都向左移动1 位,将运算器A 的值放入地址0E101H 中TESTKEY2: MOV DPTR,#0E101

20、H CLR A MOVX DPTR,A 程序段 TESTKEY3 分析:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 16 页 - - - - - - - - - 将立即数 #OA放入 R7 中,程序长跳转到MLOOP ,长跳转到 MLOOP4 将 R7中存放的内容放入运算器A 中,如果 A 中的值不等于0则程序跳转到TESTKEY3 将 13H的值放入 R7中,将 13H的值放入 R7中将R7中的值放入运算器A中,将立即数0134H 放入 DPTR所指的地址空间,将

21、运算器 A 的值加上 DPTR所指地址的值相加取地址再放入运算器A 中,将 A 中的值放入 R7中,子程序结束。TESTKEY3: MOV R7,#0AH LCALL MLOOP LCALL MLOOP4 MOV A,R7 JNZ TESTKEY3 MOV R7,13H MOV A,R7 MOV DPTR,#0134H MOVC A,A+DPTR MOV R7,A RET TESTKEY4: DB 22H ; ;= TESTKEY5: MOV R7,#0FFH RET ;= 本程序段主要作用时读取键盘的值。程序段GETKEY分析:将立即数 20H 放入地址为 10H 的存储空间内,将立即数00

22、H放如地址为 0EH的存储空间内。GETKEY: MOV 10H,#20H MOV 0EH,#00H 程序段 GETKEY1分析:将地址段 0EH的值放入运算器A 中,将 C 中存储的二进名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 16 页 - - - - - - - - - 制数每位都向左移动一位, 将运算器 A的值减立即数06H放入运算器 A中,将立即数 0E101H放入指针 DOTR 所指的地址空间, 将地址 0EH的值放入 R7中,将立即数08H 放如运算器

23、 A 中,将 R7内容放入运算器A 中,将 A中的内容放入 R0中,A简介寻址 R0将 A 的值放入 R7中将立即数 00H放入地址 OFH中。GETKEY1: MOV A,0EH CLR C SUBB A,#06H JNC GOON2 MOV DPTR,#0E101H CLR A MOVX DPTR,A MOV R7,0EH MOV A,#08H ADD A,R7 MOV R0,A MOV A,R0 MOV R7,A MOV 11H,R7 MOV 0FH,#00H 程序段 GETKEY2分析:将地址值为 0FH的内容放入运算器A 中,将 C中的二进制数每位都向左移动一位,将A 中的二进制数加

24、上立即数08H,将地址为 11H内的值放入运算器A中,判断 A中的值是否不小于ACC.7如果是不下于条转到标号 KLOOP如果不是则将立即数0E102 放入指针 DPTR所指的地址空间,将立即数 01H加上运算器 A中的内容,将相加的结果放运算器A中。再将运算器 A中的值放入指针所指的地址空间内。GETKEY2: MOV A,0FH CLR C SUBB A,#08H JNC GOON1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 16 页 - - - - - -

25、- - - MOV A,11H JNB ACC.7,KLOOP MOV DPTR,#0E102H MOV A,#01H MOVX DPTR,A SJMP KLOOP1 ;= KLOOP: MOV DPTR,#0E102H CLR A MOVX DPTR,A KLOOP1: MOV DPTR,#0E102H MOVX A,DPTR MOV R7,A MOV A,R7 ORL A,#02H MOV R7,A MOV A,R7 MOVX DPTR,A MOV DPTR,#0E102H MOVX A,DPTR MOV R7,A MOV A,R7 实验心得在电子技术应用领域中,单片机的应用愈来愈多地应用

26、到各行各业。如:工业控制、仪器仪表、电讯技术、办公自动化和计算机外部设备、汽车与节能、商用产品、家用电器等。目前,单片机正朝着大容量片上存储器、多功能i/o 接口、宽范围工作电源和低功耗方向发展。要开发单片机的应用,不但要掌握单片机硬件和软件方面的知识,而且还要深入了解各应用系统的专业知识,只有将这两方面的知识融会贯通和有机结合,才能设计出优良的应用系统。一个好的工程设计师不仅要掌握单片机的工作原理,而且还要不断了解各公司最新芯片的结名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 16 页 - - - - - - - - - 构和应用,在实际应用中找到最好的性能价格比。所以还要注意培养自己接受新知识的自学能力,掌握芯片发展动态。参考文献1. 胡建.单片机原理及接口技术2. 宋浩等 .单片机原理及应用3. 王建校等 .MCS-51 系列单片机及C51程序设计4. 谢宜仁 .单片机实用技术问答5. 周航慈 .单片机应用程序设计技术名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 16 页 - - - - - - - - -

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

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁