ImageVerifierCode 换一换
格式:DOCX , 页数:4 ,大小:18.23KB ,
资源ID:9813088      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9813088.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机按键实验报告.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机按键实验报告.docx

1、单片机按键实验报告单片机按键实验报告 篇一:单片机按键扫描实验报告 键盘扫描 一实验目的 (1)掌握矩阵键盘接口电路和键盘扫描编程方法。 (2)掌握按键值处理与显示电路设计。 二实验任务 (1)设计4*4键盘,编写各个键的特征码和对应的键值(0F); (2)编程扫描按键,将按键对应的数字值使用数码管显示出来。 三实验电路及连线方法 1.采用动态显示 连线方法:电路由2 片74LS573,1 个六字一体的共阴数码管组成。由U15 输出段选码,U16 做位选码,与单片机的采用I/O 口连接方式,短路片J22 连接P2.0,J23 连接P2.3,做输出信号锁存。 (实际电路连接是d7-d6-d5-d

2、4-d3-d2-d1-d0?h-c-d-e-g-b-a-f)。PW12 是电源端。 2.键盘电路 连线方法:电路由16 个按键组成,用P1 口扩展44 行列式键盘。 J20 是键盘连接端,连接到P1 口。J21 是行列键盘、独立键盘选择端,当J21 的短路片连接2-3 脚时,构成44 行列式键盘;当J21 的短路片连接2-1 脚时,可形成34 行列式键盘,4 个独立式 按键S4、S8、S12、S16,这4 个独立按键分别连接P1.4P1.7;其他12 个键34 行列式键盘。 PW15 是电源端。 四编程思路 1采用反转法识别按键的闭合。 2.采用动态显示将键值显示出来。 五算法流程图 六资源分

3、配 1.用P1口进行查找按键 2.用R3做键值指针 3.用R1做动态显示为选码指针。 4.R5为延时指针。 七程序设计 KPIN: ORG MOV MOV ANL MOV 0000H P1,#0F0H A,P1 A,#0F0H B,A MOVP1,#0FH MOVA,P1 ANLA,#0FH ORLA,B CJNE A,#0FFH,KPIN1 AJMP EXIT KPIN1: MOVB,A MOVDPTR,#TABKP MOVR3,#0 KPIN2: MOVA,R3 MOVC A,A+DPTR CJNE A,B,KPIN3 MOVA,R3 LOOP: MOVR1,#0FEH;键盘动态显示 LO

4、OP1: MOVA,R3 ANLA,#0FH MOV DPTR,#TAB MOVC A,A+DPTR CLRP2.0 CLRP2.1 MOVP0,A SETB P2.0 NOP CLRP2.0 LOOP2: MOVA,R1;位选码 MOVP0,A SETB P2.1 MOVR5,#250 LOOP3: DJNZ R5,LOOP3 CLRP2.1 SJMP LOOP KPIN3: INCR3 CJNE A,#0FFH,KPIN2 EXIT: RET TABKP: DB0EEH,0DEH,0BEH,7EH,0EDH,0DDH,0BDH,7DH,0EBH DB 0DBH,0BBH,7BH,0E7H,

5、0D7H,0B7H,77H,67H,0FFH TAB: DB77H,44H,3EH,6EH,4DH,6BH,7BH,46H,7FH,6FH,5FH DB 79H,33H,7CH,3BH,1BH END 八调试出现的问题及解决 问题1:程序正常运行,但按键显示出现乱码 解决:动态显示笔形码错误,并改正。 问题2:发现有些按键按下时不出现键值 解决:发现按键坏了,换机器再实验,并且成功。 总结:与硬件想结合的实验要有足够的耐心,并且不仅要懂得如何编程,还要有足够多的电路知识,这样才能够保证实验成功。 篇二:单片机实验报告 姓名 学号 单片机实验报告 四 时间 周一11-13 地点 计708 指导老

6、师:实验题目C51单片机片上资源开发实验 一 实验目的与要求 ? ? 学习单片机片上资源开发技术 研究用片上资源实现自动控制的方案 二:实验环境 在Keil uVision2下实验。 三实验内容 1. 用51单片机I/O端口和扩展口控制LED和按键 按键扫描子程序,每50ms检查按键状态。 LED输出子程序 按1次键,377扩展输出口驱动LED灯(位输出“1”点亮相应位灯)显示内容改变1次(0x00-0x01-0x02-0x04-0x08-0x10-0x20-0x40-0x80-0xff循环),初始状态显示0x00。 四系统实施 按键扫描子程序,每50ms检查按键状态。 LED输出子程序 五、

7、 体会 这个实验对我初学单片机的我有点难度,因为最初接触这个实验时,对于单片机的I/O端口和按键都不是很清楚,最后通过对课本知识的学习,还有上机实验对此基本了解。通过这次试验,实现了对课本知识的时间,更加了解单片机结构以及组成原理。对于更加深入的学习单片机有很大好处。 六附录 1.用51单片机I/O端口和扩展口控制LED和按键 DISPLAY_NUM EQUR0 ;显示内容的表索引 KEY_DOWN BIT PSW.5 ;模式键按下标志位(PSW的F0) KEY_DEMO BIT P1.0 ADDR_377 EQU 0FFFH ;按键输入引脚 ;377的地址,P2.6P2.4=000的地址均可

