|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 ByElmer1 于 2020-1-21 15:14 编辑
2 U1 d; ^; O i* m, d/ _- ^6 i, |# P f% w& Z& \7 F& D/ F$ ?
[摘要]介绍-种单片机1/0端口分时复用方法设计键盘和显示电路。利用单片机执行速度快和人的视觉反应有限的原理,通过对同- -1/0端口分时作为键盘电+ j) c m5 G" }( @
路的出入端[1和並示电路的输出端口来实现共用1/0端口的目的。测试表明采用分时复用I/0口设计键盘和显示电路可行,按键和显示功能正常。# F0 M0 u/ J" {& L! A) Q
; i% q* t8 v& m* r7 o* h0 x1 i
[关键词]:单片机(SN8P2624) 分时复用 键盘/显示
. {. t/ ]7 A, M/ D6 C: t/ q4 {
一、引言) g; ]+ k& i* W- _2 `% P
一般任何一个适用的系统都少不了键盘和显示这两个部分,键盘为使6 g. Z' u7 `! U) k% G
用者设定功能提供操作平台:显示反映出使用者设定功能的状态。在传统% F9 M$ J, w' Y h9 r5 H7 C
的设计中,-般都是把键盘模块和显示模块分开设计,这样结构清晰,软
+ ^6 {" }& }" |. e5 O$ j, `件设计简单,当I/0口不够用时,通常通过扩展1/0的方法来解决问题。常# x2 @& K, z; c
用的扩展1/0芯片有8255A、2ilog-PI0. 8155、 8156. 87C75PF等, 其中,( J7 C5 G3 z: M. p2 n; [! Z% w' }
又以8255A最为常用[1].有的使用专门的驱动芯片驱动键盘与显示。比如8 i, M; z7 G: g+ `
利用芯片MAX6954来设计键盘与显示电路[2].也有用MC33993来设计健盘. T' {& a, k7 d. q- A* q
和LED显示电路[3]。要求较高的有采用Inte18279来实现键盘与显示器的% v# M, X( b6 u, Y
扩展[4]。以上所说的都各有各的特点和优点,但同时也都暴露了-一个问
# {5 t( E! z+ y题,它们都需要通过增加芯片来扩展1/0口。当硬件成本要求苛刻的情况
8 x I1 C- T6 K" ]下,这种设计理念就很难适应其要求,而本设计采用显示模块和键盘模块
$ q3 \) Z9 Q% Q& O1 F \% f共用端口的方法,分时显示和按键扫描,很好的解决了这一矛盾。
/ ?# ]. D* K4 O' S$ g) P: [二、原理
( P3 s9 V6 b# I8 H我们知道微控制器的运行速度快,人的视觉灵敏度有限,同时显示器件
4 z+ {6 ]8 v1 I0 C/ c7 p(主要是发光二极管,数码管)具有余光效应,所以我们可以充分利用以
2 a- \% P. u6 ?0 E9 H7 w5 l上特点,合理分配显示和键盘扫描的时间,就可以实现显示模块和键盘
6 e9 ~! q4 @2 U" a模块共用端口以及不同显示共用端口的功能。其硬件原理框图如图1所示。+ d' ?& {$ T0 r" q! ]$ A
三.软件设计流程4 W; E5 w1 o2 U+ k5 E
软件设计分为键盘扫描和显示两个模块,通常每0. 1S就关显示- -次去
3 N/ u/ p% j% c执行键盘扫描和其他功能函数。这样-方面可以保证 显示正常,另一方面
9 l6 k) d4 P8 G由可以保证按键扫描部分执行正常。键盘扫描程序设计流程图和显示子程
$ K: R2 S' D' ]- I序设计流程图分别如图2中(a) 和(b) 所示。
. r/ l7 c2 ~# ~8 q$ b7 s+ F3 K3 L四、应用实例" H2 P# o. z/ d8 ^3 @1 f
图3是我们在设计一款电烤箱时设计的键盘与显示电路,按键用来设: a1 k8 d8 n1 |/ r+ G1 Y
定加热的档位和加热方式,敷码臂用来显示现在所设定的档位值。从图中: X. @# U5 {: l8 Q6 L) J0 J
可以看出,本设计采用Sonix公司的SNBP2624单片机[5]作为微控制器,键.
. l0 c; b% t X/ G8 n5 p" f9 k盘和显示部分共用1/0端口,通过合理分配按键打描和显示的时间,就能
; }, J7 `4 x, Z* z' E5 E+ h实现1/0口共用的功能。0 f$ ]4 b# c% v6 `* B# L
% L% `: T) U2 e2 N9 V
附件下载:
! v8 E* |* R/ ~5 n8 Y' j- e& ]8 ~* C+ q# |
8 R5 e5 R& T, l6 g M( M" t) z! M
% i2 f& D2 [: v( _# w+ D5 T3 W" V& l! W( a: |9 d
8 K: h k, g4 q% D8 T |
|