片机系统扩展与接口技术(新).ppt

上传人:wuy****n92 文档编号:78649557 上传时间:2023-03-18 格式:PPT 页数:238 大小:7.77MB
返回 下载 相关 举报
片机系统扩展与接口技术(新).ppt_第1页
第1页 / 共238页
片机系统扩展与接口技术(新).ppt_第2页
第2页 / 共238页
点击查看更多>>
资源描述

《片机系统扩展与接口技术(新).ppt》由会员分享,可在线阅读,更多相关《片机系统扩展与接口技术(新).ppt(238页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Welcometostudy枣庄学院物理系 第六章 单片机系统扩展 及接口技术内容提要1、程序存储器扩展、程序存储器扩展2、数据存储器扩展、数据存储器扩展3、并行、并行I/O接口接口4、显示器接口、显示器接口5、键盘接口、键盘接口6、串行通信接口、串行通信接口7、模拟电路接口、模拟电路接口6.1系统扩展概述系统扩展概述1、最小应用系统、最小应用系统(a)8051/8751最小系统结构图;(b)8031最小系统结构图MCS51单片机最小化系统 2、系统扩展的内容与方法、系统扩展的内容与方法(1)系统的扩展的两个任务:A、把系统所需的外设与单片机连接起来,使单片机能够与外界进行信息交换。(即接口设

2、计)B、扩大单片机的容量(外部程序存储器、外部数据存储器、输入/输出接口的扩展)。(2)系统扩展的基本方法:扩展连接的一般方法实际上是三总线对接。注意:注意:P0口线地址口线地址/数据分时复用,需用地址锁存器数据分时复用,需用地址锁存器 74LS373锁存地址。锁存地址。三总线的概念三总线的概念:地址总线地址总线AB,P0口提供(口提供(A7A0););P2口提供(口提供(A15A8),共),共16位。位。数据总线数据总线DB,P0口提供(口提供(D7D0),共),共8位。位。控制总线控制总线CB,ALE、等。等。控制线的连接控制线的连接对存储器来讲控制线无非是:芯片的对存储器来讲控制线无非是

3、:芯片的选通选通控制、控制、读写读写控制。控制。单片机与外部器件数据交换要遵循单片机与外部器件数据交换要遵循两个重要原则两个重要原则:一是,地址唯一性,一个单元一个地址。一是,地址唯一性,一个单元一个地址。二是,同一时刻,二是,同一时刻,CPU只能访问一个地址,即只能与一只能访问一个地址,即只能与一个单元交换数据。个单元交换数据。不交换时,外部器件处于锁闭状态,对总线呈浮空状态。不交换时,外部器件处于锁闭状态,对总线呈浮空状态。A、以P0口的8位口线作地址数据线P0P0口线既作地址线使用又作为数据线使用,具有双重功能口线既作地址线使用又作为数据线使用,具有双重功能,因此需采用复用技术,对地址和

4、数据进行分离,为此在构造地址总线时要增加一个8位锁存器。首先由锁存器暂存并为系统提供低8位地址,其后P0口线就作为数据线使用。通常使用的锁存器有74LS27374LS273或或74LS37374LS373。B、以P2口的口线作高位地址线如果使用P2口的全部8位口线,再加上P0口提供的低8位地址,则形成了完整的16位地址总线。使单片机系统的扩展寻址范围达到64K单元。C、控制信号、控制信号除了地址线和数据线之外,在扩展系统中还需要单片机提供一些控制信号线,以构成扩展系统的控制总线。其中包括:*使用使用ALEALE作地址锁存的选通信号,以实现低作地址锁存的选通信号,以实现低8 8位地址的锁存;位地

5、址的锁存;*以以/PSEN/PSEN信号作扩展程序存储器的读选通信号;信号作扩展程序存储器的读选通信号;*以以EAEA信号作为内外程序存储器的选择信号;信号作为内外程序存储器的选择信号;*以以/RD/RD和和/WR/WR作为扩展数据存储器和作为扩展数据存储器和1/O1/O端口的读写选通信号端口的读写选通信号6.2程序存储器的扩展为什么要扩展?为什么要扩展?用什么扩展?用什么扩展?1、访问程序存储器的控制信号、访问程序存储器的控制信号*ALEALE作地址锁存的选通信号,以实现低作地址锁存的选通信号,以实现低8 8位地址的锁存;位地址的锁存;*/PSEN/PSEN作扩展程序存储器的读选通信号;接作

6、扩展程序存储器的读选通信号;接EPROMEPROM的的/OE/OE*/EA/EA作为内外程序存储器的选择信号;作为内外程序存储器的选择信号;外部程序存储器一般连接方法 2、扩展能力、扩展能力根据MCS-51单片机总线宽度(16位),在片外可扩展的存储器最大容量为64KB,地址为0000HFFFFH。3、扩展、扩展8KB/16KB EPROM(1)常用程序存储器芯片常用程序存储器芯片 典型产品有典型产品有2716、2764、27128、27256、27512等等 (2)扩展存储器所需芯片数目的确定扩展存储器所需芯片数目的确定 A、若所选存储器芯片字长与单片机字长一致,则只需扩展容量。所需芯片数目

7、按下式确定:B、若所选存储器芯片字长与单片机字长不一致,则不仅需扩展容量,还需字扩展。所需芯片数目按下式确定:2764与8031的扩展连接图 a)不用片外译码器的单片程序存储器的扩展(3)、扩展举例 上图所示连接电路的8个重叠的地址范围为00000000000000000001111111111111,即0000H1FFFH;00100000000000000011111111111111,即2000H3FFFH;01000000000000000101111111111111,即4000H5FFFH;01100000000000000111111111111111,即6000H7FFFH;1

