键盘模块控制实验原理及分析报告Word文档下载推荐.docx

上传人:b****2 文档编号:4017314 上传时间:2023-05-02 格式:DOCX 页数:19 大小:1.24MB
下载 相关 举报
键盘模块控制实验原理及分析报告Word文档下载推荐.docx_第1页
第1页 / 共19页
键盘模块控制实验原理及分析报告Word文档下载推荐.docx_第2页
第2页 / 共19页
键盘模块控制实验原理及分析报告Word文档下载推荐.docx_第3页
第3页 / 共19页
键盘模块控制实验原理及分析报告Word文档下载推荐.docx_第4页
第4页 / 共19页
键盘模块控制实验原理及分析报告Word文档下载推荐.docx_第5页
第5页 / 共19页
键盘模块控制实验原理及分析报告Word文档下载推荐.docx_第6页
第6页 / 共19页
键盘模块控制实验原理及分析报告Word文档下载推荐.docx_第7页
第7页 / 共19页
键盘模块控制实验原理及分析报告Word文档下载推荐.docx_第8页
第8页 / 共19页
键盘模块控制实验原理及分析报告Word文档下载推荐.docx_第9页
第9页 / 共19页
键盘模块控制实验原理及分析报告Word文档下载推荐.docx_第10页
第10页 / 共19页
键盘模块控制实验原理及分析报告Word文档下载推荐.docx_第11页
第11页 / 共19页
键盘模块控制实验原理及分析报告Word文档下载推荐.docx_第12页
第12页 / 共19页
键盘模块控制实验原理及分析报告Word文档下载推荐.docx_第13页
第13页 / 共19页
键盘模块控制实验原理及分析报告Word文档下载推荐.docx_第14页
第14页 / 共19页
键盘模块控制实验原理及分析报告Word文档下载推荐.docx_第15页
第15页 / 共19页
键盘模块控制实验原理及分析报告Word文档下载推荐.docx_第16页
第16页 / 共19页
键盘模块控制实验原理及分析报告Word文档下载推荐.docx_第17页
第17页 / 共19页
键盘模块控制实验原理及分析报告Word文档下载推荐.docx_第18页
第18页 / 共19页
键盘模块控制实验原理及分析报告Word文档下载推荐.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

键盘模块控制实验原理及分析报告Word文档下载推荐.docx

《键盘模块控制实验原理及分析报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《键盘模块控制实验原理及分析报告Word文档下载推荐.docx(19页珍藏版)》请在冰点文库上搜索。

键盘模块控制实验原理及分析报告Word文档下载推荐.docx

实验器材:

1、超想-3000TC综合实验仪1台

2、KEIL仿真器1台

3、计算机1台

二、实验原理

实验程序可分成三个模块:

1、键输入模块:

扫描键盘、读取一次键盘并将键值存入键值缓冲单元。

2、显示模块:

将显示单元的内容在显示器上动态显示。

3、主程序:

调用键输入模块和显示模块。

细分为:

1、实验仪提供了8段码数码管LED显示电路,只要按地址输出相应数据,就可以实现对显示器的控制。

显示共有6位,采用动态方式显示。

8段数码管是由8155的PB0、PB1经74LS164“串转并”后输出得到。

6位位码由8155的PA0口输出,经uA2003反向驱动后,选择相应显示位。

74LS164是串行输入并行输出转换电路,串行输入的数据位由8155的PB0控制,时钟位由8155的PB1控制输出。

写程序时,只要向数据位地址输出数据,然后向时钟位地址输出一高一低两个电平就可以将数据位移到74LS164中,向显示位选通地址输出高电平就可以点亮相应的显示位。

本实验仪中数据位输出地址为0e102H,时钟位输出地址为0e102H,位选通输出地址为0e101H。

本实验涉及到了8155I0/RAM扩展芯片的工作原理以及74LS164器件的工作原理。

2、七段数码管的字型代码表如下表:

显示字形

g

f

e

d

c

b

a

段码

1

3fh

06h

2

5bh

a

fb

g

ec

d

dp

3

4fh

4

66h

5

6dh

6

7dh

7

07h

8

7fh

9

6fh

A

77h

B

7ch

C

39h

D

5eh

E

79h

F

71h

3、本实验仪提供了一个6×

4的小键盘,向列扫描码地址(0e101H)逐列输出低电平,然后从行码地址(0e103H)读回,如果有键按下,则相应行的值应为低,如果无键按下,由于上拉的作用,行码为高.这样就可以通过输出的列码和读取的行码来判断按下的是什么键。

在判断有键按下后,要有一定的延时,防止键盘抖动。

列扫描码还可以分时用作LED的位选通信号。

三、芯片的使用介绍及其在实验中的作用

1、8051端口草图

2、8051/8052单片机功能方框图

3、试验箱6×

4键盘和八段显示屏

试验箱6×

4键盘和八段显示屏实拍图

键盘草图

八端数码显示管草图

4、8155键显模块原理图

四、实验流程图

1、八段数码管显示程序框图

2、读键输入子程序框图

3、主程序框图

五、实验代码及分析

;

键盘扫描实验

OUTBITequ0e101h;

位控制口

CLK164equ0e102h;

段控制口(接164时钟位)

DAT164equ0e102h;

段控制口(接164数据位)

INequ0e103h;

键盘读入口

ORG0000H

LJMPSTAR

=====================================================================

