|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 ByElmer1 于 2020-1-21 15:14 编辑 0 [# g y5 d- f6 ?8 J [2 Y
& I; t3 p/ r% h5 C7 R" r
[摘要]介绍-种单片机1/0端口分时复用方法设计键盘和显示电路。利用单片机执行速度快和人的视觉反应有限的原理,通过对同- -1/0端口分时作为键盘电5 x+ f3 o* c& U/ U( `
路的出入端[1和並示电路的输出端口来实现共用1/0端口的目的。测试表明采用分时复用I/0口设计键盘和显示电路可行,按键和显示功能正常。6 W1 |; _6 \' h C" z& F( C/ {
% c! u; Y8 r9 Y
[关键词]:单片机(SN8P2624) 分时复用 键盘/显示
, K9 p6 P$ a0 b
4 T+ R3 T- O @! y一、引言: S8 _% q* q8 L' ?* ?1 {$ t
一般任何一个适用的系统都少不了键盘和显示这两个部分,键盘为使% Z% e6 A5 E7 j, J3 d
用者设定功能提供操作平台:显示反映出使用者设定功能的状态。在传统
; n% y0 }% `9 y, L! r: K/ H的设计中,-般都是把键盘模块和显示模块分开设计,这样结构清晰,软" N" ]0 }5 u% w8 I) e, D8 w/ C7 j
件设计简单,当I/0口不够用时,通常通过扩展1/0的方法来解决问题。常+ G7 v2 e" a4 C4 ]; y0 D% \
用的扩展1/0芯片有8255A、2ilog-PI0. 8155、 8156. 87C75PF等, 其中,
$ \+ J; a2 N' K+ ~. H# |1 y又以8255A最为常用[1].有的使用专门的驱动芯片驱动键盘与显示。比如
4 _, f( S) N1 R- p利用芯片MAX6954来设计键盘与显示电路[2].也有用MC33993来设计健盘* f3 o v) e% }5 w, @% Z3 `" d7 j
和LED显示电路[3]。要求较高的有采用Inte18279来实现键盘与显示器的) B- c. x- h$ q% W8 i2 E
扩展[4]。以上所说的都各有各的特点和优点,但同时也都暴露了-一个问
) i/ F+ B( N7 N( [1 l题,它们都需要通过增加芯片来扩展1/0口。当硬件成本要求苛刻的情况7 ~6 n# }4 Q7 ^
下,这种设计理念就很难适应其要求,而本设计采用显示模块和键盘模块
: @5 |; M* P2 G* c1 B$ f! g共用端口的方法,分时显示和按键扫描,很好的解决了这一矛盾。2 _+ y7 \$ V [9 b/ N& k6 [/ z6 _
二、原理1 g' k! f% W7 t+ [6 W
我们知道微控制器的运行速度快,人的视觉灵敏度有限,同时显示器件- [- C# n5 R" D9 Y/ Z3 h
(主要是发光二极管,数码管)具有余光效应,所以我们可以充分利用以5 C) {. ^0 N" b- o
上特点,合理分配显示和键盘扫描的时间,就可以实现显示模块和键盘' D. G9 N8 b4 Y8 K
模块共用端口以及不同显示共用端口的功能。其硬件原理框图如图1所示。
) |" ^. e( m/ B, t# }三.软件设计流程! \5 T" \! t0 B1 v" u
软件设计分为键盘扫描和显示两个模块,通常每0. 1S就关显示- -次去8 k4 y* W. Z" T0 s' v$ u7 {: W9 L
执行键盘扫描和其他功能函数。这样-方面可以保证 显示正常,另一方面
- l, d' c/ ]. \9 N由可以保证按键扫描部分执行正常。键盘扫描程序设计流程图和显示子程6 }: b. B& r8 H( J) l
序设计流程图分别如图2中(a) 和(b) 所示。
/ o+ q$ g3 X" _. Y# O) u4 [四、应用实例8 Y4 `* S2 b$ ?7 r% e
图3是我们在设计一款电烤箱时设计的键盘与显示电路,按键用来设
2 ^0 p1 N; a8 z4 _5 k定加热的档位和加热方式,敷码臂用来显示现在所设定的档位值。从图中! }$ ~+ E$ M4 X2 D
可以看出,本设计采用Sonix公司的SNBP2624单片机[5]作为微控制器,键.% G3 v4 w+ X# {) C8 d/ E
盘和显示部分共用1/0端口,通过合理分配按键打描和显示的时间,就能" F6 c& m j6 d" Z+ @
实现1/0口共用的功能。
4 t7 w, C6 z3 s5 c* j+ l3 N2 F3 \% { \1 K7 ?0 H" q
附件下载:
q' _1 F- ~% |' ]% v0 |* O& k" w( L& H; @ z5 Z+ Q
" I* ~3 y8 _, h i6 |1 U
1 k# \# N! v# V
( t# q# d- J0 j8 {. B7 u* j5 o" ?+ w; ?9 H: N6 M, p
|
|