8、0000000000000001001111111111111,即8000H9FFFH;10100000000000001011111111111111,即A000HBFFFH;11000000000000001101111111111111,即C000HDFFFH;11100000000000001111111111111111,即E000HFFFFH。b)采用线选法的多片程序存储器的扩展例使用两片2764扩展16KB的程序存储器,采用线选法选中芯片。左片:000000000000000000001111111111111,即0000H1FFFH;0010000000000000000111

9、11111111111,即2000H3FFFH;010000000000000000101111111111111,即4000H5FFFH;011000000000000000111111111111111,即6000H7FFFH;右片:100000000000000001001111111111111,即8000H9FFFH;101000000000000001011111111111111,即A000HBFFFH;110000000000000001101111111111111,即C000HDFFFH;111000000000000001111111111111111,即E000HFFF

10、FH。c)采用地址译码器的多片程序存储器的扩展例要求用2764芯片扩展8031的片外程序存储器,分配的地址范围为0000H3FFFH。本例地址空间是唯一确定的,所以要采用全译码方法。由分配的地址范围知:扩展的容量为3FFFH-0000H+1=4000H=4KB,2764为8K8位,故需要两片。第1片的地址范围应为0000H1FFFH;第2片的地址范围应为2000H3FFFH。由地址范围确定译码器的连接。为此画出译码关系图如下:4、EEPROM接口设计接口设计 EEPROM是一种电擦除可编程只读存储器,其主要特点是一种电擦除可编程只读存储器,其主要特点是能在计算机系统中进行在线修改,并能在断电的

11、情况下保是能在计算机系统中进行在线修改,并能在断电的情况下保持修改的结果。因而在智能化仪器仪表、控制装置等领域得持修改的结果。因而在智能化仪器仪表、控制装置等领域得到普遍采用。到普遍采用。常用的常用的EEPROM芯片主要有芯片主要有Intel 2817A、2864A等。等。2817A2864A管脚及原理框图管脚及原理框图(a)管脚;管脚;(b)原理框图原理框图程序存储器程序存储器E E2 2PROM PROM 2864A2864A 工作方式工作方式 (1)维持和读出方式:2864A的维持和读出方式与普通EPROM完全相同。(2)写入方式:2864A提供了两种数据写入操作方式,字节写入和页面写入

12、。(3)数据查询方式:EEPROM2864的扩展P2.0P2.1P2.2P2.3P2.4P2.7A8A9A10A11A12QOA0A1A2A3A4A5A6A7Q1Q2Q3Q4Q5Q6Q7D0D1D2D3D4D5D6D7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7ALED0D1D2D3D4D5D6D7OEGOE8031803128C6428C64CEEA74HC373WRPSENRDWE74LS0874LS086.3数据存储器的扩展数据存储器的扩展常用静态RAM芯片的引脚图1常用的数据存储器芯片常用的数据存储器芯片 A、静态RAM芯片(6116、6264、62256、6281

13、28)6264的工作方式的工作方式2数据存储器的扩展举例数据存储器的扩展举例例例1 采用6264芯片在8031片外扩展8 KB数据存储器。6264的8KB地址范围不唯一(因为A14A13可为任意值),6000H7FFFH是一种地址范围。当向该片6000H单元写一个数据DATA时,可用如下指令:MOV A,DATA MOV DPTA,6000H MOVX DPTR,A从FFFH单元读一个数据时,可用如下指令:MOV DPTR,7FFFH MOVX ,DPTR 2、兼有片外程序存储器和片外数据存储器的扩展举例兼有片外程序存储器和片外数据存储器的扩展举例例 采用2764和6264芯片在8031片外分

