单片机原理及应用课后习题答案  张兰红_第1页
单片机原理及应用课后习题答案  张兰红_第2页
单片机原理及应用课后习题答案  张兰红_第3页
单片机原理及应用课后习题答案  张兰红_第4页
单片机原理及应用课后习题答案  张兰红_第5页
已阅读5页,还剩98页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理及应用张兰红9第1章微型计算机的基本概念11微型计算机由哪几部分组成每一部分各起何作用解微型计算机由微处理器芯片存储器芯片输入输出接口电路芯片与总线组成微处理器是微型计算机的核心它通常包括3个基本部分算术逻辑部件ALUARITHMETICLOGICUNIT对传送到微处理器的数据进行算术运算或逻辑运算的电路如执行加法减法运算逻辑与逻辑或运算等工作寄存器组用来存放操作数及运算的中间结果等控制部件包括时钟电路和控制电路时钟电路产生时钟脉冲用于计算机各部分电路的同步定时控制电路产生完成各种操作所需的控制信号存储器是微型计算机的重要组成部分计算机有了存储器才具备记忆功能IO接口是沟通CPU与外部设备的不可缺少的重要部件外部设备种类繁多其运行速度数据形式电平等各不相同常常与CPU不一致所以要用IO接口作桥梁起到信息转换与协调的作用总线是在微型计算机各芯片之间或芯片内部各部件之间传输信息的一组公共通信线12什么是CPU什么是主机解由于运算器控制器是计算机处理信息的关键部件所以常将它们合称为中央处理单元CPUCENTRALPROCESSINGUNIT简称CPU通常把运算器控制器存储器这三部分称为计算机的主机13何谓计算机系统何谓单板机何谓单片机解计算机与外围设备电源系统软件一起构成应用系统称为计算机系统在一块印刷电路板上集成了中央处理单元CPU只读存储器ROM随机存取存储器RAMIO接口定时器计数器中断系统等功能部件构成一台完整的微型计算机称为单板机在一块半导体芯片上集成了中央处理单元CPU只读存储器ROM随机存取存储器RAMIO接口定时器计数器中断系统等功能部件构成一台完整的微型计算机称为单片机14为什么要采用总线结构芯片为什么要通过缓冲器才能挂在总线上解微型计算机采用总线结构后芯片之间不需单独走线大大减少了连接线的数量挂在总线上的芯片不能同时发送信息否则多个信息同时出现在总线上将发生冲突而造成出错如果有几块芯片需要输出信息就必须分时传送为了实现这个要求挂在总线上的各芯片必须通过缓冲器与总线相连15何谓程序计数器程序计数器中存放的是什么内容它对计算机的工作起什么作用在什么情况下程序的执行顺序发生转移此时程序计数器的内容是怎么样的解程序计数器PC是管理程序执行次序的特殊功能寄存器程序计数器PC中存放的是下一条要执行的指令的地址它管理程序执行的次序在执行转移指令的情况下程序的执行顺序发生转移此时程序计数器直接接受内部总线送来的数据并用该数据取代原有的内容16评价存储器有哪些重要的指标为什么说存储器性能已成为计算机性能提高的关键10解存储器的重要指标是容量和存取速度容量越大则记忆的信息越多计算机的功能就越强存储器的存取速度比CPU的运算速度要低所以存储器的工作速度是影响计算机工作速度的主要因素17综述存储器的种类特点用途和优缺点主要针对内存解按结构与使用功能分内存储器可分为随机存取存储器RAM和只读存储器ROM两类随机存取存储器RAM又称读写存储器它的数据读取存入时间都很短因此计算机运行时既可以从RAM中读数据又可以将数据写入RAM但掉电后RAM中存放的信息将丢失RAM适宜存放原始数据中间结果及最后的运算结果因此又被称作数据存储器只读存储器ROM读出一个数据的时间为数百纳秒有时也可改写但写入一个数据的时间长达数十MS因此在计算机运行时只能执行读操作掉电后ROM中存放的数据不会丢失ROM适宜存放程序常数表格等因此又称为程序存储器只读存储器又可以分为下列四类掩膜ROM在半导体工厂生产时已经用掩膜技术将程序做入芯片用户只能读出其内容而不能改写掩膜ROM只能应用于有固定程序且批量很大的产品中可编程只读存储器PROM用户可将程序写入PROM仅程序一经写入就不能改写可擦除可编程只读存储器EPROM用户可将程序写入EPROM芯片如果要改写程序先用紫外灯照射芯片擦去原先的程序然后写入新程序与PROM芯片一样写入的速度很慢且要用到高压所以必须用特定的EPROM编程器写入信息在计算机运行时只能执行读操作电擦除可编程只读存储器EEPROM这是近年发展起来的一种只读存储器由于采用电擦除方式而且擦除写入读出的电源都用十5V故能在应用系统中在线改写但目前写入时间较长约需10MS左右读出时间约为几百NS18何谓堆栈为什么要设置堆栈栈区是怎样确定的数据进栈出栈按照何种规律进栈用什么指令出栈用什么指令进栈出栈时栈指针如何变化通常栈底所指是什么内容解微型计算机中的堆栈是读写存储器RAM中的一个特殊的区域是一组按照先进后出的方式工作的用于暂存信息的存储单元设置堆栈的目的是便于保护断点地址与现场信息用堆栈指针指示堆栈所在的位置数据进栈出栈按先进后出的原则工作进栈用PUSH指令出栈用POP指令进栈时指针向地址增加的方向变化出栈时指针向地址减小的方向变化栈底是最先进栈的信息所在的单元19请解释下列名词1字长字字节BCD码ASCII码2指令指令地址指令系统程序解1一台计算机一次所能处理的二进制代码的位数称为该计算机的字长16位二进制数称为一个字8位二进制数称为一个字节二进制编码的十进制数简称二十进制数又称BCD码BINARYCODEDDECIMAL11ASCII码是美国标准信息交换代码AMERICANSTANDARDCODEFORINFORMATIONINTERCHANGE的缩写2指令控制计算机进行各种操作的命令称为指令指令地址指令所在存储单元的地址指令系统一台计算机所具有的所有指令的结合称为该计算机的指令系统程序一系列指令的有序集合称为程序110计算机中常用的计数制有哪些解二进制十进制BCD十六进制111什么是机器码什么是真值解把符号数值化的数称为机器数或机器码原来的数值叫做机器数的真值112完成下列数制的转换110100110BDH2011BD325325BH410LL011101BHBCD解1166A6207531111110101FD445BA1001000101XXXXXXXXXX1138位和16位二进制数的原码补码和反码可表示的数的范围分别是多少解8位二进制数原码12712716位二进制数原码32767327678位二进制数补码12812716位二进制数补码32768327678位二进制数反码12712716位二进制数反码3276732767114写出下列真值对应的原码和补码的形式1X111001LB2X71D3X1001001B解1原码11110011B补码10001101B2原码11000111B补码10111001B3原码01001001B补码01001001B115写出符号数10110101B的反码和补码解11001010B11001011B116已知X和Y的真值求X十Y的补码1X1110111BYL011010B2X56DY21D12解111100011B200100011B117己知X1101001BY1010110B用补码求XY的值解11101101B118请写出下列字符的ASCII码4A3解34H41H33H3DH21H119若给字符4和9的ASCII码加奇校验应是多少解34HB9H120上题中若加偶校验结果如何解B4H39H121计算下列表达式14EH十10110101B00101BCDD24EH2408H十B2B解11295D2101010B13第2章MCS51单片机的硬件结构21请结合课本中MCS51系列单片机的结构图阐明其大致组成解按功能部件分51子系列单片机由CPU数据存储器RAM程序存储器ROM特殊功能寄存器4个并行IO口1个串行口定时器计数器中断系统等八个功能部件组成CPU由累加器A暂存器12ALUPSW等组成数据存储器由RAM地址寄存器RAM单元等组成程序存储器指EPROM或ROMSFR指P0P1P2P3锁存器BDPTR等22综述MCS51系列单片机各引脚的作用并进行分类解1主电源引脚VCC接5V电源正端VSS接5V电源地端2外接晶体引脚XTAL1片内反相放大器输入端XTAL2片内反相放大器输出端3输入输出引脚COMP0口的8个引脚在不接片外存储器与不扩展IO接口时作为准双向输入输出接口在输入时需要附加条件的双向输入输出口称为准双向IO口在接有片外存储器或扩展IO接口时P0口分时复用为低8位地址总线和双向数据总线COMP1口的8个引脚可作为准双向IO接口使用对于52子系列P10与P11还有第二种功能P10可用作定时器计数器2的计数脉冲输入端T2P11可用作定时器计数器2的外部控制端T2EXCOMP2口的8个引脚一般可作为准双向IO接口在接有片外存储器或扩展IO接口且寻址范围超过256个字节时P2口用为高8位地址总线COMP3口的8个引脚一般可作为准双向IO接口P3口的第二功能如表21所示表21引脚第二功能P30P31P32P33P34P35P36P37RXD串行输入口RXD串行输出口INT0外部中断0请求输入端INT1外部中断1请求输入端T0定时器计数器0计数脉冲输入端T1定时器计数器1计数脉冲输入端WR片外数据存储器写选通信号输出端RD片外数据存储器读选通信号输出端1423EA引脚的作用是什么在下列四种情况下EA引脚各应该接何种电平1只有片内ROM2只有片外ROM3有片内ROM和片外ROM4有片内ROM和片外ROM片外ROM所存为调试程序解EAVDD片外程序存储器选用端1EA12EA03若片外ROM和片内ROM编址不重叠则EA14若片外ROM和片内ROM编址重叠则访问片内ROM时EA1访问片外ROM时EA024MCS51系列单片机的引脚中有多少根IO线它们与单片机对外的地址总线和数据总线之间有什么关系其地址总线和数据总线各有多少位对外可寻址的地址空间有多大解MCS51系列单片机有4个IO端口每个端口都是8位双向口共占32根引脚在无片外扩展的存储器的系统中这4个端口的每一位都可以作为双向通用IO端口使用在具有片外扩展存储器的系统中P2口作为高8位地址线P0口分时作为低8位地址线和双向数据总线P3口作为控制线使用地址和数据线分别是16位和8位对外可寻址的地址空间是64KB25程序计数器的符号是什么MCS51系列单片机的程序计数器有几位它的位置在哪里解程序计数器的符号是PCMCS51系列单片机的程序计数器有16位为一个专用寄存器在CPU内部26何谓程序状态字它的符号是什么它的位置在哪里它各位的含义是什么为1为0各代表什么各在何种场合有用解程序状态字是一个8位寄存器它包含了程序运行的状态信息它的符号是PSW它的位置在CPU中各位含义如下D7D6D5D4D3D2D1D0CACF0RS1RS0O2P1进位标志位CPSW7作用在执行某些算术操作类逻辑操作类指令时可被硬件或软件置位或清零例如8位加法运算时如果运算结果的最高位D7有进位则C1否则C0又如8位减法运算时如果运算结果的最高位D7有借位则C1否则C02辅助进位标志ACPSW6作用8位加法运算时如果低半字节的最高位D3有进位则AC1否则AC08位减法运算时如果D3有借位则AC1否则AC0AC在作BCD码运算而进行二十进制调整时有用3软件标志F0PSW5作用是用户定义的一个状态标志可通过软件对它置位或清零编程时也常测试其是否建起而进行程序分支154工作寄存器组选择位RS1RS0PSW4PSW3作用用软件置位或清零以确定四组工作寄存器中的哪一组工作它们与各组的对应关系为RS1RS0000组地址从0007H011组地址从080FH102组地址从1017H113组地址从181FH5溢出标志OVPSW2作用当执行算术运算时由硬件置位或清零以指示溢出状态各种算术指令对该位的影响情况在指令系统中详细介绍6奇偶标志PPSW0每执行一条指令单片机都能根据A中1的个数的奇偶自动令P置位或清零奇为1偶为0此标志对串行通信的数据传输非常有用通过奇偶校验可检验传输的可靠性27MCS51系列单片机的内存由哪几部分组成其编址与访问的规律是怎样的解MCS51系列单片机内存由程序存储器与数据存储器两个独立的空间程序存储器的编址自0000H开始最大可至FFFFHMCS51单片机有3种不同的芯片片内有掩膜只读存储器的如80518052片内有EPROM的如8751和片内没有只读存储器的如80318032而ROM的寻址范围为64KB所以片内程序存储器的容量远小于该数可见如扩展片外存储器其裕量是很大的ROM编址规律程序存储器的编址规律为先片内后片外片内片外连续二者一般不作重叠根据PC的内容进行访问片内RAM从00H开始编址片外RAM从0000H开始部分地址重叠实际并不完全一样若只需扩展少量片外RAM容量不超过256个单元则也可以按照8位二进制编址从00H开始到FFH结束由于访问片内外RAM所用的指令不一样不会引起混淆28MCS51系列单片机片内RAM有多少单元有哪些用途这些用途各占用哪些单元堆栈的栈区设在哪里解51子系列片内RAM有128B单元52子系列片内RAM有256B单元单片机片内RAM可分为工作寄存器区位寻址区数据缓冲区三个区域1工作寄存器区00H1FH单元为工作寄存器区供用户编程时使用临时寄存8位信息分为四组07RR但同时只能有一组参与程序程序的运行用RS1RS0两位的状态来选择参与运行的工作寄存器组2位寻地址20H2FH对该区的每一位都有一个位地址共有128个位地址3数据缓冲区30H7FH52子系列为30HFFH作为普通的RAM单元使用4堆栈栈区一般设在2FH以上的单元29MCS51系列单片机在片内集成了哪些主要逻辑功能部件各个逻辑部件的主要功能是什么解MCS51单片机在片内集成了中央处理器CPU程序存储器ROM数据存储器RAM定时器计数器并行IO接口串行IO接口和中断系统等几大单元CPU是整个单片机的核心部件由运算器和控制器组成运算器可以完成算术运算和逻辑运算16其操作顺序在控制器控制下进行控制器是由程序计数器PCPROGRAMCOUNTER指令寄存器IRINSTRUCTIONREGISTER指令译码器IDINSTRUCTIONDECODER定时控制逻辑和振荡器OSC等电路组成CPU根据PC中的地址将欲执行指令的指令码从存储器中取出存放在IR中ID对IR中的指令码进行译码定时控制逻辑在OSC配合下对ID译码后的信号进行分时以产生执行本条指令所需的全部信号程序存储器ROM用于存储程序常数表格等数据存储器RAM用于存储数据8051内部有两个16位可编程序的定时器计数器T0和T1均为加1计数器可用于定时和对外部输入脉冲的计数8051的中断系统主要由中断允许控制器IE和中断优先级控制器IP等电路组成可实现对5个中断源的管理8051的中断系统主要由中断允许控制器IE和中断优先级控制器IP等电路组成其中IE用于控制5个中断源中哪些中断请求被允许向CPU提出哪些中断源的中断请求被禁止IP用于控制5个中断源的中断请求的优先权级别IO接口是MCS51单片机对外部实现控制和信息交换的必经之路用于信息传送过程中的速度匹配和增加它的负载能力可分为串行和并行IO接口2108051单片机的控制总线信号有哪些各有何作用解独立的控制线一共有4条1ALEPROG地址锁存允许编程线配合P0口引脚的第二功能使用在访问片外存储器时8051在P07P00引脚上输出片外存储器低位地址的同时在ALEPROG上输出一个高电位脉冲用于把这个片外存储器低位地址锁存到外部专用地址锁存器以便空出P07P00引脚线去传送随后而来的片外存储器读写数据在不访问片外存储器时8051自动在ALEPROG上输出频率为FOSC6的脉冲序列该脉冲序列可用作外部时钟源或作为定时脉冲源使用2EAVPP允许访问片外存储器编程电源线可以控制8051使用片内ROM还是使用片外ROM若EA则允许使用片内ROM若EA则允许使用片外ROM3PSEN片外ROM选通线在执行访问片外ROM的指令MOVC时8051自动在PSEN上产生一个负脉冲用于为片外ROM芯片的选通其他情况下PSEN线均为高电平封锁状态4RSTVPD复位备用电源线可以使8051处于复位工作状态211何谓特殊功能寄存器8031有哪些特殊功能寄存器试按其用途相关联的硬件功能单元如CPU并行IO口串行IO口定时器计数器中断控制等进行分类解特殊功能寄存器也称专用寄存器专用于控制管理片内算术逻辑部件并行IO口串行IO口定时器计数器中断系统等功能模块的工作用户在编程时可以置数设定但不能移作它用除PC外8031有18个专用寄存器其中3个为双字节寄存器共占用21个字节按其用途相关联的硬件功能单元可分P0口堆栈指针数据指针低字节数据指针高字节定时器计数器计数器0高低字节定时器计数器1高低字节P1口电源控制串行控制串行数据缓冲器P2口中断允许控制P3口中断允许优先级控制程序状态字累加器B寄存器共18个专用寄存器212何谓时钟周期指令周期机器周期针对MCS51系列单片机如采用12MHZ晶振它们的频率和周期各是什么解振荡器输出的振荡脉冲经二分频成为内部时钟信号用作单片机内部各功能部件按序协调工作的控制信号其周期称时钟周期机器周期6个时钟周期构成一个机器周期17指令周期CPU执行一条指令的时间针对MCS51系列单片机采用12MHZ晶振则振荡周期为0167US时钟周期为0333US频率为6MHZ机器周期为1US频率为1MHZ指令周期为1US到4US频率为1MHZ到025MHZ213综述P0P1P2P3口各有哪几种功能解这4个接口可以并行输入或输出8位数据也可按位使用即每一根输入输出线都能独立地用作输入或输出四个8位并行口的功能各不相同P0口是三态双向口通常称为数据总线口因为只有该口能直接用于对外部数据总线的读写操作P0口还用于输出外部数据存储器的低8位地址由于是分时输出故应在外部加地址锁存器将地址数据锁存地址锁存信号用ALEP1口是专门供用户使用的IO接口是准双向接口P2口是供系统扩展时作高8位地址线用如果没有系统扩展例如使用80518751单片机不扩展外部存储器时P2口也可以作为用户IO线使用P2口也是准双向口P3口是双功能口该口的每一位均可以独立地定义为第一IO功能或第二IO口功能P3口的第二功能如表21所示214在读回端口数据时为什么应读锁存器内容而不宜读引脚电平解假如通过三态门从引脚上读回数据有时会发生错误例如用一根口线去驱动一个晶体管的基极在向此口线输出L时锁存器Q1但晶体管导通后引脚上的电平已拉到低电平07V从引脚读回数据会错读为0215阐明准双向口这一名称所以要加用准字的理由解在执行输入操作时如果锁存器原来寄存的数据Q0那么由于Q1将使V1导通引脚被始终箝拉在低电平上不可能输入高电平为此用作输入前必须先用输出指令置Q1使V1截止正因为如此P1口称为准双向接口2168031单片机与开关及LED发光二极管接口电路如216题图所示用8031单片机P1COM作为数据输入口联接开关K3K0COM作为输出口联接发光二极管LED3LED0编程使开关K3K0的状态由COM输入再由COM输出通过发光二极管显示出来要求开关合上时二极管亮开关断开时二极管不亮5VEAP15P168031P17LED1LED2LED3P145VP10P11P12LED0P13K1K2K3K0216题图解ORG2200HMOVAFFHP1口为输入先送118MOVP1AP1口低4位输出1LOOPMOVAP1口状态输入SWAPA开关状态到高4位ORLA0FH低4位为1为下一次输入做准备MOVP1A开关状态输出AJMPLOOP循环217电路如217题图所示用8031P1口的P10P11作为变量XW的输入端用P12作为电路输出端并用LED来显示输出P13端传送状态消息当检测到P13为低电平时CPU开始运算DXWXW并把结果送P12输出显示然后重新开始检测P13状态信息试编写完成上述要求的程序EA5VXWP10P118031P13YP12217题图解参考程序如下ORG0000HLJMPMAINORG0100HMAINMOVP108HLOOPMOVCP13JCLOOPMOVP103HMOVCP10ANLCP11CPLCMOV00HCMOVCP10ORLCP11ANLC00HMOVP12CSJMPMAINEND218第218题图示电路中X1X2X3是三个故障源当系统无故障时X1X2X3均为低电19平对应的三个显示灯全灭当某部分出现故障时其对应的输入端由低电平变为高电平从而引起51单片机中断中断服务程序的任务是判定故障并点亮对应的发光二极管发光二极管LED1LED3对应三个输入端X1X3试编程5VEAP13P148031P15INT0X1X2X3LED1LED2LED3P10P11P12218题图解参考程序如下ORG0000HLJMPMAINORG0003HLJMPINT0SERORG0100HMAINMOVP10FFHSETBIT0SETBEX0SETBEALOOPAJMPLOOPINT0SERJNBP10L1CLRP13L1JNBP11L2CLRP14L2JNBP12L3CLRP15L3RETEND219设某单片机应用系统的P1口连接如第219题图所示要求根据K0的合断情况决定D1D0的点亮如果K0合上D0点亮如果K0断开D1点亮试编程实现之解ORG0000HLJMPMAINORG0100HMAINMOVP10C0HLOOPJBP17ELSECLRP1020AJMPLOOPELSECLRP11AJMPLOOPEND5V5VEAK0D0D1P17P11P108031第219题图220设某单片机应用系统的P1口连接如第220题图所示问5V5VEAK0K1D0D1P17P16P11P108031第220题图1执行第一条指令后哪些指示灯会亮2第二条指令的用处3执行下列指令到最后A要求写出分析过程MOVP10EHORLP1C0HMOVAP1ANLAC0H解1D1会亮2为P17P16的输入做准备3A的内容为80H221MCS51怎样实现上电复位与操作复位并请综述各专用寄存器复位后的状态解与其他计算机一样MCS51单片机系统有上电复位和操作复位两种方法所谓上电复位是21指计算机上电瞬间要在RST引脚上出现宽度大于10MS的正脉冲使计算机进入复位状态操作复位指用户按下复位按钮使计算进入复位状态复位是靠外部电路实现的221题图是上电复位及按钮复位的一种实用电路上电时5V电源立即对单片机芯片供电同时经R对C3充电C3上电压建立的过程就是负脉冲的宽度经倒相后RST上出现正脉冲使单片机实现了上电复位按钮按下时RST上同样出现高电平实现了操作复位在应用系统中有些外围芯片也需要复位如果这些芯片复位端的复位电平与单片机一致则可以与单片机复位脚相连因此非门在这里不仅起到了倒相作用还增大了驱动能力电容C1C2起滤波作用防止干扰窜入复位端产生误动作10KW1C2C3CCCV100PF10F10F221题图复位电路各专用寄存器复位后的状态如下表所示22第3章MCS51系列单片机的指令系统31MCS51系列单片机的寻址方式有哪几种请列表分析各种寻址方式的访问对象与寻址范围解立即寻址寄存器寻址寄存器间接寻址直接寻址基址寄存器加变址寄存器间接寻址相对寻址位寻址寻址方式访问对象寻址范围立即寻址立即数寄存器寻址工作寄存器R0R7累加器A寄存器B数据指针DPTR位处理器C00H1FHE0HF0H82H83H寄存器间接寻址RAM单元内部RAM及外部扩展的64KRAM直接寻址ROM和RAM内部RAM00H7FHSFR80HFFHROM64KB变址寻址ROMROM0000HFFFFH相对寻址ROMROM0000HFFFFH位寻址位寻址区内RAM20H2FH中的可寻址位SFR中的可寻址位32要访问片内RAM可有哪几种寻址方式解对于51系列要访问片内RAM有间接寻址直接寻址位寻址52子系列访问片内低128个字节有直接寻址位寻址间接寻址高128字节有间接寻址33要访问片外RAM可有哪几种寻址方式解访问片外RAM有寄存器间接寻址方式34要访问ROM可有哪几种寻址方式解要访问ROM有直接寻址变址寻址相对寻址35试分别对51子系列和52子系列说明MOVADIRECT指令与MOVARJ指令的访问范围解MOVADIRECT指令中DIRECT对于51子系列的访问范围为内RAM中的低128B单元从00H到7FH访问SFR的范围是从80H到FFH52子系列的访问范围与51子系列的访问范围相同MOVARJ指令对于51子系列的访问范围为内RAM的128B单元从00H到7FH对于52子系列的访问范围为片内RAM从00H到FFH36传送指令中有哪几小类是访问RAM的哪几个类是访问ROM的CPU访问ROM多不多什么时候需要访问ROM解访问RAM的有以累加器A为一方的传送指令不以累加器为一方的传送指令用立即数置数的指令访问片外RAM的传送指令进栈出栈指令交换指令访问ROM的有基址寄存器加变址寄存器间址指令23因为ROM是只读存储器用作程序存储器已事先存入各种程序常数表格等CPU访问ROM不多当执行程序程序转移以及用户访问时需要访问ROM37区分下列指令的不同功能MOVA24H与MOVA24HMOVAR0与MOVAR0MOVAR0与MOVXAR0解前者是将立即数24H送入A中后者是将24H单元的内容送入A中2前者将R0中的内容送入A中后者是将以R0中的内容为地址所在单元的内容送入A中3前者是将片内RAM以R0中的内容为地址所在单元的内容送入A中后者是将片外RAM的以R0中的内容为地址所在单元的内容送入A中38设片内RAM30H单元的内容为40H设片内RAM40H单元的内容为10H片内RAM10H单元的内容为00HP10CAH请写出下列指令执行后的结果MOVR030HMOVAR0MOVR1AMOVBR1MOVR0P1MOVP3P1MOV10H20HMOV30H10H解MOVR030HR030HMOVAR0A40HMOVR1AR140HMOVBR1B10HMOVR0P130H0CAHMOVP3P1P30CAHMOV10H20H10H20HMOV30H10H30H20H39已知A35HR06FHP190HFCHSPC0H试写出下列指令的执行结果1MOVR6A2MOVR0A3MOVA90H4MOVA90H5MOV80H81H6MOVXR0A7PUSHA8SWAPA9XCHAR024解1MOVR6AR635H2MOVR0A6FH35H3MOVA90HA90H4MOVA90HAFCH5MOV80H81H80H81H6MOVR0A6FH35H7PUSHASPC1HC1H35H8SWAPAA53H9XCHAR0A6FHR035H310已知A02HR17FHDPTR2FFCH片内RAM7FH70H片外RAM2FFEH11HROM2FFEH64H试分别写出下列指令的执行结果1MOVAR12MOVXDPTRA3MOVCAADPTR4XCHDAR1解1A70H2片外RAM2FFCH02H3A64H4A00H片内RAM7FH72H311已知A78HR178HB04HC1片内RAM78HDDH片内RAM80H6CH试分别写出下列指令的执行结果如涉及标志位也要写出1ADDAR12ADDCA78H3SUBBA77H4INCR15DEC78H6MULAB7DIVAB8ANL78H78H9ORLAOFH10XRL80HA解1A55HPSW11102A56HPSW11103A00HPSW0000254R179H578HDCH6BA01E0HC1OV17B00HA1EH878H58H9A7FH1080H14H312请对下列各组数分别计算与或异或的结果110011010B和00001111B211010011B和01011010B311001100B和00110011B410101010B和11111111B解1结果分别为00001010B10011111B10010101B2结果分别为01010010B11011011B10001001B3结果分别为00000000B11111111B11111111B4结果分别为10101010B11111111B01010101B313为达到下列要求请说明应采用何种逻辑操作采用什么操作数要求不得改变各未涉及位的内容1使累加器的最低位置12清除累加器的高四位3使A2和A3置14清除A3A4A5A6解1逻辑或操作操作数00000001B2逻辑与操作操作数00001111B3逻辑或操作操作数00001100B4逻辑与操作操作数10000111B314写出下列各条指令的机器码并逐条写出依次执行每一条指令后的结果和PSW的内容1CLRA2MOVA9BH3MOVB0AFH264ADDAB解1机器码E4HA02机器码749BHA9BH3机器码75F0AFHAAFH4机器码25F0HA4AHPSW11XXX1X1B315要选用工作寄存器3组请采用三种不同的指令实现之解1SETBPSW4SETBPSW32ORLPSW18H3MOVPSW18H316列举三种能使累加器A内容清零的指令并比较其优缺点解1ANLA00H2MOVA00H3CLRA317回答问题1算术操作类指令对标志位的影响2逻辑操作类指令对字节内容的修改解1算术操作指令的执行将影响特殊功能寄存器中状态寄存器PSW的3个标志位CPSW7进位标志ACPSW6辅助进位标志OVPSW2辅助进位标志3个标志除特别指出外指令服从以下规则操作结果在最高位有进位输出加法时或借位输入减法时C1否则C0操作结果的低4位有进位输出加法时或有向高4位的借位减法时AC1否则AC0溢出标志OV满足逻辑关系式OVC6C7C6为加法时累加器A的D6位向D7产生的进位或减法时累加器A的D6位向D7产生的借位有进位或借位时C61C7为加法时累加器A的D7位向更高位产生的进位或减法时累加器A的D7位向更高位产生的借位有进位或借位时C71OV标志位常用于加减指令对带符号数做补码加减运算时OV1表示加减运算的结果超出了A所能表示的带符号数的范围1281272若要对内部的某几位清零而其它位保持不变可以选用ANLDIRECTDATA指令在需27要清零的位上对应的DATA的相应位清零若要对内部的某几位置1可以选用ORLDIRECTDATA指令在需要置1的位上对应的DATA的相应位置1若要对内部的某几位求反可以选用XRLDIRECTDATA指令在需要求反的位上对应的DATA的相应位置1若要对内部RAM某单元求反可以选用XRLDIRECT0FFH318要将片内RAM0FH单元的内容传送去专用寄存器B对0FH单元的寻址可有三种方法1R寻址2R间址3DIRECT寻址请分别编写出相应程序比较其字节数机器周期数和优缺点解1MOVR00FHMOVBR02MOVR00FHMOVBR03MOVB0FH1占四个字节数四个机器周期数2占四个字节数四个机器周期数3占三个字节数三个机器周期数所以第三种方法最好319设R07EHDPTR10FEH片内RAM7EH单元的内容为0FFH7F单元的内容为38H试为下列程序的每条指令注释其执行结果INCR0INCR0INCR0INCDPTRINCDPTRINCDPTR解INCR0将7EH单元的内容加1即7EH00HINCR0R07FHINCR07FH39HINCDPTRDPTR10FFHINCDPTRDPTR1100HINCDPTRDPTR1101H28320试编程引用与运算判断某8位二进制数是奇数还是偶数解设该8位二进制数放在累加器A中如果是奇数将F0标志置1如果是偶数将F0标志清0ORG2000HSTARTMOVR0AANLA01HJZLOOPMOVAR0SETBPSW5SJMPHERELOOPMOVAR0CLRPSW5HERESJMPHERE321试编程引用或运算使任意8位二进制数的符号位必为1解ORG2000HSTARTORLA80H322请思考引用异或运算怎样可使一带符号数的符号位改变数据位不变怎样可使该数必然变0解将该数与80H相异或就可以改变其符号位而数值位保持不变将该数与其本身相异或就可以使该数必然为0323要选择工作寄存器组可有几种编程办法解可以采用如下三种办法1SETBPSW4SETBPSW32ORLPSW18H3MOVPSW18H324设ROM片内RAM片外RAM各有关单元的内容示如下图问执行下列程序段后A0000AJMP030HORG0030H0030MOVR032H29MOVAR0MOVR1AMOVXAR1MOVCAADPTR30H33H32H31H30H31H32H33H片内RAM30H33H32H31H32H30H33H31H片外RAM0030H0033H0032H0031H30H33H31H32HROM解A30H325若在片内RAM30H单元中有二位压缩的BCD码95H问执行下列程序后片内RAM30H单元的内容是什么31H32H的内容又是什么并写出BCD码十进制调整的过程MOVR030HMOVAR0ANLA0FHMOVR3AMOVAR0SWAPAANLA0FHADDAR3DAAMOVR0AMOVR3AINCR0ANLA0FHMOVR0AINCR0MOVAR3ANLA0F0HSWAPAMOVR0ARET解30H14H31H04H32H01H30第4章MCS51汇编语言程序设计41请解释下列名词机器码助记符操作码操作数源程序目标程序汇编程序汇编语言汇编语言程序汇编指令汇编机器汇编人工汇编解机器码二进制代码形式的指令操作码用指令的英文缩写表示便于辨识指令的功能也便于记忆称为助记符操作数是参与该指令操作的操作数或操作数所在的地点寻址方式有时用一个表达式来表示一个操作数例如TAB十1源程序汇编语言程序与高级语言程序目标程序二进制代码形式的程序汇编程序机器汇编时用到的软件汇编语言用缩写的英文单词表示操作码用字母数字表示操作数的语言汇编语言程序用汇编指令书写的程序汇编指令用缩写的英文单词表示操作码用字母数字表示操作数的指令汇编将汇编语言源程序翻译成目标程序的过程机器汇编由机器完成汇编工作人工汇编由编程人员手工完成汇编工作42经过汇编后下列各条语句的标号将是什么数值ORG2000HTABLEDS10WORDDB15202530FANGEQU1000HBEGINMOVAR0解TABLE2000HWORD200AHFANG1000HBEGIN200EH43下列程序段经过汇编后从2000H开始的各有关存储单元的内容将是什么ORG2000HTABDS5DB10H10DW2100HORG2050H31DWTABDBWORK解从2000H到2004H单元内容为预留的2005H10H2006H0AH2007H00H2008H21H2050H00H2051H20H2052H57H2053H4FH2054H52H2055H4BH44下列程序段经过汇编后从1000H开始的各有关存储单元的内容将是什么ORG1000HTAB1EQU1234HTAB2EQU3000HDBSTARTDWTAB1TAB2解1000H53H1001H54H1003H52H1004H54H1005H34H1006H12H1007H00H1008H30H45有程序如下CLRCCLRRS1CLRRS0MOVA38HMOVR0AMOV29HR0SETBRS0MOVR1AMOV26HAMOV28HC要求1区分哪些是位操作指令哪些是字节操作指令322写出程序执行后片内RAM有关单元的内容3译成机器码4按汇编语言程序的标准格式书写要求有各条指令的存放地址和必要的注释解1位操作指令为CLRSETB指令再加上MOV28HC2C0RS10RS01A38HR038H29H38HR138H26H38H28H034略46试编程将两个四位二进制数并存与一个字节解设两个四位二进制数分别存放于R0和R1的低半字节合并后的结果存于R2中ORG2000HSTARTMOVAR1SWAPAORLAR0MOVR2ASJMP47试编程有两个双字节压缩的BCD码数相加设这两待加数分别按先低后高原则存放在30H31H和40H41H单元和要求放回30H31H单元解ORG0050HSTARTMOVR030HMOVAR0ADDA40HDAAMOVR0AINCR0MOVAR0ADDCA41HDAAMOVR0ASJMPENDSTART48试编程将累加器A内容低四位送片外RAM7AH单元高4位送片外RAM7BH单元7AH337BH单元的高4位均清零解ORG0050HSTARTMOV7CHAANL7AH0FHMOV7AHAMOVA7CHANLA0F0HSWAPAMOV7BHASJMPENDSTART49试编程将片内RAM50H51H单元二个无符号数中较小的数存与60H单元解ORG2000HHSTARTCLRCMOVA50HSUBBA51HJCLESSMOV60H51HSJMPELSELESSMOV60H50HELSE410试编程将片内RAM60H69H单元中的十个数相加和的低8位存入7EH高8位存入7FH解ORG2000HSTARTMOV7FH00HMOVR109HMOVR060HMOVAR0INCR0LOOPADDAR0JNCLP1INC7FH34LP1INCR0DJNZR1LOOPMOV7EHADONE411试编程统计从片内RAM60H单元起所存60个数中0的个数并存入工作寄存器R7解按照题意看本题所用单片机是52子系列机型符合题意要求的程序为ORG2000HHSTARTMOVR700HMOVR160MOVR060HLOOPMOVAR0JNZNPLSINCR7NPLSINCR0DJNZR1LOOPDONE412试编程将ROM中自2000H单元起的100个数按序移至片外RAM自2080H单元起的内存区间去解ORG2000HSTARTMOVDPTR2000HMOVR164HMOVR20LOOPMOVAR2MOVCAADPTRMOVR3AMOVA80HADDAR2MOVDPLAMOVAR3MOVXDPTRAINCR2MOVDPL035DJNZR1LOOPDONE413试编程将ROM中以TAB为初址的32个单元的内容依次传送到片外RAM以00H为初址的区域去规定用查表指令解ORG2000HHSTARTMOVDPTRTABMOVR000HMOVR220HLOOPCLRAMOVCAADPTRMOVXR0AINCDPTRINCR0DJNZR2LOOPDONESJMPDONE414阅读下列程序1说明该程序的功能2填出所缺的机器码3试修改程序使片内RAM的内容达到右下图所示的结果7AMOVR20AHMOVR050HE4CLRAE6LOOPMOVR0A08INCR0DADJNZR2LOOPDONE解1将片内RAM自50H单元起的10个单元清零27A0A7850E4F63608DAFC3在MOVR0A指令后添一条INCA指令415阅读下列程序并要求1说明程序的功能2写出涉及的寄存器及片内RAM单元的最后结果MOVR040HMOVAR0INCR0ADDAR0INCR0MOVR0ACLRAADDCA0INCR0MOVR0A已知40H98H41HAFH解143H42H40H41H2A的内容为01HR0的内容为43HC1片内RAM42H单元的内容为47H43H单元的内容为01H416阅读下列程序并要求1说明程序的功能2写出涉及的寄存器及片内RAM单元的最后结果MOVA61HMOVB02HMULABADDA62HMOV63HACLRAADDCABMOV64HA已知61HF2H62HCCH37解1将片内RAM61H单元的内容左移一位与62H的内容相加将结果的高8位存入64H低8位存入63H2A的内容为02H63H的内容为B0H64H的内容为02H417已知R3FBHR464H阅读下列程序并要求1说明程序的功能2写出涉及的寄存器及片内RAM单元的最后结果CLRCMOVAR3RRCAMOVR3AMOVAR4RRCAMOVR4A解1程序功能实现16位数带进位位循环右移一位2R37DHR4B2HC0418阅读下列程序并要求1说明程序的功能2写出涉及的寄存器及片内RAM单元的最后结果ORG1000HABSMOVR038HMOVR148HMOVR206HLOOPMOVAR0JNBA7NEXTCPLASETBA7INCANEXTMOVR1AINCR0INCR1DJNZR2LOOPDONE38解1片内RAM自38H单元起6个单元的内容分别取补后依次存放到片外RAM自48H单元起的6个单元的内容不变2片内RAM自38H单元起6个单元的内容不变片外RAM自48H单元起6个单元的内容依次为48H48H49H8EH4AHFFH4BHD8H4CH00H4DHBCH39第5章MCS51的中断系统51请列举MCS51系列单片机的中断源和中断申请方法解51子系列有五个中断源1外部中断01输入输出设备的中断请求掉电设备故障的中断请求等都可以作为外部中断源从引脚INT0或INT1输入外部中断请求INT0INT1有两种触发方式电平触发及跳变触发由TCON的IT0位及IT1位选择IT0IT10时INT0或INT1为电平触发方式当引脚INT0或INT1上出现低电平时就向CPU申请中断CPU响应中断后要采取措施撤消中断请求信号使INT0或INT1恢复高电平IT0IT11时为跳变触发方式当INT0或INT1引脚上出现负跳变时该负跳变经边沿检测器使IE0TCON1或IE1TCON3置1向CPU申请中断CPU响应中断后由硬件自动清除IE0IE1CPU在每个机器周期采样INT0INT1为了保证检测到负跳变引脚上的高电平与低电平至少应各自保持1个机器周期2定时器计数器01溢出中断定时器计数器计数溢出时由硬件分别置TF01或TF11向CPU申请中断CPU响应中断后由硬件自动清除TF0或TF13串行接口中断串行接口的中断请求由发送或接收所引起串行接口发送了一帧信息便由硬件置TI1向CPU申请中断串行接口接收了一帧信息便由硬件置RI1向CPU申请中断CPU响应中断后必须用软件清除TI和RI52子系列有6个中断源增加了定时器计数器2中断请求52MCS51单片机响应外部中断的典型时间是多少在哪些情况下CPU将推迟对外部中断请求的响应解响应外部中断的典型时间是38个机器周期当遇到下列三种情况之一时CPU将推迟对外部中断请求的响应1CPU正在处理同级的或更高优先级的中断2所查询的机器周期不是所当前正在执行指令的最后一个机器周期3正在执行的指令是RETI或是访问IE或IP的指令53中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别解指令RETI与指令RET的差别是RETI指令执行完毕把响应中断时所置1的优先级状态触发器清0而RET指令则没有这个动作其它过程的都是相同的40第6章MCS51的定时器计数器61请归纳MCS51系列单片机的定时器计数器共有哪些用途并说明其具体用法解定时器计数器是MCS51单片机的重要功能模块之一在检测、控制及智能仪器等应用中常用定时器作实时时钟实现定时检测定时控制还可用定时器产生毫秒宽的脉冲驱动步进电动机一类的电气机械计数器主要用于外部事件的计数具体用法略62综述定时器计数器01四种工作方式的工作特征与用法解定时器计数器01有四种工作方式工作特征与用法为方

温馨提示

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

评论

0/150

提交评论