单片机原理及应用教程(C语言版)-第8章 单片机系统扩展接口技术_第1页
单片机原理及应用教程(C语言版)-第8章 单片机系统扩展接口技术_第2页
单片机原理及应用教程(C语言版)-第8章 单片机系统扩展接口技术_第3页
单片机原理及应用教程(C语言版)-第8章 单片机系统扩展接口技术_第4页
单片机原理及应用教程(C语言版)-第8章 单片机系统扩展接口技术_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理及应用教程单片机原理及应用教程 (C语言版)语言版)第第8章章 单片机系统扩展接口技术单片机系统扩展接口技术主主 编:编:周国运周国运中国水利水电出版社中国水利水电出版社第第8章章 单片机系统扩展接口技术单片机系统扩展接口技术目目 录录 8.1 接口的基本概念接口的基本概念 8.2 用并行方式扩展数据存储器用并行方式扩展数据存储器 8.3 用简单芯片扩展并行用简单芯片扩展并行I/O口口 8.4 用可编程芯片扩展并行用可编程芯片扩展并行I/O口口 8.5 用串行方式扩展数据存储器用串行方式扩展数据存储器 I/O接口是单片机与外部设备、外部存储器、接口是单片机与外部设备、外部存储器、与其

2、它单片机与其它单片机/计算机连接的桥梁,是单片机应用计算机连接的桥梁,是单片机应用系统中非常重要的部分。系统中非常重要的部分。 本章主要介绍接口的基本概念,并行本章主要介绍接口的基本概念,并行I/O口的口的扩展(包括用简单门电路扩展和使用专用可编程芯扩展(包括用简单门电路扩展和使用专用可编程芯片扩展),数据存储器的扩展(包括通过并行口扩片扩展),数据存储器的扩展(包括通过并行口扩展展SRAM和通过和通过IIC方式扩展方式扩展EEPROM)。)。 本章是单片机应用系统接口的基础。本章是单片机应用系统接口的基础。8.1 接口的基本概念接口的基本概念主要内容主要内容 8.1.1 单片机应用系统构成单

3、片机应用系统构成 8.1.2 接口的概念接口的概念 8.1.3 接口的基本功能接口的基本功能 8.1.4 接口的结构接口的结构 8.1.5 端口及其编址端口及其编址8.1.1 单片机应用系统构成单片机应用系统构成 一般的单片机应用系统如图一般的单片机应用系统如图8-1所示,中间是单所示,中间是单片机(包括外部的存储器),最左边是被检测的设片机(包括外部的存储器),最左边是被检测的设备,最右边是被控制的设备。备,最右边是被控制的设备。8.1.2 接口的概念接口的概念 使使CPU和输入和输入/输出设备之间,能够完成数输出设备之间,能够完成数据交换的中间电路就叫做据交换的中间电路就叫做I/O接口,简

4、称接口,接口,简称接口,也叫做接口适配器。也叫做接口适配器。8.1.3 接口的基本功能接口的基本功能单片机接口的主要功能如下:单片机接口的主要功能如下:1)信号与信息格式转换功能。)信号与信息格式转换功能。2)数据缓冲功能。)数据缓冲功能。3)接受命令功能。)接受命令功能。4)提供状态信息功能。)提供状态信息功能。5)中断功能。)中断功能。8.1.4 接口的结构接口的结构 接口的结构和接口的功能是对应的,一般包括接口的结构和接口的功能是对应的,一般包括读写控制逻辑,数据缓冲器,数据寄存器,控制寄读写控制逻辑,数据缓冲器,数据寄存器,控制寄存器和状态寄存器存器和状态寄存器等部分组成。等部分组成。

5、8.1.5 端口及其编址端口及其编址 1端口端口 每个芯片内部可被访问的寄存器,我们称之为每个芯片内部可被访问的寄存器,我们称之为端口。端口。每一个端口都要分配一个地址,每一个端口都要分配一个地址,以实现对芯以实现对芯片内部不同寄存器的选择。片内部不同寄存器的选择。这个地址就叫做端口地这个地址就叫做端口地址,通常也叫接口地址。址,通常也叫接口地址。 端口地址是由两部分组成的,端口地址是由两部分组成的,端口地址的高位端口地址的高位是片选,是片选,即实现对芯片的选择;即实现对芯片的选择;端口地址的低位完端口地址的低位完成对芯片内部寄存器的选择。成对芯片内部寄存器的选择。 2片选片选芯片的选择有两种

6、方法芯片的选择有两种方法: 1)线选法)线选法所谓线选法,就是直接以系统的地址线作为所谓线选法,就是直接以系统的地址线作为芯片的片选信号,为此只需把用到的地址线与芯片的片选信号,为此只需把用到的地址线与芯片的片选端直接相连即可。芯片的片选端直接相连即可。 2)译码法)译码法所谓译码法,就是使用地址译码器对系统的所谓译码法,就是使用地址译码器对系统的片外地址进行译码,以其译码输出作为存储器片外地址进行译码,以其译码输出作为存储器芯片的片选信号。芯片的片选信号。8.1.5 端口及编址端口及编址 3芯片内部寄存器的选择芯片内部寄存器的选择 地址总线的低位连接到芯片,由地址总线的低位连接到芯片,由芯片