14、别扩展24 KB程序存储器和数据存储器。扩展连接电路如图所示。从图中可以看出,各有一片2764和一片6264的片选端并接在一根译码输出线上。即有2764和6264芯片相同的地址单元将会同时选通,这不会发生地址冲突,因为两种芯片的控制信号是不一样的。分析两种存储器及各芯片的地址范围。6.4 6.4 并口的扩展方法并口的扩展方法并口扩展常用三种方法:并口扩展常用三种方法:1、利用、利用TTL、CMOS集成电路来扩展集成电路来扩展2、利用单片机串口扩展、利用单片机串口扩展3、利用可编程并行接口芯片来扩展、利用可编程并行接口芯片来扩展I/O口扩展的原则口扩展的原则“输入三态,输出锁存输入三态,输出锁存

15、”与总线相连的原则与总线相连的原则补充:接口概述 I/O接口接口(Interface)和和I/O端口端口(Port)的区别的区别:I/O Port:简称:简称I/O口,指口,指I/O接口中带有端口地址的寄存器或缓冲器,接口中带有端口地址的寄存器或缓冲器,CPU通过端口地址就可以对通过端口地址就可以对Port中的信息进行读写。中的信息进行读写。I/O Interface:指:指CPU与外设间的与外设间的I/O接口芯片。接口芯片。通常,一个外设只需要一个通常,一个外设只需要一个I/O接口,但一个接口,但一个I/O接口可以有多个接口可以有多个I/O端口,保存数据的端口叫数据口,保存来自端口,保存数据

16、的端口叫数据口,保存来自CPU的控制命令的端口叫的控制命令的端口叫命令口,保存外设状态信息的端口叫状态口。命令口,保存外设状态信息的端口叫状态口。I/O接口的扩展方法接口的扩展方法:类似与数据存储器:类似与数据存储器RAM的扩展。关键是三总线。的扩展。关键是三总线。所有端口与所有端口与CPU之间的数据传送都通过数据总线之间的数据传送都通过数据总线DB进行;由地址总进行;由地址总线线AB上的地址信号经译码后进行芯片选择和端口选择;由控制总线上的地址信号经译码后进行芯片选择和端口选择;由控制总线CB上上的信号控制数据信息的传送。的信号控制数据信息的传送。一、利用一、利用TTLTTL、CMOSCMO

17、S集成电路来扩展集成电路来扩展1、用锁存器扩展简单的、用锁存器扩展简单的8位输出口位输出口8031P2.7P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0/WR74LS377/ED7Q7D6Q6D5Q5D4Q4D3Q3D2Q2D1Q1D0Q0/CP输出设备输出设备D7D6D5D4D3D2D1D074LS377为为8D锁存器,八入八出,一时钟锁存器,八入八出,一时钟CP,一锁存允许,一锁存允许/E。/E=0时,时,CP的上升沿,输入数据并锁存。的上升沿,输入数据并锁存。MOVDPTR,#7FFFH;指向;指向74LS377MOVA,#data;取输出的数据;取输出的数据MOVXD

18、PTR,A;通过;通过74LS377送出数据送出数据P2.7接接/E,所以,所以,74LS377的口地址为的口地址为7FFFH。P0口是数据总线口,作口是数据总线口,作I/O口用时只能分时使用,为此,输出口用时只能分时使用,为此,输出数据时需要锁存数据时需要锁存。2、用锁存器扩展简单的八位输入口、用锁存器扩展简单的八位输入口外设与单片机在传输数据速度上存在着一定的差异,为了外设与单片机在传输数据速度上存在着一定的差异,为了保证数据能被单片机正确地接收,应采取以下电路:保证数据能被单片机正确地接收,应采取以下电路:输入设备输入设备STBIN7IN6IN5IN4IN3IN2IN1IN08031P2

19、.6P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.074LS373GQ7D7Q6D6Q5D5Q4D4Q3D3Q2D2Q1D1Q0D0在在STB的下降沿的下降沿,将数据锁存入将数据锁存入74LS373/E控制着控制着74LS373的输出的输出,由由P2.6和和/RD相或控制相或控制,所以所以,74LS373的口地址为的口地址为BFFFH。例、设将上图例、设将上图74LS373中数据送入中数据送入8031片内数据存储器中首地片内数据存储器中首地址为址为50H的数据区。写出相应中断系统初始化及中断服务程序。的数据区。写出相应中断系统初始化及中断服务程序。中断系统初始化程序:中断系统初

