单片机每章习题及答案

上传人:ren****ao 文档编号:142006072 上传时间:2022-08-24 格式:DOC 页数:23 大小:328KB
收藏 版权申诉 举报 下载
单片机每章习题及答案_第1页
第1页 / 共23页
单片机每章习题及答案_第2页
第2页 / 共23页
单片机每章习题及答案_第3页
第3页 / 共23页
资源描述:

《单片机每章习题及答案》由会员分享,可在线阅读,更多相关《单片机每章习题及答案(23页珍藏版)》请在装配图网上搜索。

1、第三节 增选习题及解答一、填空题 1. 堆栈寄存器的符号是( ),复位后它的内容为( ) 。 2. 累加器A的内容有偶数个1时,特殊功能寄存器( )的( )位内容为( )。3. 内RAM的03H字节单元的地址符号另记为( )。4. 堆栈操作遵循的原则是( )。 5. 8051单片机有4个I/O口,它们分别是( ),复位后对应它们的寄存器的内容为( )。 6. 为了正确地读取8051 的P1口引脚的状态值,应该先向它( )。 7. 8051的( )引脚应该至少保持( )个机器周期的( )电平,才能使8051复位。8. 8051的封装形式为( )。 9. 利用8051组成的工作系统,程序放在内部R

2、OM,它的引脚应该接( )电平。EA10. 8051单片机的ALE引脚在CPU对外存非操作期间,它输出频率为晶体振荡器频率( )的脉冲信号。11. 8051内部程序存储器的容量为( )字节,8031的内部程序存储器的容量为( )字节。12. 8031最大可以扩展( )程序存储器,最大扩展的数据存储器的容量是( )。 13. 位寻址区在内RAM低128字节单元的( )字节中,高128字节单元中有( )个特殊功能寄存器的位可以进行位操作。14. 当前工作寄存器的选择由特殊功能寄存器( )的( )位的内容决定。15. 用于位处理的布尔处理器是借用的特殊功能寄存器( )的( )位完成的。16. 一个机

3、器周期包括( )个振荡周期,具体分为( )个状态周期。17. 按执行时间,8051的指令分为( )周期、( )周期和( )周期指令共三种。18. 单片机由CPU、存储器和( )三部分组成。19. CPU由( )和( ) 两部分组成。20. 若不使用MCS-51片内程序存储器,引脚必须( )。 EA21. 当MCS-51引脚ALE信号有效时,表示从P0口稳定地送出了( )地址。22. 当MCS-51的P0口作为输出端口时,每位能驱动( )个TTL负载。23. MCS-51有( )个并行I/O口,由于是准双向口,所以在输入时必须先( )。 24. MCS-51中凡字节地址能被( )整除的特殊功能寄

4、存器均能位寻址。25. MCS-51系统中,当信号有效时,表示CPU要从( )读取信息。PSEN26. MCS-51有( )工作寄存器,它们的地址范围是( )。 27. MCS-51单片机内部RAM中的位寻址区位于低128B中的( )地址单元内。28. 经过扩展外部程序存储器的8031,若PC从程序存储器0000H开始执行,则引脚必须接( )电平。 EA29. 当(RS1,RS0)=(0,1)时,工作寄存器R7对应内部RAM中的( )字节单元。30. 设计8031系统时,( )口不能用作一般I/O口。31. 单片机复位后ACC为( ),PSW为( ),SP为( ),P0P3为( ),PC为(

5、)。 32. 8051内部含( )ROM,8751是EPROM型,内含4KB EPROM。总的来讲,MCS-51系列单片机的存储器配置在物理上分为( )个独立的存储器空间,在逻辑上,分为( )个存储器空间。33. 单片机系统复位后,(PSW)=( ),因此片内RAM寄存区的当前寄存器是第( )组,8个寄存器的单元地址为( )。34. 在MCS-51中PC和DPTR都用于传送地址,但PC是为访问( )存储器传送地址,而DPTR是为访问( )存储器传送地址。35. 在位操作中,与字节操作中的累加器ACC作用相同的是( )。 36. 若MCS-51单片机使用频率为6MHz的晶振,则一个机器周期为(

6、),指令周期为( )。 37. 8051复位后,CPU从( )单元开始执行程序。SP的内容为( ),如果不对SP重新赋值,压入堆栈的第一个数据将位于片内RAM的( )单元。38. MCS-51系列单片机最大的寻址范围为( )。 39. 某时钟频率为8MHZ,若某条指令为双机器周期指令,这条指令的执行时间为( )。 40. MCS-51单片机的扩展系统中,使用锁存器的目的是:( )。填空题参考答案: 1SP ,07H 2PSW,0,0 3R3 4先进后出或后进先出5. P0P3,FFH 6.写“1”7. RST,两个,高8. 双列直插式9. 高10. 六分频 11. 4KB,00B 12. 64

7、KB,64KB 13. 20H2FH,11 14. PSW,RS1和RS0 15. PSW,CY 16. 12,6 17单、双、四18. 接口19. 运算器和控制器 20. 接地 21. 低8位22 8 23. 四,写“1” 24. 8 25. 程序存储器 26. 4组, 00H-1FH 27. 20H2FH 28. 低29. 0FH 30. P0、P2 31. 00H,00H,07H,FFH,0000H 32. 4KB掩膜,四,三 33. 00H, 0, 00H07H 34. 程序, 数据35. CY 36. 2s, 2s或4s或8s 37. 0000H, 07H, 08H 38. 64KB

8、 39. 3s 40. 锁存P0口送出的低8位地址二、选择题 1. 当使用8751且=1,程序存储器地址小于1000H时,访问的是( )。 EA(A)片内ROM (B)片外ROM (C)片内/外ROM (D)不定2. 堆栈操作遵循的原则是( )。(A)先进后出(B)先进先出(C)后进后出(D)随机3. 欲访问8051单片机的内部程序存储器,则引脚必须为( )。EA(A)高电平(B)低电平(C)高低电平 (D)与PC值有关4. MCS-51中, 一个机器周期有( )个时钟周期组成。(A)4 (B) 8 (C) 6 (D) 12 5. 若用数据指针DPTR作为间址寄存器访问外部数据存储器,它可访问

9、的整个外部数据存储器的空间为( ) (A)4KB (B) 8KB (C)16KB (D)64KB 6 . MCS-51系列单片机复位后其P1口的输出状态为( )。 (A) 00H (B) 0FFH (C) 0F0H (D)不定7. 当MCS-51复位时,下面说法正确的是( ) (A)PC=0000H (B) SP=00H (C)SBUF=00H (D)P0=00H 8. 使用8751,且=1时,则可以外扩ROM( ) EA(A)64KB (B) 60KB (C) 58KB (D) 56KB 9. 下面部件不属于CPU结构中控制器部分的是( ) (A)PC (B) IR (C) PSW (D)

10、ID 10. P1口的每一位能驱动( ) (A)2个TTL负载(B)4个TTL负载(C)8个TTL负载(D)6个TTL负载11. PC中存放的是( )(A)下一条要执行的指令的地址(B)当前正在执行的指令(C)当前正在执行指令的地址 (D)下一条要执行的指令12. 8031是( ) (A)CPU (B)微处理器(C)单片微型计算机(D)控制器13. 由PC内容指定ROM地址单元中取出的指令,放于( )。 (A)运算器与控制器 (B)运算器与存储器(C)指令寄存器和指令译码器(D)控制器与存储器14. 所谓CPU是指( ) (A) 运算器与控制器(B)运算器与存储器(C) 输入输出设备 (D)控

11、制器与存储器15. 关于MCS-51的堆栈操作,正确的说法是( ) (A)先入栈,再修改栈指针(B)先修改栈指针,再出栈(C)先修改栈指针,再入栈(D)以上都不对16. 指令寄存器的功能是( ) (A)存放指令地址(B)存放当前正在执行的指令(C)存放PC的内容(D)存放指令地址及操作数17. MCS-51外扩存储器时,系统的数据总线是由( )构成。(A)P0 (B)P1 (C) P2 (D) P3 18. MCS-51有两种读取并行I/O口信息的方法:一种是读引脚,还有一种是( )(A)读锁存器(B)读缓冲器(C)读累加器A (D)读存储器19. MCS-51的并行I/O口读-改-写操作,是

12、针对该口的( ) (A)引脚(B)缓冲器 (C)地址线(D)内部锁存器20. 假定设置堆栈指针SP的值为36H,在执行指令PUSH 20H后SP的值为( ) (A)36H (B)37H (C)38H (D)21H 选择题参考答案: 1A 2A 3A 4C 5D 6. B 7. A 8. B 9. C 10. B 11. A 12. C 13. C 14. A 15. C 16. B 17. A 18. A 19. D 20. B 三、简答题 1 什么是微处理器? 答:微处理器是微型计算机的核心部件,又称为中央处理单元CPU。它包括两个主要部分:运算器、控制器。2 8051单片机在片内有哪些主要

13、逻辑功能部件?各个逻辑部件的主要功能是什么? 答:8051单片机在片内集成了以下主要逻辑功能部件,主要功能如下。(1) CPU(中央处理器):8位功能:中央处理器CPU由控制器与运算器构成,是单片机的控制和指挥中心。(2) 片内RAM:256B 功能:地址为00H7FH的低RAM区,用于数据暂存和数据缓冲等;地址为80HFFH的高RAM区,只有离散的分布21个特殊功能寄存器SP、DPTR、PCON、IE、IP、P0、P1、P2、P3,用以存放相应功能部件的控制命令、状态或数据。(3)程序存储器:4KB 功能:程序存储器用于存放经调试正确的应用程序和表格之类的固定常数。(4)并行I/O口:8位,

14、4个功能:8051单片机的并行I/O口,是单片机数据信息或控制信号进、出的通道,不仅可作为一般输入或输出口使用,而且在扩展外部存储器和I/O接口时,还可作为系统地址、数据总线或是控制信号线等。(5)串行接口:全双工,1个功能:全双工串行I/O口,使单片机具有了串行通信的能力。(6)定时器/计数器:16位,2个功能:在单片机的实际应用中,定时器/计数器提供精确的定时,或者对外部事件进行计数。(7)片内振荡器和时钟电路:1个功能:8051的这部分电路只要外接振荡元件,如晶体振荡器或外部时钟源,就能产生计算机工作所需要的时钟信号。3 程序计数器PC、数据指针DPTR、堆栈指针SP分别有那些特点? 答

15、:(1)程序计数器PC的特点:其中存放着下一条将要从程序存储器中取出的指令的地址。程序计数器PC的数据长度决定了程序存储器可以直接寻址的范围。程序计数器PC不可寻址,即不能对其赋值,其内容变化方式有: 自动加1,此为最基本的变化方式。执行条件或无条件转移指令时,其内容由转移指令直接修改,改变原程序执行方向。执行调用指令或响应中断时,PC的内容变化过程如下: PC的当前值,即下一条将要执行的指令的地址送入堆栈,加以保护;将子程序的入口地址或者中断矢量地址送入PC,改变原程序执行方向,执行子程序或中断服务程序;子程序或中断服务程序执行完毕,遇到返回指令RET或RETI时,将栈顶的内容送到PC中,程

16、序又返回到原来的地方,继续执行主程序。(2)数据指针DPTR的特点数据指针DPTR是作为片外数据存储器寻址用的地址寄存器。(3)栈顶指针SP的特点SP始终存放堆栈顶部字节单元的地址。其内容变化是自动管理,进行堆栈操作有两种方式,即压栈(PUSH)和出栈(POP)。压栈时, SP首先自动加1,然后数据压入SP内容指示的字节单元中;而出栈时,SP内容指示的字节单元中的数据弹出,然后SP自动减1,这样SP始终指向堆栈顶部字节单元的地址。(4)程序计数器PC和数据指针DPTR、栈顶指针SP的异同 相同点: 三者都是与地址有关的地址寄存器,其中PC与程序存储器的地址有关,而DPTR与数据存储器的地址有关

17、,在对程序存储器进行变址间接寻址时,DPTR作为基址寄存器使用,SP则与栈区的地址有关。PC和DPTR都是16位的地址寄存器,其内容都是通过P0和P2口输出的,PC的输出与ALE及有关,DPTR与ALE、和有关。PSENRDWR 不同点: PC只能作为一个16位的寄存器,自动加1;SP是一个8位的寄存器; DPTR可以作为一个16位的寄存器,也可作为两个8位的寄存器使用。例如: MOV DPTR, #2050H ;可以下两条指令来代替,即:MOV DPH, #20H; MOV DPL,#50H 。PC是不可以访问的,即用户不能对其赋值。而DPTR和SP均可以访问。4 复位的作用是什么?画出80

18、31单片机手动及自动复位电路图,并说明原理。答: (1)复位是单片机的初始化操作,单片机在启动运行时,都需要先复位。它的作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。(2)复位方法有两种,即上电自动复位和手动按键复位。电路图及原理参考原教材第二章/第二节MCS-51单片机引脚及其功能。5 8051单片机的存储器在结构上有何特点?在物理上和逻辑上各有哪几种地址空间?访问不同空间的指令格式有何区别? 答:(1)8051单片机存储器在结构上是采用哈佛型结构,即将程序和数据分别放在程序存储器和数据存储器内。(2)其存储空间在物理结构上可划分为如下四个空间:片内程序存储器

19、、片外程序存储器、片内数据存储器、片外数据存储器。从用户使用的角度,即从逻辑上,又可划分为如下三个空间: 片内、外统一编址的64KB程序存储器(地址范围为0000HFFFFH,用16位地址表示),访问时采用MOVC指令。片内256B数据存储器(地址范围为00FFH,用8位地址表示) 。访问这部分空间采用MOV指令。片外64KB数据存储器(地址范围为0000HFFFFH,用16位地址表示)。访问时则利用MOVX指令。68051通用工作寄存器组有什么特点?如何实现工作寄存器现场保护? 答:(1)通用工作寄存器组的特点用寄存器直接寻址,指令的数量最多,均为单周期指令,执行速度快。(2)工作寄存器的现

20、场保护对于工作寄存器的现场保护,一般在主程序中使用一组工作寄存器;而在进入子程序或中断服务程序时,切换到另一组工作寄存器;在返回主程序前,再重新切换回原来的工作寄存器。7 8051程序存储器中存放什么数据?有哪些操作方式? 答:程序存储器存放系统应用程序和表格常数。程序存储器的操作方式有: 程序指令的自主操作。程序由程序计数器PC指引进行顺序操作或转移操作。表格常数的查表操作。8051指令系统中具有查表指令为MOVC,通过PC或DPTR的基址+变址寻址方式实现查表操作。8为什么说8051具有很强的布尔(位)处理功能?可以位寻址的单元有哪些?采用布尔处理有哪些优点? 答:8051具有很强的布尔(

21、位)处理功能。累加器CY:进位/借位标志位。在布尔运算中,CY用于存放运算结果或数据源,是位处理时数据传送中的中心。位寻址区:内部数据RAM区的20H2FH的16个字节单元,共包含128位(00H7FH),是可位寻址的RAM区。11个可位寻址的特殊功能寄存器的相应位。位操作指令系统:位操作指令可实现对位的置位、清0、取反、判位转移、传送、位逻辑运算等操作。(2)采用布尔处理方法的优点利用位逻辑操作功能进行随机逻辑设计,可把逻辑表达式直接变换成软件执行,方法简便,免去了过多的数据往返传送、字节屏蔽和测试分支,大大简化了编程,节省存储空间,加快了处理速度;还可以实现复杂的组合逻辑处理功能。所有这些

22、,特别适用于某些数据采集,实时测控等应用系统。9MCS-51系列单片机的程序存储器中有几个具有特殊功能的单元?各自功能是什么? 答:MCS-51系列单片机的程序存储器中有7个保留特殊功能单元,其中0000H为复位入口地址、0003H为外部中断0服务程序入口地址、000BH为T0溢出中断入口、0013H为外部中断1服务程序入口地址、001BH为T1溢出中断入口、0023H为串行接口中断入口,002BH为8052中断服务程序入口地址。10堆栈的作用是什么?在编程时,为什么有时要对堆栈指针SP重新赋值?如果CPU在操作中要使用第0、1两组工作寄存器, SP的初值应为多大? 答:堆栈的主要作用是暂时存

23、放数据和地址,通常用来保护断点和现场。 堆栈由8位特殊功能寄存器SP自动管理,它始终存放堆栈顶部字节单元的地址(栈顶指针)。进行堆栈操作有两种方式,一种叫数据压入(PUSH)堆栈,另一种叫数据弹出(POP)堆栈。数据压栈时, SP首先自动加1,然后数据压入SP内容指示的字节单元中;而数据出栈时,SP内容指示的字节单元中的数据弹出,然后SP自动减1,这样SP始终指向堆栈顶部字节单元。系统复位后,SP初始化为07H,使得堆栈事实上由08H开始。因为08H1FH单元为工作寄存器区,20H2FH为位寻址区。在程序设计中很可能要用到这些区,所以用户在编程时要对堆栈指针SP重新赋值,最好把SP初值设为2F

24、H或更大值,当然同时还要顾及其允许的深度。在使用堆栈时要注意,由于堆栈的占用,会减少内部RAM的可利用单元,如设置不当,可能引起内部RAM单元冲突。如果CPU在操作中要使用第0、1两组工作寄存器,SP的初值应不小于0FH。11MCS-51系列单片机运行出错或程序进入死循环,如何摆脱困境? 答:当由于程序运行或操作错误使系统处于死锁状态时,需按复位键以重新启动。128051的四个I/O端口的作用是什么?80C51的片外三总线是如何分配的? 答:8051单片机有4个I/O端口,每个端口都是8位双向口,共占32根引脚。在无片外扩展存储器的系统中,这4个端口的每一位都可以作为双向通用I/O端口使用。需

25、要注意的是,P0P3口都是准双向I/O口,作输入时,必须先对相应端口锁存器写“1”,使驱动管FET截止。在具有片外扩展存储器的系统中,P2口作为高8位的地址线,P0口分时作为低8位地址线和双向数据总线,P3口的某些第二功能作为控制线。138051的I/O口有什么特点?读I/O口有几种方法? 答: 8051的I/O口的特点8051的每一条I/O线都能独立地用作输入或输出线。每个端口都包括一个锁存器(即特殊功能寄存器P0P3),一个输出驱动器和输入缓冲器。输出时数据可以锁存,输入时数据可以缓冲。同时,I/O口又是外部的输入/输出通道,必须有相应的引脚,故形成了I/O口的锁存器加引脚的典型结构。读I

26、/O口有两种方法,一是读锁存器,二是读引脚。读锁存器操作读锁存器是读入一个口锁存器的值,进行处理后,重新写回到锁存器中,这些指令称为读-修改-写指令,这些指令是一些逻辑运算指令、置位/清除指令、条件转移指令以及将I/O口作为目的地址的操作指令。读引脚的操作如果在指令中,某个I/O口被指定为源操作数,则该指令为读引脚的操作指令。例如:执行“MOV A,P1”时,P1口的引脚状态传送到累加器中;而相对应的“MOV P1, A”指令,则是将累加器的内容传送到P1口锁存器中。14什么是准双向口?使用准双向口时,要注意什么? 答:准双向口的含义P0、P1、P2、P3口作普通I/O口使用时,都是准双向口结

27、构。准双向口的输入操作和输出操作本质不同,输入操作是读引脚状态;输出操作是对口锁存器的写入操作。由口锁存器和引脚电路可知:当由内部总线给口锁存器置0或1时,锁存器中的“0”、“1”状态立即反映到引脚上。但是在输入操作(读引脚)时,如果口锁存器状态“0”,引脚钳位在“0”状态,导致无法读出引脚的高电平输入,因而,在进行输入操作时,必须先对相应端口锁存器写“1”,使驱动管FET截止。准双向口的使用准双向口作输入口时,应先使锁存器置1,使驱动管FET截止,然后再读引脚。例如,要将P1口状态读入到累加器A中,应执行以下两条指令: MOV P1,0FFH ;将P1口设置为输入方式MOV A,P1 ;读P

28、1口引脚状态到ACC中第三节 增选习题及解答一、指令概念填空 1、MCS-51特殊功能寄存器只能采用 寻址方式。2、片内20H2FH范围内的数据存储器,既可以字节寻址又可以 寻址。3、访问MCS-51程序存储器传送指令的操作码助记符应为 。4、访问MCS-51片内RAM应该使用的传送指令的助记符是 。5、当MCS-51使用间接寻址方式访问RAM高128B,会产生 。6、指令是通知计算机完成某种操作的 。7、汇编语言中可以使用伪指令,它们不是真正的指令,只是用来 。8、累加器(A)=80H,执行完指令ADD A,#83H后,进位位C= 。9、执行ANL A,#0FH指令后,累加器A的高4位= 。

29、10、JZ rel的操作码的地址为1000H,rel=20H,它的转移目的地址为 。11、JBC 00H,e操作码的地址为2000H,e=70H,它的转移目的地址为 。12、累加器(A)=7EH,(20H)=#04H,MCS-51执行完ADD A,20H指令后,PSW.0为 。13、MOV PSW,#10H是将MCS-51的工作寄存器置为第 组。14、指令DJNZ R7,e的指令操作码所在地址为3000H,e=EFH,则它的转移目的地址为 。15、ORL A,#0F0H是将A的高4位置1,而低4位 。16、SJMP e的指令操作码地址为0050H,e=65H,那么它的转移目的地址为。 17、设

30、DPTR=2000H,(A)=80H,则MOVC A,A+DPTR的操作数的实际地址为 。18、执行当前指令后,PC内容为 。19、MOV C,20H源寻址方式为 寻址。20、INC指令 影响CY位。21、指令LCALL 37B0H,首地址在2000H,所完成的操作是 入栈,37B0H PC。 23、ORG 1000H LCALL 4000H ORG 4000H ADD A, R2 ;执行完LCALL后(PC)= 。24、通过堆栈操作实现子程序调用,首先要把 的内容入栈,以进行断点保护。调用返回时再进行出栈操作,把保护的断点弹回 。25、一台计算机的指令系统就是它所能执行的 集合。26、以助记

31、符形式表示的计算机指令就是它的 语言。27、在直接寻址方式中,只能使用 位二进制数作为直接地址,因此其寻址对象只限于 。28、在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的 。29、在变址寻址方式中,以作变址寄存器,以或 作基址寄存器。30、假定累加器A的内容为30H,执行指令:1000H:MOVC A,A+PC后,把程序存储器 单元的内容送累加器A中。31、假定DPTR的内容为8100H,累加器A的内容为4DH,执行下列指令:MOVC A,A+DPTR后,送入A 的是程序存储器 单元的内容。32、设(SP)=60H,(ACC)=30H,(B)=70H,执行

32、指令:PUSH ACC;PUSH B后,SP的内容为 ,61H单元的内容为 。62H单元的内容为 。33、假定(SP)=62H,(61H)=30H,(62H)=70H。执行下列指令:POP DPH;POP DPL后,DPTR的内容为,SP的内容为 。34、假定(A)=85H,(R0)=20H,(20H)=0AFH。执行指令:ADD A,R0后,累加器A的内容为,CY的内容为,AC的内容为 ,OV的内容为 。35、假定(A)=85H,(R0)=20H,(20H)=0AFH。执行指令:ADD A,20H后,累加器A的内容为 ,CY的内容为 ,AC的内容为,OV的内容为 。36、假定(A)=0FFH

33、,(R3)=0FH,(30H)=0F0H,(R0)=40H,(40H)=00H。执行指令:INC A;INC R3;INC 30H;INC R0后,A 的内容为,R3的内容为,30H的内容为 ,40H的内容为 。37、在MCS-51中PC和DPTR都用于提供地址,但PC是为访问 存储器提供地址,而DPTR是为访问 存储器提供地址。38、在位操作中,能起到与字节操作中累加器作用的是 。39、累加器A中存放其一个其值小于或等于127的8位无符号数,CY清“0”后执行RLC A指令,则A中数变为原来的 倍。40、假定(A)=56,(R5)=67。执行指令:ADDA,R5;DA A后,累加器A的内容为

34、 ,CY的内容为 。41、假定(A)=0FH,(R7)=19H,(30H)=00H,(R1)=40H,(40H)=0FFH。执行指令: DEC A DEC R7 DEC 30H DEC R1 后, A内容为,R7内容为,30H内容为 ,40H内容为 。42、假定(A)=50H,(B)=0A0H。执行指令:MUL AB后,寄存器B的内容为,A 内容为,CY内容为,OV内容为 。43、假定(A)=0FBH,(B)=12H。执行指令;DIV AB后,累加器A 的内容为 ,寄存器B的内容为 ,CY的内容为 ,OV的内容为 。44、假定(A)=0C5H。执行指令:SWAP A后,累加器A的内容为 。45

35、、执行如下指令序列: MOV C,P1.0 ANL C,P1.1 ANL C,/P1.2 MOV P3.0,C 后,所实现的逻辑运算式为 。46、 假定addrll=00100000000B,标号qaz的地址为1030H。执行指令:qaz:AJMP addrll后,程序转移地址 去执行。47、假定标号qaz的地址为0100H,标号qwe值为0123H(即跳转的目标地址为0123H)。应执行指令:qaz:SJMP qwe该指令的相对偏移量(即指令的第二字节)为 。48、DPTR是MCS-51中惟一一个16位寄存器,在程序中常用来作为MOVC指令的访问程序存储器的 使用。49、在R7初值为00H的

36、情况下,DJNZ R7,rel指令将循环执行 次。50、欲使P1口的低4位输出0而高4位不变,应执行一条 指令。欲使P1口的高4位输出1而低4位不变,应执行一条指令。 51、MCS-51的两条查表指令是 和 。填空题参考答案: 1、直接2、位3、MOVC 4、MOV 5、错误6、命令7、对汇编过程进行某种控制8、1 9、0000 10、1022H 11、2073H 12、0 13、2 14、2FF1H 15、不变16、00B7H 17、2080H 18、下一条将要读取的指令码首地址 19、位20、不21、2003H 22、寄存器间接寻址23、4000H 24、PC, PC 25、指令26、汇编

37、27、8 片内RAM 28、地址 29、A, PC, DPTR 30、1031H 31、814DH 32、62H,30H,70H 33、7030H 60H 34、34H,1,1 ,1 35、34H, 1,1, 0 36、00H, 10H, 0F1H, 01H 37、程序,数据38、CY 39、2 40、00100011,1 41、0EH,18H,0FFH,0FEH 42、32H, 00H, 0, 1 43、0DH, 11H, 0, 0 44、5CH 45、P3.0=(P1.0)(P1.1) 46、1100H 47、0123-0102=21H 2.1P 48、基址寄存器49、256 50、ANL

38、 P1, #F0H; ORL P1, #F0H 51、MOVC A, A+DPTR, MOVC A, A+PC 二、选择题 1、在中断服务程序中,至少应有一条( )。 (A)传送指令(B)转移指令(C)加法指令(D)中断返回指令2、要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是()。(A)MOV (B)MOVX (C)MOVC (D)以上都行3、ORG 2000H LCALL 3000H ORG 3000H RET 上面程序执行完RET指令后,(PC)=( )。(A)2000H (B)3000H (C)2003H (D)3003H 4、JNZ e指令的寻址方式是( )。(A)

