-4000
《单片机原理及应用》习题
一、填空
1
、
MCS-51
单片机访问外部存储器时,利用
ALE
信号锁存来自
P0
p>
口的低
8
位地址信号。
2
、
MCS-51
系统中,当
PSEN
信号有效时,表示从
P0
口稳定地读入了
低
8
位地址
。
3
、通常
单片机上电复位时
PC=0000H
,
SP= 07H
;而工作寄存器则缺省采用第
00
组,这组寄
存器的地址范围是从
00H~07H
开始。
4
、
MCS-51
单片机的存储器从物理结构上可划
分
4
个空间,从逻辑上分别可划分
3
个空间。
5
、
MCS-51
单片机
8031
中有
2
个
16
位的定时
/
< br>计数器,可以被设定的工作方式有
4
种。
6
、<
/p>
MCS-51
有
5
中断源,
有
2
中断优先级,
优先级由软件填写特殊功能寄存器
加以选择。
7
、当
/EA
接地时,
MCS-51<
/p>
单片机将从
_
外部程序的存储器
_____
的地址
0000H
开始执行程序。
8
、中断请求信号有
电平
触发和
边沿
触发两种触发方式。
9
、用串行口扩展并行口时,串行接口的工作方式应选为
0
。
10. MCS
-
51
复位后
·
CPU
从
0000
H
单元开始执行程序。
·
SP
的内容为
07
H
,
第一个压入堆栈的数据将位于
片内
RAM
的
08
H
单元。
·
SBUF
的内容为
不定
。
·
ADDC A ,
#54H
指令执行后
,
PSW
寄存器的内容将等于
01
H
。
11.
8051AH
·片内设置有
4KB<
/p>
的
ROM
,
当
EA
端保持高电平时
,
PC
(程序计数器)值超过
OFF H
时
,
将自动转向执行外部程序存储器的程序。
·可做通用
I/O
的至少有_
P1
_口的
8
条
I
/O
线。_
P0
_口作地址
/
数据总线
,
传送地址码的
_低_
8
位
,
_
P2
口作地址总线
,
传送地址码的高_
_
8
位。
1
2
.
存储器组织
·
8051
片内
RAM
有
128
个字节
,
片外
RAM
寻址范围为
64K
个字节。
·对
8051
来说,
MOV A , @R0
指令中的
R0
之取值范围最大可为
FF
H
。
·位地址
7FH
还可写成
7F
H
.
1
< br>_
。
·访问片外
RAM
,
读选通信号为
/RD ,
写选通信号为
/RD ,
地址指针分别为
SP
(
8
位)和
DPTR
(
16
位)
。
寄存器
,
SCON
是
串行口控制
寄存器。
13
.
定时器和串行口
·定时器工作于
方式
2
为
8
位计数器
,
工作于方式
1
为
16
位
计数器,工作于方式
0
为
13
位
计数器
。
波特。
·
8051
的
T1
作串行口方式
1
和方式
3
的波特率发生器。
14
.
中断系统
·定时器
T
0
和定时器<
/p>
T
1
的中断标志分别是
< br> TF0
和
TF1
。
·在外部中断
INT
1
中
,
当
IT1
为
1
时为
边沿
触发
,
当
IT1
为
0
时为
电平
触发。
·在单一中断系统里
,
外部中断响应时间约在
3
到
8
个机器周期之间。
1
·
MCS
-51
专用寄存器
中
IE
是
中断控制
寄存器
,
TMOD
是
定时、计数器工作方式
·在串行通讯中
,
串行口工作于方式
1,
若字符传送率
为
120
字节
/
秒
,
则波特率等于
1200
·
INT
0
和
INT
1
的中断标志分别是
IE0
和
IE1
。
·外部中断
INT
1
的中断矢量地址为
0013 H
,
串行口中断的矢量地址为
0023
H
。
·
RETI
指令以及任何访问
IE
和
IP
寄存器的指令执行过
后,
CPU
不能马上响应中断。
p>
15
.
指令系统
·在
R7
初值为
00H
的情况下
,
DJNZ
R7 , rel
指令将循环执行
256
次。
·
欲使
P1
口的高
4
位输出为
1
而低
4
位不变
,
应执行一条
ORL
P1
,#0F0H
指令。
·欲使
P3
口的低
4
位输出
0
而高
4
位不变,应执行一条
ANL P3
,
#0F0H
指令。
·欲使
P2
口的低
4
位输出取反而高
4
位不变,应执行一条
XRL
P2,#0FH
指令。
·
MUL
AB
指令执行后
,
OV
标志为
1 ,
< br>则
(
B
)≠
00 H
。
·
DIV AB
指令执行后,
OV
标志为
1
,则此
指令执行前
(
B
)
= 00
H
。
<
/p>
·
MCS
-
51
的两条查表指令是
MOVC A,@A+DPTR
和
MOVC
A,@A+PC
。
二、选
择题(从备选答案中选择一个正确答案,并将代号写在括号内。每题
2
< br>分,共
20
分)
1
、在
CPU
内部,反映程
序运行状态或反映运算结果的一些特征寄存器是(
B
)
(
A
)
PC
(
B
)
PSW
(
C
)
A
(
D
)
SP<
/p>
2
、
MCS-
51
单片机外扩存储器芯片时,
4
个<
/p>
I/O
口中用作数据总线的是(
B
)
(
A
p>
)
P0
和
P2
p>
口
(
B
p>
)
P0
口
(
C
)
P2<
/p>
和
P3
口
(
D
)
P2<
/p>
口
3
、在中断
服务程序中,至少应有一条(
D
)
(
A
p>
)传送指令
(
< br>B
)转移指令
(
C
)加法指令
(
D
)中断返回指令
< br>4
、访问外部数据存储器时,不起作用的信号是(
)
(
A
p>
)
RD
(
B
)
WR
< br>
(
C
)
PSEN
(
D
)
ALE
5
、以下指令中,属于单纯读引脚的
指令是(
C
)
(
A
)
MOV
P1
,
A
(
B
)
ORL
P1
,
#0FH
(
C
)
MOVC C
,
(
D
)
DJNZ
P1
,
LAB
6
、要用传送指令访问
MCS-51
片外
RAM
,它的指令操作码助记符应是(
)
(
A
)
MOV
(
B
)
MOV
X
(
C
)
MOVC
(
D
)以上都是
p>
7
、若
MCS-
51
中断源都编程为同级,当它们同时申请中断时,
CPU
p>
首先响应(
B
)
(
A
)
INT
1
(
B
)
INT
0
(
C
)
T1
(
D
)
T0<
/p>
8
、
MCS-
51
响应中断时,下面哪一个条件不是必须的(
D
)
(
A
p>
)当前指令执行完毕
p>
(
B
)中断是开放的
(
C
)没有同级或高级中断服务
(
p>
D
)必须有
RETI
指令
9
、当
MCS-51
进行多机通讯时,串行接口的工作方式应选为(
C
)
(
A
)方式
0
(
B
)方式
1
(
C
)方式
2
(
D
)方式
0
或方式
2
1
0
、某种存储器芯片是
8KB*4/
片
,那么它的地址线根数是(
C
)
(
A
)
11
根
(
B
)
12
< br>根
(
C
)
13
根
(
D
)
14<
/p>
根
三、简答题
1
、
MCS-51
单片机内部包括哪
些主要逻辑功能部件
MCS-51
单片机主要由下列部件组成:
1
个
8
位
CPU
;
1
个片内振荡器及时钟电路;
4KB ROM
程序存储器,
256BRAM
;
21
个
特殊功能寄存器;
2
个
16
位定
时
/
计数器;
4
个
8
位并行
I/O
< br>口及
1
个可编程全双工串行接口;
可寻址
64KB
的外部程序存储器空间;
可寻址
64KB
的外部数据存储器空间;
< br>5
个中断源、两个优先级中断嵌套中断结构。
2
、简述
MOV
、
p>
MOVX
、
MOVC
三条指令的异同点。
MOV<
/p>
是用来访问内部
RAM
的,
MOVX
是用来访问外部
RAM
的,
MOVC
是用来访问内部
RO
M
的。
2
3
、
MCS-51
单片机能提供几个中
断源几个中断优先级在同一优先级中各中断源优先顺序如何确定
提供
5
个中断源,
2
个优先级,从高到低依次是:外部中断
0
,定时器
0
,外部中断
1
,定时器
1
,串口中断。
4
、简述
MCS-51
单片机实现多机通讯的过程。
主机
SM2
位设为
0
,从机刚开始都设为
1
,说明从机刚开始只接受地址帧,当主机把地址帧发送给从机后,从机把接受的地址
帧与自身地址相比较,与自身地址相同的从机把
SM2
清零,其他从机
SM2
保持
1
p>
,这样当主机发来数据帧时,只有
SM2
为
0
的从机
才能接受到数据帧,从机接受
完数据帧之后又把
SM2
置位。
p>
5
、简述串行口接收和发送数据的过程。
接受数据:当串口接收数据时,接受完后
< br>RI
置
1
,然后把
SBUF
中的数据传送到
A
发送数据:先把要发送的数据放到
A
中,然后移入
SBUF
,当
TI
置
1
时,说明数据发送完毕。
<
/p>
6
、简述程序状态寄存器
PSW
中各位的含义。
CY
进位标志位。
AC
辅助进位标志位
F0
标志
0 RS1
、
p>
RS0
、寄存器区选择控制位
1
和
0
OV
溢出标志位
P
奇偶标
志位
7
、
MCS-51
单片机设有
4
个
8
位并行端口,
实际使用中数据信息由哪个端口传送
16
位地址如何
形成
答:
P0
口
SBUF
中的数据
输出数据信息,同时
P0
口输出
16<
/p>
位地址中的低四位,
P2
口输出
16
位地址中的高四位。
四、软件分析和设计
(
1
)
p>
把布尔表达式
=·+
F
0
用四条指令解出来:
①
MOV C,
②
ANL C,
③
ORL C,F0
④
MOV ,C
。
(
p>
2
)填好下列程序段中的空白指令或数据
①
RL A
②
CPL
RL A
=
SWAP A
CPL
= XRL P1,18H
RL A
RL A
(
3
)试编
写一段程序
,
将内部数据存储器以
30H
开始的
16
个单元内容传送到外
部数据存储器以
1000H
开始的单元中去。
< br>
答:
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:
LOOP: MOV
R0
,
#30H
MOV DPTR,#1000H
MOV
R2
,
#16
MOV A,@R0
MOVX
@DPTR,A
INC R0
INC R1
DEC
R2
CJNE R2
,
#0
,
LOOP
END
(
4
< br>)
试编写一段程序
,
将
p>
2000H
、
2001H
< br>单元中的低半字节分别送入
2002H
单元中的高半字节
和低半字节
中。
ORG 0000H
SJMP MAIN
ORG 0030H
ANL
2001H,#0FH
3