预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

精品学习资料范文 单片机按键实验报告 篇一:单片机按键扫描实验报告 键盘扫描 一.实验目的 (1)掌握矩阵键盘接口电路和键盘扫描编程方法。 (2)掌握按键值处理与显示电路设计。 二.实验任务 (1)设计4*4键盘,编写各个键的特征码和对应的键值(0~F); (2)编程扫描按键,将按键对应的数字值使用数码管显示出来。 三.实验电路及连线方法 1.采用动态显示 连线方法:电路由2片74LS573,1个六字一体的共阴数码管 组成。由U15输出段选码,U16做位选码,与单片机的采用I/O口 连接方式,短路片J22连接P2.0,J23连接P2.3,做输出信号锁存。 (实际电路连接是 d7-d6-d5-d4-d3-d2-d1-d0?h-c-d-e-g-b-a-f)。PW12是电源端。 2.键盘电路 连线方法:电路由16个按键组成,用P1口扩展4×4行列式 键盘。 J20是键盘连接端,连接到P1口。J21是行列键盘、独立键盘 选择端,当J21的短路片连接2-3 脚时,构成4×4行列式键盘;当J21的短路片连接2-1脚时, 精品学习资料范文 可形成3×4行列式键盘,4个独立式 按键S4、S8、S12、S16,这4个独立按键分别连接P1.4~P1.7; 其他12个键3×4行列式键盘。 PW15是电源端。 四.编程思路 1.采用反转法识别按键的闭合。 2.采用动态显示将键值显示出来。 五.算法流程图 六.资源分配 1.用P1口进行查找按键 2.用R3做键值指针 3.用R1做动态显示为选码指针。 4.R5为延时指针。 七.程序设计 KPIN: ORGMOVMOVANLMOV0000HP1,#0F0HA,P1A,#0F0HB,A MOVP1,#0FH MOVA,P1 ANLA,#0FH ORLA,B CJNEA,#0FFH,KPIN1 AJMPEXIT 精品学习资料范文 KPIN1:MOVB,A MOVDPTR,#TABKP MOVR3,#0 KPIN2:MOVA,R3 MOVCA,@A+DPTR CJNEA,B,KPIN3 MOVA,R3 LOOP:MOVR1,#0FEH;键盘动态显示 LOOP1:MOVA,R3 ANLA,#0FH MOVDPTR,#TAB MOVCA,@A+DPTR CLRP2.0 CLRP2.1 MOVP0,A SETBP2.0 NOP CLRP2.0 LOOP2:MOVA,R1;位选码 MOVP0,A SETBP2.1 MOVR5,#250 精品学习资料范文 LOOP3:DJNZR5,LOOP3 CLRP2.1 SJMPLOOP KPIN3:INCR3 CJNEA,#0FFH,KPIN2 EXIT:RET TABKP:DB0EEH,0DEH,0BEH,7EH,0EDH,0DDH,0BDH,7DH,0EBH DB0DBH,0BBH,7BH,0E7H,0D7H,0B7H,77H,67H,0FFH TAB:DB77H,44H,3EH,6EH,4DH,6BH,7BH,46H,7FH,6FH,5FH DB79H,33H,7CH,3BH,1BH END 八.调试出现的问题及解决 问题1:程序正常运行,但按键显示出现乱码 解决:动态显示笔形码错误,并改正。 问题2:发现有些按键按下时不出现键值 解决:发现按键坏了,换机器再实验,并且成功。 总结:与硬件想结合的实验要有足够的耐心,并且不仅要懂得 如何编程,还要有足够多的电路知识,这样才能够保证实验成功。 篇二:单片机实验报告 姓名学号单片机实验报告四时间周一11-13地点计708 指导老师:实验题目C51单片机片上资源开发实验 一.实验目的与要求 精品学习资料范文 ? ?学习单片机片上资源开发技术研究用片上资源实现自动控 制的方案 二:实验环境 在KeiluVision2下实验。 三.实验内容 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输出子程序 五、体会 这个实验对我初学单片机的我有点难度,因为最初接触这个实 验时,对于单片机的I/O端口和按键都不是很清楚,最后通过对课本 知识的学习,还有上机实验对此基本了解。通过