7、内部的芯片内部的地址译码电路和读写控制逻辑地址译码电路和读写控制逻辑共同完成对芯片共同完成对芯片内部寄存器的选择。内部寄存器的选择。8.1.5 端口及编址端口及编址8.2 用并行方式扩展数据存储器用并行方式扩展数据存储器主要内容主要内容8.2.1 MCS-51单片机三总线结构单片机三总线结构 8.2.2 常用的数据存储器常用的数据存储器8.2.3 单片机访问片外单片机访问片外RAM的操作时序的操作时序8.2.4 扩展数据存储器扩展数据存储器8.2.1 MCS-51单片机三总线结构单片机三总线结构 通常,微机的通常,微机的CPU外部都有单独的并行外部都有单独的并行地址总地址总线、数据总线、控制总

8、线线、数据总线、控制总线。MCS-51单片机由于引脚的限制,单片机由于引脚的限制,数据总线和地数据总线和地址总线是复用的址总线是复用的。 地址需要锁存:地址需要锁存:为了能把复用的数据总线和地为了能把复用的数据总线和地址总线分离出来,以便同外部的芯片正确的连接,址总线分离出来,以便同外部的芯片正确的连接,需要在单片机的外部增加地址锁存器,从而构成与需要在单片机的外部增加地址锁存器,从而构成与一般一般CPU相类似的三总线结构,如图相类似的三总线结构,如图8-1所示。所示。P2ALE89C52P0PSENWRRD地址地址锁存器锁存器地址总线地址总线数据总线数据总线控制总线控制总线A8A15A0A7

9、D0D78.2.1 MCS-51单片机三总线结构单片机三总线结构图图8-4 89C52扩展的三总线扩展的三总线图图8-5 地址总线扩展电路地址总线扩展电路8.2.1 MCS-51单片机三总线结构单片机三总线结构 地址锁存器地址锁存器74HC573与单片机与单片机P0口连接,口连接,扩展地址总线,如图扩展地址总线,如图8-2所示。所示。ALEP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0LE OED7 Q7D6 Q6D5 Q5D4 Q4D3 Q3D2 Q2D1 Q1D0 Q0A7A6A5A4A3A2A1A089C5274HC573 74HC573简介简介74HC573是有输出三

10、态门的电平允许是有输出三态门的电平允许8位锁存位锁存器。器。引脚信号如下:引脚信号如下: OE:输出允许端输出允许端,为,为0时芯片有效。时芯片有效。LE:锁存控制端锁存控制端,高电平时,高电平时,锁存器的数据锁存器的数据输出端输出端Q的状态,与数据输入端的状态,与数据输入端D相同,即相同,即锁存器锁存器是透明的是透明的;当;当LE端端从高电平返回到低电平时(下从高电平返回到低电平时(下降沿后),降沿后),输入端的输入端的数据就被锁存在锁存器中数据就被锁存在锁存器中,数据输入端数据输入端D的变化不再影响的变化不再影响Q端。端。8.2.1 MCS-51单片机三总线结构单片机三总线结构8.2.2

11、常用的数据存储器常用的数据存储器 数据存储器即随机存取存储器(数据存储器即随机存取存储器(Random Access Memory,RAM),),用于存放可随时用于存放可随时修改的数据信息。修改的数据信息。RAM为易失性存储器,断为易失性存储器,断电后所存信息立即消失。电后所存信息立即消失。 按其工作方式,按其工作方式,RAM又分为静态随机存又分为静态随机存取存储器(取存储器(SRAM)和动态随机存取存储器)和动态随机存取存储器(DRAM)两种。)两种。静态静态RAM只要电源加上,所存信息就能只要电源加上,所存信息就能可靠保存。而动态可靠保存。而动态RAM则需要刷新。单片机则需要刷新。单片机使

12、用的主要是静态使用的主要是静态RAM。 MCS-51系列单片机的数据存储器与系列单片机的数据存储器与程序存储器的地址空间是互相独立的,程序存储器的地址空间是互相独立的,其其片外数据存储器的空间可达片外数据存储器的空间可达64KB,而片,而片内数据存储器的空间只有内数据存储器的空间只有128B或或256B。如果片内的数据存储器不够用时,则需进如果片内的数据存储器不够用时,则需进行数据存储器的扩展。行数据存储器的扩展。 在单片机系统,扩展数据存储器多在单片机系统,扩展数据存储器多用用静态用用静态SRAM芯片。芯片。8.2.2 常用的数据存储器常用的数据存储器 1常用的静态常用的静态SRAM芯片芯片

13、 常见的静态常见的静态SRAM芯片有芯片有6264(8K8位)、位)、62256(32K8位)、位)、628128(128K8位)等。位)等。其中静态其中静态SRAM芯片芯片6264如图如图8-6所示。所示。6264引脚含义如下:引脚含义如下: A0A12:地址信号引脚。:地址信号引脚。 D0D7:数据信号引脚。:数据信号引脚。 CE、CS:片选信号引脚,必须同时有效。:片选信号引脚,必须同时有效。 WE:写允许信号引脚。:写允许信号引脚。 OE:读允许信号引脚。:读允许信号引脚。 NC:空脚。:空脚。8.2.2 常用的数据存储器常用的数据存储器 图图8-6 静态静态SRAM芯片芯片62648

