单片机原理及应用第06章_第1页
单片机原理及应用第06章_第2页
单片机原理及应用第06章_第3页
单片机原理及应用第06章_第4页
单片机原理及应用第06章_第5页
已阅读5页,还剩257页未读 继续免费阅读

下载本文档

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

文档简介

1、第六章MCS-51系列单片机接口技术 8/24/20221程序存储器扩展数据存储器扩展输入/输出口扩展A/D和D/A接口 本章内容8/24/20222学习目的学会利用现有的芯片扩展存储器学会利用现有的芯片扩展输入/输出口学会常用A/D和D/A芯片的接口8/24/20223问题的提出在单片机应用系统的设计中,往往出现RAM, ROM或者I/O口不够的情况,怎么办?ROM的扩展 RAM的扩展并行I/O口的扩展8/24/202246.1 外部总线的扩展 对于复杂的场合,MCS-51系列单片机硬件资源不够使用时则需要进行系统扩展包括存储器扩展和输入/输出扩展。进行系统扩展时三总线结构如下图所示: 地

2、址 锁 存 器888A15-A8A7A0D7D0地址总线数据总线控制总线 (1) 系统的扩展一般有以下几方面的内容: 外部程序存储器的扩展。 外部数据存储器的扩展。 输入/输出接口的扩展。 管理功能器件的扩展(如定时器/计数器、键盘/显示器、中断优先级编码器等)。 一、 系统扩展的内容与方法 (2) 系统扩展的基本方法:P0口具有分时传送低8位地址和8位数据信息的复用功能。通过ALE信号与地址锁存器配合使用,从而使得地址信息和数据信息区分开。一般来讲,所有与计算机扩展连接芯片的外部引脚线都可以归属为三总线结构。扩展连接的一般方法实际上是三总线对接。要保证单片机和扩展芯片协调一致地工作,即要共同

3、满足其工作时序。二. 驱动芯片 扩展芯片都通过三总线与单片机连结,而单片机三总线驱动能力有限,须增加驱动器。 常用总线驱动器如下图所示:单向驱动器74LS244单向驱动器74LS244(DIP20)1、含有两组8个三态驱动器,2、由G1 、G2控制(低电平有效),方向AY。双向驱动器74LS245DIR=0G0 DIR1 方向为AB(输出)G0 DIR0 方向为B A(输入)双向驱动器74LS245(DIP20)1、含有16个三态驱动器。2、每个方向8个,由G端控制。3、DIR控制驱动方向。单向驱动器74LS244作地址总线驱动器 双向驱动器74LS245作数据总线驱动器使用:6.2 程序存储

4、器的扩展一.程序存储器的扩展方法及时序 MCS-51系列单片机扩展外部程序存储器的硬件电路如下图所示 MCS-51系列单片机访问外部程序存储器时,使用的控制线为ALE(低8位地址锁存控制)和PSEN(外部程序存储器“读取”控制)。时序图如下图所示。送地址取出指令 当ALE上升为高电平后,P2口输出高8位地址信息A8A15,P0口输出低8位地址信息A0A7,利用在ALE的下降沿将P0口输出的低8位地址信息锁存到地址锁存器,接着P0口由输出方式变为输入方式。紧接着PSEN变为低电平,使及程序存储器OE端变为低电平有效,程序存储器输出存放在由16位地址信息所确定的存储单元内的指令代码信息至P0口上,

5、供CPU读取. 从图上可看出在访问外部程序存储器一个机器周期内,ALE上出现两个正脉中,PSEN出现两个负脉冲,说明一个机器周期内CPU可以两次访问外部程序存储器。正因为此,MCS-51系列单片机的指令系统含有许多的双字节单周期指令,这使得CPU执行程序的速度大大提高。二.地址锁存器 最小系统常用到74LS373作锁存器。74LS273、74HC573、Intel8282芯片也可用作地址锁存器,但74LS373使用最多,74LS573制作印刷板方便,它们都是DIP20封装1、引脚图如下图所示:2、8D锁存器74LS373 74LS373结构示意图 74LS373用作地址锁存器 3、具体使用连接

6、图如下图所示:1.EPROM芯片介绍 紫外线擦除电可编程EPROM可作为外部存储器,如2764(8K8位)、27128(16K8位)、27256(32K8位)和27512(64K8位)等,可通过编程器将应用软件对应的机器代码固化到芯片中,编程电压一般为12.5V、21V、25V等。它们引脚图如下图所示。 三. EPROM芯片接口 以上四种型号EPROM芯片都为28脚双列直插封装(DIP28),单一的+5V工作电源。各引脚的功能如下: A0A15为16根地址线;O0O7为数据输出线;CE为片选信号;OE为数据输出允许信号;PGM为编程脉冲输入端;VPP为编程电源;VCC为主电源;GND为主电源地

7、。 但它们的应用参数不同,如下表所示,使用时应注意这些参数。不同型号EPROM芯片应用参数型 号工作电流(mA)维持电流(mA)读取时间(ns)276475352502712810040250272561004025027512125402508/24/2022272. 具体应用 (1)使用单片EPROM扩展外部程序存储器在8031单片机上扩展4KB EPROM?引入:思考:4KBEPROM芯片地址范围是多少?需要多注根地址线?8/24/202228在8031单片机上扩展4KB EPROM.D7 Q7 373D0 Q0 G控制线A11A8A7A0 2732O7O0OE CEP2.3P2.0P0