39、立即寻址(B)寄存器寻址(C)相对寻址(D)位寻址5、执行LCALL 4000H 指令时,MCS-51所完成的操作是( )。 (A)保护PC (B)4000HPC (C)保护现场(D)PC+3入栈,4000HPC 6、MOVX A,DPTR指令中源操作数的寻址方式是( )。 (A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即寻址7、ORG 0003H LJMP 2000H ORG 000BH LJMP 3000H 当CPU响应外部中断0后,PC的值是( )。(A)0003H (B)2000H (C)000BH (D)3000H 8、PUSH ACC指令,MCS-51完成的操作是( )

40、。(A)SP+1SP(ACC)(SP) (B)(ACC)(SP)SP-1SP (C)SP-1SP(ACC)(SP) (D)(ACC)(SP)SP+1SP 9、把P0口高4位变0,低4位不变,应使用指令( )。(A)ORL P0,#0FH (B)ORL P0,#0F0H (C)ANL P0,#0F0H (D)ANL P0,#0FH 10、LCALL存于2000H开始的地址单元中,执行完相应子程序中的返回指令后,PC=( ) (A)2000H (B)2001H (D)2002H (D)2003H 11、MCS-51执行完MOV A,#08H后,PSW的哪一位被置位( ) (A)C (B)F0 (C

41、)OV (D)P 12、89C51执行ADD A,20H指令时,首先在P0口上出现的信息是( ) (A)操作码地址(B)操作码(C)操作数(D)操作数地址13、要访问MCS-51的特殊功能寄存器应使用的寻址方式是( ) (A)寄存器间接寻址(B)变址寻址(C)直接寻址(D)相对寻址14、下面哪条指令将MCS-51的工作寄存器置成3区( ) (A)MOV PSW,#13H (B)MOV PSW,#18H (C)SETB PSW.4 CLR PSW .3 (D SETB PSW. 3 CLR PSW . 4 15、MCS-51的相对转移指令的最大负跳距离为( )。(A)2KB (B)128B (C

42、)127B (D)256B 16、MOV C,#00H的寻址方式是( )。(A)位寻址(B)直接寻址(C)立即寻址(D)寄存器寻址17、ORG 0000H ALMP 0040H ORG 040H MOV SP,#00H 当执行完左边的程序后,PC的值是( )。 (A)0040H (B)0041H (C)0042H (D)0043H 18、程序设计的方法一般有( )。(A)1种(B)2种(C)3种(D)4种19、MCS-51的并行I/O口信息有两种读取方法,一种是读引脚,还有一种是()。(A)读锁存器(B)读数据(C)读A累加器(D)读CPU 20、MCS-51的并行I/O口读-改-写操作,是针

43、对该口的( )。 (A)引脚(B)片选信号(C)地址线(D)内部锁存器21、以下指令中,属于单纯读引脚的指令是( )。(A)MOV P1,A (B)ORL P1,#0FH (C)MOV C,P1.5 (D)DJNZ P1,short-lable 22、指令AJMP的跳转范围是( )。(A)256B (B)1KB (C)2KB (D)64KB 23、以下运算中对溢出标志OV没有影响或不受OV影响的运算是( )。 (A)逻辑运算(B)符号数加减法运算(C)下一条指令的地址(D)除法运算24、在算术运算中,与辅助进位位AC有关的是( )。(A)二进制数(B)八进制数(C)十进制数(D)十六进制数25

44、、在相对寻址方式中,“相对”两字是指跳转( )。(A)地址偏移量rel (B)当前指令的首地址(C)当前指令的末地址(D)DPTR值26、在寄存器间接寻址方式中,指定寄存器中存放的是( )。 (A)操作数(B)操作数地址(C)转移地址(D)地址偏移量27、对程序存储器的读操作,只能使用( )。 (A)MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令28、必须进行十进制调整的十进制运算( )。 (A)有加法和减法(B)有乘法和除法(C)只有加法(D)只有减法29、执行返回指令时,返回的断点是( )。(A)调用指令的首地址(B)调用指令的末地址(C)调用指令下一条指令的首地址(D)

45、返回指令的末地址30、可以为访问程序存储器提供或构成地址的有( )。(A) 只有程序计数器PC (B)只有PC和累加器A (C)只有PC、A和数据指针DPTR (D)PC、A、DPTR和堆栈指针SP 选择题参考答案: 1、D 2、B 3、C 4、C 5、D 6、B 7、B 8、A 9、D 10、D 11、D 12、A 13、C 14、B 15、B 16、A 17、C 18、D 19、A 20、D 21、C 22、C 23、A 24、C 25、A 26、B 27、D 28、C 29、C 30、C 三、简答题 1、位地址7CH与字节地址7CH如何区别?位地址7CH具体在片内RAM中什么位置? 答:

46、字节地址是片内RAM的单元地址,而位地址是片内RAM单元中的某一位。7CH字节地址为RAMR的7CH单元,而7CH位地址是RAM2FH单元中D4位。2、程序存储器的0543H和0544H两单元中存有一条AJMP指令。若其代码为E165H,则目的地址等于什么? 答: AJMP指令之目的地址的高5位来自程序计数器PC 的高5位。在把这条指令的两个字节从程序存储器取出并送入指令寄存器IR中去之后,PC内容加2,由原来的0543H变成了0545H。其高5位为00000B,目的地址的低11位为操作码高3位与指令第二个字节的程序组合。指令代码第一个字节是E1H,其最高3位等于111B;第二个字节为65H。

