实验八 键盘扫描实验

实验八 键盘扫描实验

ID:9525375

大小:97.50 KB

页数:7页

时间:2018-05-02

实验八 键盘扫描实验_第1页
实验八 键盘扫描实验_第2页
实验八 键盘扫描实验_第3页
实验八 键盘扫描实验_第4页
实验八 键盘扫描实验_第5页
资源描述:

《实验八 键盘扫描实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验八键盘扫描实验一、实验目的1.掌握中断键盘扫描编程方法。2.掌握LED动态显示方法。二、实验原理及实验内容1.实验原理无论是单片机控制系统还是单片机测量系统,都需要一个人机对话装置,这种人机对话装置通常采用键盘和显示器。键盘是单片机应用系统中人机对话常用的输入装置,而显示器是单片机应用系统人机对话中的常用输出装置。键盘是由若干个按键开关组成,键的多少根据单片机应用系统的用途而定。键盘由许多键组成,而每个键相当于一个机械开关触点,当键按下时,触点闭合,当键松开时,触点断开。单片机接收到按键的触点信

2、号后作相应的功能处理。因此对于单片机系统来说键盘接口信号是输入信号。单片机的键盘接口分为独立式和矩阵式。独立式键盘的每个按键都有一个信号线与单片机电路相连,所有按键有一个公共地或公共正端,每个键相互独立互不影响。如图7-7所示,当按下键1时,无论其它键是否按下,键1的信号线就由1变0;当松开键1时,无论其它键是否按下,键1的信号线就由0变1。矩阵式键盘的按键触点接于由行、列母线构成的矩阵电路的交叉处,每当一个按键按下时通过该键将相应的行、列母线连通。若在行、列母线中把行母线逐行置0(一种扫描方式),

3、那么列母线就用来作信号输入线。矩阵式键盘原理图如图7-8所示。图7-7独立式按键原理图图7-8矩阵式按键原理图针对以上两大类键盘工作方式,单片机又有三种键盘扫描方式:查询方式;定时扫描方式和中断扫描方式。查询方式是指在程序中用一段专门的扫描和读按键程序不停查询有无按键按下,确定键值。这种方式电路简单,但需要占用单片机的机器时间。定时扫描方式是指利用单片机内的定时器来产生定时中断,然后在定时中断的服务程序中扫描,检查有无按键按下,确定键值。这种方式的电路也比较简单,不占用单片机的机器时间,但需要占用一

4、个定时器,同时定时的时间不能过长,否则可能检测不到相应得按键。中断扫描方式是指当有键按下时由相应的硬件电路产生中断信号,单片机在中断服务程序中扫描,检查有无按键按下,确定键值。这种方式硬件电路上必须要产生中断线,需要与门和非门来产生。但中断方式不占用单片机的机器时间,也不会出现定时方式时的检测不到键盘的情况。另外,在扫描键盘时需处理键盘抖动问题,称为去抖。一般去抖可以采用软件方式完成,操作方法是,当检测到有键按下时,等待10ms左右时间,如果此按键仍然保持按下的状态,这是确认此按键,如果在100ms

5、内连续检测到此按键按下,则不确认第二次按下的键。本实验系统中的键盘在硬件上采用查询方式工作,键盘采用矩阵键盘有16个按键,见第六章实验箱硬件资料。2.实验内容a.根据流程图在Keil编译环境下编写程序,生成*.HEX文件,要求是任意按下键盘,要求能在LED上将按下的键对于的十六进制数显示出来。b.通过ISP软件将生成的*.HEX文件下载到单片机当中。c.将K1拨动开关打到“on”的位置,离线运行程序,观察实验现象,是否满足要求。不满足实验要求时,检查实验代码。三、参考程序汇编程序:FKEYEQU20

6、H.0/*按键标志*/KEYNUMEQU30H/*按键编号变量*/ORG0000HAJMPMAINMAIN:ACALLKEYETMOV@R0,AMOVA,@R0MOVP0,AAJMPMAIN图7-9键盘扫描TABLE:/*字型数据数组*/DB0C0H,0F9H,0A4H,0B0HDB99H,92H,82H,0F8HDB80H,90H,88H,83HDB0C6H,0A1H,86H,8EHKEYET:CLRFKEY/*清除按键标志*/ACALLSCAN/*执行按键扫描*/JBFKEY,G1/*测试按键标

7、志*/AJMPKEYET/*若没有按键则等待按键*/DELAY:/*延迟子程序*/MOVR6,#50/*总延迟时间R5*10ms*/D1:MOVR7,#100DJNZR7,$DJNZR6,D1DJNZR5,DELAYRETG1:ACALLSCAN/*执行按键扫描*/JBFKEY,G1/*等待按键放开*/MOVA,KEYNUMMOVDPTR,#TABLE/*找出按键码*/MOVCA,@A+DPTRRETSCAN:/*键盘扫描控制程序*/MOVR3,#0FEH/*加载扫描输出信号初值11111110B*

8、/MOVR4,#0/*按键计数标号清除为0*/MOVR1,#4/*循环1执行4次*/CLRPSW.5/*PSW.5=0表示未按键*/L1:MOVA,R3MOVP2,A/*由P2口送出扫描输出信号*/MOVR5,#1ACALLDELAYMOVA,P2/*读取P2数据以便判断是否有按键*/ANLA,#0F0HMOVR2,#4L2:JBACC.4,N1/*累加器A位4若为1表示没按键*/MOVKEYNUM,R4/*加载按键编号*/SETBPSW.5/*按键标志设为1*/N1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。