8、.7 8031 P0.0ALEPSEN12根地址线8根数据线8/24/202229一片27128EPROM和地址锁存器74LS373构成MCS-51系列单片机中8031外部程存储器的硬件应如何连接?练一练:提示:27128EPROM芯片地址范围为00003FFFH(16KB)。 8/24/202230 在上图中,将27128中的26脚去掉(不连)则变为单片2764扩展电路;将27128中的27脚连至8031中P2.6,则变为单片27256扩展电路;将27128中27脚连至8031中P2.6,同时将27128中1脚连至8031中P2.7,则变为单片27512扩展电路。根据不同容量的EPROM芯片

9、,很容易写出各自的地址范围。 注意(2)使用多片EPROM扩展外部程序存储器 单片存储器芯片的容量是有限的,整个MCS-51系列单片机应用系统存储器是由若干芯片组成,应考虑到:每片存储器芯片的地址分配存储器芯片的选择(片选) 单片机对存储器操作时,先进行片选,再从选中的芯片中根据地址译码器选择存储单元进行数据的存取。存储器空间的划分和地址编码是靠地址线来实现的。对于多片存储器芯片构成的存储器,其地址编码原则是:低位片内选址高位选择存储器芯片(片选) 一般情况下,单片机能提供的地址总线根数大于存储器芯片地址线根数。如对于多片2764与8031相连的存储器,地址线A0A12作为2764的片内选址,

10、而A13A15作为选择不同的2764。片选信号产生的方法有:线选法和译码法。译码法包含全译码和局部译码法。 单片机用于“选片”的高位地址线(即存储器芯片未用完的地址线)若一根连接一片存储器芯片的片选端,这样每一条高位地址线可选中两片存储器芯片,这种方法称之为线选法,其特点是译码电路简单、有地址重叠区。利用两片2764扩展16KB程序存储器(线选法)如下图所示:A、线选法 A15A14A13A12 A11A10A9A8 A7A6A5A4 A3A2A1A01#2764始地址 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 0000H末地址 0 1, 1 1 1 1, 1 1 1 1,

11、 1 1 1 1 1FFFH2#2764始地址 1 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 2000H末地址 1 1, 1 1 1 1, 1 1 1 1, 1 1 1 1 3FFFH注意 . 可取0或取1,有地址重叠,这里取0; . P2.5作为线选法中片选信号线,也可使用 P2.6或P2.7作为片选信号线。 单片机用于“选片”的高位地址线(即存储器芯片未用完的地址线)全部用译码器或门电路进行译码,再把译码器输出的信号和存储器芯片的片选信号端相连 ,称为全译码法,其特点是译码电路复杂,每片存储器芯片地址是唯一确定的,不存在地址重叠 利用两片2764扩展16KB程序存储器(全译

12、码法)如下图所示:B、全译码法 A15A14A13A12 A11A10A9A8 A7A6A5A4 A3A2A1A01#2764始地址 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 0000H末地址 0 0 0 1, 1 1 1 1, 1 1 1 1, 1 1 1 1 1FFFH2#2764始地址 0 0 1 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 2000H末地址 0 0 1 1, 1 1 1 1, 1 1 1 1, 1 1 1 1 3FFFH 单片机用于“选片”的高位地址线(即存储器芯片未用完的地址线)某几根用译码器或门电路进行译码,再把译码器输出的

13、信号和存储器芯片的片选信号端相连 ,称为局部译码法 ,其特点是译码电路较为复杂,每片存储器芯片地址区间不唯一,有地址重叠。 关于部分译码法例题见后一节内容。C、局部译码法(部分译码法)四.E2PROM芯片接口 电擦除可编程只读存储器E2PROM是近年来开始被广泛应用的一种只读存储器。其主要特点是能在计算机应用系统中进行在线修改,并能在断电情况下,保存修改结果而不需加保护电源,已广泛应用于智能仪表、控制系统、开发系统中。常见的E2PROM芯片有2817A和2864A,它们引脚图如下图所见。1. E2PROM芯片介绍 Intel-2864A是8KB电擦除可编程只读存储器,28引脚采用双列直插式封装

14、,单一+5V工作电源,最大工作电流为160mA,最大维持电流60mA,典型读出时间250ns,其中28引脚功能为: A0A12:地址总线;I/O0I/O7:数据总线;CE:片选线;OE:输出使能;WE :写控制线;NC:无用。2. 具体应用 一片2864E2PROM和地址锁存器74LS373构成MCS-51系列单片机中8031外部程存储器的硬件连接结图如下图所示(线选法)。设无关地址线取0,则2864E2PROM芯片地址范围为00001FFFH(8KB)。 使用单片E2PROM扩展外部程序存储器6.3 外部数据存储器的扩展一.外部数据存储器的扩展方法及时序 MCS-51系列单片机扩展外部数据存

15、储器的硬件电路如下图所示 对数据存储器操作时,只使用WR、RD控制线PSEN而不用。程序数据存储器地址与程序存储器地址可以重叠,都为0000HFFFFH。但在应用系统中I/O端口及外围设备与数据存储器是统一编址。时序图如下图所示。 当MCS-51系列单片机对外部数据存储器进行读或写操作时,P2口输出外部RAM高8位地址信息。P0口分时传送外部RAM低8位地址信息和8位的数据信息,当ALE控制信号由低变高后,P0口送出低8位地址信息然后利用ALE控制信号由高变低的下降沿将低8位地址信息锁存至外部地址锁存器,最后P0口变为输入或输出,配合WR或RD控制线的有效状态,CPU完成对选通的外部RAM进行

