发布: 2009-4-05 15:24 | 作者: hnrain | 查看: 23次
5y P.F1L,W't$n28152
r2?~Y)jsO28152 这种方法只适用于键的数目较少的情况。电子园51单片机学习网)h F S#{+Jg2h.i*d
软件消抖:如果按键较多,硬件消抖将无法胜任,常采用软件消抖。通常采用软件延时的方法:在第一次检测到有键按下时,执行一段延时10ms的子程序后,再确认电平是否仍保持闭合状态电平,如果保持闭合状态电平,则确认真正有键按下,进行相应处理工作,消除了抖动的影响。(这种消除抖动影响的软件措施是切实可行的。)电子园51单片机学习网p }zm JZ+U
2.采取串键保护措施。串键:是指同时有一个以上的键按下,串键会引起CPU错误响应。
/l*rY4\&SWG'{m;JH28152 通常采取的策略:单键按下有效,多键同时按下无效。电子园51单片机学习网,n6X4NF1tNj4iR
3.处理连击。连击:是一次按键产生多次击键的效果。要有对按键释放的处理,为了消除连击,使得一次按键只产生一次键功能的执行(不管一次按键持续的时间多长,仅采样一个数据)。否则的话,键功能程序的执行次数将是不可预知,由按键时间决定。连击是可以利用的。连击对于用计数法设计的多功能键特别有效。
o R|V`@JC}28152 三、键盘工作方式
`*v,B{3nzJVR0hu28152 单片及应用系统中,键盘扫描只是CPU的工作内容之一。CPU忙于各项任务时,如何兼顾键盘的输入,取决于键盘的工作方式。考虑仪表系统中CPU任务的份量,来确定键盘的工作方式。
j(c1I7[K't$`2@28152 键盘的工作方式选取的原则是:既要保证能及时响应按键的操作,又不过多的占用CPU的工作时间。电子园51单片机学习网%klRi1iz+k-Q;t
键盘的工作方式有:查询方式(编程扫描,定时扫描方式)、中断扫描方式。电子园51单片机学习网.I){nx8d)p3J N
四、键盘电路结构电子园51单片机学习网|1_6w\4` K
(一)独立式按键接口设计
%BqM:G3c jN)d!Ug"G28152 独立式按键就是各按键相互独立,每个按键单独占用一根I/O口线,每根I/O口线的按键工作状态不会影响其他I/O口线上的工作状态。因此,通过检测输入线的电平状态可以很容易判断哪个按键被按下了。
;c }m2am&\^tu28152 优点:电路配置灵活,软件结构简单。
7? U&U;T;Bn'Q8h8dkD,k28152 缺点:每个按键需占用一根I/O口线,在按键数量较多时,I/O口浪费大,电路结构显得复杂。
:t9df)m0y28152 因此,此键盘是用于按键较少或操作速度较高的场合。
c1M(M F%`I|+Ki(PZ28152 中断方式 查询方式电子园51单片机学习网:i9} hJ/a.c1d,[
也可以用扩展I/O口搭接独立式按键接口电路,可采用8255扩展I/O口,用三态缓冲器扩展。这两种配接方式,都是把按键当作外部RAM某一工作单元的位来对待,通过读片外RAM 的方法,识别按键的工作状态。 电子园51单片机学习网ml;@'\^e`0TY|v
上电路中独立式按键电路,各按键开关均采用了上拉电阻,是为了保证在按键断开时,各I/O有确定的高电平。如输入口线内部已有上拉电阻,则外电路的上拉电阻可省去。
3~Eu;T5o;V[(H'\C28152 (二)矩阵式键盘接口设计电子园51单片机学习网kk.dba%UO
矩阵式键盘适用于按键数量较多的场合,由行线和列线组成,按键位于行列的交叉点上。节省I/O口。
?Vl*h;T'}\!O`28152 矩阵键盘工作原理:行线通过上拉电阻接到+5V上。无按键,行线处于高电平状态,有键按下,行线电平状态将由与此行线相连的列线电平决定。列线电平为低,则行线电平为低;列线电平为高,则行线电平为高。
+UUY%I$V+V@P28152 五、双功能及多功能键设计电子园51单片机学习网y k!Z#|~lS
在单片机应用系统中,为简化硬件线路,缩小整个系统的规模,总希望设置最少的按键,获得最多的控制功能。
Vm[,~3?xO G l28152 矩阵键盘与独立式按键键盘相比,硬件电路大大节省。可通过软件的方法让一键具有多功能。方法:选择一个RAM工作单元,对某一个按键进行按键计数,根据不同计数值,转到子程序。这种计数多功能键最好与显示器结合用,以便知道当前计数值,同时配合一个启动键。
\0v1Xb:]s;k f28152 复合键是使用软件实现一键多功能的另一个途径。所谓复合键,就是两个或两个以上的键的联合,当这些键同时按下时,才能执行相应的功能程序。实际情况做不到“同时按下”,他们的时间差别可以长到50ms,解决策略是:定义一个或两个引导键,这些引导键按下时没什么意义,执行空操作。引导键的例子:微机键盘上的CTRL、SHIFT、ALT。电子园51单片机学习网0]^Qgw
缺点:一是操作变得复杂,二是操作时间变长。
2w+m9O&s:C5l~*f3nM28152 多功能键的利用,应具体情况具体分析。要求速度的场合最好做一键一功能。如果系统功能很多,一键一功能不现实,可采取一键多功能。电子园51单片机学习网jj8tGZg(H0VY
六、功能开关及拨码盘接口设计电子园51单片机学习网6[L a@$AR)|p~5f
设计原因:键盘输入灵活性大,操纵方便。但某些重要功能或数据由键盘输入,误操作将产生一些不良后果。因此常设定静态开关的方法来执行这些功能或输入数据。静态开关一经设定,将不再改变,一直维持设定的开关状态。通常这些开关状态是在单片机系统加电时由CPU读入内存RAM的,以后CPU将不再关注这些开关的状态,因此,即使加电后,这些开关的状态发生变化,也不会影响CPU的正常工作,只有在下一次加电时,这些新状态才能生效。
Q0\+n1I S M@"tk28152 第一,功能开关:主要是根据开关的状态执行一些重要的功能。
ut-C{I28152 第二,拨码盘:单片机应用系统中,有时要输入一些控制参数,这些参数一经设定,将维持不变,除非给系统断电后重新设定。这时使用数字拨码盘既简单直观,又方便可靠。
l8Z}^BD;@Qr,Y28152 七、按键介绍电子园51单片机学习网&eG6Z_d#f
常用的按键有三种:机械触点式按键、导电橡胶式和柔性按键(又称触摸式键盘)。电子园51单片机学习网5iZ WU;M/r:]M@B&S
机械触点式按键是利用弹性使键复位,手感明显,连线清晰,工艺简单,适合单件制造。但是触点处易侵入灰尘而导致接触不良,体积相对较大。电子园51单片机学习网:pI{\{ sG
导电橡胶按键是利用橡胶的弹性来复位,通过压制的方法把面板上所有的按键制成一块,体积小,装配方便,适合批量生产。但是时间长了,橡胶老化而使弹力下降,同时易侵入灰尘。电子园51单片机学习网jhY K&X4h
柔性按键是近年来迅速发展的一种新型按键,可以分为凸球型和平面型两种。凸球型动作幅度触感明显,富有立体感,但制造工艺相对复杂;平面型幅度微小,触感较弱,但工艺简单,寿命长。柔性按键最大特点是防尘、防潮、耐蚀,外形美观,装嵌方便。而且外形和面板的布局、色彩、键距可按照整机的要求来设计。
:J| U n(z;AO!]m28152 八、单片机系统键盘设计实例
2`(]#zs"{.Q*SN5p28152 本次设计中,键盘结构采用非编码键盘系统中的独立式按键结构。用三态缓冲器573扩展I/O口搭接独立式按键接口电路,按键状态由573锁存。
k9V9mi#~/\4j28152 键盘工作方式采用定时扫描方式。采用定时器T0定时,CPU每隔200ms扫描键盘一次,即通过读取573的输出数据,识别按键的工作状态。
;xw&f2z7T.{SW Q2U28152 设计中对于重键和连击的处理:对于重键(串键:指同时有一个以上的键按下),采用软件提供保护,当判断为一个以上的键按下,则不处理,返回重新进行监测。只有监测到一个键按下时,才判断键值,执行相应键处理工作。电子园51单片机学习网K6R0G xu~y C-_/` @ e
键盘对液晶显示的控制是通过显示画面的页码作为接口参数来完成的。在每一页中,键盘对数据的修改是通过对按键次数的计算作为接口参数来实现的。
u+t l_I!^28152 具体例程如下:
4oaT+C!c,lp{Ze/t28152 void keyscan() /*键盘扫描*/
#k R f/R,S l,N28152 {ucher data newz ,temp,pat;
u1U-IX xB,fk#Q28152 if(time_out)电子园51单片机学习网-n+lg9O&e TE
{ACC=MJP; /*读取573数据*/ 电子园51单片机学习网{m0e+Qk'o D
temp="ACC"&0x0f, /*取低四位*/
[R$}&q9k!{D:z#\28152 if(temp!=0x0f) /*有键按下*/电子园51单片机学习网}+E@'g%nP1Pr"T
{msec(10); /*延时10MS*/电子园51单片机学习网/~2u*i$D9M+yuDS~
ACC="MJP"; /*读取573数据*/
%K*?#I A)XW"~ Xo28152 temp="ACC"&0x0f电子园51单片机学习网B#x;J4QCPq U:F
if(temp=0x0f)
4PK,H:p ?7Ff#X.f28152 {newz=temp; /*读取新键值*/电子园51单片机学习网Cb6Yv L;ab\$A
pat="newz"^old; /*键值有无变化*/电子园51单片机学习网z~{ i"J QC a+e
if(pat)>0) /*有变化*/
Ke8z"MMp6v/X-K[NW28152 {old=newz; /*原键值等于新键值*/
%mP"XjAd)ITX28152 keymana(); /*调键散转程序*/
;d1d~&JU? H3pqy28152 }
$J*LU9M!e28152 电子园51单片机学习网;O.WzAd r!P%K
else;
H h^}F Axho]28152 }
w~G ?NY K&b28152 else;
?0P`u4`28152 }电子园51单片机学习网)d:JwvNoy
elsr;电子园51单片机学习网e*J7LrDot k@
old="temp"; /*原键值不变*/
F$xA9N?iaJ28152 time_out=0 /*标志位置零*/
1Lgy:|.E28152 }电子园51单片机学习网$cC5_&eeTR
esel;
,YHo~x L B n(IC28152 }
E9P4b~Yc6v5O28152 九、结语电子园51单片机学习网aj5?6K%_,X)]6e5j
键盘是单片机系统设计中一种主要的信息输入接口,合理的设计,不仅可以节省系统的设计成本,更可使仪器设备的操作变得更为简单、方便,很大程度上提高系统综合性能。电子园51单片机学习网f j-EhD n
文章评论(0条评论)
登录后参与讨论