14、.2.2 常用的数据存储器常用的数据存储器 2扩展存储器所需芯片数目的确定扩展存储器所需芯片数目的确定 1)所选存储器芯片字长与单片机字长一致)所选存储器芯片字长与单片机字长一致所需芯片数目按下式确定:所需芯片数目按下式确定: 芯片数目芯片数目=系统扩展容量系统扩展容量/存储器芯片容量存储器芯片容量2)所选芯片字长与单片机字长不一致)所选芯片字长与单片机字长不一致则需字扩展,所需芯片数目按下式确定:则需字扩展,所需芯片数目按下式确定: 芯片数目芯片数目=(系统扩展容量系统扩展容量/存储器芯片容量存储器芯片容量)(系统字长系统字长/存储器芯片字长存储器芯片字长)8.2.2 常用的数据存储器常用的

15、数据存储器8.2.3 单片机访问片外单片机访问片外RAM的操作时序的操作时序 1片外片外RAM读操作时序读操作时序 在在S1状态状态P2节拍,节拍,ALE信号由低变高,读周信号由低变高,读周期开始。在期开始。在S2状态,单片机把地址的低状态,单片机把地址的低8位从位从P0口口输出,地址的高输出,地址的高8位从位从P2口输出。口输出。 在在S2状态状态P2节拍,节拍,ALE信号由高变低,把低信号由高变低,把低8位地址锁存到外部的锁存器里,而高位地址锁存到外部的锁存器里,而高8位地址一直位地址一直由由P2口输出。在口输出。在S3状态,状态, P0口浮空,外部锁存器口浮空,外部锁存器输出低输出低8位

16、地址。位地址。 在在S4状态,状态, 有效,片外有效,片外RAM经过延迟后,把经过延迟后,把数据放在总线上,通过数据放在总线上,通过P0口输入单片机。当口输入单片机。当 返回返回高电平后,高电平后,P0口浮空,读周期结束。口浮空,读周期结束。8.2.3 单片机访问片外单片机访问片外RAM的操作时序的操作时序 2片外片外RAM写操作时序写操作时序 写操作时序与读操作时序,基本过程类似。不写操作时序与读操作时序,基本过程类似。不同之处主要在于在同之处主要在于在S3状态状态P2节拍,由单片机通过节拍,由单片机通过P0口输出数据。在口输出数据。在S4状态,状态,WE 有效后,由片外有效后,由片外RAM

17、从总线上读取数据。从总线上读取数据。8.2.3 单片机访问片外单片机访问片外RAM的操作时序的操作时序 8.2.3 单片机访问片外单片机访问片外RAM的操作时序的操作时序8.2.4 扩展数据存储器扩展数据存储器 存储器扩展往往需要多个存储器芯片,这些存存储器扩展往往需要多个存储器芯片,这些存储器芯片直接并联在扩展的系统总线上。储器芯片直接并联在扩展的系统总线上。其中低位其中低位的地址线直接和每一个芯片的地址引脚相连。高位的地址线直接和每一个芯片的地址引脚相连。高位地址线是作为片选信号线来使用的。地址线是作为片选信号线来使用的。如果空闲的高位地址线较多,可以使用线选法如果空闲的高位地址线较多,可

18、以使用线选法连接;否则需要使用译码器进行译码法连接。连接;否则需要使用译码器进行译码法连接。 下面以静态下面以静态SRAM芯片芯片6264扩展扩展16KB片外数片外数据存储器为例,介绍一下据存储器为例,介绍一下89C52单片机系统的并行单片机系统的并行存储器扩展,连线如下图所示。存储器扩展,连线如下图所示。8.2.4 扩展数据存储器扩展数据存储器 根据公式根据公式8-1可得:可得: 芯片数目芯片数目=16KB/8KB=2片片。 6264需要需要13位地址,由位地址,由P0提供低提供低8位地址,位地址,P2.0P2.4提供高提供高5位地址。位地址。P2口空出的口线口空出的口线较多,因此可选用线选

19、法进行片选,两个芯较多,因此可选用线选法进行片选,两个芯片分别由片分别由P2.6、P2.7作为片选。作为片选。 其地址范围分别为:其地址范围分别为:10 x0,0000,0000,0000B10 x1,1111,1111,1111B、01x0,0000,0000,0000B1x1,1111,1111,1111B,“x”表示可以取表示可以取0或或1,取,取1,用十六进制数表示,用十六进制数表示为:为:A000HBFFFH和和6000H7FFFH。8.2.4 扩展数据存储器扩展数据存储器8.3 简单芯片并行简单芯片并行I/O口扩展口扩展主要内容主要内容8.3.1 扩展扩展I/O口常用的门电路芯片口

20、常用的门电路芯片 8.3.2 简单扩展简单扩展I/O口举例口举例8.3.1 扩展扩展I/O口常用的门电路芯片口常用的门电路芯片 如果需要单向并行数据传输可以选用如果需要单向并行数据传输可以选用单单向总线驱动器向总线驱动器74HC244,该还带有三态控,该还带有三态控制,能实现总线缓冲和隔离;如果需要双制,能实现总线缓冲和隔离;如果需要双向并行数据传输可以选用向并行数据传输可以选用双向总线驱动器双向总线驱动器74HC245。74HC245也是三态的,有一个也是三态的,有一个方向控制端方向控制端DIR。 DIR=1时输出(时输出(AnBn),),DIR=0时时输入(输入(AnBn),如图),如图8

