自测试题一及参考答案

  • 格式:doc
  • 大小:59.00 KB
  • 文档页数:9

单片机自测试题一
一、判断题(每题1分,共10分)
1.单片机的引脚EA端口接高电平“1”时,CPU从片外程序存储器开始读取指令。

(F )
2.堆栈指针SP的作用就是指出栈区的位置,修改SP就意味着堆栈区发生了变化。

(T)
3.特殊功能寄存器PSW用来存放CPU运算结果的一些特征。

(T )
4.当CPU访问外部存储器时,会自动向P0的每个口锁存器写入“1”,所以对用户而言P0作为地址/数据总线时,是一个真正的双向口。

(T)
5.Ri作为地址指针仅能访问片内RAM,DPTR作为地址指针主要访问片外RAM。

(F)
6.当T1进行加“1”计数运行时,T0可以工作于任何工作方式下。

(F )
7.在MCS-51系列单片机指令系统中仅有对位才能进行状态测试。

(F )
8.对于MCS-51系列单片机来说,每个中断源的中断请求标志位的置
位都是通过内部硬件电路自动完成。

(T )
9.当外中断源处于下降沿触发时,中断请求的撤除必须强迫进行。

( F )
10.串行通信中波特率的设置与定时器T0的设置没有关系。

(T )
二、选择题(每题1分,共10分)
1.单片机复位时,CPU自然选中(A)组工作寄存器。

(A)第0 (B)第1
(C)第2 (D)第3
2.MCS-51单片机中的位地址00H~7FH,指的是(B)单元中各位的位地址。

(A)片内RAM 00H~1FH (B)片内RAM 20H~2FH
(C)片内RAM 80H~FFH (D)片外RAM0020H~002FH
3.8051单片机外接存储器时,(B)可以作为普通I/O口使用。

(A)P0、P2口(B)P1、P3口
(C)P3口(D)P0、P1、P2、P3口
4.以下指令中,哪条指令将使标志位CY清0?(D)
(A)MOV A,#00H (B)CLR A
(C)ADDC A,#00H (D)DIV AB
5.访问外部数据存储器应采用以下哪条指令?(A )
(A)MOVX @R0,A (B)MOVC A,@A+DPTR
(C)MOV @R0,A (D)MOV @DPTR,A
6.下面程序段被执行后,累加器A中的内容应该是(D )。

MOV R0,#0FFH
MOV A,R0
CLR C
RLC A
ORL A,R0
SJMP $
(A)7FH (B)FEH
(C)BBH (D)FFH
7.为了准确地读取从P1口输入的外部信号,应选择下面(A)段程序。

(A)ORL P1,#0FFH (B)ORL P1,#00H MOV A,P1 MOV A,P1
(C)MOV A,#0FFH (D)MOV A,#00H MOV A,P1 MOV A,P1
8.试判断下面哪条指令是错误的?(A )
(A)CLR ACC (B)CLR A
(C)CLR ACC.1 (D)CLR E0H.7
9.若单片机系统只有一个中断源,则CPU响应中断需要(B )个机器周期。

(A)1 (B)3~8
(C)8 (D)3
10.单片机进行串行通信时,在什么工作方式下,可以实现主-从式多机通信。

(C )(A)工作方式1和3 (B)工作方式1和2
(C)工作方式2和3 (D)工作方式1、2和3
三、简答题(每题6分,共18分)
1.若PSW的内容为18H,则CPU选用哪组工作寄存器?其中R0对应的片内RAM的单元地址是什么?
.答:CPU选用第三组工作寄存器,R0对应片内RAM的单元地址为18H。

2.为什么P0~P3口称为“准双向”I/O口?
答:当P0~P3口作为通用I/O使用时,如果单片机从P0口读入数据,读信号有效,P0.i上的输入数据经三态门直接送上内部数据总线。

但是若锁存器原来保存的数据Q=0,则P0.i 将被强行钳制在低电平0上,不能向内部数据总线输入高电平“1”信号,P1、P2和P3口与P1该情况相同。

因此P0~P3口作为输入口使用时,必须先用输出指令对端口置“1”。

所以P0~P3口只是准双向I/O口。

3.MCS-51中断系统有几个中断源?
.答:五个中断源,分别为外部中断0、T0溢出中断、外部中断1、T1溢出中断、串行口中断。

若(IP)=06H,中断源的优先权排序从高到低依次为:T0溢出中断、外部中断1、外部中
断0、T1溢出中断、串行口中断。

