单片机模拟复习题答案.docx
《单片机模拟复习题答案.docx》由会员分享,可在线阅读,更多相关《单片机模拟复习题答案.docx(80页珍藏版)》请在冰豆网上搜索。
单片机模拟复习题答案
一、填空题
1、MCS─51设置4组工作寄存器,每组中有8个工作寄存器。
应通过PSW特殊功能寄存器RS1的RS0两位选择工作寄存器组。
2、MCS─51有4个8位并行I/O口,其信息读取有两种方法是:
读锁存器和读引脚
3、在直接寻址方式中,只能使用8位二进制数作为直接地址,因此其寻址对象只限于内部RAM
4、通常把CPU完成一个基本操作所需要的时间称为机器周期,执行一条指令所需要的时间称为指令周期。
5、单片机的
端的功用是外部程序存储器访问允许端(低电平有效),8031的
端应接到低电平。
其原因是8031无片内程序存储器。
6、在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的地址。
(间接寻址的范围是内部数据RAM的寄存器RAM采用寄存器R0,R1对低128位单元进行寻址;外部数据RAM,R0,R1提供低8位地址访问外部低256位字节,或采用16位的DPTR作为间接寄存器)
7、64KB的SRAM存储器芯片需要16根地址线和8根数据线。
*(地址总线的宽度为16位,低8位由P0口提供,高8位由P2口提供;数据总线的宽度为8位,由P0口提供)
8、MCS—51可提供程序和数据两种存储器、最大存储空间可达64KB的两个并行存储器扩展系统。
9、MCS—51单片机的中断系统有5个中断请求源。
各中断源对应的入口地址在程序存储器空间的0003H-0023H(每隔8个单元)地址段内。
(外部中断0,定时器T0,外部中断1,定时器T1,串行口中断,【定时器T2】。
52单片机有6个中断请求源)
10、MCS—51单片机定时/计数器的定时功能是通过对时钟脉冲源的计数来实现的。
使用时,必须在编程时设定为C/T=0。
1、MCS—51单片机内部RAM的工作寄存器区共有32个单元,分为4组工作寄存器,每组8单元。
2、单片机系统复位后,内部RAM工作寄存器的当前工作寄存器是第0组,8个工作寄存器的单元地址是00H~07H。
3、MCS—51单片机位处理器的数据存储空间是由专用寄存器的可寻址位和内部RAM的位寻址区的128个位组成,其寻址范围是20H-2FH(答案不确定,也可能是00H-7FH)。
4、通常把CPU完成一个基本操作所需要的时间称为机器周期,执行一条指令所需要的时间称为指令周期。
5、(A)=56H,执行ADDA,#38H后PSW中的OV=1,Cy=0(当位6向位7进位,而位7不向c进位,OV=1;或者位6不向位7进位,而为7向c进位,OV=1)
6、(A)=22H,(R0)=40H,(40H)=10H执行指令MOVA,@R0后(A)=10H。
7、RAM6264芯片的地址线为A12~A0,其存储容量为8KB。
(13位8KB,16位64KB)
8、MCS—51可提供程序和数据两种存储器、最大存储空间可达64KB的两个并行存储器扩展系统。
9、51系列单片机有5个中断源,默认优先级别最高的中断源是外部中断(中断优先级寄存器IP)
10、MCS—51单片机内部有2个定时/计数器,组成它们的核心部件为计数器。
1、单片机也可称为微控制器或嵌入式微控制器。
2、单片机与普通计算机的不同之处在于其将CPU、存储器和I/O口
三部分集成于一块芯片上。
3、如果(A)=65H,(50H)=50H,(R1)=50H,执行指令XCHDA,@R1;结果为:
(A)=60H,(50H)=55H。
(数据交换指令:
XCH:
字节交换指令XCHD进行操作数低4位的交换SWAP累加器A中的高4位与低4位的内容交换)
4、(A)=56H,执行ADDA,#38H后PSW中的OV=1,Cy=0。
5、MCS-51系列单片机为8位单片机。
6、MCS─51有4个并行I/O口,在使用时PO口的低8位和P2口的高8位作地址总线,P0口分时作数据总线。
7、MCS-51单片机有二级优先级中断5个中断源。
8、通常把CPU执行一条指令所需要的时间称为指令周期,把CPU完成一个基本操作所需要的时间称为机器周期。
9、MCS-51系列单片机的典型芯片分别为8031、8051、8751。
10、MCS-51系列单片机指令系统的寻址方式有立即寻址、寄存器寻值、直接寻址、寄存器寻址、相对寻址、变址寻址、位寻址。
11、74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中8片芯片。
12、利用8255A可以扩展3个并行口,其中8条口线具有位操作功能。
13、若MCS-51外扩32KB数据存储器的首地址为0000H,则末地址为___7FFF_____H。
14、由8031组成的单片机系统在工作时,
引脚应该接低电平。
1.128D=10000000B=80H。
(二进制后缀为B,八进制后缀为O,十进制后缀是D,十六进制后缀是H)
2.MCS-51单片机片内RAM的通用工作寄存器共有32个,可分为_4_组,用户可以通过指令改变PSW中的RS0和RS1两位来切换当前的工作寄存器组。
3.当单片机复位时,DPTR=0000H,SP=07H。
4.单片机存储器的主要功能是存储程序和数据。
5.AT89C51单片机内部有4组并行I/O端口,可作地址/数据复用总线的是P0口,进行输入操作前应先向端口写“1”。
6.若(A)=85H,(R0)=20H,(20H)=AFH,执行指令:
ADDA,@R0,结果为:
(A)=34H,CY=1,AC=1,OV=1,P=1。
7.MOVA,@R0指令中源操作数的寻址方式是寄存器间接寻址,JC40H指令中源操作数的寻址方式是相对寻址。
(相对寻址:
把指令中给定的地址偏移量与PC的当前值相加,得到真正的程序转移地址)
8.AT89C51片内随机存取存储器的容量为256B,片外程序存储器的最大容量为64KB。
(随机存储器RAM—数据存储器,只读存储器ROM—程序存储器)
二.概念
1、DPTR:
16位的数据指针寄存器(当cpu访问外部64KB的数据存储器时,DPTR用作地址指针,当CPU访问64KB的程序存储器时,DPTR用作基址寄存器)
2、SP:
一个8位特殊功能寄存器,指示出堆栈顶部在内部RAM的位置
3、中断嵌套:
CPU在处理一个中断请求时又发生另一个优先级比他高的中断源请求,cpu能够暂时中止执行对原来中断源的处理程序,转而去处理优先级更高的中断请求,待处理完成后,再继续处理原来低级中断处理程序。
4、定时/计数器的定时工作方式和计数工作方式有何不同?
5、PC:
程序计数器,用于存放cpu要执行的下一条指令的地址
6、ALU:
算术逻辑单元
7、中断:
计算机系统中止当前的正常工作,转入处理突发事件,待突发事件处理完毕后再回到原来被中断的地方,继续原来的工作。
8、寻址方式
三、简答题
1.MCS-51采用6MHz的晶振,定时2ms,如用定时器方式1时的初值(16进制数)应为多少?
(写出计算过程)(答案:
64536)
2.说明MCS-51的外部引脚
的作用?
外部程序存储器访问允许端(接低电平则从地址为0000H-FFFFH的外部程序内存中读取代码;接高电平时先从内部程序内存中读取代码,然后自动转向外部)有些芯片无片内程序存储器
3.如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:
POPDPH;
POPDPL;
POPSP;
则:
(DPH)=_3CH__;(DPL)=____5FH______;(SP)=_____50H__;
4.分析下列程序的功能
PUSHACC
PUSHB
POPACC
POPB
功能:
将累加器ACC和B中的数进行交换
5、简述
、
和
管脚的用途?
:
外部程序存储器访问端
:
地址锁存允许
:
外部程序存储器的选通信号
6、什么是伪指令?
写出三种常用的伪指令,并说明其功能?
不产生目标程序,也不影响程序的执行,仅仅产生供汇编用的某些指令,用来对汇编过程进行某种控制或操作
定义起始地址伪指令ORG功能:
规定一个程序块或数据块所存放的起始地址
定义汇编结束伪指令END功能:
表示汇编程序到此结束。
标号赋值伪指令EQU功能:
将表达式的值赋给本语句中的标号
字节定义伪指令DB:
在程序存储器的连续单元中定义字节数据
字定义伪指令DW。
。
。
。
。
7、MCS-51的外部中断有哪两种触发方式?
它们对电信号的状态有何要求(定性)?
电平触发和边沿触发
电平触发是低电平有效。
边沿触发是在电平负跳变时置1,外部中断源输入的高电平和低电平时间必须保持两个机器周期以上
8、设单片机的晶振频率为12MHz,要求用T0定时150μs,试计算采用定时方式2的定时初值。
【106】
9.简述AT89C51单片机内存RAM的分区及其用途?
00H-1FH:
工作寄存器区
20H-2FH:
位寻址区
30H-7FH:
用户RAM区
80H-FFH:
特殊功能寄存器区
10.简述
、
和
管脚的用途?
:
外部程序存储器访问允许端
:
地址锁存允许
外部程序存储器的选通信号
11.简述MCS-51单片机的指令系统按功能可分为哪几类?
数据传送指令
算术运算指令
逻辑操作指令
控制转移指令
位操作指令
12.MCS-51采用12MHz的晶振,定时1ms,如用定时器方式1时的初值(16进制数)应为多少?
(写出计算过程)【64536】
四、选择题
1.MCS-51单片机在访问外部数据存储器时,其地址指针可采用(A)。
A.DPTRB.PCC.PSWD.SP
2.80C51与8051的区别在于(B)。
A.内部ROM的类型不同;B.半导体工艺的形式不同;
C.内部寄存器单元的数目不同;D.内部程序存储器不同。
3.PC的值是(C)。
程序计数器
A.当前指令前一条指令的地址B.当前正在执行指令的地址
C.下一条指令的地址D.控制器中指令寄存器的地址
4.MCS-5l单片机的堆栈区是设置在(C)中。
A.片内ROM区B.片外ROM区
C.片内RAM区D.片外RAM区
SP指示出堆栈栈顶在内部RAM中的位置,SP的初始化为07H
5.在MCS-51中,需要外加电路实现中断撤除的是(A)。
A.电平方式的外部中断B.定时中断
C.外部串行中断D.脉冲方式的外部中断
6.AJMP指令的跳转范围是(C)。
A.256BB.1KBC.2KBD.64KB
AJMP:
把操作数所表示的11位地址送入PC寄存器的低11位,高5位不变
7.下列指令中不影响标志位CY的指令是(D)。
A.ADDA,20HB.CLRC
C.RRCAD.INCA
INC加一指令,不影响标志位
8.下列说法不正确的是(D)。
A.同一级别的中断请求按时间的先后顺序响应。
B.同级中断不能嵌套。
C.低优先级中断请求不能中断高优先级中断,但是高优先级中断请求能中断低优先级中断。
D.同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。
9.在寄存器间接寻址方式中,间址寄存器中存放的数据是(B)。
A.参与操作的数据B.操作数的地址值
C.程序的转移地址D.指令的操作码
10.CPU寻址外设端口地址的方法有两种,一种是统一编址,还有一种是(C)。
A.混合编址B.动态编址C.独立编址D.变址编址
11.PC的值是(C)。
程序计数器
A.当前指令前一条指令的地址;B.当前正在执行指令的地址;
C.当前正在执行指令的下一条指令的地址;D.控制器中指令寄存器的地址。
12.单片机AT89C51的XTAL1和XTAL2引脚是(D)引脚。
A.外接定时器B.外接串行口C.外接中断D.外接晶振
XTAL1是构成片内振荡器的反相放大器的输入端
XTAL2是构成片内振荡器的反相放大器的输出端
3.要用传送指令访问MCS-51片外数据存储器,它的指令操作码助记符应是(C)。
【进栈指令】[片内数据存储器]
【程序存储器ROM】
4.当PSW的RS0和RS1位分别为1和0时,系统选用的工作寄存器组为(B)。
【RS1在前,RS0在后】
A.组0B.组1C.组2D.组3
5.单片机的堆栈指针SP始终(B)。
A.指示堆栈底B.指示堆栈顶
C.指示堆栈中间D.指示堆栈长度
6.单片机AT89C51在访问外部数据存储器时,其地址指针可采用(A)。
A.DPTR[16位]B.PC【不属于特殊功能寄存器】C.PSW(8位)D.SP(8位)
7.单片机应用程序代码一般存放在(B)中。
A.RAMB.ROMC.寄存器D.CPU
8.下列指令中访问程序存储器的是(D)【片内数据存储器传送指令MOV;片外数据传送指令MOVX;程序存储器传送指令MOVC】
A.MOVA,R0B.MOVXA,@DPTR
C.MOVC,P1.0D.MOVCA,@A+DPTR
9.下列说法不正确的是(D)。
A.同一级别的中断请求按时间的先后顺序响应。
B.同级中断不能嵌套。
C.低优先级中断请求不能中断高优先级中断,但是高优先级中断请求能中断低优先级中断。
D.同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。
10.AJMP指令的跳转范围是(C)。
A.256BB.1KBC.2KBD.64KB
五、编程题
1.编写程序,将内部RAM从50H单元开始连续10个单元的内容送到外部RAM以2000H开始的单元中。
ORG2000H
MOVR0,#50
MOVR2,#0AH
MOVDPTR,#2000H
LOOP:
MOVA,@R0
MOVX@DPTR,A
INCR0;INC加一指令
INCDPTR
DJNZR2,LOOP;DJNZ循环减1指令:
将源操作数减1
$:
SJMP$;相对转移指令SJMP:
把操作数所表示的偏移地址和本指令的下一条指令的地址相加再送入PC寄存器,从而实现指令的跳转
END
【
有条件转移指令:
累加器A判零转移指令JZ或JNZ:
首先判断累加寄存器A的结果是否为0,根据判断的结果决定是否转移到目标地址
比较不等转移指令CJNE:
首先将目的操作数和源操作数做一个比较,
判C转移指令JC或JNC:
判断CY标志位是否为1,根据判断结果决定是否转移目标程序
】
2、试编写程序段,将R1中的低4位数与R2中的高4位数合并成一个8位数,并将其存放在R1中。
ORG1000H
MOVA,R1
ANLA,#0FH
MOVR1,A
MOVA,R2
ANLA,#0F0H
ORLA,R1
MOVR1,A
$:
SJMP$
END
3、试编程将片外RAM中2000H和2001H单元内容相加,结果存放在片内RAM的40H和41H单元中,41H存放高字节。
4、试编程将片外RAM1000H~1020H单元中的内容传送到以40H为首地址的片内RAM存储区中。
5、设Y、D、E、F、G都代表位地址,试编写程序完成位运算Y=E(F+D)G的操作。
6.试编程将片外RAM中1000H和1001H单元内容相加,结果存放在片内RAM的20H和21H单元中,21H存放高字节。
7.试编程将片外RAM2000H~204FH的存储区中数据块内容,传送到片内RAM以20H单元为首地址的存储区中,并将原数据块区域全部清零。
8、编写程序,将内部数据存储器40H~4FH单元的内容送到片外RAM从2000H开始的16个单元。
9、从内部数据存储器20H~30H单元,有16个有符号数据。
试编一个程序,把其中的负数送到内部数据存储器从50H开始的存储单元。
10、编写程序,将片内RAM从50H单元开始的10个单元的内容传送到以2000H为首地址的片外数据存储器中。
11、编程将外部RAM的2050H~3000H地址单元清零。
12、编程将片外2000H单元与2001H单元的内容相乘,结果存放在片内20H与21H单元中,高位存放在21H单元中。
13.一个16位数的高字节存放在片外数据存储器2000H单元,低字节存放在2001H单元,另一16位数据的高字节存放在片内数据存储器的30H单元,低字节存放在31H单元,编程完成这2个16位数据加法运算,和的高8位存放在50H单元,低8位存放在51H单元。
(假设和仍为两字节)
14.编写程序,求出内部RAM中从地址为30H开始的连续8个单元中的内容的平均值,并存入60H单元中。
(假设8个单元的总和小于255)
六、读程题
1.已知(B)=21H,(A)=20H在执行下列指令后,(SP)=__52H____,内部RAM(51H)=___20H___。
MOVSP,#50H
PUSHACC
PUSHB
2.已知(59H)=50H,以下程序段执行后(A)=25H,(51H)=25H,(R0)=50H。
MOVA,59H
MOVR0,A
MOVA,#00
MOV@R0,A
MOVA,#25H
MOV51H,A
MOV52H,#70H
3.读程序,写出结果。
MOVA,#50H
MOVB,#77H
PUSHACC
PUSHB
POPACC
POPB
执行完本段指令后(A)=77H(B)=50H。
4.读程序,写出结果。
MOVDPTR,#2000H
MOVA,#80H
MOVX@DPTR,A
INCDPTR
MOVA,#90H
MOVX@DPTR,A
MOVDPTR,#2000H
MOVXA,@DPTR
MOVB,A
INCDPTR
MOVXA,@DPTR
以上程序执行后,(DPTR)=2001H,(A)=90H,(2001H)=90H。
5、设内部RAM的30H单元的内容为40H,40H单元的内容为10H,10H单元的内容为00H,端口P1=0BAH。
问执行以下指令后,各有关存储单元、寄存器以及端口的内容(即R0、R1、A、B、P1、P2、40H、30H、10H单元)
MOVR0,#30H;(RO)=30H
MOVA,@R0;(A)=40H
MOVR1,A;(R1)=40H
MOVB,@R1;(B)=10H
MOV@R1,P1;(40H)=0BAH
MOVP2,P1;(P2)=OBAH
MOV10H,#50H;(10H)=50H
MOV30H,10H;(30H)=50H
6.执行下列程序段后,R1=0CAHR2=65HR3=40H。
MOVA,#65H
MOVB,A
RLA
MOVR1,A
MOVR2,B
ANLA,B
MOVR3,A
7.执行下列程序段后,(A)=__0A7H_,AC=1。
MOVA,#88H
MOVR3,#1FH
ADDA,R3
8.执行下列程序段后,(75H)=25H,(76H)=45H,SP=76H。
MOVSP,#75H
MOV75H,#25H
MOVA,#45H
PUSHA
9.下列程序段执行后,(R0)=7FH,(7EH)=00H。
MOVR0,#7EH
MOV7EH,#0FFH
MOV7FH,#40H
INC@R0
INCR0
INC@R0
六、综合题
1、以AT89C51为主机的系统,拟采用2片6264数据存储器芯片,扩展16KB的数据存储器,试设计硬件电路图,并分别写出芯片的地址空间范围。
2.下图中外部扩展的程序存储器和数据存储器容量各是多少?
3.三片存储器芯片的地址范围分别是多少?
(地址线未用到的位填1)
第三节增选习题及解答
一、填空题
1.堆栈寄存器的符号是(),复位后它的内容为()。
2.累加器A的内容有偶数个1时,特殊功能寄存器()的()位内容为()。
3.内RAM的03H字节单元的地址符号另记为()。
4.堆栈操作遵循的原则是()。
5.8051单片机有4个I/O口,它们分别是(),复位后对应它们的寄存器的内容为()。
6.为了正确地读取8051的P1口引脚的状态值,应该先向它()。
7.8051的()引脚应该至少保持()个机器周期的()电平,才能使8051复位。
8.8051的封装形式为()。
9.利用8051组成的工作系统,程序放在内部ROM,它的引脚应该接()电平。
EA
10.8051单片机的ALE引脚在CPU对外存非操作期间,它输出频率为晶体振荡器频率()的脉冲信号。
11.8051内部程序存储器的容量为()字节,8031的内部程序存储器的容量为()字节。
12.8031最大可以扩展()程序存储器,最大扩展的数据存储器的容量是()。
13.位寻址区在内RAM低128字节单元的()字节中,高128字节单元中有()个特殊功能寄存器的位可以进行位操作。
14.当前工作寄存器的选择由特殊功能寄存器()的()位的内容决定。
15.用于位处理的布尔处理器是借用的特殊功能寄存器()的()位完成的。
16.一个机器周期包括()个振荡周期,具体分为()个状态周期。
17.按执行时间,8051的指令分为()周期、()周期和()周期指令共三种。
18.单片机由CPU、存储器和()三部分组成。
19.CPU由()和()两部分组成。
20.若不使用MCS-51片内程序存储器,引脚必须()。
EA
21.当MCS-51引脚ALE信号有效时,表示从P0口稳定地送出了()地址。
22.当MCS-51的P0口作为输出端口时,每位能驱动()个TTL负载。
23.MCS-51有()个并行I/O口,由于是准双向口,所以在输入时必须先()。
24.MCS-51中凡字节地址能被()整除的特殊功能寄存器均能位寻址。
25.MCS-51系统中,当信号有效时,表示CPU要从()读取信息。
PSEN
26.MCS-51有()工作寄存器,它们的地址范围是()。
27.MCS-51单片机内部RAM中的位寻址区位于低128B中的(