21、-9所示。所示。图图8-10 单向缓冲总线驱动器单向缓冲总线驱动器74HC244和和双向缓冲总线驱动器双向缓冲总线驱动器74HC2458.3.1 扩展扩展I/O口常用的门电路芯片口常用的门电路芯片8.3.2 简单扩展简单扩展I/O口举例口举例 例例8-1 利用利用74系列芯片实现单片机系列芯片实现单片机P0口口读读8位开关状态并控制对应的位开关状态并控制对应的8位发光二极管位发光二极管发光。发光。 如图如图8-10所示,可通过所示,可通过74HC573和和74HC244芯片实现单片机一个并口同时输入、芯片实现单片机一个并口同时输入、输出。输出。图图8-10 使用使用74HC244和和74HC5

22、73扩展并口扩展并口8.3.2 简单扩展简单扩展I/O口举例口举例程序如下:程序如下:unsigned char xdata pt1 _at_ 0 x7fff;/定义设备变量定义设备变量,端口地址是,端口地址是0 x7fff,P2.7低电平低电平void main() unsigned char data tmp1, tmp2=0 xff;while(1)/循环循环tmp1=pt1;/输入数据输入数据if (tmp1!=tmp2) /输入则输出数据输入则输出数据tmp2=tmp1;pt1=tmp1; 设备变量:设备变量:“以三总线方式连接的设备对以三总线方式连接的设备对应的变量应的变量”8.3

23、.2 简单扩展简单扩展I/O口举例口举例8.4 用可编程芯片扩展并行用可编程芯片扩展并行I/O口口主要内容主要内容8.4.1 8255A的结构的结构8.4.2 8255A的引脚定义的引脚定义8.4.3 8255A的控制字的控制字8.4.4 8255A的工作方式的工作方式8.4.5 8255A的应用举例的应用举例8.4.1 8255A的结构的结构 8255A是一种通用的可编程并行是一种通用的可编程并行I/O接口接口芯片,它拥有三个并行芯片,它拥有三个并行I/O口,可通过编程口,可通过编程设置多种工作方式。设置多种工作方式。 8255A主要由主要由6个部分组成:总线缓冲、个部分组成:总线缓冲、读写

24、控制逻辑、读写控制逻辑、A组与组与B组组I/O口控制逻辑口控制逻辑,以及以及A口、口、B口、口、C口等部分组成,如图口等部分组成,如图8-11所示。所示。图图8-11 8266A内部结构内部结构8.4.1 8255A的结构的结构1.数据总线缓冲器数据总线缓冲器 这是一个双向三态的这是一个双向三态的8位数据缓冲器,位数据缓冲器,它是它是8255A与计算机系统数据总线的接口。与计算机系统数据总线的接口。输入输出的数据、输入输出的数据、CPU输出的控制字以及输出的控制字以及CPU输入的状态信息都是通过这个缓冲器输入的状态信息都是通过这个缓冲器传送的。传送的。2.读读/写控制逻辑写控制逻辑 用来控制把

25、用来控制把CPU输出的控制字或数据输出的控制字或数据送至相应端口,也由它来控制把状态信息送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到或输入数据通过相应的端口送到CPU。8.4.1 8255A的结构的结构3.数据端口数据端口 8255A的三个数据端口的三个数据端口A、B、C分成分成A、B两组。两组。PA和和PC4PC7属于属于A组;组;PC0PC3和和PB属于属于B组。组。4.A组和组和B组控制部件组控制部件 A组控制电路控制组控制电路控制A口和口和C口上半部,口上半部,B组控制电路控制组控制电路控制B口和口和C口下半部。口下半部。8.4.1 8255A的结构的结构8.4.2

26、 8255A的引脚定义的引脚定义 1面向单片机的引脚信号面向单片机的引脚信号 D0-D7:8位、双向、三态位、双向、三态RESET:复位,高有效:复位,高有效CS:片选,低电平有效。:片选,低电平有效。RD:读信号,低电平有效。:读信号,低电平有效。WR:写信号,低电平有效。:写信号,低电平有效。A1,A0:端口选择信号:端口选择信号PA0PA7:A组数据组数据信号,用来连接外设。信号,用来连接外设。PB0PB7:B组数据组数据信号,用来连接外设。信号,用来连接外设。PC0PC7:C组数据组数据信号,用来连接外设或作信号,用来连接外设或作为控制信号。为控制信号。8.4.2 8255A的引脚定义

27、的引脚定义2面向外设的引脚信号面向外设的引脚信号8.4.3 8255A的控制字的控制字8255A的控制字有两个:的控制字有两个:工作方式控制字、端口工作方式控制字、端口C置置1/清清0控制控制字字两个控制字是通过同一个端口写入。两个控制字是通过同一个端口写入。1工作方式控制字工作方式控制字8255A有三种工作方式,可以编程设置。有三种工作方式,可以编程设置。 方式方式0:简单方式(直接不握手)输入简单方式(直接不握手)输入或或输出,端口输出,端口A,B,C三个均可三个均可。 方式方式1:选通、中断方式输入选通、中断方式输入或或输出,端输出,端口口A ,B两个均可。两个均可。 方式方式2:选通、

28、中断方式双向输入选通、中断方式双向输入/ /输出,输出,只有只有端口端口A才有才有。8.4.3 8255A的控制字的控制字8255A的工作方式控制字各位含义见表的工作方式控制字各位含义见表8-4。D7:特征位。:特征位。1是指向工作方式控制字,是指向工作方式控制字,0是指向是指向C口置口置1清清0控制字。控制字。D6D5:A口工作方式设置口工作方式设置。00、01、1xD4:A口传输方向设置。口传输方向设置。0是输出,是输出,1是输入。是输入。D3:C口高口高4位传输方向设置位传输方向设置D2:B口工作方式设置。口工作方式设置。00、01D1:B口传输方向口传输方向D0:C口低口低4位方向位方

