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

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

[复制链接]

该用户从未签到

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

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-23 20:43 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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