第8章80C51的串行总线扩展mppt课件.ppt

第8章80C51的串行总线扩展mppt课件.ppt

ID:59211062

大小:1.47 MB

页数:49页

时间:2020-09-26

第8章80C51的串行总线扩展mppt课件.ppt_第1页
第8章80C51的串行总线扩展mppt课件.ppt_第2页
第8章80C51的串行总线扩展mppt课件.ppt_第3页
第8章80C51的串行总线扩展mppt课件.ppt_第4页
第8章80C51的串行总线扩展mppt课件.ppt_第5页
资源描述:

《第8章80C51的串行总线扩展mppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章80C51的串行总线扩展I2C总线及其扩展8.1SPI总线接口及其扩展8.2串行时钟日历芯片DS1302及其接口8.32021/7/3118.1I2C总线接口及其扩展有两根双向信号线:数据线SDA和时钟线SCLI2C总线架构8.1.1I2C总线基础2021/7/312I2C总线的特点采用2线制器件引脚少,器件间连接简单,电路板体积减小,可靠性提高传输速率高标准模式:100Kb/s,快速模式:400Kb/s,高速模式为3.4Mb/s支持主/从和多主两种工作方式标准型80C51没有I2C总线接口,只能工作于单主方式(扩展外围从器件)2021/7/313I2

2、C总线的数据传输传输时序图起始信号S终止信号P2021/7/314字节传送与应答寻址字节位:D7D6D5D4D3D2D1D0器件地址R/W2021/7/315器件地址表器件型号字节容量寻址字节内部地址字节数页面写字节数最多可挂器件数固定标识片选R/WAT24C01A1281010A2A1A01/0188AT24C02256A2A1A01/088AT24C04512A2A1P01/0164AT24C08A1KA2P1P01/0162AT24C16A2KP2P1P01/0161AT24C32A4KA2A1A01/02328AT24C64A8KA2A1A01/03

3、28AT24C128B16KA2A1A01/0648AT24C256B32KA2A1A01/0648AT24C512B64KA2A1A01/01288片内单元的页地址,即高位地址一次装载字节数2021/7/316I2C总线典型信号时序模拟8.1.280C51的I2C总线时序模拟SDA应答(“0”)SCL>4μSSDA非应答(“1”)SCL>4μSSDA起始信号SSCL>4.7μS>4μSSDA终止信号PSCL>4.7μS>4μS2021/7/3178.1.380C51与AT24C02的接口AT24C02为串行E2PROM存储器。体积小、功耗低、占用I/O口线

4、少,性能价格比高WP:写保护控制端,接地时允许写入。2021/7/318写操作过程单片机发送起始信号S单片机发送控制字节,释放SDA线被选中的器件确认是自己地址后,在SDA线产生应答单片机发送1字节预写入存储区首地址器件产生应答---单片机写数据器件产生应答---单片机发出停止信号P器件进入写周期(10ms内结束)2021/7/319读操作过程单片机发送起始信号S单片机发送控制字节(伪写),释放SDA线被选中的器件确认是自己地址后,在SDA线产生应答单片机发送1字节预读出存储区首地址器件产生应答单片机再发一次起始信号S和读控制字节器件产生应答单片机读数据、发

5、送应答----最后字节读完、发非应答、发停止信号P2021/7/3110I2C总线应用举例【例8-1】将8个数据写入AT24C02的00H-07H单元,之后将AT24C02的00H-07H单元的8个数据读出,存放到单片机内部RAM的40H-47H单元。#include#defineucharunsignedcharsbitSCK=P3^0;sbitSDA=P3^1;voidDY()//>4.7us{uchari=0x10;while(i--);}voidDL1ms(ucharj)//>1ms{uchari;while(j--)for(i=0

6、xff;i>0;i--);}5*iTcyA089S51SCLP3.1SDAWPA1A2P3.024C02VCCRSDA:open-drainR<10k2021/7/3111voidSTART24C02()//起始{SDA=1;SCK=1;DY();SDA=0;DY();}SDASCK“1”voidSTOP24C02()//终止{SDA=0;SCK=1;DY();SDA=1;DY();}SDASCK“1”voidASK()//发应答信号{SDA=0;DY();SCK=1;DY();SCK=0;DY();}voidNASK()//发非应答信号{SDA=1;DY

7、();SCK=1;DY();SCK=0;DY();}voidASKC()//检测应答信号{SCK=0;DY();SCK=1;SDA=1;if(SDA)F0=1;//F0=1,非应答elseF0=0;//F0=0,应答DY();SCK=0;DY();}SCKSDA读SDASCKSDASCK写SDASCK“0”SDASCK“1”voidWRB(ucharW_data)//写一个字节至24C02{uchari=0x07;do{SCK=0;if(W_data&0x80)SDA=1;elseSDA=0;W_data<<=1;DY();SCK=1;DY();}while

8、(i--);}ucharRDB()//从24C02读

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。