29、向8.4.3 8255A的控制字的控制字2端口端口C置置1/清清0控制字控制字 8255A的端口的端口C具有位控制功能,即端具有位控制功能,即端口口C的的8位中的任一位都可通过单片机向位中的任一位都可通过单片机向8255A的控制寄存器写入一个端口的控制寄存器写入一个端口C置置1/清清0控制字来置控制字来置1或清或清0,而端口,而端口C中其他位的状中其他位的状态不变。态不变。8255A的端口的端口C置置1/清清0控制字各位控制字各位含义见表含义见表8-5。8.4.3 8255A的控制字的控制字8255A的端口的端口C置置1/清清0控制字不会控制字不会影响影响PA、PB口的工作方式。口的工作方式。

30、8.4.3 8255A的控制字的控制字D7:特征位。:特征位。1是指向工作方式控制字,是指向工作方式控制字,0是指向是指向C口置口置1清清0控制字。控制字。D6D5D4 :未用:未用。D3D2D1 :C口位选择。口位选择。000、001、111D0:对:对C口指定位设置的值。口指定位设置的值。8.4.4 8255A工作方式工作方式方式方式0是常用的工作方式,只有如下是常用的工作方式,只有如下4种种常用的情况常用的情况:1)3个个8位口都设置为输出口位口都设置为输出口,控制字为:,控制字为:1000 0000B=80H,C语言值为语言值为0 x80。2)3个个8位口都设置为输入口位口都设置为输入

31、口,控制字为:,控制字为:1001 1011B=9BH,C语言值为语言值为0 x9b。3)PA、PB为输出,为输出,PC为输入为输入,控制字为:,控制字为:1000 1001B=89H,C语言值为语言值为0 x89。4)PA、PB为输入,为输入,PC为输出为输出,控制字为:,控制字为:1001 0010B=92H,C语言值为语言值为0 x92。8.4.5 8255A应用举例应用举例 例例8-2 使用使用8255A的的PA、PC端口接端口接16发光二极管显示流水灯,如图发光二极管显示流水灯,如图8-14所示。所示。单片机的单片机的P2.7作为作为8255A的片选信号,的片选信号,P2.5、P2.

32、6作为作为8255A的端口选择信号。的端口选择信号。 低低13位地址没有使用可取任意值,取位地址没有使用可取任意值,取为为1,根据表,根据表8-2,可确定,可确定P2.7、P2.6、P2.5的取值,从而确定的取值,从而确定PA、PB、PC和控和控制端口的地址分别为制端口的地址分别为0 x1fff、0 x3fff、0 x5fff、0 x7fff。8.4.5 8255A的应用举例的应用举例XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.

33、7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1 89C52D7D6D5D4D3D2D1D0D8D9D10D11D12D13D14D15R0 200R1R2R3R4R5R6R7R8R9R10R11R12R13R14R15D

34、034D133D232D331D430D529D628D727RD5WR36A09A18RESET35CS6PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710U2 8255A8.4.5 8255A的应用举例的应用举例XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD6

35、33P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1 89C52D7D6D5D4D3D2D1D0D8D9D10D11D12D13D14D15R0 200R1R2R3R4R5R6R7R8R9R10R11R12R13R1

36、4R15D034D133D232D331D430D529D628D727RD5WR36A09A18RESET35CS6PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710U2 8255A8.4.5 8255A的应用举例的应用举例C语言程序如下:语言程序如下:#include /包含内部函数头文件包含内部函数头文件unsigned char xdata PA _at_ 0 x1fff; /A口口unsigned cha

