单片机的系统扩展原理及接口技术 第8章习题答案 高锋第二版

上传人:wm****3 文档编号:47051911 上传时间:2018-06-29 格式:PDF 页数:9 大小:459.01KB
返回 下载 相关 举报
单片机的系统扩展原理及接口技术  第8章习题答案  高锋第二版_第1页
第1页 / 共9页
单片机的系统扩展原理及接口技术  第8章习题答案  高锋第二版_第2页
第2页 / 共9页
单片机的系统扩展原理及接口技术  第8章习题答案  高锋第二版_第3页
第3页 / 共9页
单片机的系统扩展原理及接口技术  第8章习题答案  高锋第二版_第4页
第4页 / 共9页
单片机的系统扩展原理及接口技术  第8章习题答案  高锋第二版_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《单片机的系统扩展原理及接口技术 第8章习题答案 高锋第二版》由会员分享,可在线阅读,更多相关《单片机的系统扩展原理及接口技术 第8章习题答案 高锋第二版(9页珍藏版)》请在金锄头文库上搜索。

1、 第 8 章 思考与练习题解析 【81】简述单片机系统扩展的基本原则和实现方法。 【答】 系统扩展是单片机应用系统硬件设计中最常遇到的问题。 系统扩展是指单片机内部各 功能部件不能满足应用系统要求时, 在片外连接相应的外围芯片以满足应用系统要求。 80C5 1 系列单片机有很强的外部扩展能力,外围扩展电路芯片大多是一些常规芯片,扩展电路及 扩展方法较为典型、规范。用户很容易通过标准扩展电路来构成较大规模的应用系统。 对于单片机系统扩展的基本方法有并行扩展法和串行扩展法两种。 并行扩展法是指利用 单片机的三组总线(地址总线 AB、数据总线 DB 和控制总线 CB)进行的系统扩展;串行扩展 法是指

2、利用 SPI 三线总线和 12C 双线总线的串行系统扩展。 1外部并行扩展 单片机是通过芯片的引脚进行系统扩展的。 为了满足系统扩展要求, 80C51 系列单片机 芯片引脚可以构成图 8-1 所示的三总线结构, 即地址总线 AB、 数据总线 DB 和控制总线 CB。 单片机所有的外部芯片都通过这三组总线进行扩展。 2外部串行扩展 80C51系列单片机的串行扩展包括:SPI(Serial Peripheral Interface)三线总线和 12C 双 总线两种。在单片机内部不具有串行总线时,可利用单片机的两根或三根 IO 引脚甩软件 来虚拟串行总线的功能。12C 总线系统示意图如图 82 所示

3、。 【82】如何构造 80C51 单片机并行扩展的系统总线? 【答】80C51 并行扩展的系统总线有三组。 地址总线(A0A15): 由 P0口提供低 8 位地址A0A7, P0 口输出的低 8 位地址 A0 A7 必须用锁存器锁存,锁存器的锁存控制信号为单片机引脚 ALE 输出的控制信号。由 P2 口提供高 8 位地址 A8A1 5。 数据总线(DOD7):由 P0 口提供,其宽度为 8 位,数据总线要连到多个外围芯片 上, 而在同一时间里只能够有一个是有效的数据传送通道。 哪个芯片的数据通道有效则由地 址线控制各个芯片的片选线来选择。 控制总线(CB):包括片外系统扩展用控制线和片外信号对

