单片微型计算机原理与接口技术 髙锋 课后答案第3章
- 格式:doc
- 大小:100.00 KB
- 文档页数:9
微型计算机原理和接口技术第三章课后答案本文回答了微型计算机原理和接口技术第三章的课后题目,涵盖了数字逻辑电路、组合逻辑电路、时序逻辑电路和存储器等内容。
1. 数字逻辑电路1.1. 逻辑电路和数字逻辑电路的基本概念逻辑电路是由逻辑门(与门、或门、非门等)和触发器等基本逻辑元件组合而成的电路。
数字逻辑电路是逻辑电路在数字系统中的应用,主要用于实现数字信号的逻辑运算和信号的转换等功能。
1.2. 数字逻辑门电路的组合和简化数字逻辑电路中常见的逻辑门有与门(AND)、或门(OR)、非门(NOT)等。
这些逻辑门可以通过组合和简化来构造更复杂的逻辑电路,例如与非门(NAND)、或非门(NOR)等。
1.3. 数字逻辑电路的时序特性数字逻辑电路的时序特性主要包括延迟时间、上升时间和下降时间等。
延迟时间表示信号经过电路的传播所需的时间,上升时间和下降时间表示信号从一个逻辑状态到另一个逻辑状态所需的时间。
2. 组合逻辑电路2.1. 组合逻辑电路的定义和特点组合逻辑电路是由多个逻辑门组合而成的电路,输入信号直接决定输出信号,不涉及时钟信号和状态存储。
2.2. 组合逻辑电路的设计方法组合逻辑电路的设计方法主要有真值表法、卡诺图法和特征方程法。
真值表法通过列出输入输出的真值表来进行设计,卡诺图法通过画出卡诺图进行化简,特征方程法通过建立逻辑方程进行设计。
2.3. 组合逻辑电路的应用组合逻辑电路广泛应用于数字系统中,包括逻辑运算、数据选择、数据的编码和解码等功能。
3. 时序逻辑电路3.1. 时序逻辑电路的定义和特点时序逻辑电路是由触发器和组合逻辑电路组合而成的电路,通过时钟信号来控制触发器的状态转换。
时序逻辑电路具有状态存储的功能,可以实现存储和记忆功能。
3.2. 触发器和时序逻辑电路的设计方法触发器是时序逻辑电路的基本组件,常见的触发器包括SR 触发器、D触发器和JK触发器等。
时序逻辑电路的设计方法主要是通过状态转换图、状态转移表和重建方程等方法进行设计。
第三章3-1选择题1、MOVX A,@DPTR指令中源操作数的寻址方式是(B)(A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即寻址2.ORG 0003HLJMP 2000HORG 000BHLJMP 3000H 当CPU响应外部中断0后,PC的值是(B)(A)0003H (B)2000H (C)000BH (D)3000H3.执行PUSH ACC指令,MCS-51完成的操作是(A)(A)SP+1 SP (ACC)(SP)(B)(ACC)(SP)SP-1 SP(B)(C)SP-1 SP (ACC)(SP) (D)(ACC)(SP)SP+1 SP4、LCALL指令操作码地址是2000H,执行完相子程序返回指令后,PC=(D)(C)2000H (B)2001H (C)2002H (D)2003H5、51执行完MOV A,#08H后,PSW的一位被置位(D)(A)(A)C (B)F0 (C)OV (D)P6、下面条指令将MCS-51的工作寄存器置成3区(B)(A)MOV PSW,#13H (B)MOV PSW,#18H(B)SETB PSW.4 CLR PSW.3 (d) SETB PSW.3 CLR PSW.47、执行MOVX A,DPTR指令时,MCS-51产生的控制信号是(C)(D)/PSEN (B)ALE (C)/RD (D)/WR8、MOV C,#00H的寻址方式是(A)(A)位寻址(B)直接寻址(C)立即寻址(D)寄存器寻址9、ORG 0000HAJMP 0040HORG 0040HMOV SP,#00H当执行完左边的程序后,PC的值是(C)(A)0040H (B)0041H (C)0042H (D)0043H10、对程序存储器的读操作,只能使用(D)(A)MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令3-2判断题。
4.MCS-51的相对转移指令最大负跳距是127B。
习题二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 说明下列各条指令划线部分的寻址方式,并用图说明指令实现的操作。
单片微型计算机原理与接口技术高锋版课后答案第一章略第二章【单片机的基本结构】思考与练习题解析【2-1】8()C51单片机在片内集成了哪些主要逻辑功能部件?各个逻辑部件的最主要功能是什么?【答】80C51单片机在片内主要包含中央处理器CPU(算术逻辑单元ALU及控制器等)、只读存储器ROM、读/写存储器RAM、定时器/计数器、并行I/O口Po~P3、串行口、中断系统以及定时控制逻辑电路等,各部分通过内部总线相连。
1.中央处理器(CPU)单片机中的中央处理器和通用微处理器基本相同,是单片机的最核心部分,主要完成运算和控制功能,又增设了“面向控制”的处理功能,增强了实时性。
80C51的CPU是一个字长为8位的中央处理单元。
2.内部程序存储器根据内部是否带有程序存储器而形成三种型号:内部没有程序存储器的称为80C31;内部带ROM的称为80c51,80c51共有4 KB掩膜ROM;内部以EPROM代替RoM的称为87C51。
程序存储器用于存放程序和表格、原始数据等。
3.内部数据存储器(RAM)在单片机中,用读/写存储器(RAM)来存储程序在运行期间的工作变量和数据。
80C51中共有256个RAM单元。
4.I/O口单片机提供了功能强、使用灵活的I/O引脚,用于检测与控制。
有些I/O引脚还具有多种功能,比如可以作为数据总线的数据线、地址总线的地址线或控制总线的控制线等。
有的单片机I/0引脚的驱动能力增大。
5.串行I/O口目前高档8位单片机均设置了全双工串行I/0口,用以实现与某些终端设备进行串行通信,或与一些特殊功能的器件相连的能力,甚至用多个单片机相连构成多机系统。
有些型号的单片机内部还包含两个串行I/O口。
6·定时器/计数器80c51单片机内部共有两个16位定时器/计数器,80C52则有3个16位定时器/计数器。
定时器/计数器可以编程实现定时和计数功能。
7.中断系统80C51单片机的中断功能较强,具有内、外共5 个中断源,具有两个中断优先级。
单片机微型计算机原理及接口技术课后习题答案3章3-1简述模型机的工作过程(就以书上举例,叙述过程,本题内容较多,明白道理即可,不需详细记住)计算机的指令执行过程分为读取指令→分析指令→执行指令→保存结果在进行计算前,应做如下工作:①用助记符号指令(汇编语言)编写程序(源程序)②用汇编软件(汇编程序)将源程序汇编成计算机能识别的机器语言程序③将数据和程序通过输入设备送入存储器中存放读取指令阶段(就以书上举例,理解过程即可):①CPU将程序计数器PC中的内容XXH送地址寄存器AR②程序计数器PC的内容自动加1,为取下一条指令做好准备③地址寄存器AR将XXH通过地址总线AB送至存储器地址译码器译码,选中XXH 单元。
④CPU发出“读”指令⑤所选中的XXH单元中的内容由存储器送至数据总线DB上⑥经数据总线DB,CPU将读出的XXH单元中的内容送至数据寄存器DR⑦数据寄存器DR将其送至指令寄存器IR,经过译码,CPU通过控制器发出执行该条指令的控制命令。
执行指令阶段(就以书上举例,理解过程即可)与读取类似(这里从略)3-2 STC15F2K60S2单片机的存储器分为哪几个空间?中断服务程序的入口地址分别是什么?32个通用寄存器各对应哪些RAM单元?STC15F2K60S2单片机的存储器分为四个空间,分别为程序Flash存储器,数据Flash 存储器,内部数据存储器和扩展数据存储器。
中断服务程序的入口地址分别为:0003H 外部中断0中断服务程序的入口地址000BH 定时/计数器0中断服务程序的入口地址0013H 外部中断1中断服务程序的入口地址001BH 定时/计数器1中断服务程序的入口地址0023H 串行通信口1中断服务程序的入口地址002BH ADC中断服务程序的入口地址0033H 低电压检测中断服务程序的入口地址003BH PCA中断服务程序的入口地址0043H 串行通信口2中断服务程序的入口地址004BH SPI中断服务程序的入口地址0053H 外部中断2中断服务程序的入口地址005BH 外部中断3中断服务程序的入口地址0063H 定时/计数器2中断服务程序的入口地址0083H 外部中断4中断服务程序的入口地址32个通用寄存器分为寄存器组0,1,2,3,每个组8个8位的工作寄存器(R0~R7),均存在于内部数据存储器的低128字节内,范围为00H-1FH寄存器组0 R0~R7对应00H-07H寄存器组1 R0~R7对应08H-0FH寄存器组2 R0~R7对应10H-17H寄存器组3 R0~R7对应18H-1FH3-3 位地址29H,61H,7FH,E0H,F1H,各对应哪些单元的哪些位?29H——RAM位寻址区字节地址25H,对应D1位61H——RAM位寻址区字节地址2CH,对应D1位7FH——RAM位寻址区字节地址2FH,对应D7位E0H——高128字节/特殊功能寄存器SFR区,寄存器ACC(字节地址E0H)的D0位;F1H——高128字节/SFR,寄存器B(字节地址F0H)的D1位。
单片机微型计算机原理及接口技术课后习题答案3章3-1简述模型机的工作过程(就以书上举例,叙述过程,本题内容较多,明白道理即可,不需详细记住)计算机的指令执行过程分为读取指令→分析指令→执行指令→保存结果在进行计算前,应做如下工作:①用助记符号指令(汇编语言)编写程序(源程序)②用汇编软件(汇编程序)将源程序汇编成计算机能识别的机器语言程序③将数据和程序通过输入设备送入存储器中存放读取指令阶段(就以书上举例,理解过程即可):①CPU将程序计数器PC中的内容XXH送地址寄存器AR②程序计数器PC的内容自动加1,为取下一条指令做好准备③地址寄存器AR将XXH通过地址总线AB送至存储器地址译码器译码,选中XXH 单元。
④CPU发出“读”指令⑤所选中的XXH单元中的内容由存储器送至数据总线DB上⑥经数据总线DB,CPU将读出的XXH单元中的内容送至数据寄存器DR⑦数据寄存器DR将其送至指令寄存器IR,经过译码,CPU通过控制器发出执行该条指令的控制命令。
执行指令阶段(就以书上举例,理解过程即可)与读取类似(这里从略)3-2 STC15F2K60S2单片机的存储器分为哪几个空间?中断服务程序的入口地址分别是什么?32个通用寄存器各对应哪些RAM单元?STC15F2K60S2单片机的存储器分为四个空间,分别为程序Flash存储器,数据Flash 存储器,内部数据存储器和扩展数据存储器。
中断服务程序的入口地址分别为:0003H 外部中断0中断服务程序的入口地址000BH 定时/计数器0中断服务程序的入口地址0013H 外部中断1中断服务程序的入口地址001BH 定时/计数器1中断服务程序的入口地址0023H 串行通信口1中断服务程序的入口地址002BH ADC中断服务程序的入口地址0033H 低电压检测中断服务程序的入口地址003BH PCA中断服务程序的入口地址0043H 串行通信口2中断服务程序的入口地址004BH SPI中断服务程序的入口地址0053H 外部中断2中断服务程序的入口地址005BH 外部中断3中断服务程序的入口地址0063H 定时/计数器2中断服务程序的入口地址0083H 外部中断4中断服务程序的入口地址32个通用寄存器分为寄存器组0,1,2,3,每个组8个8位的工作寄存器(R0~R7),均存在于内部数据存储器的低128字节内,范围为00H-1FH寄存器组0 R0~R7对应00H-07H寄存器组1 R0~R7对应08H-0FH寄存器组2 R0~R7对应10H-17H寄存器组3 R0~R7对应18H-1FH3-3 位地址29H,61H,7FH,E0H,F1H,各对应哪些单元的哪些位?29H——RAM位寻址区字节地址25H,对应D1位61H——RAM位寻址区字节地址2CH,对应D1位7FH——RAM位寻址区字节地址2FH,对应D7位E0H——高128字节/特殊功能寄存器SFR区,寄存器ACC(字节地址E0H)的D0位;F1H——高128字节/SFR,寄存器B(字节地址F0H)的D1位。
第1章思考题及习题参考答案1写出下列二进制数的原码、反码和补码(设字长为8位)。
(1)001011 (2)100110(3)-001011 (4)-111111答:(1)原码:00001011 反码:00001011 补码:00001011(2)原码:00100110 反码:00100110 补码:00100110(3)原码:10001011 反码:11110100 补码:11110101(4)原码:10111111 反码:11000000 补码:110000012已知X和Y,试计算下列各题的[X+Y]补和[X-Y]补(设字长为8位)。
(1) X=1011 Y=0011(2) X=1011 Y=0111(3) X=1000 Y=1100答:(1)X补码=00001011 Y补码=00000011 [–Y]补码=11111101[X+Y]补=00001110 [X-Y]补=00001000(2)X补码=00001011 Y补码=00000111 [–Y]补码=11111001[X+Y]补=00010010 [X-Y]补=00000100(3)X补码=00001000 Y补码=00001100 [–Y]补码=11110100[X+Y]补=00010100 [X-Y]补=111111003 微型计算机由那几部分构成?答:微型计算机由微处理器、存储器和I/O接口电路构成。
各部分通过地址总线(AB)、数据总线(DB)和控制总线(CB)相连。
4 8086的寻址范围有多大?其物理地址是如何形成?答:8086有20根地址总线,它可以直接寻址的存储器单元数为1M字节,其地址区域为00000H—FFFFFH。
物理地址是由段地址与偏移地址共同决定的,物理地址=段地址×16+偏移地址其中段地址通常来自于段寄存器CS ,物理地址来自于IP。
5 什么叫单片机?它有何特点?答:单片机就是在一块硅片上集成了CPU、RAM、ROM、定时器/计数器和多种I/O口(如并行、串行及A/D变换器等)的一个完整的数字处理系统。
《微型计算机原理与接⼝技术》第三习题答案《微机原理与接⼝技术》习题解答习题11.1 冯·诺依曼型计算机的设计⽅案有哪些特点?【解答】冯·诺依曼型计算机的设计⽅案是“存储程序”和“程序控制”,有以下5⽅⾯特点:(1)⽤⼆进制数表⽰数据和指令;(2)指令和数据存储在内部存储器中,按顺序⾃动依次执⾏指令;(3)由运算器、控制器、存储器、输⼊设备和输出设备组成基本硬件系统;(4)由控制器来控制程序和数据的存取及程序的执⾏;(5)以运算器为核⼼。
1.2 微处理器和微型计算机的发展经历了哪些阶段?各典型芯⽚具备哪些特点?【解答】经历了6代演变,各典型芯⽚的特点如表1-1所⽰。
表1-1 微处理器的发展及典型芯⽚的特点1.3 微型计算机的特点和主要性能指标有那些?【解答】除具有运算速度快、计算精度⾼、有记忆能⼒和逻辑判断能⼒、可⾃动连续⼯作等基本特点以外,还具有功能强、可靠性⾼、价格低廉、结构灵活、适应性强、体积⼩、重量轻、功耗低、使⽤和维护⽅便等。
微型计算机的性能指标与系统结构、指令系统、硬件组成、外部设备以及软件配备等有关。
常⽤的微型计算机性能指标主要有:字长、主频、内存容量、指令数、基本指令执⾏时间、可靠性、兼容性、性能价格⽐等。
1.4 常见的微型计算机硬件结构由哪些部分组成?各部分的主要功能和特点是什么?【解答】微型计算机硬件⼀般由微处理器、内存储器、外存储器、系统总线、接⼝电路、输⼊/输出设备等部件组成。
主要组成部件的功能和特点分析如下:(1)微处理器:是微型计算机的核⼼部件,由运算单元ALU、控制单元、寄存器组以及总线接⼝部件等组成,其功能是负责统⼀协调、管理和控制系统中的各个部件有机地⼯作。
(2)内存储器:⽤来存放计算机⼯作过程中需要的操作数据和程序。
可分为随机存储器RAM 和只读存储器ROM。
RAM存放当前参与运⾏的各种程序和数据,特点是信息可读可写,存取⽅便,但信息断电后会丢失;ROM⽤于存放各种固定的程序和数据,特点是信息固定不变,关机后原存储的信息不会丢失。
第1章微型计算机系统概述1. 简述微型计算机系统的组成。
2. 简述计算机软件的分类及操作系统的作用。
3. CPU是什么?写出Intel微处理器的家族成员。
4. 写出10条以上常用的DOS操作命令。
[参考答案]1.答:微型计算机系统由硬件和软件两大部分组成,硬件又可细分为主机(由CPU、存储器、控制电路、接口等构成)、输入设备(如键盘)和输出设备(如显示器);软件可细分为系统软件(如操作系统)和应用软件。
3.答CPU(Central Processing Unit中央处理单元)是计算机的核心部件,它包括控制器和算术逻辑运算部件等。
Intel 微处理器的家族成员有:8088/8086、80186、80286、80386、80486、Pentium(80586)、Pentium Ⅱ、Pentium Ⅲ 和Pentium IV。
第2章计算机中的数制和码制1. 将下列十进制数转换成二进制数:(1) 49;(2)73.8125;(3) 79.752. 将二进制数变换成十六进制数:(1)101101B;(2)1101001011B;(3)1111111111111101B;(4)100000010101B;(5)1111111B;(6)10000000001B3. 将十六进制数变换成二进制数和十进制数:(1)FAH;(2)5BH;(3)78A1H;(4)FFFFH; (5) 34.2AH;(6)B8.93H4. 将下列十进制数转换成十六进制数:(1)39;(2)299.34375;(3)54.56255. 将下列二进制数转换成十进制数:(1)10110.101B;(2)10010010.001B;(3)11010.1101B6. 计算(按原进制运算):(1)10001101B+11010B;(2)10111B+11100101B;(3)1011110B-1110B;(4)124AH+78FH;(5)5673H+123H;(6)1000H-F5CH;7. 已知a=1011B,b=11001B,c=100110B, 按二进制完成下列运算,并用十进制运算检查计算结果:(1)a+b;(2)c-a-b;(3)a·b;(4)c/b8. 已知a=00111000B, b=11000111B, 计算下列逻辑运算:(1)a AND b;(2)a OR b;(3)a XOR b;(4)NOT a9. 设机器字长为8位,写出下列各数的原码和补码:(1)+1010101B;(2)-1010101B;(3)+1111111B;(4)-1111111B;(5)+1000000B;(6)-1000000B10. 写出下列十进制数的二进制补码表示(设机器字长为8位):(1)15;(2)-1;(3)117;(4)0;(4)-15;(5)127;(6)-128;(7)8011. 设机器字长为8位,先将下列各数表示成二进制补码,然后按补码进行运算,并用十进制数运算进行检验:(1)87-73;(2)87+(-73);(3)87-(-73);(4)(-87)+73;(5)(-87)-73;(6)(-87)-(-73);12. 已知a,b,c,d为二进制补码:a=00110010B, b=01001010B, c=11101001B, d=10111010B, 计算:(1)a+b;(2)a+c;(3)c+b;(4)c+d;(5)a-b;(6)c-a;(7)d-c;(8)a+d-c13. 设下列四组为8位二进制补码表示的十六进制数,计算a+b和a-b,并判断其结果是否溢出:(1)a=37H, b=57H; (2)a=0B7H, b=0D7H;(3)a=0F7H, b=0D7H; (4)a=37H, b=0C7H14. 求下列组合BCD数的二进制和十六进制表示形式:(1)3251(2)12907(3)ABCD(4)abcd15. 将下列算式中的十进制数表示成组合BCD码进行运算,并用加6/减6修正其结果:(1)38+42;(2)56+77;(3)99+88;(4)34+69;(5)38-42;(6)77-56;(7)15-76;(8)89-2316. 将下列字符串表示成相应的ASCII码(用十六进制数表示):(1)Example 1;(2)Jinan University;(3)-108.652;(4)How are you?;(5)Computer(6)Internet Web17. 将下列字符串表示成相应的ASCII码(用十六进制数表示):(1)Hello(2)123<CR>456;(注:<CR>表示回车)(3)ASCII;(4)The number is 2315[参考答案]1.解:(1)49=0011 0001B (2)73.8125=0100 1001.1101B(3)79.75=0100 1111.11B3. 解:(1)FAH=1111 1010B=250D (2)5BH=0101 1011B=91D(3)78A1H=0111 1000 1010 0001B=30881D(4)FFFFH=1111 1111 1111 1111B=65535D5. 解:(1)10110.101B=22.625 (2)10010010.001B=146.0625(3)11010.1101B=26.81257. 解:a=1011B=11, b=11001B=25, c=100110B=38(1)a+b=100100B=36 (2)c-a-b=10B=2(3)a·b=100010011B=275 (4)c/b=1……1101B(=13)9. 解:(1)+1010101B 原码01010101B 补码01010101B(2)-1010101B 原码11010101B 补码10101011B(3)+1111111B 原码01111111B 补码01111111B(4)-1111111B 原码11111111B 补码10000001B(5)+1000000B 原码 01000000B 补码01000000B(6)-1000000B 原码 11000000B 补码11000000B11. 解:按补码表示+87=0101 0111B;+73=0100 1001B;-87=1010 1001B;-73=1011 0111B(1)87-73=0101 0111B-0100 1001B=1110B=14(2)87+(-73)=0101 0111B+1011 0111B=[1]0000 1110B=14(舍去进位)(3)87-(-73)=0101 0111B-1011 0111B=[-1]1010 0000B=-96(溢出)(4)(-87)+73=1010 1001B+0100 1001B=1111 0010B=-14(5)(-87)-73=1010 1001B-0100 1001B=[-1]0110 0000B=96(溢出)(6)(-87)-(-73)=1010 1001B-1011 0111B=1111 0010B=-1413. 解:(1)a=37H, b=57H; a+b=8EH; a-b=[-1]E0H=-32(2)a=0B7H, b=0D7H; a+b=[1]8EH=-114; a-b=[-1]E0H=-32(3)a=0F7H, b=0D7H; a+b=[1]CEH=-50; a-b=20H=32(4)a=37H, b=0C7H; a+b=FEH=-2; a-b=[-1]70H=11215. 解:(1)将38、42表示成组合BCD码:38H、42H,然后按二进制进行运算,并根据运算过程中的AF,CF进行加6/减6修正。
第3章【单片机的指令系统】思考与练习题解析【3—1】什么是指令及指令系统?【答】控制单片机进行某种操作的命令称为“指令”。
单片机就是根据指令来指挥和控制单片机各部分协调工作。
指令由二进制代码表示,指令通常包括操作码和操作数两部分:操作码规定操作的类型,操作数给出参加操作的数或存放数的地址。
所有指令的集合称为“指令系统”。
80C51单片机的指令系统专用于80C51系列单片机,是一个具有255种操作码(OOH~FFH,除A5H外)的集合。
【3—2】80C51单片机的指令系统具有哪些特点?【答】80C51单片机的指令系统容易理解和阅读。
只要熟记代表33种功能的42种助记即可。
有的功能如数据传送,可以有几种助记符,如MOV、MOVc、MOVX。
而指令功能助记符与操作数各种寻址方式的结合,共构造出111种指令,而同一种指令所对应的操作码可以多至8种(如指令中Rn对应寄存器R0~R7)。
80C51单片机的指令系统具有较强的控制操作类指令,容易实现“面向控制”的功能;具有位操作类指令,有较强的布尔变量处理能力。
【3—3】简述80C51指令的分类和格式。
【答】80C51的指令系统共有111条指令,按其功能可分为5大类:数据传送类指令(28条)、算术运算类指令(24条)、逻辑运算类指令(25条)、控制转移类指令(17条)和布尔操作(位)类指令(17条)。
指令的表示方法称之为“指令格式”,其内容包括指令的长度和指令内部信息的安排等。
在80C51系列的指令系统中,有单字节、双字节和三字节等不同长度的指令。
·单字节指令:指令只有一个字节,操作码和操作数同在一个字节中。
·双字节指令:包括两个字节。
其中一个字节为操作码,另一个字节是操作数。
·三字节指令:操作码占一个字节,操作数占两个字节。
其中操作数既可能是数据,也可能是地址。
【3—4】简述80C51的指令寻址方式,并举例说明。
【答】执行任何一条指令都需要使用操作数,寻址方式就是在指令中给出的寻找操作数或操作数所在地址的方法。
80C5l系列单片机的指令系统中共有以下7种寻址方式。
①立即寻址。
在指令中直接给出操作数。
出现在指令中的操作数称为“立即数”,为了与直接寻址指令中的直接地址相区别,在立即数前面必须加上前缀“#”。
例如:MOV DPTR,#1234H ;1234H为立即数,直接送DPTR②直接寻址。
在指令中直接给出操作数单元的地址。
例如:MOV A,55H ;55H是操作数单元的地址,55H单元内的数据才是操作数,取出后送累加器A③寄存器寻址。
在指令中将指定寄存器的内容作为操作数。
因此,指定了寄存器就能得到操作数。
寄存器寻址方式中,用符号名称来表示寄存器。
例如:INC R7 ;R7的内容为操作数,加1后再送回R7④寄存器间接寻址。
在指令中给出的寄存器内容是操作数的地址,从该地址中取出的才是操作数。
可以看出,在寄存器寻址方式中,寄存器中存放的是操作数;而在寄存器间接寻址方式中,寄存器中存放的则是操作数的地址。
寄存器间接寻址须以寄存器符号名称的形式表示。
为了区别寄存器寻址和寄存器间接寻址,在寄存器间接寻址中,应在寄存器的名称前面加前缀“@”。
例如:ORL A.@Ro;当R0寄存器的内容是60H时,该指令功能是以RO寄存器的内容60H为地址,将60H地址单元的内容与累加器A中的数相“或”,其结果仍存放在A中。
⑤相对寻址。
在指令中给出的操作数为程序转移的偏移量。
相对寻址方式是为实现程序的相对转移而设立的,为相对转移指令所采用。
在相对转移指令中,给出地址偏移量(在80C51系列单片机的指令系统中,以“rel”表示,为8位带符号数),把PC的当前值加上偏移量就构成了程序转移的目的地址。
而PC的当前值是指执行完转移指令后的PC值,即转移指令的PC值加上转移指令的字节数。
转移的目的地址可用如下公式表示:目的地址=(转移指令所在地址+转移指令字节数)+rel例如:SJMP 80H ;80H为程序转移的偏移量,即一128。
当前PC值减去128后即为转移地址⑥变址寻址。
以DPTR或PC作基址寄存器,累加器A作变址寄存器,以两者内容相加形成的16位程序存储器地址作为操作数地址。
又称“基址寄存器+变址寄存器间接寻址”。
变址寻址方式只能对程序存储器进行寻址。
例如:MOVC A,@A+DPTR ;功能是把DPTR和A的内容相加,所得到的程序存储器地址单元的内容送A⑦位寻址。
80C51系列单片机有位处理功能,可以对数据位进行操作,因此,就有相应的位寻址方式。
位寻址的寻址范围:●片内RAM中的位寻址区。
·可位寻址的特殊功能寄存器位。
例如:MOV c,80H ;功能是把位寻址区的80H位(即P0.0)状态送累加位C【3—5】访问特殊功能寄存器SFR,可使用哪些寻址方式?【答】访问特殊功能寄存器SFR的惟一寻址方式是直接寻址方式。
这时除了可以单元地址形式(如90H)给出外,还可以寄存器符号形式(如P1)给出。
虽然特殊功能寄存器可以使用寄存器符号标志,但在指令代码中还是按地址进行编码的。
【3—6】若访问外部RAM单元,可使用哪些寻址方式?【答】访问外部RAM单元的惟一寻址方式是寄存器间接寻址方式。
片外RAM的64 KB单元,使用DPTR作为间址寄存器,其形式为@DPTR,例如“MOVX A,@DPTR”的功能是把DPTR指定的片外RAM单元的内容送累加器A。
片外RAM低256个单元,除了可使用DPTR作为间址寄存器外,也可使用:R0或R1作间址寄存器。
例如“MOVX A,@R0'’即把R0指定的片外RAM单元的内容送累加器A。
【3—7】若访问内部RAM单元,可使用哪些寻址方式?【答】片内RAM的低128单元可以使用寄存器间接寻址方式,但只能采用R0或R1为间址寄存器,其形式为@Ri(i=0,1)。
片内RAM的低128单元可以使用直接寻址方式,在指令中直接以单元地址形式给出。
片内RAM的低128单元中的20H~2FH有128个可寻址位,还可以使用位寻址方式,对这128个位的寻址使用直接位地址表示。
【3—8】若访问程序存储器,可使用哪些寻址方式?【答】访问程序存储器可使用的寻址方式有立即寻址方式、变址寻址方式和相对寻址方式三种。
立即寻址是指在指令中直接给出操作数。
变址寻址方式只能对程序存储器进行寻址,或者说这是专门针对程序存储器的寻址方式。
相对寻址方式是为实现程序的相对转移而设立的。
这三种寻址方式所得到的操作数或操作数地址都在程序存储器中。
【3—9】MOV、MOVC、MOⅥ(指令有什么区别?分别用于哪些场合?为什么?【答】MOV指令用于对内部RAM的访问。
MOVC指令用于对程序存储器的访问,从程序存储器中读取数据(如表格、常数等)。
MOVX指令采用间接寻址方式访问外部数据存储器.有Ri和DPTR两种间接寻址方式。
执行MOVX指令时,在P3.7引脚上输出RD有效信号.或在P3.6引脚上输出WR有效信号,可以用做外部数据存储器或I/O的读/写选通信号,与单片机扩展电路有关。
【3—10】说明“DA A”指令功能,并说明二一十进制调整的原理和方法。
【答】“DA A”指令的功能是对两个BCD码的加法结果进行调整。
两个压缩型BCD码按二进制数相加之后,必须经过该指令的调整才能得到压缩型BCD码的和数。
“DA A”指令对两个BCD码的减法结果不能进行调整。
BCD码采用4位二进制数编码,并且只采用了其中的10个编码,即0000~1001,分别代表BCD 码0~9,而10lO~1111为无效码。
当两个BCD码相加结果大于9时,说明已进入无效编码区;当两个BCD码相加结果有进位时,说明已跳过无效编码区。
若结果进入或跳过无效编码区,则结果是错误的,相加结果均比正确结果小6(差6个无效编码)。
十进制调整的修正方法为:当累加器低4位大于9或半进位标志AC=1时,进行低4位加6修正;当累加器高4位大于9或进位标志CY=l时,进行高4位加6修正。
【3一11】说明80C51单片机的布尔处理机的构造及功能。
【答】80C51单片机内部有一个布尔(位)处理机,具有较强的布尔变量处理能力。
布尔处理机实际上是一位微处理机,它包括硬件和软件。
布尔处理机以进位标志CY作为位累加器,以80C51单片机内部RAM的20H~2FH单元及部分特殊功能寄存器为位存储器,以80C51单片机的PO、P1、P2和P3为位I/O。
对位地址空间具有丰富的位操作指令,包括布尔传送指令、布尔状态控制指令、位逻辑操作指令及位条件转移指令,为单片机的控制带来很大方便。
【3—12】试分析以下程序段的执行结果。
MOV SP,#60HMOV A,#88HMOV B,#OFFHPUSH ACCPUSH BPOP ACCPOP B【答】结果如下:MOV SP,#60tt ;(SP)=60HNOV A,#88tt ;(A)=88HMOV B.#0FFH ;(B)=FFHPUSH ACC ;(SP)=61H,(61H)=88HPUSH B ;(SP)=62H,(62H)=FFHPOP ACC ;(A)=FFH,(SP)=61HPOP B ;(B)=88H,(SP)=60H程序段的执行结果:累加器A和寄存器B的内容通过堆栈进行了交换。
注意:80C51单片机的堆栈是按照先进后出的原则进行管理的。
【3-1】已知(A)=7AH,(RO)=30H,(30H)=A5 H,(PSW)=80H。
请填写各条指令单独执行后的结果。
(1) XCH A,R0(2) XCH A,30tt(3) XCH A,@R0(4) XCHD A,@R0(5) SW AP A(6) ADD A,R0(7) ADD A,30H(8) ADD A,#30H(9) ADDC A,30H(10) SUBB A,30H(11) SUBB A,#30H【答】结果如下:(1) XCH A,R0 ;(A)=30H,(R0):7AH(2) XCH A,30H ;(A)=A5H,(30H)=7AH,(PSW)=81H(3) XCH A,@R0 ;(A)=R5H,(30H)=7AH,(PSW)=81H(4) XCHD A,@R0 ;(A)=75H,(30H)=AAH,(PSW)=81H(5) SW AP A ;(A)=A7H(6) ADD A,R0 ;(A)=AAH,(PSW)=04H(7) ADD A,30H ;(A)=1FH,(PSW)=81H(8) ADD A,#30H ;(A)=AAH,(PSW)=04H(9) ADDC A,30H ;(A)=20H,(PSW)=01H(10) SUBB A,30H ;(A)=D4H,(PSW)=84H(11) SUBB A,#30H ;(A)=49H,(PSW)=01H【3—14】已知(30H)=40H,(40H)=10 H,(10H)=00H,(P1)=CAH,请写出执行以下程序段后有关单元的内容。