|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 ByElmer1 于 2020-1-21 15:14 编辑 5 [7 N; a% p; y# U j
2 i. a: c2 f7 N3 z[摘要]介绍-种单片机1/0端口分时复用方法设计键盘和显示电路。利用单片机执行速度快和人的视觉反应有限的原理,通过对同- -1/0端口分时作为键盘电
6 ^8 _0 }+ T7 O, Z路的出入端[1和並示电路的输出端口来实现共用1/0端口的目的。测试表明采用分时复用I/0口设计键盘和显示电路可行,按键和显示功能正常。
# W7 l! a; \. m" L+ }1 i: j' O B
[关键词]:单片机(SN8P2624) 分时复用 键盘/显示2 u! r: Z0 ~6 R/ |9 _" q! r
" |- _4 G( T; o5 C4 m一、引言/ ]1 r! @8 {. w8 ]3 e7 V
一般任何一个适用的系统都少不了键盘和显示这两个部分,键盘为使
% V* a) b0 d7 a" D( `用者设定功能提供操作平台:显示反映出使用者设定功能的状态。在传统+ v: U3 d; M) h" [4 X, t
的设计中,-般都是把键盘模块和显示模块分开设计,这样结构清晰,软7 y% m+ {( { i( G
件设计简单,当I/0口不够用时,通常通过扩展1/0的方法来解决问题。常2 R, l+ V: B$ i! i: w
用的扩展1/0芯片有8255A、2ilog-PI0. 8155、 8156. 87C75PF等, 其中,
8 k$ P4 g' }- l- X又以8255A最为常用[1].有的使用专门的驱动芯片驱动键盘与显示。比如5 J3 d( g3 U: i. t6 F+ B( L
利用芯片MAX6954来设计键盘与显示电路[2].也有用MC33993来设计健盘
8 E, P" r% h# V) U# _- z和LED显示电路[3]。要求较高的有采用Inte18279来实现键盘与显示器的
4 l" Y, X. e" w4 g扩展[4]。以上所说的都各有各的特点和优点,但同时也都暴露了-一个问+ P) j9 U# ?8 i+ u9 e# B
题,它们都需要通过增加芯片来扩展1/0口。当硬件成本要求苛刻的情况
5 |* ^/ a0 ]! G5 t2 b! i下,这种设计理念就很难适应其要求,而本设计采用显示模块和键盘模块3 m4 Z6 u* V6 i! y
共用端口的方法,分时显示和按键扫描,很好的解决了这一矛盾。
: k, \) J) B9 X/ Y0 o二、原理% M6 A* ~7 h B! R5 L# A$ p: f& s
我们知道微控制器的运行速度快,人的视觉灵敏度有限,同时显示器件
8 N; E$ D& g8 R: J% k9 ](主要是发光二极管,数码管)具有余光效应,所以我们可以充分利用以; C. K0 d4 }4 t0 F* y
上特点,合理分配显示和键盘扫描的时间,就可以实现显示模块和键盘
' g; S$ q8 v) C+ I模块共用端口以及不同显示共用端口的功能。其硬件原理框图如图1所示。
/ N9 }6 Z) u* G- M* B/ r+ ?$ ^ T三.软件设计流程/ m7 W O: x- o
软件设计分为键盘扫描和显示两个模块,通常每0. 1S就关显示- -次去4 D* g6 U6 Y; a: `5 `1 ~
执行键盘扫描和其他功能函数。这样-方面可以保证 显示正常,另一方面0 u2 f# Q5 `7 h2 V5 K# |% |9 ^
由可以保证按键扫描部分执行正常。键盘扫描程序设计流程图和显示子程
& {4 { H4 E* o8 ?序设计流程图分别如图2中(a) 和(b) 所示。: u5 \1 Q; v- k% [( c9 ]& i
四、应用实例. b% e N2 S5 H4 W2 c
图3是我们在设计一款电烤箱时设计的键盘与显示电路,按键用来设7 U6 p- \% w' P) m! o& b
定加热的档位和加热方式,敷码臂用来显示现在所设定的档位值。从图中
$ _7 g% K, w1 T* ]( u' j可以看出,本设计采用Sonix公司的SNBP2624单片机[5]作为微控制器,键.9 G" \5 Z' ^; q& S ~8 T+ b& p# T4 `
盘和显示部分共用1/0端口,通过合理分配按键打描和显示的时间,就能
9 a. \" B3 {- D5 [实现1/0口共用的功能。
+ A! u) J+ @0 w$ n0 [ L0 S
. n/ j3 u9 b1 a8 F( P附件下载:$ _! \- M# {5 H9 N
w3 I3 w, l1 p- e4 q: q
7 G* L; I9 h5 g1 c$ t0 {$ }& o; A6 C! }- i3 L8 H
3 \% {% M! c4 M
/ h% g$ |: [2 X5 r! y) A/ _3 ~ |
|