20、始化程序:PINT:SETBIT0;/INT0选为下降沿触发方式选为下降沿触发方式SETBEA;CPU开中断开中断MOVR0,#50H;置数据区首址;置数据区首址SETBEX0;/INT0中断允许中断允许中断服务程序:中断服务程序:ORG0003HPINT0:AJMPINT0ORG1000HINT0:MOVDPTR,#0BFFFH;指向;指向74LS373扩展输入口扩展输入口MOVXA,DPTR;8031读入数据读入数据MOVR0,A;输入数据送数据区输入数据送数据区INCR0RETI3、用三态门扩展、用三态门扩展8位输入并行口位输入并行口74LS244是是8位三态门,当位三态门,当/1G、/

21、2G均为低电平时,允许输入数均为低电平时,允许输入数据;否则,为高阻态。据;否则,为高阻态。输入设备输入设备IN7IN6IN5IN4IN3IN2IN1IN08031P2.6P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.074LS2441Y11A11Y21A21Y31A31Y41A42Y12A12Y22A22Y32A32Y42A4二、用串行口扩展并行二、用串行口扩展并行I/O接口接口如果串口别无他用,则可让其工作于方式如果串口别无他用,则可让其工作于方式0,来扩展一个或多个,来扩展一个或多个8位并行位并行I/O口口1、用、用74LS165扩展并行扩展并行I/O口口8031P3.0

22、P3.1P1.0HGFEDCBAQHSIN/QH74LS165(1)S/LMCPHGFEDCBAQHSIN/QH74LS165(2)S/LMCPD0.D7D0.D774LS165是是8位并入、串出移位寄存器。位并入、串出移位寄存器。CP为移位脉冲输入端;为移位脉冲输入端;S/L为移位为移位/装入端,以装入端,以P1.0控制。控制。两片两片74LS165的首尾相连,即的首尾相连,即QH与与SIN相连。相连。例、从上图两个八位并行口读入例、从上图两个八位并行口读入20H组(每组两个字节)字节组(每组两个字节)字节数据,并把它们转存到内部数据,并把它们转存到内部RAM(首址为(首址为30H)的数据区

23、中。)的数据区中。解:以解:以PSW中的用中的用F0位来标志接收一组数中的前位来标志接收一组数中的前8位与后位与后8位,位,74LS165(1)并行口输入数据时,置)并行口输入数据时,置F0为为1;74LS165(2)并行口输入数据时,置)并行口输入数据时,置F0为为0;P1.0高、低变化一次,就控制并行数据装入一次,即串行高、低变化一次,就控制并行数据装入一次,即串行口应接收到口应接收到2个个8位数据(一组)。位数据(一组)。串口工作在方式串口工作在方式0,波特率为,波特率为fosc/12=1Mb/s。MOVR7,#20H;读入字节数组;读入字节数组MOVR0,#30H;内部;内部RAM数据

24、区首址数据区首址SETBF0;假定;假定74LS165(1)先读入)先读入RCV0:CLRP1.0;165装入数据装入数据SETBP1.0;允许;允许165串行移位串行移位RCV1:MOVSCON,#00010000B;串行口设定;串行口设定STP:JNBRI,STP;等待接收完一个八位数;等待接收完一个八位数CLRRI不胜数不胜数;清;清RI标志,以备下次接收标志,以备下次接收MOVA,SBUF;串口接收数据;串口接收数据8031P3.0P3.1P1.0ABCDEFGHAB74LS164(1)/CRCPABCDEFGHAB74LS164(2)/CRCPD7.D0D7.D02、用、用74LS1

25、64扩展并行输出口扩展并行输出口74LS164是是8位串入、并出移位寄存器,其中,位串入、并出移位寄存器,其中,CP为移位脉冲输为移位脉冲输入端;入端;/CR为清除端。为清除端。上图接法中,由于移位寄存器无并行输出控制,在串行输入过上图接法中,由于移位寄存器无并行输出控制,在串行输入过程中,其输出状态会不断变化,故在某些使用场合下,在程中,其输出状态会不断变化,故在某些使用场合下,在74LS164的输出端应加接输出三态门控制,以便保证串行输入的输出端应加接输出三态门控制,以便保证串行输入结束后再输出并行数据。结束后再输出并行数据。三、三、可编程并行接口芯片可编程并行接口芯片8255A8255A