4、单片机的控制线。系统扩展用控制线有 ALE、PSEN、EA、WR 和 RD。 【8-3】 8OC51 单片机扩展一片 Intel 2764 和一片 Intel 6264,组成一个既有程序存储器又有 数据存储器的系统,请画出逻辑连接图,并说明各芯片的地址范围。 【答】采用线选法译码。 注意:复位后,PC=0000 H。对 2764 与 6264 芯片采用不同的控制线程序存储器 2764 和数据存储器 6264 与 80C51 的连接图如图 8-3 所示。 当 P2.7=0,P2.6=0,PSEN=0 时,选中 2764,因此,程序存储器 2764 地址为 0000 H 1FFF H(因为系统中只

5、扩展了一片程序存储器,所以 2764 的 CE 端也可以直接接地)。要注 意 80C51 内部自带程序存储器, 当外扩程序存储器 2764 地址为 0000 H1FFFH 时, 必须将 80C51 的 EA 引脚接地。若 80C51 的 EA 引脚接高电平,则 2764 地址为 1000 H2FFF H。 当 P2.7=1,P2.6=0,P2.5=1,RD=0 或 WR=0 时,选中 6264,因此,数据存储器 6264 地址为 A000HBFFFH。 【84】 在 80C51 单片机系统中, 外接程序存储器和外接数据存储器共用 16 位地址线 A0 A15 和 8 位数据线 D0D7,为什么

6、不会发生冲突? 【答】 因为对外接程序存储器和外接数据存储器采用不同的指令, 从而产生不同的控制信号 来加以区别。对不同类型存储器分时进行选通,不会引起混乱。 对程序存储器使用 MOVC 指令,该指令使 PSEN 输出变为低电平,而 PSEN 信号通常 是作为扩展程序存储器的读选通信号,所以该信号低电平使得程序存储器读使能。 对外接数据存储器使用 MOVX 指令,该指令使能 WR 和 RD 信号。而 RD 和 WR 通常 作为扩展数据存储器和 IO 端口的读写选通信号。 【85】8OC51 单片机外扩多片 8 KB8 位 RAM 芯片,要实现最大数据存储器扩展,采 用 74LSl38 译码器进

7、行地址译码,请画出扩展连接示意图,并说明各芯片的地址范围。 【答】8 KB 容量的 RAM 需要 13 根地址线进行片内译码,因此,80C51 单片机的 16 根地 址总线还剩下 3 位,正好用做 74LSl38 译码器的输入,所以最多可以扩展 8 片 8 KB 容量的 RAM,每个芯片的地址是确定的。8 片 8 KB 数据存储器的扩展原理图如图 8-4 所示。 8 片 8 KB 容量的数据存储器的地址分别为: (O)OOOO H1FFFH (1)2000 H3FFF H (2)4000 H5FFFH (3)6000 H7FFF H (4)8000 H9FFFH (5)AOOO HBFFF H

8、 (6)C000 HDFFFH (7)E000 HFFFF H 【86】举例说明程序存储器和数据存储器扩展的原则和方法。 【答】程序存储器采用并行扩展方式,而数据存储器可采用并行扩展方式,也可以采用串行 扩展方式。 并行扩展方式时,程序存储器和数据存储器的地址线和数据线共用,但控制线不同,如 程序存储器采用 PSEN 线为片外程序存储器的读选通信号, 数据存储器采用 RD 和 WR 线为 片外数据存储器的读写选通信号。 【87】举例说明线选法和译码法的应用特点。 【答】在单片机应用系统中,为了惟一地选择片外某一存储单元或 IO 端口,需要进行两 次选择。一是必须先找到该存储单元 IO 端口所在

9、的芯片,一般称为“片选” ;二是通过 对芯片本身所具有的地址线进行译码, 然后确定惟一的存储单元或 IO 端口, 称为 “字选” 。 片选保证每次读写时,只选中某一片存储器芯片 IO 接口芯片。常用的方法有线选法和 地址译码法。 线选法一般是利用单片机的最高几位空余地址线中的一根(如 P2.7)做某一片存储器芯 片或 IO 接口芯片的片选控制线,常用于应用系统中扩展芯片较少的场合。 译码法应用译码器对空余的高位地址线进行译码, 而译码器的输出作为片选控制线, 常 用于应用系统中扩展芯片较多而空余的地址线不够线选的场合。常用的译码器有 38 译码 器 74LSl38、 双 24 译码器 74LS