47、因此这条AJMP指令的目的地址等于0765H。3、读下面一段程序,并以简单方法对它进行改写,限用5条指令。MOV R0,#21H MOV A,20H ANL A,#0FH MOV R0,A INC R0 MOV A,20H SWAP AANL A,#0FH MOV R0,A 答: 这段程序的任务是把片内RAM20H单元的内容分解成高4位和低4位,低4位存入21H单元,高4位存入22H单元。可以认为这是把20H单元内的数据分成两个十六进制位或两个BCD位。这可用除法进行: MOV A,20H ;取数 MOV B,#10H ;除数为16 DIV AB ;分离十六进制位MOV 21H,B ;存低位

48、MOV 22H,A ;存高位原理:abH=;其中设a为高4位,b为低4位。1b16a16b16a01+=+4、用一条什么指令可以取代下列4条指令? MOV DPTR,#1234H PUSH DPL PUSH DPH RET 答: 这4条指令的任务是要转移到目的地址1234H去所以可用一条LJMP 1234H指令来取代它们。5、为什么SJMP指令的rel=0FEH时,将实现单指令的无限循环? 答:HERE:SJMP HERE;上述指令的机器码为80FE,即rel=0FEH,此时程序将在原地进行无限循环。在等待中断或程序结束时常用此种办法。6、片内RAM20H2FH中的128个位地址与直接地址00

49、H7FH形式完全相同,如何在指令中区分出位寻址操作和直接寻址操作? 答:虽然,片内RAM20H2FH中的128个位地址与直接地址00H7FH形式完全相同,但是在位寻址操作和直接寻址操作中,这两者的区别是很明显的。位寻址的操作只适用于位指令,而直接地址操作对这些指令是无效的。四、程序运行分析 1、位地址为M、N、Y,程序如下,求程序功能表达式。MOV C,M ANL C,N MOV Y,C MOV C,MANL C,N ORL C,Y MOV Y,C 答:程序功能表达式:(Y)=(M)()+(M)(N) N2、程序存储器空间表格如下: 地址 2000H 2001H 2002H 2003H 内容

50、3FH 06H 5BH 4FH NEXT1: MOV A, #0AAH NEXT2: SJMP CEXT2 则:累加器(A)=( )? (2) MOV A, #0FBH MOV PSW, #10H ADD A, #7FH 若PSW=00,当执行完上述程序段后,将PSW各位值为多少? 答(1) MOV R1,#48H ;48HR1 MOV 48H,#51H ;51H(48H) CJNE R1,#51H,00H ;(R1)值等于51H,顺序执行JNC NEXT1 ;没借位转,NEXT1 MOV A,#0FFH ;有借位,FFH(A) SJMP NEXT2 NEXT1: MOV A,#0AAH ;0

51、AAH(A) NEXT2: SJMP NEXT2 累加器 A=(0AAH) (2) MOV A,#0FBH MOV PSW,#10H ;0001000PSW ADD A,#7FH 由程序知道,累加器完成加法运算,即: 11111011 + 01111111 1 01111010 所以,有进位CY=1;C6C7=11=0,OV=0;A中有奇数个1,P=1;有辅助进位位AC=1 当执行完上述程序段后,将PSW各位状态为: CY AC F0 RS1 RS0 OV F1 P 1 1 0 1 0 0 0 1 答:下面列出程序中各指令相应的机器码、执行最后一条指令对PSW的影响及A的终值。机器码 源程序执

52、行每条指令后的结果74 20 MOV A, #20H ;把立即数20H送入A F5 F0 MOV B, A ;把20H送入B 25 F0 ADD A, B ;A与B中值相加等于40H,送入A 94 10 SUBB A, #10H ;A中值40H减10H等于30H,送入A 84 DIV AB ;A中值与B相除,商01H送A,余数10H送入B 执行此指令后PSW中P=1,OV=0,CY=0。6、用80C51单片机的P1端口作输出,经驱动电路接8只发光二极管,如图3-2所示。当输出位是“1”时,发光二极管点亮;输出位是“0”时为暗。试分析下述程序执行过程及发光二极管点亮的工作规律。图3-2 P1驱动

53、发光二极管电路LP: MOV P1, #81H LCALL DELAY MOV P1, #42H LCALL DELAY MOV P1, #24H LCALL DELAY MOV P1,#18H LCALL DELAY MOV P1,#24H LCALL DELAY MOV P1,#42H LCALL DELAY SJMP LP DELAY: MOV R2,#0FAH L1: MOV R3,#0FAH L2: DJNZ R3,L2 DJNZ R2,L1 RET 答:上述程序执行过程及发光二极管点亮的工作规律为:首先是第1和第8个灯亮;延时一段时间后,第2和第7个灯亮;延时一段时间后,第3和第6

54、个灯亮;延时一段时间后,第4和第5个灯亮,延时一段时间后,重复上述过程。7、在第7题中,若系统的晶振频率为6MHz,求子程序DE-LAY的延时时间。若想加长或缩短延时时间,应怎样修改? 答:设系统的晶振频率为6MHz,子程序DELAY的延时时间计算如下: 指令周期数 执行时间DELAY:MOV R2,#0FAH 1 2s L1:MOV R3,#0FAH 1 2s L2:DJNZ R3,L2 2 4s DJNZ R2,L1 2 4s RET 2 4s 因为0FAH=250,所以总时间T计算如下: s252.008s4250s)4s4s4250(s4T=+= 若想加长延时时间,可以增加循环次数。若