37、r xdata PC _at_ 0 x5fff;/ C口口unsigned char xdata CW _at_ 0 x7fff; /控制口控制口void delay10 xms(unsigned char data x)/延时函数(振荡频率为延时函数(振荡频率为12MHz)unsigned int data i;while(x-) for(i=0;i830;i+);8.4.5 8255A的应用举例的应用举例void main()/主函数主函数 unsigned int data dd=0 xfffc;/低电平亮低电平亮CW =0 x80;/控制字,控制字,3个口均输出个口均输出while(1

38、)/实现流水灯实现流水灯PA=dd&0 xff;/从从PA送出低送出低8位位PC=dd/0 x100;/从从PC送出高送出高8位位dd=_irol_(dd,1);/循环左移循环左移1位位delay10 xms(100);/延时延时1s 8.5 用串行方式扩展数据存储器用串行方式扩展数据存储器主要内容主要内容 8.5.1 I2C总线总线 8.5.2 I2C总线扩展存储器总线扩展存储器8.5 用串行方式扩展数据存储器用串行方式扩展数据存储器 串行总线系统扩展技术是新一代单片机技术串行总线系统扩展技术是新一代单片机技术发展的一个显著特点。发展的一个显著特点。相对于并行总线接口,串相对于并行总线接口,

39、串行总线接口有着占用行总线接口有着占用I/O口线少(一般口线少(一般24根),根),易于实现应用系统软硬件的模块化、标准化。易于实现应用系统软硬件的模块化、标准化。 随着串行总线接口技术(随着串行总线接口技术(SPI、I2C等)和各等)和各种串行接口芯片的发展,串行总线接口技术越来种串行接口芯片的发展,串行总线接口技术越来越受到人们的推崇。越受到人们的推崇。本节讨论本节讨论I2C总线的时序、操作方法,以及总线的时序、操作方法,以及I2C总线在总线在E2PROM 24Cxx中的应用中的应用8.5.1 I2C总线总线 I2C总线是总线是Philips公司推出的芯片间串公司推出的芯片间串行传输总线。

40、行传输总线。 I2C总线是二线制,采用器件地址的硬总线是二线制,采用器件地址的硬件设置方法,通过软件寻址件设置方法,通过软件寻址完全避免了器完全避免了器件的片选线寻址方法,从而使硬件系统具件的片选线寻址方法,从而使硬件系统具有简单灵活的扩展方法。有简单灵活的扩展方法。 1I2C总线的特点总线的特点 I2C总线最主要的优点是其简单性和有效性。总线最主要的优点是其简单性和有效性。 I2C总线的特点:总线的特点:其接口直接集成在组件之上,其接口直接集成在组件之上,因此因此I2C总线占用的空间非常小,减少了电路板的总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。空间和芯片管脚

41、的数量,降低了互联成本。 I2C总线的其它优点:总线的其它优点:它支持多主控它支持多主控(Multimastering),其中任何能够进行发送和),其中任何能够进行发送和接收的设备(节点)都可以成为主控器。接收的设备(节点)都可以成为主控器。8.5.1 I2C总线总线图图8-15 典型典型I2C总线系统示意图总线系统示意图单片机单片机AA/D、D/A转换器转换器专用集成专用集成电路电路静态静态RAM或或ROMLCD显示器显示器单片机单片机BSDASCL8.5.1 I2C总线总线 I2C总线的主控器:总线的主控器:一个主控器能够控制信号一个主控器能够控制信号的传输和时钟频率。当然,在任何时间点上

42、只能有的传输和时钟频率。当然,在任何时间点上只能有一个主控器。如图一个主控器。如图8-15所示。所示。 I2C总线支持多主和主从两种工作模式总线支持多主和主从两种工作模式多主方式:多主方式:通过硬件和软件的仲裁,主控器取通过硬件和软件的仲裁,主控器取得总线控制权。得总线控制权。 主从方式:主从方式:从器件地址包括从器件地址包括器件编号地址器件编号地址和和引引脚地址脚地址两部分,器件编号地址由两部分,器件编号地址由I2C总线委员会分总线委员会分配,引脚地址由外界电平的高低决定。配,引脚地址由外界电平的高低决定。 器件内部子地址:器件内部子地址:当器件内部有连续的子地址当器件内部有连续的子地址空间

43、时,对这些空间进行连续读写,子地址会自动空间时,对这些空间进行连续读写,子地址会自动加加1。如存储器。如存储器。8.5.1 I2C总线总线 CPU发出的控制信号:发出的控制信号:分为地址码和控制量两分为地址码和控制量两部分。部分。 地址码:地址码:用来选址,用来选址,即接通需要控制的电路,确即接通需要控制的电路,确定控制的种类。定控制的种类。 控制量:控制量:决定该调整的类别决定该调整的类别(如对比度、亮度等)(如对比度、亮度等)及需要调整的量。及需要调整的量。这样,各控制电路虽然挂在同一这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关。条总线上,却彼此独立,互不相关。8.4.2 I

44、2C总线总线I2C总线的工作原理总线的工作原理(1)I2C总线对数据线上信号的定义:总线对数据线上信号的定义:1)总线空闲状态:)总线空闲状态:时钟信号线和数据信号线均时钟信号线和数据信号线均为高电平。为高电平。2)起始信号:)起始信号:即启动一次传输,时钟信号线是即启动一次传输,时钟信号线是高电平时,数据信号线由高变低。高电平时,数据信号线由高变低。SDASCL起始信号起始信号结束信号结束信号数据位信号数据位信号数据位数据位8.5.1 I2C总线总线3)停止信号:)停止信号:即结束一次传输,时钟信号线是即结束一次传输,时钟信号线是高电平时,数据信号线由低变高。高电平时,数据信号线由低变高。4

45、)数据位信号:)数据位信号:时钟信号线是低电平时,可以时钟信号线是低电平时,可以改变数据信号线电位;时钟信号线是高电平时,应改变数据信号线电位;时钟信号线是高电平时,应保持数据信号线上电位不变,即时钟是高电平时数保持数据信号线上电位不变,即时钟是高电平时数据有效。据有效。5)应答信号:)应答信号:占占1位,数据接收者位,数据接收者接收接收1字节字节数数据后,应向数据发出者发送一应答信号。低电平为据后,应向数据发出者发送一应答信号。低电平为应答,继续发送;高电平为非应答,结束发送。应答,继续发送;高电平为非应答,结束发送。6)控制位信号:)控制位信号:占占1位,主位,主IIC设备发出的读写设备发

46、出的读写控制信号,控制信号,高为读、低为写高为读、低为写(对主(对主IIC设备而言)。设备而言)。控制位在寻址字节中。控制位在寻址字节中。8.5.1 I2C总线总线7)地址信号:)地址信号:为从机地址,占为从机地址,占7位,如下表所位,如下表所示,称之为示,称之为“寻址字节寻址字节”,各字段含义如下:,各字段含义如下:器件地址(器件地址(DA3-DA0):):是是IIC总线接口器件总线接口器件固有的地址编码,由器件生产厂家给定。如固有的地址编码,由器件生产厂家给定。如IIC总总线线EEPROM AT24C的器件地址为的器件地址为1010等。等。引脚地址(引脚地址(A2、A1、A0):):由由I

