查询式键盘与阵列式键盘的实验Word格式.docx

上传人:b****5 文档编号:19245007 上传时间:2023-01-04 格式:DOCX 页数:11 大小:111.06KB
下载 相关 举报
查询式键盘与阵列式键盘的实验Word格式.docx_第1页
第1页 / 共11页
查询式键盘与阵列式键盘的实验Word格式.docx_第2页
第2页 / 共11页
查询式键盘与阵列式键盘的实验Word格式.docx_第3页
第3页 / 共11页
查询式键盘与阵列式键盘的实验Word格式.docx_第4页
第4页 / 共11页
查询式键盘与阵列式键盘的实验Word格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

查询式键盘与阵列式键盘的实验Word格式.docx

《查询式键盘与阵列式键盘的实验Word格式.docx》由会员分享,可在线阅读,更多相关《查询式键盘与阵列式键盘的实验Word格式.docx(11页珍藏版)》请在冰豆网上搜索。

查询式键盘与阵列式键盘的实验Word格式.docx

二、实验步骤及内容

1、用一根扁平数据线连接查询式键盘实验模块与八位逻辑电平显示模块,无键按下时,键盘输出全为“1”发光二极管全部熄灭,有键按下,对应发光二极管点亮。

此种电路的程序要判断是否有2个或2个以上的键盘同时按下,以免键盘分析错误。

阵列式键盘的编程同样也有这样的问题要注意。

2、一根八位数据线连接查询式键盘实验模块与扫描显示实验模块。

无键按下时,LED数码显示八段全部熄灭,有键按下时,则对应LED段点亮。

3、使用静态串行显示模块显示键值。

单片机最小应用系统1的P1口接查询式键盘输出口,RXD接静态数码显示DIN,TXD接CLK。

4、安装好伟福仿真器,用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机插座中,打开模块电源,插上仿真器电源插头。

5、启动计算机,打开伟福仿真软件,进入仿真环境。

选择仿真器型号、仿真头型号、CPU类型;

选择通信端口,测试串行口。

6、打开查询KEY.ASM源程序,编译无误后运行程序,在键盘上按下某个键,观察数显是否与按键值一致,键值从左至右为0~7。

7、可把源程序编译成可执行文件,烧录到89C51芯片中。

三、流程图及源程序

1、流程图

图1-2

2、源程序

ORG0000H

DBUFEQU30H

TEMPEQU40H

MOV30H,#16

MAIN:

ACALLDISP

ACALLKEY0

AJMPMAIN

KEY:

MOVP1,#0FFH;

输入前,锁存器置“1”

MOVA,P1;

读取键盘状况

CJNEA,#0FFH,K00;

有键按下

AJMPKEY;

无键按下

K00:

ACALLDELAY;

延时去抖动

MOVA,P1

CJNEA,#0FFH,K01;

确有键按下

AJMPKEY

K01:

MOVR3,#8;

8个键

MOVR2,#0;

键码

MOVB,A;

暂存键值

MOVDPTR,#K0TAB

K02:

MOVA,R2

MOVCA,@A+DPTR;

从键值表中取键值

CJNEA,B,K04;

键值比较

K03:

相等

CJNEA#0FFH,K03;

等键释放

MOVA,R2;

得键码

RET

K04:

INCR2;

不相等,到继续访问键值表

DJNZR3,K02

MOVA,#0FFH;

键值不在键值中,即多键同时按下

K0TAB:

DB0FEH,0FDH,0FBH,0F7H;

键值表

DB0EFH,0DFH,0BFH,07FH

DISP:

MOVDBUF,A

MOVDBUF+1,#16

MOVDBUF+2,#16

MOVDBUF+3,#16

MOVDBUF+4,#16

MOVR0,#DBUF

MOVR1,#TEMP

MOVR2,#5

DP10:

MOVDPTR,#SEGTAB

MOVA,@R0

MOVCA,@A+DPTR

MOV@R1,A

INCR0

INCR1

DJNZR2,DP10

MOVR0,#TEMP

MOVR1,#5

DP12:

MOVR2,#8

MOVA,@R0

DP13:

RLCA

MOV0B0H,C

CLR0B1H

SETB0B1H