26、一、一、8255A的结构和操作方式的结构和操作方式1、8255A的组成及引脚的组成及引脚组成:三部分:三部分:总线接口部分;内部逻辑部分总线接口部分;内部逻辑部分;外设接口部分外设接口部分(1)总线接口部分)总线接口部分/CS片选线片选线A1、A0端口选择线(选片内四个端口寄存器)端口选择线(选片内四个端口寄存器)/RD读信号线读信号线/WR写信号线写信号线(2)内部逻辑部分)内部逻辑部分PAPC7PC4PBPC3PC0输输入入A组控制电路组控制电路控制控制8255A工作方式工作方式二者合一成为端口控制寄存器。二者合一成为端口控制寄存器。B组控制电路组控制电路输入输入 输出输出 其它其它A口口

27、8位锁存位锁存/缓冲缓冲8位锁存位锁存双向双向B口口8位锁存位锁存/缓冲缓冲8位缓冲位缓冲C口口8位锁存位锁存/缓冲缓冲8位缓冲位缓冲可分成两组分别作可分成两组分别作A 口、口、B口的选通联络线口的选通联络线(3)外设接口部分)外设接口部分可由编程决定三个端口的功能可由编程决定三个端口的功能2、8255A的端口操作的端口操作A1A0选中选中00PA口口01PB口口10PC口口11控制控制2 2 寄存寄存3 3 器器1、8255A的工作方式的工作方式(1)方式)方式0基本输入基本输入/输出方式输出方式A口、口、B口、口、C口均有此方式,无选通,口均有此方式,无选通,是单片机与外部设备之间的直接数

28、据通道。是单片机与外部设备之间的直接数据通道。二、二、8255A的工作方式及方式选择的工作方式及方式选择(2)工作方式1(选通输入输出方式)图 方式1下,A、B口均为输出的信号定义(A)方式1下A口、B口均为输出为输出缓冲器满信号,低电平有效。为外设响应信号,低电平有效。INTR为中断请求信号,高电平有效。INTE为中断允许状态。图 方式1下的数据输出时序(B)方式1下A口、B口均为输入图 方式1下A、B口均为输入时的信号定义 与方式1下两口均为输出类似,为实现选通输入,则同样要利用C口的信号线。其定义如图所示。在口为输入时所用到的控制信号的定义如下:为低电平有效的输入选通信号。IBF为高电平

29、有效的输入缓冲器满信号。INTR为中断请求信号,高电平有效。INTE为中断允许状态。图方式1下数据输入时序 图 方式2下的信号定义(3)方式)方式2 图 方式2下的时序图2.方式控制字及状态字1)控制字当控制字的bit7=0时,指定该控制字仅对C口进行位操作按位置位或复位操作。对C口按位置/复位操作的控制字格式如图7.14所示。如前所述,在必要时,可利用C口的按位置/复位控制字来使C口的某一位输出0或1。图 8255的控制字格式 图 C口的按位操作控制字格式 2)状态字当8255的A口、B口工作在方式1或A口工作在方式2时,通过读C口的状态,可以检测A口和B口的状态。当8255的A口和B口均工

30、作在方式1的输入时,由C口读出的8位数据各位的意义如图7.15所示。当8255的A口和B口均工作在方式1的输出时,由C口读出的状态字各位的意义如图所示。图 A、B口均为方式1输入时的状态字 图 A、B口均为方式1输出时的状态字 图 A口在方式2工作时的状态字 2、8255A的方式控制字的方式控制字用编程方法向用编程方法向8255A的控制口写控制字,可决定它的工作的控制口写控制字,可决定它的工作方式。方式。有两个控制字有两个控制字:(1)方式选择控制字)方式选择控制字 1 D6 D5 D4 D3 D2 D1 D0“1”1”方式控制标志位方式控制标志位D6、D5决定决定A组的工作方式,组的工作方式

31、,00方式方式001方式方式11方式方式2D4A口的传输方向,口的传输方向,1入,入,0出。出。D3PC7PC4的传输方向,的传输方向,1入,入,0出。出。D2决定决定B组的工作方式,组的工作方式,0方式方式0,1方式方式1。D1B口的传输方向,口的传输方向,1入,入,0出。出。D0PC3PC0传输方向,传输方向,1入,入,0出。出。(2 2)PCPC口置位口置位/复位控制字复位控制字 0 D6 D5 D4 D3 D2 D1 D0“0”标志位。标志位。D6、D5不使用位。不使用位。D3、D2、D1位选择位,位选择位,000111分别对应分别对应PC7PC0。D0位状态位,位状态位,1置位,置位

