找回密码
 注册
关于网站域名变更的通知
查看: 645|回复: 1
打印 上一主题 下一主题

[毕业设计] 单片机I/O口分时复用在键盘和显示电路中的应用

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-21 15:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

该用户从未签到

2#
发表于 2020-1-21 15:15 | 只看该作者
本设计采用Sonix公司的SNBP2624单片机作为微控制器
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-1 22:07 , Processed in 0.156250 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表