16、写或读操作。二.静态RAM芯片接口 常用着MCS-51系列单片机外部数据存储器扩展的静态RAM芯片有6116(2K8位)6264(8 K8位)、62128(16K8位)62256(32K8位)、62512(64K8位)等。小容量的静态RAM芯片已经停产,仅介绍6264、62128、62256、62512, 。它们引脚图如下图所示。 1. 静态RAM芯片介绍 以上静态RAM芯片都为28脚或32脚双列直插封装,采用CMOS工艺制造,单一的+5V工作电源。各引脚的功能如下: A0A15为16根地址线;I/O0I/O7为数据输出线;CE为片选信号;WE为写允许线;OE为数据输出允许信号;VCC为主电源

17、;GND为主电源地。 但它们的应用参数不同,如下表所示,使用时应注意这些参数。2. 具体应用 一片62128静态RAM扩展8031应用系统16K数据存储器硬件连结图如下图所示。若无关的地址线取1,则62128对应的地址范围为4000H7FFFH。若无关地址线取0,则62128的地址范围为0000H3FFFH,地址不唯一。 (1)使用单片静态RAM扩展外部数据存储器(线选法)(2)多片静态RAM扩展外部数据存储器(局部译码法) 两片6264静态RAM与8031接口硬件图如下图所示: A15A14A13A12 A11A10A9A8 A7A6A5A4 A3A2A1A01#6264始地址 0 0 0,

18、 0 0 0 0, 0 0 0 0, 0 0 0 0 0000H末地址 0 0 1, 1 1 1 1, 1 1 1 1, 1 1 1 1 1FFFH2#6264始地址 0 1 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 2000H末地址 0 1 1, 1 1 1 1, 1 1 1 1, 1 1 1 1 3FFFH注意1. 可取0或取1,这里取0,A15未参加译码;2. 随着单片RAM容量增多,多片RAM扩展很少 使用三.兼有EPROM和RAM存储器的接口 在MCS-51系列单片机应用系统中,一个比较复杂的应用系统,当然有可能既要扩展外部的程序存储器(采用片内不含程序存储器的机型,

19、如8031、8032等),又要扩展外部数据存储器。用一片27128和一片62128实现8031外部程序存储器16K和外部数据存储器16K的扩展接口电路如图下图所示,片选信号产生的方法采用线选法。 A15A14A13A12 A11A10A9A8 A7A6A5A4 A3A2A1A027128始地址 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 0000H末地址 0 0 1, 1 1 1 1, 1 1 1 1, 1 1 1 1 3FFFH62128始地址 1 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 4000H末地址 1 1 1, 1 1 1 1, 1 1 1

20、 1, 1 1 1 1 7FFFH四.数据存储器的掉电保护 数据存储器RAM一旦电源去掉,内部所有的信息都被破坏。某些单片机应用系统要求在掉电时不丢失RAM内的内容,必须加掉电保护功能。可采用两种方法,一种是加装不间断电源UPS,另一种只在全部或部分数据存储单元加备用电源(通常采用电池),要求具备有掉电保护功能的单片机应用系统一般采用CHMOS单片机和CMOS结构的RAM。1.简单的掉电保护电路2.实用的掉电保护电路 简单掉电保护电路,在电源掉电和重新上电频率较高时,由于电源切换,可能使RAM瞬间处于读/写状态,使原来存放在RAM中的内容遭到破坏,可能起不到可靠掉电保护作用。 有一些CMOSR

21、AM芯片有专门用于掉电保护的引脚,如6264、62512芯片上的CE2引脚。正常工作时,须将CE2=1,当CE2引脚拉至小于或等于0.2V时,RAM进入保护状态。利用该引脚实现掉电保护。电路如下图所示,这种电路可靠、实用。 电源掉电时,Vcc开始下降,当降至满足下列条件时R4*Vcc/(R4+R3)/(R5+R6)3.5V(即Vcc下降至4.7V时),U2输出低电平,又因U3输出低电平,使得U4输出高电平,从而U5输出为高电平,U6输出(即CE2)为低电平(0.2V),RAM进入数保据持状态,当Vcc继续下降,降至小于电池电压时,D2截止,D1导通,此时由电池给RAM供电。重新上电时,Vcc由

22、0V跃变至+5V,U2的输出会出现瞬间干扰脉冲,由于U3与U4之间采用了积分电路,具有延时功能,CE2并不立即升为高电平。因而抑制了U2的干扰脉冲,当积分延时结束,电源已稳定在+5V。CE2为高电平回到正常工作状态。 6.4 并行输入输出口的扩展 MCS-51系列单片机,若输入/输出端口不够使用,则须扩展。 当单片机扩展I/O接口较多时,便于单片机管理,象对存储单元一样,对多个I/O接口进行统一编号,这种对I/O接口的编号称之为I/O端口编址。 A.采用了专用I/O指令,使及编写程序时 易于区分,程序可读性强。 B.专用I/O指令执行时间短。 C.输入输出时容易安排应答信号,硬件设 计简单。优

