C51单片机的系统扩展.ppt_第1页
C51单片机的系统扩展.ppt_第2页
C51单片机的系统扩展.ppt_第3页
C51单片机的系统扩展.ppt_第4页
C51单片机的系统扩展.ppt_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

第6章 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展 学习目的 1、了解80C51单片机的三总线即数据、地址和控制总线的 构成。 2、掌握80C51单片机扩展ROM和RAM的方法。 3、掌握80C51单片机扩展8255和8155的方法及应用。 学习重点和难点 1、ROM和RAM的扩展和分析方法。 2、可编程芯片8255A与8155的应用。 80C51系列单片机内部已有ROM、RAM、I/O和定时 计数器等基本功能部件,对于小的应用系统已经可以满足系 统要求。但对于较大的应用系统,还需进行系统扩展,如程 序存储器ROM、数据存储器RAM和并行I/O接口电路的扩展 。本章介绍80C51系统扩展。 第6章 80C51单片机的系统扩展 6.1 程序存储器扩展 6.1.1扩展总线 由于80C51单片机受引脚数量的限制,80C51系列单片机的 地址总线的低8位(A7A0)和数据总线合用P0口,因此P0 口是地址/数据复用口;P2口做地址线的高8位(A15A8); P3口的RD、WR加上控制线EA、ALE、PSEN等组成控制总 线。80C51单片机的三总线结构如图6-1所示,功能如下: 第6章 80C51单片机的系统扩展 1、数据总线D0D7 (1)数据总线的宽度为8位,由P0口提供。 (2)在读信号RD与写信号WR有效时,P0口上出现的为数 据信息。 2、地址总线A0A15 80C51单片机的地址总线宽度为16位,可寻址范围为2的 16次方=64KB。可扩展的片外ROM的最大容量为64KB,地 址为0000HFFFFH。可扩展的片外RAM的最大容量也为 64KB,地址为0000HFFFFH。地址总线A0A15是由P0 口和P2口共同组成,具体为: (1)地址总线的高8位(A15A8)是由P2口提供的,低8位 (A7A0)是由P0口提供的。 (2)在访问外部存储器时,由于P0口是地址/数据复用口,因 此需要加一个8位锁存器(74LS373)。由地址锁存信号 ALE的下降沿把P0口的低8位锁存至地址锁存器中,再加上 P2口提供的地址高8位,构成单片机的16位地址总线。 第6章 80C51单片机的系统扩展 (3)在实际应用系统中,P2口的高8位地址线并不需要这 么多,需要用几位就引出几根口线。 3、控制总线 控制总线由RD、WR、EA、ALE和PSEN等信号组成 ,具体功能如下: (1)读信号RD和写信号WR作为扩展数据存储器RAM和I/O 端口的读、写选通信号。执行MOVX指令时,这两个信号 分别自动有效。 (2)EA信号作为内、外程序存储器ROM的控制信号。 (3)ALE信号作为地址锁存的选通信号,以实现低8位地址 的锁存。 (4)PSEN信号作为扩展程序存储器ROM的读选通信号。 第6章 80C51单片机的系统扩展 6.1.2 常用程序存储器芯片 1、常用的EPROM芯片 扩展程序存储器常用的芯片是EPROM( Erasable Programmable Read Only Memory)型( 紫外线可擦除型),主要是Intel公司生产的27XXX系 列, 如2716(2K8)、2732(4K8)、2764( 8K8)、27128(16K8)、27256(32K8)、 27512(64K8)等,其中高位数字27表示该芯片是 EPROM,XXX数字能被8整除,表明存储器容量, 如2732(32/8=4KB)表示4KB存储容量的EPROM 。常用EPROM芯片管脚和封装如图6-2所示,主要 技术特性见表6-1。 第6章 80C51单片机的系统扩展 返回 第6章 80C51单片机的系统扩展 返回 第6章 80C51单片机的系统扩展 EPROM除2716、2732外均为28线双列直插式 封装,各引脚功能如下。 A0A15:地址输入线。 D0D7:双向三态数据总线,读或编程校验时为数据 输出线,编程时为数据输入线。其余时间呈高阻状态。 CE :片选线,低电平有效。 OE :读出选通线,低电平有效。 PGN :编程脉冲输入线。 VPP:编程电源线,其值因芯片生产厂商而有所不同 。 VCC:电源线,接+5V电源。 NC:空。 GND:接地。 第6章 80C51单片机的系统扩展 2、典型EEPROM芯片 Intel公司生产的28系列EEPROM是电可擦除只 读存储器,即可像RAM哪样可读可写,又具有 ROM在掉电后仍能长期保持所存储的数据,因此 ,它被广泛用作单片机的程序存储器和数据存储 器。常用的EEPROM的芯片引脚和容量如表6-2 ,芯片管脚和封装如图6-3所示。EEPROM共同 特点是: 单一的+5V电源供电,用+5 V电可擦除可写入. 使用次数为1万次,信息保存时间为10年。 读出时间为ns级,写入时间为ms级。 第6章 80C51单片机的系统扩展 返回 第6章 80C51单片机的系统扩展 EEPROM各引脚功能如下: A0A15:地址输入线。 D0D7:双向三态数据总线,有时也用I/O0 I/O7表示。 CE :片选线,低电平有效。 OE :读选通线,低电平有效。 WE :写选通线,低电平有效。 RDY/BUSY:2817A的状态输入线,低电平表 示在写操作,高电平表示准备好接收数据。 VCC:电源线,接+5V电源。 NC:空。 GND:接地。 第6章 80C51单片机的系统扩展 3、Flash(闪速)ROM FlashROM是一种新型的电擦除式存储器,它是在EPROM 工艺的基础上增添了芯片整体电擦除和可再编程功能。它即 可作数据存储器用,又可作程序存储器用,其主要性能特点 为: (1)电可擦除、可改写、数据保持时间长。 (2)可重复擦写/编程大于1万次。 (3)有些芯片具有在系统可编程ISP功能。 (4)读出时间为ns级,写入和擦除时间为ms级。 (5)低功耗、单一电源供电、价格低、可靠性高,性能比 EEPROM优越。 FlashROM型号很多,常用的有29系列和28F系列。29系 列有29C256(32K8)、29C512(64K8)、29C010( 128K8)、29C020(256K8)、29040(512K8)等, 28F系列有28F512(64K8)、28F010(128K8)、 28F020(256K8)、28F040(512K8)等。 第6章 80C51单片机的系统扩展 常用的29系列FlashROM芯片管脚和封装如图6 -4所示,引脚功能如下。 A0A17:地址输入线。80C51系列单片机的地址总 线为16根,只有64K的寻址能力,如果扩展的存储器寻址 范围大于64K,多余16根地址线就需要通过P1口或逻辑电 路来解决。 I/O0I/O7:双向三态数据总线,有时也用D0D7表 示。 CE:片选线,低电平有效。 OE:读选通线,低电平有效。 WE:写选通线,低电平有效。 VCC:电源线,接+5V电源。 GND:接地。 NC:空。 第6章 80C51单片机的系统扩展 返回 第6章 80C51单片机的系统扩展 6.1.3 程序存储器扩展实例 程序存储器的扩展问题实际上就是研究程序存储器与单片 机的连线问题,程序存储器与单片机的连线主要是三总线, 具体是: 数据线: 存储器的数据线D7D0有8位,由单片机的P0口的 P0.7P0.0提供。 地址线:地址线的根数决定了程序存储器的容量。程序存储 器的A7A0低8位地址线由P0口提供,程序存储器的A15 A8的高8位地址线由P2口提供,具体使用多少条地址线视扩 展容量而定。 控制线:常用的有三根控制线。 程序存储器的读允许信号OE与单片机的读选通信号PSEN 相连;程序存储器片选线CE的接法决定了程序存储器的 地址范围,当只采用一片程序存储器芯片时,可以直接接地 ,当采用多片程序存储器芯片时需要使用译码器来选中,可 直接接译码器的输出。 下面通过实例来介绍程序存储器扩展。 第6章 80C51单片机的系统扩展 一、用线选法扩展一片程序存储器。 线选法是指用一根线连接片选CE信号。此方法连接简单、 成本低、容易掌握,但是,缺点是存储器的地址不唯一。下 面通过举例来说明。 例6.1 在80C31单片机上用27128A EPROM芯片扩展程 序存储器。 分析: 1、确定需要几根地址线。27128A EPROM芯片是16 KB8存储器,其中 16K=161024=24210=214,因此,需要14根地址线,即A0A13。 2、确定三总线。 数据线:27128A的数据线D7D0直接接80C31的P0.7P0.0。 地址线:27128A的地址线低8位A7A0通过锁存器74LS373与P0口连 接,高6位A8A13直接与P2口的P2.0P2.5连接,P2口本身有锁存功 能。 控制线:CPU对EPROM只能进行读操作,不能进行写操作。CPU对 27128A的读操作控制都是通过控制线实现的。27128A控制线的连接有 以下几条: 第6章 80C51单片机的系统扩展 CE片选线:直接接地。由于系统中只扩展了一片程序存储器芯片 ,因此,27128A的片选端直接接地,表示27128A一直被选中。若同 时扩展多片,需通过译码器来完成片选工作。 OE读选通线:接80C31的读选通信号PSEN端。在访问片外程序 存储器时,只要PSEN端出现负脉冲,即可从27128A中读程序。 根据上述分析可画出80C31扩展一片27128A的电路图如图6-5所示。 3、27128A程序存储器地址范围的确定。 其中,“”表示与27128A管脚无关,数值可取0或1(地址范围不是 唯一的),通常取0。 因此,27128A程序存储器地址范围为0000H3FFFH(“”取0) ,共计16KB存储容量。 第6章 80C51单片机的系统扩展 例6.2:用80C31单片机扩展一片29C256 Flash PEROM存储器。 分析: 1、确定需要几根地址线。29C256 Flash PEROM芯片是32KB8存储 容量,其中32K=321024=25210=215,因此,需要15根地址线 ,即A0A14。 2、确定三总线。 数据线:29C256的数据线D7D0直接接80C31的P0.7P0.0。 地址线:29C256的地址线低8位A7A0通过锁存器74LS373与P0 口连接,高7位A8A14直接与P2口的P2.0P2.6连接,P2口本身有 锁存功能。 控制线:80C31单片机与29C256的控制线连接采用了将外部数据 存储器空间和程序存储器空间合并的方法,使得29C256既可以作为 程序存储器使用,又可以作为数据存储器使用。 CE片选线:直接接地。由于系统中只扩展了一片程序存储器芯片 ,因此,29C256的片选端直接接地,表示29C256一直被选中。 第6章 80C51单片机的系统扩展 OE读选通线:80C31的程序存储器读选通信号PSEN和数据存储器 读信号RD经过“与”门后,接到29C256的读选通线OE上。因此,只要 PSEN和RD中一个有效,就可以对29C256进行读操作。也就是说,对 29C256既可以看作程序存储器取指令,也可以看作数据存储器读出数 据。 WE写选通线:与80C31的数据存储器写信号WR相连,只要执行数 据存储器写操作指令,就可以往29C256中写入数据。 根据上述分析可画出80C31扩展一片29C256的电路图如图6-6所示。 3、29C256存储器地址范围的确定。 因此,29C256存储器地址范围为0000H7FFFH(“”取0),共计 32KB存储容量。 这样来,29C256的数据写入和读出与静态RAM完全相同,采用 MOVX A,DPTR和MOVX DPTR,A指令来完成读写操作。 第6章 80C51单片机的系统扩展 二、用译码法扩展一片2764 译码法又称全地址译码法,所有的地址线都参 与译码。下面通过举例来说明。 例6.3:用译码法扩展一片2764 EPROM存储器。 分析: 1、确定需要几根地址线。2764 EPROM芯片是8 KB8存储 器,其中8K=81024=23210=213,因此,需要13根地 址线,即A0A12。 2、确定三总线。 数据线:2764的数据线D7D0直接接80C31的P0.7 P0.0。 地址线:2764的地址线低8位A7A0通过锁存器 74LS373与P0口连接,高6位A8A12直接与P2口的P2.0 P2.4连接。 第6章 80C51单片机的系统扩展 控制线:CPU对EPROM只能进行读操作,不能进行写操作。CPU 对2764的读操作控制都是通过控制线实现的。2764控制线的连接有 以下几条: CE片选线:由于采用译码法,因此,它是通过74LS138译码器的 输出端Y0来控制,当Y0=0时,才能够选中2764芯片。 OE读选通线:接80C31的读选通信号PSEN端。在访问片外程序 存储器时,只要PSEN端出现负脉冲,即可从2764中读程序。 根据上述分析可画出80C31扩展一片2764的电路图如图6-7所示。 3、2764程序存储器地址范围的确定。 因此,2764存储器地址范围为0000H1FFFH,共计8KB存储容 量,而且地址范围是唯一的。 第6章 80C51单片机的系统扩展 6.2 数据存储器扩展 80C51单片机片内数据存储器RAM 只有128B,在应用时若RAM容量不够 ,就要在片外进行数据存储器RAM的 扩展,片外数据存储器RAM可扩展的 最大容量为64KB。RMA分为动态存储 器(DRAM)和静态存储器(SRAM ),DRAM需要定时刷新,一般用在 微机中,单片机中不适用,单片机中 主要采用SRAM。 第6章 80C51单片机的系统扩展 6.2.1 常用数据存储器芯片 静态存储器(SRAM)具有存取速度快、使用方便和价 格低等优点。但它的缺点是,一旦掉电,内部所有数据信 息都会丢失。常用的SRAM有6116(2KB8)、6264( 8KB8)、62128(16KB8)、62256(32KB8)等芯 片。常用SRAM芯片管脚和封装如图6-8所示,引脚功能如 下。 A0A15:地址输入线。 D0D7:双向三态数据总线,有时也用I/O0I/O7表示 。 CE:片选线,低电平有效。6264的26脚(CS)必须接高 电平,并且CE为低电平时才选中该芯片。 OE:读选通线,低电平有效。 WE:写选通线,低电平有效。 VCC:电源线,接+5V电源。 NC:空。 GND:接地。 第6章 80C51单片机的系统扩展 返回 第6章 80C51单片机的系统扩展 6.2.2 数据存储器扩展实例 一、用线选法扩展一片数据存储器SRAM 。 例6.4:在单片机应用系统中需要扩展8KB SRAM。 分析:选用静态存储器6264芯片,具体分析方 法如下: 1、确定需要几根地址线。6264 SRAM芯片是 8KB8存储容量,其中 8K=81024=23210=213,因此,需要13根 地址线,即A0A12。 第6章 80C51单片机的系统扩展 2、确定三总线。 数据线:6264 SRAM的数据线D7D0直接与80C31的 P0.7P0.0相接。 地址线:6264 SRAM的地址线低8位A7A0通过锁存器 74LS373与P0口连接,高7位A8A12直接与P2口的P2.0 P2.4连接,P2口本身有锁存功能。 控制线: CE片选线:直接接地。由于系统中只扩展了一片数据 存储器芯片,因此,6264 SRAM的片选端直接接地,表 示6264 SRAM一直被选中。 OE读选通线:直接与80C31的RD端相连,只要执行数 据存储器读操作指令,就可以把6264 SRAM中的数据读 出。 WE写选通线:与80C31的数据存储器写信号WR相连 ,只要执行数据存储器写操作指令,就可以往6264 SRAM中写入数据。 第6章 80C51单片机的系统扩展 根据上述分析可画出80C31扩展一片6264 SRAM的电 路图如图6-9所示。 3、6264 SRAM存储器地址范围的确定。 80C31单片机读/写外部数据SRAM的操作使用MOVX指 令,用Ri(i=0,1)间接寻址或用DPTR间接寻址,指令如下: MOVX DPTR ,A ;64 KB内写入数据 MOVX A ,DPTR ;64 KB内读取数据 对低256 B的读写指令: MOVX Ri ,A;低256 B内写入数据 MOVX A ,Ri ;低256 B内读取数据 第6章 80C51单片机的系统扩展 例6.5:把外部数据存储器1000H单元中的数据传 送到外部数据存储器1200H单元中去。 解:程序如下 ORG 0000H LJMP MAIN ORG 0200H MAIN:MOV DPTR ,#1000H MOVX A ,DPTR ;先将1000H单元的内容传送到累加器A中 MOV DPTR,#1200H MOVX DPTR ,A ;再将A中的内容传送到1200H单元中 END 第6章 80C51单片机的系统扩展 二、用译码法扩展 例6.6:80C51用译码法扩展一片62256 RAM 和一片27256 ROM。 分析: 1、确定需要几根地址线。62256 RAM和27256 ROM芯片 都是32KB8存储容量,其中 32K=321024=25210=215,因此,需要15根地址线 ,即A0A14。 2、确定三总线。 数据线:62256 RAM和27256 ROM芯片的数据线D7 D0直接与80C51的P0.7P0.0相接。 地址线:62256 RAM和27256 ROM芯片的地址线低8位 A7A0通过锁存器74LS373与P0口连接,高7位A8 A14直接与P2口的P2.0P2.6连接。 第6章 80C51单片机的系统扩展 控制线: CE片选线:由于采用译码法,因此,它是通过74LS138 译码器的输出端Y0来控制27256 ROM芯片,当Y0=0时(即 P1.1、P1.0、P2.7都为0),才能选中27256 ROM芯片;用 Y1来控制62256 RAM芯片, 当Y1=0时(即P1.1、P1.0=0, P2.7=1),才能选中62256 RAM芯片。 OE读选通线:62256 RAM芯片OE线直接与80C51的RD 端相连,只要执行数据存储器读操作指令MOVX A,DPTR 就可以把62256 RAM芯片中的数据读出;27256 ROM芯片 OE线直接与80C51的PSEN端相连。 WE写选通线:62256 RAM芯片WE线与80C51的写信号 WR相连,只要执行数据存储器写操作指令MOVX DPTR , A, 就可以往62256 RAM芯片中写入数据。 根据上述分析可画出80C51用译码法扩展一片62256 RAM和一片27256 ROM的逻辑电路图如图6-10所示。 第6章 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展 3、62256 RAM和27256 ROM存储器地址范围的确定。 (1)27256 ROM存储器地址范围的确定 因此,27256 ROM存储器地址范围为0000H7FFFH,共计 32KB存储容量。 (2)62256 RAM存储器地址范围的确定 而62256 RAM存储器地址范围为8000HFFFFH,共计32KB存储 容量。 第6章 80C51单片机的系统扩展 6.3 简单并行I/O接口的扩展 80C51系列单片机内部有4个8位并行I/O口P0P3,共32根 引脚,当需要片外扩展存储器时,P0口分时地作为低8位地址线和 数据线,P2口作为高8位地址线。P3口具有第二功能,在应用系 统中也常被使用。因此在大多数的应用系统中,真正能够提供给 用户使用的只有P1和部分P2、P3口,当所接外设较多时,就必 须扩展I/O接口。 80C51单片机扩展的I/O口和片外数据存储器采用统一编址、 相同的寻址方法,因此,对片外I/O口的输入/输出指令就是访问 片外RAM的指令,扩展方法与片外数据存储器相同。 6.3.1 简单I/O接口扩展芯片 所谓简单的I/O口扩展就是采用通用TTL、CMOS锁存器和缓冲 器等作为扩展芯片,通过P0口来实现扩展的一种方案。它具有电 路简单、成本低、配置灵活等特点,因此,在单片机应用系统中 经常被采用。 常用的芯片有74LS237(8D触发器)、74LS373(8D锁存器)、 74LS377(带使能的8D触发器)、74LS244(带三态8缓冲线驱动器) 和74LS245(8双向总线收发器)等。74LS244的内部结构如图6-11 所示, 74LS373的内部结构如图6-12所示。 第6章 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展 6.3.2 简单并行I/O接口扩展实例 图6-13所示是80C51单片机扩展一个输入接口74LS244和一 个输出接口74LS273电路。 P0口作为双向数据总线,用74LS244扩展8位输入,输入由8 只开关K0K7控制,开关闭合为低电平,开关断开为高电平; 用74LS273扩展8位输出,输出信号控制8只发光二级管,74LS273 输出为低电平时,发光二极管亮,74LS273输出为高电平时,发 光二极管灭。只要P2.0为0,就选中74LS244或74LS273,所以 74LS244和74LS273的地址均为FEFFH。 编写控制程序,程序实现的功能是闭合任意开关,对应的LED 发光 参考程序: ORG 0000H LJMP MAIN ORG 0200H MAIN:MOV DPTR,#0FEFFH ;数据指针指向口地址 MOVX A,DPTR ;检测开关状态,读入74LS244数 据 MOVX DPTR,A ;向74LS273输出数据,驱动LED SJMP MAIN END 第6章 80C51单片机的系统扩展 仿真链接 返回 第6章 80C51单片机的系统扩展 6.4 8255可编程并行接口扩展 所谓可编程的接口芯片是指其功能可由单片机的指令来加以 改变,通过编程,可以使接口芯片执行不同的接口功能。 8255A是Intel公司为单片机配套的通用可编程并行接口芯片, 8255A接口芯片有3个8位并行输入/输出端口,可利用编程方法 设置3个端口是作为输入端口还是作为输出端口。 6.4.1 Intel 8255A的结构与功能 Intel 8255A是一个40引脚双列直插的芯片,其引脚如图6-14 所示。 1、8255A的引脚 1)、与单片机相连的引脚 D7D0:数据线,双向、三态。 RD:读信号,输入、低电平有效。 WR:写信号,输入、低电平有效信号。 CS:片选信号,输入、低电平有效。 A1、A0:地址线,输出。 A1、A0与8255内部寄存器的关系如表6-3所示。 第6章 80C51单片机的系统扩展 2)、与外设相连的引脚 PA7PA0:A端口数据信号引脚 PB7PB0:B端口数据信号引脚。 PC7PC0:C端口数据信号引脚。 3)、其它引脚 RESET:复位信号,输入、高电平有效。 VCC、GND:电源+5V和接地引脚。 2、8255A的内部结构与功能 8255A的内部结构如图6-15所示。它包括四个部分: 数据总线缓冲器; 读写控制逻辑; A组控制; B组控制。 端口A和端口C的高4位(PC7PC4)构成A组,由A组 控制部件来对它进行控制; 端口B和端口C的低4位(PC3PC0)构成B组,由B组 控制部件对它进行控制。 第6章 80C51单片机的系统扩展 各部分的组成和功能如下: 1)、数据总线缓冲器 数据总线缓冲器是一个双向、三态、8位的数据缓冲器,8255A通 过数据缓冲器与单片机的数据总线相连,输入数据、输出数据、CPU 发送的控制命令字都是通过数据总线缓冲器来传送的。 2)、读/写控制逻辑 读/写控制逻辑接收来自单片机地址总线的地址信号和控制总线的 控制信号,实现对8255A的复位、片选、端口寻址,并发出命令到A 组控制部件或B组控制部件。 3)、数据端口A、端口B和端口C 8255A有三个8位的数据端口:端口A、端口B和端口C。可以通过 程序设定,使它们作为输入端口或输出端口与单片机或外部设备进行 数据、控制和状态信息的交换。 4)、A组控制部件和B组控制部件 A组控制部件控制由端口A和端口C的高4位(PC7PC4)组成的A组 ;B组控制部件控制由端口B和端口C的低4位(PC3PC0)组成的B组 。这两个组控制部件接收8255A内部数据总线送来的控制字,以及读/ 写控制逻辑送来的读/写命令,确定对这两个组的具体操作。 第6章 80C51单片机的系统扩展 6.4.2 Intel 8255A的控制字 8255A是可编程接口芯片,要使8255A工作,必须把工作命 令控制字写入8255A的控制字寄存器。8255A共有两种控制字: -工作方式选择控制字; -对端口C置位/复位控制字。 1、方式选择控制字 8255A的选择工作方式的控制字格式和各位的含义如图6-16所 示。 小结: (1)、端口A可以工作于方式0、方式1、方式2共三种工作方 式,可以作为输入端口或输出端口; (2)、端口B可以工作于方式0、方式1两种工作方式,可以作 为输入端口或输出端口; (3)、端口C分成高4位(PC7PC4)和低4位(PC3PC0),可 分别设置成输入端口或输出端口;端口C的高4位与端 口A配合组成A组,端口C的低4位与端口B配合组成B组 (4)、D71表明是设定方式选择控制字。 第6章 80C51单片机的系统扩展 例6.6: 设8255A的控制字寄存器端口地址为3003H,使端口A、端 口B都工作于方式0,端口A、端口B、端口C都作为输入端口, 则控制字为10011011B,设置8255A控制字的程序段如下: MOV DPTR ,#3003H MOV A ,#9BH MOVX DPTR,A 2、端口C按位置位/复位控制字 端口C可以按位进行置位/复位操作,也就是使端口C的 各位分别设置为1或0。控制字的格式如图6-17所示。 控制字中,D70(特征位),表示是端口C按位置位/ 复位控制字。D3、D2、D1选择端口C要进行置位/复位操 作的位。 例6.7:设8255A的控制字寄存器的端口地址为3003H,要设置PC3 1,则按位置位/复位控制字为00000111B,设置8255A置位/ 复位控制字的程序段如下: MOV DPTR,#3003H MOV A,#07H MOVX DPTR,A 第6章 80C51单片机的系统扩展 6.4.3 Intel 8255A的工作方式 1、方式0 方式0也被称为基本输入/输出工作方式,不需要应答联络信 号。端口A、端口B和端口C的高4位及低4位都可以作为输入或 输出端口。 2、方式1 方式1是一种选通输入/输出方式,也称为应答方式。在这种 工作方式下,端口A和端口B作为输入或输出数据的数据端口。 端口C的某些位作为联络信号,配合端口A和端口B工作。端口 C联络信号如表6-4所示。 3、方式2 方式2也被称为双向选通输入/输出方式,只有端口A可以工 作于这种方式。在这种方式下,利用端口A既可以进行数据输 入,也可以进行数据输出。输入或输出的数据都被锁存。端口 B仍可独立工作于方式0或方式1。8255A工作于方式2时,端口 C的PC3PC7作为方式2的控制和状态信息,端口C联络信号 如表6-4所示。 第6章 80C51单片机的系统扩展 6.4.4 8255A与单片机89S51的连接 8255A和89S51单片机的连接非常简单,只需将相互的 数据线、RD和WR对接,将8255A的地址线和片选线与 89S51地址线相接,PA、PB和PC与外设相接即可。图6- 18是一个用89S51(89C51)单片机扩展1片2764 EPROM(8K8)、2片6264 SRAM(8K8)和1片可编程并行 接口8255A的电路。8255A的PA、PB和PC接外部设备。 1、连线说明 数据线:8255A的8根数据线D0D7直接和P0口相连。 控制线:8255A的复位线RESET与89S51的复位端相连 (在图6-18中未画出)。8255的RD和WR与89S51的RD和 WR相连。 图中采用了74LS138译码器,作为各芯片的片选信号。 其中Y0接2764芯片的CE,Y1接6264(1)芯片的CE,Y2 接6264(2)芯片的CE,Y3接8255A芯片的CS。 2、地址范围的确定 2764、6264和8255A地址范围确定如下: 第6章 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展 6.4.5 8255A可编程并行接口扩展应用实例 8255A在使用前必须进行初始化,8255A初始化编程 基本包括两个步骤:首先根据问题要求写出方式选择控制 字,然后编写初始化程序,把方式选择控制字写入控制字 寄存器。 例6.7: 如图6-19所示,在8255的B口接有8个按键,A口 接有8个发光二极管,按下某一按键,相应的发光二极管 发光,试设计程序完成这一功能。 解:根据电路图6-19,可确定8255A的端口地址如下 : 第6章 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展 参考程序如下: ORG 0000H LJMP MAIN ORG 0200H MAIN: MOV DPTR,#0003H ;指向8255的控制口 MOV A,#83H MOVX DPTR, A ;向控制口写控制字,A口输出,B口输入 MOV DPTR,#0001H ;指向8255的B口 LOOP: MOVX A, DPTR ;检测按键,将按键状态读入A累加器 MOV DPTR,#0000H ;指向8255的A口 MOVX DPTR, A ;驱动LED发光 SJMP LOOP ;循环 END 第6章 80C51单片机的系统扩展 6.5 8155/8156可编程并行接口扩展 Intel公司研制的8155/8156芯片内包含: 两个8位的I/O端口(A口、B口)、一个6位的I/O端口(C口); 256 B的静态SRAM存储器; 一个14位的定时/计数器。 8155和80C51单片机的接口非常简单,目前得到广泛应用。 8155/8156的引脚和内部结构基本相同,唯一区别是片选信号的电平 不同,其它功能完全一样,因此,下面介绍8155。 6.5.1 8155的结构和引脚 8155有40个引脚,采用双列直插封装,其引脚图和内部组成框图 如图6-20所示。 第6章 80C51单片机的系统扩展 1、8155A的引脚 8155各引脚定义如下: AD0AD7(8条):地址/数据线复用线,因8155片内有地址锁存器,该组 引脚直接与80C51单片机的P0口直接相连。 (2) I/O口总线(22条):PA0PA7、PB0PB7分别为端口A和端口B用于 传送数据;PC0PC5为端口C既可用于传送数据,也可用作端口A和端口B 的控制联络信号线。 (3) 控制总线(8条): RESET:复位输入信号,高电平有效,复位后,8155的3个端口都为输入方 式。 CE:片选信号,低电平有效。 RD:读选通信号,低电平有效, 控制8155的读操作 WR:写选通信号,低电平有效, 控制8155的写操作。 IO/M:RAM及I/O选择。在片选信号有效的情况下,该信号为高电平,表明 80C51单片机选择的是8155的I/O读写;为低电平,表明80C51单片机选择的 是8155的RAM读写。 ALE:地址锁存信号, 高电平有效。8155片内有地址锁存器,该信号的下降 沿将AD0AD7上的地址信息以及CE、IO/M的状态锁存在8155的内部寄存器 内。因此,单片机的P0口和8155连接时,无需外接锁存器。 TIMER IN:定时/计数器的输入端。 其输入脉冲对8155内部的14位定时/计 数器减1。 TIMER OUT:定时/计数器的输出端。当计数器计满回0时,8155从该线输 出脉冲或方波,波形形状由计数器的工作方式决定。 第6章 80C51单片机的系统扩展 2、8155 RAM和I/O的端口地址 当片选信号CE=0,RAM及I/O选择位IO/M=0时,8155 只能做片外RAM使用,共256B。地址的高8位由片选信号 确定,地址的低8位为00HFFH。当系统同时扩展有片外 数据存储器RAM时,二者是统一编址。对8155内部RAM 的操作要使用片外RAM的读/写指令MOVX进行访问。 当片选信号CE=0,RAM及I/O选择位IO/M=1时,对 8155片内3个I/O端口(PA、PB、PC)以及命令/状态寄存 器和14位定时/计数器进行操作。 8155内部RAM、I/O端口及定时/计数器的地址如表6-5 。 第6章 80C51单片机的系统扩展 6.5.2 8155的工作方式 1、工作方式设置及状态寄存器格式 8155的工作方式由可编程命令寄存器内容决定,因此在8155操作 前,80C51单片机须向命令寄存器送命令字,设定其工作方式,命令字 只能写入不能读出。8155内部还有一个状态寄存器,只能读出不能写 入。8155的状态寄存器和命令寄存器是两个独立的8位寄存器,8155的 状态寄存器和命令寄存器共用一个地址,若8155的00H口是命令/状态 口,CPU往00H写入的是命令字,而从中读出的是状态字。 (1)工作方式设置 8155的工作方式的确定也是通过对8155的命令寄存器写入控制字来 实现的。8155控制字的格式如图6-21所示。 控制字只能通过指令MOVX DPTR, A或MOVX Ri, A写入命令 寄存器。 例6.8: 若8155的命令/状态寄存器地址为00H,设A、B口为基本输出 方式,C口为基本输出方式,试编写8155的初始程序。 解:根据题意控制字为0FH, 8155的初始程序如下: MOV R0,#00H ;送命令寄存器的地址 MOV A,#0FH ;A、B口为基本输出方式,C口为基本输出方式 MOVX R0,A 第6章 80C51单片机的系统扩展 (2) 状态寄存器格式 8155的状态寄存器由8位锁存器组成,状态寄存器中存放有状 态字,状态字反映了8155的工作情况,只能读出不能写入,8155 状态字的各位定义如图6-22所示。 状态寄存器只能通过指令MOVX A ,DPTR或MOVX A, Ri来读出,以此来了解8155的工作状态。 第6章 80C51单片机的系统扩展 2、8155作定时/计数器 8155定时/计数器是一个14位的减法计数器,它由两个8位寄存器组成 ,计数初值要分两次写入,低8位写入T7T0位,高6位写入T13T8位, 写入计数初值范围为2H3FFFH。在TIMER IN端输入计数脉冲,计满时 由TIMER OUT输出脉冲或方波,M2M1两位决定计数器回零的输出方式。 当TIMERIN接外脉冲时为计数方式,接系统时钟时为定时方式,8155定时 /计数器格式及M2、M1功能如图6-23所示。 当8155用作计数时,计数初值=脉冲个数,脉冲个数最大值为 214=16384个。 当8155用作定时时, 计数初值= 如果计数初值为偶数,输出方波是对称;如果计数初值为奇数,输出 方波是将不对称,例如,计数初值为7时,输出方波是4个输入时钟周期内 为高电平,3个输入时钟周期内为低电平。 第6章 80C51单片机的系统扩展 6.5.3 80C51单片机与8155的连接 80C51单片机与8155的连接非常简单,因为8155内部 有一个8位地址锁存器,故无需外接锁存器。80C51单片 机与8155的连接如图6-24所示。 根据图6-24所示,可确定RMA、I/O口地址如下: 若“”取0,则8155内部RAM的地址范围为0000H 00FFH,8155各端口地址如下: 命令/状态口:4000H PA口:4001H PB口:4002H PC口:4003H 定时/计数器地址 低8位地址:4004H 高8位地址:4005H 第6章 80C51单片机的系统扩展 6.5.4 8155可编程并行接口扩展应用实例 例6.9:89S51控制LED显示器的典型应用是用8155作为接口扩展 ,其中8155作为6位共阴极LED显示器接口,PA口经驱动器 74LS07接LED的段选,PB0PB5经反相器74LS06接位选,从左 到右依次显示“012345”6个字符。 分析:8155 PA口为输出,控制LED显示器字形,PB口为输出,控制 LED显示器的位选,PA、PB采用基本I/O方式,控制字为03H。电路如 图6-25所示,其中P2.7接8155的CE,P2.6接8155的IO/M,当CE=0、 IO/M=1时,选中8155的I/O口,若“”取0,则命令/状态口地址为4000H 、PA口地址为4001H、PB口地址为4002H。 第6章 80C51单片机的系统扩展 参考程序如下: ORG 0000H LJMP MAIN ORG 0200H MAIN: MOV DPTR,#4000H ;指向命令口 MOV A,#03H ;PA、PB基本输出方式 MOVX DPTR,A ;送控制字 MOV DPTR,#4002H ;送PB地址 MOV A,#00H MOVX DPTR,A ;清显示 LOOP: MOV R2,#00H ;R2字形码表偏移量 MOV R3,#01H ;送R3位选(左边第一位) LP1 : MOV DPTR,#4002H ; 送PB地址 MOV A,R3 MOVX DPTR,A ;B口输出位选 MOV A,R2 MOV DPTR,#TABE ;送字形码表地址 MOVC A,A+DPTR ;查找字形码 MOV DPTR,#4001H ;送PA地址 第6章 80C51单片机的系统扩展 MOVX DPTR,A ;A口输出字形码 ACALL DELAY ;调延时1秒子程序 INC R2 ;指向下一位字形 MOV A,R3 RL A ;左移,指向下一位 MOV R3,A CJNE R3,#40H,LP1 ;6个LED显示完吗 SJMP LOOP ;循环 DELAY: MOV R4,#100H ;延时1秒程序 DEL1: MOV R5,#10 DEL2: MOV R6,#7DH DEL3: NOP NOP DJNZ R6,DEL3 DJNZ R5,DEL2 DJNZ R4,DEL1 RET EDN TABE: DB 3FH, 06H,5BH,4FH,66H,6DH ;05字形码 第6章 80C51单片机的系统扩展 例6.10: 如图6-24所示,若8155的PA口、 PB口为基本输入 方式,定时/计数器作为方波发生器,对80C51输入脉冲 进行10分频(注意8155的计数最高频率约

温馨提示

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

评论

0/150

提交评论