单片机原理及应用技术第章-外部串行总线接口技术.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《单片机原理及应用技术第章-外部串行总线接口技术.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用技术 外部 串行 总线接口 技术
- 资源描述:
-
1、单片机原理及应用技术第章_外部串行总线接口技术第第6章章 MCS-51单片机外部串行总线接口技术单片机外部串行总线接口技术 6.16.1几种外部串行总线工作方式几种外部串行总线工作方式 6.2 6.2 串行串行E E2 2PROM X5045PROM X5045接口扩展技术接口扩展技术 6.3 6.3 串行专用键盘串行专用键盘/显示器接口芯片显示器接口芯片HD7279HD7279 6.4 6.4 串行串行A/DA/D转换接口芯片转换接口芯片TLC1543TLC1543 6.5 6.5 串行串行D/AD/A转换接口芯片转换接口芯片TLC5615TLC5615 6.6 6.6 本章小结本章小结 2
2、022-10-66.1.1 SPI串行总线 1.SPI总线的特点总线的特点(串行外围设备接口(串行外围设备接口:serial peripheral interface)v一般使用一般使用4条线条线串行时钟线(串行时钟线(SCK)主机输入主机输入/从机输出数据线从机输出数据线MISO主机输出主机输出/从机输入数据线从机输入数据线MOSI低电平有效的从机选择线低电平有效的从机选择线SSSPI总线技术是总线技术是Motorola公司推出的一种同步串行接口公司推出的一种同步串行接口 6.1 几种外部串行总线工作方式几种外部串行总线工作方式 2022-10-62.SPI总线系统的构成总线系统的构成v单片
3、机与多个单片机与多个SPISPI串行接口设备典型结构如图串行接口设备典型结构如图6.16.1所示。所示。图6.1 单片机与多个SPI串行接口设备典型连接2022-10-63.SPI串行总线在串行总线在MCS-51系列单片机中的实现系列单片机中的实现 vMCS-51MCS-51单片机单片机I/OI/O口模拟口模拟SPISPI总线接口原理图如图总线接口原理图如图6.26.2所示。所示。图6.2 MCS-51单片机I/O口模拟SPI总线接口原理图2022-10-6v单片机,如单片机,如MotorolaMotorola公司的公司的M68HC08M68HC08系列、系列、CygnalCygnal公司的公
4、司的C8051F0XXC8051F0XX系列、系列、PhilipsPhilips公司的公司的P89LPC93XP89LPC93X系列。系列。vA/DA/D和和D/AD/A转换器,如:转换器,如:ADAD公司的公司的AD7811/12AD7811/12、TITI公司的公司的TLC1543TLC1543、TLC2543TLC2543、TLC5615TLC5615等。等。v实时时钟实时时钟RTCRTC,如,如DallasDallas公司的公司的DS1302/05/06DS1302/05/06等。等。v温度传感器,如温度传感器,如ADAD公司的公司的AD7816/17/18AD7816/17/18;N
5、SNS公司的公司的LM74LM74等。等。v其他设备,如其他设备,如LEDLED控制驱动器控制驱动器MAX7219MAX7219、HD7279HD7279等,集成看门狗、电压监等,集成看门狗、电压监控、控、E E2 2PROMPROM等功能的等功能的X5045X5045等。等。4.常用常用SPI串行总线接口的器件串行总线接口的器件2022-10-66.1.2 I2C总线总线 vI I2 2C C(Inter Integrated CircuitInter Integrated Circuit)常译为内常译为内部集成电路总线,或集成电路间总线,它部集成电路总线,或集成电路间总线,它是是由由Phi
6、lipsPhilips公司推出的芯片间串行传输总线。公司推出的芯片间串行传输总线。使用使用2 2线实现数据通信。线实现数据通信。1 1根串行数据线(根串行数据线(SDASDA)1 1根串行时钟线(根串行时钟线(SCLSCL)。)。2022-10-61.I2C总线的基本特性总线的基本特性v硬件结构上具有相同的硬件接口界面。图6.3 I2C器件连接实例2022-10-6v总线接口器件地址具有很大的独立性。总线接口器件地址具有很大的独立性。在单主系统中,每个在单主系统中,每个I I2 2C C接口芯片具有唯一的器件地址,各从器件之间互不干扰,接口芯片具有唯一的器件地址,各从器件之间互不干扰,相互之间
7、不能进行通信。相互之间不能进行通信。MCUMCU与与I I2 2C C器件之间的通信是通过独器件之间的通信是通过独一无二的器件地址来实现的。一无二的器件地址来实现的。v数据传输首先从最高位开始。数据传输首先从最高位开始。传输速率在标准模式下可达传输速率在标准模式下可达100kbit/s100kbit/s,在快速模式下达,在快速模式下达400kbit/s400kbit/s,在高速模式下达,在高速模式下达3.4Mbit/s3.4Mbit/s。v它是一个真正的多主机总线。它是一个真正的多主机总线。如果两个或更多主机同时初始如果两个或更多主机同时初始化数据传输,可以通过冲突检测和仲裁防止数据被破坏。化
8、数据传输,可以通过冲突检测和仲裁防止数据被破坏。v软件操作的一致性。软件操作的一致性。任何器件通过任何器件通过I I2 2C C总线与总线与MCUMCU进行数据传进行数据传送的方式基本一样,决定了送的方式基本一样,决定了I I2 2C C总线软件编写的一致性。总线软件编写的一致性。2022-10-62.I2C总线工作原理总线工作原理(1 1)I I2 2C C总线信号类型总线信号类型v开始信号:开始信号:SCLSCL为高电平时,为高电平时,SDASDA由高电平向低电平跳变,开由高电平向低电平跳变,开始传送数据。始传送数据。v结束信号:结束信号:SCLSCL为低电平时,为低电平时,SDASDA由
9、低电平向高电平跳变,结由低电平向高电平跳变,结束传送数据。束传送数据。v应答信号:应答信号:接收数据的器件在接收到接收数据的器件在接收到8bit8bit数据后,向发送数数据后,向发送数据的器件(发送器)发出特定的低电平脉冲,表示已收到数据的器件(发送器)发出特定的低电平脉冲,表示已收到数据。发送器接收到应答信号后,根据实际情况作出是否继续据。发送器接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为接收器出现传递信号的判断。若未收到应答信号,由判断为接收器出现故障。故障。起始信号与结束信号都是由主器件产生。起始信号与结束信号都是由主器件产生。2022-10-6(
10、2)I2C总线数据传输总线数据传输 v主器件和从器件都可以工作于接收和发送状态。主器件和从器件都可以工作于接收和发送状态。v总线必须由主器件(通常为单片机)控制,主器件产生串行总线必须由主器件(通常为单片机)控制,主器件产生串行时钟控制总线的传输方向,并产生起始和停止条件。时钟控制总线的传输方向,并产生起始和停止条件。v在起始信号结束后,主器件将发送一个用于选择从器件地址在起始信号结束后,主器件将发送一个用于选择从器件地址的的7 7位地址码和一个数据方向位(位地址码和一个数据方向位(R/WR/W),方向位为),方向位为“0”“0”表示表示主器件把数据写到所选择的从器件中,此时主器件作为发送主器
11、件把数据写到所选择的从器件中,此时主器件作为发送器,而从器件作为接收器;方向位为器,而从器件作为接收器;方向位为“1”“1”表示主器件从所选表示主器件从所选择的从器件中读取数据,此时主器件作为接收器,而从器件择的从器件中读取数据,此时主器件作为接收器,而从器件作为发送器。在寻址字节后是按指定读、写操作的数据字节作为发送器。在寻址字节后是按指定读、写操作的数据字节与应答位。在数据传送完成后主器件必须发送停止信号。与应答位。在数据传送完成后主器件必须发送停止信号。2022-10-66.1.3 单总线单总线v单总线(单总线(1-Wire1-Wire)是)是DallasDallas公司推出外围串行扩展
12、总线,公司推出外围串行扩展总线,采用单根信号线完成数据的双向传输。采用单根信号线完成数据的双向传输。v单总线技术有三个显著的特点:单总线技术有三个显著的特点:1.1.单总线芯片通过一根信号线进行地址信息、控制信息和数单总线芯片通过一根信号线进行地址信息、控制信息和数据信息的传送,并通过该信号线为单总线器件提供电源;据信息的传送,并通过该信号线为单总线器件提供电源;2.2.每个单总线芯片都具有全球唯一的访问序列号,当多个单每个单总线芯片都具有全球唯一的访问序列号,当多个单总线器件挂在同一单总线上时,对所有单总线芯片的访问总线器件挂在同一单总线上时,对所有单总线芯片的访问都通过该唯一序列号区分;都
13、通过该唯一序列号区分;3.3.单总线芯片在工作过程中,不需要提供外接电源,而通过单总线芯片在工作过程中,不需要提供外接电源,而通过它本身具有的它本身具有的“总线窃电总线窃电”技术从总线上窃取电源。技术从总线上窃取电源。2022-10-6图6.4 单总线多节点系统的示意图2022-10-66.1.4 Microwire串行总线串行总线vMicrowire总线是三线同步串行总线总线是三线同步串行总线时钟线(时钟线(SK)数据输入线(数据输入线(SI)数据输出线(数据输出线(SO)2022-10-66.2.1 X5045的基本功能的基本功能1.X5045基本功能基本功能上电复位上电复位看门狗看门狗低
14、电压检测低电压检测串行串行E2PROM存储器存储器6.2 串行串行E2PROM X5045接口扩展技术接口扩展技术2022-10-62.引脚排列与定义引脚排列与定义 图6.6 X5045的引脚分布 v :片选端。当为低电平时,片选端。当为低电平时,X5045工作。工作。vSO:串行数据输出端。串行数据输出端。v :写保护输入端。写保护输入端。vVss:电源地电源地 vSI:串行数据输入端。串行数据输入端。vSCK:串行时钟输入端。串行时钟输入端。vRESET:复位输出端。复位输出端。vVcc:电源电压。电源电压。CSWp2022-10-66.2.2 X5045的控制与实现 1.X5045操作指
15、令与寄存器操作指令与寄存器(1)X5045的指令集命令名称命令名称命令格式命令格式内内 容容WRSR0000 0001写状态寄存器(看门狗和块锁)写状态寄存器(看门狗和块锁)WRITE0000 A8010把数据写入所选地址的存储器阵把数据写入所选地址的存储器阵列(列(116字节)字节)READ0000 A8011从所选地址的存储器阵列开始读从所选地址的存储器阵列开始读出数据出数据WRDI0000 0100复位写使能锁存器(禁止写操作)复位写使能锁存器(禁止写操作)RDSR0000 0101读状态寄存器读状态寄存器WREN0000 0110设置写使能锁存器(允许写操作)设置写使能锁存器(允许写操
16、作)2022-10-6状态寄存器格式如下状态寄存器格式如下:7654321000WD1WD0BL1BL0WELWIPvWIP:是否忙于向:是否忙于向E2PROM写数据。写数据。“0”时表示没有写操作,可以写时表示没有写操作,可以写数据;数据;“1”时,表示正在写操作,此时不能向时,表示正在写操作,此时不能向E2PROM 写数据。写数据。vWEL:写使能锁存器的状态。为:写使能锁存器的状态。为“1”时表示写使能置位,为时表示写使能置位,为“0”时表时表示写使能复位。示写使能复位。vBL1,BL0:设置:设置E2PROM的块锁保护地址范围,它们的组合关系如表的块锁保护地址范围,它们的组合关系如表6
17、.3所列。所列。vWD1、WD0:看门狗定时器时状态,两位是可编程位。看门狗定时值:看门狗定时器时状态,两位是可编程位。看门狗定时值选择如表选择如表6.4所示。所示。(2)寄存器寄存器指令寄存器指令寄存器写使能寄存器写使能寄存器状态寄存器状态寄存器2022-10-6表表6.3 块锁保护选择块锁保护选择BL1BL0写保护的写保护的单元地址单元地址00没有保护没有保护01180H1FFH10100H1FFH11000H1FFH表表6.4 看门狗定时选择看门狗定时选择WD1WD0看门狗定时值看门狗定时值(典型值)(典型值)001.4s01600ms10200ms11禁止禁止看门狗工作看门狗工作202
18、2-10-62.X5045的读的读/写操作与时序写操作与时序(1)X5045的读操作与时序的读操作与时序v读存储器阵列读存储器阵列图6.7(a)读E2PROM阵列操作时序2022-10-6v读状态寄器读状态寄器时序时序图6.7(b)读状态寄存器操作时序 2022-10-6(2)X5045的写操作与时序 v写使能锁存器的操作时序写使能锁存器的操作时序图6.8(a)写使能锁存器操作时序2022-10-6v字节写操作时序字节写操作时序图6.8(b)字节写操作操作时序2022-10-6图6.8(c)写状态寄存器操作操作时序 v写状态寄存器操作时序写状态寄存器操作时序2022-10-66.3.3 MCS
19、-51单片机与单片机与X5045的接口电路的接口电路图6.9 X5045与单片机典型接口电路 2022-10-66.2.4 X5045应用软件设计实例应用软件设计实例v接口软件主要包括接口软件主要包括v以图以图6.9接口方式,下面给出接口方式,下面给出X5045与单片机的软件接口子与单片机的软件接口子程序。程序。芯片初始化芯片初始化子程序子程序设置使能锁存器设置使能锁存器子程序子程序复位写使能锁存器复位写使能锁存器子程序子程序写状态寄存器写状态寄存器子程序子程序读状态寄存器读状态寄存器子程序子程序字节写、字节读字节写、字节读子程序子程序页读、页写子程序页读、页写子程序复位看门狗定时器子程序复位
20、看门狗定时器子程序2022-10-6(1)初始化引脚、状态寄存器)初始化引脚、状态寄存器 及命令字节定义及命令字节定义 CSBIT P1.0;片选信号SI BIT P1.1;串行数据输入SCK BIT P1.2;串行时钟输入SO BIT P1.3;串行数据输出STATUS_REG EQU 00H;赋状态寄存器初始值READ_INST EQU 03H;READ指令WRITE_INST EQU 02H;WRITE指令RDSR_INST EQU 05H;RDSR指令WREN_INST EQU 06H;WREN指令WRSR_INST EQU 01H;WRSR指令WRDI_INST EQU 04H;WR
21、DI指令命命令令名名称称命令命令格式格式内内 容容WRSR0000 0001写状态寄存器写状态寄存器(看门狗和块锁)(看门狗和块锁)WRITE0000 A8010把数据写入所选把数据写入所选地址的存储器阵地址的存储器阵列(列(116字节)字节)READ0000 A8011从所选地址的存从所选地址的存储器阵列开始读储器阵列开始读出数据出数据WRDI0000 0100复位写使能锁存复位写使能锁存器(禁止写操作)器(禁止写操作)RDSR0000 0101读状态寄存器读状态寄存器WREN0000 0110设置写使能锁存设置写使能锁存器(允许写操作)器(允许写操作)2022-10-6(2)子程序名称:)
22、子程序名称:OUTBYT【功能】:【功能】:向向X5045 E2PROM写入写入8地址或数据,高位在前,地址或数据,高位在前,低位在后。低位在后。【入口参数】:【入口参数】:欲写内容在欲写内容在A中中 OUTBYT:MOV R7,#08H;置循环次数;置循环次数8OUTBYT1:CLR SCKRLC A;ACC的最高位送的最高位送CyMOV SI,C;Cy送送 X5045的的SISETB SCKDJNZ R7,OUTBYT1;循环;循环8次次CLR SCKRET 2022-10-6(3)子程序名称:)子程序名称:INBYT【功能】:【功能】:从从X5045 E2PROM中读出中读出8位数据,高
23、位在前,低位数据,高位在前,低位在后。位在后。【出口参数】【出口参数】:A的内容为读出的的内容为读出的8位数据位数据INBYT:MOV R7,#08H;置循环次数;置循环次数8INBYT1:STEB SCK CLR SCK;SCK的下降沿数据出现在的下降沿数据出现在SO端端 MOV C,SO;数据输出端的数据送入;数据输出端的数据送入C中中 RLC ADJNZ R7,INBYT1 RET 2022-10-6(4)子程序名称:)子程序名称:WREN【功能】【功能】:写使能锁存器,使:写使能锁存器,使E2PROM或状态寄存器可写。或状态寄存器可写。WREN:LCALL STAX;启动启动X5045
24、操作操作 MOV A,#WREN_INST LCALL OUTBYT;发送发送WREN指令指令 LCALL ENDX;结束结束X5045操作操作 RET(5)子程序名称:)子程序名称:WRDI【功能】【功能】:复位写使能锁存器,禁止写:复位写使能锁存器,禁止写E2PROM或状态寄存器。或状态寄存器。WRDI:LCALL STAXMOV A,#WRDI_INSTLCALL OUTBYT;发送;发送WRDI指令指令LCALL ENDXRET 2022-10-6(6)子程序名称:)子程序名称:WRSR【功能】:对状态寄存器中位【功能】:对状态寄存器中位BLI、BL0、WD1、WD0进行设置。进行设置
25、。【入口参数】:【入口参数】:A中是要写入状态寄存器值中是要写入状态寄存器值WRSR:LCALL STAX MOV A,#WRSR_INST;送送WRSR指令指令(写状态寄存器写状态寄存器01)LCALL OUTBYTE MOV A,#STATUS_REG;送状态寄存器值送状态寄存器值(00)LCALL OUTBYTE LCALL ENDX LCALL WIP_CHK ;等待等待WIP=0,检查写操检查写操 ;作是否完成作是否完成 RET2022-10-6(7)子程序名称:)子程序名称:RDSR【功能】【功能】:读出状态寄存器当前值。:读出状态寄存器当前值。【出口参数】【出口参数】:状态寄存器
展开阅读全文