23、点 A.专用I/O指令有限,编程不方便。 B. CPU中必须采用专用的I/O周期。缺点I/O端口地址和存储器统一编址方式 这种编址方式适用于不带IO/M引脚的CPU系统中.把所有的I/O接口都当作存储单元对待.对某一外部设备输入输出操作,就象对存储器中某一个存储单元操作一样,所有访问存储单元指令均适用于对I/O端口的操作,指令系统不含专用的I/O指令. A.编程方便。所有用于访问存储单元的 指令都可应用I/O端口操作。 B. CPU中不用专设I/O指令和周期,简 化CPU本身的控制逻辑。 优点 A.I/O端口地址占用了一部分存储空间地址。 B.程序较难区分是对I/O端口操作还是对存 储器操作,

24、程序可读性差。 缺点二.用TTL芯片扩展I/O接口 74LS377为带有输入允许端的8D触发器,具有锁存功能,采用双列直插式20引脚封装,引脚图见下图。利用74LS377与8031接口构成两个8位并行输出口电路如下图所示。 1.用74LS377扩展8位并行输出口 2.用74LS244扩展8位并行输入口 当输入数据为常态,这要求接口芯片具有三态缓冲功能,74LS244具有三态缓冲功能,关于74LS244芯片前面已作了详细介绍。利用74LS244与8031接口构成两个8位并行输入接口电路如下图所示。 3.用74LS373扩展8位并行输入口 当输入数据为暂态,这要求接口芯片具有锁存选通功能,74LS

25、373具有锁存选通功能,关于74LS373芯片前面已作了详细介绍。利用74LS373与8031接口构成一个8位并行输入接口电路如下图所示。 4.兼有74LS377、74LS373、74LS244芯片的I/O接口 在MCS-51系列单片机复杂的应用系统中有可能既要扩展并行输出口又要扩展并行输入口,用两片74LS377、一片74LS244、一片74LS373芯片来实现8031单片机扩展两个并行的输出口和两个并行的输入口的接口电路如图如下图所示。(局部译码法 ) 设无关地址线取1,则各芯片对应的I/O端口地址为: A15A14A13A12 A11A10A9A8 A7A6A5A4 A3A2A1A01#

26、74LS377 0 1 1 1, 0 0 1 1, 1 1 1 1, 1 1 1 1 7300H2#74LS377 0 1 0 1, 0 0 1 1, 1 1 1 1, 1 1 1 1 53FFH74LS244 0 0 1 1, 0 0 1 1, 1 1 1 1, 1 1 1 1 3300H74LS373 0 0 0 1, 0 0 1 1, 1 1 1 1, 1 1 1 1 13FFH 若将片内RAM20H单元内容送至1#74LS377输出,片内RAM21H单元内容送至2#74LS377输出,从74LS244输入数据,存入片内RAM22H单元中,从74LS373输入数据存入片内RAM23H单元

27、中,对应的程序段为MOV DPTR,#73FFH ;指向1#74LS377MOVX A,20H ;片内RAM20H单元内容AMOVX DPTR,A ;A内容送1#74LS377输出MOV DPTR,#53FFH ;指向2#74LS377MOV A,21H ;片内RAM21H单元内容AMOVX DPTR,A ;A内容送2#74LS377输出MOV DPTR,#33FFH ;指向74LS244MOVX A ,DPTR ;74LS244输入AMOV 22H ,A ;A内容存片内RAM22H单元在INT0中断服务子程序中执行MOV DPTR,#13FFH ;指向74LS373MOVX A ,DPTR

28、;74LS373输入AMOV 23H ,A ;A内容存片内RAM23H单元 三.用可编程芯片扩展并行I/O接口 Intel公司常用的外围芯片都可以直接与MCS-51系列单片机进行接口 。常用外围芯片如下表所示:芯 片 信 号所 含 功 能8155/81562568位RAM可编程两个8位I/O口可编程一个6位I/O口14位定时器82128位I/O接口8251A可编程通信接口8253可编程3个16位定时器8255A可编程3个8位I/O接口8279可编程键盘/显示接口(64键)83552K8位ROM两个通用8位I/O接口8755A2K8位EPROM两个通用8位I/O接口 利用Intel-8255A和

29、Intel-8155A进行并行I/O接口的扩展已被广泛使用,下面对Intel-8255A和Intel-8155A加以详细讨论。 (一).用Intel-8255A扩展I/O接口 8255A是Intel公司生产的可编程并行输入/输出接口芯片,通过软件编程改变其工作方式及功能,使用灵活、通用性极强,可作为MCS-51系列单片机与多种外部设备连接的中间并行接口电路。 1. 8255A芯片介绍 a.3个8位并行I/O口,PA、PB、PC。b.共有3种工作方式,PA口功能最强, 有三种工作方式都可以,PB口仅有两 种工作 方式,PC口在工作方式1和方 式2配合PA口和PB口使用。 .8255A具有功能:

30、. 8255A内部结构8255A可编程外围设备接口(Programmable Peripheral Interface, 简写为PPI) ,其内部结构如图所示。 8255A内部结构A组控制部件数据总线缓冲器读/写控制部件B组控制部件 RESETA0A1A组端口A8位A组A组端口C(高4位)B组端口C(低4位)8位B组端口BPA7PA0PC7PC4PC3PC0PB7PB0双向D7D08255A包括四大部分:数据总线缓冲器、读写控制部件、A组和B组控制部件、端口A、B、C。(1) 并行输入 / 输出端口A、B、C端口A:包含一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器,输入输出数据均受到

