




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、59单片微机原理及应用徐春辉电子工业出版社习题答案第1章1简述计算机的基本组成结构。答:计算机的基本组成结构由输入设备、输出设备、运算器、控制器和存储器等五大部件构成。2简述单片微型计算机系统应用和开发的特点。答:单片微型计算机系统应用和开发的特点是需要进行软硬两方面的设计和调试。第2章1为什么微型计算机要采用二进制?十六进制代码能为微型计算机直接执行吗?为什么要使用十六进制数?答:在所有数制中,只有二进制数最容易用电路来表达,据此构建的计算机结构也是最简单的。十六进制代码不能为计算机直接执行,只有二进制代码才能为计算机所识别和执行。二进制代码过于冗长,而其对应的十六进制数则更为简洁,而且此二
2、种数制的相互转换非常方便,这就是常常使用十六进制数来表示其对应的二进制数的原因。2将下列各二进制数分别转换为十进制数和十六进制数。(1)11010B (2)110100B (3)10101011B(4)11111B答:(1)11010B=26=1AH (2)110100B=52=34H (3)10101011B=171=ABH(4)11111B=31=1FH3将下列各数分别转换为二进制数和十六进制数。(1)129D (2)253D (3)0.625 (4)111.111答:(1)129D10000001B=81H(2)253D11111101B=FDH(3)0.625=0.101B=0.AH
3、(4)111.111=01101111.000111B=6F.1CH4把下列十六进制数转换成十进制数和二进制数。(1)AAH (2)BBH (3)C.CH (4)DE.FCH (5)ABC.DH (6)128. 08H 答:(1)AAH=170=10101010B(2)BBH=187=10111011B(3)C.CH=12.75=1100.1100H(4)DE.FCH=222.984375=11011110.1111110B(5)ABC.DH=2748.8125=101010111100.1101B(6)128. 08H=296.03125=100101000.000015什么叫原码、反码及补
4、码?答:在机器数中,最高位为符号位,正数的符号位用0表示,负数的符号位用1表示,其余为该数的绝对值,这种表示法称为原码。正数的反码和原码相同;负数的反码为其原码除符号位外其他各位按位取反得所值。正数的补码和原码相同;负数的补码为反码加1。6已知原码如下,写出其反码及补码(其最高位为符号位)。(1)X原= 01011001 (2)X原= 11011011 (3)X原= 11111100答:(1)X反= X补= X原= 01011001(2)X反= 10100100X补=10100101(3)X反= 10000011X补=100001007当微机把下列数视为无符号数时,它们相应的十进制数为多少?若
5、把它们视为补码,最高位为符号位,那么它们相应的十进制数又是多少?(1)10001110 (2)10110000 (3)00010001(4)01110101 答:视为无符号数时:(1)10001110B=142 (2)10110000B=176(3)00010001B=17 (4)01110101B=117若把它们视为补码,最高位为符号位,那么它们相应的十进制数是:(1)10001110B= -114 (2)10110000B= -80(3)00010001B= 17 (4)01110101B= 1178先将下列十六进制数转换为二进制数,然后分别完成逻辑乘、逻辑加和逻辑异或操作。(1)33H和
6、BBH (2)ABH和FFH (3)78H和0FH答:(1)X=33H=00110011B,Y=BBH=10111011B;X Y=00110011B;XY=10111011B;XY=10001000B(2)X=ABH=10101011B,Y=FFH=11111111B;X Y=10101011B;XY=11111111B;XY=01010100B(3)X=78H=01111000B;Y=0FH=00001111B;X Y=00001000B;XY=01111111B;XY=01110111B;9已知x和y,试分别计算x + y补和x- y补,并指出是否产生溢出(设补码均用8位表示)。(1)x
7、 = +1001110,y =+0010110 (2)x = +0101101,y = -1100100(3)x = -0101110,y =+0111011 (4)x = -1000101,y = -0110011答:(1)x + y补=01100100B,无溢出;x- y补=00111000B,无溢出;(2)x + y补=11001001B,无溢出;x- y补=10010001B,溢出;(3)x + y补=00001101B,无溢出;x- y补=10010111B,无溢出;(2)x + y补=10001000B,无溢出;x- y补=11101110B,无溢出;10写出下列各数的BCD码。(
8、1)45 (2)98 (3)124 (4)1998答:(1)45=(0100 0101)BCD (2)98=(1001 1000)BCD(3)124=(0001 0010 0100)BCD (4)1998=(00011001 10011000)BCD11用十六进制形式写出下列字符的ASCII码。(1)CD (2)COMPUTER (3)HELLO (4)F365答:(1)43H、44H (2)43H、4FH、4DH、50H、55H、54H、45H、52H(3)48H、45H、4CH、4CH、4FH (4)46H、33H、36H、35H12ALU是什么部件?它能完成什么运算功能?答:ALU称为算
9、术逻辑部件,它能完成算术运算和逻辑运算。13累加器有何用处?答:累加器通常用于提供ALU的一个运算数据或暂存ALU的运算结果,此外还能使存储其中的数据左移或右移。14控制字是什么意思?试举个例子说明之。答:控制字是一个二进制数,其各位代表相应控制信号的逻辑状态。例如:CON = LAEALBEBLCECLDED=10010000表示要将寄存器B的内容传送入寄存器A中去。15ROM和RAM各有何特点和用处?答:ROM为只能读出的存储器,可用于存放固定的程序和数据。RAM为可在线写入和读出的存储器,可用于随时写入或读出数据,也可用于写入随时有可能改变的用户程序。16为什么要建立“地址”这个概念?答
10、:因为存储器的存储单元很多,为区分不同的存储单元必须给每个存储单元编上地址。17除地线公用外,5根地址线和11根地址线各可选多少个地址?5答:2=32个地址11 2=2048个地址18译码器有何用处?答:译码器用于产生和输入代码相对应的控制信号。如果是存储器地址译码器则其能根据输入的地址信号产生存储器相应单元的选通信号。19存储地址寄存器(MAR)和存储数据寄存器(MDR)各有何用处?答:MAR用以接受来自PC的地址号。MDR用以接受来自总线的数据。此二者均为存储器的主要辅件。20微型计算机的基本结构是怎样的?包括哪些主要部件?答:微型计算机包括微处理器(CPU)、随机存取存储器(RAM)、只
11、读存储器(ROM)、I/O接口电路及外设组成。前面四大部分通过系统总线连接在一起。21指令、指令系统和程序三者间有什么区别和联系?答:指令是指挥计算机工作的指示和命令。而指令系统则是一台计算机所拥有的所有指令的集合。程序则是为了实现特点功能而将取自指令系统的指令按照一定顺序排列起来的组织体。22控制部件包括哪些主要环节?各有何用处?答: (1)指令部件作用是获取来自程序存储器的二进制指令操作码并将其译成控制动作信号送入控制矩阵。(2)时序部件作用是用于产生微操作控制部件所需的定时脉冲信号。(3)控制矩阵控制矩阵可以为ID输出信号配上节拍电位和节拍脉冲,也可将外部进来的控制信号组合,共同形成相应
12、的微操作控制信号序列,控制相关部件按照严格的先后顺序执行指令所要求的各种微操作,最终完成规定的操作。23环形计数器有何用处?什么叫环形字?答:环形计数器用于产生机器节拍。若将环形计数器的输出视为一个字,则这个字就称为环形字24试说明下列各部件的作用:(1)程序计数器PC (2)指令寄存器IR (3)指令译码器ID答:(1)程序计数器PC是在控制器中设置的一个专用寄存器,用来存放当前要执行的指令在存储器中的位置信息(即存储器地址),以便根据此地址去读取指令。(2)指令寄存器IR是用来暂时存放从存储器中取出的当前要执行指令的操作码的这么一个寄存器。(3)指令译码器ID是对指令操作码进行分析,在其输
13、出端产生各种控制电平,以形成相应的微操作,用以实现指令执行过程中所需要的功能控制的这么一个译码器。25什么叫例行程序?什么叫机器周期、取指周期和执行周期?本章所论模型式计算机的机器周期包括几个时钟周期(机器节拍)?机器周期是否一定是固定不变的?答:例行程序是由控制部件内部的结构确定了的各条指令的执行步骤,机器周期是指一条指令从取指到执行完所需的时钟周期数。取指周期为从PC开始输出使程序存储器中的指令进入IR到PC+1为止的时钟周期数。执行周期为从指令进入控制器起至执行完的时钟周期数。本章所论模型计算机的机器周期包括6个时钟周期,在这里机器周期是固定的,但是对于不同的计算机而言,机器周期就不一定
14、是固定的了。26何谓总线?它有哪几类?它们的主要功能是什么?答:将多个装置或部件连接起来并传送信息的公共通道称为总线。总线通常有如下三种类型: 数据总线(DB):专门传送数据信息。 地址总线(AB):专门传送地址信息。 控制总线(CB):专门传送控制信息。27微型计算机系统的硬件和软件包括哪些部分?各部分的作用是什么?答:硬件系统主要包括主机箱、显示器、键盘和打印机等。主机箱内装有主机板、光盘和硬盘驱动器、电源等,CPU、内存储器和I/O接口电路等装在主机板上,一般主机板上还留有扩展插槽,以备用户扩展其他功能。硬件系统是运行各种软件的支持平台。计算机的软件系统包括系统软件和应用软件。系统软件是
15、为了最大限度地发挥计算机的功能,便于使用、管理和维护计算机硬件的软件,它也是应用软件的支撑软件,可以为应用软件提供很好的运行环境。应用软件是指用户为了解决某一领域的实际问题而编制的计算机应用程序,具有明显的针对性和专用性。28什么叫单片机?和一般型计算机相比,单片机有何特点?答:单片是在一块芯片上集成了中央处理器(CPU)、存储器(RAM、ROM)、定时器/计数器、中断控制、各种输入/输出(I/O)接口(如并行I/O口、串行I/O口和A/D转换器)等为一体的器件。一般微型计算机的基本结构由CPU(运算器、控制器)、存储器、输入设备和输出设备五大部分组成,各部分通过外部总线连接而成为一体。单片机
16、的结构是在一块芯片上集成了中央处理器(CPU)、存储器、定时器/计数器、中断控制、各种输入/输出接口(如并行I/O口、串行I/O口和A/D转换器)等,它们通过单片机内部总线连接而成为一体。29除了单片机这一名称之外,单片机还可称为( )和( )。答:微控制器和嵌入式控制器。30MCS-51系列单片机的基本型芯片分别为哪几种?它们的差别是什么?答:基本芯片为8031、8051、8751。8031内部包括1个8位CPU、128BRAM,21个特殊功能寄存器(SFR)、4个8位并行I/O口、1个全双工串行口,2个16位定时器/计数器,但片内无程序存储器,需外扩EPROM芯片。8051是在8031的基
17、础上,片内又集成有4KBROM,作为程序存储器,是1个程序不超过4KB的小系统。8751是在8031的基础上,增加了4KB的EPROM,它构成了1个程序小于4KB的小系统。用户可以将程序固化在EPROM中,可以反复修改程序。31MCS-51系列单片机与51系列单片机的异同点是什么?答:51系列单片机与MCS-51系列单片机的内核结构和指令系统完全兼容,前者相比后者制造工艺得到改进,并且片内资源有所增加。32说明单片机主要应用在哪些领域。答:单片机主要应用领域为:工业自动化;智能仪器仪表;消费类电子产品;通信方面;武器装备;终端及外部设备控制;多机分布式系统。第3章1AT89S51单片机的片内都
18、集成了哪些功能部件?答:AT89S51单片机的片内都集成了如下功能部件:(1)1个微处理器(CPU);(2)128个数据存储器(RAM)单元 ;(3)4K Flash程序存储器;(4)4个8位可编程并行I/O口(P0口、P1口、P2口、P3口);(5)1个全双工串行口;(6)2个16位定时器/计数器;(7)1个看门狗定时器;(8)一个中断系统,5个中断源,2个优先级;(9)25个特殊功能寄存器(SFR),(10)1个看门狗定时器。2说明AT89S51单片机的引脚接高电平或低电平的区别。答:当脚为高电平时,单片机读片内程序存储器(4K 字节Flash)中的内容,但在PC值超过0FFFH(即超出4
19、K字节地址范围)时,将自动转向读外部程序存储器内的程序;当脚为低电平时,单片机只对外部程序存储器的地址为0000HFFFFH中的内容进行读操作,单片机不理会片内的4K 字节的Flash程序存储器。3单片机的存储器在物理结构上和逻辑上有何区别?答:单片机存储器的逻辑空间是指由单片机CPU所确定的可以寻址的空间。而物理空间是指有具体物理器件相对应可以实际存储数据的那部分逻辑空间。4AT89S51单片机中执行程序的地址放在哪里?是几位二进制数?最大寻址范围是多少?程序状态字PSW各位的定义是什么?答:PC。16位。64KB。程序状态字PSW各位的定义是:(1)Cy(PSW.7)进位标志位:(2)Ac
20、(PSW.6)辅助进位标志位:(3)F0(PSW.5)用户设定标志位:(4)RS1、RS0(PSW.4、PSW.3)4组工作寄存器区选择控制位:(5)OV(PSW.2)溢出标志位:(6)PSW.1位:保留位,未做定义,不可使用。(7)P(PSW.0)奇偶标志位:5什么叫堆栈?AT89S51中堆栈的最大容量是多少?答:所谓堆栈,是指一个连续的数据存储区域,其操作原则为“先进后出”或“后进先出”。AT89S51中堆栈的最大容量理论上可以达到128B。6开机复位后,CPU使用哪一组工作寄存器?它们的地址是什么?如何改变当前工作寄存器组?答:第0组。地址是00H07H。通过修改PSW中RS1、RS0两
21、位的值来改变当前工作寄存器组。764KB程序存储器空间有5个单元地址对应AT89S51单片机5个中断源的中断入口地址,请写出这些单元的入口地址及对应的中断源。答:64K程序存储器空间中5个特殊单元所分别对应的5个中断源的中断服务程序入口地址如下表所示:8在程序设计时,为什么有时要对复位后的堆栈指针SP重新赋值?如果在操作中需要使用三组工作寄存器,SP的初值应该至少多大?答:系统复位后,SP初始化为07H,使得堆栈事实上由08H 单元开始。考虑到08H1FH单元分属于工作寄存器区的13组,如果程序设计中要用到这些寄存器组,则必须在复位后对堆栈指针SP重新赋值。最好把SP值改置为1FH或更大的值如
22、60H,SP的初始值越小,堆栈深度就越深,堆栈指针的值可以由软件改变,因此堆栈在内部RAM中的位置比较灵活。如果在操作中需要使用三组工作寄存器,SP的初值至少应该为17H。9AT89S51的寻址范围是多少?最多可以配置多大容量的外部ROM和多大容量的外部RAM?答:64KB、64KB、64KB。10AT89S51单片机运行出错或程序进入死循环时如何摆脱困境?答:通过硬件复位。11AT89S51单片机扩展系统中片外程序存储器和片外数据存储器,使用相同的地址编码,是否会在数据总线上出现争总线现象?为什么?答:不会。因为这两种存储器使用的选通信号不同。片外程序存储器使用出使能控制信号,而片外数据存储
23、器分别使用和作为读写控制信号。作为输12AT89S51的P0口和P2口各有何作用?P0口为什么要外接锁存器?答:P0口通常作为分时复用的地址/数据总线使用,作为地址总线使用时用于提供16位地址总线的低8位地址信号。P2口通常用于提供16位地址总线的高8位地址信号。在前述功能不使用的情况下,这两端口也可以作为一般的I/O使用。P0口外接锁存器的目的是使CPU发出的地址信号在P0口作为数据通道时依然保持有效。13AT89S51的ALE引脚有何作用?AT89S51不接外部RAM时,ALE信号有何特点?答:AT89S51的ALE引脚用于对低8位地址信号的锁存控制。AT89S51不接外部RAM时,ALE
24、信号是频率为时钟频率六分之一的固定周期信号。14举例说明单片机工业控制系统中掉电保护的意义和方法。答:单片机工业控制系统在运行程序的过程中,如果发生掉电故障将会丢失RAM和寄存器中的数据,其后果有时是很严重的。为此,需要掉电保护功能,进行掉电保护处理。掉电保护方式是通过对SFR中的PCON(地址87H)相应位置1而启动的。当CPU执行一条置PCON.1位(PD)为1的指令后,系统进入掉电工作方式。在这种工作方式下,内部振荡器停止工作。由于没有振荡时钟,因此,所有的功能部件都停止工作。但内部RAM区和特殊功能寄存器的内容被保留,而端口的输出状态值都保存在对应的SFR中。掉电模式的退出有两种方法:
25、硬件复位和外部中断。硬件复位时要重新初始化SFR,但不改变片内RAM的内容。当VCC恢复到正常工作水平时,只要硬件复位信号维持10ms,便可使单片机退出掉电运行模式。15内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为()和()。答:28H;88H。16片内字节地址为2AH单元最低位的位地址是();片内字节地址为88H单元的最低位的位地址为()。答:50H;88H。17若A中的内容为63H,那么P标志位的值为()。答:P标志位的值为0。18在AT89S51单片机中,如果采用6 MHz晶振,那么一个机器周期为()。答:2s19判断下列说法是否正确。A使用AT89S51且引脚
26、= 1时,仍可外扩64 KB的程序存储器。()B区分片外程序存储器和片外数据存储器的最可靠的方法是,看其位于地址范围的低端还是高端。()C在AT89S51中,为使准双向的I/O口工作在输入方式,必须事先预置为1。()DPC可以视为程序存储器的地址指针。()答:(A)错;(B)错;(C)对;(D)对20AT89S51单片机复位后,R4所对应的存储单元的地址为(),因上电时PSW = ()。这时当前的工作寄存器区是()组工作寄存器区。答:04H、00H、第021判断以下有关PC和DPTR的结论是否正确。A指令可以访问寄存器DPTR,而PC不能用指令访问。()B它们都是16位寄存器。()C在单片机运
27、行时,它们都具有自动加1的功能。()DDPTR可以分为2个8位的寄存器使用,但PC不能。()答:(A) 对;(B) 对;(C) 错;(D) 对。22内部RAM中,可作为工作寄存器区的单元地址为()H()H。答:字节地址00H-1FH的单元可作为工作寄存器区。23判断下列说法是否正确。AAT89S51中特殊功能寄存器(SFR)就是片内RAM中的一部分。()B片内RAM的位寻址区,只能供位寻址使用,而不能进行字节寻址。()CAT89S51共有21个特殊功能寄存器,它们的位都是可用软件设置的,因此是可以进行位寻址的。()DSP称为堆栈指针,堆栈是单片机内部的一个特殊区域,与RAM无关。()答:(A)
28、 错;(B) 错;(C) 错;(D) 错。24在程序运行中,PC的值是()。A当前正在执行指令的前一条指令的地址B当前正在执行指令的地址C当前正在执行指令的下一条指令的首地址D控制器中指令寄存器的地址答:(C)。26AT89S51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为AT89S51的PC是16位的,因此其寻址的范围为()KB。答:6427AT89S51的4个并行双向口P0P3的驱动能力各为多少?要想获得较大的输出驱动能力,是采用低电平输出还是采用高电平输出?答:P0口每位可驱动8个LSTTL输入,而P1、P2、P3口的每一位的驱动能力,只有P0口的一半。当P0口的某位
29、为高电平时,可提供400?A的电流;当P0口的某位为低电平(0.45V)时,可提供3.2mA的灌电流,如低电平允许提高,灌电流可相应加大。所以,任何一个口要想获得较大的驱动能力,只能用低电平输出。28当AT89S51单片机运行出错或程序陷入死循环时,如何摆脱困境?答:通过硬件复位。练习与思考题41按长度分,51系列单片机的指令有字节的、字节的和3 字节的。2按指令的执行时间分,51和机器周期的指令。351系列单片机汇编语言指令格式中,唯一不可缺少的部分是(B )。A标号B操作码C操作数D注释4简述8051的寻址方式和每种寻址方式所涉及的寻址空间。答: 551系列单片机的寻址方式中,位寻址的寻址
30、空间是(D )。A工作寄存器R0R7B专用寄存器SFRC程序存储器ROMD片内RAM的20H2FH字节中的所有位和地址可被8整除的SFR的有效位6分析下面各指令源操作数的寻址方式。MOV A,32H ;直接寻址MOV R7,A ;寄存器寻址MOV R0,#0FEH ;立即寻址MOV A,R1 ;寄存器间接寻址MOV DPTR,#1E00H ;立即寻址MOVC A,A+DPTR ;变址寻址MOV C,20H ;位寻址JC 10H ;相对寻址7访问特殊功能寄存器和外部数据存储器,分别可以采用哪些寻址方式?答:访问特殊功能寄存器只能用直接寻址;访问外部数据存储器只能用寄存器间接寻址。8在寄存器寻址方
31、式中,指令中指定寄存器的内容就是操作数。9在寻址方式中,只能使用8 位二进制数作为直接地址。10在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的地址。11在变址寻址方式中,以作变址寄存器,以或作基址寄存器。12三种传送指令MOV、MOVC和MOVX,使用时有什么区别?答:MOV指令用来实现单片机内部寄存器、存储单元、特殊功能寄存器之间的数据传送。MOVC指令用来读程序存储器中的数据表。MOVX 指令用来实现累加器A和外部数据存储器之间的数据传送。13假定DPTR的内容为8100H,累加器的内容为40H,执行指令“MOVC A,A+DPTR”后,程序存储器单元的
32、内容送累加器A中。14单片机中PUSH和POP指令常用来(C )。A保护断点B保护现场C保护现场,恢复现场D保护断点,恢复断点15假定(A)=85H,(R0)=20H,(20H)=AFH。执行指令:ADD A,R0后,累加器A的内容为34H ,CY 的内容为1 ,AC的内容为1 ,OV的内容为1 。16假定(A) = 56H,(R5) = 67H。执行指令ADD A,R6DA A后,累加器A的内容为23H ,Cy的内容为1 。17假定(A) = 50H,(B) = 0A0H,LCALLSUBR;ADDA,#10H;MOVB,A;SJMP$;SUBR:MOVDPTR,#100AH;PUSHDPL
33、;PUSHDPH;RET;答:(SP)=42H、(A)=30H,(B)=3;LCALL SUBRADD A,#10HMOV B,ASJMP $SUBR:MOV DPTR,#100AHPUSH DPLPUSH DPHRET答:(SP)=42H、(A)=30H,(B)=30H练习与思考题51. 用于程序设计的语言分为哪几种?它们各有什么特点?答:51系列单片机的编程语言可以分为汇编语言和高级语言(如C语言)两种,各自的特点如下:2. 说明伪指令的作用。“伪”的含义是什么?常用的伪指令有哪些?其功能是什么?答:伪指令是在“机器汇编”过程中,用来对汇编过程进行某种控制或者对符号和标号进行赋值。“伪”的
34、含义是指这些指令不属于指令系统中的指令,汇编时也不产生机器代码。常用伪指令有ORG、EQU、DATA、DB、DW、DS、BIT 、END。功能:ORG -指出后面程序块或数据块在程序存储器中存放的起始地址。EQU -赋值命令DATA-对数据地址或代码地址赋予规定的字符名称DB -定义字节数据DW -定义字数据DS-从指定的地址单元开始,保留若干单元备用。BIT -定义位地址符号命令END -汇编结束命令3. 设常量和数据标号的定义为:ORG 2000HDAT1:DB 1,2,3,4,5DAT2:DB ABCDDAT3:DW 1200H,-2TAB:DW DAT1,DAT3(1)画出上述数据或地
35、址的存储形式。 (2)写出各标号的地址。答:(1)地址(2)DAT1=2000H;DAT3=2009H;TAB =200DHDAT2=2005H5. 试编写程序,找出片内RAM 30H5FH单元中无符号数的最大数,并将结果存入60H单元。答:ORG 0000HMOV R0, #30HMOV R7, #2FHMOV A, R0AGAIN: INC R0MOV B, ACLR CSUBB A, R0JNC L1MOV A, R0 AJMP L2L1: MOV A, B L2: DJNZ R7, AGAIN MOV 60H, A SJMP $ END7编写程序,将片外数据存储区中3000H30FFH
36、单元全部清零。答:ORG 0000HSTART: MOV A, #0MOV R7, #0MOV DPTR, #3000HLOOP: MOVX DPTR, AINC DPTRDJNZ R7, LOOPSJMP $END8. 将外部RAM 8000H开始的20个字节数据传送到外部RAM 8100H开始的地址单元中去。答:DATA1 EQU 8000HDATA2 EQU 00HORG 0000HSTART: MOV DPTR,#DATA1MOV R0, #DATA2MOV R7, #20LOOP: MOVX A, DPTRMOV P2, #81HMOVX R0, AINC R0INC DPTRDJN
37、Z R7, LOOPSJMP $ENDDAT EQU 37H MOV C, 20HANL C, 2FHCPL CORL C, 2AHMOV P1.0, CSJMP $END13.简述利用Keil Vision调试汇编语言程序的主要步骤。答:利用Keil Vision调试软件的主要步骤包括:建立工程(project)编写汇编语言源程序并保存在工程中添加源文件设置工程编译并连接,创建目标文件调试程序。14.如何产生.hex文件?答:编译并连接时,在“Project Workspace”窗口中,右键Target 1,选择Options For TargetTarget1选项,弹出“option fo
38、r Target”对话窗,选Output选项卡,选中Create HEX File。15.在Keil Vision环境中,如何查看寄存器和数据存储单元内容?答:点击“Regs”,可查看寄存器的内容。在Keil的菜单栏中,选择ViewMemory Window选项,打开Memory对话窗,在Address栏中输入地址“D: 0030H”,查看片内RAM中0030H的内容。(X:外部数据存储器,C:程序存储器)练习与思考题81什么叫中断?计算机采用中断有什么好处?答:外部发生的某一件事件使CPU暂停正在执行的程序,转而执行与该事件相对应的程序,执行完此程序后再返回到原来被暂停的地方,继续执行原来的
39、程序,这样一个过程就被称为中断。中断的好处:(1)可以提高CPU的工作效率。(2)可以提高实时数据的处理时效。(3)实现实时控制。2什么叫中断源?AT89S51有哪些中断源?各有什么特点?答:引起中断的原因称为中断源。AT89S51中断系统共有5个中断请求源:(1)外部中断请求0,中断请求标志为IE0。(2)外部中断请求1,中断请求标志为IE1。(3)定时器/计数器T0溢出中断请求,中断请求标志为TF0。(4)定时器/计数器T1溢出中断请求,中断请求标志为TF1。(5)串行口中断请求,中断请求标志为TI或RI。特点:2个外部中断源,3个内部中断源。3. 什么叫中断系统?中断系统的功能是什么?答
40、:实现中断处理功能的软硬件系统称为中断系统。 中断系统的功能是:(1)对同时提出中断请求的多中断源进行优先级判断(2)实现中断嵌套(3)自动响应中断(4)实现中断并返回4中断嵌套及中断优先级的含义是什么?答:当CPU正在处理一个中断源请求时(执行相应的中断服务程序),发生了另外一个优先级比它更高的中断源请求,CPU暂停对原来中断源的服务程序,转而去处理优先级更高的中断请求源,处理完以后,再回到原低级中断源服务程序,这样的过程称为中断嵌套。一个CPU通常可以与多个中断源相连,由于中断产生的随机性,可能出现两个或两个以上中断源同时请求中断的情况,这就要求设计者必须根据轻重缓急给每个中断源赋予一个中
41、断优先级。这样,当多个中断源同时向CPU请求中断时,CPU就可以率先响应中断优先权高的中断请求,而把中断优先权低的中断请求暂时搁置起来,等到处理完优先权高的中断请求后再来响应优先权低的中断。这就是中断优先级的含义。5AT89S51的6个中断标志位代号是什么?它们在什么情况下被置位和复位?答:(1)外部中断0中断请求标志为IE0。(2)外部中断1中断请求标志位为IE1。(3)定时器/计数器T0溢出中断请求标志位为TF0。(4)定时器/计数器T1溢出中断请求标志位为TF1。(5)串行口发送中断请求标志位为TI。(6)串行口接收中断请求标志位为RI。各标志位因有相应的中断请求而置位,前四个标志位因相
42、应的中断请求被响应而复位,而后两个标志位则是在中断服务程序里通过软件复位。6中断允许寄存器IE各位的定义是什么?请写出允许T1定时器溢出中断的指令。答:IE中各位的定义如下:(1)EA:中断允许总控制位EA = 0:CPU屏蔽所有的中断请求(CPU关中断)。EA = 1:CPU开放所有中断(CPU开中断)。(2)ES:串行口中断允许位ES = 0:禁止串行口中断。ES = 1:允许串行口中断。(3)ET1:定时器/计数器T1的溢出中断允许位ET1 = 0:禁止T1溢出中断。 ET1 = 1:允许T1溢出中断。(4)EX1:外部中断1中断允许位EX1 = 0:禁止外部中断1中断。EX1 = 1:
43、允许外部中断1中断。(5)ET0:定时器/计数器T0的溢出中断允许位ET0 = 0:禁止T0溢出中断。ET0 = 1:允许T0溢出中断。(6)EX0:外部中断0中断允许位。EX0 = 0:禁止外部中断0中断。EX0 = 1:允许外部中断0中断。允许T1定时器溢出中断的指令为:MOVIE,#88H或用位操作指令:SETB EA和SETB ET17试写出设定和上的中断请求为高优先级和允许它们中断的程序。此时,若和引脚上同时有中断请求信号输入,试问AT89S51先响应哪个引脚上的中断请求?为什么?答:程序为:用位操作指令:SETB PX0SETB PX1SETB EASETB EX0SETB EX1
44、用字节操作指令:MOV IE,#85HMOV IP,#05H若应和引脚上同时有中断请求信号输入,则AT89S51先响引脚上的中断请求,因为在同一级别的中断源查询顺序中,排在之前。8AT89S51响应中断是有条件的,请说出这些条件。中断响应的全过程如何?答:响应中断的条件:(1)有中断源发出中断请求(2)中断中允许位EA=1.即CPU开中断(3)申请中断的中断源的中断允许位为1,即中断没有被屏蔽(4)无同级或更高级中断正在服务(5)当前指令周期已经结束(6)若现行指令为RETI或访问IE或IP指令时,该指令以及紧接着的另一条指令已执行完毕 AT89S51单片机的中断响应全过程:CPU在每个机器周
45、期S5P2期间顺序采样每个中断源,CPU在下一个机器周期S6期间按优先级顺序查询中断标志,如查询到某个中断标志为1,将在接下来的机器周期S1期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入PC,以便进入相应的中断服务程序。一旦响应中断,AT89S51首先置位相应的中断“优先级生效”触发器,然后由硬件执行一条长调用指令,把当前的PC值压入堆栈,以保护断点,再将相应的中断服务的入口地址送入PC,于是CPU接着从中断服务程序的入口处开始执行。对于有些中断源,CPU在响应中断后会自动清除中断标志。9AT89S51响应中断的时间是否是固定的?为什么?答:AT89S51响应中断的时间
46、不是固定的。由于CPU不是在任何情况下对中断请求都予以响应的;此外,在不同的情况下CPU对中断响应的时间也是不同的。下面以外部中断为例,说明中断响应的时间。在每个机器周期的S5P2期间,端的中断请求信号被记录到TCON的IE0位,CPU在下一个机器周期才会查询这些值。这时如果满足中断响应的条件,下一条要执行的指令将是一条硬件长调用指令“LCALL”,使程序转入中断矢量入口。调用本身要用2个机器周期,这样,从外部中断请求有效到开始执行中断服务程序的第一条指令,至少需要3个机器周期,这是最短的响应时间。如果遇到中断受阻的情况,这中断响应时间会更长一些。例如,当一个同级或更高级的中断服务程序正在进行
47、,则附加的等待时间取决于正在进行的中断服务程序:如果正在执行的一条指令还没有进行到最后一个机器周期,附加的等待时间为13个机器周期;如果正在执行的是RETI指令或者访问IE或IP的指令,则附加的等待时间在5个机器周期内。若系统中只有一个中断源,则响应时间为38个机器周期。10AT89S51中,哪些中断可以随着中断被响应而自动撤除?哪些中断需要用户来撤除?撤除的方法是什么?答:下降沿触发方式下的外部中断0和外部中断1,以及定时器/计数器T0和T1的溢出中断请求,可以随着中断被响应而自动撤除。串行口中断请39单片微机原理及应用徐春辉电子工业出版社习题答案-10求需要用户来撤除,撤除的方法是用指令将
48、相应中断请;11;试写出为下降沿触发方式的中断初始化程序;答:;ORG0000H;AJMPMAIN;ORG0013H;AJMPPINT1;ORG0100H;MAIN:SETBIT1;SETBEX1;SETBEA;HERE:AJMPHERE;PINT1:RETI;END;12中断响应过程中,为什么通常要保护现场?如何; 求需要用户来撤除,撤除的方法是用指令将相应中断请求标位清零。另外,对于电平沿触发方式下的外部中断0和外部中断1的中断请求信号通常也需要用户通过软件来撤除。 11 试写出为下降沿触发方式的中断初始化程序。 答: ORG 0000H AJMP MAIN ORG 0013H AJMP
49、PINT1 ORG 0100H MAIN: SETB IT1 SETB EX1 SETB EA HERE: AJMP HERE PINT1: RETI END 12中断响应过程中,为什么通常要保护现场?如何保护? 答:由于在执行中断服务程序时需要使用CPU的某些寄存器来进行运算、传送、保存中间结果,这样一来,就使得断点处的这些寄存器的原值被改变,中断返回后,继续执行主程序时就会产生错误。因此,在正式执行中断服务程序之前必须采取保护措施,将断点处的有关寄存器的值送入堆栈保护,具体保护哪些寄存器的内容,应根据具体情况而定。 13AT89S51提供了哪些中断源?各中断源对应的中断入口地址是多少? 答
50、:AT89S51提供的中断源及各中断源对应的中断入口地址如下表所 示: 表8-2 中断入口地址 14AT89S51对各种中断提出的中断请求如何进行控制? 答:AT89S51对各种中断提出的中断请求进行中断允许及优先级的控制,具体是通过对IE、IP两个特殊功能寄存器的设置来实现。 15子程序和中断服务程序有何异同?子程序返回指令RET和中断返回指令RETI能相互替代吗? 答:子程序和中断服务程序的相同处:都是被调用的一段程序,执行完后都能返回原调用处。不同处在于:(1)子程序调用是预先安排好的,而中断调用是随机发生的;(2)调用子程序,是为主程序服务的,而中断服务程序与主程序的程序可以毫无关系;
51、(3)子程序是由主程序中安排的调用指令给出目标地址,而中断调用是通过隐指令获得中断服务程序的入口地址 子程序返回指令RET和中断返回指令RETI不能相互替代,虽然RET和RETI指令都有返回原调用处的功能,但是RETI还具有清除中断响应时被置1的内部中断优先级寄存器的优先级状态的功能。 16AT89S51单片机各中断标志是如何产生的?又如何清除?答:当单片机检测到 或上有中断请求信号时,就将相应的中断标志位IE0或IE1置为“1”。当定时器/计数器T0或T1置为“1”。当CPU响应此四个中断中的任何一个后,相应的中断标志位由硬件自动清除,如果中断是禁止的,这些标志位也可通过软件清除。串行口完成
52、一次发送或接收后就将相应的中断请求标志位TI或RI置“1”,这两个标志位需要用软件给与清除。 17AT89S51单片机响应外部中断的典型时间是多少?在哪些情况下,CPU 将推迟对外部中断请求的响应? 答:在一个单一中断的系统里,AT89S51单片机响应外部中断的典型时 间是在38个机器周期之间。 当AT89S51正在处理同级或更高优先级的中断时,则将推迟对此外部中断请求的响应。 18AT89S51单片机响应中断后,产生硬件长调用指令LCALL,执行指令 的过程包括:首先把(PC )的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送(PC ),使程序执行转向(程序存储器)中的中断地址
53、区。 19AT89S51扩展外部中断源的常用方法有哪些? 答:1) 借用定时器作为外部中断使用。 2)采用中断和查询相结合的方法扩充外部中断源。 20写出定时器T0作为外部中断源的初始化程序。 答: MOV TMOD,#06H MOV TL0,#0FFH MOV TH0,#0FFH SETB EA SETB ET0 SETB TR0 21某系统有3个外部中断,分别为中断源1、中断源2和中断源3。当某 一个中断源发出高电平的中断请求信号时,即可使引脚变低电平,从而引起CPU的中断响应。设优先级处理顺序由高到低依次为中断源3、中断源2、中断源1,中断服务程序入口地址分别为2100H、2200H、2
54、300H,试设计实现此功能的硬件电路,并编写主程序及中断服务程序(转至相应的入口即可)。 答: (1) (2)硬件电路如图所示: (3)程序如下: ORG 0000H AJMP MAIN ORG 0003H LJMP PINT0 ORG 0100H MAIN: SETB IT0 SETB EX0 SETB EA HERE: SJMP HERE PINT0: PUSH PSW PUSH ACC JB P1.3,IR3 JB P1.2,IR2 JB P1.1,IR1 PINTIR: POP ACC POP PSW RETI IR3: LJMP IR3INT IR2: LJMP IR2INT IR1
55、: LJMP IR1INT LJMP PINTIR ORG 2100H IR3INT: ? LJMP PINTIR ORG 2200H IR2INT: ? LJMP PINTIR ORG 2300H IR1INT: ? LJMP PINTIR END 练习与思考题9 参考答案 1AT89S51单片机中与定时器/计数器相关的特殊功能寄存器有哪几个? 它们的功能各是什么? 答:AT89S51单片机中与定时器/计数器相关的特殊功能寄存器有TMOD、TCON、IE、IP、TH0、TL0、TH1、TL1等8个。 TMOD用于设定定时器/计数器的工作模式与工作方式;TCON用于提供定时器/计数器启动或停止的软开关,另外还提供定时器/计数器的溢出标志位;IE、IP提供对定时器/计数器的溢出中断进行管理的控制位;TH0、TL0、TH1、TL1用于对定时器/计数器的初始值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年电子商务产业园杭州大数据分析与应用合同
- 二零二五版货架子定制设计与生产合同
- 二零二五年度公司与个人投资融资合作合同
- 2025版航空航天集团母子公司间航天借款合同范本
- 2025版智慧城市基础设施建设项目运维服务合同
- 二零二五年度瓷砖行业知识产权保护合作合同
- 二零二五版企业风险管理顾问专业劳务合同大全
- 二零二五年度典当行业务创新合作合同
- 二零二五年度智能生产车间承包管理合同范本
- 2025版数字媒体广告发布及监测服务合同范本
- 枣庄学院《图学基础与计算机绘图》2024-2025学年第一学期期末试卷
- GB 46031-2025可燃粉尘工艺系统防爆技术规范
- 无轨运输安全操作规程
- 妇产科学-第十二章-正常分娩课件
- 1【L】系列离心式冷水机组技术手册
- 专升本英语统考试翻译技巧课堂教学课件2
- Q∕SY 1753-2014 炼化循环水用缓蚀阻垢剂技术规范
- 压焊方法及设备
- 医院感染管理组织架构图
- 贯彻落实2022年新修订的《地理》科目《义务教育地理课程标准(2022年版)》新课标PPT课件
- SAP_FI__清账接口和部分清账接口_例子
评论
0/150
提交评论