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

[毕业设计] 基于I2C总线的单片机键盘控制电路设计与实现

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

* {; \/ n& u8 N/ R# l* u$ M! a摘要:为减少单片机键盘控制占用口线过多的问题,本文介绍了基于I2C总线结构的键盘控制方法,给出了硬件电路和软件代码。该. r( p1 `( I% C
方法只要占用单片机的三个口线即可实现对多达64个按键的控制,不但解决了当前单片机开发中遇到的口线不够用的问题,而且电路.
( y8 k+ ], b" d实现简单,同时采用中断的方式实现按键扫描码的读入,能直接读出按键扫描码,程序简单、易行。
: ?+ J7 M0 x; t& c7 d关键词:单片机;I2C总线;键盘控制;电路设计) l- r! B* b: k$ F
1引言
8 Z  Z  x5 W( H单片机已广泛应用于工业控制、智能仪表等领域,随着应用
2 X5 t0 j& b7 Q4 \) J( J和技术的发展、系统的集成度、复杂性的提高,CPU对口线的数量
% Y, y  a# {) d$ N4 Q要求也越来越多,因此需通过适当的手段来对单片机进行扩展,$ Q" h6 H7 Q# s. |& Q5 B" |/ v
或通过其它方法减少口线的占用来达到用户不同的需求。然而,
) j8 `, _% h# I. C1 _/ j传统的单片机对键盘的控制,很多还是直接采用CPU口线,或者
/ ]$ {: E- r& I1 M: ^# s通过扩展外围I/0口如采用LS373、573等实行控制。常见的按键
2 {5 v+ G% C) E9 y4 Q. m结构电路分为独立式按键和行列式按键,独立式按键即每个按键
2 E1 U4 e$ |; M$ i3 ~7 z占用一根IO线,直接用I0口线构成单个按键电路,但占用口线
# L0 J7 [+ j1 v5 @. L2 \- g7 X较多,只适合数目不多的应用。行列式键盘I0是采用口线构成行
# ^) {/ N" _% \1 B+ s6 @. l列结构,按键设置在行列的交点上。在按键较多时可节省IO口( ^$ p9 J) |. T- `
线。但当键盘数目较多时,也需占用较多的单片机口线。而且这两. R8 I( j4 t3 Z% W& a
“种方式都不能直接得出扫描码,必须通过计算才行。为解决这些3 i3 j3 S; k7 z* f& Z
问题,本文提出了采用I2C结构实现键盘控制,并以SD7218A芯# O8 P$ S; _2 \+ m) O& z9 e/ ?" s- K
片为例,给出了硬件电路与程序代码。
0 v' `5 k8 Q$ T( g) }- m4 l: f$ _$ e2I2C总线介绍; |) h5 ]) i, L, N1 T" {
I2C是一种新的芯片间的通讯方式,由PHILIPS开发和推广,
0 F3 h" E! j/ B/ L. L7 DI2C通讯采用两条线进行通讯,一条数据线(SDA),-条时钟线* d/ @1 Q4 s, m% B$ K+ _  K
(SCL),可进行多器件通讯。其最大特点是通过“地址”来确定传输
3 x3 R1 v2 u& t: W3 T* ^信息的目标器件,其好处就是两条线上可以接挂相当多的器件,. S' F% j8 X8 s. r* P; @3 ^
所挂接的器件必须兼容I2C协议,数据传送是双向的,总线支持
8 U, s* B/ C$ A+ h- ~+ k. D多主机。其I2C器件地址结构如下:. u; i( i+ L( B/ w
高四位是器件地址,用来确定器件类型,出厂时就已经规定,
$ x$ [0 D) Y, k0 H* ?7 z是不可更改的。A2、A1、A0为引脚地址,由开发人员根据需要由所8 w$ \# s& E) t! R) h& L
设计的硬件电路决定。用来确定同种器件类型的不同单元(实际& p7 E, Q& _9 R' A
就是相同器件的片选。最后一位为读写控制,即主器件发信息,从: \, `; ?( L" B6 k, d
"器件回应。主机总是负责启动数据的传送,并为发送和接收操作
; i  k$ M, B, ?7 c) P提供时钟。它的最高传输速度可达为100kbit/s,新版规范中最高
2 Q9 m1 B; A7 D' v8 ^6 l可达400 kbit/s。3 D7 o7 J! a4 R1 W
3利用I2C总线设计和实现键盘控制
1 |3 T$ r0 Y" ^* a0 z- G, q本文以SD7218A为例,运用I2C总线控制方式实现键盘控% w" ?8 U  W/ k5 Y/ u" X2 v$ [" O8 }
制,只要占用单片机的三个口线即可实现对多达64个按键的控; @3 R9 {2 v7 T& R
- S5 p! G* g# Q  n- k
6 j2 I* {6 Q3 r; i9 f! q, a/ ^$ \

! I6 b0 K6 y  ?) ]' T6 t; E' A; a6 Q2 f4 ]; X
附件下载:
游客,如果您要查看本帖隐藏内容请回复
( h& d! {! p0 b+ z
7 _# I* V8 F' t* I& P

该用户从未签到

2#
发表于 2020-7-29 13:27 | 只看该作者
学习改变命运,态度决定一切
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-3 12:02 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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