欢迎来到天天文库
浏览记录
ID:38233906
大小:826.50 KB
页数:5页
时间:2019-05-28
《09按键键盘原理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课堂教学教案授课章节名称按键键盘原理课型理论授课日期年月日第周课时数2教学目标知识与技能:1、了解键盘的种类2、能够书写按键消抖的流程图过程与方法:1、掌握按键程序消除抖动的方法情感态度价值观:1、培养对专业课程的兴趣教学重点掌握按键程序消除抖动的方法教学难点掌握按键程序消除抖动的方法教学方法讲授法、演示法、实验法教学资源PPT、计算机课外作业实验报告教学后记教学实践教学环节与主要教学内容具体教学目标教学活动【新课讲授】在很多项目中都会用到按键,如图的电子秤。本次任务将按键接在单片机的引脚脚上,通过让单片机识别按键是否按下,完成对发
2、光二极管的控制。具体功能要求为:LED二极管亮的时候,按一下按键,发光二极管灭;发光二极管灭的时候,按一下按键,发光二极管亮。一、键盘的分类分编码键盘和非编码键盘两种。键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘。而靠软件编程来识别的称为非编码键盘,在单片机组成的各种系统中,用得最多的是非编码键盘。非编码键盘分为行列式(又称为矩阵式)键盘和独立按键本次任务,我们选择的是独立按键。独立按键连接电路有两种,一种是按键的公共端接地,当按键按下时,单片机的控制引脚输入低电平“O”。另一种是按键的
3、公共端接电源,这样当按键按下时,单片机的控制引脚接高电平“1”。应用时一般选择图2-1-4所示的这种电路,电源VCC选择+5V的直流电源,上拉电阻选择l0kohm的。通常的按键所用开关多为机械弹性开关,当机械触点断开、闭合时,电压信号波形产生抖动。由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随一连串的抖动。抖动时间的长短由按键的机械特性决定,一般为5~10ms,这是一个很重要的时间参数,在很多场合都要用到。了解键盘的种类掌握键盘的工作原理教师讲授学生记录学生讨论
4、四、按键程序编写由于按键按下后,会出现抖动,单片机应该避开这段时间,待键盘稳定后,再对键盘的信息进行识别。目前消抖动的方法有两种:一种是采用硬件电路来实现,如增加RS触发器电路、滤波电路等;另一种是软件来实现,即当检测出按键闭合后,执行一个延时程序,产生10~20ms的延时,等延时过后,再查询是否有按键按下,如果没有键按下,说明上次查询结果为干扰;如果仍有键按下,则说明按键闭合已经稳定,单片机可以对键盘进行识别了。任务实施过程一、绘制原理图在PROTEUS软件中绘制的原理图,如图2-1-7所示。二、编写源程序根据原理图,编写源程序如
5、下:/****************************************{按键控制灯程序灯接在P0-7端口上开关接在P2-0端口上灯亮的时候,按一下开关,灯灭灯灭的时候,按一下开关,灯亮*****************************************.#include”reg51.h”sbitkey=P2-0;sbitled=P0-7;bitled_flag;//状态标记/**************************延时函数延时时间=time*1毫秒**********************
6、****/voiddelay_ms(unsignedinttime){unsignedinti,j;for(i=O;i7、=~led_flag;if(led_flag==l)led=0;elseled=l://完成相关任务后,等待按键松开while(key==0);//等待按键松开}}}}三、程序分析①按键识别的步骤:先判断按键是否按下,如果没按,直接退出。如果按下,此时还不能确定是否为有效按下,有可能是抖动,此时应去抖动,调用延时函数。等去抖动完成后,再次判断按键是否还依然按着,如果没有,说明刚才检测按下是一个错误状态,如果依然按着,说明按键是的确按下了,程序可以进行相关参数的设定和修改,最后就是等待按键的释放。②本程序将灯亮还是灭分成两个状态。在亮8、的时候,如果按键按下,灯灭。在灭的时候,如果按键按下,灯亮。这里的Led_flag就是作灯状态的一个标记。【作业】完成程序及电路图的绘制
7、=~led_flag;if(led_flag==l)led=0;elseled=l://完成相关任务后,等待按键松开while(key==0);//等待按键松开}}}}三、程序分析①按键识别的步骤:先判断按键是否按下,如果没按,直接退出。如果按下,此时还不能确定是否为有效按下,有可能是抖动,此时应去抖动,调用延时函数。等去抖动完成后,再次判断按键是否还依然按着,如果没有,说明刚才检测按下是一个错误状态,如果依然按着,说明按键是的确按下了,程序可以进行相关参数的设定和修改,最后就是等待按键的释放。②本程序将灯亮还是灭分成两个状态。在亮
8、的时候,如果按键按下,灯灭。在灭的时候,如果按键按下,灯亮。这里的Led_flag就是作灯状态的一个标记。【作业】完成程序及电路图的绘制
此文档下载收益归作者所有