单片机原理与C51基础 教学课件 ppt 作者 赵丽清 第11章

上传人:E**** 文档编号:89471502 上传时间:2019-05-25 格式:PPT 页数:47 大小:702.50KB
返回 下载 相关 举报
单片机原理与C51基础 教学课件 ppt 作者 赵丽清 第11章_第1页
第1页 / 共47页
单片机原理与C51基础 教学课件 ppt 作者 赵丽清 第11章_第2页
第2页 / 共47页
单片机原理与C51基础 教学课件 ppt 作者 赵丽清 第11章_第3页
第3页 / 共47页
单片机原理与C51基础 教学课件 ppt 作者 赵丽清 第11章_第4页
第4页 / 共47页
单片机原理与C51基础 教学课件 ppt 作者 赵丽清 第11章_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《单片机原理与C51基础 教学课件 ppt 作者 赵丽清 第11章》由会员分享,可在线阅读,更多相关《单片机原理与C51基础 教学课件 ppt 作者 赵丽清 第11章(47页珍藏版)》请在金锄头文库上搜索。

1、第11章:串行扩展技术,第11章 目录,11.1 单总线串行扩展 11.2 SPI总线串行扩展 11.3 I2C总线扩展 11.3.1 I2C总线基础 11.3.2 80C51的I2C总线时序模拟 11.3.3 80C51与AT24C02的接口,11.1 单总线串行扩展,单片机总线扩展技术,按照数据传送方式,可分为两大类: 并行总线扩展技术 串行总线扩展技术。 并行总线速度快,适合短距离高速传送;串行总线连线少,结构简单,占用单片机的I/O口资源少,可直接与许多外围设备连接,适合远距离慢速传送。 目前,单片机应用系统中常用的串行扩展总线有:单总线(1-Wire BUS)、SPI总线(Seria

2、l Peripheral Interface BUS)、I2C总线(Inter-Integrated Circuit BUS)及SMBus总线(System Management Bus)等。,11.1 单总线串行扩展,单总线(1-Wire Bus)是美国的Maxim全资子公司达拉斯(DALLAS)半导体公司推出了一项特有的串行扩展总线技术,已经集成到各种类型的芯片中,如存储器、温度传感器、A/D转换器、实时时钟和电池管理芯片等。 单总线只有一条数据输入/输出线DQ,总线上的所有器件都挂在DQ上,电源也通过这条信号线供给,这种使用一条信号线的串行扩展技术,称为单总线技术。 与目前多数标准总线不

3、同,单总线技术采用单根信号线,既能传输时钟,又能传输数据,而且数据传输是双向的,实现半双工通信。因此它具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等诸多优点,在测量、控制、认证和识别等领域的应用越来越广泛。 单总线系统中配置的各种器件,由DALLAS公司提供的专用芯片实现。每个芯片都有64位ROM,厂家对每一个芯片用激光烧写编码,其中存有16位十进制编码序列号,它是器件的地址编号,确保它挂在总线上后,可以被唯一确定。,11.1 单总线串行扩展,图11-1 单总线芯片的内部结构示意图,11.1 单总线串行扩展,【例11-1】图11-2(a)所示为一个由单总线构成的分布式温度监测系统实例

4、,也可用于各种狭小空间内设备的数字测温。图中多个带有单总线接口的数字温度传感器DS18B20芯片都挂在单片机的1根I/O口线(即DQ线)上。单片机对每个DS18B20通过总线DQ寻址。DQ为漏极开路,需加上拉电阻。,图11-2 单总线构成的分布式温度监测系统,11.1 单总线串行扩展,DS18B20具有以下特点: (1)体积小、结构简单、使用方便。 (2)每个芯片都有唯一的64位光刻ROM编码,家族码为28H。 (3)温度测量范围-55+125,在-10+85范围内,测量精度可达0.5。 (4)DS18B20的分辨率为可编程的912位(其中包括1位符号位),对应的温度变化量分别为0.5、0.2

5、5、0.125、0.0625。 (5)DS18B20的转换时间与分辨率有关。当设定为9位时,转换时间为93.75 ms;当设定为10位时,转换时间为187.5ms;当设定为11位时,转换时间为375 ms;当设定为12位时,转换时间为750ms。 (6)DS18B20片内含有SRAM(暂存寄存器)和E2PROM(非易失寄存器),单片机写入E2PROM的上下限温度值以及对DS18B20的设置,在芯片掉电的情况下不丢失。,第11章 目录,11.2 SPI总线串行扩展,11.2 SPI总线串行扩展,SPI总线(Serial Peripheral Interface BUS)的中文意思就是串行外部设备

