




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
课题三(实例)之按键任务一独立式按键控制的数码管显示图6-2键盘控制原理图为了实现用按键控制LED的显示,首先要使单片机读入按键的状态,再根据键盘的状态去控制LED的亮灭。对LED的控制,在前面的课题中已经讲了,这里不再作重点讲解,仅仅作为一个键盘控制对象的例子。 根据图6-2所示的硬件电路,每当按下按键时,单片机引脚P0.0将为低电平,程序运行时,需要检测P0.0引脚是否为低电平,若P0.0引脚为低电平,表示按键已按下。 当每次按下按键时,则使P1口输出的数据变化一次,输出不同数据,对应的程序设计框图如图6-4所示。一、按键的特性 作为机械按钮,键按下或者放开时,都存在着接通或断开的不稳定现象,从而使信号电平具有抖动现象,这种现象称为抖动。 由于按键的抖动,使按键对应的输出电平若干个干扰脉冲,如图6-5所示。为了保证每按下一次按键,单片机程序只动作一次,就需要消除因按键的抖动现象而引起的错误动作,具体的处理方式分为硬件消除抖动和软件消除抖动,简称消抖。二、硬件消抖 图中两个“与非”门构成一个RS触发器。当按键未按下时,输出为1;当键按下时,输出为0。此时即使因按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),中要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。 也就是说,即使B点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。三、软件消抖 如果按键较多,常用软件方法去抖,即检测出键闭合后执行一个延时程序,产生5ms~10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。 当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。1、C语言程序: #include<reg51.H> sbitP0_0=P0^0; unsignedcharcount; unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f}; voiddelay10ms() { unsignedchari,j; for(i=250;i>0;i--) for(j=248;j>0;j--); }voidmain(void) { while(1){ if(P0_0==0) { delay10ms(); if(P0_0==0) { count++; if(count==10)count=0; while(P0_0==0); P1=table[count]; } } } } 2、汇编程序 ORG00h START: MOVR1,#00H;初始化R1为0, REL: JBP0.3,REL;判断SP1是否按下 LCALLDELAY;若按下,则延时10ms左右 JBP0.3,REL;再判断SP1是否真得按下 MOVA,R1 MOVDPTR,#TABLE MOVCA,@A+DPTR MOVP1,A INCR1 JNBP0.3,$;等待SP1释放 CJNER1,#10,REL SJMPSTART;继续对K1按键扫描 DELAY: MOVR6,#20;延时10ms子程序 L1: MOVR7,#248 DJNZR7,$ DJNZR6,L1 RET TABLE:DB3FH,06H,5BH,4FH,66H,6DH DB7DH,07H,7FH,6FH END练习: 编写程序使得K0按下时显示1,K7按下时显示8,无键按下时显示0,有多键按下时显示P。任务二获取矩阵键盘的键值编写程序使得P0显示按键的行号,P2口显示按键的列号。在单片机程序中,对多个键的处理应包括以下三项内容: 键输入 检查键盘是否有键被按下,并消除按键抖动。 键译码(扫描法或反转法) 即获取是哪个键按下,得到按键的行号,和列号;有时还需计算键码(每个按键编号,对于4*4的矩阵按键,键码共16个为[0,15])。 键结束 即检查按键是否抬起,这样使得一次按键只做一次处理。 键处理 根据键码执行不同按键处理程序段。检查键盘是否有键被按下,并消除按键抖动。 代码 flag=0; P1=0x0F;//高四位是列线输出0,低四位是行线读入前写1 if(P1&0x0F!=0x0F){ delay(); if(P1&0x0F!=0x0F) flag=1; } 扫描键盘 行列式键盘的具体识别方法有扫描法和反转法。 扫描法 即用列线输出,行线输入(可交换行线和列线的输入、输出关系)。其中,列线逐列输出0,某行有键按下,行线有0输入,若无按键,行线输入全部为1。当有键按下时,根据行线和列线可最终确定哪个按键被按下。

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