单片微机原理系统设计与应用课后部分习题答案
- 格式:doc
- 大小:665.86 KB
- 文档页数:17
第二章 MCS-51单片机硬件结构2-5. 8051单片机堆栈可以设置在什么地方?如何实现?答:8051单片机堆栈可以设置在内部RAM中。
当系统复位时,堆栈指针地址为07H,只要改变堆栈指针SP的值,使其为内部RAM中地址量,就可以灵活的将堆栈设置在内部RAM中。
2-16. 8051单片机内部数据存储器可以分为几个不同的区域?各有什么特点?2-21.复位后,CPU内部RAM各单元内容是否被清除?CPU使用的是哪一组工作寄存器?它们的地址是什么?如何选择确定和改变当前工作寄存器组?答:复位并不清除CPU内部RAM单元中内容,掉电会清除内部RAM 中内容。
复位以后因为PSW=00H,所以选择工作寄存器0区,所占地址空间为00H-07H。
工作寄存器组可以查询PSW中的RS1(PSW.4)和RS0(PSW.3)来确定,改变当前RS1和RS0的值即可改变当前工作寄存器组。
2-22.指出复位后工作寄存器组R0-R7的物理地址,若希望快速保护当前工作寄存器组,应采取什么措施?答:复位工作寄存器组R0-R7的物理地址为00H-07H。
如希望快速保护当前工作寄存器组,可以通过改变PSW中RS1(PSW.4)和RS0(PSW.3)的当前值来完成。
第三章 MCS-51指令系统3-6.设系统晶振为12MHz,阅读下列程序,分析其功能,并人工汇编成机器代码。
答:因为AJMP指令必须有PC指针地址,所以本题解题时设程序开始地址为1000H。
本程序完成功能是使P1.0口输出方波:T=2*((3*250+2+2)*10+1+2+2)=15090us=15.09ms翻译成机器语言的难点在于AJMP一句,根据AJMP指令代码可知,该指令为2个字节,高8为字节构成为“A10A9A”,低8位字节构成为“A7-A0”。
又有设置了程序起始地址为1000H,很容易可以写出各指令的地址,AJMP的绝对转移目标地址为1002H,A10=0、A9=0、A8=0,所以机器代码为“01 02”,目标地址在2区,因为A15-A11为“00010”。
习题二2-1 试述8051单片机主要由哪几个部分构成?1.一个8位微处理器CPU2.数据存储器RAM和特殊功能寄存器3.内部程序存储器ROM4.两个定时/计数器5.四个8位可编程的I/O并行端口6.一个串行端口7.中断控制系统8.内部时钟电路2-2 MCS-51单片机的片外总线是怎样构成的?试画出其结构示意图。
1.片外总线构成: 1)地址总线AB 2)数据总线DB 3)控制总线CB2.结构示意图2-3 MCS-51单片机四组并行I/O口在使用时各有什么特点?1.P0口特点:1) 作输出口使用时,由于输出驱动为漏极开路式,需外接上拉电阻,阻值一般为5~10K.2) 作输入口使用时,在输入数据时,应先向端口写入”1”,使引脚处于悬浮状态,再读入数据.3) 扩展ROM和(或)RAM时,作为地址/数据总线使用(地址A7~A0,数据D7~D0)2.P1口特点:1)作输出口使用时,无需外接上拉电阻(内部有上拉电阻)2)作输入口使用时,在输入数据时,应先向端口写入”1”,使引脚处于悬浮状态,再读入数据.3.P2口特点:1)作输出口使用时,无需外接上拉电阻(内部有上拉电阻)2)作输入口使用时,在输入数据时,应先向端口写入”1”,使引脚处于悬浮状态,再读入数据.3)扩展ROM和(或)RAM时,作为地址/数据总线使用(地址A15~A8,数据D15~D8)4.P3口特点:1)作输出口使用时,无需外接上拉电阻(内部有上拉电阻)2)作输入口使用时,在输入数据时,应先向端口写入”1”,使引脚处于悬浮状态,再读入数据.3)第二功能如下表2-4 MCS-51单片机的存储器有几个存储空间?各自的地址范围和容量是多少?使用时各有什么特点?四个存储空间:(不同的单片机有所不同)1.片内RAM,地址范围:00H~FFH,共256个字节1) 00H~1FH为通用寄存器区,共分四组(0组1组2组3组,由PSW的RS1 RS0决定,复位时自动选中0组)每组8个寄存器R0~R72) 20H~2FH为位寻址区,共128位(16*8)3)30H~7FH为通用RAM区,共64个字节4)80H~FFH为特殊功能寄存器(SFR)区,共128个字节并行口串行口中断系统定时/计数器等功能单元和状态寄存器等共21个单元离散的分布在这个区中,其他空闲单元不能使用2.片外RAM,地址范围:0000H~FFFFH,共64K字节3.片内ROM(EA=1),地址范围:0000H~0FFFH,共4K字节4.片外ROM(EA=0),地址范围:0000H~FFFFH,共64K字节2-5 在单片机内RAM中哪些字节有位地址?哪些字节没有位地址?特殊功能寄存器中安排位地址的作用何在?有位地址的字节:20H~2FH 80H 88H 90H 98H A0H A8H B0H B8H D0H E0H F0HSFR安排地址位的作用:可按位访问,方便使用2-6 什么叫振荡周期、时钟周期、机器周期和指令周期?振荡周期----为单片机提供时钟信号的振荡源的周期时钟(状态)周期----振荡源信号经二分频后形成的时钟脉冲信号机器周期-----完成一个基本操作所需的时间,由6个时钟(状态)周期组成指令周期----CPU执行一条指令所需的时间时钟(状态)周期=2振荡周期机器周期=6时钟(状态)周期=12振荡周期指令周期=1个或2个或4个机器周期2-7 若单片机使用的晶振为6MHz,那么振荡周期、机器周期和指令周期分别是多少?fosc=6MHZT振荡=1/fosc=0.167μsT机器=12* T振荡=2μsT指令=(1~4) T机器=2~8μs2-8 当单片机使用的晶振为12MHz时,执行一条指令所需的最长时间为多少?fosc=12MHZT指令=1~4μsT MAX指令<=4μs2-9 说出单片机复位后,各特殊功能寄存器的初始化状态是什么各特殊功能寄存器的初始化状态如表特别SP=07H,P0~P3=FFH注意: 复位后要先给SP赋值(30H~7FH), P0~P3置初值习题三3-1 说明下列各条指令划线部分的寻址方式,并用图说明指令实现的操作。
单片微机原理及应用课后习题答案第一章单片机基础1-1单片机的发展分为几个阶段?答:到目前为止,单片机的发展大致分为五个阶段:第一阶段:单片机发展的初级阶段。
第二阶段:低性能单片机阶段。
第三阶段:高性能单片机阶段。
第四阶段:16位MCU。
第五阶段:单片机在集成度、功能、速度、可靠性、应用领域等方面向更高水平发展。
1-2说明单片机的主要应用领域?答:由于单片机具有体积小、重量轻、价格便宜、功耗低、易扩展、可靠性高、控制功能强及运算速度快等特点,在国民经济建设、军工产品及家电器等领域得到了广泛的应用。
主要是:① 工业自动化;② 智能仪器;③ 消费电子产品;④ 表达⑤ 军品;⑥ 终端和外部设备控制;⑦ 多机分布式系统。
1-3mcs-51系列单片机芯片包括哪些功能部件?每个功能部件的功能是什么?答:MCS-51系列列单片机的内部结构:1.中央处理器cpu。
其主要完成单片机的运算和控制功能,mcs-51系列单片机的cpu不仅可以处理字节数据,还可以进行位变量的处理。
2.片内数据存储器ram。
ram用于存储单片机运行中的工作变量、中间结果和最终结果等。
3.片内程序存储器rom/eprom。
程序存储器既可以存放已编制的程序,也可以存放一些原始数据和表格。
4.特殊功能寄存器sfr。
sfr用以控制和管理内部算术逻辑部件、并行i/o口、定时/计数器、中断系统等功能模块的工作。
5.并行口。
一共有4个8位的并行i/o口:p0、p1、p2、p3。
p0是一个三态双向口,可作为地址/数据分时复用口,也可作为通用i/o口。
p1只能作为通用i/o口。
p2可以作为通用i/o口,也可作为在单片机扩展外部设备时,高8位地址总线使用。
p3除了作为通用准双向i/o接口外,各引脚还具有第二功能。
6.串行口。
有一个全双工的串行口,可以实现单片机与外设之间数据的逐位传送。
7.定时/计数器。
可以设置为定时方式或计数方式。
1-4mcs-51系列MCU的引脚中有多少条I/O线?它们类似于单片机的外部地址总线和数据总线什么关系?地址总线和数据总线各是多少位?说明准双向口的含义?答:mcs-51一共共有32个I/O引脚。
第二章单片机结构及原理1、MCS-51 单片机内部包含哪些主要功能部件?它们的作用是什么?答:(1)一个8bit CPU 是微处理器的核心,是运算和逻辑计算的中心。
(2)片内震荡器及时钟电路:提供标准时钟信号,所有动作都依据此进行。
(3)4K ROM程序存贮器:存贮程序及常用表格。
(4)128B RAM 数据存贮器:存贮一些中间变量和常数等。
(5)两个16bit 定时器/计数器:完全硬件定时器(6)32 根可编程I/O 口线:标准8 位双向(4 个)I/O 接口,每一条I/O 线都能独立地作输入或输出。
(7)一个可编程全双工串行口。
(8)五个中断源。
2、什么是指令?什么是程序?答:指令是规定计算机执行某种操作的命令。
程序是根据任务要求有序编排指令的集合。
3、如何认识89S51/52 存储器空间在物理结构上可以划分为 4 个空间,而在逻辑上又可以划分为3 个空间?答:89S51/52 存储器空间在物理结构上设有4个存储器空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。
在逻辑上有3个存储器地址空间:片内、片外统一的64KB 程序存储器地址空间,片内256B数据存储器地址空间,片外64KB的数据存储器地址空间。
4、开机复位后,CPU 使用的是哪组工作寄存器?他们的地址是多少?CPU 如何确定和改变当前工作寄存器组?答:开机复位后,CPU 使用的是第0 组工作寄存器,地址为00H~07H,CPU 通过改变状态字寄存器PSW中的RS0 和RS1 来确定工作寄存器组。
5、什么是堆栈?堆栈有何作用?在程序设计时,有时为什么要对堆栈指针SP 重新赋值?如果CPU 在操作中要使用两组工作寄存器,SP 应该多大?答:堆栈是一个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。
堆栈指针SP复位后指向07H 单元,00H~1FH 为工作寄存器区,20H~2FH 为位寻址区,这些单元有其他功能,因此在程序设计时,需要对SP 重新赋值。
微型计算机原理及应用第三版课后答案【篇一:《微型计算机原理及应用》课后习题答案】=txt>第一章1.1 解释题(1) 微处理器【解答】由大规模集成电路芯片构成的中央处理器(cpu),叫做微处理器。
(2) 微型计算机【解答】以微处理器为基础,配以内存储器、输入输出接口电路、总线以及相应的辅助电路而构成的计算机裸机,叫做微型计算机。
(3) 微型计算机系统【解答】微型计算机系统由硬件系统和软件系统组成。
即由微型计算机、配以相应的外部设备(如打印机、显示器、键盘、磁盘机等),再配以足够的软件而构成的系统。
(4) 单板机【解答】将微处理器、ram、rom以及i/o接口电路,再配上相应的外设(如小键盘、led显示器等)和固化在rom中的监控程序等,安装在一块印刷电路板上构成的微型计算机系统称为单板机。
(5) 运算器【解答】运算器是直接完成各种算术运算、逻辑运算的部件,主要由alu(arithmetic and logic unit,算术逻辑部件)、通用寄存器、标志寄存器等组成。
(6) 地址总线【解答】地址总线是cpu对内存或外设进行寻址时,传送内存及外设端口地址的一组信号线。
地址总线的条数多少决定了cpu的寻址能力。
(7) 数据总线【解答】数据总线是cpu与内存或外设进行信息交换时,所用的一组数据信号线。
它决定了cpu一次并行传送二进制信息的位数,反映出cpu的“字长”这个重要性能指标。
(8) 控制总线【解答】控制总线是在cpu与外部部件之间传送控制信息(如读/写命令、中断请求命令等)的一组信号线。
1-2 单片机应包括哪些基本部件?其主要应用于哪些领域?【解答】一般单片机芯片中包括微处理器、ram、rom、i/o接口电路、定时器/计数器,有的还包括a/d、d/a转换器等。
其主要应用于智能化仪器仪表及工业控制领域。
1-3 按图1-11和图1-12,写出取第二条指令操作码和执行第二条指令的过程。
【解答】1) ip的值(002h)送入地址寄存器ar;2) ip的内容自动加1,变为003h;3) ar将地址码通过地址总线送到存储器的地址译码器,经译码后选中002h单元;4) 微处理器给出读命令;5) 所选中的002h单元内容04h送上数据总线db;6) 数据总线db上的数据04h送到数据寄存器dr;7) 因是取指操作,取出的是指令操作码04h,即由dr送入指令寄存器ir;8) ir中的操作码经指令译码器id译码后,通过pla发出执行该指令的有关控制命令。
单片微机原理与接口技术-基于STC15系列单片机(第2版)习题部分第1章一、填空题1. 125= 01111101B= 7d H=( 0001 0010 0101)8421BCD码=(0110001 0110010 0110101)ASCII码。
2. 微型计算机由CPU、存储器、I/O 接口以及连接他们的总线组成。
3. 微型计算机的CPU是通过地址总线、数据总线、控制总线与外围电路进行连接与访问的,其中,地址总线用于CPU寻址,地址总线的数据量决定CPU的最大寻址能力;数据总线用于CPU与外围器件爱存储器、I/O接口)交换数据,数据总线的数量决定CPU一次交换数据能力;控制总线用于确定CPU与外围器件的交换数据的类型。
4. I/O 接口的作用是CPU与输入/输出设备的连接桥梁,相当于一个数据转换器。
5. 按存储性质分,微型计算机存储器分为_ _程序存储器______和数据存储器两种类型。
6. 16位CPU是指数据总线的位数为16位。
7 若CPU地址总线的位数为16,那么CPU的最大寻址能力为64K 。
8. 微型计算机执行指令的顺序是按照在程序存储中的存放顺序执行的。
在执行指令时包含取指、指令译码、执行指令三个工作过程。
9. 微型计算机系统由微型计算机和输入/输出设备组成。
10. 微型计算机软件的编程语言包括高级语言、汇编语言和机器语言三种类型。
二、选择题1.当CPU的数据总线位数为8位时,标志着CPU一次交换数据能力为D。
A. 1位B. 4 位C. 16位D. 8位2. 当CPU地址总线为8位时,标志着CPU的最大寻址能力为 C 。
A. 8个空间B. 16个空间C. 256个空间D. 64K个空间3. 微型计算机程序存储器空间一般由 A 构成。
A. 只读存储器B. 随机存取存储器4. 微型计算机数据存储器空间一般由 B 构成。
A. 只读存储器B. 随机存取存储器三、判断题1. 键盘是微型计算机的基本组成部分。
第一章 微型计算机基础题1-1 计算机发展至今,经历了哪几代?答:电子管计算机、晶体管计算机、集成电路计算机、超大规模集成电路计算机、非冯诺伊曼计算机和神经计算机。
题1-2 微机系统由哪几部分组成?微处理器、微机、微机系统的关系是什么? 答:1、微机系统分硬件和软件,硬件包括CPU、存储器、输入输出设备和输入输出接口,软件包括系统软件和应用软件。
2、微处理器是指微机的核心芯片CPU;微处理器、存储器和输入输出设备组成微机;微机、外部设备和计算机软件组成微机系统。
题1-3 微机的分类方法包括哪几种?各用在什么应用领域中?答:按微处理器的位数,可分为1位、4位、8位、32位和64位机等。
按功能和机构可分为单片机和多片机。
按组装方式可分为单板机和多板机。
单片机在工业过程控制、智能化仪器仪表和家用电器中得到了广泛的应用。
单板机可用于过程控制、各种仪器仪表、机器的单机控制、数据处理等。
题1-4 微处理器有哪几部分组成?各部分的功能是什么?答:微处理器包括运算器、控制器和寄存器三个主要部分。
运算器的功能是完成数据的算术和逻辑运算;控制器的功能是根据指令的要求,对微型计算机各部分发出相应的控制信息,使它们协调工作,从而完成对整个系统的控制;寄存器用来存放经常使用的数据。
题1-5 微处理器的发展经历了哪几代?Pentium系列微处理器采用了哪些先进的技术?答:第一代4位或低档8位微处理器、第二代中高档8位微处理器、第三代16位微处理器、第四代32位微处理器、第五代64位微处理器、第六代64位高档微处理器。
Pentium系列微处理器采用了多项先进的技术,如:RISC技术、超级流水线技术、超标量结构技术、MMX技术、动态分支预测技术、超顺序执行技术、双独立总线DIB技术、一级高速缓冲存储器采用双cache结构、二级高速缓冲存储器达256KB或512KB、支持多微处理器等。
题1-6 何为微处理器的系统总线?有几种?功能是什么?答: 系统总线是传送信息的公共导线,微型计算机各部分之间是用系统总线连接的。
单片微型计算机原理及应用课后答案习题22.1 MCS-51单片机内部包含哪些主要逻辑功能部件? 答:微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、特殊功能寄存器(SFR)、并行I/O口、串行通信口、定时器/计数器及中断系统。
2.2 说明程序计数器PC和堆栈指针SP的作用。
复位后PC和SP各为何值? 答:程序计数器PC中存放将要执行的指令地址,PC有自动加1功能,以实现程序的顺序执行。
它是SFR中唯一隐含地址的,因此,用户无法对它进行读写。
但在执行转移、调用、返回等指令时能自动改变其内容,以实现改变程序的执行顺序。
程序计数器PC中内容的变化决定程序的流程,在执行程序的工作过程中,由PC输出将要执行的指令的程序存储器地址,CPU读取该地址单元中存储的指令并进行指令译码等操作,PC则自动指向下一条将要执行的指令的程序存储器地址。
SP是一个8位的SFR,它用来指示堆栈顶部在内部RAM中的位置。
系统复位后SP为07H,若不对SP设置初值,则堆栈在08H开始的区域,为了不占用工作寄存器R0~R7的地址,一般在编程时应设置SP的初值(最好在30H~7FH区域)。
2.3 程序状态字寄存器PSW的作用是什么?其中状态标志有哪几位?它们的含义是什么?答:PSW是保存数据操作的结果标志,其中状态标志有CY(PSW.7):进位标志,AC(PSW.6):辅助进位标志,又称半进位标志,F0、F1(PSW.5、PSW.1):用户标志;OV(PSW.2):溢出标志;P(PSW.0):奇偶标志。
2.4 什么是堆栈? 堆栈有何作用? 为什么要对堆栈指针SP重新赋值? SP的初值应如何设定? 答:堆栈是一种数据结构,所谓堆栈就是只允许在其一端进行数据写入和数据读出的线性表。
其主要作用有两个:保护断点和保护现场。
堆栈区的设置原则上可以在内部RAM的任意区域,但由于MCS-51单片机内部RAM的00H~1FH地址单元已被工作寄存器R0~R7占用,20H~2FH为位寻址区,故堆栈一般设在30H~7FH(对于8032系列芯片可为30H~0FFH)的区域内。
第二章单片机结构及原理1、MCS-51 单片机内部包含哪些主要功能部件它们的作用是什么答:(1)一个8bit CPU 是微处理器的核心,是运算和逻辑计算的中心。
(2)片内震荡器及时钟电路:提供标准时钟信号,所有动作都依据此进行。
(3)4K ROM 程序存贮器:存贮程序及常用表格。
(4)128B RAM 数据存贮器:存贮一些中间变量和常数等。
(5)两个16bit 定时器/计数器:完全硬件定时器(6)32 根可编程I/O 口线:标准8 位双向(4 个)I/O 接口,每一条I/O 线都能独立地作输入或输出。
(7)一个可编程全双工串行口。
(8)五个中断源。
2、什么是指令什么是程序答:指令是规定计算机执行某种操作的命令。
程序是根据任务要求有序编排指令的集合。
3、如何认识89S51/52 存储器空间在物理结构上可以划分为 4 个空间,而在逻辑上又可以划分为3 个空间答:89S51/52 存储器空间在物理结构上设有4个存储器空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。
在逻辑上有3个存储器地址空间:片内、片外统一的64KB 程序存储器地址空间,片内256B数据存储器地址空间,片外64KB的数据存储器地址空间。
4、开机复位后,CPU 使用的是哪组工作寄存器他们的地址是多少CPU 如何确定和改变当前工作寄存器组答:开机复位后,CPU 使用的是第0 组工作寄存器,地址为00H~07H,CPU 通过改变状态字寄存器PSW中的RS0 和RS1 来确定工作寄存器组。
5、什么是堆栈堆栈有何作用在程序设计时,有时为什么要对堆栈指针SP 重新赋值如果CPU 在操作中要使用两组工作寄存器,SP 应该多大答:堆栈是一个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。
堆栈指针SP复位后指向07H 单元,00H~1FH 为工作寄存器区,20H~2FH 为位寻址区,这些单元有其他功能,因此在程序设计时,需要对SP 重新赋值。
第二章 MCS-51单片机硬件结构
2-5. 8051单片机堆栈可以设置在什么地方?如何实现?
答:8051单片机堆栈可以设置在内部RAM中。
当系统复位时,堆栈指针地址为07H,只要改变堆栈指针SP的值,使其为内部RAM中地址量,就可以灵活的将堆栈设置在内部RAM中。
2-16. 8051单片机内部数据存储器可以分为几个不同的区域?各有什么特点?
2-21.复位后,CPU内部RAM各单元内容是否被清除?CPU使用的是哪一组工作寄存器?它们的地址是什么?如何选择确定和改变当前工作
寄存器组?
答:复位并不清除CPU内部RAM单元中内容,掉电会清除内部RAM 中内容。
复位以后因为PSW=00H,所以选择工作寄存器0区,所占地址空间为00H-07H。
工作寄存器组可以查询PSW中的RS1(PSW.4)和
RS0(PSW.3)来确定,改变当前RS1和RS0的值即可改变当前工作寄存器组。
2-22.指出复位后工作寄存器组R0-R7的物理地址,若希望快速保护当前工作寄存器组,应采取什么措施?
答:复位工作寄存器组R0-R7的物理地址为00H-07H。
如希望快速保护当前工作寄存器组,可以通过改变PSW中RS1(PSW.4)和RS0(PSW.3)的当前值来完成。
第三章 MCS-51指令系统
3-6.设系统晶振为12MHz,阅读下列程序,分析其功能,并人工汇编成机器代码。
答:因为AJMP指令必须有PC指针地址,所以本题解题时设程序开始地址为1000H。
本程序完成功能是使P1.0口输出方波:
T=2*((3*250+2+2)*10+1+2+2)=15090us=15.09ms
翻译成机器语言的难点在于AJMP一句,根据AJMP指令代码可知,该指令为2个字节,高8为字节构成为“A10A9A800001”,低8位字节构成为“A7-A0”。
又有设置了程序起始地址为1000H,很容易可以写出各指令的地址,AJMP的绝对转移目标地址为1002H,A10=0、A9=0、A8=0,所以机器代码为“01 02”,目标地址在2区,因为A15-A11为“00010”。
3-8.简述下列程序段完成的功能,程序完成后SP指针应指向哪里?
3-12.用图示法分析分析MOVC A,@A+PC指令执行过程及结果。
设指令操作码在程序存储器1000H单元中,1031单元内容为3FH,A中内容为30H。
3-13.下列指令执行后,求(A)=?PSW中Y、OV、AC为何值?
(1)当(A)=6BH ADD A,#81H
(2)当(A)=6BH ADD A,#8CH
(3)当(A)=6BH,CY=0,ADDC A,#72H
(4)当(A)=6BH,CY=1,ADDC A,#79H
(5)当(A)=6BH,CY=1,SUBB A,#0F9H
(6)当(A)=6BH,CY=0,SUBB A,#0FCH
(7)当(A)=6BH,CY=1,SUBB A,#7AH
(8)当(A)=6BH,CY=0,SUBB A,#8CH
注:对于减法,当位7和位6不同时发生借位时,OV=1,否则OV=0。
在做
带符号数减法时,只有当两个操作数符号位不同时,才有可能产生溢出。
(1)若一个正数减一个负数,差为负数,则一定有溢出OV=1。
(2)若一个负数减一个正数,差为正数,则一定有溢出OV=1。
3-17.如何计算相对转移的偏移量?
答:相对偏移量是一个8位无符号编码数,范围是-128~+127。
rel=目标地址-当前PC地址;当前PC地址=原PC+指令字节数。
3-24.用布尔指令,求解逻辑方程。
(1). PSW.5=P1.3^ACC.2VB.5^P1.1
(2). PSW.5=/(P1.5^B.4VACC.7^P1.0)
(1) ORG 0000H
LJMP MAIN
ORG 0200H
MAIN:M OV C,P1.3
ANL C,ACC.2 ;P1.3·ACC.2
MOV PSW.5, C ;保存临时结果
MOV C, B.5
ANL C,P1.1 ;PB.5·P1.1
ORL C, PSW.5 ;和临时值求或
MOV PSW.5 C ;保存结果
SJMP $ ;原地踏步
END
(2) ORG 0000H
LJMP MAIN
ORG 0200H
MAIN:M OV C,P1.5
ANL C, B.4 ;P1.5·B.4
MOV PSW.5, C ;保存临时结果
MOV C, ACC.7
ANL C,P1.0 ;ACC.5·P1.0
ORL C, PSW.5 ;和临时值求或
CPL C ;求反
MOV PSW.5 C ;保存结果
SJMP $ ;原地踏步
END
注:本题要注意的是位运算有优先级概念。
位运算符的优先级从高到低依次是:按位取反→左移和右移→按位与→按位异或→按位或。
第四章 MCS-51汇编语言程序设计
4-1. 若晶振为12MHz,试编制延时2ms和1s子程序。
(1)延时2ms子程序
4-7. 在内部RAM的BLOCK开始的单元有一无符号数据块,数据块长度存入LEN单元。
试编程求其中的最小数并存入MINI单元。
4-12. 在内部RAM的ONE和TWO单元各存有一带符号数X和Y。
试编程按下式要求运算。
4-18. 试编一查表求平方子程序SQR。
功能:用指令MOVC A,@A+PC求平方值(x<15)入口:(A)=x
出口:(A)=x2
第五章存储器系统设计
5-11. 试设计以8031为主机,用74LS138为译码器,采用1片27128作ROM,地址为0000H-3FFFH;采用2片6264作RAM,4000H-7FFFH的扩展系统(加1个与门),地址不允许重叠,画出电路图。
如果RAM地址为8000H-BFFFH或C000H-FFFFH,2片6264的片选/CE端与译码器的输出应如何连接?
27128地址为0000H-3FFFH,2片6264地址为4000H-7FFFH时,电路图如上如所示,27128的/CE端接地,为常选状态,地址为0000H-3FFFFH,74LS138的A、B、C端分别和A13、A14、A15相连,74LS138的/Y2和/Y3分别连接两片6264的/CE,实现6264的地址为4000H-7FFFH。
如果希望2片6264地址为8000H-BFFFH,可以将74LS138的/Y4和/Y5
分别连接两片6264的/CE。
如果希望2片6264地址为C000H-FFFFH,可以将74LS138的/Y6和/Y7分别连接两片6264的/CE。
5-12. 设计一个16KB的外部数据存储器RAM,若采用6116需要多少片?应选择什么译码器?试设计出电路图并写出各芯片所占有地址。
如果系统中还有1片27128作ROM,同时总线上还有其它I/O接口电路,系统设计时应注意什么问题?
电路图如上所示:8片6116采用全译码的方式和74LS138连接。
U4-U7的地址分别为:
U461160000H-07FFH
U561160800H-0FFFH
U661161000H-17FFH
U761161800H-1FFFH
U861162000H-27FFH
U961162800H-2FFFH
U1061163000H-37FFH
U1161163800H-3FFFH
如果系统中还有一片27128作ROM,ROM的地址可以和RAM重叠,但
是其它I/O接口电路的器件地址需要和RAM的地址分开。
第六章 MCS-51定时/计数器
串行口及中断系统
6-8. 在晶振主频为12MHz时,定时最长时间是多少?若要定时1分钟,最简洁的方法是什么?试画出硬件连线图并编程。
答:在晶振主频12MHz时,机器周期为1us,所以定时最长时间为65536us。
6-29. 试编写一段中断的初始化程序,使之允许/INT0、/INT1、T0、串行口中断,且使T0中断为高优先级中断。
第七章 I/O接口扩展设计及应用
7-3. 8255与8031的连接如图7-3所示,8255的A口作输入PA0-PA7接一组开关K0-K7,B口作输出PB0-PB7接一组发光二极管,要求当A 口某位开关接高电平时,B口相应的二极管点亮。
试编制相应的程序。
根据上如所示,8255芯片的PA端口地址为7FFFCH,PB端口地址为7FFDH,PC端口地址为7FFEH,控制器寄存器的地址为7FFFH。
可以使用“MOVX”指令来访问这些端口。
根据题目要求,可以设置A口输入,B口输出,两者均采用工作方式0,控制字为90H。