第7章80C51的串行总线扩展.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2019/12/191第7章80C51的串行总线扩展SPI总线接口及其扩展7.37.2一线总线接口及其扩展7.1I2C总线接口及其扩展串行扩展连接线根数少;系统板尺寸减小;可靠性提高。常用的串行扩展总线一线总线(单总线);I2C总线;SPI总线。7.1一线总线接口及其扩展DS18B20的引脚7.1.1DS18B20的引脚及内部结构DS18B20引脚GND,电源地;DQ,数字信号输入/输出端;VDD,外接电源输入端(在寄生电源接线方式时接地)。DALLAS18B20123GNDDQVDD123DS18B20的内部结构存储器和控制器8位CRC生成器高速缓冲存储器温度敏感元件低温触发器TL高温触发器TH配置寄存器电源检测64位ROM及一线总线接口GNDDQVDD寄生取电64位ROM8位CRC00101000MSBMSBMSBLSBLSBLSB48位序列号高速缓冲存储器CRC字节保留配置寄存器MSBTHLSB温度值TL保留保留THTLE2PROM配置寄存器配置寄存器:1位:D7D6D5D4D3D2D1D00R1R011117FH,即分辨率为12位—750msDS18B20的温度格式18B20采样值与温度值关系二进制采样值十六进制表示十进制温度/℃000001111101000007D0H+12500000001100100010191H+25.062500000000000010000008H+0.500000000000000000000H01111111111111000FFF8H-0.51111111001101111FE6FH-25.06251111110010010000FC90H-55MSB2-4LSB2-22-32-120222123242625SSSS扩展的符号位2712位格式7.1.2DS18B20操作命令ROM操作命令指令及代码说明读ROM33H读总线上DS18B20的序列号匹配ROM55H依序列号访问确定的DS18B20器件跳过ROMCCH只使用RAM命令,操作在线的DS18B20器件搜索ROMF0H对总线上的多个DS18B20进行识别报警搜索ECH主机搜索越限报警的DS18B20器件RAM操作命令指令及代码说明温度转换44H启动DS18B20开始转换读缓冲器BEH读缓冲器的9个字节数据写缓冲器4EH向DS18B20写TH、TL及配置寄存器数据复制缓冲器48H将缓冲器的TH、TL和配置寄存器值送E2PROM回读E2PROMB8H将E2PROM中的TH、TL和配置寄存器值送缓冲器读供电方式B4H检测供电方式:寄生或外接方式7.1.3DS18B20操作时序初始化时序写时序读时序7.1.4DS18B20操作函数初始化函数voidDS18B20_Init(void){ucharx=0;DQ=1;Delay10Us(9);//DQ=0;Delay10Us(80);//DQ=1;Delay10Us(37);//}读字节ucharDS18B20_RByte(void){uchari=0;uchardat=0;for(i=8;i0;i--){DQ=0;dat=1;DQ=1;if(DQ)dat|=0x80;Delay10Us(5);//54}return(dat);}写字节voidDS18B20_WByte(uchardat){uchari=0;for(i=8;i0;i--){DQ=0;DQ=dat&0x01;Delay10Us(5);//54DQ=1;dat=1;}}7.1.5DS18B20应用实例2019/12/19167.2I2C总线接口及其扩展数据线SDA时钟线SCLI2C总线架构7.2.1I2C总线基础单片机A单片机BSRAM或E2PROMA/D或D/A其它I2C外围设备SCLSCLSCLSCLSCLSDASDASDASDASDASDASCL+VDDRPRP2019/12/1917I2C总线的特点器件引脚少(2线制)器件间连接简单,电路板体积减小,可靠性提高传输速率高标准模式:100Kb/s,快速模式:400Kb/s,高速模式为3.4Mb/s支持主/从和多主两种工作方式标准型80C51没有I2C总线接口,只能工作于主/从方式(扩展外围从器件)2019/12/1918I2C总线的数据传输起始信号S与停止信号P高电平空闲停止信号PSDASCLS起始信号SP传输时序图SCL由主机控制,从器件仅在自己忙时才拉低SCL线;字节数据由发送器发出,响应位由接收器发出;SCL高电平,SDA线要稳定,SCL低电平,SDA线允许更新。SDASCLMSB12987ASKASK912P应答从机忙时拉低SSSP或S应答2019/12/1920字节传送(地址或数据)SDA起始信号S1289非应答SCL(主机)脉冲MSB接收机接收机应答发送机数据寻址字节位:D7D6D5D4D3D2D1D0器件地址R/W主机发送器件地址,总线上的从器件都将这7位地址码与自己的地址进行比较。如果相同,则认为自己正被主机寻址。器件地址由固定部分和可编程部分组成。以AT24CXX系列存储器为例,见下页表。2019/12/1922器件地址表器件型号字节容量寻址字节内部地址字节数页面写字节数最多可挂器件数固定标识可编程地址R/WAT24C01A1281010A2A1A01/0188AT24C02256A2A1A01/088AT24C04512A2A1P01/0164AT24C08A1KA2P1P01/0162AT24C16A2KP2P1P01/0161AT24C32A4KA2A1A01/02328AT24C64A8KA2A1A01/0328AT24C128B16KA2A1A01/0648AT24C256B32KA2A1A01/0648AT24C512B64KA2A1A01/01288注:P0位,可以区分页。如AT24C04有2个256字节的页。2019/12/1923I2C总线典型信号时序模拟7.2.280C51的I2C总线时序模拟SDA起始信号SSCL>4.7μS>4μSSDA停止信号PSCL>4.7μS>4μSSDA应答(“0”)SCL>4μSSDA非应答(“1”)SCL>4μS2019/12/1924I2C总线典型信号模拟子程序起始信号voidStart(void){SDA=1;SCL=1;NOP5();SDA=0;NOP5();SCL=0;}SDA起始信号SSCL>4.7μS>4μS停止信号voidStop(void){SDA=0;SCL=1;NOP5();SDA=1;NOP5();SCL=0;}SDA停止信号PSCL>4.7μS>4μS发送应答位“0”voidAck(void){SDA=0;SCL=1;NOP5();SCL=0;SDA=1;}SDA应答(“0”)SCL>4μS发送非应答位“1”voidNack(void){SDA=1;SCL=1;NOP5();SCL=0;SDA=0;}SDA非应答(“1”)SCL>4μS2019/12/19287.2.380C51与AT24C02的接口AT24C02为内含256字节的串行E2PROM存储器。体积小、功耗低、占用I/O口线少。WP:写保护控制端,接地时允许写入。12348765A0A1A2VSSVCCWPSCLSDAA089S51SCLP3.5SDAWPA1A2P3.4+5V5.1KΩ×2VccAT24C02Vcc2019/12/1929写操作过程写单字节S器件寻址写A片内地址写AData1AP单片机发出起始信号S单片机完成器件寻址写操作被选中的器件返回确认应答(或非应答)单片机完成片内地址写操作器件返回确认应答(或非应答)单片机发送数据字节器件产生应答单片机发出停止信号P单片机发出起始信号S单片机完成器件寻址写操作被选中的器件返回确认应答(或非应答)单片机完成数据地址写操作器件返回确认应答(或非应答)单片机发送数据字节器件产生应答------------------单片机发出停止信号P器件进入写周期(10ms内结束)S器件寻址写A数据地址写AData1ADatanAP……写多字节2019/12/1931读操作过程当前地址读S器件寻址读AADataP单片机发出起始信号S单片机完成器件寻址读操作被选中的器件返回确认应答(或非应答)器件发送数据字节单片机回复应答单片机发出停止信号P器件发送数据字节单片机产生应答-------------------单片机发出非应答及停止信号P(程序略)单片机发出起始信号S单片机完成器件寻址写操作(伪写)被选中的器件返回确认应答(或非应答)单片机完成数据地址写操作(伪写)被选中的器件返回确认应答(或非应答)单片机完成器件寻址读操作被选中的器件返回确认应答(或非应答)SA数据地址写AADatanP……AData1AS注:图中深底色表示主机控制SDA线,白底色表示从器件控制SDA线(但起动位始终由主机控制)。器件寻址写器件寻址读随机读2019/12/19337.3SPI总线接口及其扩展用于E2PROM、A/D、D/A、实时时钟等。由Motorola推出。基本信号3根线:MOSI、MISO、SCK。传输速率由SCK决定,MOSI为主机数据输出、MISO为主机数据输入。另外,主机要发出CS来控制对哪个从芯片进行通信;某个从芯片的CS信号有效时,能通过MOSI接收指令或数据,并通过MISO发出数据。而未被选中的从芯片的MISO为高阻状态。标准80C51没有SPI接口,可模拟SPI时序。7.3.1单片机扩展SPI总线的系统结构对于80C51,主从模式接口电路如下:89S51SIP1.0SOCSP1.11#器件SCKP1.2P1.3CSCS2#器件3#器件P1.4P1.5SISOSCKSISOSCK2019/12/19357.3.2SPI总线的数据传输时序CPOL=0CPHA=0MISO/MOSILSBMSBCLKCLKCLKCLKSPI模式0SPI模式1SPI模式2SPI模式3CPOL=0CPHA=1CPOL=1CPHA=0CPOL=1CPHA=1CPOL和CPHA位决定了SPI的四种工作模式CPOL位:空闲状态时,时钟电平为0或1;CPHA位:采样时钟是第1个还是第2个边沿。有标准SPI接口的主机可以通过配置工作方式与外设接口器件进行连接。无标准SPI接口的80C51单片机,要与SPI器件传输数据,就要利用I/O口进行软件模拟。7.3.3TLC5615D/A转换器简介图8.22TLC5615的引脚定义12348765DINCSVDDOUTREFINDOUTAGNDSCLKDIN:串行数据输入端;OUT:模拟电压输出端;SCLK:串行时钟输入端。/CS:芯片选用通端,低电平有效;DOUT:用于级联时的串行数据输出端;AGND:模拟地;REFIN:基准电压输入端,2V~(VDD-2);VDD:正电源端,4.5V~5.5V,通常取5V。TLC5615引脚TLC5615功能框图TLC5615工作时序TLC5615接口函数voidTLC5615_DAC(uintdat){uchari;dat=2;//左移2位,补2位0TLC5615_CLK=0;TLC5615_CS=0;for(i=0;i16;i++){TLC5615_DI=(bit)(dat&0x8000);TLC5615_CLK=0;dat=1;TLC5615_CLK=1;}TLC5615_CS=1;TLC5615_CLK=0;Delay10Us(1);//15.2uS}7.3.4TLC549A/D转换器简介REF+:正基准电压,2.5V≤REF+≤Vcc+0.1;REF-:负基准电压,-0.1V≤REF-≤2.5V。VCC:系统电源,3V≤Vcc≤6V;GND:接地端;/CS:芯片选择输入端,;DATAOUT:转换结果数据串行输出端;ANALOGIN:模拟信号输入端;I/OCLOCK:外接输入/输出时钟输入端。TLC549引脚图8.25

1 / 45
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功