|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
* m$ a' B, t* U5 I8 ]摘要:为减少单片机键盘控制占用口线过多的问题,本文介绍了基于I2C总线结构的键盘控制方法,给出了硬件电路和软件代码。该+ ?( F7 y- ^( O# n! o' _: \
方法只要占用单片机的三个口线即可实现对多达64个按键的控制,不但解决了当前单片机开发中遇到的口线不够用的问题,而且电路.
+ t- |* U: F/ \* |# i+ J+ S9 x, C2 o实现简单,同时采用中断的方式实现按键扫描码的读入,能直接读出按键扫描码,程序简单、易行。: T* k) G" G8 d1 D7 x. D
关键词:单片机;I2C总线;键盘控制;电路设计
6 ]! R. W; V: N4 Q2 C1引言
2 U4 b4 p! D/ m: s6 a! m单片机已广泛应用于工业控制、智能仪表等领域,随着应用
. K% S& N, {( o5 L6 f; K( [& u和技术的发展、系统的集成度、复杂性的提高,CPU对口线的数量+ S; L+ a+ c1 P. O
要求也越来越多,因此需通过适当的手段来对单片机进行扩展,( H# S& H5 R/ f- x( z2 @
或通过其它方法减少口线的占用来达到用户不同的需求。然而,
- M; ? j) j: L, ?: o+ O传统的单片机对键盘的控制,很多还是直接采用CPU口线,或者
9 J5 x- l7 W& l) S4 R+ I通过扩展外围I/0口如采用LS373、573等实行控制。常见的按键
) c. a& v, L" u* ]' Z结构电路分为独立式按键和行列式按键,独立式按键即每个按键3 v) f- _" z8 v0 c, T
占用一根IO线,直接用I0口线构成单个按键电路,但占用口线+ E$ @1 P" U5 R" j6 G
较多,只适合数目不多的应用。行列式键盘I0是采用口线构成行
' s2 Y. C, l z4 C* B* O, X列结构,按键设置在行列的交点上。在按键较多时可节省IO口
5 u9 y M" I7 t( ~线。但当键盘数目较多时,也需占用较多的单片机口线。而且这两- w! z5 C9 h2 R& v
“种方式都不能直接得出扫描码,必须通过计算才行。为解决这些/ t9 `/ s' ]$ t& M
问题,本文提出了采用I2C结构实现键盘控制,并以SD7218A芯
8 }: K+ Y' r; {8 d7 ]1 Q9 C9 @片为例,给出了硬件电路与程序代码。
1 g( G+ j3 y J* c1 \2I2C总线介绍
0 W* S# P/ m9 F0 V+ R8 _/ bI2C是一种新的芯片间的通讯方式,由PHILIPS开发和推广,! I! h2 l+ N8 i0 j$ Z9 Z6 \: K
I2C通讯采用两条线进行通讯,一条数据线(SDA),-条时钟线
4 K6 V L6 Q ~$ `6 s$ K(SCL),可进行多器件通讯。其最大特点是通过“地址”来确定传输
/ c6 V$ \& t& k8 N6 v \# q3 F0 E信息的目标器件,其好处就是两条线上可以接挂相当多的器件,4 I$ i! ]8 a( {6 n+ L9 j. v# t# d
所挂接的器件必须兼容I2C协议,数据传送是双向的,总线支持
% x0 o6 W6 e D) C% v多主机。其I2C器件地址结构如下:, K% ?! s6 T; L: u
高四位是器件地址,用来确定器件类型,出厂时就已经规定,
' u; N+ x* ^" E是不可更改的。A2、A1、A0为引脚地址,由开发人员根据需要由所/ n2 r- t3 v" Q( k3 f; ~
设计的硬件电路决定。用来确定同种器件类型的不同单元(实际& t D I" T, h
就是相同器件的片选。最后一位为读写控制,即主器件发信息,从
8 b- t6 l( \. t2 }2 V9 X"器件回应。主机总是负责启动数据的传送,并为发送和接收操作; K5 a' b! J: ~' s
提供时钟。它的最高传输速度可达为100kbit/s,新版规范中最高; P! M2 h& L' J! I1 e# O
可达400 kbit/s。! N/ `6 m( C. O- I1 o/ O
3利用I2C总线设计和实现键盘控制
" o8 z7 z. A) K0 g本文以SD7218A为例,运用I2C总线控制方式实现键盘控' z3 j) R. F/ X5 K( i) t) ~
制,只要占用单片机的三个口线即可实现对多达64个按键的控5 T' G! A: O h+ i
制
4 p, r1 d- T! {: c; V
- r+ M5 b( S- }1 V) e) S7 k
4 G( _* G2 C) C \. A6 X+ y! E* z- M" [% L: [6 d
附件下载:! J6 ~& e9 d3 B9 K. y( L) L
, }( f) S- i2 Q: X: Q |
|