单片微机原理系统设计与应用课后部分习题答案

合集下载

单片微机原理系统设计与应用课后部分习题答案

单片微机原理系统设计与应用课后部分习题答案

第二章 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部分微型计算机基础知识1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?【解】微处理器:指计算机内部对数据进行处理并对处理过程进行控制的部件,伴随着大规模集成电路技术的迅速发展,芯片集成密度越来越高,CPU可以集成在一个半导体芯片上,这种具有中央处理器功能的大规模集成电路器件,被统称为“微处理器”。

微型计算机:简称“微型机”、“微机”,也称“微电脑”。

由大规模集成电路组成的、体积较小的电子计算机。

由微处理机(核心)、存储片、输入和输出片、系统总线等组成。

特点是体积小、灵活性大、价格便宜、使用方便。

微型计算机系统:简称“微机系统”。

由微型计算机、显示器、输入输出设备、电源及控制面板等组成的计算机系统。

配有操作系统、高级语言和多种工具性软件等。

1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?【解】CPU在内部结构上由运算器、控制器、寄存器阵列和内部总线等各部分构成,其主要功能是完成各种算数及逻辑运算,并实现对整个微型计算机控制,为此,其内部又必须具备传递和暂存数据的功能。

1.3 微型计算机采用总线结构有什么优点?【解】①简化了系统结构,便于系统设计制造;②大大减少了连线数目,便于布线,减小体积,提高系统的可靠性;③便于接口设计,所有与总线连接的设备均采用类似的接口;④便于系统的扩充、更新与灵活配置,易于实现系统的模块化;⑤便于设备的软件设计,所有接口的软件就是对不同的口地址进行操作;⑥便于故障诊断和维修,同时也降低了成本。

总线的逻辑电路有些是三态的,即输出电平有三种状态:逻辑“0”,逻辑“1”和“高阻”态。

1.4计算机总线有哪些,分别是什么?【解】总线按其信号线上传输的信息性质可分为三组:①数据总线,一般情况下是双向总线;②地址总线,单向总线,是微处理器或其他主设备发出的地址信号线;③ 控制总线,微处理器与存储器或接口等之间1.5 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?【解】数据总线(DB)为双向结构,数据在CPU与存储器或I/O 接口之间的传送是双向的,(数据既可以读也可以写),其宽度通常与微处理器的字长相同。

《微机原理及应用》教材课后习题参考答案

《微机原理及应用》教材课后习题参考答案