55、想缩短延时时间,可以减少循环次数。8、根据题7所示的线路,试编制灯亮移位程序,即8个发光二极管每次亮一个,循环左移,一个一个地亮,循环不止。答:根据题图7所示的线路,编制灯亮移位程序如下: MOV A,#1 L1: MOV P1,A RL A LCALL DELAY ;DELAY同第8题中的延时程序SJMP L1 五、程序设计 1、R1中存有一位BCD码,请编程将它转换成ASCII码,存入片外RAM1000H单元中去。解:程序如下: RIB-AI: MOV A,R1 ORL A,#30H ;(ADD A,#30H也可以) MOV DPTR,#1000H MOVX DPTR,A RET 2、片内

56、RAM40H开始的单元中有10个二进制数,编程找出其中最大值并存于50H单元中。解:程序如下: START: MOV R0,#40H ;数据块首地址送R0 MOV R7,#09H ;比较次数送R7 MOV A,R0 ;取数送A LOOP: INC R0 CJNE A,R0,NEXT ;(A)与(30H)相比NEXT: JNC BIE1 ;(A)(30 H)转BIE1 MOV A,R0 ;(A)(30H),大数相送A BIE1: DJNZ R7,LOOP ;比较次数减1,不为0,继续比较MOV 50H,A ;比较结束,大数送50H RET 3、请用三种方法实现累加器A与寄存器B的内容交换。答:方

57、法1: XCH A,B 方法2: MOV R0,B MOV B,A MOV A,R0 方法3 用4条指令实现: PUSH ACC PUSH B POP ACC POP B 4、求片外RAM3000H、3001H单元数据的平均值,并传送给3002H单元。解:程序如下: MOV DPTR,#3000H ;设置第一个数据地址指针MOVX A,DPTR ;取第一个数据MOV R0,A ;将第一个数据送R0 INC DPTR ;设置第二个数据地址指针MOVX A,DPTR ;取第二个数据ADD A,R0 ;两个数据相加RRC A ;带进位C右移一位,相当除以2 INC DPTR ;设置结果单元地址指针M

58、OVX DPTR,A ;存平均值 RET 5、分别写出实现如下功能的程序段。(1)将片内RAM30H的中间4位,31H的低2位,32H的高2位按序拼成一个新字节,存入33H单元。(2)将DPTR中间8位取反,其余位不变。解:程序如下: (1) MOV A,30H ANL A,#3CH ;30H中间4位送A RL A ;将中间4位移至高4位RL A MOV 33H,A ANL 31H,#3 ;取31H的低2位,高6位为0 ANL 32H,#0C0H ;取32H的高2位,低6位为0 MOV A,31H ;31H的低2位送A ORL A,32H ;32H高2位放入A高2位A中间4位为0 RL A ;

59、将31H低2位、32H高2位移至A低4位RL A ORL 33H,A ;将31H低2位、32H高2位拼入33H中(2) XRL DPH,#0FH XRL DPL,#0F0H 6、在ROM中有一个10以内的平方值表,根据R0中的数查出平方值,若平方值超出表的范围则将FF将入A。解:程序如下: ORG 0030H MOV DPTR,#TAB ;TAB为表首地址MOV A,R0 CJNE A,#10,NEXT NEXT: JNC NEXT1 MOVC A,A+DPTR SJMP NEXT2NEXT1: MOV A,#0FFH NEXT2: SJMP NEXT2 TAB: 0,1,4,9,16,25,

60、36,49,64,81 7、列举4条能使累加器A清0的指令。解:(1)MOV A,#00H (2)XRL A,ACC (3)ANL A,#00H (4)CLR A 8、复位后,跳过中断程序区,重新设置堆栈,并将工作寄存器切换至3区。解:程序如下: ORG 0000H LJMP 0030H ORG 0030H MOV SP,#60H SETB RS1 SETB RS0 . 9、已知当前PC值为2000H,请用两种方法将程序存储器20F0H中的常数送入累加器A中。答: 方法一:以PC作为基址寄存器。MOV A,#0EDH ; 当前单字节指令地址为2000H,偏移量送A MOV A,A+PC; 双字

61、节指令,(20F0H)A 方法二:以DPTR作为基址寄存器。MOV DPTR,#20F0H MOV A,#00H MOVC A,A+DPTR 10、如果R0的内容为0,将R1置为0,如R0内容非0,置R1为FFH,试编写子程序。解:程序如下: MOV A,R0 JZ ZE MOV R1,#0FFH RET ZE:MOV R1,#0 RET第三节 增选习题及解答一、填空 1、若不使用MCS-51片内存储器引脚必须接 。EA2、当MCS-51引脚ALE信号有效时,表示从P0口稳定地送出了 地址。3、MCS-51的P0口作为输出端口时,每位能驱动 个SL型TTL负载。4、MCS-51系统中,当信号有效时,表示CPU要从 存储器读取信息。PSEN5、当使用8751且=1,程序存储器地址小于 时,访问的是片内ROM。AE6、MCS-51可扩展片外RAM KB,但当外扩I/O口后,其外部RAM寻址空间将 。 7、计算机的系统总线有地址总线、控制总线和 总线。8、MCS-51在外扩ROM、RAM或I/O时,它的地址总线是 。9、80C51含 KB掩膜ROM。10、80C51在物理上有 个独立的存储器空间。11、8751是EPROM型,内含 KB EPROM;89C51是Flash ROM型,内含 KB Flash ROM。12、12根地址线可寻址 KB存储单元。13、803

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!