版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章MCS-51单片机系统的扩展技术
主要内容:MCS-51单片机系统扩展的基本原理和方法。常用器件的选择和应用,常用总线标准和典型接口电路。要求学生掌握单片机系统扩展的原理、方法,并能根据工程要求进行系统扩展。重点在于常用器件的选择和应用,常用总线标准和典型接口电路,单片机系统扩展的基本原理和方法。难点在于存储器地址重叠,灵活运用所学知识根据实际需要进行系统扩展。。第4章MCS-51单片机系统的扩展技术主要内容:MCS14.1MCS-51单片机系统扩展概述
系统扩展是指为加强单片机某方面功能,在最小应用系统基础上,增加一些外围功能部件而进行的扩充。4.1.1MCS-51系列单片机的外部扩展原理
1.MCS-51系列单片机的片外总线结构
MCS-51系列单片机具有很强的外部扩展功能。其外部扩展都是通过三总线进行的。
(1)地址总线(AB)
地址总线用于传送单片机输出的地址信号,宽度为16位,P0口经锁存器提供低8位地址,锁存信号是由CPU的ALE引脚提供的;P2口提供高8位地址。(2)数据总线(DB)
数据总线是由P0口提供的,宽度为8位。4.1MCS-51单片机系统扩展概述系2(3)控制总线(CB)
控制总线实际上是CPU输出的一组控制信号。
MCS-51单片机通过三总线扩展外部设备的总体结构图如下图所示。(3)控制总线(CB)32.MCS-51系列单片机系统的扩展能力
片外可扩展存储器的最大容量为216=64KB,地址范围为0000H~FFFFH。允许片外程序存储器和数据存储器的地址重叠。I/O接口的编址方法:一种是独立编址,另一种是统一编址。MCS-51单片机采用了统一编址方式,即I/O端口地址与外部数据存储单元地址共同使用0000H~FFFFH(64KB)。当MCS-51单片机应用统扩展较多外部设备和I/O接口时,要占去大量的数据存储器的地址。2.MCS-51系列单片机系统的扩展能力片44.1.2MCS-51单片机系统地址空间的分配
系统空间分配:通过适当的地址线产生各外部扩展器件的片选/使能等信号就是系统空间分配。
编址:编址就是利用系统提供的地址总线,通过适当的连接,实现一个编址惟一地对应系统中的一个外围芯片的过程。编址就是研究即系统地址空间的分配问题。片内寻址:若某芯片内部还有多个可寻址单元,则称为片内寻址。编址的方法:芯片的选择是由系统的高位地址线通过译码实现的,片内寻址直接由系统低位地址信息确定。
产生外围芯片片选信号的方法有三种:线选法、全地址译码法和部分译码法。4.1.2MCS-51单片机系统地址空间的分配系统5
线选法:直接以系统空闲的高位地址线作为芯片的片选信号。优点是简单明了,无须另外增加电路,缺点是寻址范围不惟一,地址空间没有被充分利用,可外扩的芯片的个数较少。线选法适用于小规模单片机应用系统中片选信号的产生。2.全地址译码法全地址译码法:利用译码器对系统地址总线中未被外扩芯片用到的高位地址线进行译码,以译码器的输出作为外围芯片的片选信号。常用的译码器有:74LS139,74LS138,74LS154等。优点是存储器的每个存储单元只有惟一的一个系统空间地址,不存在地址重叠现象;对存储空间的使用是连续的,能有效地利用系统的存储空间。缺点是所需地址译码电路较多,。全地址译码法是单片机应用系统设计中经常采用的方法。1.线选法
线选法:直接以系统空闲的高位地址线作为芯片的片选信号。63.部分地址译码法
部分地址译码法:单片机的未被外扩芯片用到的高位地址线中,只有一部分参与地址译码,其余部分是悬空的。优点是可以减少所用地址译码器的数量。缺点是存储器每个存储单元的地址不是惟一的,存在地址重叠现象。因此,采用部分地址译码法时必须把程序和数据存放在基本地址范围内,以避免因地址重叠引起程序运行的错误。3.部分地址译码法74.2存储器的扩展
存储器是计算机系统中的记忆装置,用来存放要运行的程序和程序运行所需要的数据。单片机系统扩展的存储器通常使用半导体存储器,根据用途可以分为程序存储器(一般用ROM)和数据存储器(一般用RAM)两种类型。MCS-51单片机对外部存储器的扩展应考虑的问题:
(1)选择合适类型的存储器芯片
只读存储器(ROM)常用于固化程序和常数,可分为掩膜ROM、可编程PROM、紫外线可擦除EPROM和电可擦除E2PROM几种。若所设计的系统是小批量生产或开发产品,则建议使用EPROM和E2PROM;若为成熟的大批量产品,则应采用PROM或掩膜ROM。随机存取存储器(RAM)常用来存取实时数据、变量和运算结果。可分为静态RAM(SRAM)和动态RAM(DRAM)两类。若所用的RAM容量较小或要求较高的存取速度,则宜采用SRAM;若所用的RAM容量较大或要求低功耗,则应采用DRAM,以降低成本。此外,还可以选择OTPROM、Flash存储器、FRAM、NVSRAM、用于多处理机系统的DSRAM(双端口RAM)等。4.2存储器的扩展存储器是计算机系统中的8(2)工作速度匹配
MCS-51的访存时间(单片机对外部存储器进行读写所需要的时间)必须大于所用外部存储器的最大存取时间(存储器的最大存取时间是存储器固有的时间)(3)选择合适的存储容量
在MCS-51应用系统所需存储容量不变的前提下,若所选存储器本身存储容量越大,则所用芯片数量就越少,所需的地址译码电路就越简单。(4)合理分配存储器地址空间的分配
存储器的地址空间的分配必须满足存储器本身的存储容量,否则会造成存储器硬件资源的浪费。(5)合理选择地址译码方式
可根据实际应用系统的具体情况选择线选法、全地址译码法、部分地址译码法等地址译码方式。(2)工作速度匹配94.2.1程序存储器扩展
单片机内部没有ROM,或虽有ROM但容量太小时,必须扩展外部程序存储器方能工作。最常用的ROM器件是EPROM。
1.常用EPROM程序存储器
EPROM主要是27系列芯片,如:2764(8K)/27128(16K)/27256(32K)/27040(512K)等,一般选择8KB以上的芯片作为外部程序存储器。其引脚图如下图所示。4.2.1程序存储器扩展单片机内部没有ROM10引脚符号的含义和功能如下:D7~D0:三态数据总线;A0~Ai:地址输入线,i=12~15。2764的地址线为13位,i=12;27512的地址线为16位,i=15;
:片选信号输入线;
:输出允许输入线;VPP:编程电源输入线;
:编程脉冲输入线;VCC:电源;GND:接地;NC:空引脚。引脚符号的含义和功能如下:11
2732~27512芯片的读、维持操作方式各引脚的状态如下表所示。2732~27512芯片的读、维持操作方式各引脚的状122.地址锁存器
程序存储器扩展时,还需要地址锁存器,地址锁存器常用的有带三态缓冲输出的8D锁存器74LS373、带有清除端的74LS273。74LS373是带有三态门的8D锁存器,当三态门的使能信号线为低电平时,三态门处于导通状态,允许锁存器输出,锁存控制端为11脚LE,采用下降沿锁存,控制端可以直接与CPU的地址锁存控制信号ALE相连。74LS273是带有清除端的8D触发器,只有在清除端保持高电平时,才具有锁存功能,锁存控制端为11脚CLK,采用上升沿锁存。CPU的ALE信号必须经过反相器反相之后才能与74LS273的控制端CLK端相连。地址锁存器使用74LS373较多。引脚图如下页图所示。与8051连接电路如下页图所示。2.地址锁存器程序存储器扩展时,还需要地址13MCS-51单片机系统的扩展技术课件143.典型扩展电路
MCS-51外扩存储器时应考虑锁存器的选择与连接,译码方式,存储器的选择与连接。访问程序存储器的控制信号有:ALE----地址锁存信号PSEN----片外程序存储器读信号EA----片内、外程序存储器访问选择信号EA=0:访问片外;EA=1:访问片内。8051扩展2764的电路连接方法:数据线:P0口接EPROM的D0~D7;地址线:
2764容量为8KB,213=8KB,需要A0~A12共13根地址线。P0口经地址锁存器后接EPROM的A0~A7;
为了与片内存储器的空间地址衔接,P2.0~P2.3接EPROM的A8~A11,
P2.4经非门后与A12连接。控制线:ALE接373的LE,PSEN接EPROM的OE,EA接VCC,只有一片EPROM,片选CE接地。3.典型扩展电路MCS-51外扩存储器时应15扩展电路如下:
2764的地址范围为:1000H~2FFFH。8051片内存储器的范围为:0000H~0FFFH。扩展电路如下:2764的地址范围为:1000164.超出64KB容量程序存储器的扩展
MCS-51单片机提供16位地址线,可直接访问程序存储器的空间为64KB(216),若系统的程序总容量需求超过64KB,可以采用区选法来实现。单片机系统的程序存储器每个区为64KB,由系统直接访问,区与区之间的转换通过控制线的方式来实现。如下图所示为系统扩展128KB程序存储空间(2×64KB)示意图。P1.0输出高电平,访问A芯片;P1.0输出低电平,访问B芯片。4.超出64KB容量程序存储器的扩展M174.2.2数据存储器扩展
单片机内部的RAM为128B(或256B),有的单片机应用系统需要扩展外部数据存储器RAM(如数据采集系统数据量较大,需要专设RAM或FlashRAM)。最常用的RAM器件是静态RAM(SRAM)。1.常用静态RAM存储器
常用的SRAM有6116(2K)、6264(8K)、62128(16K)、62256(32K)、628128(128K)等。一般选择8KB以上的芯片作为外部程序存储器。其引脚图如下页图所示。4.2.2数据存储器扩展单片机内部的R18引脚符号的含义和功能如下:D7~D0:双向三态数据总线;A0~Ai:地址输入线i=10(6116芯片),i=12(6264芯片),i=14(62256芯片);():片选信号输入端,低电平有效;CS2:片选信号输入端,高电平有效(仅6264芯片有);:读选通信号输入线,低电平有效;:写选通信号输入线,低电平有效;Vcc:电源+5V;GND:地。引脚符号的含义和功能如下:19
静态RAM存储器有三种工作方式:数据的读出、写入和维持,其操作控制如下表所示。静态RAM存储器有三种工作方式:数据的读出、写入和维20MCS-51扩展数据存储器与扩展程序存储器电路的异同:(1)所用的地址总线,数据总线完全相同;(2)读/写控制线不同:扩展程序存储器的读选通信号由PSEN控制,扩展数据存储器的读、写控制线用RD、WR分别控制存储器芯片的OE和WE;(3)数据存储器与程序存储器的地址可以重叠,因为扩展它们的控制信号不同。(4)I/O扩展的地址空间与数据存储器扩展的空间是共用的,所以扩展数据存储器涉及到的问题远比扩展程序存储器扩展多。
MCS-51扩展数据存储器与扩展程序存储器电路的异同:212.数据存储器典型扩展电路
MCS-51扩展6264的电路连接方法:数据线:P0口接RAM的D0~D7;地址线:
6264容量为8KB,213=8KB,需要A0~A12共13根地址线。P0口经地址锁存器后接RAM的A0~A7;
P2.0~P2.4接RAM的A8~A12。控制线:ALE接373的LE,RD接RAM的OE、WR接RAM的WE,只有一片EPROM,且系统无其他I/O接口及外围设备扩展,片选CE可以接地。扩展电路如下页图所示。2.数据存储器典型扩展电路MCS-51扩展6264的电路连226264的地址范围为:0000H~1FFFH。6264的地址范围为:0000H~1FFFH。23[例题]
在上页图的数据存储器扩展电路中,将片内RAM以50H单元开始的16个数据,传送片外数据存储器0000H开始的单元中。程序如下:
ORG1000H MOVR0,#50H ;数据指针指向片内50H单元 MOVR7,#16 ;待传送数据个数送计数寄存器 MOVDPTR,#0000H ;数据指针指向数据存储器6264的0000H单元AGAIN:MOVA,@R0 ;片内待输出的数据送累加器A MOVX@DPTR,A ;数据输出至数据存储器6264 INCR0 INCDPTR;修改数据指针 DJNZR7,AGAIN ;判断数据是否传送完成 RET END [例题]在上页图的数据存储器扩展电路中,将片内RAM以5244.2.3MCS-51对外部存储器的扩展
下图所示的8031扩展系统中,外扩了16KB程序存储器(使用两片2764芯片)和8KB数据存储器(使用一片6264芯片)。采用全地址译码方式,P2.7用于控制2―4译码器的工作,P2.6,P2.5参加译码,且无悬空地址线,无地址重叠现象。1#2764,2#2764,3#6264的地址范围分别为:0000H~1FFFH,2000H~3FFFH,4000~5FFFH。4.2.3MCS-51对外部存储器的扩展254.2.4程序存储空间和数据存储空间的混合
在硬件结构上将信号和信号相“与”后连接到RAM芯片的读选通端,这样就能使程序存储空间和数据存储空间混合。如右图所示。将程序装入6264中,很容易进行读写修改,执行程序时,由信号选通RAM读出。调试通过后,再将RAM6264调换成EPROM2764。4.2.4程序存储空间和数据存储空间的混合264.3并行I/O口的扩展
MCS-51单片机具有四个并行8位I/O口(即P0,P1,P2,P3),原理上这四个I/O口均可用做双向并行I/O接口,但在实际应用中,可提供给用户使用的I/O口只有P1口和部分P3口线及作为数据总线用的P0口。,在单片机的I/O口线不够用的情况下,可以借助外部器件对I/O口进行扩展。可资选用的器件很多,方案也有多种。4.3.1概述
1.单片机I/O口扩展方法
并行I/O口扩展的目的:为外围设备提供一个输入输出通道。(1)并行总线扩展的方法(2)串行口扩展方法(3)I/O端口模拟串行方法这里只介绍总线扩展方式下I/O接口的扩展方法。
4.3并行I/O口的扩展M272.MCS-51单片机扩展并行I/O口的扩展性能①访问扩展I/O口的方法与访问数据存储器完全相同,使用相同的指令,所有扩展的I/O口与片外数据存储器统一编址。②利用串行口扩展法扩展的外部并行I/O口不占用外部RAM地址空间。③利用并行总线扩展的方法扩展外部并行I/O口时,必须注意P0,P2,P3口的负载问题,若负载能力不够,必须进行总线驱动能力扩展。④扩展外部并行I/O口对外设的硬件具有依赖性(驱动功率、电平匹配、干扰抑制、隔离等)。2.MCS-51单片机扩展并行I/O口的扩展性能284.3.2普通并行I/O口扩展
普通并行I/O口在扩展时,它们的选通端或时钟信号端要与地址线和控制线的逻辑组合输出端相连。其特点是电路简单、成本低、配置灵活方便等特点,应用广泛。
1.扩展并行输出口
(1)用74LS377扩展并行输出口
74LS377是带有输出允许端的8D锁存器,硬件电路如右图所示。
程序如下:MOVDPTR,#7FFFH ;数据指针指向74LS377MOVA,60H ;输出的60H单元数据送累加器AMOVX@DPTR,A ;P0口将数据通过74LS377输出
4.3.2普通并行I/O口扩展普通并行29(2)用74LS374扩展并行输出口
74LS374是具有三态输出的8D边沿触发器,与单片机接口电路如下图所示,74LS374的地址为7FFFH。程序如下:
MOVDPTR,#7FFFHMOVA,60H MOVX@DPTR,A
(2)用74LS374扩展并行输出口程序如下:302.扩展并行输入口
用单向总线缓冲器74LS244扩展并行输入口,硬件电路如下图所示。74LS244的地址为7FFFH。程序如下:MOVDPTR,#7FFFH ;数据指针指向74LS244MOVXA,@DPTR ;外部数据经过74LS244送入累加器AMOV61H,A ;数据送61H单元保存
2.扩展并行输入口314.3.3可编程并行I/O接口芯片扩展
可编程I/O接口芯片的特点:适应多种功能需求,使用灵活,可扩展多个并行I/O口,可以编程设定为输入或输出口,应用非常广泛。
1.可编程并行口8255A芯片
Intel8255A芯片是通用可编程并行接口电路,广泛应用于单片机扩展并行I/O口。它具有3个8位并行口PA,PB和PC,一个8位的数据口D0~D7,PC口分高4位和低4位。高4位可与PA口合为一组(A组),低4位可与PB口合为一组(B组),PC口可按位置位/复位。40条引脚,DIP封装。引脚图如右图所示。4.3.3可编程并行I/O接口芯片扩展32
(1)8255A的3种工作方式方式0(基本输入/输出方式):不需要任何选通信号,适合于无条件传输数据的设备,数据输出有锁存功能,数据输入有缓冲(无锁存)功能。方式1(选通输入/输出方式):A组包括A口和C口的高四位(PC7~PC4),A口可由程序设定为输入口或输出口,C口的高四位则用来作为输入/输出操作的控制和同步信号;B组包括B口和C口的低四位(PC3~PC0),功能和A组相同。方式2(双向I/O口方式):仅A口有这种工作方式,B口无此工作方式。此方式下,A口为8位双向I/O口,C口的PC7~PC3用来作为输入输出的控制和同步信号。此时,B口可以工作在方式0或方式1。(1)8255A的3种工作方式33
8255A在不同的工作方式下,各口线的功能如下表所示。
8255A在不同的工作方式下,各口线的功能如34(2)8255A的控制操作状态
8255A芯片的工作方式是通过地址线A1,A0选择端口、通过读写控制逻辑的组合状态来实现的。其操作状态如下表所示。
(2)8255A的控制操作状态35(3)8255A芯片的控制字
8255A芯片的初始化编程是通过对控制口写入控制字的方式实现的。方式控制字:字控制8255A芯片三个端口的工作方式,特征是最高位为1。如下图所示。(3)8255A芯片的控制字36
C口的按位置位/复位控制字:C口具有位操作能力,其每一位都可以通过软件设置为置位或复位。其特征是最高位为0。格式如下图所示。C口的按位置位/复位控制字:C口具有位操作37(4)接口与编程方法
MCS-51单片机外扩8255A芯片的电路原理图如下图所示。8255A芯片内部已有数据总线驱动器,可以直接与MCS-51单片机总线相连接(P0口接D0~D7)。8255A的RESET,,分别与MCS-51单片机的RESET,,相连,接P2.7,单片机地址线最低2位分别接8255A芯片的A1,A0。PA,PB,PC及控制寄存器的地址分别是7FFCH,7FFDH,7FFEH和7FFFH。(4)接口与编程方法MCS-51单片机外扩38[例题]如图上页所示,假设8255A芯片的PA接一组8只状态指示灯,PB接一组8个开关,现须将开关闭合的状态输入到片内60H单元保存,将70H单元的内容送状态指示灯显示,并置位PC7引脚,编写相应程序。解:根据题意,设置8255A的A口方式0输出,B口方式0输入,C口高四位输出,则8255A的方式字为82H(10000010B),C口置位/复位字为0FH(00001111B),8255A的方式字及置位/复位控制字地址为7FFFH。初始化过程及输入/输出的程序如下:
ORG1000H DSP8255:MOVDPTR,#7FFFH;数据指针指向8255A控制口 MOVA,#82H MOVX@DPTR,A ;工作方式字送8255A控制口 MOVA,#0FH MOVX@DPTR,A ;C口置位/复位字送8255A控制口 MOVDPTR,#7FFDH ;数据指针指向8255A的B口 MOVXA,@DPTR MOV60H,A ;将B口开关状态送入60H单元 MOVDPTR,#7FFCH ;数据指针指向8255A的A口 MOVA,70H MOVX@DPTR,A ;70H单元内容A口指示灯显示 RET END[例题]如图上页所示,假设8255A芯片的PA接一组8只状态392.RAM/IO扩展芯片8155
(1)功能与引脚
8155芯片内具有256B的静态RAM,2个8位可编程并行I/O口PA、PB,1个6位可编程并行I/O口PC,1个14位计数器。其特点是接口简单、内部资源丰富、应用广泛。引脚图如右图所示。。2.RAM/IO扩展芯片8155(1)功能与引脚40(2)8155芯片的RAM和I/O地址编码
8155的I/O端口及RAM地址在单片机应用系统中与外部数据存储器是统一编址的,其控制操作如左下表所示,对应I/O口寄存器的地址编码如右下表所示。(2)8155芯片的RAM和I/O地址编码41(3)命令/状态寄存器
8155芯片的命令/状态寄存器物理上只有一个端口地址,对该端口写操作,命令字被写入命令寄存器;对该端口读操作,则从状态寄存器读出状态字。8155的命令字格式如下图所示。
(3)命令/状态寄存器428155的状态字格式如下图所示。
8155有2种工作方式:基本I/O和选通I/O。8155的状态字格式如下图所示。815543(4)定时器/计数器
8155芯片内有一个14位的减法计数器,可对输入脉冲进行减法计数,它可以在0002H~3FFFH之间选择计数器初值,TIMERIN为定时器时钟输入引脚,TIMEROUT为定时器输出引脚,可输出方波、脉冲等信号。定时器的计数单元和工作方式由8155内部两个寄存器确定。格式如下图所示。其中,高字节寄存器的最高两位M2,M1用于设定定时器/计数器的工作方式。
(4)定时器/计数器44M2,M1定义定时/计数器从TIMEROUT输出信号的形式:
M2,M1=00输出单个方波M2,M1=01输出连续方波M2,M1=01输出单个脉冲M2,M1=01输出连续脉冲计数开始计数结束常常用作分频器(自动重装初值)常常用作分频器(自动重装初值)负脉冲宽度约等于输入TI的时钟周期单方波宽度约等于初值的一半M2,M1定义定时/计数器从TIMEROUT输出信号的形式45定时器/计数器的使用(初始化):
①对(04H)(05H)寄存器装入14位初值和输出信号形式。14位初值的范围是2—3FFFH。②启动定时器/计数器。即对命令/状态字寄存器(00H)的最高两位M2,M1写入“11”。如果定时器/计数器在运行中要改换新的时间常数,必须先装入③新的初值,然后再发送一次启动命令,即写入:M2,M1=11。注意:8155定时器/计数器的最小初值为2。分频应用时,初值若为偶数,则输出等占空比方波;若为奇数,则正半周多一个脉冲周期。定时器/计数器的使用(初始化):46(5)接口与编程
8155芯片可以直接与MCS-51单片机连接,不需要任何外加逻辑电路,扩展一片8155系统可以增加256B片外RAM、22位I/O口线及一个14位减法计数器,MCS-51与8155芯片的连接电路如下图所示。(5)接口与编程8155芯片可以直接与MCS-547上页图中RAM和各端口的地址为:RAM字节地址范围:7E00H~7EFFH;命令/状态寄存器:7F00H;PA口:7F01H;PB口:7F02H;PC口:7F03H;定时器低8位寄存器:7F04H;定时器高8位寄存器:7F05H。[例题]
在上页图中,将单片机片内RAM40H~4FH单元的内容,送8155芯片内的00H~0FH单元,并设定8155芯片的工作方式为:A口基本输入方式,B口基本输出方式,C口输入方式,定时器作为方波发生器,对输入脉冲100分频。
解:程序如下:ORG1000H MOVR0,40H ;CPU片内RAM40H单元地址指针送R0 MOVDPTR,#7E00H ;数据指针指向8155内部RAM单元上页图中RAM和各端口的地址为:48LP: MOVA,@R0 ;数据送累加器A MOVX@DPTR,A ;数据从累加器A送8155内部RAM单元 INCDPTR ;指向下一个8155内部RAM单元 INCR0 ;指向下一个CPU内部RAM单元 CJNER0,#50H,LP ;数据未传送完返回 MOVDPTR,#7F04H ;指向定时器低8位 MOVA,#64H ;分频系数(64)16=(100)10 MOVX@DPTR,A ;低8位初值装入 INCDPTR ;指向定时器高8位 MOVA,#40H ;设定时器方式为连续方波(40H=01000000B) MOVX@DPTR,A ;定时器/计数器方式及高6位初值装入 MOVDPTR,#7F00H ;数据指针指向控制字寄存器 MOVA,#0C2H ;设定A,B,C口方式 MOVX@DPTR,A ;启动定时器(0C2H=11000010B) RET END LP: MOVA,@R0 ;数据送累加器A49
4.3.4可编程逻辑器件(PLD)扩展
在功能上,单片机与大规模CPLD(ComplexProgrammableLogicDevice,复杂可编程逻辑器件)有很强的互补性。CPLD/FPGA(FieldProgrammableGateArray,现场可编程门阵列)具有高速、高可靠及开发便捷、规范等优点。以此两类器件相结合的电路结构在许多高性能仪器仪表和电子产品中被广泛应用。
单片机与CPLD/FPGA的接口方式有以下两种:
总线方式:MCS-51单片机按外部总线时序与CPLD/FPGA进行数据与控制信息通信。其特点是速度快,节省CPLD芯片的I/O口线,单片机编程简捷,控制可靠,易于扩展SRAM或ROM(通过CPLD/FPGA中的逻辑切换)。8051单片机与CPLD/FPGA之间的连接图如下页图所示。4.3.4可编程逻辑器件(PLD)扩展在功50MCS-51单片机系统的扩展技术课件51
MCS-51以总线方式工作,CPLD/FPGA与MCS-51系列单片机接口采用VHDL电路设计,其总线接口逻辑的外部接口如下图所示。
由8031将数据#5AH写入目标器件中的第一个寄存器LATCH_OUT1的指令是:
MOVA,#5AHMOVDPTR,#6FF5HMOVX@DPTR,AMCS-51以总线方式工作,CPLD/FPGA与52独立方式:MCS-51单片机与CPLD/FPGA之间各自相对独立地完成自己的通信功能。其特点是CPLD/FPGA中的接口逻辑无需遵循单片机内固定总线方式的读/写时序。CPLD/FPGA的逻辑设计与接口和单片机程序设计可以分先后相对独立地完成,接口设计方法比较简单。通信的时序方式可由所设计的软件自由决定,形式灵活多样。几乎所有单片机都能以独立接口方式与CPLD/FPGA进行通信。独立方式:MCS-51单片机与CPLD/FPGA之间各自相对534.4时钟芯片的扩展
实现实时时钟的方法:(1)软件时钟:由软件计时实现。其特点是硬件开销小、成本低、外围电路简单、占用CPU的时间、计时精度低、走时误差较大。(2)硬件时钟:由硬件时钟芯片实现,其特点是计时精确,不占用CPU资源,扩展电路简单。在单片机系统中应用较为广泛。
(3)GPS时钟:由全球卫星定位系统提供。其特点是精度高,成本高。4.4时钟芯片的扩展实现实时时钟的方法:541.DS1302
DS1302是美国达拉斯(Dallas)半导体公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿功能。采用三线串行数据传输接口与CPU进行同步通信,内部有一个31B的高速RAM,工作电压范围为2.5~5.5V。2.MC146818
MC146818是Motorola公司生产的时钟芯片。它支持时间(时、分、秒),也支持日期(世纪、年、月、日、星期)及闰月的自动调整。工作电流小(几A)。内部有64B的RAM,可设定报警时间(日、时、分、秒)并在报警时间到时产生中断。4.4.1时钟芯片概述
1.DS13024.4.1时钟芯片概述553.M41T50/60/65
M41T50/60/65STM公司的实时时钟产品,具有尺寸小、功耗低(电源电压为3.0V时,工作电流为350A,待机电流小于650nA)等特点。可通过I2C串行总线提供从秒到世纪的数据和时间信息,自动实现闰年调整。总线工作电压为1.3~3.6V。尤其适用于电池操作和便携式应用,也适用于工业系统、医学及大型家用电器。4.X1203
X1203是一个带时钟/日历和两个闹钟(报警)的实时时钟芯片。内含双端口时钟和报警器寄存器,能以秒、分、时、日、星期、月和年为单位跟踪时间,具有闰年校正功能。其电压为2.5~6V。此外,DS12887是实时日历时钟芯片,DS1644-120是非易失性时钟芯片,DS1387是带有看门狗的时钟芯片,M6242B是直接与CPU总线连接的定时时钟/日历芯片,PCF8563P是宽电压I2C接口实时时钟/日历芯片等等。3.M41T50/60/65564.4.2DS12C887的结构及工作原理
DS12C887是美国Dallas公司生产的实时日历时钟芯片,采用CMOS技术,与MC146818B和DS1287管脚兼容,特点如下:(1)具有秒、分、时、星期、日、月、年计数功能,有12小时制和24小时制两种模式。(2)可实现闰年调整。时间可用二进制数和BCD码表示。(3)内部有128字节RAM,其数据具有掉电保护功能。(4)可以选择Motorola和Intel总线时序。通过编程可实现多种方波输出。(5)工作电压为4.5~5.5V,工作电流为7~15mA。在断电情况下运行十年以上不丢失数据。(6)功耗低、外围接口简单、精度高、工作稳定可靠,可广泛用于各种需要较高精度的实时时钟场合中。4.4.2DS12C887的结构及工作原理571.DS12C887的基本组成及引脚
组成:石英晶体振荡器、锂电池、总线接口、控制寄存器A~D、实时时钟、日历时钟、报警时钟、方波电路和用户RAM等。24脚DIP封装,其引脚如下图所示。引脚的功能如下:MOT:模式选择(Motorola模式和Intel模式)。SQW:方波输出,通过对控制寄存器A编程,有13种方波信号的输出。AD0~AD7:地址/数据复用总线。AS:地址锁存。:写数据控制输入。:读数据控制输入。:片选信号输入线。:中断请求输出线。:复位输入线。NC:空引脚。1.DS12C887的基本组成及引脚组成:石英晶体振荡器582.DS12C887的状态控制寄存器
DS12C887状态控制寄存器及存储单元功能表如下表所示。2.DS12C887的状态控制寄存器D59(1)状态控制寄存器A(地址为xx0AH)控制寄存器A控制字的格式如下表所示。
其中:UIP位:更新周期标志位。DV0~DV2:芯片内部振荡器RTC控制位。RS3~RS0:周期性中断或可编程方波输出速率选择位。各种不同的组合可以产生不同的输出。
(1)状态控制寄存器A(地址为xx0AH)其中:60(2)控制寄存器B(地址为xx0BH)控制寄存器B控制字的格式如下表所示。
其中:SET位:更新周期/芯片停止工作选择位。PIE,AIE,UIE位:周期中断、报警中断、更新结束中断允许位。SQWE位:方波输出允许位。DM位:时标寄存器用十进制BCD码表示或用二进制表示格式选择位。24/12位:24/12小时模式设置位。DSE位:夏令时服务位。(2)控制寄存器B(地址为xx0BH)其中:61(2)控制寄存器C(地址为xx0CH)控制寄存器C控制字的格式如下表所示。
其中:IRQF位:中断申请标志位。PF,AF,UF位:周期中断、报警中断、更新结束中断标志位。以上四个标志位在程序读取状态控制寄存器C的内容后,或者引脚变有效时(低电平),自动清0。D0~D3位:保留标志位。(2)控制寄存器C(地址为xx0CH)其中:62(2)控制寄存器D(地址为xx0DH)控制寄存器D控制字的格式如下表所示。
控制寄存器D只有VRT位可用,该位用于指示芯片内锂电池的工作状态。正常时,VRT=1,锂电池耗尽时,VRT=0,此时读出的数据无效。该寄存器的其他各位均为厂家保留位,读出值始终为零,不允许用户向这些位写入数据。(2)控制寄存器D(地址为xx0DH)控制寄存器D只633.DS12C887的中断和更新周期
DS12C887处于正常工作状态时,每秒将产生一个更新周期。更新周期的基本功能为:(1)刷新各个时标寄存器的内容,同时,秒时标寄存器内容加1,并检查其他时标寄存器内容是否有溢出,如有溢出则相应的日、月、年进位。(2)检查时、分、秒报警时标寄存器的内容是否与对应时标寄存器的内容相符。避开更新周期内访问时标寄存器的方案:(1)利用更新周期结束发出的中断,提醒CPU将有998ms左右的时间去获取有效的数据。(2)利用寄存器A中的UIP位来指示芯片是否处于更新周期。在UIP位从低变高到244μs后,芯片将开始其更新周期,到UIP位为低电平时,则利用244μs的间隔时间去读取时标信息。
3.DS12C887的中断和更新周期644.4.3DS12C887与MCS-51的接口
由于DS12C887片内自带地址锁存器,故AD0~AD7与单片机处理器的P0口直接相连,将单片机的ALE信号连到DS12C887的AS引脚。其他的引脚与单片机的连接如下图所示。DS12C887内部存储器起始地址为7F00H,时间、日历及报警信息分别存储在7F00H~7F09H单元中,状态控制寄存器A~D的地址分别为:7F0AH,7F0BH,7F0CH,7F0DH。
4.4.3DS12C887与MCS-51的接口654.4.4DS12C887的应用举例
1.DS12C887的初始化设置(1)禁止芯片内部的更新周期操作(寄存器B中的SET位置1),(2)初始化时标参数寄存器(00H~09H单元)和状态寄存器A,(3)清除寄存器C中的PF、AF、UF标志位。(4)判断DS12C887内部锂电池的状态,决定片内的RAM内容是否可用。(5)状态寄存器B中的SET位置0,芯片开始计时工作。2.DS12C887的闹钟设置
DS12C887共有3个闹钟单元(时、分、秒),DS12C887根据用户对3个单元设定的初值能够提供两种闹钟报警方式。(1)每日一次报警。(2)固定间隔时间报警。3.DS12C887的初始化编程(见教材)4.4.4DS12C887的应用举例1.DS12C88664.5系统监控芯片的扩展
为了提高单片机应用系统的抗干扰性能,可外扩电源监控电路、看门狗、系统监控芯片等。电源监控电路:利用监控芯片及少量的外围元件组成的各种有效复位电路,能对电源异常情况进行监控。其特点是监控功能强,可靠性高,外围元件少,监控电路简单,体积小。“看门狗(Watchdog)”:在系统设计中通过软件或者硬件方式在一定的周期内监控单片机或者其他处理器的运行状况,如果在规定的时间内没有收到来自被监控单片机或者其他处理器的正确触发信号,则“看门狗”会强制系统复位,以保证系统在受到干扰时仍能够维持正常的工作状态。软件“看门狗”是利用单片机内部空闲的定时器/计数器实现的,其特点是无需外加硬件电路,但占用片内定时器/计数器资源。硬件“看门狗”是指集成在专用芯片或单片机内部的专用电路,该电路实际上是一种特殊的定时器。系统监控芯片(也称处理器监控芯片μP):可实现实时监控电源电压、看门狗定时输出、备份电池切换、系统复位等功能。
4.5系统监控芯片的扩展为了提高单片机应用系统674.5.1概述
1.MAX703~708/813/L系列
MAX703~708/813/L系列是美国美信(Maxim)公司推出的低价位微处理器监控芯片,具有看门狗定时器、自动和手动复位以及电压门限监测等功能。引脚图如下图所示。4.5.1概述1.MAX703~708/813/L系682.IMP705~708/813L系列
IMP705~708/813L系列CMOS微处理器监控器能实时监控电源、电池电压和微处理器的工作状态,可替换Maxim公司的MAX705/6/7/8及MAX813L。具有精确的电源监控、去抖动的手动复位输入、看门狗定时器(IMP705/706)、200ms复位脉冲宽度、高电平有效的复位输出(IMP707/708/813L)等。引脚图如下图所示。2.IMP705~708/813L系列693.SP705~708/813L/813M系列
SP705/706/707/708/813L/813M系列微处理器(μP)监控器,包含一个看门狗定时器,一个μP复位模块,一个供电失败比较器,及一个手动复位输入模块。可监测μP及数字系统中的供电情况。其特点是高精度电压监控器(4.65V),溢出周期为1.6s的独立看门狗定时器,复位脉冲宽度为200ms,具有开关式手动复位输入,支持对供电失败及低电池警告进行监控。引脚图如下图所示。4.带有串行E2PROM的微处理器监控器X25045
X25045是带有串行E2PROM的CPU监控器。它具有上电复位控制、电源电压监控、看门狗定时器等功能,片内含512字节存储单元的串行E2PROM。3.SP705~708/813L/813M系列4.带有704.5.2MAX692A的工作原理
特点:MAX692A是美国Maxim公司的系统监控芯片产品,具有后备电池切换、电源失效和电池低电压报警,掉电判断(低于4.4V将产生复位信号)、“看门狗”监控(定时时间为1.6s)等功能。工作电压:1.2V~5.5V,静态电流:200μA,备用电池方式静态电流:50μA。1.MAX692A引脚功能
DIP(双列直插式)或者SO(表面贴片)8引脚封装,引脚图如右图所示。
4.5.2MAX692A的工作原理特点:MAX692A71各引脚含义如下:VOUT:电源输出引脚,在正常情况下,IOUT=50mA,VOUT=(VCC0.5)~(VCC0.25)V之间;在备用电池模式下,IOUT=250μA,VOUT=(VBATT0.5)~(VBATT0.25)V。VCC:电源引脚,电压范围1.2~5.5V。GND:地。PFI:电源失效输入,当PFI低于1.25V时,引脚变低。
:电源失效输出,当PFI低于1.25V时,引脚变低,其他情况为高。WDI:“看门狗”输入。
:复位输出引脚。VBATT:备用电池电源输入。
各引脚含义如下:722.MAX692A工作原理
MAX692A由复位电路、看门狗电路、电压比较和备用电池切换电路四部分组成。复位电路:在微处理器上电、掉电及低压供电时,监控器发生复位脉冲信号。看门狗电路:定时时间为1.6s。若WDI脚输入一个脉冲,定时器开始计数,若在1.6s内不能向WDI端输入脉冲,监视器将输出一个复位信号。电压比较器:用于低电压检测。电池切换电路:在VBATT端接上电池,MAX692A会在VCC掉电时,自动切换到电池供电,为RAM提供电源。2.MAX692A工作原理MAX692A由复位电734.5.3MAX692A与MCS-51的接口
MAX692A自动监控MCS-51微处理器的典型电路如下页图所示。在电路设计中,应合理选择R1,R2的值,使得+5V电压跌落到某个电压值(如本设计中的4.5V),PFI的输入电压低于1.25V,导致输出低电平,作为单片机中断的输入信号,使单片机系统能够进行一些必要的处理(如保存某些重要数据等)。R1,R2选取的计算方法如下:
可取R1=10k,R2=26k。最好选取精度较高的金属膜电阻。当+5V电压跌落到4.5V时,VR=1.25V,电压如果继续跌落,便输出低电平,触发中断。复位按钮是为手动复位而设置的,在系统需要人为干预或者测试时使用,R4与C值的选择可按前述章节的方法进行。4.5.3MAX692A与MCS-51的接口M74MCS-51单片机系统的扩展技术课件754.5.4MAX692A的编程应用
为保证CPU在正常工作时,Watchdog定时器不产生复位信号,必须在1.6s内改变MAX692A的WDI引脚上输入电平,按照上页图的电路,WDI引脚的电平变化由MCS-51处理器的P1.0引脚控制,与Watchdog定时器有关的程序段如下:
ORG0000H LJMP MAIN ;转至主程序 ORG0050H MAIN: … ;初始化 SETBP1.0 CLRP1.0;在P1.0引脚上输出一个正脉冲,两个正脉冲之间…的时间间隔小于1.6sSETBP1.0 CLRP1.0 ;在P1.0引脚上输出一个正脉冲 … SETBP1.0 CLRP1.0 ;同上,与上个正脉冲间隔时间小于1.6s … LJMPMAIN END 4.5.4MAX692A的编程应用为保证CPU76
当MCS-51系统受到干扰而使处理器出现“死机”时,单片机将不能定期执行上述两条指令,则WDI引脚上也就不能定时输入脉冲,看门狗定时器会在1.6s后产生一个复位信号,使单片机复位。程序将会从0000H单元重新开始程序的执行,保证了系统的正常运转。当MCS-51系统受到干扰而使处理器出现“死机”时,774.6总线接口扩展
总线种类繁多,可分为局部总线、系统总线和通信总线。通信总线是系统之间或CPU与外设之间进行通信的一组信号线。通信总线接口按电气标准及协议来分包括RS-232,RS-422,RS-485,MODEM,USB,IEEE1394,Internet网络芯片等,它们在不同的领域得到了广泛的应用。这里主要介绍MCS-51单片机应用系统中常用的通信总线标准及接口。4.6.1EIARS-232C总线标准与接口电路
EIARS-232C是异步串行通信中应用最广泛的标准总线,是美国EIA(ElectronicIndustriesAssociation,电子工业联合会)开发公布的通信协议。适合于数据传输速率在0~20kb/s范围内的通信,包括了按位串行传输的电气和机械方面的规定。在微机通信接口中被广泛采用。4.6总线接口扩展总线种类繁多,可分为局部总线781.电气特性(1)采取不平衡传输方式,是为点对点(即只用一对收、发设备)通信而设计的;(2)采用负逻辑。(3)适用于传送距离不大于15m,速度不高于20kb/s的本地设备之间通信的场合。2.连接器(1)DB-25连接器
DB-25型连接器的外形及信号线分配如图右所示。25芯RS-232C接口具有20mA电流环接口功能,用9,11,18,25针来实现。1.电气特性2.连接器79(2)DB-9连接器DB-9连接器只提供异步通信的9个信号,其外形及信号线分配如图右所示。DB-25与DB-9型连接器的引脚分配信号完全不同。3.RS-232C的接口信号RS-232C标准接口有25条线,其中常用的有如下几条:DSR:数据装置准备好;DTR:数据终端准备好;RTS:请求发送;CTS:允许发送;DCD:接收线信号检出;RI:振铃指示;TXD:发送数据;RXD:接收数据;SGND、PGND:地线,SGND(信号地)、PGND(保护地)。(2)DB-9连接器3.RS-232C的接口信号804.电平转换
RS-232C采用负逻辑,为了能够同计算机接口或终端的TTL器件连接,必须在RS-232C与TTL电路之间进行电平和逻辑关系的变换。常用的转换器件有MC1488,SN75150(TTL电平到EIA电平的转换),MC1489,SN75154(EIA电平到TTL电平的转换),MAX232(完成TTL到EIA的双向电平转换)。
MAX232芯片是Maxim公司生产的低功耗、单电源、双RS-232发送/接收器,可实现TTL到EIA的双向电平转换。其引脚排列如下图所示。4.电平转换MAX232芯片是Maxim公81
5.EIARS-232C与单片机系统的接口
RS-232C与单片机系统的接口电路如图下所示。MAX232外围的4个电解电容Cl,C2,C3,C4,是内部电源转换所需电容,其取值均为1F/25V,C5为0.1F的去耦电容。MAX232的引脚T1IN,T2IN,R1OUT,R2OUT为接TTL/CMOS电平的引脚,引脚T1OUT,T2OUT,R1IN,R2IN为接RS-232C电平的引脚。
所以,T1IN,T2IN引脚应与MCS-51的串行发送引脚TXD相连接。R1OUT,R2OUT应与MCS-51的串行接收引脚RXD相连接。T1OUT,T2OUT应与PC机的接收端RD相连接。R1IN,R2IN应与PC的发送端TD相连接。5.EIARS-232C与单片机系统的接口所以824.6.2RS-422/RS-485总线标准与接口电路
采用RS-232C标准进行通信,负载能力差,通信范围小,传送距离不超过15m,难以满足远距离的数据传输和控制。当测量与控制系统中需要长距离数据传输时,广泛采用的是RS-485总线标准。1.RS-422串行总线标准
RS-422由RS-232发展而来,是一种单机发送、多机接收的单向、平衡的通信总线标准。传输速率可达10Mb/s,传输距离延长到1220m(速率低于100kb/s时),并允许在一条平衡总线上最多连接10个接收器。2.RS-485串行总线标准
EIA在RS-422的基础上制定了RS-485标准,增加了多点、双向通信能力。RS-485总线标准采用平衡发送和差分接收,能检测低至200mV的电压,具有抑制共模干扰的能力,数据传输可达千米以上。4.6.2RS-422/RS-485总线标准与接口电路833.平衡传输
RS-422,RS-485的数据信号采用差分传输方式,也称做平衡传输,它使用一对双绞线,将其中一条线定义为A,另一条线定义为B。接收器与发送端的规定相同,收、发端通过平衡双绞线将AA与BB对应相连,当在接收端AB之间有大于+200mV的电平时,输出逻辑1,小于200mV时,输出逻辑0。接收器接收平衡线上的电平范围通常在200mV至6V之间。4.RS-485串行总线的特点机械特性:采用RS-232/RS-485转换器(如ADAM4520)将PC串行口RS-232信号转换成RS-485信号,或接入TTL/RS-485转换器(如MAX485),将I/O接口芯片TTL电平信号转换成RS-485信号,进行远距离高速双向串行通信。3.平衡传输84电气特性:RS-485标准采用正逻辑,+1.5V~+6V表示“1”,6V~1.5V表示“0”,二线双端半双工差分电平发送与接收,传输距离1.2km,最高数据传输速率可达10Mb/s,抗干扰能力较强功能与规程特性:网络媒体采用双绞线、同轴电缆或光纤,安装简易,电缆数量、连接器、中继器、滤波器使用数量较少(每个中继器可延长线路1.2km),网络成本低廉。数据帧格式:一般以异步通信为基础,相应的帧格式如下:节点数:节点数是指每个RS-485接口芯片的驱动器能驱动多少个标准RS-485负载,其范围为:32~256个。通信方式:半双工、全双工两种通信方式。如下页图所示。电气特性:RS-485标准采用正逻辑,+1.5V~+6V表示85MCS-51单片机系统的扩展技术课件865.终端匹配
RS-422与RS-485总线网络一般要使用终接电阻进行匹配。但在短距离与低速率下可以不用考虑终端匹配。一般终端匹配采用终接电阻方法,RS-422在总线电缆的远端并接电阻,RS-485则应在总线电缆的开始和末端都需并接终接电阻。终接电阻一般在RS-422网络中取100,在RS-485网络中取120。相当于电缆特性阻抗的电阻,因为大多数双绞线电缆特性阻抗大约在100~120。电阻匹配的方法简单有效,其缺点是要消耗较大功率。6.RS-485与单片机系统的接口
单片机与RS-485总线标准之间必须进行转换,常用的转换芯片有MAX485,SN5176等。MAX485芯片是MAXIM公司的电平转换芯片,其引脚如右图所示。5.终端匹配单片机与RS-485总线标准之间必须进87各引脚含义如下:RO:接收器输出端。若A端高于B端200mV以上,RO为高;否则RO为低。
:接收器输出使能端。为低时,RO有效,否则RO为高阻态。DE:驱动器输出使能端。若DE为高,驱动输出A和B有效,器件作为线驱动器用(发送);若DE为低,它们呈高阻态,这时为低,器件作线接收器用(接收)。DI:驱动器输入。DI为低,将迫使输出为低,若DI为高,将迫使输出为高。B:反相接收器输入和反相驱动器输出。A:同相接收器输入和同相驱动器输出。GND:接地。VCC:电源正极。各引脚含义如下:88
MAX485与单片机系统连接如下图所示。RO与DI是标准的TTL电平,与MCS-51系统的TXD和RXD直接连接即可。由于RS-485总线工作于半双工状态,P1.0引脚用于控制MAX485是工作于收数据状态,还是工作于发数据状态,为低时是收数据。A,B端为RS-485总线的数据传输线路。
MAX485与单片机系统连接如下图所示。RO894.6.3I2C总线标准与接口电路
I2C总线(InterIntegratedCircuitBus):是Philips公司推出的串行总线标准(为二线制)。总线上扩展的外围器件及外设接口通过总线寻址,是具备总线仲裁和高低速设备同步等功能的高性能多主机总线。1.I2C总线工作原理组成:串行数据线SDA和串行时钟线SCL构成的,可发送和接收数据。要求:所有挂接在I2C总线上的器件和接口电路都应具有I2C总线接口,且所有的SDA/SCL同名端相连。总线上所有器件要依靠SDA发送的地址信号寻址,不需要片选线。特点:组成系统结构简单,占用空间小,无需专门的母板和插座,芯片管脚的数量少,无需片选信号,价格低。允许若干兼容器件共享总线,应用比较广泛。总线的长度可达7.6m,传送速度可达400kbps,标准速率为100kbps。支持多个组件。支持多主控器件(某时刻只能有一个主控器件)。I2C总线上所有设备的SDA,SCL引脚必须外接上拉电阻。4.6.3I2C总线标准与接口电路I2C总线(Int902.I2C总线系统结构
一个典型的I2C总线结构如下图所示。系统中所有的器件均有I2C总线接口,所有器件通过两根线SDA(串行数据线)和SCL(串行时钟线)连接到I2C总线上,并通过寻址识别。I2C总线中的器件既可以作为主控器,也可以作为被控器,系统中每个器件均具有惟一的地址,各器件之间通过寻址确定数据交换方。任何时刻总线只能由一个主控制器,数据的传输只能在主、从器件间进行。2.I2C总线系统结构913.I2C总线协议
I2C总线在传送数据过程中共有三种类型信号:开始信号、停止信号和应答信号。开始信号:SCL保持高电平的状态下,SDA出现下降沿。出现开始信号以后,总线被认为“忙”。停止信号:SCL保持高电平的状态下,SDA出现上升沿。停止信号过后,总线被认为“空闲”。应答信号:接收数据的器件在接收到8位数据后,向发送数据的器件发出特定的低电平脉冲,表示已收到数据。
总线空闲:SCL和SDA都保持高电平。总线忙:在数据传送开始以后,SCL为高电平的时候,SDA的数据必须保持稳定,只有当SCL为低电平的时候才允许SDA上的数据改变。3.I2C总线协议I2C总线在传送数据过程中共有三924.I2C总线的传送格式
I2C总线的传送格式为主从式,对系统中的某一器件来说有四种工作方式:主发送方式、从发送方式、主接收方式、从接收方式。
(1)主发送从接收
主器件产生开始信号以后,发送的第一个字节为控制字节。前七位为从器件的地址片选信号。最低位为数据传送方向位(高电平表示读从器件,低电平表示写从器件),然后发送一个选择从器件片内地址的字节,来决定开始读写数据的起始地址。接着再发送数据字节,可以是单字节数据,也可以是一组数据,由主器件来决定。从器件每接收到一个字节以后,都要返回一个应答信号(ASK=0)。主器件在应答时钟周期高电平期间释放SDA线,转由从器件控制,从器件在这个时钟周期的高电平期间必须拉低SDA线,并使之为稳定的低电平,作为有效的应答信号。4.I2C总线的传送格式I2C总线的传送格式为主从93(2)从发送主接收
在开始信号以后,主器件向从器件发送控制字节。如果从器件接收到主器件发送来的控制字节中的从地址片选信号与该器件相对应,并且方向位为高电平(R/=1),就表示从器件将要发送数据。从器件先发送一个应答信号(ASK=0)回应主器件,接着由从器件发送数据到主器件。如果在这个过程之前,主器件发给从器件一个片内地址选择信号,那么从器件发送的数据就从该地址开始发送;如果在从器件接收到请求发送的控制信号以前,没有收到这个地址选择信号,从器件就从最后一次发送数据的地址开始发送数据。发送数据过程中,主器件每接收到一个字节都要返回一个应答信号ACK。若ACK=0(有效应答信号),那么从器件继续发送;若ACK=1(停止应答信号),停止发送。主器件可以控制从器件从什么地址开始发送,发送多少字节。(2)从发送主接收945.I2C总线的基本操作
I2C总线运用主/从双向通信。器件发送数据到总线上,则定义为发送器,器件接收数据则定义为接收器。主器件和从器件都可以工作于接收和发送状态。总线必须由主器件控制,主器件产生串行时钟(SCL)控制总线的传输方向,并产生起始和停止条件。SDA线上的数据状态仅在SCL为低电平的期间才能改变,SCL为高电平的期间,SDA状态的改变被用来表示起始和停止条件。如下图所示。5.I2C总线的基本操作I2C总线运用95(1)控制字节
在起始条件之后,必须是器件的控制字节,其中,高四位为器件类型识别符(不同的芯片类型有不同的定义,如E2PROM为1010),接着三位为片选,最低位为读写控制位,为“1”时为读操作,为“0”时为写操作。如下图所示。(1)控制字节96(2)写操作
写操作分为字节写和页面写两种操作,对于页面写,根据芯片的一次装载的字节不同有所不同。页面写的地址、应答和数据传送的时序如下图所示。
(2)写操作97(3)读操作
读操作有三种基本操作:当前地址读、随机读和顺序读。下图给出的是顺序读的时序图。应当注意的是,为了结束读操作,主机必须在第9个周期间发出停止条件或者在第9个时钟周期内保持SDA为高电平,然后发出停止条件。(3)读操作986.单片机的I2C总线接口
如果单片机自带I2C总线接口,则所有I2C器件对应连接到该总线上即可;若无I2C总线接口,则可以使用I/O口模拟I2C总线。使用单片机I/O口模拟I2C总线时,硬件连接非常简单,只需两条I/O口线即可,在软件中分别定义成SCL和SDA。MCS-51单片机实现I2C总线接口电路如下图所示。
电路中单片机的P1.0引脚作为串行时钟线SCL,P1.1引脚作为串行数据线SDA,通过程序模拟I2C串行总线的通信方式。I2C总线适用于通信速度要求不高而体积要求较高的应用系统。6.单片机的I2C总线接口如果单片机自带I2C总线997.I2C总线的典型应用
X24C04是Xicor公司的CMOS4096位串行E2PROM,内部组织为512×8位。16字节页面写,采用I2C总线结构。与MCS-51单片机接口如下图所示。上拉电阻R1,R2的选择可参考X24C04的手册。7.I2C总线的典型应用X24C04是100
8051通过I2C总线接口对X24C04进行单字节写操作的程序流程图如下图所示。
子程序如下:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届中国一汽全球校园招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2025安徽阜阳颍上县润河镇招聘食品药品安全协管员信息员3人易考易错模拟试题(共500题)试卷后附参考答案
- 2025天津天开发展集团限公司选聘副总经理工作2人易考易错模拟试题(共500题)试卷后附参考答案
- 2025国网青海省电力公司年高校毕业生校园招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2025国网河南省电力公司招聘345人(第二批)易考易错模拟试题(共500题)试卷后附参考答案
- 2025国家能源集团煤焦化公司招聘110人易考易错模拟试题(共500题)试卷后附参考答案
- 2025国家电投所属中国电力招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2025年农产品加工合作协议合同
- 管理学全景解析
- 古诗词启示录
- 医院网络安全培训课件
- 教师资格证初中英语教学知识与能力试卷(含解析)(2025年)
- DB11-T 1382-2022 空气源热泵系统应用技术规程
- 民法典合同编案例课件
- 化工冬季四防安全培训课件
- 银行贷后培训课件
- 2025甘肃张掖山丹县公安局招聘留置看护警务辅助人员40人笔试备考试题及答案解析
- 国家公园考试题型及答案
- 2025至2030中国航空燃油行业发展趋势分析与未来投资战略咨询研究报告
- 社区干部面试题目及答案
- 初中英语人称代词专项练习题
评论
0/150
提交评论