您所在位置: 网站首页 / 单片机按键剖析.ppt / 文档详情
单片机按键剖析.ppt 立即下载
2024-11-26
约3.4千字
约26页
0
336KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

单片机按键剖析.ppt

单片机按键剖析.ppt

预览

免费试读已结束,剩余 21 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

单片机的按键6.1任务说明
任务:了解按键的器件特性,学习利用外部中断扫描,延
		时等手段实现按键的输入,重点掌握按键程序的变	成方法。图6-1加数计数小系统图6-2加数计数小系统在图6-1所示的一个加数计数小系统中,设计数器的
脉冲输入端CP为上升沿有效,加计数器初始显示为0。按
键不按时,CP=0,计数器不加1计数。一般认为:按键
按下,CP端由低电平变为高电平,含有电平上升沿,计
数器加1计数,并且按下1次,计数器加1。实际实验时会
发现,按键按下1次,计数器不是加1,而是跳跃一次性增
加3或4。原因是按键按下在导体接触的瞬间产生了震动。图6-2是按键按下过程中CP端实际电平改变情况。T1为不
按按键时刻,T2为按键按下瞬间的抖动,T3为按键按下稳
定时刻,T4为按键放开时刻瞬间,T5为按键放开时刻。从
图中可以了解到,按键按下的瞬间由于震动会是按键内部
的导体稳定接触,而是在导通和不导通之间来回弹跳,虽
然时间一瞬间,但使CP端获得了多个电平的上升沿。按
键抖动时间的长短由按键的机械特性决定,一般为5ms~
10ms。因此不能直接把按键作为1个脉冲的输入。
在数字电路中,常利用触发器消除键盘抖动,但在单
片机系统中,按键可以直接接在单片机的I/O口上,常利用
键盘程序来消除键盘的抖动现象。6.3利用外部中断实现键盘输入
一、电路原理
在图6-3中,单片机的P0.0口接一只LED,键盘接在
P3.2端口,按键不按时,由于P3.2接有上拉电阻R3,所
以P3.2此时为高电平+5V,如果按键按下,P3.2电源地短
路,P3.2为低电平。为了消除键盘抖动现象,键盘两端并联滤波电容器C4。
P3.2是单片机的外部中断的输入端,当按键按下时,让单
片机执行外部中断服务程序,在中断服务中完成对LED的
控制。图6-3利用外部中断INT0实现键盘输入电路二、外部中断
51系列单片机的中断共有5个,其中外部中断共占两
个。外部中断主要通过单片机的引脚P3.3()、P3.4()接收
外部脉冲或高低电平出发CPU中断。与外部中断有关的多
功能寄存器为IE、IP、TCON。程序如下:/*****************************************************************/
#include<reg51.h>
sbitLED=P0^0;
biti;
voiddelay()
{
	unsignedchara,b;
	for(a=0;a<255;a++)
	for(b=0;b<255;b++);
}
voidint0_isr(void)interrupt0//INT0中断服务函数,INT0的中断号为0
{		
	i=~i;//INT0中断1次,i值改变1次
	LED=i;//INT0中断1次,LED工作状态变化1次
	delay();//调用延时函数
}
voidmain(void)
{	
	LED=0;//芯片初始化时,LED灭
	EA=0;
	EX0=1;//开启INT0中断
	PX0=1;//INT0中断优先,可以省去
	EA=1;//开启总中断开关
	while(1);//等待按键按下,中断发生
}
/**********************************************************/这里没有设置INT0是下降沿触发中断或是低电平触发
中断,原因是按键按下,不管产生不产生键抖现象,总能
使INT0引脚产生1个下降沿和低电平。如果设置只有下降
沿才触发INT0中断,需要利用设置计时器控制寄存器
TCON的IT0=1位,按键按下是否产生中断,可以利用程
序检测TCON的IE0位。利用外部中断触发作为按键输入很
好的解决了键盘抖动问题。如果需要多个键盘,把INT0口与I/O口之间用键盘连
接,I/O输出低电平扫面信号即可。在数码管动态显示电路
中,为了节省硬件资源,可以在INT0口和P2口之间接入
键盘,实现8只按键输入。三、利用延时程序防止键盘抖动,实现键盘输入
按键按下产生的抖动现象持续的时间不会很久,因此
在按键按下后,可延时一段时间跳过抖动,再对按键的状
态检测,从而利用延时的方法也可以实现键盘输入。本案
例完通过两个键盘设计,实现对数码管显示数据的调整。图6-4利用延时函数消除键盘抖动实现键盘输入电路在图6-4中,KEY1、KEY2两个键盘一端分别接P3.0、
P3.1,另一端接地,数码管仍使用共阳型。在Proteuse软
件中,按键的英文名字为BUTTON,在Switches&Relasy
下的Switches里。现在实现两个按键控制数码显示的数
字,其中KEY1按下使数字增加,数字到9后变为0,依次循
环;KEY2按下使数字减小。验证程序如下:/****
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

单片机按键剖析

文档大小:336KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用