6、接口,SPI总线是由Motorola公司最先推出的全双工同步串行总线,允许单片机与各种外围设备以串行方式进行通信,主要应用在EEPROM,FLASHRAM,实时时钟,LCD显示驱动器,A/D转换器,D/A转换器等芯片中。 标准的SPI总线可直接与各个厂家生产的具有SPI总线接口功能的各种I/O器件进行连接,只需通过4条信号线就可以实现主从设备之间的通信,被称为四线制同步串行总线。 SPI使用4条线: 串行时钟SCK 主器件输入/从器件输出数据线MISO 主器件输出/从器件输入数据线MOSI 从器件选择线。,11.2 SPI总线串行扩展,图11-3 SPI外围串行扩展结构图,图11-4 SPI数

7、据传送格式,11.2 SPI总线串行扩展,【例11-2】设计80C51单片机与串行A/D转换器TLC2543的SPI接口,图11-5 80C51单片机与TLC2543的SPI接口,11.2 SPI总线串行扩展,具体的子程序如下: ADCOMD BYTE 6FH ;定义命令存储单元 ADOUTH BYTE 6EH ;定义存储转换结果高4位单元 ADOUTL BYTE 6DH ;定义存储转换结果低8位单元 ADCONV:CLR P1.0 ;时钟脚为低电平 CLR P1.3 ;片选 有效,选中TLC2543 MOV R2,#08H ;送出下一次8位转换命令和读8位转换结果做准备 MOV A,ADCO

8、MD ;下一次转换的命令在ADCOMD单元中送A LOOP1:MOV C,P1.2 ;读入1位转换结果 RRC A ;1位转换结果带进位位右移 MOV P1.1,C ;送出命令字节中的1位 SETB P1.0 ;产生1个时钟 NOP CLR P1.0 NOP,11.2 SPI总线串行扩展,DJNZ R2,LOOP1 ;是否完成8次转换结果读入和命令输出?未完则跳 MOV ADOUTL,A ;读入的8位转换结果存人ADOUTL单元 MOV A,#00H ;A清0 MOV R2,#04H ;为读入4位转换结果做准备 LOOP2:MOV C,P1.2 ;读入高4位转换结果中的1位 RRC A ;带进

9、位位循环右移 SETB P1.0 ;产生1个时钟 NOP CLR P1.0 NOP DJNZ R2,LOOP2 ;是否完成4次读入?末完则跳LOOP2 MOV ADOUTH,A ;高4位转换结果存人ADOUTH单元中的高4位 SWAP ADOUTH ;ADOUTH单元中的高4位与低4位互换 SETB P1.0 ;时钟无效 RET,第11章 目录,11.3 I2C总线扩展 11.3.1 I2C总线基础 11.3.2 80C51的I2C总线时序模拟 11.3.3 80C51与AT24C02的接口,11.3 I2C总线扩展,11.3.1 I2C总线基础 1、I2C总线架构 I2C总线 (Inter-

10、Integrated Circuit BUS)是PHILIPS公司开发的一种双向两线制同步串行总线,用于连接微控制器及其外围设备,实现连接于总线上的器件之间的信息传送,是近年来微电子通信控制领域广泛采用的一种总线标准。 目前许多接口器件采用了I2C总线接口,如AT24C系列2PROM器件、LED驱动器SAA1064等。PHILIPS公司推出的包括LED驱动器、LCD驱动器、A/D转换器、D/A转换器、RAM、EPROM及I/O接口在内的I2C接口电路芯片。 I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。所有连接到I2C总线上器件的数据线都接到SDA线上,各器件的时钟线

11、均接到SCL线上。,11.3 I2C总线扩展,11.3.1 I2C总线基础 1、I2C总线架构 I2C总线 (Inter-Integrated Circuit BUS)是PHILIPS公司开发的一种双向两线制同步串行总线,用于连接微控制器及其外围设备,实现连接于总线上的器件之间的信息传送,是近年来微电子通信控制领域广泛采用的一种总线标准。 目前许多接口器件采用了I2C总线接口,如AT24C系列2PROM器件、LED驱动器SAA1064等。PHILIPS公司推出的包括LED驱动器、LCD驱动器、A/D转换器、D/A转换器、RAM、EPROM及I/O接口在内的I2C接口电路芯片。 I2C总线只有两