47、IC总线接口器总线接口器件的地址引脚件的地址引脚A2、A1、A0的高低来确定,接电源的高低来确定,接电源者为者为1,接地者为,接地者为0。读写控制位(读写控制位(R/ W):):1表示主设备读,表示主设备读,0表示表示主设备写。主设备写。7位地址和读写控制位组成位地址和读写控制位组成1个字节。个字节。D7D6D5D4D3D2D1D0DA3 DA2 DA1 DA0A2A1A0R/ W8.5.1 I2C总线总线 2I2C总线的时序总线的时序 I2C总线的信号:总线的信号:I2C总线在传送数据过程中总线在传送数据过程中共有三种类型信号,共有三种类型信号,分别是:开始信号、结束分别是:开始信号、结束信

48、号和应答信号。信号和应答信号。 I2C总线总线 开始信号:开始信号:SCL为高电平时,为高电平时,SDA由高电平由高电平向低电平跳变,向低电平跳变,开始传送数据。开始传送数据。 结束信号:结束信号:SCL为低电平时,为低电平时,SDA由低电平由低电平向高电平跳变,向高电平跳变,结束传送数据。结束传送数据。 应答信号:应答信号:接收数据的接收数据的IC在接收到在接收到8bit数据数据后,向发送数据的后,向发送数据的IC发出特定的发出特定的低电平脉冲,低电平脉冲,表示已收到数据。表示已收到数据。8.5.1 I2C总线总线SDASCL 开始信号开始信号允许数据变化允许数据变化 允许数据变化允许数据变

49、化 允许数据变化允许数据变化 结束信号结束信号图图8-16 I2C总线的时序总线的时序8.5.1 I2C总线总线 如图如图8-16所示,为所示,为I2C总线的一般时序。即起总线的一般时序。即起始信号、结束信号、允许数据线改变的条件等。始信号、结束信号、允许数据线改变的条件等。3I2C总线的数据传输过程总线的数据传输过程 数据传输时,主机先发送启动信号和时钟信数据传输时,主机先发送启动信号和时钟信号,随后发送寻址字节来寻址被控器件,并规定号,随后发送寻址字节来寻址被控器件,并规定数据传送方向。数据传送方向。 寻址字节由寻址字节由7位从机地址(位从机地址(D7D1)和)和1位方位方向位(向位(D0

50、,读,读0/写写1)组成。)组成。 从机地址包括从机地址包括器件编号地址器件编号地址和和引脚地址引脚地址两部两部分。分。8.5.1 I2C总线总线WR/DA3DA2DA1DA0A2A1A0器件识别码器件识别码器件识别码器件识别码如:如:RTC 1101RTC 1101允许在公用的允许在公用的I I2 2C C总线总线EEPROM 1010EEPROM 1010上同时接上同时接8 8个同类器件个同类器件I I2 2C C总线器件的总线器件的7 7位从器件(机)地址:位从器件(机)地址:8.5.1 I2C总线总线 从机对地址的响应:从机对地址的响应:当主机发送寻址字节时,当主机发送寻址字节时,总线

51、上所有器件都将其中的高总线上所有器件都将其中的高7位地址与自己的比位地址与自己的比较,较,若相同,则该器件根据读若相同,则该器件根据读/写位确定是从发送写位确定是从发送器还是从接收器。器还是从接收器。 对从接收器:对从接收器:在寻址字节之后,主控发送器通在寻址字节之后,主控发送器通过过SDA线向从接收器发送数据,数据发送完毕后线向从接收器发送数据,数据发送完毕后发送终止信号,以结束传送过程。发送终止信号,以结束传送过程。 对从发送器:对从发送器:在寻址字节之后,主控接收器通在寻址字节之后,主控接收器通过过SDA线接收被控发送器的发送数据。线接收被控发送器的发送数据。8.5.1 I2C总线总线

52、每传输一位数据,都有一个时钟脉冲相对应。每传输一位数据,都有一个时钟脉冲相对应。时钟时钟脉冲不必是周期性的,它的时钟间隔可以不同。脉冲不必是周期性的,它的时钟间隔可以不同。 I2C总线的备用状态(总线的备用状态(“非忙非忙”状态):状态):SDA和和SCL都为都为“1”;只有当总线处于只有当总线处于“非忙非忙”状态时,数据状态时,数据传输才能被初始化。传输才能被初始化。I2C总线的关闭状态:总线的关闭状态:SCL箝位在低电平。箝位在低电平。 I2C总线上传输的数据和地址字节均为总线上传输的数据和地址字节均为8位,位,且高位且高位在前,低位在后。在前,低位在后。数据线数据线SDA上的一般情况:上

53、的一般情况:I2C总线以开始信号为总线以开始信号为启启动信号动信号;接着传输的是;接着传输的是地址和数据字节地址和数据字节,数据字节是没,数据字节是没有限制的;每个字节后必须跟随一个有限制的;每个字节后必须跟随一个应答位应答位(0);全);全部数据传输完毕后,以部数据传输完毕后,以结束信号结束信号结尾。结尾。 SCL的的“线与线与”特性:特性:任一器件的任一器件的SCL为低电平时,为低电平时,便时时钟线便时时钟线SCL变低,变低,SDA上数据就被停止传送。上数据就被停止传送。 8.5.1 I2C总线总线接收器的应答:接收器的应答:正常应答位为正常应答位为0;当接收器接收;当接收器接收到一个字节

