《微机原理及应用》(A卷)
此试题是上次考试题目,禁止将此试题原本打印带进考场!!!
一、单项选择题:(每小题1分,共10分) 1. 十进制数102转换为十六进制为 C 。 A 64H B 65H C 66H D 67H
2. 十进制数52用8421BCD码表示为 B 。 A 32H B 34H C 50H D 52H
3. MCS-51单片机复位以后堆栈指针SP的内容是 B 。 A 00H B 07H C 80H D FFH
4. MCS-51单片机的位寻址区位于内部RAM的哪个范围 B 。 A 00H~1FH B 20H~2FH C 30H~7FH D 0000H~FFFFH
5. 指令“ADD A,R2”中,源操作数的寻址方式是 A 。 A 寄存器寻址, B 直接寻址, C 寄存器间接寻址, D 立即寻址
6. 指令“MOV 30H,#20H”中,源操作数的寻址方式是 D 。 A 寄存器寻址, B 直接寻址, C 寄存器间接寻址, D 立即寻址
7. 指令“DEC 30H”的寻址方式是 B 。
A 寄存器寻址, B 直接寻址, C 寄存器间接寻址, D 立即寻址
8. 设(SP)=30H,(PSW)=80H,则执行“PUSH PSW”指令以后堆栈指针SP的内容是 B。
A 30H B 31H C 40H D 41H
9. 汇编语言程序中表示汇编结束的伪指令是 D 。 A DB, B EQU, C ORG, D END
10.如果8051采用12MHZ的石英晶体振荡器,则具有一个机器周期的指令的执行时间 B A 0.5μs B 1μs C 2μs D 4μs
二、阅读程序并回答问题(15分)。
ORG 3000H
MOV R0, #60H
MOV R1, #70H MOV R2, #10H LOOP: MOV A, @R0 CJNE A, #24H, LOOP1 ;24H为“$”的ASCII码 LOOP2: MOV A, #20H ;20H为“空格”的ASCII码 LOOP1: MOV @R1, A INC R0
INC R1 DJNZ R2, LOOP HERE: SJMP HERE 1) 该程序功能是:
数据传送:把内部RAM60H开始的16个数据传送到70H开始的单元,遇到“$”换成“空格” 2) 程序第一次执行到标号LOOP时,(R0)= 60 H (R1)= 70 H (R2)= 10 H 3) 程序执行到标号LOOP2时,(A)= 24 H
三、阅读程序并回答问题(20分)。
ORG 2000H
MOV R0, #50H MOV R1, #16 MOV R2, #0 LOOP: MOV A, @R0 CJNE A, #30H, NEXT ;32H为“0”的ASCII码 INC R2 NEXT: INC R0 DJNZ R1, LOOP HERE: SJMP HERE END
1) 源程序中用到了哪些伪指令? ORG 2) 该程序功能是:
用R2统计内部RAM50H开始的16个单元中有多少个字符“0”。 3) 程序第一次执行到标号LOOP时,(R0)= 50 H (R1)= 10 H (R2)= 00 H 4) 程序执行结束时,(R0)= 60 H (R1)= 00 H
四、程序设计(35分):
1.已知被加数从内部RAM 50H单元开始,4个字节,其中50H单元为低位,加数从60H单元开始,长度为4个字节,其中60H单元为低位,编一个程序实现多字节加法运算,要求把运算结果放回到50H单元开始的存储区,其中50H单元为低位字节。(15分)
MOV R0, #50H
MOV R1, #60H MOV R2, #4 CLR C
LOOP: MOV A, @R0 ADDC A, @R1 MOV @R0, A INC R0 INC R1 DJNZ R2, LOOP HERE: SJMP HERE
2. 编写程序,将内部RAM 30H单元开始的10个无符号数累加,结果存入R2、R3(低字节)中,要求程序从程序存储器2000H单元开始。(20分) ORG 2000H
MOV R0, #30H MOV R2, #00H MOV R3, #00H MOV R7, #10
NEXT: MOV A, @R0
ADD A , R3 MOV R3, A MOV A, R2 ADDC A, #00H MOV R2, A INC R0
DJNZ R7, NEXT SJMP $
五、接口应用题(20分)。
应用定时器T0的模式1进行1ms定时,以中断方式使P1.0输出周期为2ms的方波。已知晶振频率fosc为12MHZ。
(1)求计数个数、计数初值(十进制形式)
(2)求TH0初值、TL0初值(十进制形式或十六进制形式) (3)编写应用程序
答案:略,计算方法详见应用举例例题
相关推荐: