




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第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 (4)111.111=01101111
3、.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反 = 10100100 X补 =10100101 (3)X反 = 10000011 X补 =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)
6、33H和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位表示)。
7、(1)x = +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补=10001000 B,无溢出;x- y补=11101110B,无溢出;10写
8、出下列各数的BCD码。 (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=(0001 1001 1001 1000)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是什么部件?它能
9、完成什么运算功能?答:ALU称为算术逻辑部件,它能完成算术运算和逻辑运算。13累加器有何用处?答:累加器通常用于提供ALU的一个运算数据或暂存ALU的运算结果,此外还能使存储其中的数据左移或右移。14控制字是什么意思?试举个例子说明之。答:控制字是一个二进制数,其各位代表相应控制信号的逻辑状态。例如:CON = LAEALBEBLCECLDED=10010000 表示要将寄存器B的内容传送入寄存器A中去。15ROM和RAM各有何特点和用处?答:ROM为只能读出的存储器,可用于存放固定的程序和数据。 ROM为可在线写入和读出的存储器,可用于随时写入或读出数据,也可用于写入随时有可能改变的用户程序
10、。16为什么要建立“地址”这个概念?答:因为存储器的存储单元很多,为区分不同的存储单元必须给每个存储单元编上地址。17除地线公用外,5根地址线和11根地址线各可选多少个地址?答:25=32个地址 211=2048个地址18译码器有何用处?答:译码器用于产生和输入代码相对应的控制信号。如果是存储器地址译码器则其能根据输入的地址信号产生存储器相应单元的选通信号。19存储地址寄存器(MAR)和存储数据寄存器(MDR)各有何用处?答:MAR用以接受来自PC的地址号。MDR用以接受来自总线的数据。此二者均为存储器的主要辅件。20微型计算机的基本结构是怎样的?包括哪些主要部件?答:微型计算机包括微处理器(
11、CPU)、随机存取存储器(RAM)、只读存储器(ROM)、I/O接口电路及外设组成。前面四大部分通过系统总线连接在一起。21指令、指令系统和程序三者间有什么区别和联系?答:指令是指挥计算机工作的指示和命令。而指令系统则是一台计算机所拥有的所有指令的集合。程序则是为了实现特点功能而将取自指令系统的指令按照一定顺序排列起来的组织体。22控制部件包括哪些主要环节?各有何用处?答: (1)指令部件作用是获取来自程序存储器的二进制指令操作码并将其译成控制动作信号送入控制矩阵。(2)时序部件作用是用于产生微操作控制部件所需的定时脉冲信号。(3)控制矩阵控制矩阵可以为ID输出信号配上节拍电位和节拍脉冲,也可
12、将外部进来的控制信号组合,共同形成相应的微操作控制信号序列,控制相关部件按照严格的先后顺序执行指令所要求的各种微操作,最终完成规定的操作。23环形计数器有何用处?什么叫环形字?答:环形计数器用于产生机器节拍。若将环形计数器的输出视为一个字,则这个字就称为环形字24试说明下列各部件的作用: (1)程序计数器PC (2)指令寄存器IR (3)指令译码器ID答:(1)程序计数器PC是在控制器中设置的一个专用寄存器,用来存放当前要执行的指令在存储器中的位置信息(即存储器地址),以便根据此地址去读取指令。(2)指令寄存器IR是用来暂时存放从存储器中取出的当前要执行指令的操作码的这么一个寄存器。(3)指令
13、译码器ID是对指令操作码进行分析,在其输出端产生各种控制电平,以形成相应的微操作,用以实现指令执行过程中所需要的功能控制的这么一个译码器。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位定时器/计数器,但片内无程序存储器,需外
17、扩EPROM芯片。8051是在8031的基础上,片内又集成有4KBROM,作为程序存储器,是1个程序不超过4KB的小系统。8751是在8031的基础上,增加了4KB的EPROM,它构成了1个程序小于4KB的小系统。用户可以将程序固化在EPROM中,可以反复修改程序。31MCS-51系列单片机与51系列单片机的异同点是什么?答:51系列单片机与MCS-51系列单片机的内核结构和指令系统完全兼容,前者相比后者制造工艺得到改进,并且片内资源有所增加。32说明单片机主要应用在哪些领域。答:单片机主要应用领域为:工业自动化;智能仪器仪表;消费类电子产品;通信方面;武器装备;终端及外部设备控制;多机分布式
18、系统。 第3章1AT89S51单片机的片内都集成了哪些功能部件?答: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)
19、中的内容,但在PC值超过0FFFH(即超出4K字节地址范围)时,将自动转向读外部程序存储器内的程序;当脚为低电平时,单片机只对外部程序存储器的地址为0000HFFFFH中的内容进行读操作,单片机不理会片内的4K 字节的Flash程序存储器。3单片机的存储器在物理结构上和逻辑上有何区别?答:单片机存储器的逻辑空间是指由单片机CPU所确定的可以寻址的空间。而物理空间是指有具体物理器件相对应可以实际存储数据的那部分逻辑空间。4AT89S51单片机中执行程序的地址放在哪里?是几位二进制数?最大寻址范围是多少?程序状态字PSW各位的定义是什么?答:PC。16位。64KB。程序状态字PSW各位的定义是:(
20、1)Cy(PSW.7)进位标志位:(2)Ac(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组。地
21、址是00H07H。通过修改PSW中RS1、RS0两位的值来改变当前工作寄存器组。764KB程序存储器空间有5个单元地址对应AT89S51单片机5个中断源的中断入口地址,请写出这些单元的入口地址及对应的中断源。答:64K程序存储器空间中5个特殊单元所分别对应的5个中断源的中断服务程序入口地址如下表所示:入口地址中断源0003H外部中断0 ()000BH定时器0 (T0)0013H外部中断1 ()001BH定时器1 (T1)0023H串行口 8在程序设计时,为什么有时要对复位后的堆栈指针SP重新赋值?如果在操作中需要使用三组工作寄存器,SP的初值应该至少多大?答:系统复位后,S
22、P初始化为07H,使得堆栈事实上由08H 单元开始。考虑到08H1FH单元分属于工作寄存器区的13组,如果程序设计中要用到这些寄存器组,则必须在复位后对堆栈指针SP重新赋值。最好把SP值改置为1FH或更大的值如60H,SP的初始值越小,堆栈深度就越深,堆栈指针的值可以由软件改变,因此堆栈在内部RAM中的位置比较灵活。如果在操作中需要使用三组工作寄存器,SP的初值至少应该为17H。9AT89S51的寻址范围是多少?最多可以配置多大容量的外部ROM和多大容量的外部RAM?答:64KB、64KB、64KB。10AT89S51单片机运行出错或程序进入死循环时如何摆脱困境?答:通过硬件复位。11AT89
23、S51单片机扩展系统中片外程序存储器和片外数据存储器,使用相同的地址编码,是否会在数据总线上出现争总线现象?为什么?答:不会。因为这两种存储器使用的选通信号不同。片外程序存储器使用作为输出使能控制信号,而片外数据存储器分别使用和作为读写控制信号。12AT89S51的P0口和P2口各有何作用?P0口为什么要外接锁存器?答:P0口通常作为分时复用的地址/数据总线使用,作为地址总线使用时用于提供16位地址总线的低8位地址信号。P2口通常用于提供16位地址总线的高8位地址信号。在前述功能不使用的情况下,这两端口也可以作为一般的I/O使用。P0口外接锁存器的目的是使CPU发出的地址信号在P0口作为数据通
24、道时依然保持有效。13AT89S51的ALE引脚有何作用?AT89S51不接外部RAM时,ALE信号有何特点?答:AT89S51的ALE引脚用于对低8位地址信号的锁存控制。AT89S51不接外部RAM时,ALE信号是频率为时钟频率六分之一的固定周期信号。14举例说明单片机工业控制系统中掉电保护的意义和方法。答:单片机工业控制系统在运行程序的过程中,如果发生掉电故障将会丢失RAM和寄存器中的数据,其后果有时是很严重的。为此,需要掉电保护功能,进行掉电保护处理。掉电保护方式是通过对SFR中的PCON(地址87H)相应位置1而启动的。当CPU执行一条置PCON.1位(PD)为1的指令后,系统进入掉电
25、工作方式。在这种工作方式下,内部振荡器停止工作。由于没有振荡时钟,因此,所有的功能部件都停止工作。但内部RAM区和特殊功能寄存器的内容被保留,而端口的输出状态值都保存在对应的SFR中。掉电模式的退出有两种方法:硬件复位和外部中断。硬件复位时要重新初始化SFR,但不改变片内RAM的内容。当VCC恢复到正常工作水平时,只要硬件复位信号维持10ms,便可使单片机退出掉电运行模式。15内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为( )和( )。答:28H;88H。16片内字节地址为2AH单元最低位的位地址是( );片内字节地址为88H单元的最低位的位地址为( )。答:50H;
26、88H。17若A中的内容为63H,那么P标志位的值为( )。答:P标志位的值为0。18在AT89S51单片机中,如果采用6 MHz晶振,那么一个机器周期为( )。答:2µs19判断下列说法是否正确。 A使用AT89S51且引脚= 1时,仍可外扩64 KB的程序存储器。( ) B区分片外程序存储器和片外数据存储器的最可靠的方法是,看其位于地址范围的低端还是高端。( ) C在AT89S51中,为使准双向的I/O口工作在输入方式,必须事先预置为1。( ) DPC可以视为程序存储器的地址指针。( )答:(A)错;(B)错;(C)对;(D)对20AT89S51单片机复位后,R4所对应的存储单元
27、的地址为( ),因上电时PSW = ( )。这时当前的工作寄存器区是( )组工作寄存器区。答:04H、00H、第 0 21判断以下有关PC和DPTR的结论是否正确。 A指令可以访问寄存器DPTR,而PC不能用指令访问。( ) B它们都是16位寄存器。( ) C在单片机运行时,它们都具有自动加1的功能。( ) DDPTR可以分为2个8位的寄存器使用,但PC不能。( )答:(A) 对;(B) 对;(C) 错;(D) 对。22内部RAM中,可作为工作寄存器区的单元地址为( )H( )H。答:字节地址00H-1FH的单元可作为工作寄存器区。23判断下列说法是否正确。 AAT89S51中特殊功能寄存器(
28、SFR)就是片内RAM中的一部分。( ) B片内RAM的位寻址区,只能供位寻址使用,而不能进行字节寻址。( ) CAT89S51共有21个特殊功能寄存器,它们的位都是可用软件设置的,因此是可以进行位寻址的。( ) DSP称为堆栈指针,堆栈是单片机内部的一个特殊区域,与RAM无关。( )答:(A) 错;(B) 错;(C) 错;(D) 错。24在程序运行中,PC的值是( )。 A当前正在执行指令的前一条指令的地址 B当前正在执行指令的地址 C当前正在执行指令的下一条指令的首地址 D控制器中指令寄存器的地址答:(C)。26AT89S51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为
29、AT89S51的PC是16位的,因此其寻址的范围为( )KB。答:6427AT89S51的4个并行双向口P0P3的驱动能力各为多少?要想获得较大的输出驱动能力,是采用低电平输出还是采用高电平输出?答:P0口每位可驱动8个LSTTL输入,而P1、P2、P3口的每一位的驱动能力,只有P0口的一半。当P0口的某位为高电平时,可提供400mA的电流;当P0口的某位为低电平(0.45V)时,可提供3.2mA的灌电流,如低电平允许提高,灌电流可相应加大。所以,任何一个口要想获得较大的驱动能力,只能用低电平输出。28当AT89S51单片机运行出错或程序陷入死循环时,如何摆脱困境?答:通过硬件复位。练习与思考
30、题41按长度分,51系列单片机的指令有 1 字节的、 2 字节的和 3 字节的。2按指令的执行时间分,51系列单片机的指令有 1 、 2 和 4 机器周期的指令。351系列单片机汇编语言指令格式中,唯一不可缺少的部分是( B )。 A标号B操作码C操作数D注释4简述8051的寻址方式和每种寻址方式所涉及的寻址空间。答:寻址方式寻址空间(操作数的存放空间)立即寻址程序存储器直接寻址片内RAM低128字节、特殊功能寄存器寄存器寻址工作寄存器R0R7、A、B、DPTR寄存器间接寻址片内RAM:R0、R1、SP片外RAM:R0、R1、DPTR变址寻址程序存储器:A+PC、A+DPTR相对寻址程序存储器
31、256字节范围内:PC+偏移量位寻址片内RAM的位寻址区(字节地址20H2FH)、地址能被8整除的特殊功能寄存器 551系列单片机的寻址方式中,位寻址的寻址空间是( D )。 A工作寄存器R0R7 B专用寄存器SFR C程序存储器ROM D片内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 ;位寻址 J
32、C 10H ;相对寻址7访问特殊功能寄存器和外部数据存储器,分别可以采用哪些寻址方式? 答:访问特殊功能寄存器只能用直接寻址;访问外部数据存储器只能用寄存器间接寻址。 8在寄存器寻址方式中,指令中指定寄存器的内容就是 操作数 。9在寻址方式中,只能使用 8 位二进制数作为直接地址。10在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的 地址 。11在变址寻址方式中,以 累加器A 作变址寄存器,以 PC 或 DPTR 作基址寄存器。12三种传送指令MOV、MOVC和MOVX,使用时有什么区别?答:MOV指令用来实现单片机内部寄存器、存储单元、特殊功能寄存器之间的数
33、据传送。 MOVC指令用来读程序存储器中的数据表。 MOVX 指令用来实现累加器A和外部数据存储器之间的数据传送。 13假定DPTR的内容为8100H,累加器的内容为 40H,执行指令“MOVC A,A+DPTR”后,程序存储器 8140H 单元的内容送累加器 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
34、,(R5) = 67H。执行指令ADD A,R6 DA A后,累加器 A的内容为 23H ,Cy的内容为 1 。17假定(A) = 50H,(B) = 0A0H,执行指令“MUL AB”后,寄存器 B的内容为 32H ,累加器A的内容为 00H 。18假定(A) = 0FBH,(B) = 12H,执行指令“DIV AB”后,累加器A的内容为 0DH ,寄存器 B的内容为 11H 。19下列指令中可将累加器A最高位置1的是( B,C,D,E )。 AORL A,#7FH BORL A,#80H CSETB 0E7H DORL E0H,#80H ESETB ACC.720假定标号L2对应的地址值为
35、0100H,标号L3对应的地址值为0123H。当执行指令“L2:SJMP L3”时,该指令的相对偏移量(即指令的第二字节)为 21H 。21在位操作中,能起到与字节操作中累加器的相似作用的是 进位标志位C 。22累加器A中存放着一个其值小于等于127的8位无符号数,(Cy) = 0,执行RLC A指令后,则A中的数变为原来的 2 倍。23试根据以下要求写出相应的汇编语言指令。(1)将R6的高四位和R7的高四位交换,R6、R7的低四位内容保持不变。答:MOV A, R6 MOV 30H, R7 MOV R0, #40H MOV R0, 30H XCHD A, R0 MOV R7, A MOV 3
36、0H, R0 MOV R6, 30H (2)两个无符号数分别存放在30H、31H,试求出他们的和并将结果存放在32H。答:MOV A, 30HADD A, 31HMOV 32H, A(3)将30H单元的内容左环移两位,并送外部RAM 3000H单元。答: MOV A, 30H RL A RL A MOV DPTR, #3000H MOVX DPTR, A(4)将程序存储器中1000H单元的内容取出送外部RAM 3000H单元。答:MOV A, #0MOV DPTR, #1000HMOVC A, A+DPTRMOV DPTR, #3000HMOVX DPTR, A(5)使累加器A的最高位置位。答
37、:SETB ACC.7(6)使进位标志位清0答: CLR C(7)使ACC.4、ACC.5和ACC.6置1。答:ORL A, #01110000B。24下述程序执行后,(SP)、(A)和(B)分别为多少? ORG 1000H MOV SP,#40H MOV A,#30H LCALL SUBR ADD A,#10H MOV B,A SJMP $SUBR:MOV DPTR,#100AH PUSH DPL PUSH DPH RET答:(SP)=42H、(A)=30H,(B)=30H练习与思考题51. 用于程序设计的语言分为哪几种?它们各有什么特点?答:51系列单片机的编程语言可以分为汇编语言和高级语
38、言(如C语言)两种,各自的特点如下:名称特点缺点优点适用场合汇编语言用符号书写指令(用助记符表示操作码,特殊符号表示操作数)机器不能直接识别;程序员必须了解机器的结构和指令系统,不易推广和普及;不能移植,不具备通用性较易为人们识别、记忆和读写实时控制系统高级语言用以英语为基础的语句编程机器不能直接识别;执行时间长易于推广和交流;不依赖于机器,具有通用性科学运算和数据处理2. 说明伪指令的作用。“伪”的含义是什么?常用的伪指令有哪些?其功能是什么?答:伪指令是在“机器汇编”过程中,用来对汇编过程进行某种控制或者对符号和标号进行赋值。“伪”的含义是指这些指令不属于指令系统中的指令,汇编时也不产生机
39、器代码。常用伪指令有ORG、EQU、DATA、DB、DW、DS、BIT 、END。功能:ORG -指出后面程序块或数据块在程序存储器中存放的起始地址。EQU -赋值命令DATA-对数据地址或代码地址赋予规定的字符名称DB -定义字节数据DW -定义字数据DS-从指定的地址单元开始,保留若干单元备用。BIT -定义位地址符号命令END -汇编结束命令3. 设常量和数据标号的定义为:ORG2000HDAT1:DB 1, 2, 3, 4, 5DAT2:DB ABCDDAT3:DW 1200H,-2TAB: DW DAT1, DAT3(1)画出上述数据或地址的存储形式。(2)写出各标号的地址。答:(1
40、)地址内容(H)2000H01020304052005H414243442009H1200FFFE200DH20002009 (2)DAT1=2000H; DAT2=2005H; DAT3=2009H; TAB =200DH4. 编写双字节加法程序。要求:被加数放在内部RAM的30H(高字节)、31H(低字节)单元中,加数存放在内部RAM的32H(高字节)和33H(低字节)中,运算结果放存放在30H,31H中,进位存放在位寻址区的00H位。答:ORG 0000HMOVA, 31HADD A, 33HMOV 31H, AMOV A, 30HADDC A, 32HMOV 30H, AMOV 00H
41、, CSJMP $END5. 试编写程序,找出片内RAM 30H5FH单元中无符号数的最大数,并将结果存入60H单元。答: ORG 0000HMOV R0, #30HMOV R7, #2FHMOV A, R0AGAIN:INC R0MOV B,ACLRCSUBB A, R0JNC L1 MOV A, R0AJMP L2L1: MOV A, BL2: DJNZ R7, AGAINMOV 60H, ASJMP $END6试编写程序,统计片内RAM的20H5FH单元中出现55H的次数,并将统计结果送60H单元。答:TABEQU 20HORG 0000H START: MOV 60H, #0 MOV
42、R0, #TAB LOOP2: MOV A, #55H CLR CSUBB A, R0JNZ NEXTINC 60HNEXT: INC R0 CJNE R0, #60H, LOOP2SJMP $END7编写程序,将片外数据存储区中3000H30FFH单元全部清零。答: ORG 0000H START: MOV A, #0 MOV R7, #0 MOV DPTR, #3000H LOOP: MOVX DPTR, A INC DPTR DJNZ R7, LOOPSJMP $END8. 将外部RAM 8000H开始的20个字节数据传送到外部RAM 8100H开始的地址单元中去。答:DATA1EQU8
43、000HDATA2EQU 00H ORG 0000H START: MOV DPTR, #DATA1 MOV R0, #DATA2MOV R7, #20 LOOP: MOVX A, DPTR MOV P2, #81H MOVX R0, AINC R0 INC DPTR DJNZ R7, LOOPSJMP $END9. 编程统计累加器A中“1”的个数。答:以下程序将A中“1”的个数放在30H单元。DATEQU 37H ORG 0000H START: PUSH ACC MOV A, #DAT MOV 30H, #0NEXT:JZ EXIT CLR C RLC AJNC L1INC 30H L1:
44、 AJMP NEXT POP ACCEXIT:SJMP $END10. 编写程序,将30H34H单元中压缩的BCD码数(每个字节存放两个BCD码数)转换为ASCII码数,并将结果存放在片内RAM 60H69H单元。答:ORG 0000H START: MOV R0, #30H MOV R1, #60HMOV R7, #2AGAIN: MOV A, R0ANL A, #0F0HSWAP AADD A, #30H MOV R1, A MOV A, R0 ANL A, #0FHADD A, #30HINC R1MOV R1, AINC R0INC R1DJNZ R7, AGAIN SJMP $ EN
45、D11将内部RAM 30H单元的内容转换成三位BCD码(百位、十位、个位),并将结果存入外部RAM 1000H开始的单元。答:ORG 0000H START: MOV A, 30H MOV DPTR, #1000HMOV B, #100DIV ABMOVX DPTR, AINC DPTRMOV A, BMOV B, #10DIV ABMOVX DPTR, AMOV A, BINC DPTRMOVX DPTR, ASJMP $ END12. 请使用位操作指令,编程实现,其中,20H、2FH、2AH都是位地址。答: ORG 0000H MOV C, 20H ANL C, 2FH CPL C ORL
46、 C, 2AH MOV P1.0, C SJMP $ END 13.简述利用Keil Vision调试汇编语言程序的主要步骤。答:利用Keil Vision调试软件的主要步骤包括:建立工程(project)编写汇编语言源程序并保存在工程中添加源文件设置工程编译并连接,创建目标文件调试程序。14.如何产生.hex文件?答:编译并连接时,在 “Project Workspace”窗口中,右键Target 1,选择Options For TargetTarget1选项,弹出“option for Target”对话窗,选Output选项卡,选中Create HEX File。15.在Keil Vis
47、ion环境中,如何查看寄存器和数据存储单元内容?答:点击“Regs”,可查看寄存器的内容。在Keil的菜单栏中,选择ViewMemory Window选项,打开Memory对话窗,在Address栏中输入地址 “D: 0030H”,查看片内RAM中0030H的内容。(X:外部数据存储器,C:程序存储器)练习与思考题81 什么叫中断?计算机采用中断有什么好处?答:外部发生的某一件事件使CPU暂停正在执行的程序,转而执行与该事件相对应的程序,执行完此程序后再返回到原来被暂停的地方,继续执行原来的程序,这样一个过程就被称为中断。中断的好处:(1)可以提高CPU的工作效率。(2)可以提高实时数据的处理
48、时效。(3)实现实时控制。2什么叫中断源?AT89S51有哪些中断源?各有什么特点?答:引起中断的原因称为中断源。AT89S51中断系统共有5个中断请求源:(1)外部中断请求0,中断请求标志为IE0。(2)外部中断请求1,中断请求标志为IE1。(3)定时器/计数器T0溢出中断请求,中断请求标志为TF0。(4)定时器/计数器T1溢出中断请求,中断请求标志为TF1。(5)串行口中断请求,中断请求标志为TI或RI。特点:2个外部中断源,3个内部中断源。3. 什么叫中断系统?中断系统的功能是什么?答:实现中断处理功能的软硬件系统称为中断系统。中断系统的功能是:(1)对同时提出中断请求的多中断源进行优先
49、级判断(2)实现中断嵌套(3)自动响应中断(4)实现中断并返回4中断嵌套及中断优先级的含义是什么? 答:当CPU正在处理一个中断源请求时(执行相应的中断服务程序),发生了另外一个优先级比它更高的中断源请求,CPU暂停对原来中断源的服务程序,转而去处理优先级更高的中断请求源,处理完以后,再回到原低级中断源服务程序,这样的过程称为中断嵌套。 一个CPU通常可以与多个中断源相连,由于中断产生的随机性,可能出现两个或两个以上中断源同时请求中断的情况,这就要求设计者必须根据轻重缓急给每个中断源赋予一个中断优先级。这样,当多个中断源同时向CPU请求中断时,CPU就可以率先响应中断优先权高的中断请求,而把中
50、断优先权低的中断请求暂时搁置起来,等到处理完优先权高的中断请求后再来响应优先权低的中断。这就是中断优先级的含义。5AT89S51的6个中断标志位代号是什么?它们在什么情况下被置位和复位?答:(1)外部中断0中断请求标志为IE0。(2)外部中断1中断请求标志位为IE1。(3)定时器/计数器T0溢出中断请求标志位为TF0。(4)定时器/计数器T1溢出中断请求标志位为TF1。(5)串行口发送中断请求标志位为TI。(6)串行口接收中断请求标志位为RI。各标志位因有相应的中断请求而置位,前四个标志位因相应的中断请求被响应而复位,而后两个标志位则是在中断服务程序里通过软件复位。6中断允许寄存器IE各位的定义是什么?请写出允许T1定时器溢出中断的指令。答:IE中各位的定义如下:(1)EA:中断允许总控制位 EA = 0:CPU屏蔽所有的中断请求(CPU关中断)。 EA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学生职业规划大赛《核物理专业》生涯发展展示
- 2025版公寓式住宅购房合同协议
- 2025型材销售合同范本
- 2025科技公司合作合同模板
- 2025金融合同代理新股申购协议书
- 2025简易店铺租赁合同
- 英语学习策略解析
- 2025上海劳动合同范本
- 英语词汇学习秘笈
- 2025小区健身房承包合同
- 广州市黄埔区教育局招聘事业编制教职员考试真题2024
- 国际经济学(下册国际金融)克鲁格曼-中文答案
- 2025年宁夏银川市唐徕中学南校区中考一模英语试题(原卷版+解析版)
- 乡村民宿开发管理运营手册
- 殡葬服务笔试题库及答案
- 2025年光大银行校园招聘笔试参考题库(带答案)
- 中医康复理疗师职业指导试题及答案
- 全过程工程咨询投标方案(技术方案)
- 研究生教育高质量发展新动能推动方案
- 宁波十校2025届高三3月联考语文试卷(含答案解析)
- 在线网课学习课堂《人工智能(北理 )》单元测试考核答案
评论
0/150
提交评论