31、锁存。端口B和C: 都包含一个8位数据输入缓冲器和一个8位的数据输出锁存器/缓冲器,输出数据能锁存,输入数据不锁存。端口C:可分成两个4位端口,分别定义为输入或输出端口,还可定义为控制、状态端口,配合端口A和端口B工作。(2) A组和B组控制部件A组A口:PA0PA7C口的高4位:PC4PC7B组B口:PB0PB7C口的低4位:PC0PC3 A组,B组的控制寄存器,接收来自数据总线的控制字,并根据控制字确定各端口的工作状态和工作方式。(3) 数据总线缓冲器三态双向8位缓冲器,是8255A与CPU 之间的数据接口。传送输入数据、输出数据、控制命令字。(4)读/写控制部件接收来自CPU地址总线信号

32、和控制信号,并发出命令到两个控制组 (A组和B组)。CS:片选信号,接CPU高位地址的译码输出WR:写信号,WR有效,CPU向8255A写入的控制或数据信息。RD:读信号,RD有效,CPU读8255A的数据或状 态;RESET:复位信号。RESET有效时,清 8255A 所有控制寄存器内容,并将各端口置成输入方式。 . 8255A的引脚8255A采用40线双列直插封装,引脚图如图所示。 8255A引脚定义432140371834.27D7D0A0A1RESETVCCGND986535368255APPI数据总线控制线电源线通道A通道B通道CCPU接口外设接口.PA7PA0.PB7PB0.PC7

33、PC025141516 171312 11 10 * PA7PA0:A端口数据信号引脚* PB7PB0:B端口数据信号引脚* PC7PC0:C端口数据信号引脚* D7D0: 8255A的8位数据线* A1A0: 端口选择信号 当A1A0=00时 选择端口A当A1A0=01时 选择端口B当A1A0=10时 选择端口C当A1A0=11时 选择控制端口8255A的读写操作控制 8255A共有两个控制字:即工作方式控制字和对C口置位/复位控制字。 (1)工作方式控制字:控制字和各位的含义如图所示。.控制命令字(控制字) D7 D6 D5 D4 D3 D2 D1 D0B组端口C(PC3PC0)1=输入,

34、 0=输出端口B1=输入,0=输出方式选择0方式0, 1=方式1A组端口C(PC7PC4)1=输入, 0=输出端口A1=输入,0=输出方式选择00端口A方式0, 01=端口A方式1,1=端口A方式2方式设置标志1=有效8255A工作方式控制字格式(2) 端口C的置位/复位控制字控制字的格式如图所示。8255A 置位/复位控制字格式D7 D6 D5 D4 D3 D2 D1 D0位的置位/复位1=置位,0=复位位 选 择D3 D2 D1 通道C位按位置位/复位控制标志0=有效0 0 0 PC00 0 1 PC10 1 0 PC20 1 1 PC31 0 0 PC41 0 1 PC51 1 0 PC

35、61 1 1 PC7不使用设置为000关于控制字要说明几点:(1) 设置方式控制字时,A口、B口作为整体设置,而C口要分成上、下两部分分别设置。三个端口的工作方式由一个控制字规定。(2) C口按位置位/复位控制字不是送到C口地址,而是送到控制寄存器地址;且一个控制字只能使C口一位置位或复位。(3) 方式控制字和按位置位/复位控制字均写入同一个控制寄存器地址,二者通过最高位D7来区别。D7=1为方式控制字,D7=0为按位置位/复位控制字。(1) 方式0 基本输入/输出方式方式0是一种基本输入输出工作方式,它的24条I/O线全部都用作传送数据,不设置应答信号线,常用于无条件传送,输出有锁存,输入只

36、有缓冲能力而无锁存功能。 . 工作方式方式0中,端口C被分成两个4位端口,它们可被定义为输入或输出端口,CPU与3个端口之间交换数据,可直接由CPU执行IN和OUT指令来完成。(2) 工作方式1选通式输入/输出方式 方式1选通输入方式1操作使端口A或端口B作为锁存输入设备工作。端口C也可按方式1操作使用但不是对数据,而是对控制信号,或当端口A或端口B为选通输入端口时的握手信号。下图示出8255A方式1选通输入时的内部结构图。(a)端口A方式1输入(b)端口B方式1输入方式1输入端口状态IBF:输入缓冲器满信号,向外设输 出,高电平有效。STB:选通信号。由外设输入,低电平 有效。INTR:中断

37、请求信号,高电平有效。INTE:中断允许信号,它是通过端口PC4 (端口A)或PC2(端口B)的位来编程 的内部位。 方式1选通输出当端口A或端口B为方式1输出时,各指定PC的3条线作为8255A与外设及CPU之间应答信号。下图为方式1选通输出操作的内部结构图。方式1输出端口状态INTRAPC3PC6PC7PA70方式1输出端口APC4,5I/OINTEA2WR方式1输出端口BINTRBPC0PC2PC1INTEBPB70WR(a)端口A方式1输出(b)端口B方式1输出OBF:输出缓冲器满信号。向外设输出,低电平有效。ACK: 外设应答信号。由外设输入, 低电平有效。INTR:中断请求信号。高

38、电平有效。INTE:中断允许信号。(3) 工作方式2双向选通输入/输出方式方式2只允许A组采用,此时端口A变为双向,允许数据在同一组8条线上发送和接收。下图示出方式2操作内部结构图。端口A工作在方式2的端口状态OBFA:输出缓冲器满信号,向外设输出,低电平有效。ACKA:应答信号,由外设输入,低电平有效。STBA: 数据选通输入信号。由外设输入, 低电平有效。IBFA:输入缓冲器满信号,向外设输出,高电平有效。INTE:中断允许信号 (INTE1和INTE2)。高电平有效。INTRA:中断请求信号,高电平有效。 8255A中端口A工作方式2时,允许端口B工作于方式0或方式1,完成输入/输出功能