32、,0复位。复位。三、三、80318031和和8255A8255A的连接及应用的连接及应用单片机单片机8255AA0A0A1A1A15A2中任一线中任一线/CSP0D7D0/RD/RD/WR/WRRSTRESET应用上图中,地址线连接采用线选法。上图中,地址线连接采用线选法。8255A的地址分布:的地址分布:A15A14A13A8A7A1A000000000000H010001H100002H110003H或或01111007FFCHPA017FFDHPB107FFEHPC117FFFH控制控制例例、设设单单片片机机8031与与微微型型打打印印机机之之间间的的数数据据传传送送采采用用查查询询方方

33、式式。要要求求将将存存放放在在8031单单片片机机内内RAM中中以以30H为为首首地地址址的的64个连续单元中的内容打印输出,试编程。个连续单元中的内容打印输出,试编程。P2.7P080318031ALE/RD/WRRST/EA74LS37374LS3731D8D2Q1QG/OC/CS8255A8255APA0PA7A1A0PC7PC0D0D7/RD/WRRESET微型打印机微型打印机微型打印机微型打印机DB0DB7BUSY/STB8 888 8解解:因为因为PC0连接连接BUSY,所以,所以,PC3PC0为输入为输入又因又因PC7连接连接/DATASTROBE,所以,所以PC7PC4为输出,

34、为输出,STROBE表示重复的意思。表示重复的意思。/DATASTROBE数据选通信号。作用是通知打印机,数据选通信号。作用是通知打印机,8255A要给它传数。要给它传数。PA口输出,口输出,PB口未用。口未用。故故8255A的控制字可设为:的控制字可设为:10000001B=81HPA口地址:口地址:7FFCHPB口地址:口地址:7FFDHPC口地址:口地址:7FFEH控制口:控制口:7FFFHORG 1000HPRINT:MOVDPTR,#7FFFH;控制口地址;控制口地址MOVA,#81H;控制字;控制字MOVXDPTR,A;写入控制字;写入控制字MOVR1,#30H;数据指针;数据指针

35、MOVR2,#40H;64个数个数NEXT:MOVDPTR,#7FFEH;PC口地址口地址MOVA,#80H;使;使PC7为高电平为高电平MOVXDPTR,A;输出;输出/DATASTROBE为为;高电平;高电平;无效,不准备送数;无效,不准备送数WAIT:MOVXA,DPTR;查询打印机状态;查询打印机状态JBACC.0,WAIT;若;若PC0即即BUSY=1忙,则等待忙,则等待MOVDPTR,#7FFCH;若;若BUSY=0空闲,则指向空闲,则指向PA口口MOVA,R1;输出数据;输出数据MOVXDPTR,AMOVDPTR,#7FFEH库库;指向;指向PC口口MOVA,#00H;8255A

36、输出输出/DATASTROBE信号信号;通知打印机,给它传数。;通知打印机,给它传数。MOVXDPTR,AACALLPDELAY;调延时子程序,以形成一个宽度;调延时子程序,以形成一个宽度;定时值的负脉冲为;定时值的负脉冲为INCR1DJNZR2,NEXT;判断打印输出完成否?;判断打印输出完成否?SJMP$PDELAY:(延时程序略):(延时程序略)END小结:为什么要扩展并行小结:为什么要扩展并行I/O口?口?扩展并行扩展并行I/O口常用的三种方法是什么?口常用的三种方法是什么?用用TTL芯片扩展的特点是什么?芯片扩展的特点是什么?用串口扩展时,串口应工作在方式几?用串口扩展时,串口应工作

37、在方式几?小结:小结:1、8255A有几个并行有几个并行I/O口?几种工作方式?口?几种工作方式?2、工作方式控制字、置位、工作方式控制字、置位/复位控制字是如何定义的?复位控制字是如何定义的?四、四、扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片型号型号名称名称说明说明8155并行接口并行接口带带256字节的字节的RAM和和14位定时位定时/计数器计数器8255通用并行接口通用并行接口8251同步同步/异步通讯接口异步通讯接口8253定时定时/计数器计数器8279键盘键盘/显示接口显示接口常用Intel系列可编程接口芯片18155的结构和技术性能在8155内部具有:(1)256

38、字节的静态RAM,存取时间为400ns。(2)三个通用的输入/输出口。(3)一个14位的可编程定时/计数器。(4)地址锁存器及多路转换的地址和数据总线。(5)单一+5V电源,40脚双列直插式封装。8155内部结构图与引脚图各引脚含义AD0AD7地址地址/数据线。数据线。传送地址、数据、命令、状态等。传送地址、数据、命令、状态等。ALE地址锁存(输入)地址锁存(输入)IO/MIO口口/RAM选择;选择;0:选内:选内RAM;1:选内:选内IO口口/CE片选线片选线/RD、/WR读、写控制读、写控制PA7PA0A口输入口输入/输出线输出线PB7PB0B口输入口输入/输出线输出线PC5PC0C口输入