8、 ORG 0000H ;仿真调试时,用户程序起始地址8000H LJMP 0030H ORG 0030H START: ;初始化 MOV SP, #30H MOV DISPLAY_NUM, #0 ;LED显示内容初始为0 ;通过377口将LED显示为R0为索引的表容ACALL LED_DISPLAY LED_KEY_LOOP: ACALL DELAY50MS ;延时50ms ACALL KEY_SCAN ;检查按键,若按下,DISPLAY_NUM+1 SJMP ;输出(KEY0_ENTR+DISPLAY_NUM)的内容给377 LED_DISPLAY: MOV A, #0AH CLR C ;C

9、标志位清0 LED_KEY_LOOP;返回主程序循环 SUBB A, DISPLAY_NUM ;判断是否超出状态 JNZ MOV DISP: MOV DPTR, #KEY0_ENTR MOV A, DISPLAY_NUM MOVC MOV DPTR, #ADDR_377 A, A+DPTR; 取得(KEY0_ENTR+DISPLAY_NUM)的内容 DISP DISPLAY_NUM, #0 ;是,清零 MOVX DPTR,A;输出到377 RET KEY_SCAN: ;按键扫描程序 JNB KEY_DEMO, KEY_SCAN1 ;键是否按下? 是(KEY_DEMO=0),要检测按键是否有效;

10、 KEY_SCAN0: CLR KEY_DOWN;否(KEY_DEMO=1) ,清除标志位SJMP KEY_SCAN_EXIT ;返回 KEY_SCAN1: JB KEY_DOWN, KEY_SCAN_EXIT ;是,检测标志位,确认是否为有效按键 ;(KEY_DOWN=1),标志位没有发生0- 1(松开- 按下)状态变化为无效按键,返回CLR KEY_DOWN ;按键有效(即KEY_DEMO=0, KEY_DOWN=0), ;置位按键标志位 INC DISPLAY_NUM ;并把显示内容加1 ACALL LED_DISPLAY KEY_SCAN_EXIT: RET ;延时子程序 延时50ms

11、,使用了R5,R6,R7 DELAY50MS: MOV R7,#04H DELAY0: MOV R6,#81H DELAY1: MOV R5,#7EH DELAY2: DJNZ DJNZR5,DELAY2 R6,DELAY1 DJNZ RET R7,DELAY0 ;指示灯编码 KEY0_ENTR: DB 00H ;显示 00000000 DB 01H ;显示 00000001 DB DB DB DB DB DB DB DB END 显示 00000010 显示 00000100 显示 00001000 显示 00010000 显示 00100000 显示 01000000 显示 1000000

12、0 显示 11111111 02H ; 04H ; 08H ; 10H ; 20H ; 40H ; 80H ; 0FFH ; 篇三:单片机 矩阵键盘实验 实验报告 实验五 矩阵键盘实验 一、实验内容 1、编写程序,做到在键盘上每按一个数字键(0F)用发光二极管将该代码显示出来。按其它键退出。 2、加法设计计算器,实验板上有12个按键,编写程序,实现一位整数加法运算功能。可定义“A”键为“+”键,“B”键为“=”键。 二、实验目的 1、 学习独立式按键的查询识别方法。 2、 非编码矩阵键盘的行反转法识别方法。 三、实验说明 1、MCS51系列单片机的P0P3口作为输入端口使用时必须先向端口写入“

13、1”。 2、用查询方式检测按键时,要加入延时(通常采用软件延时1020mS)以消除抖动。 3、识别键的闭合,通常采用行扫描法和行反转法。行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如读列值中某位为低电平,表明有键按下,否则扫描下一行,直到扫完所有行。 行反转法识别闭合键时,要将行线接一并行口,先让它工作在输出方式,将列线也接到一个并行口,先让它工作于输入方式,程序使CPU通过输出端口在各行线上全部送低电平,然后读入列线值,如此时有某键被按下,则必定会使某一列线值为0。然后,程序对两个并行端口进行方式设置,使行线工作于输入方式,列线工作于输出方式,并将刚才读得的列线值从列

14、线所接的并行端口输出,再读取行线上输入值,那么,在闭合键所在行线上的值必定为0。这样,当一个键被接下时,必定可以读得一对唯一的行线值和列线值。 由于51单片机的并口能够动态地改变输入输出方式,因此,矩阵键盘采用行反转法识别最为简便。 行反转法识别按键的过程是:首先,将4个行线作为输出,将其全部置0,4个列线作为输入,将其全部置1,也就是向P1口写入0xF0;假如此时没有人按键,从P1口读出的值应仍为0xF0;假如此时1、4、7、0四个键中有一个键被按下,则P1.6被拉低,从P1口读出的值为0xB0;为了确定是这四个键中哪一个被按下,可将刚才从P1口读出的数的低四位置1后再写入P1口,即将0xBF写入P1口,使P1.6为低,其余均为高,若此时被按下的键是“4”,则P1.1被拉低,从P1口读出的值为0xBE;这样,当只有一个键被按下时,每一个键只有唯一的反转码,事先为12个键的反转码建一个表,通过查表就可知道是哪个键被按下了。 四、接线方法 键盘连接成44的矩阵形式,占用单片机P1口的8根线,行信号是P1.0-1.3,列信号是P1.4-1.7。 五、实验电路 参考学习板说明书P14。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1