《80X86/Pentium微型计算机原理及应用》教材课后习题参考答案第三章3-5(1)MOV SI, 2100H 源:立即数;目标:寄存器(2)MOV CX, DISP[BX] 源:基址,EA=BX+DISP,PA=DS×16+BX+DISP;目标:寄存器(3)源:寄存器;目标:寄存器间接寻址EA=SI,PA=DS×16+SI(4)源:基址加变址,EA=BX+SI,PA=DS×16+BX+SI;目标:寄存器(5)源:寄存器;目标:寄存器(6)源:基址,EA=BX+10H,PA= DS×16+BX+10H;目标:寄存器(7)源:寄存器间接,EA=BX,PA= ES×16+BX;目标:寄存器(8)源:带位移量的基址加变址,EA=BX+SI+20H,PA= DS×16+BX+SI+20H;目标:寄存器(9)源:寄存器;目标:寄存器间接,EA=BP,PA= SS×16+BP(10)源:寄存器;目标:存储器,EA=SP-2,PA= SS×16+SP-23-7(1)源操作数错,基址+基址不能用在存储器寻址方式中,只能基址+变量,改成MOV AX, [BX+SI](2)错,V ALUE1和V ALUE2一般为自己定义的变量名称,则此两操作数的组合形式为存储器和存储器,ADD指令无此组合形式(3)错,立即数不能直接传给段寄存器(4)错,CS不能作为目标操作数(5)错,立即数不能作为目标操作数,两个操作数互换位置即可(6)如果V ALUE1是用DW定义的WORD型变量,则此题正确,否则错误(7)错,段寄存器不能直接传给段寄存器(8)错,移位次数超过1时,应该先将移位次数送给CL,改成MOV CL, 3; ROL [BX][DI],CL(9)错,NOT操作符只有一个操作数(10)对,CS不能作为目标操作数,但可以作为源操作数(11)错,不能直接将立即数压入堆栈(12)错,两处错误,1:IN指令应该AL在前,端口地址在后;2:端口地址100H超过8位数能表示的范围,应该先将100H送给DX,改成MOV DX, 100H; IN AL, DX(13)错,LEA指令的第二操作数必需为存储器寻址方式(14)错,CX不能作为寄存器间接寻址方式,应将CX改成BX/BP/SI/DI之一3-8(1)AX=3355H, SP=1FFEH(2)AX=3355H, DX=4466H, SP=1FFCH3-9 BX=4154H, [2F246H]=6F30H3-10 BX=139EH3-11 SI=0180H, DS=2000H3-12(1) CL=F6H(2) [1E4F6H]=5678H(3) BX=9226H, AX=1E40H(4) SI=9226H, [SI]=[1E4F6]=0024H(5) AX=5678H, [09226H]=1234H3-13 AF=0, CF=1, OF=1, SF=0, ZF=03-14(1) MOV AX, 0 XOR AX, AX SUB AX, AX(2) MOV CL, 4ROL BL,CL (或ROR BL, CL)(3) 题中没规定N1和N2是8位还是16位数,现假定都8位数(也可假定是16位数,程序不一样)MOV AH, 0MOV AL, N1IDIV N2MOV M1, ALMOV M2, AH(4) 题目的意思即使BX的b4,b6,b11位清零AND BX, 0F7AFH(5) XOR AX, 4020H(6) TEST DX, 0201H(7) TEST CL, 1JNZ NEXTINC CL (或DEC CL)NEXT:3-15 假设题目的意思理解为编号从1开始(1) LEA BX, BLOCK+(6-1)*2MOV AX, [BX](2) LEA BX, BLOCKMOV AX, 10[BX](3) LEA BX, BLOCKMOV SI, 0MOV AX, 10[BX][SI](4) MOV AX, BLOCK+103-16(1) 结果存在地址是580H端口中,[580H]=60H(2) 结果存在地址是580H端口中,[580H]=8060H(即[580H]=60H, [581H]=80H)(3) 结果存在AL中,AL=[40H]=4FH(4) 结果存在AX中,AL=[40H]=4FH, AH=[41H](题目中没有给出端口41H中的值)(5) 结果存在地址是45H端口中,[45H]=60H(6) 结果存在地址是45H端口中,[45H]=8060H(即[45H]=60H,[46H]=80H)3-17 假定每小题中NUM1和NUM2都是和题中指定的操作数等长,即(1)中NUM1和NUM2为字变量,(2)(3)中为字节变量,(4)中为双字变量(1) MOV AX, NUM2ADD NUM1, AX(2) MOV CX, 4LEA BX, NUM1XOR AL, AL ; AL清零L1: ADD AL, [BX]INC BXLOOP L1MOV RES, AL(3) MOV CX, 8LEA BX, NUM1XOR AX, AXL1: ADD AL, [BX]JNC L2INC AHL2: INC BXLOOP L1MOV AX, WORD PTR RES(4) MOV AX, WORD PTR NUM1ADD WORD PTR NUM2, AXMOV AX, WORD PTR NUM1+1ADC WORD PTR NUM2+1, AX ; (MOV指令不影响CF标志位,否则不能这么写) 3-18(1) MOV CX, 8LEA BX, NUM1XOR AX, AXL1: ADD AL, [BX]DAAJNC L2INC AHL2: INC BXLOOP L1MOV AX, WORD PTR RES(2) MOV AL, NUM1SUB AL, NUM2DASMOV RES, AL差=90H, CF=13-19(1) MOV AL, NUM1MUL NUM2 ; 8位乘8位MOV WORD PTR RES, AX(2) MOV AX, NUM1IMUL NUM2 ;16位乘16位MOV WORD PTR RES, AXMOV WORD PTR RES+2, DX(3)MOV AL, NUM1MOV BL, 46CBWDIV BLMOV WORD PTR RES, AX(4) MOV AX, NUM1CWDIDIV NUM2 (或DIV NUM2)MOV WORD PTR RES, AXMOV WORD PTR RES+2, DX3-20(1)53乘以2MOV AL, 53SHL AL, 1结果106(2) -49乘以2MOV AL, -49 ; -49补码为CFHSHL AL, 1 ;AL=9EH, 真值即为-98结果-98除以2类似3-21(1) BX=009AH(2) BX=15CH(3) BX=8071H(4) BX=10F7H(5) BX=FF1CH3-22(1) DX=[20506]=0006H BX=0004H(2) SP=1FFEH, [SP]=CX=FFFEH(3) CX=BX=0004H(4) AX=8094H, CF=0(5) AL=[20508H]=87H(6) AL=94H+37H+1=CCH, CF=0, AL=32H(7) SI=9(8) DI=9(9) [DI]=[2050A]=AL=94H(10) AX=17C6H, DX=8094H(11) AH=84H, BL=4(12) IP=DX=17C6H3-23(1) 将存储器中以FIRST为起始地址连续10个字节复制到以SECOND为起始地址的地方(2) 将存储器中数据段中以偏移地址0404H为起始地址,连续80H个字节的空间清零3-24MOV BX, 5MUL BXMOV BX, 2DIV BX3-26 MOV BX, 0A80HMOV AL, 5XLAT3-27(1) IP=1256(2) IP=3280H(3) IP=2450H3-28 IP=009A, CS=2000, [SP]=8F, [SP+1]=3DH, [SP+2]=50H, [SP+3]=40H3-29CMP AL, 1JNZ LAB1CMP AL, 2JNZ LAB2CMP AL,4JNZ LAB3最后一个条件(若位0至位2都是0,则顺序执行),相当于没有,因为不管符不符合这个条件,程序都会按顺序执行。

单片微机原理与接口技术(第2版)-基于STC15系列单片机(习题部分与答案)(3)

单片微机原理与接口技术(第2版)-基于STC15系列单片机(习题部分与答案)(3)

单片微机原理与接口技术-基于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. 键盘是微型计算机的基本组成部分。

微机原理课后习题参考答案

微机原理课后习题参考答案

微机原理课后习题参考答案第一章2、完成下列数制之间的转换。

01011100B=92D135D=10000111B 10110010B=262Q=B2H 3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。

答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。

组合型:254=BCD 非组合型:254=BCD 7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少?答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。

+32767~ -32768。

9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。

X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确[X-Y]补=10111001B=00010010+10100111=补正确X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=补正确[X-Y]补=11101001+00001011=11110100B=补正确X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=补正确[X-Y]补=00010010+00001111=00100001B=补正确X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=补正确[X-Y]补=11101110+10001000=01110110B=补于X-Y=-138 超出了机器数范围,因此出错了。

13、微型计算机的主要性能指标有哪些?答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电压、制造工艺、扩展能力、软件配置。

单片微型计算机原理及应用课后答案

单片微型计算机原理及应用课后答案

单片微型计算机原理及应用课后答案习题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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章 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。

相关文档
最新文档