39、口输入/输出线输出线TIMERIN定时器输入(输入定时器所需时钟)定时器输入(输入定时器所需时钟)TIMEROUT定时器输出(输出所产生的方波脉冲)定时器输出(输出所产生的方波脉冲)2、8155的的RAM和和I/O口地址编码口地址编码由由AD7 AD0及及IO/M决定决定对于多数单片机应用系统来说,由于片外RAM区的容量较大(最大为64KB),因此通常采用线选法对接口芯片进行编址。对8155来说,常用高8位地址中的两位来选择和IO/。例如将P2.7接至,将P2.0接至IO/,那么8155的RMA和I/O口的编址为:RAM:P2.7=0,P2.0=0,其地址范围为:011111100000000

40、0B0111111011111111B,即:7E00H7EFFH。I/O口:P2.7=0,P2.0=1,口地址范围为:0111111100000000B0111111100000101B,即7F00H7F05H。具体分配如下:命令口:7F00HA口:7F01HB口:7F02HC口:7F03H定时器低8位:7F04H定时器高8位:7F05H3、8155的工作方式与基本操作的工作方式与基本操作三种基本操作三种基本操作:1)作单片机片外)作单片机片外256B数据存储器数据存储器IO/M=0,与其它数据存储器统一编址。用,与其它数据存储器统一编址。用MOVX访问。访问。2)作扩展)作扩展I/O口使用口

41、使用IO/M=1,PA口、口、PB口、口、PC口,可通过编程决定如何使用。口,可通过编程决定如何使用。命令寄存器(命令控制字)命令寄存器(命令控制字)I/O口工作方式口工作方式状态标志寄存器状态标志寄存器PA口、口、PB口状态标志。口状态标志。I/O口工作方式有四种:口工作方式有四种:A口、口、B口口基本基本I/O口,口,C口输入;口输入;A口、口、B口口基本基本I/O口,口,C口输出;口输出;A口选通口选通I/O、B口基本口基本I/O、C口作联络线;口作联络线;A口、口、B口选通口选通I/O、C口作联络线。口作联络线。状态标志寄存器:状态标志寄存器:BF缓冲器满标志;缓冲器满标志;INTR端

42、口中断请求标志;端口中断请求标志;INTE端口中断允许标志;端口中断允许标志;TIMER定时器中断请求。定时器中断请求。命令寄存器,只写不读命令寄存器,只写不读状态标志寄存器,只读不写状态标志寄存器,只读不写二者使用同一地址二者使用同一地址可以通过编程决定输出可以通过编程决定输出4种信号,即有四种工作台方式种信号,即有四种工作台方式单方波;单方波;连续方波;连续方波;单脉冲;单脉冲;连续脉冲。连续脉冲。由两个由两个8位寄存器,决定位寄存器,决定14位定时器计数常数及四种工作方式。位定时器计数常数及四种工作方式。由命令寄存器的最高两位对定时器进行四种控制。由命令寄存器的最高两位对定时器进行四种控

43、制。3)作定时器扩展使用)作定时器扩展使用4、8155的命令/状态字8155有1个命令/状态寄存器,实际上这是两个不同的寄存器,分别存放命令字和状态字。由于对命令寄存器只能进行写操作,而对状态寄存器只能进行读操作,因此把它们编为同一个地址,合在一起称之为命令/状态寄存器。1)命令字命令字共8位,用于定义I/O端口及定时器的工作方式。对命令寄存器只能写入不能读出(读出的将是状态寄存器的内容)。命令字的格式如图所示。8155的命令字格式对C口工作方式的说明:D3D2=00(ALT1):A口、B口为基本I/O,C口为输入。D3D2=01(ALT2):A口、B口为基本I/O,C口为输出。D3D2=10

44、(ALT3):A口选通I/O,B口基本I/O,C口低3位为联络信号,高3位输出(参阅表65)。D3D2=11(ALT4):A口、B口均为选通I/O,C口低3位作为A口联络信号,高3位作为B口联络信号关于定时器运行控制位(TM2、TM1)补充说明如下:当TM2、TM1=11时,其操作为:当计数器未计数时,装入计数长度和方式后立即开始计数;当计数器正在计数时,待计数器溢出后以新装入的计数长度和方式进行计数。2)状态字8155的状态寄存器与命令寄存器共用1个地址,当使用读操作时,读入的便是状态寄存器中的内容。8155的状态字格式5、8155的定时/计数器8155的定时/计数器是1个14位的减法计数器