39、。4种组合状态及其工作方式控制字格式如下表。方式2的组合状态与控制字格式2. 8255A的工作方式初始化(初始化) 根据8255A与CPU接口硬件电路图确 定8255A四个端口地址。 根据8255A的具体应用,确定8255A工 作方式控制字内容。 利用输出指令,将工作方式控制字送 至控制命令寄存器中。 3. 8255A中PC口置位/复位操作 根据8255A与CPU接口硬件电路确定 8255A四个端口的端口地址。 根据对PC口具体哪一位操作,确定 8255A的按位置位/复位控制字内容。 利用输出指令,将按位置位/复位控制 字送至8255A控制命令寄存器中。 4. 8255A与8031接口及应用

40、利用8255A扩展单片机8031的I/O口,其接口电路十分简单,如下图所示。设无关的地址线取1,则8255A各端口地址为:PA口地址:F7FCHPB口地址:F7FDHPC口地址:F7FEH控制命令寄存器地址:F7FEH 设要求8255A三个端口都工作于方式0,且PA口输出,PB口输入,PC口输出,则满足要求工作方式控制字为10000010B=82H,将工作寄存器R0内容从PA口输出,从PB口输入数据存于B中,工作寄存器R1内容从PC口输出,则对应程序段为: MOV DPTR,#0F7FFH;指向控制命令寄存器端口MOV A,#82H ;工作方式控制字AMOVX DPTR,A ;控制字控制命令寄

41、存器端口;以上三条指令完成为8255A工作方式初始化MOV DPTR,#0F7FCH ;指向PA口MOV A, R0 ;R0AMOVX DPTR,A ;APA口输出INC DPTR ;指向B口MOVX A,DPTR ;PB口AMOV B,A ;ABINC DPTR ;指向PC口MOV A,R1 ;R1AMOVX DPTR,A ;APC口输出MOV DPTR,#0F7FFH;指向控制口端口MOV A,#09H ;控制字AMOVX DPTR,A ;控制字控制口,使PC4=1 若想PC口的PC4置1,相应的按位置位/复位控制字为00001001B=09H,对应的程序段为: 若想PC口的PC4清零,相

42、应的按位置位/复位控制字为00001000B=08H,对应的程序段为:MOV DPTR,#0F7FFHMOV A,#08HMOVX DPTR,A特别注意: 在MCS 51系列单片机应用系统中,若含有Intel-8255A或Intel-8155A(后面内容介绍)与单片机I/O口扩展电路,由于8255A或8155A的复位时间比单片机复位时间长,若在应用程序中安排单片机复位后,立即对8255A或8155A进行I/O初始化,则因8255A或8155A仍处于复位状态(复位未结束)而导致初始化失败。解决方法是在单片机复位后先执行别的程序或执行一段延时程序,等待8255A或8155A复位后再进入初始化,延时

43、时间为20100ms。内含2568位静态RAM两个可编程的8位I/O口一个可编程的6I/O口一个可编程14位减法定时/计数器可产生中断请求具有地址锁存功能(二).用Intel-8155A(8156A)扩展I/O接口1. 8155/8156芯片介绍功能适用范围8155与8156区别仅在于8155片选端低 电平有效而 8156为高电平有效适应于既要扩展I/O口,又要扩展少 量RAM系统11020403021PC3PC4定时器输入RESETPC5定时器输出IO/MCE(或CE)RDWRALEAD0AD7Vss . . .8155(或8156)VccPC2PC1PC0PB7PB0PA7PA0 . .

44、. . . .结构及引脚读信号输入端,该引脚为低且片选端有效时,芯片I/O口或RAM内容被读到AD总线9RD写信号输入端,该引脚为低且片选端有效时,AD总线上数据被写入芯片的I/O口或RAM10WR复位信号输入端,其脉宽标准为600ns,使芯片初始化,置3个I/O接口为输入4RESET电源的0V端(参考地)20Vss电源的5V端40Vcc引脚名称与功能引脚号引脚符号引脚符号引脚号引脚名称与功能PA7PA02821A口,8位I/O口,可通过向命令/状态寄存器送命令字来选定输入或输出PB7PB03629B口,8位I/O口,可通过向命令/状态寄存器送命令字来选定输入或输出PC5PC05、2、1、39

45、、38、37C口,6位I/O口,可通过向命令/状态寄存器送命令字来选定输入或输出,或用于为A口与B口提供状态控制信号8155中6个寄存器 8155内有6个寄存器,都为8位 ,按口地址寻址,由AD2、AD1、AD0选择其中的一个寄存器如下表所示:寄存器AD2AD1AD0C/S寄存器000A口寄存器001B口寄存器010C口寄存器011定时器低字节寄存器100定时器高字节寄存器101命令/状态寄存器写入命令字,可规定8155工作方式。格式为:0 0 空操作0 1 立即停止定时器工作1 0 定时器到定置定的计数值后停止工作D7D6选择定时器工作方式1 1 置定时器输出方式和初值后启动工作。若原已启动

