- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IICSPIUART学习笔记
2014/10/28 昨天出去面试\浪费了一天的时间,今天继续吧,最近找工作找到烦死,不过基础还是不过硬,技术方面的术语也不够专业,所以最近一个月的时间要恶补一下,加油吧 首先要补充总线知识, 串行扩展总线有 I2C(inter IC BUS??)、单总线 (1 wire -bus)、SPI(serial peripheral interface)总线 、microwire/plus (1)IIC总线只有两根双向信号线,SCL和SDA,两根线按照一定的协议进行数据传输,这样节省了I/O口和电路,还使得每个发送接收数据的设备成为主机,但是同一时间只能有一个主机设备. (2) IIC总线需要通过上拉电阻接正电源,总线空闲时两根线呈现高电平,连接到总线上的任何一个设备输出的低电平都能使总线的信号变低,所以各器件间SDA和SCL都是逻辑线与关系. (3)数据传输有效性 数据在SCL为高电平时SDA数据需保持稳定(认为此时数据最稳定),在SCL为低电平时可变化, 另外每个接到IIC总线上的设备都有唯一的地址, (4)数据传输有一定的规则,当SCL=1时,SDA由高电平→低电平,表示起始信号; SDA由低电平→高电平,表示终止信号. scl=0时,允许电平变化,但当SCL=1时,数据保持到SCL=0.变化下一位数据,这一位的数据就算传送成功了. (5)标准的IIC有严格的时序要求,主要有4种模拟时序:起始信号、终止信号、0信号,1信号 (6)数据格式: (A)IIC寻址有明确的规定:采用7位的寻址字节(起始信号后的第一个字节)。D7-D1为从机的地址,D0 为数据方向控制位,0代表主机向从机写数据,1代表主机接收从机数据。 总线上的设备都有自己的设备地址,主机发送地址时,设备根据地址匹配识别是否被主机寻址,再根据R/W位判断数据传输方向。设备地址可能不是7位全部使用,可能只使用低几位,前几位设定为固定码。 (注:起始字节是提供给没有IIC总线接口的特殊字节) (B)数据写格式: 1.主控器会对总线发送起始信号, 2.紧跟应该是第一个字节的8位数据,但是从地址只有7位,所谓从地址就是受控器的 地址,而第8位是受控器约定的数据方向位,“0”为写。 3.发送完一个8位数之后应该是一个受控器的应答信号。4.应答信号过后就是第二个字节的8位数据,这个数多半是受控器件的寄存器地址。5.寄存器地址过后就是要发送的数据,当数据发送完后就是一个应答信号,每启动一次总线,传输的字节数没有限制,一个字节地址或数据过后的第9个脉冲是受控器件应答信号。 6.当数据传送完之后由主控器发出停止信号来停止总线 图5总线读格式 读操作指受控器件向主控器件发送数据,其总线的操作格式如图5。1.由主控器发出起始信号,前两个传送的字节与写操作相同。 2.到了第二个字节之后,就要从新启动总线,改变传送数据的方向,前面两个字节数据方向为写,即“0”;第二次启动总线后数据方向为读,即“1”;之后就是要接收的数据。3.从图5的写格式中我们可以看到有两种的应答信号。一种是受控器的,另一种是主控器的。前面三个字节的数据方向均指向受控器件,所以应答信号就由受控器发后出。但是后面要接 收的N个数据则是指向主控器件,所以应答信号应由主控器件发出,当N个数据接收完成之后,主控器件应发出一个非应答信号,告知受控器件数据接收完成,不用再发送。4.最后的停止信号同样也是由主控器发出。 下面推荐一段周立功老师公司出版的模拟IIC程序软件包,对照上面长篇大论的理论,希望让大家对IIC的规则协议有个更加直观的了解。 /******************************************************************** MCS-51单片机模拟I2C软件包(V1.1)文件名:VI2C_C51.C 相关文件:VI2C_C51.H,VI2C_C51.LIB 功能说明:本模拟I2C软件包包含了I2C操作的底层函数,如发送数据及接收数据,应答位发送,并提供了几个直接面对器件的操作函数,它很方便的与用户程序连接并扩展..... 注意:函数是采用软件延时的方法产生SCL脉冲,固对高晶振频率要作一定的修改....(本软件包是1us机器周期,即晶振频率要小于12MHZ) 总线时序符合I2C标准模式,100Kbit/S。 更新时间:2002.06.05 ******************************************************************** #includereg51.h #includeintrins.h #defineucharunsignedchar/*宏定义*/ #defineuintunsignedint #define _No
文档评论(0)