DJNZR2,DP13

INCR0

DJNZR1,DP12

RET

SEGTAB:

DB3FH,06H,5BH,4FH,66H,6DH

DB7DH,07H,7FH,6FH,77H,7CH

DB58H,5EH,79H,71H,00H,40H

DELAY:

MOVR4,#02H

AA1:

MOVR5,#0F8H

AA:

DJNZR5,AA

DJNZR4,AA1

END

四、原理图

图1-3

阵列式键盘实验

2、掌握阵列式键盘的硬件组成和软件编程方法

1、用一根扁平10线插头连接阵列式键盘实验模块与LED与单片机接口模块。

无键按下或有键按下,发光二极管全亮。

若将A1-A4接地,则发光二极管显示0000XXXX;

B1线上有键按下,则发光二极管显示0000XXX,B2线上有键按下,则发光二极管现世0000X0XX,B1和B2均有键按下,则发光二极管显示000000XX……同样可将B1与B4接地,按键与发光二极管显示情况,用户可以自行判断,自由操作。

2、用一根扁平10线插头连接阵列式键盘实验模块与扫描显示实验模块。

无键按下或有键按下,八段LED全亮。

用户参照1,观察键盘与八段LED亮熄的关系。

单片机最小应用系统1的P1口接阵列式键盘的A1~B4口,单片机最小应用系统1的RXD接串行静态数码显示DIN,TXD接CLK。

6、打开阵列KEY.ASM源程序,编译无误后运行程序,在键盘上按下某个键,观察数显是否与按键值一致。

16位建盘的键值从左至右、从上至下依次为0~F(16进制数)。

三、流程图及源程序

2、源程序

DBUFEQU30H

TEMPEQU40H

MOVA,#16

MOV30H,A

ACALLKEY1

KEY1:

MOVP1,#0FH;

A1-A4输出,B1-B4输入,输

入者对应锁存先写“1”

MOVA,P1;

CJNEA,#0FH,K11;

K10:

AJMPKEY1;

K11:

去抖动

MOVP1,#0FH

再读键盘状况

CJNEA,#0FH,K12;

确有键盘按下

SJMPK10;

误动作

K12:

MOVB,A;

存列值

MOVP1,#0EFH;

按键在Ai行

MOVA,P1

CJNEA,#0EFH,K13;

键在A4

MOVP1,#0DFH

CJNEA,#0DFH,K13;

键在A3行

MOVP1,#0BFH

MOVA,P1

CJNEA,#0BFH,K13;

键在A2行

MOVP1,#7FH

CJNEA,#7FH,K13;

键在A1行

AJMPK10;

多键同时按下

K13:

ANLA,#0F0H;

的行值

ORLA,B;

的按下键的行列值

MOVB,A;

MOVR1,#16;

16个键

MOVR2,#0;

键码初值

MOVDPTR,#K1TAB;

键码表首址

K14:

MOVA,R2

MOVCA,@A+DPTR;

CJNEA,B,K16;

与按下键,键值比较

MOVP1,#0FH;

相等,则完成以下步骤

K15:

CJNEA,#0FH,K15;

等释放

MOVA,R2;

K16:

不相等,则继续访问键值表

DJNZR1,K14

多键同时按下处理

K1TAB:

DB0EEH,0DEH,0BEH,07EH;

DB0EDH,0DDH,0BDH,07DH

DB0EBH,0DBH,0BBH,07BH

DB0E7H,0D7H,0B7H,077H

MOVDBUF+1,#16

MOVR0,#DBUF

MOVR1,#TEMP

INCR1

DJNZR1,DP12

段码表

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

“0,1,2,3,4,5”

DB7DH,07H,7FH,6FH,77H,7CH;

“6,7,8,9,A,b”

DB58H,5EH,79H,71H,00H,40H;

“C,d,E,F,,-”

NOP

图2-3

参考文献:

夏继强.单片机实验与实践教程.北京:

北京航空航天大学出版社,2001

李广第.单片机基础.第1版.北京:

北京航空航天大学出版社,1999

赵晓安.MCS-51单片机原理及应用.天津:

天津大学出版社,2001.3

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

当前位置:首页 > 自然科学 > 天文地理

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

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