参考题与习题.docx
- 文档编号:6075284
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:21
- 大小:154.96KB
参考题与习题.docx
《参考题与习题.docx》由会员分享,可在线阅读,更多相关《参考题与习题.docx(21页珍藏版)》请在冰豆网上搜索。
参考题与习题
1章参考题与习题
1.单片机的原名是什么?
。
MICROCONTROLLER
2.微处理器、微处理机、单片机之间有何区别?
微处理器:
一般仅指CPU,内含ALU和控制部件;
微处理机:
以微处理器为核心的微机系统,包含CPU、常用外围电路、外存、键盘、鼠标、显示器等;
单片机:
单个芯片内集成组成一台计算机的常用功能电路。
仅是一个集成电路。
3.单片机与微处理器的不同之处是什么?
前者内部不仅有微处理器,还有组成一台计算机必备的功能电路,如ROM、RAM、C\TC、UART、中断系统等。
后者仅是微处理器,具有ALU单元和控制单元。
4.单片机的发展大致分为哪几个阶段?
4位机、1位机、8位机、16位机
5,单片机根据其数据总线宽度可分为哪几种类型?
1位、4位、8位、16位
6.MCS-51系列单片机的典型产品分别为(8031)、(8051)和(8751)。
7.8031与8051的区别在于(D)
(A)内部数据存储容量不同(B)内部数据存储器的类型不同
(C)内部程序存储器的类型不同(D)内部没有程序存储器
8.8051与8751的区别在于(C)
(A)内部数据存储容量不同(B)内部数据存储器的类型不同
(C)内部程序存储器的类型不同(D)内部没有程序存储器
9.举例说明单片机在工业测控领域、家用电器领域的应用。
2章参考题与习题
1.MCS-51单片机的片内都集成了哪些功能部件?
各个功能部件的主要功能是什么?
(1)微处理器
(2)数据存储器(3)程序存储器(4)中断系统
(5)定时器/计数器(6)串行口(7)并行I/O口
2.说明MCS-51单片机上电后,运行片内程序还是片外程序是怎样控制的。
EA引脚接高电平时,上电复位后程序将从片内程序存储器开始执行。
EA引脚接低电平时,上电复位后将从片外程序存储器开始执行。
3.在MCS-51单片机中,如果采用12MHz晶振,一个机器周期为(12)时钟周期?
4.写出各中断向量地址。
外部中断00003H
定时器0000BH
外部中断10013H
定时器1001BH
串行口0023H
5.内部RAM中,位地址为30H的位,该位所在字节的字节地址为(26H)。
6.若A中的内容为63H,那么,P标志位的值为(0)。
7.判断下列说法是否正确:
(A)8031的CPU是由RAM和EPROM所组成。
错
(B)区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的地端还是高端。
错
(C)在MCS-51单片机中,为使准双向的I/O口工作在输入方式,必须保证它的输出锁存器被事先预置1。
对
(D)PC可以看成是程序存储器的地址指针。
对
8.8031单片机复位后,R4所对应的存储单元的地址为(04H),因上电时PSW=(00H)。
这时当前的工作寄存器区是(0)组工作寄存器区。
9.什么是机器周期?
如果采用12MHz晶振,一个机器周期为多长时间?
CPU完成一个基本操作所需要的时间称为机器周期。
如果采用12MHz晶振,一个机器周期为1us。
10.内部RAM中,哪些单元可作为工作寄存器区,哪些单元可以进行位寻址?
写出它们的字节地址。
地址为00H~1FH的32个单元为4组通用工作寄存器区。
地址为20H~2FH的16个单元可进行位寻址,这些单元构成了1位处理机的存储器空间。
11.使用8031单片机时,需要将
引脚接(低)电平,因为其片内无(程序)存储器。
12.片内RAM低128个单元划分为哪三个主要部分?
各部分的主要功能是什么?
(1)地址为00H~1FH的32个单元是4组通用工作寄存器区,每个区含8个8位寄存器,编号为R0~R7。
(2)地址为20H~2FH的16个单元可进行共128位的位寻址,这些单元构成了1位处理机的存储器空间。
单元的每一位都有自己的位地址,这16个单元也可以进行字节寻址。
(3)地址为30H~7FH的单元为用户RAM区,只能进行字节寻址。
13.判断下列说法是否正确
(A)内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。
错
(B)8031共有21个特殊功能寄存器,它们的位都是可用软件设置的,因此,是可以进行位寻址的。
错,只有字节地址末位为“0”或“8”的SFR支持案位访问。
14.单片机程序存储器的寻址范围是由程序计数器PC的位数决定的,MCS-51的PC为16位,因此其寻址的范围是(64KB)。
15.写出P3口各引脚的第二功能。
16.当MCS-51单片机程序陷人死循环时,如何退出死循环?
借助于复位或WDT技术。
17.判断下列说法是否正确
(A)PC是一个不可寻址的特殊功能寄存器。
错
(B)单片机的主频越高,其运算速度越快。
对
(C)在MCS-1单片机中,一个机器周期等于1/fosc。
错
(D)特殊功能寄存器SP内装的是栈顶首地址单元的内容。
错
3章参考题与习题
1.判断以下指令的正误:
(1)MOV28H,@R1
(2)DECDPTR(3)INCDPTR(4)CLRR0
(5)CPLR2(6)MOVR0,R1(7)PUSHDPTR(8)MOVF0,C
(9)MOVF0,Acc.3(10)M0VXA,@R1(l1)MOVC,30H(12)RLCR0
(1)对;
(2)错;(3)对;(4)错;(5)错;(6)错;
(7)错;(8)对;(9)错;(10)对;(11)对;(12)错;
2.判断下列说法是否正确。
(A)立即寻址方式是操作数本身在指令中,而不是它的地址在指令中。
(B)指令周期是执行一条指令的时间。
(C)操作数直接出现在指令中称为直接寻址。
(A)对;(B)对;(C)错;
3.在基址加变址寻址方式中,以(A)作变址寄存器,以(PC)或(DPTR)作基址寄存器。
4.MCS-51单片机共有哪几种寻址方式?
寄存器寻址、直接寻址、立即寻址、寄存器间接寻址、基址加变址寻址。
5.MCS-51单片机指令按功能可以分为哪几类?
分5类:
1)数据传送类,用于数据传送;
2)算术运算类,用于算术运算;
3)逻辑运算类,用于逻辑运算;
4)控制转移类,用于转移;
5)位操作类,用于按位操作。
6.访问特殊功能寄存器SFR,使用哪种寻址方式?
访问52系列单片机内部RAM的高端128B使用哪种寻址方式?
访问SFR,只能使用直接寻址方式;访问高端128B内部RAM,只能使用间接寻址方式。
7,指令MOVC与MOVX有什么不同之处?
前者访问ROM区,后者访问外部数据区。
8.假定累加器A中的内容为30H,执行指令:
1000HM0VCA,@A+PC
后,把程序存储器(1031H)单元的内容送入累加器A中。
9.寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的(地址)。
10.下列程序段的功能是什么?
PUSHA
PUSHB
POPA
POPB
A、B中的内容相互交换。
11.已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。
下述程序执行后:
POPDPH
POPDPL
MOVDPTR,#4000H
RLA
MOVB,A
M0VCA,@A+DPTR
PUSHA
MOVA,B
INCA
M0VCA,@A+DPTR
PUSHA
RET
ORG400OH
DB10H,80H,30H,50H,30H,50H
请问:
A=(50)H;SP=(50)H;(51H)=(30)H;(52H)=(50)H;PC=(5030)H。
12.写出完成如下要求的指令,但是不能改变未涉及位的内容。
(1)把Acc.3,Acc.4,Acc.5和Acc.6清“0”。
(2)把累加器A的中间4位清“0”。
(3)使Acc.2和Ac。
3置“1”。
(1)ANLA,#10000111B
(2)ANLA,#11000011B
(3)ORLA,#00001100B
13.试编写一段程序,将内部RAM中38H单元的高4位置1,低4位清0。
MOV38H,#0F0H
14.假定A=83H,(R0)=17H,(17H)=34H,执行以下指令:
ANLA,#17H
0RL17H,A
XRLA,@R0'
CPLA
后,A的内容为(CBH)。
15.假设A=55H,R3=0AAH,在执行指令“ANLA,R3”后,A=(00),R3=(0AAH)。
16.如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后,DPH=(3CH),DPL=(5FH),B=(50H)。
POPDPH
POPDPL
POPB
17.指令格式是由(操作码)和(操作数)所组成,也可能仅由(操作码)组成。
18.MCS-51单片机对片外数据存储器采用的是(寄存器间接)寻址方式。
19.试编写程序,查找在内部RAM的20H~40H单元中是否有55H这一数据。
若有,则将A置为“01H”;若未找到,则将A置为“00H”。
SEARCH:
MOVR0,#20H
MOVR2,#33
L:
CJNE@R0,#0AAH,L1
MOV41H,#01H
RET
L1:
INCR0
DJNZR2,L
MOV41H,#00H
RET
20.试编写程序,查找在内部RAM的20H~40H单元中出现“00H”这一数据的次数。
并将查找到的结果存入A。
SEARCH:
MOVA,#0
MOVR0,#20H
MOVR2,#33
L:
CJNE@R0,#00H,L1
INCA
L1:
INCR0
DJNZR2,L
RET
21.若SP=60H,标号LABEI所在的地址为3456H。
执行“LCALLLABEL”
指令后,堆栈指针SP=(62H),PC=(3456H)。
22.假设外部数据存储器2000H单元的内容为80H,执行下列指令后,累加器A中的内容为(80H)。
MOVP2,#20H
MOVR0,#00H
M0VXA,@R0
23.下列程序段经汇编后,从1000H开始的各有关存储单元的内容将是什么?
ORG1000H
TAB1EQUl234H
TAB2EQU300OH
DB“ABCD”
DWTAB1,TAB2,70H
41H,42H,43H,44H,12H,34H,30H,00H,00H,70H
24.写出5条指令,分别为寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基址寄存器加变址寄存器间接寻址方式。
寄存器寻址:
MOVA,R0;直接寻址:
MOVA,30H;
寄存器间接寻址:
MOVA,@R0;立即寻址:
MOVA,#30H;
基址加变址寻址:
MOVCA,@A+DPTR
25.编制一段子程序将内部RAM中20H~3FH32字节数传送至与40H~5FH中。
MOVE:
MOVR0,#20H
MOVR1,#40H
MOVR2,#32
L1:
MOVA,@R0
MOV@R1,A
INCR0
INCR1
DJNZR2,L1
RET
26.编制一查表子程序实现:
子程序执行前A中存下表中第一行某数,子程序执行后A中存第二行中对应的数。
0
1
2
3
4
5
6
7
8
9
3FH
06H
5BH
4FH
66H
6DH
7DH
07H
7FH
6FH
CHECK_TAB:
MOVCA,@A+DPTR
RET
27.请说明:
(1)当执行完以下前4条指令后,A=(44H)、B=(33H)。
(2)当执行完前6条指令后,(SP)=(61H)、内部RAM中(60H)=(44H)、(61H)=(33H)。
(3)当执行完8条指令后,SP=(5FH)、(A)=(33H)、(B)=(44H)。
①MOVSP,#5FH
②MOVA,#33H
③MOVB,#44H
④XCHA,B
⑤PUSHA
⑥PUSHB
⑦POPA
⑧POPB
28.编制一段子程序将IRAM中30H~33H4字节二进制数减去40H~43H4字节二进制数,其差存放在30H~33H中。
数的存放规则:
高位在前,低位在后。
SUB:
MOVR0,#33H
MOVR1,#43H
MOVR2,#4
CLRC
SUB1:
MOVA,@R0
SUBBA,@R1
MOV@R0,A
DECR0
DECR1
DJNZR2,SUB1
RET
29.请说明:
当执行完以下几条指令后,A=(58H)。
CLRA
ORLA,#55H
ANLA,#0FH
RLA
SETBC
RRCA
SWAPA
30.编写一段子程序,将A与B中的内容比较,若A>B,则令A=1;若A=B,则令A=2;若A
COMP:
CJNEA,B,COMP1
MOVA,#2
RET
COMP1:
JCCOMP2
MOVA,#1
RET
COMP2:
MOVA,#3
RET
31.在某一两位式温度控制系统中,按下述控制规则进行控制:
当温度大于200℃时,关断加热器(写一条指令:
CLRP1.2即可);当温度小于198℃时,接通加热器(写一条指令:
SETBP1.2即可);除此,不进行关断、接通加热器的处理。
若系统的实测温度已存放在A中,编写一段程序实现上述控制规则。
(提示:
请调用习题30编写的子程序)
CTR_TEM:
MOVR0,A
MOVB,#200
LCALLCOMP
CJNEA,#1,C_T1
CLRP1.2
RET
C_T1:
MOVA,R0
MOVB,#198
LCALLCOMP
CJNEA,#3,C_T2
SETBP1.2
C_T2:
RET
32.编写一段程序实现:
将系统堆栈设置在0D0H~0FFH;使用第一组通用工作寄存器。
(共分0、1、2、3组)
INIT:
MOVSP,#0CFH
CLRRS1
SETBRS0
RET
33.问:
当下述前8条指令执行完后,转去执行第(9)条指令还是第(30)条指令?
(1)MOVP1,#55H
(2)MOVP2,#0AAH
(3)MOV20H,P1
(4)MOV21H,P2
(5)MOVC,00H
(6)ANLC,02H
(7)ORLC,08H
(8)JCL1
(9)JB09H,L2
(10)…
(30)L1:
MOVA,B
转去执行第30条指令。
4章参考题与习题
1.编程确定:
T0工作于方式1,对外部脉冲计数,受引脚
控制;T1工作于方式2,定时器方式,不受引脚
控制。
MOVTMOD,#00101101B
SETBTR0
SETBTR1
2.编程实现:
若引脚P1.0为高电平,则在引脚P1.1输出2000HZ方波信号;若引脚P1.0为低电平,则在引脚P1.1输出4000HZ方波信号;方波信号占空比为50%,系统的晶体振荡频率为12MHZ
ORG00000H
LJMPMAIN
MAIN:
MOVSP,#0EFH
LCALLINIT_T0
MAIN1:
JNBTF0,$
CLRTF0
CPLP1.1
LJMPMAIN1
INIT_T0:
MOVTMOD,#02H
SETBTR0
JBP1.0,INIT_T01
MOVTH0,#256-125
RET
INIT_T01:
MOVTH0,#256-250
RET
3.如果采用的晶振的频率为12MHz,定时器/计数器T0工作在方式0、1、2下,其最大的定时时间各为多少?
答:
机器周期=12*(1/晶振频率)=1us
方式0:
Tmax=213us
方式1:
Tmax=216us
方式2:
Tmax=28us
4.定时器/计数器T0作为计数器使用时,其计数频率不能超过晶振频率的(1/24)?
5.定时器/计数器用作定时器时,其计数脉冲由谁提供?
定时时间与哪些因素有关?
计数脉冲来自于单片机的时钟信号,频率为fosc/12;
定时时间与工作方式、时钟频率有关。
6.定时器/计数器的工作方式2有什么特点?
适用于什么应用场合?
自动重装计数初值,能产生精确的时间间隔,适用于精确定时场合。
7.一个定时器的定时时间有限,如何实现两个定时器的串行定时,来实现较长时间的定时?
可让T0工作于方式1,定时方式,当T0溢出时,执行以下指令
L1:
JFBTF0,L1
CLRTF0
INCTL1
MOVA,TL1
CJNEA,#0,L1
INCTH1
LJMPL1
8.定时器/计数器测量某正单脉冲的宽度,采用何种方式可得到最大量程?
若时钟频率为6MHz,求允许测量的最大脉冲宽度是多少?
设置:
将外部脉冲引至/INT0因脚上,T0为方式1,GATE设置为1,TR0为1。
最大脉冲宽度:
65536×2μS。
9.判断下列说法是否正确?
(1)特殊功能寄存器SCON,与定时器/计数器的控制无关。
(2)特殊功能寄存器TCON,与定时器/计数器的控制无关。
(3)特殊功能寄存器TMOD,与定时器/计数器的控制无关。
(1)对;
(2)错;(3)错。
10.编程实现,T2作为波特率产生器使用,使串行通讯的接收/发送波特率均为4800,系统晶体振荡频率fosc=12MHz。
11.编程实现,T2输出方波信号,频率为500KHz,系统晶体振荡频率fosc=12MHz。
12.编程实现,T2每隔100mS溢出一次,系统晶体振荡频率fosc=
5章思考题与习题
1.串行通讯相对并行通讯有何特点?
通讯介质成本低,主要用于长距离通讯。
常见的各种计算机网络都采用串行通讯。
2.简述串行通讯4种工作方式的帧格式。
方式0:
I/O扩展方式,RXD收发数据,TXD串行时钟,8位数据,波特率:
fosc/12。
方式1:
8位通讯,波特率=(2SMOD/32)(T1的溢出率)。
方式2:
9位通讯,波特率=(2SMOD/64)×fosc。
方式3:
9位通讯,波特率=(2SMOD/32)(T1的溢出率)。
3.帧格式为1个起始位,8个数据位和1个停止位的异步串行通讯方式是方式()。
方式1
4.串行通讯工作于方式1、3时,波特率如何确定?
波特率=(2SMOD/32)(T1的溢出率)
5.假定串行口串行发送的字符格式为1个起始位,8个数据位,1个奇校验位,1个停止位,请画出传送字符“A”的帧格式。
6.串行通讯工作于方式3时,下列说法是否正确:
(1)第9数据位的功能可由用户定义。
(2)发送的第9数据位通过设置TB8实现。
(3)串行通讯发送时,指令把TB8位的状态送人发送SBUF中。
(4)接收到的第9位数据送SCON寄存器的RB8中保存。
(5)波特率是可变的,通过改变定时器/计数器T1的溢出率设定。
(1)对;
(2)对;(3)错;(4)对;(5)对。
7.串行通讯工作于方式1时的波特率是:
(1)固定的,为时钟频率的1/32。
错;
(2)固定的,为时钟频率的1/16。
错;
(3)可变的,通过定时器/计数器T1的溢出率设定。
对;
(4)固定的,为时钟频率的1/64。
错;
8.在串行通讯中,收发双方对波特率的设定应该是(一致)的。
9.编程确定:
串行通讯工作于方式1,波特率为4800bps(晶体振荡器频率为11.0592MHz)。
MOVSCON,#50H
MOVTMOD,#20H
MOVTH1,#244
SETBTR1
MOVPCON,#80H
10.简述利用串行口进行多机通讯的原理。
当网络中所有节点设备均工作在多机通信方式时,主机发送第一帧信息为地址帧,即设置TB8=1,低8位发送的是指定与其通信的从机地址。
所有从机能收到地址帧,此后,主机发送其他信息时,设置TB8=0,采用非多机通信方式。
。
当指定从机收到地址后,立即设置为非多机通信方式,就能够收到主机发出的地址帧以后的信息,在主机与其过程中,双方采用非多机通信方式。
由此,除了地址帧外,其他从机收不到主机与指定从机的通信内容,保证最大程度的减轻从机CPU的负担。
11.编程实现:
甲、乙双机通讯,甲机发送字符串:
“123456”,乙机接收,收到存储到内部RAM地址为30H开始的几个单元中。
通讯协议:
波特率=9600、每帧8位数据,不带奇偶校验,时钟频率为fosc=12MHz。
在给定fosc=12MHz情况下,由于波特率误差远大于2.5%,因此无法实现要求。
12.编程实现:
串行通讯工作于方式3,8位数据位,每帧数据带奇偶校验,波特率为1200(晶体振荡器频率为11.0592MHz)。
MOVSCON,#0D0H
MOVPCON,#80H
MOVTMOD,#20H
MOVTH1,#208
SETBTR1
13.串行传送数据的帧格式为1个起始位,8个数据位,1个奇偶校验位和1个停位,若每分钟传送1800帧数据,试说明串行通讯的波特率。
波特率=1800×11/60
14.编程实现:
(1)串行通讯,工作于方式1;
(2)多机通讯,工作于方式3。
(1)MOVSCON,#50H
(2)MOVSCON,#0F0H
15.波特率设置:
当串行通讯工作于方式1、方式3,fosc=12MHz时,编程设置T1,使波特率:
(1)为2400。
(2)为4800。
(3)为9600。
(1)
MOVSCON,#50H
MOVPCON,#80H
MOVTMOD,#20H
MOVTH1,#230
SETBTR1
(2)
MOVSCON,#50H
MOVPCON,#80H
MOVTMOD,#20H
MOVTH1,#243
SETBTR1
(3)
在给定fosc=12MHz情况下,由于波特率误差远大于2.5%,因此无法实现要求
6章参考题与习题
1.MCS-51单片机有几个中断源,几级中断?
5个:
IE0、IE1、TF0、TF1、(TI+R1);2级
2.编程设定:
外部中断
开放中断、下降沿触发中断、低级中断;外部中断
开放中断、低电平触发中断、高级中断;按照上述设置,若两个中断同时申请,说明先响应哪个中断?
SETBEX0
SETBIT0
SETBEX1
SETBPX1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 参考 习题