实验六、独立式键盘输入实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六、独立式键盘输入实验
一、实验目的
1.认识独立式键盘的工作原理
2.学习独立式键盘的接口设计
二、实验设备
1.单片机最小系统模块
2.仿真器
3.独立式键盘实验模块
4.发光二极管显示模块
三、实验要求
要求由8个独立式键盘和8个发光二极管组成实验电路,当按下某一个键时相应的发光二极管被点亮。
四、实验原理
独立式键盘中,各按键相互独立,每个按键各接一根输入线,每根输入线上的按键工作状态不会影响其它输入线上的工作状态。
因此,通过检测输入线的电平状态就可以很容易的判断按键是否被按下了。
独立式键盘电路配置灵活,软件结构简单。
但每个按键需占用一根输入线,在按键数量较多时,输入口浪费大,电路结构显得很繁杂,故此种键盘适用于按键较少或操作速度较高的场合。
下面介绍独立式按键的接口方法。
图6-1(a)为中断方式的独立式键盘工作电路,图(b)为查询方式的独立式按键工作电路,按键直接与89C51的I/O口线相接,通过读I/O口,判定各I/O口线的电平状态,即可识别出按下的按键。
(a)中断方式(b)查询方式
图6-1 独立式键盘接口电路
此外,也可以用扩展I/O口连接独立式键盘接口电路。
上述独立式键盘电路中,各按键开关均采用了上拉电阻,这是为了保证在按键断开时,各I/O口线有确定的高电平。
在我们的键盘模块中,已经在键盘输出端加上了上拉电阻,因此不用再额外加上。
五、实验步骤
实验参考连线如图6-2所示。
(以6键、6发光管为例)
图6-2 实验连线图
1、按照图6-2的电路原理,用导线正确连接独立式键盘、发光二极管实验模块和单片机最小系统模块。
2、示例程序如下(以6键、6发光管为例):
BEGIN: MOV P0,#0FFH ;熄灭二极管
LOOP: MOV A,P0 ;读键盘状态
ANL A,#3FH ;屏蔽高二位
MOV 40H,A ;把读的键盘状态暂放在40H的地址
CJNE A,#3FH,HADKEY
SJMP LOOP
HADKEY:
ACALL DL10MS ;延时10MS
MOV A,P0 ;再读键盘状态
ANL A,#3FH ;屏蔽高二位
CJNE A,40H,LOOP ;比较两次读键盘状态,如不同则重读
MOV P2,A ;使相应的二极管发亮
NOP
NOP
LJMP LOOP
DL10MS: MOV R7,#05
LOOP1: MOV R6,#0F9H
LOOP2: NOP
NOP
DJNZ R6,LOOP2
DJNZ R7,LOOP1
RET
将程序调入仿真器进行调试。
六、实验报告
1.画出接口电路原理图,并简要分析电路工作原理。
2.给出针对实验要求编写的程序清单、程序流程图、并给予适当注释。
3.独立式键盘的工作的原理是什么?
4.独立式键盘的消抖的方法是什么?。