46、则原置计数值到后按新置计数值启动D51,允许A口中断;D50,禁止A口中断D41,允许B口中断;D40,禁止B口中断D3D2意义见下表:I/O口或其引脚D3、D2为00D3、D2为11D3、D2为01D3、D2为10A口基本I/O基本I/O选通I/O选通I/OB口基本I/OPC5输入输出输出STBBPC4BFBPC3INTRBPC2STBASTBAPC1BFABFAPC0INTRAINTRA例如 若不使用8155内部定时器且A口基本输入,禁止中断,B口基本输出,禁止中断,C口输出,则命令字为0EH。读出状态字知道A口、B口和定时器状态,格式为:D7 未用D6 定时器中断标志。定时计数值到后为高

47、 电平,读状态字或定时重启动为低电平D5 B口中断允许标志D4 B口缓冲器满/空标志(输入/输出)D3 B口中断请求标志D2D1D0功能分别与D5D4D3功能类似,仅对A 口14位减法计数器定时/计数器输出方式和初值如下图所示:D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0高字节寄存器低字节寄存器定时器输出方式计数器高6位计数器低8位 定时/计数器高字节寄存器的D7D6内容决定定时器输出方式,如下图所示:定时器高字节寄存器 D7、D6的值输出方式计数值到时输出波形00011011单个方波连续方波单个脉冲连续脉冲2. 8155A与8031接口及应用8155扩展I/O和片外RAM

48、如图所示: 设无关地址线取1,则8155片内RAM和I/O端口地址:8155A片内RAM地址范围为:7E00H7EFFH控制/状态寄存器:7FF8HPA口地址:7FF9HPB口地址:7FFAH PC口地址:7FFBH 定时器低字节寄存器:7FFCH定时器高字节寄存器:7FFDH 设上图中规定8155A各端口为基本的输出方式,将8031片内RAM 20H单元内容送PA口输出,将8031片内RAM 30H单元内容送至8155A片内30H单元法,要求写出对应的程序段。分析:a.满足要求命令字为:00001111B=0FHb.8155A片内30H单元对8031而言是片外RAM, 依据上图对应片外RAM

49、地址为7E30H。 相应的源程序段如下:例MOV DPTR,#7FF8H;指向C/S口MOV A,#0FH ;命令字AMOVX DPTR,A ;AC/S口;以上三条指令完成对8155A初始化。INC DPTR ;指向PA口MOV A,20H ;8031片内RAM20H单元内容AMOVX DPTR,A ;APA口输出MOV DPTR,#7E30H;指向8155A片内RAM30H单元MOV A,30H ;8031片内RAM30H单元内容AMOVX DPTR,A ;A8155A片内RAM30H单元(三).用串行口扩展并行I/O接口 MCS-51系列单片机中,串行口工作方式0是移位寄存器工作方式,可扩

50、展并行I/O接口。数据从RXD端出入,同时移位时钟从TXD端输出,发送和接收的数据都是8位,低位在先。不占用片外RAM空间,又简化了硬件结构,降低成本,适应于低速处理的外部设备与单片机进行信息交换。 1. 用串行口扩展并行输出口 74LS164是一个8位串入并行移位寄存器,采用双列直插式14引脚封装,A、B为串入数据输入端,QAQH为8位并出输出端,CLR为清零端,CLK为同步移位时钟输入端。 特别注意 串行移位在时钟脉冲上升沿实现,由于74LS164无并行输出允许端,在串行输入过程中,使输出端QAQH的状态不断变化。在应用系统中,需在74LS164输出端加三态门控制,保证所有串行输入数据结束

51、后再输出。 74LS164与串行口结合,扩二个8位并行输出口如图将8031片内RAM 40H-41H单元内容经串行口由74LS164并行输出,则相应的程序段为 SET P1.7 ;74LS164输出清零 MOV A,40H ;片内RAM 40H单元内容A MOV SCON,#00H;串行口置工作方式0 MOV SBUF,A ;将A串行口发送,同时启动串行口;工作WAIT: JNB TI,WAIT ;等待第一个字节发送完 CLR TI ;清IT标志 MOV A,41H ;将片内RAM41H单元A MOV SBUF,A ;A送串行口发送WAIT1: JNB TI,WATI1 ;等待第二个字节发送完

52、 CLR TI ;清TI标志本段程序执行完,1#74LS164输出为片内RAM41H单元内容,2#74LS164输出为片内RAM40H单元内容,QA为一个字节高位,QH为一个字节低位。 1. 用串行口扩展并行输入口 74LS165是8位并行置入移位寄存器,采用双列直插式16引脚封装。AH为并行8位输入端,H为高位,A为低位,QH为串行输出端, QH为反相串行输出端,CLK为时钟脉冲输入端,S/L为移位/置入控制端, SIN为串行口输入端,用于级连,NCLK为时钟禁止位,NCLK=0,允许时钟输入。 74LS165与串行口结合,扩一个8位并行输入口如图设从8位扩展并行口输入一个字节,存放在寄存器

53、B,则对应的程序段为: CLR P1.6 ;并行置入允许,S/L=0 SETB P1.6 ;允许串行移位S/L=1 MOV SCON,#10H;允许接受工作方式0,;启动接受WAIT: JNB RI,WAIT ;等待接受一帧 CLR RI ;清RI标志 MOV A,SBUF ;读入输入数据 MOV B, A ;存于B中6.5 A/D和D/A接口技术 在应用系统设计,必须把外量的物理量(电量和非电量 )变成数字量以便单片机接受。同时还必须把单片机经处理得到的数字量(控制量)转成模拟量,用以控制、调节一些执行机构,实现对被控对象的控制。将模拟量转换成数字量的器件称为模/数转换器或A/D转换器,将数