45、,由两个8位寄存器构成,其格式如下:T7T6T5T4T3T2T1T0M2M1T13T12T11T10T9T8D7D0其中低14位组成计数器,剩下的两个高位(M2M1)用于定义计数器输出的信号形式。8155的定时/计数器与MCS-51单片机芯片内部的定时/计数器在功能上是相同的,都有定时和计数两种功能。但是在使用上却有很多不同之处。具体表现在:(1)8155的定时/计数器为减法计数,而MCS-51单片机内部的定时/计数器却是加法计数。(2)MCS-51单片机内部的定时/计数器有多种工作方式,而8155的定时/计数器却只有一种固定的工作方式,即14位计数,通过软件方法进行计数值的加载。(3)MCS

46、-51单片机内部的定时/计数器有两种计数脉冲:当定时工作时,由芯片内部按机器周期提供固定频率的计数脉冲;当计数工作时,从芯片外部引入计数脉冲。(4)MCS-51单片机内部的定时/计数器,在计数溢出时自动置位TCON寄存器中的计数溢出标志位TF,供用户以查询或中断方式使用;而8155的定时/计数器,在计数溢出时却是通过TIMEROUT引脚向外部发出1个脉冲信号。定时/计数器输出方式 8155的定时器在计数过程中,计数器的值并不直接表示外部输入的脉冲。若作为外部事件计数,那么由计数器的现行计数值求输入脉冲数的方法为:(1)停止计数器计数(2)分别读出计数器的两个字节内容。(3)取其低14位数作为现

47、行计数值。(4)算出现行计数值与初始计数值之差即可。6、8155和MCS-51单片机的接口电路8155可以和MCS-51单片机直接相连,而不需外加逻辑电路。图616所示为8155和MSC-51相连的一种基本连接方法。按图616所示接法,8155的RAM和各端口地址如下:RAM的地址:0000H00FFH命令口:0200HA口:0201HB口:0202HC口:0203H定时器低位:0204H定时器高位:0205H图616 8155与MCS-51的连接方法 7、8155的初始化编程及应用举例8155初始化编程的主要内容为写入8155的命令字和定时/计数器的初值以及输出方式。例1:采用如图616所示

48、的接口电路,设A口与C口为输入口,B口为输出口,均为基本I/O。定时器为连续方波工作方式,对输入脉冲进行24分频。试编写8155的初始化程序。解:命令字可选取为PA=0:A口输入PB=1:B口输出PC2、PC1=00:A口、B口基本I/O,C口输入IEA=0,IEB=0:A口、B口均禁止中断TM2、TM1=11:立即启动计数器所以命令字为11000010B=C2H。计数初值的选取方法为:由于计数值为24,所以定时器的低8位为18H,高6位为000000B。定时器的输出方式要求为连续方波,选M2M1=01,那么定时器的高8位为01000000B=40H。RAM及端口地址与前面的相同。初始化程序:

49、MOVDPTR,0204H;指向定时器的低8位MOVA,18H;取定时器低8位的值MOVXDPTR,A;写入定时器低8位INCDPTR;指向定时器高8位MOVA,40H;取定时器高8位的值MOVXDPTR,A;写入定时器高8位MOVDPTR,0200H;指向命令口MOVA,C2H;取8155的命令字MOVXDPTR,A;写入命令字例2:仍采用图616所示的接口电路,从8155的A口输入数据并进行判断:若不为0,则将该数据存入8155的RAM中(从起始单元开始存放,数据的总数不超过256个),同时从B口输出,并将PC0置“1”;若为0,则停止输入输出,同时将PC0清“0”。试编写能完成上述任务的

50、初始化及应用程序。解:初始化及应用程序如下:MOVDPTR,0200H;指向命令口MOVA,00000110B;取命令字MOVXDPTR,A;写入命令字MOVR0,00H;指向8155的RAM区首址MOVR1,00H;数据总数为256个LOOP1:MOVDPTR,0201H;指向A口MOVXA,DPTR;从A口输入数据JZLOOP3;为0则转MOVXR0,A;不为0,则存入RAM中INCR0;指向下一单元INCDPTR;指向B口MOVXDPTR,A;从B口输出INCDPTR;指向C口MOVXA,DPTR;取C口数据SETBACC,0;使PC0置1MOVXDPTR,A;回送DJNZR1,LOOP

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