KEY1:

MOV13H,#06H

MOV12H,#20H

KEY2:

MOVA,12H

CPLA

MOVR7,A

MOVDPTR,#0E101H

MOVA,R7

MOVX@DPTR,A

CLRC

RRCA

MOV12H,A

MOVDPTR,#0E103H

MOVXA,@DPTR

ANLA,#0FH

MOV14H,A

DEC13H

MOVR7,13H

JZKEYDIS

MOVA,14H

JZKEY2

KEYDIS:

JZTESTKEY5

MOVA,13H

ADDA,ACC

MOV13H,A

JNBACC.1,TESTKEY

INC13H

SJMPTESTKEY2

=================================================

键盘扫描

TESTKEY:

JNBACC.2,TESTKEY1

TESTKEY1:

JNBACC.3,TESTKEY2

MOVA,#03H

ADDA,13H

TESTKEY2:

CLRA

TESTKEY3:

MOVR7,#0AH

LCALLMLOOP

LCALLMLOOP4

JNZTESTKEY3

MOVDPTR,#0134H

MOVCA,@A+DPTR

RET

TESTKEY4:

DB22H;

"

TESTKEY5:

MOVR7,#0FFH

GETKEY:

MOV10H,#20H

MOV0EH,#00H

GETKEY1:

MOVA,0EH

SUBBA,#06H

JNCGOON2

MOVR7,0EH

MOVA,#08H

ADDA,R7

MOVR0,A

MOVA,@R0

MOV11H,R7

MOV0FH,#00H

GETKEY2:

MOVA,0FH

SUBBA,#08H

JNCGOON1

MOVA,11H

JNBACC.7,KLOOP

MOVDPTR,#0E102H

MOVA,#01H

SJMPKLOOP1

==========================================

KLOOP:

KLOOP1:

ORLA,#02H

ANLA,#0FDH

MOV11H,A

INC0FH

SJMPGETKEY2

GOON1:

MOVA,10H

MOVR7,#01H

MOV10H,A

INC0EH

SJMPGETKEY1

GOON2:

WAIT:

MOVDPTR,#0E100H

MOV08H,#0FFH

MOV09H,#0FFH

MOV0AH,#0FFH

MOV0BH,#0FFH

MOV0CH,#00H

MOV0DH,#00H

WAIT1:

LCALLGETKEY

JZWAIT1

LCALLKEY1

MOVR6,#00H

MOVA,#24H

MOVDPL,A

ADDCA,R6

MOVDPH,A

MOV0DH,R7

SJMPWAIT1

TAB:

Q0124:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;

?

.[Ofm}.

Q012C:

DB7FH,6FH,77H,7CH,39H,5EH,79H,71H;

ow|9^yq

Q0134:

DB00H,01H,04H,07H,0FH,02H,05H,08H;

........

Q013C:

DB0EH,03H,06H,09H,0DH,0CH,0BH,0AH;

Q0144:

DB10H,11H,12H,13H,14H,15H,16H;

.......

MLOOP:

MOV15H,R7

MLOOP1:

MOVR7,15H

DEC15H

JZMLOOP3

MOV16H,#64H

MLOOP2:

MOVA,16H

JZMLOOP1

DEC16H

SJMPMLOOP2

SJMPMLOOP1

MLOOP3:

MLOOP4:

STAR:

MOVR0,#7FH

STAR1:

MOV@R0,A

DJNZR0,STAR1

MOVSP,#16H

LJMPWAIT

END

==============================================================

6、实验现象的分析说明

将KEIL仿真器上40芯排线一端和实验箱上51CPU板上的40芯排针连接起来,将仿真器连接的USB或串口线与PC机对应的USB或串口连接起来,打开实验箱电源。

进入KEIL软件界面,点击项目/打开项目,在C:

\KEIL\UV2\3000TC51配套实验例程中选择实验二“键盘扫描实验”,内有ASM和C51两种程序,进入ASM文件夹打开LED项目文件。

点击“调试/启动/停止调试”,进入调试界面,点击“调试/运行”,运行无误后就可以在试验箱上操作了。

在试验箱的键盘上按下某个按键,可以看到在八端数码显示管上显示按键上相应的符号。

松开按键后,再按其他键,八端数码显示管上变为显示其他的符号。

当把程序中的防抖动子程序模块注释掉后,发现按下键盘后,八端数码显示管上显示的符号变得不稳定,这证明了防抖动程序的正确性和必要性。

7、实验感想

通过这次课程设计,我不仅加深了对MCS-51/52单片机原理与应用这门课程的理解,从开始的知识听说该课程的懵懂,到课程设计完成之后真正明白了该课程的实践与应用的联系,这些实验箱的强大之处,更加加深了我对该课程的兴趣。

在课程设计过程中,从第一步的八段数码显示管程序的原理,我遇到了很多问题,但是经过老师的讲解和后期学习的不断深入,开始逐渐瞥见单片机的趣味。

在随后老师的耐心指导和同学们的帮助之下我克服了一个又一个得困难,逐渐把整个键盘扫描的程序弄明白了。

在后来实验室里做过实验之后,我进一步理解了这个程序的原理。

总之,通过了这次课程设计,不仅加深了我对单片机这门课程的了解与应用,而且让我掌握了汇编语言的使用,更重要的是使我对该课程产生了更加浓厚的兴趣,这是一次让我收获颇丰的课程设计。

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2