|
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
|
|