




如果您无法下载资料,请参考说明:
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按下使数字减小。验证程序如下:/****

YY****。。
实名认证
内容提供者


最近下载
最新上传
浙江省宁波市2024-2025学年高三下学期4月高考模拟考试语文试题及参考答案.docx
汤成难《漂浮于万有引力中的房屋》阅读答案.docx
四川省达州市普通高中2025届第二次诊断性检测语文试卷及参考答案.docx
山西省吕梁市2025年高三下学期第二次模拟考试语文试题及参考答案.docx
山西省部分学校2024-2025学年高二下学期3月月考语文试题及参考答案.docx
山西省2025年届高考考前适应性测试(冲刺卷)语文试卷及参考答案.docx
全国各地市语文中考真题名著阅读分类汇编.docx
七年级历史下册易混易错84条.docx
湖北省2024-2025学年高一下学期4月期中联考语文试题及参考答案.docx
黑龙江省大庆市2025届高三第三次教学质量检测语文试卷及参考答案.docx