10、l39、 41 6 译码器 74LSl54 等。 译码器输出为低电平有效。 正常情况下,译码器只有一根输出是低电平,其余输出都是高电平。这样,当译码器输出作 为单片机应用系统中外扩芯片的片选控制线时, 保证每次读写时只选中一个芯片。 部分地 址线参加译码时,称为部分地址译码,这时芯片的地址会有重叠。16 根地址线全部参加译 码的,称为“全地址译码“。 【8-8】外接程序存储器的读信号为 ,外接数据存储器的读信号为 【答】外接程序存储器的读信号为 PSEN ,外接数据存储器的读信号为 RD 。 【8-9】请编程对扩展的并行数据存储器 628128(128 KB)进行自检,若 628128 的每一

11、单元读 写都正确, 则把片内 RAM 中 20 H 单元内容清 O, 否则 20 H 内容为 628128 出错单元数(或 20 H 单元内容为 FF H)。加上必要的伪指令,并对源程序加以注释。 【答】 628128 数据存储器的扩展及自检,需对每一字节的每一位进行写 1 和读 1 操作,还 需要对每一字节的每一位进行写 O 和读 0 操作。若写与读的值不一样,需判断 628128 数据 存储器的硬件连接是否正确,存储器芯片是否完好以及数据传送指令是否正确。 628128 数据存储器的容量为 128 KB, 芯片内有地址线 17 根(AOA16), 若单片机选 用 80C51,其地址线仅 1

12、6 根(A0A 15)。这时可采用体选原理,把 628128 数据存储器分为 两个存储体, 每个存储体的容量为 64 KB(也可分为 4 个存储体, 每个存储体的容量为 32 KB 等),利用 80C51 单片机的 IO 口线作为体选线,比如 P1.1 连 628128 的 A16。 628128 与 80C51 的连接图如图 8-5 所示。 程序如下: ERRORN EQU 20H ;20H 中存放错误个数 FLAG BIT 00H ORG 0000H 0000 0130 AJMP MAIN ORG 30H 0030 752400 MAIN: MOV ERRORN,#00H 0033 C29

13、 0 CLR P10 ;选中 628128 芯片 0035 C291 CLR ,P1.1 ;首先进行低 64 KB 存储单元检测 003 7 C200 CLR FLAG 0039 900000 MOV DPTR,#0000H 003C 7400 LOOP1: MOV A,#00H ;FLAG=0 时,对低 64 KB 进行写 0 003E F0 MOVX DPTR,A ;FLAG=1 时,对高 64 KB 进行写 0 003F A3 INC DPTR 0040 E583 MOV A, DPH 0042 04 INC A 0043 70F7 JNZ LOOP1 0045 E582 MOV A,D

14、PL 0047 04 INC A 0048 70F2 JNZ LOOP1 004A 200009 JB FLAG,NEXT1 ;FLAG=1,则表示 628128 写 0 结束转读 004D D200 SETB FLAG ;设 FLAG=1,开始 628128 高 64 KB 写 0 004F D29 1 SETB P1.1 0051 900000 MOV DPTR,#0000H 0054 013C AJMP LOOP1 ;读 628128,判是否为全 0 0056 C200 NEXT1: CLR FLAG ;先判断低 64 KB 是否为全 0 0058 C29 1 CLR P1.1 005A

15、 900000 MOV、DPTR,#0000H 005D E0,LOOP2: MOVX A,DPTR 、 005E 6002 JZ NEXT2 0060 0524 INC ERRORN ;某一存储单元非 0,则错误个数加 1 0062 A3 NEXT2: INC DPTR 0063 E583 MOV A,DPH 0065 04 INC A 0066 70F5 JNZ LoOP2 0068 E582 MOV A,DPL 006A 04 INC A 006B 70F0 JNZ LOOp2 006D 200009 JB FLAG,NEXT3 ;当 FLAG=1,则转移 007 0 D200 SETB FLAG ;设 FLAG 为 1,判高 64 KB 是否为全 0 007 2 D29 1 SETB P11 0074 900000 MOV DPTR,#0000H 0077 015D AJMP LOOP2 ;对 628128 各单元写入 FFH 0079

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

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号