首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
» 51单片机-IIC
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
51单片机-IIC
发短消息
加为好友
我是MT
当前离线
UID
1023166
帖子
6651
精华
0
积分
3328
阅读权限
90
来自
燕山大学
在线时间
230 小时
注册时间
2013-12-19
最后登录
2016-1-5
论坛元老
UID
1023166
性别
男
来自
燕山大学
1
#
打印
字体大小:
t
T
我是MT
发表于 2014-4-6 16:21
|
只看该作者
51单片机-IIC
单片机
,
数据线
,
控制器
,
开发
IIC(Inter-Intergrated Circuit)
总线
是一种由PHILIPS公司开发的两线式串行总线。用于连接微控制器及其外围设备。IIC只需两根线SDA(数据线),SCL(时钟)。IIC支持多主控,当然,在任何时间点上只能有一个主控,而SPI是一主多从。IIC各种被控制电路均并联在这条总线上,每个模块和电路都有唯一的地址。SPI是通过CS进行片选,有多少个SPI就要占用多少口。IIC总线在传输数据过程中有3个信号,它们分别是:开始信号,结束信号和应答信号。
IIC总线的硬件结构图:
IIC支持多主和主从工作方式,通常为主从工作方式。在主从工作方式中,系统中只有一个主器件(
单片机
),其它器件都是具有IIC总线的外围从器件。在主从工作方式中,主器件启动数据的发送(发出启动信号),产生时钟信号,发出停止信号。 开始信号:SCL为高电平,SDA由高电平向低电平跳变,开始传送数据 结束信号:SCL为高电平,SDA由低电平向高电平跳变,结束传送数据 应答信号:接受数据的IC在接受到8bit数据后,向发送数据的IC发送特定的低电平脉冲,表示已经接收到数据。CPU向受控单元发送一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况做出是否继续传送数据的判断。若未收到应答信号,由判断为受控单元出现故障。
这些信号中开始信号是必须的,结束信号和应答信号都可以不要。
IIC总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟信号为低电平期间,数据线上的高电平或低电平状态才允许变化。
IIC总线协议规定,每传送一个字节数据后,都要有一个应答信号,以确定数据传送是否被对方收到。应答信号由接受设备产生,在SCL信号为高电平期间,接受设备将SDA拉为低电平,表示数据传输正确,产生应答。
IIC总线的时序图:
许多单片机并不具有IIC总线接口,如
51单片机
。
单片机模拟IIC总线通信:
启动代码: void start(){
SDA = 1;
delay();
SCL = 1;
delay();
SDA = 0;
delay();
}
停止代码:
void stop(){
SDA = 0;
delay();
SCL = 1;
delay();
SDA = 1;
delay();
}
李万鹏
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议