找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11712|回复: 0
收起左侧

学51单片机-IIC总线与时序

[复制链接]
ID:74835 发表于 2015-4-8 22:51 | 显示全部楼层 |阅读模式
       IIC总线是飞利浦公司上世纪80年代设计出来的一种总线通信方式,主要用来连接整体电路,它可以一个总线结构上连接多个设备。
       很多人听到IIC总线、SPI总线、485总线什么的就会晕,其实,数据传输的接线方式,大体上就是两种:一种是并行接口,一种是串行接口。
       并行接口是什么?用并行方式来传输数据的接口。假如我想传输几个8位的数据,那好,单片机上用8个IO传送数据,每次就能传送一个。假如想传输几个16位的数据呢?那就要用16个IO!优点是速度快,缺点是占用的IO太多了。
       串行接口是什么?是指数据在有限的几个IO上按照顺序,一位一位的进行传输。这类有很多:UART、IIC、SPI、CAN、USB等等,只要是串行传输的接口,都是串口的一种。但是由于早期人们都习惯把UART口称为串口,导致很多人都习惯了说串口的时候特指UART口。就好像很多人把晶体和晶振都统称为晶振一样,但实际上这两种器件是有区别的。
       什么是时序?时序是串行接口或者并行接口在进行数据传输的时候,传输线必须要遵守的时间的顺序!如果不按照时序来,数据传输肯定是会有问题的。
       最明显的体现就是,有串行接口的器件的datasheet里面经常会有时序图。以昨天提到的PCF8591为例,下图是位传输的时序图:
       下图是开始信号和结束信号的时序图:
       下图是应答信号的时序图:
       发送机在发送完一个8位数据字节后,会把DATA线拉高,接收机会在第九个时钟高电平到来前把DATA线拉低,SCL线拉低后,DATA线置一,完成应答的流程。
       以上,就是一个IIC总线传输的时序要求,大家可以对照昨天的代码,分别去看开始信号、结束信号、应答信号还是数据传输的时序,理解了,这些知识才变成自己的。
       我是理科男,最怕的就是写作文。1、我写的不生动,2、字数写不够。所以上学的时候每次写作文都是拼命的凑字数。这导致我早期看datasheet的时候,也是挑挑拣拣的看,从来没认真研究过时序图。
       但是,厂家给我们提供datasheet不是当作摆设的,真的是有太多重要的信息在里面。我的作文里有一半多都是废话,但是datasheet里面几乎句句都有用。因为他们是想用最简单的语言完成最全面的描述,无论是表格还是图形,出现在这里都是有理由的!
       可能我已经说了很多遍了,但还是要重复一下:一定要学会看datasheet!
       然后,就是这套日志的事,不知不觉写了十多天,开始的很突然,准备的很仓促,由于工作原因,每天就那些时间去准备,有些地方没达到我想要的效果,不过总算把51内部的东西写完了。外设多种多样,而且我手里没有太多实物,讲起来云里雾里,大家会觉得听天书,所以今天,要划上一个句号了。
但是,学习的思路都已经包含在这套日志里面了,认真看的人自然就会懂了。后面的日子,会更正日志里的一些错误,丰满一些内容,再丰富一下自己的大脑。
奋斗吧,少年们!

评分

参与人数 1黑币 +5 收起 理由
ssfc + 5 赞一个!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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