单片机原理及应用期末考试试题
一、填空题 (每空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 MHZ ,则其相应波特率为 6×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
4.下列指令中不影响标志位CY的指令有( d )。
a)ADD A,20H b)CLR c)RRC A d)INC A
5.CPU主要的组成部部分为( a )
a)运算器、控制器 b)加法器、寄存器
c)运算器、寄存器 d)运算器、指令译码器
6.AT89S51 的CPU是( 3070和3070ti怎么选c )位的单片机
a) 16 b)4
c)8 d)准16
7.AT89S51复位后,PC与SP的值为( b )
a )0000H,00H b)0000H,07H
c) 0003H,07H d)0800H,00H
8.当需要从AT89S51单片机程序存储器取数据时,采用的指令为( b )。
a)MOV A, @R1 b)MOVC A, @A + DPTR
c)MOVX A, @ R0 d)MOVX A, @ DPTR
9.AT89S51单片机中既可位寻址又可字节寻址的单元是( a )
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
三、写出实现下列各要求的指令或程序段(本大题共5小题,29分)
1、将80H单元中的内容与数据4FH相比较,相等返回,不相等将80H单元置FFH返回。(5分)
MOV A,80H
CJNE A,# 4FH,BD
SJMP L1
BD:MOV 80H,#0FFH
L1: RET
2、外部RAM单元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
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和31H单元,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 R0
MOV 50H , @R0
CJNE A, 50H , NEXT
NEXT: JNC BIE1
MOV A, 50H
BIE1: DJNZ R7, LOOP
MOV 30H, A
RET
(1) 该程序的功能是: 求出40H—44H中最大的无符号数,并将最大数存入30H中
(3分)
(2) 设(40H)=12H, (41H)=22H , (42H)= 6EH, (43H)=5AH , (44H)= 8AH,
填写程序执行后的结果,(30H)= 8A H。(1分)
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 ,(41H)= 58H 。(每空1分)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论