单片机原理及应用期末考试试题
一、填空题(每空1分,共20分)
1 ?相对寻址是以PC的当前值为基准,加上指令中给出的相对偏移量形成目
标地址的方式。
2. AT89S51单片机的1个机器周期含有12个晶振周期或6状态周期。
3. AT89S51单片机进行扩展时,用P0 口作为地址/数据总线,用P2 口作为地址总线高8位。
4. 假定累加器A的内容30H,执行指令:1000H : MOVC A, @A+PC后,把
程序存储器1031H单元的内容送累加器A中
5. 指令格式是由操作码和操作数部分组成。
6. AT89S51单片机的串行口控制寄存器中有2个中断标志位,它们是TI 和_RI
7. 在进行BCD码加法运算时,紧跟ADD或ADDC指令后的指令必须是DA A指令
8. JNC rel指令执行时,当CY位为0 时程序发生跳转。
9. 单片机位寻址区的单元地址是从20H单元到2FH单元,若某位地址是10H ,它所在单元
的地址应该是22H _________ 。
10 .外部中断0的中断入口地址为0003H ,定时/记数器T1的中断入口地址为
001BH 。
11.串行口工作方式2为9位异步通信,若SMOD=0 ,f OSC = 6 MH z,则其相应波特率为_6
X 106/64 ___________ b/s
12?堆栈应遵循先进后出规律,堆栈指针的符号为__SP
、单项选择题(每小题1分,共20 分)
1. AT89S51单片机的( d ) 口的引脚,还具有外中断、串仃通信等第一功
能。
a) P0 b) P1 c ) P2 d)P3
2?单片机应用程序
般存放在( b )
一
a)RAM b ) ROM c )寄存器 d ) CPU
3.已知某数的BCD码为0111010101000010则其表示的十进制数值为( b )
a) 7542H b ) 7542 c ) 75.42H d ) 75.42
■ r -一匸匸亠4?下列指令中不影响标志位CY的指令有(d )。
a ) ADD A, 20H b) CLR
5. CPU主要的组成部部分为(a )
c ) RRC A
d )INC A
a )运算器、控制器b)加法器、寄存器
c)运算器、寄存器d)运算器、指令译码器
6. AT89S51的CPU是(c )位的单片机
a)16 b )4
c )8 d)准16
7. AT89S51复位后,PC与SP的值为(b )
a )OOOOH, 00H
b )0000H, 07H
c)0003H , 07H d )0800H, 00H
&当需要从AT89S51单片机程序存储器取数据时,采用的指令为( b )。
a )MOV A, @R1 b)MOVC A, @A + DPTR
c)MOVX A, @ RO d)MOVX A, @ DPTR
a) 20H b) 30H c) 00H d) 70H
10.下列哪条指令是正确的( d )
a) PUSH R2 b)ADD R0, A
c) MOVX A @DPTR d)MOV @R0, A
9. AT89S51单片机中既可位寻址又可字节寻址的单元是( a )
三、写出实现下列各要求的指令或程序段(本大题共
1、将80H单元中的内容与数据4FH相比较,相等返回,不相等将
(5分)
5小题,29分)
80H单元置FFH返回。
BD
:
L1 :
2、外部RAM单元
MOV A, 80H
CJNE A, #4FH, BD
SJMP L1
MOV 80H, #0FFH
RET
2000H的内容传送到内部RAM单元70H; ( 5分)
MOV DPTR , #2000H
MOVX A , @DPTR
MOV 70H , A
3、将32H单元中内容的第7位取反后送给50H。( 5分)
------
MOV A, 32H
CPL ACC.7
MOV C, ACC.7
MOV 50H, C
■■ 1
4、若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM的40H 41H、
42H单元中的内容各为多少?(5分)
MOV A , 50H ;(A)=40H
MOV R0 , A ;(R0)=40H
MOV A , #00H ;(A)=0
MOV @R0 A ;(40H)=0
MOV A , #3BH ;(A)=3BH
MOV 41H , A ;(41H)=3BH
MOV 42H , 41H ;(42H)=3BH
(A)= 3BH ;(R0)= 40H ;
(40H)= 0;(41H)= 3BH ;(42H)= 3BH
5、将外部数据存储器3000H开始100个存储单元的内容存入3070开始的存储单元(9分)
MOV DPTR #3000H
MOV P2,#30H
MOV R1,#70H
MOV R5,#100
L1 : MOVX A, @DPTR
MOVX@R1,A
INC R1
INC DPTR
DJNZ R5, L1
RET
四、读程序填空(本大题共4小题,共19分)
1. CLR C
MOV A ,4DH
SUBB A, ,4EH
MOV 30H ,A
MOV A ,7FH
SUBB A ,2BH
MOV 31H ,A
SJMP $
(1)该程序的功能
是:
两个16位数的减法:(7F4DH)—(2B4EH),结果存入内部
RAM勺
30H和3伯单元,31H单元存差的高8位,30H单元存差的低8位(3分)
(2)若(4DH =06H, (4EH)=05H,( 7FH) =0AH (2BH)=01H
则执行上述程序后(30H)= 01 H 。( 31H) = 09 H 。( 2分)
2. START : MOV R0 , #40H
MOV R7, #04H
MOV A, @R0 LOOP : INC RO
MOV 50H , @R0
CJNE A, 50H , NEXT NEXT : JNC BIE1
MOV A, 50H
BIE1 : DJNZ R7, LOOP MOV 30H, A
RET
⑴该程序的功能是:求出40H-44H中最大的无符号数,并将最大数存入
___________________________________________ ( 3 分)
(2) 设(40H)=12H, (41H)=22H , (42H)= 6EH, (43H)=5AH , (44H)= 8AH,
填写程序执行后的结果,(30H)= 8A H o( 1分)
五、根据题意,按要求答题。(共12分)30H中
3.已知(30H)=49H, (31H) =2BH, (32H)= 0A3H,执行以下程序:
MOV R7 ,# 4
RR0 :MOV R6 ,# 3
CLR C
MOV R0 ,# 30H
RR1: MOV A ,@R0
RRC A
MOV @R0 ,A
INC R0
DJNZ R6 ,RR1
DJNZ R7 ,RR0
RET
从该程序可看出这段程序的功能是:将内RAM中30H~32H的内容
右移4位(3 分)
执行后结果:(30H)= :04H
(31H)= 92H , (32H) = 0BAH
(3分)
4、已知(A)=58H,(30H) =7FH , (P1)=EAH,执行下列程序:
MOV SP, #40H
PUSH A
PUSH 30H
MOV A, P1
MOV 30H, A
POP 30H
POP A
执行后结果:(SP)= =40H , (A)= 58H , ( 30H) = 7FH 58H o (每空1
分)
,(41H)=
AT98S51单片机P1 口上接8只发光
二极管(高电平亮,低电平灭),
12MHz,用定时/计数器T0以工作方
式1工作,使8只发光二极管每
(1)计算定时初值,写出过程(3分)(2)根据相关注释,填写程序,(9分)
答:(1)定时初值:
(216—X )X 1 卩S = 50mS
X=216—50000
=15536
(2) MOV TMOD , #01H
MOV DPTR , #15536
MOV TH0 , DPH
MOV TL0 , DPL
MOV A, #01H
SETB TR0若晶振频率是1S单循环点
LOOP
:
MOV R7, #20
LOOP1 :MOV
JNB
P1, A
TF0 , $
CLR
MOV
TF0
TH0, DPH
MOV
DJNZ
TL0 , DPL
R7, LOOP1
RL
SJMP
A
LOOP
END
;设T0工作方式
;置定时初值50mS
;置A初值
;允许定时
;设定时次数
;从P1 口输出
;判断定时50mS到没
;定时时间到,TF0清0
;重新置定时初值50mS
;判断定时次数到没
输出左移
;继续循环输出