当前位置:文档之家› 单片机习题-答案~1-2

单片机习题-答案~1-2

习题一1.什么是单片机,和微机相比较,它有什么优点?2.请叙述51系列单片机的主要产品及其特点。

3.除51系列单片机外,常用的单片机还有哪些型号,各有什么优点?4.单片机中常用的数制有哪些,它们之间相互如何转换?5.计算机中常用的二进制编码有哪些,请分别予以叙述。

6.(1)10和(-1)10的原码、反码和补码分别是多少?习题二1.单片机主要应用在什么领域?2. 89C51单片机包含哪些主要逻辑功能部件? 各有什么主要功能?3.89C51单片机EA端如何使用?4.什么是机器周期、指令周期?89C51指令周期、机器周期和时钟周期的关系如何?当主频为12MHz时,一个机器周期等于多少微秒?执行一条最长的指令需多少微秒?5.如何认识89C51存储器空间在物理结构上可划分为四个空间,而在逻辑上又可划分为三个空间?各空间的寻址范围、寻址方式是什么?6.89C51有哪些主要的特殊功能寄存器,分布在哪里?7.内部RAM低128B从功能和用途方面,可划分为哪三个区域?8.89C51内部RAM有几组工作寄存器?每组工作寄存器有几个工作寄存器?寄存器组的选择由什么决定?9.89C51的外部RAM和I/O口是如何编址的,如何寻址?10.89C51的程序存储器的寻址空间是多少,如何区别片内程序存储器和片外程序存储器的?11.89C51的位寻址区在哪里,位寻址空间是多少?12.什么是堆栈,什么是SP,89C51的堆栈位于什么地方,复位后堆栈指针初值是多少,一般将SP设置为多少?进栈、出栈时堆栈指针将怎样变化?13.单片机包括哪两种复位方式,在单片机应用系统中为何需要系统复位,复位后主要寄存器的状态如何?14.89C51的P3口各引脚的第二功能是什么?15.89C51有几种低功耗方式,如何进入和退出?习题三1.什么是指令,什么是指令系统?2.89C51总共有多少条指令,分为哪几类?3.89C51有哪些寻址方式,各自的寻址空间如何?4.说明下列指令中源操作数采用的寻址方式。

MOV A,R7MOV A,55HMOV A,#55HJMP @A+DPTRMOV 30H,CMOV A,@R0MOVX A,@R05.下列各条指令单独执行后,A中的结果是什么?设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH,(DPTR)=2000H,(2000H)=0AAH,(2019H)=23H。

(1)MOV A,#48H(2)ADD A,60H(3)ANL A,@R0(4)XCHD A,@R0(5)MOVX A,@DPTR(6)MOV A,R0(7)MOVC A,@A+DPTR6.阅读下列程序段,写出每条指令执行后的结果。

(1)并说明此程序段完成什么功能?MOV R1,#30H ;(R1)=MOV A,#64H ;(A)=ADD A,#47H ;(A)=DA A ;(A)=MOV @R1,A ;(R1)=(2)若(A)=80H,(R0)=17H,(17H)=34H,执行下列程序段后,(A)=?ANL A,#17H ;(A)=ORL 17H,A ;(17H)= ,(A)=XRL A,@R0 ;(A)=CPL A ;(A)=(3)设(A)=0FH ,(R0)=30H,内部RAM (30H)=0AH,(31H)=0BH,(32H)=0CH,请写出在执行各条列指令后,所示单元的内容MOV A,@R0 ;(A)=MOV @R0,32H ;(30H)=MOV 32H,A ;(32H)=MOV R0,#31H ;(R0)=MOV A, @R0 ;(A)=(4)MOV SP,#50HMOV A,#0F0HMOV B,#0FHPUSH ACC ;(SP)= ;(51H)=PUSH B ;(SP)= ;(52H)=POP ACC ;(SP)= ;(B)=POP B ;(SP)= ;(A)=(5)MOV A,#30HMOV B,#0AFHMOV R0,#31HMOV 30H,#87HXCH A,R0 ;(A)= ;(R0)=SWAP A ;(A)=7.已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。

下述程序执行后,各寄存器和RAM单元的值是多少?POP DPHPOP DPLMOV DPTR,#4000HRL AMOV B,AMOVC A,@A+DPTRPUSH AMOV A,BINC AMOVC A,@A+DPTRPUSH ARETORG 4000HDB 10H,80H,30H,50H,30H,50HA=(),SP=(),(51H)=(),(52H)=(),PC=()。

8. 假定累加器A中的内容为30H,执行指令1000H:MOVC A,@A+PC后,把程序存储器()单元的内容送入累加器A中。

9. 试编写1个程序,将内部RAM中45H单元的高4位清0,低4位置1。

10. 试编写程序,查找在内部RAM的30H~50H单元中是否有0AAH这一数据。

若有,则将51H单元置为“01H”;若未找到,则将51H单元置为“00H”。

11. 试编写程序,查找在内部RAM的20H~40H单元中出现“00H”这一数据的次数。

并将查找到的结果存入41H单元。

12. 若SP=60H,标号LABEL所在的地址为3456H。