四、程序分析题(共36分)
1.指出下列指令源操作数的寻址方式及连续执行后的结果。

(10分)
已知:(30H)=10H,(CY)=1,(31H)=18H
求:MOV R0,#30H 立即寻址(R0)= 30H INC R0 寄存器寻址(R0)= 31H
MOV A,30H 直接寻址(A)= 10H
ADDC A,@R1 寄存器间接寻址(A)= 29H CLR ACC.0 位/直接寻址(A)= 28H
五、编程(26分)
1.将片内RAM 50H单元的数据传送到片外RAM的1000单元。

(6分)
1.(6分)MOV A,50H
MOV DPTR,#1000H
MOVX @DPTR,A
2.将片外RAM0030H单元的数据传送到片外RAM2000H单元。

(6分)
2.(6分)MOV R0(或R1),#30H
MOV DPTR,#2000H
MOVX A,@R0(或@R1)
MOVX @DPTR,A
3.编写利用T0进行外中断源扩展的初始化程序。

(6分)
3.(6分)MOV IE,#82H(或SETB EA;SETB ET0)
MOV TMOD,#04H(或05H或06H或07H)
MOV TL0,#0FFH
MOV TH0,#0FFH
SETB TR0
4.单片机进行串行通信,工作在方式1,要求波特率为2400b/s,晶振频率fosc=6MHz,试分析编写相应的波特率设计初始化程序。

(8分)
4.(8分)分析:因串行口工作在方式1,所以波特率=
讨论:(1)当SMOD=0时,Z=249D=F9H
因误差=7%>2.5%,所以舍去。

(2)当SMOD=1时,Z=243D=F3H
误差=0.16%
综上得:SMOD=1,Z=F3H (4分)
所以波特率设计初始化程序如下:
MOV PCON,#80H
MOV SCON,#50H
MOV TMOD,#20H
MOV TL1,#0F3H
MOV TH1,#0F3H
SETB TR1 (4分)
参考答案
一、判断题(每题1分,共10分)
1.(×);
2.(√);
3.(√);
4.(√);
5.(×);
6.(×);
7.(×);
8. (√);
9.(×);
10.(√)
二、选择题(每题1分,共10分)
1.(A);
2.(B);
3.(B);
4.(D);
5.(A);
6.(D);
7.(A);
8.(A);
9.(B);10.(C)
三、简答题(每题6分,共18分)
1.答:CPU选用第三组工作寄存器,R0对应片内RAM的单元地址为18H。

2.答:当P0~P3口作为通用I/O使用时,如果单片机从P0口读入数据,读信号有效,P0.i 上的输入数据经三态门直接送上内部数据总线。

但是若锁存器原来保存的数据Q=0,则P0.i 将被强行钳制在低电平0上,不能向内部数据总线输入高电平“1”信号,P1、P2和P3口与P1该情况相同。

因此P0~P3口作为输入口使用时,必须先用输出指令对端口置“1”。

所以P0~P3口只是准双向I/O口。

3.答:五个中断源,分别为外部中断0、T0溢出中断、外部中断1、T1溢出中断、串行口中断。

若(IP)=06H,中断源的优先权排序从高到低依次为:T0溢出中断、外部中断1、外部中断0、T1溢出中断、串行口中断。

四、程序分析题(共36分)
1.(每空1分,共10分)
立即寻址;(R0)=30H;
寄存器寻址;(R0)=31H
直接寻址;(A)=10H
寄存器间接寻址;(A)=29H
位寻址(或直接寻址);(A)=28H
五、编程(共26分)
1.(6分)MOV A,50H
MOV DPTR,#1000H
MOVX @DPTR,A
2.(6分)MOV R0(或R1),#30H
MOV DPTR,#2000H
MOVX A,@R0(或@R1)
MOVX @DPTR,A
3.(6分)MOV IE,#82H(或SETB EA;SETB ET0)
MOV TMOD,#04H(或05H或06H或07H)
MOV TL0,#0FFH
MOV TH0,#0FFH
SETB TR0
4.(8分)分析:因串行口工作在方式1,所以波特率=
讨论:(1)当SMOD=0时,Z=249D=F9H
因误差=7%>2.5%,所以舍去。

(2)当SMOD=1时,Z=243D=F3H
误差=0.16%
综上得:SMOD=1,Z=F3H (4分)所以波特率设计初始化程序如下:
MOV PCON,#80H
MOV SCON,#50H
MOV TMOD,#20H
MOV TL1,#0F3H
MOV TH1,#0F3H
SETB TR1 (4分)。