12、根双向信号线。一根是数据线SDA,另一根是时钟线SCL。所有连接到I2C总线上器件的数据线都接到SDA线上,各器件的时钟线均接到SCL线上。,11.3 I2C总线扩展,11.3.1 I2C总线基础 1、I2C总线架构,图11-7 I2C总线的基本架构,11.3 I2C总线扩展,11.3.1 I2C总线基础 2、I2C总线的特点 (1)采用二线制。I2C总线由于采用二线制,器件引脚少,器件间连接简单,电路板体积减小,可靠性提高。 (2)传输速率高。串行的8位双向数据传输位速率标准模式传输速率为100Kbps,快速模式为400Kbps,高速模式为3.4Mbps。 (3)每个连接到总线的器件都可以通

13、过软件以唯一的地址寻址,并建立简单的主机/从机关系,主器件既可以作为发送器,也可以作为接收器。 (4)支持主/从和多主两种工作方式。,11.3 I2C总线扩展,11.3.1 I2C总线基础 3、I2C总线的数据传输 在I2C总线上,每一位数据位的传输都与时钟脉冲相对应。逻辑0和逻辑1的信号电平取决于相应的电源电压VCC。 数据传输时,SCL为高电平期间,SDA上的数据必须保持稳定;在SCL为低电平期间,SDA上的电平状态才允许变化。,图11-8 数据传输时序,11.3 I2C总线扩展,11.3.1 I2C总线基础 3、I2C总线的数据传输 (1)起始和终止信号 I2C总线规定,SCL线为高电平

14、期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。 起始信号和终止信号由主机发出。在起始信号发出后,总线就处于被占用的状态;在终止信号发出后,总线就处于空闲状态。 从器件检测起始和终止信号。从器件收到一个数据字节后,如果可以马上接收下一字节,要发出应答信号。若无法立刻接收下一个字节,可将SCL线拉成低电平,使主机处于等待状态,直到准备好接收下一个字节时,再释放SCL线使之为高电平。,11.3 I2C总线扩展,11.3.1 I2C总线基础 3、I2C总线的数据传输 (1)起始和终止信号,图11-9 起始和终止信号,11.3 I2C

15、总线扩展,11.3.1 I2C总线基础 3、I2C总线的数据传输 (2)字节传送与应答 数据传输字节数没有限制,但每个字节必须是8位长度,先传最高位(MSB),每个被传输的字节后面都要跟随应答位(即一帧共有9位)。 如果从器件进行了应答,但在数据传输一段时间后无法继续接收更多的数据时,从器件可以通过对无法接收的第一个数据字节的“非应答”通知主机,主机则应发出终止信号以结束数据的继续传输。 当主机接收数据时,它收到最后一个数据字节后,必须向从器件发出一个结束传输的“非应答”信号,然后从器件释放SDA线,以允许主机产生终止信号。,11.3 I2C总线扩展,11.3.1 I2C总线基础 3、I2C总

16、线的数据传输 (2)字节传送与应答,图11-10 应答时序,11.3 I2C总线扩展,11.3.1 I2C总线基础 3、I2C总线的数据传输 (3)寻址字节 在主机发出起始信号后要再传输1个寻址字节:7位从器件地址,1位传输方向控制位(用0表示主机发送数据,1表示主机接收数据)。 D7D1位组成从机的地址,D0位是数据传送方向位。主机发送地址时,总线上的每个从机都将这7位地址码与自己的地址进行比较。如果相同,则认为自己正被主机寻址。器件地址由固定部分和可编程两部分组成。,图11-11 寻址数据格式,11.3 I2C总线扩展,表11.1 AT24C系列存储器器件地址表,11.3 I2C总线扩展,11.3.2 80C51的I2C总线时序模拟 对于没有配置I2C总线接口的单片机(如80C51等),可以利用通用并行I/O口线模拟I2C总线接口的时序。 1、I2C总线典型信号 I2C总线的数据传输有严格的时序要求。 I2C总线的起始信号、终止信号、发送应答(0)及发送非应答(1)的时序如图所示。,1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号