|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 ByElmer1 于 2020-1-21 15:14 编辑 . u0 | u) g' ?' R
* Q. z K1 z& |5 {" A9 `[摘要]介绍-种单片机1/0端口分时复用方法设计键盘和显示电路。利用单片机执行速度快和人的视觉反应有限的原理,通过对同- -1/0端口分时作为键盘电
" @. m5 N* v6 y. o, A路的出入端[1和並示电路的输出端口来实现共用1/0端口的目的。测试表明采用分时复用I/0口设计键盘和显示电路可行,按键和显示功能正常。
) M! {% q; o, x, W7 l) M
( x' n4 L# G+ Y" A& I6 B) X; Z {/ N[关键词]:单片机(SN8P2624) 分时复用 键盘/显示( k! L' P1 o4 \/ Q; A! Q/ J
: |0 v% k4 w- Q. s/ i$ W6 ~5 Y; {; K一、引言
- n" a/ F2 E4 p x; B0 T# Z一般任何一个适用的系统都少不了键盘和显示这两个部分,键盘为使
4 Y# y1 F' p# [( }( u0 B用者设定功能提供操作平台:显示反映出使用者设定功能的状态。在传统
R6 e( `( T6 Y6 |; _, ]0 x的设计中,-般都是把键盘模块和显示模块分开设计,这样结构清晰,软( f# i5 S+ J9 E' v E8 |. M
件设计简单,当I/0口不够用时,通常通过扩展1/0的方法来解决问题。常2 d; Q# f0 y( d
用的扩展1/0芯片有8255A、2ilog-PI0. 8155、 8156. 87C75PF等, 其中,
- L% n) T' P& ~! E又以8255A最为常用[1].有的使用专门的驱动芯片驱动键盘与显示。比如- Y1 B3 }3 `3 z& G, Q
利用芯片MAX6954来设计键盘与显示电路[2].也有用MC33993来设计健盘
/ x, M q# L5 R$ K和LED显示电路[3]。要求较高的有采用Inte18279来实现键盘与显示器的
# t* _4 `6 h6 f扩展[4]。以上所说的都各有各的特点和优点,但同时也都暴露了-一个问3 D) Q3 \, j4 q' G; I
题,它们都需要通过增加芯片来扩展1/0口。当硬件成本要求苛刻的情况3 D$ C* i% f9 c0 l) h& E7 R
下,这种设计理念就很难适应其要求,而本设计采用显示模块和键盘模块
0 V2 G% w3 Y( _$ K8 ]共用端口的方法,分时显示和按键扫描,很好的解决了这一矛盾。1 `/ V1 ~; |1 `& `
二、原理* _6 S. V, v j; b) h. {
我们知道微控制器的运行速度快,人的视觉灵敏度有限,同时显示器件) ? Q# e6 N/ n/ H" R6 L0 D! Y
(主要是发光二极管,数码管)具有余光效应,所以我们可以充分利用以& y2 e Z0 M! \6 E! \! v- h$ f! [1 C
上特点,合理分配显示和键盘扫描的时间,就可以实现显示模块和键盘
" N& Y# C" s. H0 [# h! P' Y模块共用端口以及不同显示共用端口的功能。其硬件原理框图如图1所示。3 k* j# E* C' c. O
三.软件设计流程; O: x( Z( Q. m/ g- A% g
软件设计分为键盘扫描和显示两个模块,通常每0. 1S就关显示- -次去
# V2 {1 L- z# r执行键盘扫描和其他功能函数。这样-方面可以保证 显示正常,另一方面+ ?% u3 q$ S3 D* H, a, N+ {
由可以保证按键扫描部分执行正常。键盘扫描程序设计流程图和显示子程
+ j! ` H' h9 f! O$ G6 v; D序设计流程图分别如图2中(a) 和(b) 所示。
+ \* c) M/ T$ A, [ }) R: Q( k y. |/ I四、应用实例2 f W- ^! w0 \
图3是我们在设计一款电烤箱时设计的键盘与显示电路,按键用来设
6 F5 N" ~; h; E6 ~' d定加热的档位和加热方式,敷码臂用来显示现在所设定的档位值。从图中2 G: p8 K. G4 h+ l: d) S
可以看出,本设计采用Sonix公司的SNBP2624单片机[5]作为微控制器,键.
/ n h5 t' G- g4 d盘和显示部分共用1/0端口,通过合理分配按键打描和显示的时间,就能0 A' k0 x3 l2 X
实现1/0口共用的功能。
: N. Y& o/ o3 R3 A7 e& Z7 ~6 I4 s. g
附件下载:) m- W: C1 F4 d# k
" S7 G, |/ T: r p, o
# x6 I' Z& L# R/ ?7 ?* F7 @
N) M' a: D( A) x$ u2 J" `0 O, u, M( x" [8 E e% C
; D- p( l4 A) r! C d4 b2 J8 n- p
|
|