54、后到一个字节后无法立即接收下一个字节时无法立即接收下一个字节时,便,便向向SCL线输出低电平线输出低电平而箝住而箝住SCL(SCL=0),迫使,迫使SDA线线处于等待状态。处于等待状态。被控器箝住被控器箝住SCL线为低电平,使主控发送器处于线为低电平,使主控发送器处于等待状态的情况:等待状态的情况:如图如图8-11中的中的A处,处,当接收器在当接收器在A点接收完主控器发来的一个字节时,需要处理接收点接收完主控器发来的一个字节时,需要处理接收中断而无法继续接收,则被控器便可箝住中断而无法继续接收,则被控器便可箝住SCL线为线为低电平,使主控发送器处于等待状态,直到被控器低电平,使主控发送器处于等

55、待状态,直到被控器处理完接收中断后,再释放处理完接收中断后,再释放SCL线。线。8.5.1 I2C总线总线图图8-18 I2C总线的数据传送字节格式总线的数据传送字节格式开始信号开始信号从地址从地址来自接收器来自接收器响应信号响应信号发送器等待发送器等待数据数据来自接收器来自接收器响应信号响应信号方向位方向位停止信号停止信号重复开始信号重复开始信号若传送多个字节则重复若传送多个字节则重复SCLSSDAMSBACKACKR/WP/SA8.5.1 I2C总线总线关于应答信号:关于应答信号:正常应答位为正常应答位为0;(1)应答信号的发送时刻:)应答信号的发送时刻:数据传输时,发数据传输时,发送器每

56、发完一个字节,都要求接收方发回一个应送器每发完一个字节,都要求接收方发回一个应答信号(答信号(0)。)。 (2)应答信号的过程:)应答信号的过程:发送时钟仍由主控器发送时钟仍由主控器在在SCL上产生。上产生。主控发送器必须在被控接收器发主控发送器必须在被控接收器发送应答信号前,预先释放对送应答信号前,预先释放对SDA线的控制线的控制(SDA1),以便主控器对),以便主控器对SDA线上应答信号的检测。线上应答信号的检测。8.5.1 I2C总线总线 正常应答:正常应答:主控器发送时,被控器接收完每个主控器发送时,被控器接收完每个字节需发回应答信号字节需发回应答信号“0”,主控器据此进行下一,主控器

57、据此进行下一字节的发送。字节的发送。 异常应答:异常应答:如果被控器由于某种原因无法继续如果被控器由于某种原因无法继续接收接收SDA上数据时,可向上数据时,可向SDA输出一个非应答信输出一个非应答信号(号(1),主控器据此便产生一个),主控器据此便产生一个Stop来终止来终止SDA线上的数据传输。线上的数据传输。 主控器接收时也应给被控器发应答信号。主控器接收时也应给被控器发应答信号。主控器接收时的结束应答:主控器接收时的结束应答:当主控器要结束传当主控器要结束传输时,必须给被控器发一个非应答信号输时,必须给被控器发一个非应答信号“1”,令,令被控器释放被控器释放SDA线,以便主控器发送线,以

58、便主控器发送Stop信号来信号来结束数据的传输,如图结束数据的传输,如图8-19所示。所示。8.5.1 I2C总线总线图图8-19 I2C总线的应答信号总线的应答信号发送器发送器数据输出数据输出接收器接收器数据输入数据输入主控器主控器时钟线时钟线起始信号起始信号释放总线保持高电平释放总线保持高电平不应答不应答 A应答应答 A应答时钟脉冲应答时钟脉冲SMSB28918.5.1 I2C总线总线 4I2C总线的数据格式总线的数据格式 1)主控器写数据)主控器写数据 主机写数据过程:主机写数据过程:整个过程均为主机发送,整个过程均为主机发送,从机接收,数据的方向位从机接收,数据的方向位R/W=0。应答

59、位。应答位ACK由从机发送,当主机产生结束信号后,数据传由从机发送,当主机产生结束信号后,数据传输停止。格式如下:输停止。格式如下:8.5.1 I2C总线总线SAData 1AData 2A Data n-1A Data nPSLAWS为开始信号,为开始信号,P为结束信号,为结束信号,A为应答信号,为应答信号, 为非应答信号,为非应答信号,SLA为寻址字节(写),为寻址字节(写),Data 1Data n为被传送的为被传送的n个数据。个数据。为主控器发送,被控器接收。为主控器发送,被控器接收。 为被控器发送,主控器接收。为被控器发送,主控器接收。 WA8.5.1 I2C总线总线A/ /A 2)

60、主控器读数据主控器读数据 主机读数据过程:主机读数据过程:寻址字节为主机发送、从机寻址字节为主机发送、从机接收,方向位接收,方向位R/W=1R/W=1,n n个数据字节均为从机发送、个数据字节均为从机发送、主机接收。主机接收完全部数据后发非应答位(主机接收。主机接收完全部数据后发非应答位(1 1),),表明读操作结束。格式如下:表明读操作结束。格式如下:SSLA RAData 1AData 2AData n-1AData nPSLA RSLA R为寻址字节读。为寻址字节读。 A8.5.1 I2C总线总线 3)主控器读主控器读/ /写数据写数据 改变改变传送方向的传送方向的数据传输过程:数据传输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论