LCALL指令的地址为2000H,执行指令如下:2000H:LCALL LABEL后,堆栈指针SP和堆栈内容发生了什么变化?PC的值等于什么?如果将指令LCALL 直接换成ACALL是否可以?如果换成ACALL指令,可调用的地址范围是什么?13.编写程序,进行两个16位数的减法:6F5DH-13B4H,结果存入内部RAM的30H和31H单元,30H存差的低8位。

14.编写程序,进行两个16位数的加法:6F5DH+13B4H,结果存入内部RAM的30H和31H单元,30H存和的低8位。

15.已知R3,R4中存有一个16位的二进制数,高位在R3中,低位在R4中。

请编程将其求补,并存回原处。

16.已知30H,31H中存有一个16位的二进制数,高位在前,低位在后。

请编程将其乘2,并存回原单元处。

17.内存中有2个四字节压缩的BCD码形式存放的十进制数,一个存放在30H~33H的单元中,一个存放在40H~43H的单元中。

请编程将求它们的和,结果存放在30H~33H中。

习题四1. 写出89C51单片机汇编指令的指令格式,并举例说明。

2. 单片机的程序设计包括哪几个步骤?3. 单片机的分支结构程序指令有哪几条?4. 编程将片内40H~60H单元中的内容送到以3000H为首的存储区内。

5. 已知内部RAM的20H和21H单元中各有一个无符号8位二进制数,试编程比较它们的大小,并把大数送到30H单元。

6. 若从30H单元开始有100个数,编一个程序检查这些数,正数保持不变,负数取补后送回。

7. 设在2000H~2004H单元中.存放有5个压缩BCD码,编程将它们转换成ASCII码,存放到以2005H为首地址的存储区中。

8. 试编写一段延时程序,延时时长为1s。

设单片机的晶振频率为12MHz。

9. 编程计算下列算式的程序(1)23H+45H+ABH+03H=(2)CDH+15H-38H-46H=(3)1234H+8347H=(4)AB123H-43ADCH=10. 设5AH单元中有一变量X,请编写计算下述函数式的程序,结果存入5B单元。

⎪⎪⎩⎪⎪⎨⎧>≤≤+<-=154115108101Y 22X X X X X 习题五1. 什么是中断?在单片机中中断能实现哪些功能?2. 中断服务子程序和普通子程序有什么区别?3. 什么是中断优先级?中断优先级处理的原则是什么?4. 什么是中断嵌套?5. 89C51有几个中断源,各中断标志如何产生的,又如何清0的?CPU 响应中断时,中断入口地址各是多少?6. 简述89C51单片机中断响应过程。

7. 中断响应后,是怎样保护断点和保护现场的?8. 在89C51 Flash ROM 中,应如何安排程序区?9. 试编写出外部中断1为边沿触发方式的中断初始化程序。

10. 89C51有哪几种扩展外部中断源的方法?各有什么特点?11. 当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求?12. 试编写一段对中断系统初始化的程序,允许INT0、INT1、T0、串行口中断,且使T0中断为高优先级。

13. 在89C51中,需要外加电路实现中断撤除的是:(1)定时中断(2)脉冲方式的外部中断(3)串行中断(4)电平方式的外部中断14. 在89C51单片机中,外部中断有哪两种触发方式?如何加以区别?15. 在89C51单片机的应用系统中,如果有多个外部中断源,怎样进行处理?16. 在89C51中,以下几种中断优先级顺序能否实现?如可以,中断优先级应如何设置,若不行,请说明理由。

(1)定时器0,定时器1,外中断0,外中断1,串行口中断。

(2)串行口中断,外中断0,定时器0,外中断1,定时器1。

(3)外中断0,定时器1,外中断1,定时器0,串行口中断。

(4)外中断0,外中断1,串行口中断,定时器0,定时器1。

(5)串行口中断,定时器0,外中断0,外中断1,定时器1。

(6)外中断0,外中断1,定时器0,串行口中断,定时器1。

(7)外中断0,定时器1,定时器0,外中断1,串行口中断。

习题六1. 89C51单片机中的定时/计数器有什么实际用途?2. 89C51单片机内部有几个定时/计数器,他们有哪些专用寄存器?3. 定时/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?4. 门控制信号GATE为1时,外部中断引脚INT0在什么状态下启动计数?5. 当定时器T0用作模式3时,由于TR1位已被T0占用,如何控制定时器T1的开启和关闭?6. 定时/计数器中的工作模式由哪个特殊寄存器设置?试叙述几种工作模式功能。

7. 定时器/计数器的工作模式2有什么特点?适用于哪些应用场合?8. 时钟频率为12MHz。

要求定时值分别为0.1ms、1ms、10ms,定时/计数器T0分别工作在模式0、模式1、模式2,其定时初值各为多少?9. 当定时器T0用于模式3时,应该如何控制定时器T1的启动和关闭?10 设晶振频率f osc=12MHz,89C51定时器0的模式0、模式1、模式2的最大定时时间分别为多少?11. 已知89C51单片机系统时钟频率为24MHz,请利用定时器T0和P1.2输出矩形脉冲。

矩形波高电平宽度50µs,低电平宽度350µs。

12. 设89C51单片机的晶振频率为6MHz,以计数器T1进行外部事件计数,每计数100个外部事件输入脉冲后,计数器T1转为定时工作方式,定时5ms后,又转为计数方式。

相关主题