54、字量转换成模拟量的器件称为数/模转换器或D/A转换器。一种典型的MCS-51系列单片机监控系统框图如下图 由传感器(将电量或非电量转换成电量装置)、放大电路、整形滤波、采样保持器、多路开关及A/D构成多路模拟量输入通道,又称单片机监控系统的前向通道。 由D/A、多路开关、保持器、隔离放大、中间变换环节及执行机构成多路模拟量输出通道,又称单片机监控系统的后向通道。分辨率通常用数字量的位数表示,一般为8位、12 位、16位等。分辨率8位D/A,它表示可以对满量程的1/28的增量作出反应。 转换精度指满量程时DAC实际模拟输出值和理论值的接近程 度。 转换时间一般为几十纳秒几微秒。输出方式一般为电流

55、型输出,也有电压型输出。温度范围指D/A器件温度使用范围。线性度指DAC实际转换特性曲线和理想直线之间的最大偏移差 1. D/A转换器性能指标一. D/A转换器与单片机接口技术 DAC0830/ 0831/ 0832是8位的D/A转换集成芯片,与微处理器完全兼容,它们可以完全相互代换,国内使用最为广泛的是DAC0832,下面详细讨论DAC0832。2. 8位D/A转换器与8031接口 * 分辨率为8位 * 转换时间为1us * 输出电流线性度可在满量程下调节 * 功耗为20mw * 逻辑电平与TTL兼容 * 供电电源为单一电源,可在5-15V内 (1)DAC0832技术指标 (2)DAC083

56、2内部框图DAC0832共有20条引脚,双列直插式封装。数字量输入线8条( DI7DI0 );控制线5条;输出线3条;电源线4条。(3)DAC0832的引脚CSWR1AGNDDI3DI2DI1DI0VREFRFRDGNDVccILEWR2XFERDI4DI5DI6DI7IOUT2IOUT10832DAC0832 的引脚定义DI0DI7: 数字量输入。ILE: 输入锁存允许。控制第一级缓冲器的锁存控制第二级缓冲器的锁存VREF:基准电压。AGND:模拟信号地。VCC:工作电源。DGND:数字信号地。Rfb:片内反馈电阻。IOUT1:IOUT2:电流输出端,IOUT1+IOUT2=C(4) DAC

57、0832与单片机的接口单片机和0832接口时,有三种连接方式:直通方式单缓冲方式 用于一路模拟量输出或多路模拟量非同步输出的场合。双缓冲方式 用于多个DAC0832 同时输出的场合。单缓冲方式接口电路 将两级寄存器的控制信号并接在一起,无关的地址线取1,则DAC0832对应的端口地址为7FFFH 。 采用D/A转换器可以输出锯齿波、矩形波、三角波、梯形波等电压波形。 采用单缓冲方式输出上锯齿波的D/A转换程序: ORG 2000HSTART:MOV DPTR,#7FFFH ;选中0832 MOV A,#00H ;D/A数据初值LOOP: MOVX DPTR,A ;转换 ACALL DELAY2

58、ms ; 调2ms延时子程序 INC A ;修改D/A数据 SJMP LOOP ;循环,连续输出A=00A=0FFH双缓冲方式接口电路适应于含有多路D/A转换且要求同步输出的单片机应用系统中。第一步进行数字量输入锁存,第二步为D/A转换输出。 无关地址线取1,则1#0832数据输入的端口地址为BFFFH,2#0832数据输入的端口地址为DFFFH,同时启动两路D/A工作的端口地址为7FFFH。对应的程序段为: MOV DPTR,#0BFFFH ;指向1#08032端口地址MOV A,#DATA1MOVX DPTR,A ;将DATA1送入1#0832输入锁存器MOV DPTR,#0DFFFH ;

59、指向2#0832端口地址MOV A,#DATA2MOVX DPTR,A ;将DATA2送入2#0832输入锁存器MOV DPTR,#7FFFH ;指向启动1#、2#0832工作端口地址MOVX DPTR,A ;同时启动1#、2#0832;实现同步输出。 DAC1208系列D/A转换器和DAC1210系列D/A转换器都是12位D/A转换器,它们都与微处理器兼容。国内使用最广泛的是DAC1210,下面详细讨论DAC1210。 3. 12位D/A转换器与8031接口 * 分辨率为12位 * 转换时间为1us * 参考电压VREF=-10+10V * 功耗为20mw * 逻辑电平与TTL兼容 * 供电

60、电源为单一电源,可在5-15V内 (1)DAC1210技术指标 (2)DAC1210内部框图(3)DAC1210的引脚DI0DI11:12位数输入端、DI11为最高位BYTE1/BYTE2:输入数据字节顺序控制端,当该引脚为“”时,同时打开位输入锁存器和位输入锁存器,将12位数据全部送到锁存器中,当该引脚为“0”时,只将低4位数据送入4位输入锁存器中。其余各引脚功能与DAC0832对应引脚一样,参见前面内容。 (4) DAC1210与单片机的接口 (双极性输出方式 ) 无关地址线取1,则DAC1210中高8位数据送至8位输入锁存器端口地址为BFFFH;低4位数据送至4位输入锁存器的端口地址为9

温馨提示

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

评论

0/150

提交评论