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

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

  [复制链接]

该用户从未签到

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

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
IIC总线是飞利浦公司上世纪80年代设计出来的一种总线通信方式,主要用来连接整体电路,它可以一个总线结构上连接多个设备。
2 |  e1 n) U& R. o) D+ l$ X
       很多人听到IIC总线、SPI总线、485总线什么的就会晕,其实,数据传输的接线方式,大体上就是两种:一种是并行接口,一种是串行接口。
       并行接口是什么?用并行方式来传输数据的接口。假如我想传输几个8位的数据,那好,单片机上用8个IO传送数据,每次就能传送一个。假如想传输几个16位的数据呢?那就要用16个IO!优点是速度快,缺点是占用的IO太多了。
       串行接口是什么?是指数据在有限的几个IO上按照顺序,一位一位的进行传输。这类有很多:UART、IIC、SPI、CAN、USB等等,只要是串行传输的接口,都是串口的一种。但是由于早期人们都习惯把UART口称为串口,导致很多人都习惯了说串口的时候特指UART口。就好像很多人把晶体和晶振都统称为晶振一样,但实际上这两种器件是有区别的。
       什么是时序?时序是串行接口或者并行接口在进行数据传输的时候,传输线必须要遵守的时间的顺序!如果不按照时序来,数据传输肯定是会有问题的。
       最明显的体现就是,有串行接口的器件的datasheet里面经常会有时序图。以昨天提到的PCF8591为例,下图是位传输的时序图:

: E3 n" m# Z1 u
       下图是开始信号和结束信号的时序图:
# e* ]2 h& [9 B% B; D5 _3 K2 Q
       下图是应答信号的时序图:
       发送机在发送完一个8位数据字节后,会把DATA线拉高,接收机会在第九个时钟高电平到来前把DATA线拉低,SCL线拉低后,DATA线置一,完成应答的流程。
       以上,就是一个IIC总线传输的时序要求,大家可以对照昨天的代码,分别去看开始信号、结束信号、应答信号还是数据传输的时序,理解了,这些知识才变成自己的。
       我是理科男,最怕的就是写作文。1、我写的不生动,2、字数写不够。所以上学的时候每次写作文都是拼命的凑字数。这导致我早期看datasheet的时候,也是挑挑拣拣的看,从来没认真研究过时序图。
       但是,厂家给我们提供datasheet不是当作摆设的,真的是有太多重要的信息在里面。我的作文里有一半多都是废话,但是datasheet里面几乎句句都有用。因为他们是想用最简单的语言完成最全面的描述,无论是表格还是图形,出现在这里都是有理由的!
       可能我已经说了很多遍了,但还是要重复一下:一定要学会看datasheet!
       然后,就是这套日志的事,不知不觉写了十多天,开始的很突然,准备的很仓促,由于工作原因,每天就那些时间去准备,有些地方没达到我想要的效果,不过总算把51内部的东西写完了。外设多种多样,而且我手里没有太多实物,讲起来云里雾里,大家会觉得听天书,所以今天,要划上一个句号了。
但是,学习的思路都已经包含在这套日志里面了,认真看的人自然就会懂了。后面的日子,会更正日志里的一些错误,丰满一些内容,再丰富一下自己的大脑。
奋斗吧,少年们!

3 N% @2 R" V) c! M2 j

该用户从未签到

2#
发表于 2022-6-13 11:30 | 只看该作者
来了,学习学习。

该用户从未签到

3#
发表于 2022-6-13 14:31 | 只看该作者
正在学习,感谢版主

该用户从未签到

4#
发表于 2022-6-13 15:18 | 只看该作者
很细致,学习到了,感谢楼主
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-29 07:17 , Processed in 0.078125 second(s), 24 queries , Gzip On.

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

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

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