.WORD 完美格式.
三、判断题
1、在堆栈操作中,当栈内的数据全部弹出后,这时的SP指向栈底单元。(√ )
2、在堆栈操作中,当栈内的数据全部弹出后,这时的SP指向栈顶单元。( ×)
3、数据传送指令将改变源操作数的内容。(× )
4、调用子程序指令(如:CALL)及返回指令(如:RET)与堆栈有关但与PC无关。(×)
5、堆栈遵循数据先进后出,后进先出的原则。(√ ) 6、在MCS-51单片机中,堆栈的地址随着压栈数据从小到大递增。(√ )
7、子程序返回可以使用RET指令,也可以使用RETI指令。
(× )
8、ACALL指令是2字节指令,而LCALL指令是3字节指令。
(√ )
9、空操作指令不占机器周期。(× )
10、减法指令只有带借位的减法,没有不带借位的减法。
(√ )
11、加法指令只有带进位的加法,没有不带进位的加法。
(× )
12、不能使用无条件转移指令直接从子程序中转到主程序中去。(√ ) 四、应用题
1、说明下列指令中各个操作数的寻址方式。 (1)ADD A,30H (2)MOV 30H,20H (3)MOV A,@R0 (4)MOVX A,@R1
(5)SJMP $
(6)MOV R0,#20H (7)ORL C,00H
(8)MOV DPTR,#2000H (9)MOVC A,@A+PC (10)ANL 20H,#30H (11)ANL C,/30H
(12)CPL C (13)CPL A (14)CPL 20H
(15)ADD A,@R1 (16)MOVC A,@A+DPTR
(17)DJNZ R0, rel (18)SETB 00H
解答:
(1)解答:源操作数为:直接寻址方式:目的操作数为:寄存器寻址方式。
. 技术资料 . 专业整理. (2)解答:源操作数为:直接寻址方式;目的操作数为:直接寻址方式。
(3)解答:源操作数为:寄存器间接寻址方式;目的操作数为:寄存器方式。
(4)解答:源操作数为:寄存器间接寻址方式;目的操作数为:寄存器寻址方式。
(5)解答:操作数为:相对寻址方式。
(6)解答:源操作数为:立即寻址方式;目的操作数为:寄存器寻址方式。
(7)解答:源操作数为:位寻址方式;目的操作数为:位寻址方式。
(8)解答:源操作数为:立即寻址方式;目的操作数为:寄存器寻址方式。
(9)解答:源操作数为:变址寻址方式;目的操作数为:寄存器寻址方式。
(10)解答:源操作数为:立即寻址方式:目的操作数为:直接寻址方式。
(11)解答:源操作数为:位寻址方式;目的操作数为:位寻址方式。
(12)解答:操作数为:位寻址方式。 (13)解答:操作数为:寄存器寻址方式。 (14)解答:操作数为:位寻址方式。
(15)解答:源操作数为:寄存器间接寻址方式:目的操作数为:寄存器寻址方式。
(16)解答:源操作数为:变址寻址方式;目的操作数为:寄存器寻址方式。
(17)解答:源操作数为:相对寻址方式;目的操作数为:寄存器寻址方式。
(18)解答:操作数为:位寻址方式。 2、写出下列程序的运行结果。
(1)MOV SP,# 40H
MOV A,#20H MOV B,#30H
PUSH A PUSH B POP A POP B
(SP)=? (A)=? (B)=?
解答:(SP)=40H,(A)=30H,(B)=20H (2)MOV SP,#40H MOV A,#20H MOV B,#30H
PUSH A PUSH B POP B POP A
.WORD 完美格式.
(SP)=? (A)=? (B)=? 解答:(SP)=40H , (A)=20H,(B)=30H (3)MOV R0,#7EH MOV DPTR.#10FEH MOV 7EH,#0AAH MOV 7FH.#0BBH
INC @R0 INC R0 INC @R0 INC DPTR
(7EH)=? (7FH)=? (R0)=? ((R0))=? (DPTR)=? 解答:(7EH)=0ABH , (7FH)=0BCH,(R0)=7FH , ((R0))=0BCH, (DPTR)=10FFH (4)MOV R0,#00H MOV A,#20H MOV B,#0FFH MOV 20H,#0F0H XCH A,R0
XCH A, B XCH A, @R0
(A)=? (B)=? (20H)=? (R0)=?
解答:(A)=F0H (B)=00H (20H)=FFH (R0)=20H 3、在设A=0FH,R0=30H,内部RAM的(30H)=0AH、(31H)=0BH、(32H)=0CH,请指出在执行下列程序段后上述各单元内容的变化。
MOV A,@R0 MOV @R0,32H MOV 32H,A MOV R0,#31H MOV A,@R0
解答:R0=31H, A=0BH , (30H)=0CH、(31H)=0BH、(32H)
=0AH
4、请用数据传送指令来实现下列要求的数据传送。
(1) R0的内容输出到R1
解答:MOV A,R0 MOV R1,A
(2) 内部RAM20H单元的内容传送到A中。
解答:MOV A,20H
(3) 外部RAM30H单元的内容送到R0。
解答:MOV R0,#30H MOVX A,@R0 MOV R0,A
(4) 外部RAM30H单元的内容送内部RAM20H单元。
解答:MOV R1,#30H MOVX A,@R1 MOV 20H,A
. 技术资料 . 专业整理. (5) 外部RAM1000H单元的内容送内部RAM20H单元。
解答:MOV DPTR,#1000H MOVX A,@DPTR MOV 20H,A
(6) 程序存储器ROM2000H单元的内容送R1。
解答:MOV DPTR,#2000H CLR A
MOVC A,@A+DPTR MOV R1,A
(7) ROM2000H单元的内容送到内部RAM20H单元。
解答:MOV DPTR,#2000H CLR A
MOVC A,@A+DPTR MOV 20H,A (8) ROM2000H单元的内容送外部RAM30H单元。 解答:MOV DPTR,#2000H CLR A
MOVC A,@A+DPTR MOV R0,#30H MOVX @R0,A
(9) ROM2000H单元的内容送外部RAM1000H单元。
解答:MOV DPTR,#2000H CLR A
MOVC A,@A+DPTR MOV DPTR,#1000H MOVX @DPTR,A
5、设A=5AH,R1=30H,(30H)=E0H,Cy=1。分析下列各指令执行后A的内容以及对标志位的影响(每条指令都以题中规定的原始数据参加操作)。
(1)XCH A,R1 ;A=30H (2)XCH A,30H ;A=E0H (3)XCH A,@R1 ;A=E0H (4)XCHD A,@R1 ;A=50H
(5)SWAP A ;A=A5H (6)ADD A,R1 ;A=8AH (7)ADD A,30H ;A=30H (8)ADD A,#30H ;A=8AH (9)ADDC A,30H ;A=31H (10)INC A ;A=5BH (11)SUBB A,30H ;A=79H (12)SUBB A,#30H ;A=29H (13)DEC A ;A=59H (14)RL A ;A=B2H (15)RLC A ;A=B5H
.WORD 完美格式.
(16)CPL A ;A=A5H (17)CLR A ;A=00H (18)ANL A,30H ;A=40H (19)ORL A,@R1 ;A=FAH (20)CRL A,#30H ;A=BAH 五、问答题 1、在MCS-51单片机中有几种寻址方式?写出每一种寻址方式。 解答:有7种寻址方式,分别是立即寻址方式、直接寻址方式、寄存器寻址方式、寄存器间接寻址方式、变址寻址方式、相对寻址方式和位寻址方式。 2.什么是堆栈?
解答:堆栈是一个特殊的存储空间,有一端是固定的,称为栈底,另一端是活动的,称为栈项,数据的存取是在栈顶进行的。数据的存取遵循先进后出,后进先出的原则。 3.在MCS-51单片机的指令系统中,有关堆栈操作的指令有哪些?
解答:PUSH和POP指令。
4.已知CJNE指令的一般格式为:
CJNE 操作数l,操作数2.rel
简述怎样使用CJNE指令判断两个操作数的大小。
解答:若操作数1≥操作数2,则进位标志C=0,否则C=1 5.写出AJMP和LJMP指令的共同点和区别。 解答:共同点是都是无条件转移,转到指定的标号执行程序。 区别:
(1)转移范围不同,LJMP指令的转移范围为KB,AJMP指令的转移范围为2KB。
(2)指令字节数不同,LJMP指令是3字节指令,AJMP指令是2字节指令。
(3)AJMP指令的机器码特殊。
6.写出ACALL和LCALL指令的共同点和区别。
解答:共同点是都是调用子程序指令,转到指定的标号执行子程序。 区别:
(1)转移范围不同,LCALL指令的调用范围为KB,ACALL指令的调用范围为2KB。 (2)指令字节数不同,LCALL指令是3字节指令,ACALL指令是2字节指令。
(3)ACALL指令的机器码特殊。 7.RET和RETI指令主要有哪些区别?
解答:
区别:
(1)使用场合不同,RET指令在子程序中使用,RETI指令在中断服务程序中使用。
(2)从功能上看,RET指令从堆栈中自动取出断点地址给PC,使之返回到调用指令的下一个指令,继续执行主程序。而RETI指令除了具有RET指令的功能之外,还有清除中断响应时被
. 技术资料 . 专业整理. 设置的优先级状态、开放低级中断以及恢复中断逻辑等功能。
8.NOP指令的用途是什么?
解答:常常用于程序的等待或时间的延迟。
测试题二
练习1:将内部RAM单元中20H单元到2FH单元的数传到外部RAM中的2000H到200FH单元中.
ORG 0000H MOV R0,#20H MOV DPTR,#2000H MOV R2,#10H
LOOP: MOV A,@R0 MOVX @DPTR,A INC R0 INC DPTR
DJNZ R2,LOOP END
练习2:外部RAM3000H 开始有 50个数传送到内部RAM 30H开始的区域
;算法分析:取地址指针DPTR=3000H、 R0=30H、计数器R7=50
ORG 0000H
MOV DPTR,#3000H MOV R0,#30H MOV R7,#32H LOOP: MOVX A,@DPTR MOV @R0,A INC DPTR INC R0
DJNZ R7,LOOP; END
练习3:设在外ROM的TAB处开始有一串数字,该串数字以0结尾,编程把他们从P1口输出。 ORG 0000H
MOV DPTR,#TAB ;设字符串首地址指针 MOV A,#00H SOUT: MOV B,A
MOVC A,@A+DPTR ;取字符 JZ NEXT ;整串结束则转跳 MOV P1,A MOV A,B
INC A ;修改地址指针
.WORD 完美格式.
SJMP SOUT ;没结束继续取数发送
NEXT: SJMP $ ;结束处理
TAB: DB 04H,05H ;定义数字串 DB 03,07H,0FH,00H ;以0结尾 END
练习4:2ms延时程序,已知晶振频率为12MHZ,则机器周期为1us。
ORG 0
DELAY2ms: MOV R7,#10 ;1T
DL1: MOV R6,#48 ;1T
DL2: NOP ;1T NOP ;1T DJNZ R6,DL2 ;2T DJNZ R7,DL1 ;2T END
;该段程序耗时为: 1+[1+(1+1+2)×48+2]×10+2 = 1953 (us)
练习5:编程通过P1.0线连续输出256个宽度为5个机器周期长的方波。 ORG 0
MOV R0,#00H CLR P1.0
LOOP: CPL P1.0 NOP NOP
DJNZ R0,LOOP END
练习6 :将8051内部RAM的40H ~ 4FH单元置初值#A0H ~ #AFH。 ORG 0
MOV R0,#40H
MOV R2,#10H MOV A,#0A0H LOOP: MOV @R0,A INC R0 INC A
DJNZ R2,LOOP END
练习7:设P1口的P1.0 ~ P1.3为准备就绪信号输入端,当该四位为全1时,说明各项工作已准备好,单片机可顺序执行(将R2里的数送给A),否则,循环等待。 ORG 0
WAIT: MOV P1,#0FFH MOV A,P1 . 技术资料 . 专业整理. ANL A,#0FH
CJNE A,#0FH,WAIT ;P1.0 ~ P1.3不为全1时,返 回WAIT
MOV A,R2 END
测试题三
一、单项选择题 1、CPU主要的组成部部分为: [ A ]
(A)运算器.控制器 (B)加法器.寄存器
(C)运算器.寄存器 (D)运算器.指令译码器
2 .MCS — 51 系列单片机外扩存储器芯片时, 4 个 I/O 口中作为数据总线的是[ B ]。(A) P0 口和 P2 口 (B) P0 口 (C) P2 口和 P3 口 (D) P2 口
3、单片机应用程序一般存放在: [ B ]
(A)RAM (B)ROM (C)寄存器
4.下列指令中,不影响堆栈指针的指令是 [ B ]。
A RET B JB bit,rel
.WORD 完美格式.
C LCALL 13、当晶振频率是12MHz时,MCS—51单片机的机器周期是:addr16 D RETI 5、在程序状态寄存器PSW中,判断是否有借/进位的标志位是 [ A ]若选择寄存器工作组时标识位应是 [ C ]
(A)CY (B)AC (C)RS1和RS0 (D)OV (E)P
6、以下指令中,哪条指令执行后使标志位CY清0 : [ D ] (A)MOV A,#00H (B)CLR A (C)ADD A,#00H (D)ADDC A,#00H
7.在 CPU 内部,反映程序运行状态或反映运算结果一些特征的寄存器是 [ B ]。
A .PC B.PSW C.A D.SP
8、下面那一段程序能准确地读取P1口引脚信号: [ B ] (A)MOV A,#00H ;MOV P1,A ;MOV A,P1 (B)MOV A,#0FFH ;MOV P1,A ;MOV A,P1 (C)MOV A,#00H ;MOV A,P1 (D)MOV A,#0FFH ;MOV A,P1
9、8031单片机中既可位寻址又可字节寻址的单元是 [ A ]
(A)20H (B)30H (C)00H (D)70H
10、定时/计数器有4种操作模式,它们由下列哪个寄存器中的M1和M0状态决定。[B ]
(A)TCON (B)TMOD (C)PCON (D)SCON
11、定时器/计数器工作于模式2 ,在计数溢出时,计数器工作于下列哪个状态。[ B ]
(A)计数从零重新开始 (B)计数从初值重新开始 (C)计数停止 (D)计数从0FFH重新开始
12、T0 设置成计数方式时,外部引脚计数脉冲的最高频率应是晶振频率的:[ C ]
(A)1/6 (B)1/12 (C)1/24 (D)1/48 . 技术资料 . 专业整理. [ A ]
(A)1μs (B)1ms (C)2μs (D)2ms
14、外部中断INT0的触发方式控制位IT0置1后,其有效的中断触发信号是: [ D ]
(A)高电平 (B)低电平 (C)上升沿 (D)下降沿
15、外部中断 INT0 的中断入口地址是: [ A ] (A)0003H (B)000BH (C)0013H (D)001BH
16、8051单片机共有几个个定时器。 [ B ]
(A)1 (B)2 (C)3 (D)4 17、8051单片机共有几个中断源。 [ B ]
(A)4 (B)5 (C)6 (D)7
18.定时器T1的中断入口地址是[ C ],从该地址开始一般可 [ E ]。
A 0003H B 000BH C 001BH D 0013H
E 连续存放中断服务程序 F 存放转移指令 19.MCS-51系列单片机外扩存储器芯片时,4个I/O 口中作为数据总线的是 [ B ] A.P0 口和 P2 口 B. P0 口 C.P2 口和 P3 口 D.P2 口
20.单片机上电复位后,PC的内容和SP的内容为 [ B ] A.0000H,00H B.0000H,07H C.0003H,07H D.0800H,08H
21.MCS—51单片机的数据指针DPTR是一个16位的专用地址指针寄存器,主要用来 [ B ]
A.存放指令 B.存放16位地址,作间址寄存器使用
C.存放下一条指令地址 D.存放上一条指令地址 22.扩展存储器时要加锁存器373,其作用是( A )。 A 锁存寻址单元的低八位地址 B 锁存寻址单元的数据
C 锁存寻址单元的高八位地址 D 锁存相关的控制和选
.WORD 完美格式.
择信号
23.单片机的堆栈指针SP始终是指示 [ B ]
A.堆栈底 B.堆栈顶 C.堆栈地址 D.堆栈中间位置
24 .单片机复位后, SP 、 PC 、 I/O 口的内容为( C ) A .SP = 07H PC = 00H P0 = P1 = P2 = P3 = FFH
B .SP = 00H PC = 0000H P0 = P1 = P2 = P3 = 00H
C .SP = 07H PC = 0000H P0 = P1 = P2 = P3 = FFH D .SP = 00H PC = 00H P0 = P1 = P2 = P3 = 00H
25.8031 单片机若晶振频率为fosc=6MHz,则一个机器周期等于 [ D ]
A.1/12µS B.1/2µS C.1µS D.2µS
26.8051单片机中,唯一一个用户可使用的16位寄存器是 [ D ]
A.PSW B.ACC C.SP D.DPTR
27 .当单片机从 8155 接口芯片内部 RAM 的 20H 单元中读取某一数据时,应使用[ A ]类指令。
A.MOV A,20H B.MOVX A ,@Ri
C.MOVC A ,@A+DPTR D.MOVX A,@DPTR 21.访问外部存贮器或其它接口芯片时,作高8位地址线的是 [ C ] A.P0口 B.P1口 C.P2口 D.P0口 和 P2口 28.单片机复位后,累加器A、PC、PSW的内容为( B ) A.A = FFH PC = 00H PSW = FFH B.A = 00H PC = 0000H PSW = 00H C.A = 07H PC = 0000H PSW = FFH D.A = 00H PC = 00H PSW = 00H
29.当程序状态字寄存器PSW状态字中RS1和RS0分别为0和1时,系统现用的工作寄存器的地址空间为 [ B ] A.00H~07H B.08H~0FH C.10H~17H D.18H~7FH . 技术资料 . 专业整理. 30.8031定时/计数器是否计满可采用等待中断的方法进行处理,也可通过对[ C ]的查询方法进行判断。 A.OV标志 B.CY标志 C.中断标志 D.奇偶标志
32.下面那一段程序能准确地读取P1口引脚信号: [ B ]
A.MOV A,#00H ;MOV P1,A ;MOV A,P1 B.MOV A,#0FFH ;MOV P1,A ;MOV A,P1 C.MOV A,#00H ;MOV A,P1 D.MOV A,#0FFH ;MOV A,P1
33.指令MOV R0,#99H执行前(R0)=30H,(99H)=38H,执行后(R0)= [ C ]
A.38H B.30H C.99H D.20H
34.能访问外部数据存贮器的传送指令是 [ C ] A.MOV 指令 B.MOVC 指令 C.MOVX 指令 D.XCH 35.在五个中断源中,可通过软件确定各中断源中断级别的高或低,但在同一级别中,按硬件排队的优先级别最高的是[ C ]中断。 A.定时器T0 B.定时器T1 C.外部中断INTO
D.外部中断INT1 E.串行口 36.用8051的定时器T1作定时方式,用模式1,则工作方式控制字为 [ C ]
A.01H B.05H C.10H D.50H
37单片机在与外部I/O口进行数据传送时将使用( A )指令。
A MOVX B MOV C MOVC D 视具体I/O口器件而定。
38.启动定时器0开始计数的指令是使TCON的 [ B ]
A.TF0位置1 B.TR0位置1 C.TR0位置0 D.TR1位置0
39 . 8031 定时 / 计数器共有四种操作模式,由 TMOD 寄存器中 M1 M0 的状态决定,当 M1 M0 的状态为 01 时,定时 / 计数器被设定为 [ B ] A.13 位定时 / 计数器 B.16 位定时 / 计数器 C.自动重装8位定时/计数器 D.T0为2个的8位定时/计数器,T1停止工作
.WORD 完美格式.
40.MCS—51单片机在同一级别里除INT0外,级别最高的中断源是 [ B ]
A.外部中断1 B.定时器T0 C.定时器T1 D.串行口
41、在中断服务程序中,至少应该有一条 [ D ]。
A、传送指令B、转移指令 C、加法指令 D、中断返回指令
42.一个EPROM的地址有A0----A11引脚,它的容量为 [ ]
A.2KB B.4KB C.11KB D.12KB
43.在运用8031单片机扩展32K数据存储器RAM时,需采用[ ]条地址线,其中P2口用[ ]条线。 A. 10 B.13 C.15 D.5 E.6 F.7 44.当单片机启动ADC0809进行模/数转换时,应采用[ ]指令。 A. MOV A,20 B.MOVX A,@DPTR C. MOVC A,@A+DPTR D.MOVX @DPTR,A
45.扩展程序存储器27时,需要( )条P2口线。
A 13 B 5 C 8 D 4
46、某存储器芯片地址线为12根,那么它的存储容量为[ ]。 A、1KB B、2KB C、4KB D、8KB
47、8051单片机共有[ 5 ]个中断优先级 A、2 B、3 C 、4 D、5
48.在中断允许寄存器中,中断控制寄存器EA位的作用是 [ A ]
A CPU总中断允许控制位 B 中断请求总标志位
C 各中断源允许控制位 D 串行口中断允许位
49、要访问MCS-51的特殊功能寄存器应使用的寻址方式是 [ C ]
A、寄存器间接寻址 B、变址寻址 C、直接寻址 D相对寻址
50、MOV C,#00H指令中目的操作数的寻址方式是 [A ]。 . 技术资料 . 专业整理. A、位寻址 B、直接寻址 C、立即寻
址 D、寄存器寻址
51.串行口的工作方式由[ C ]寄存器决定。A SBUF B PCON C SCON D RI
51.串行口中断入口地址是( B )
A: 000BH B: 0023H C:1000H D:0013H
52、8051的程序计数器PC为16位计数器,其寻址范围是 [ ] A、8K B、16K C 、32K D、K
53、8051单片机中,唯一一个用户不能直接使用的寄存器是[ ]
A、PSW B、DPTR C 、PC D、B
54、执行如下三条指令后,30H单元的内容是 [ ] MOV R1,#30H MOV 40H,#0EH
MOV ﹫R1,40H A、40H B、30H C 、0EH D、FFH
55、有如下程序段:
MOV R0,#30H SETB C CLR A
ADDC A,#00H MOV ﹫R0,A
执行结果是 [ ] A、(30H)=00H B、(30H)=01H C 、(00H)=00H D、(00H)=01H
56.8051定时计数器1的启/停应由[ ]位控制。
A、TH1 B、TL1 C\\、TI D、TR1 57.以下[ ]指令是非法指令。 A、MOVX A,@R0 B、MOVC A,@A+PC C、MOV @DPTR,A D、DEC R0 59.SFR的地址范围是 [ D
.WORD 完美格式.
]。
A、外部00-FFH B、外部80-FFH C、内部00-FFH D、内部80-FFH 二、填空题
1.在进行BCD码加法运算时,紧跟ADD 或 ADDC 指令后的指令必须是 指令。
2.寄存器PSW中的RS1和RS0的作用是 选择工作寄存器组 。 3.在只使用外部程序存储器时,单片机的 31 管脚必须接地。
4.JC,rel指令执行时,当CY位为 1 时程序发生跳转。
5. MCS-51 单片机系列有 5 个中断源,可分为 5 个优先级。上电复位时 外部中断0 中断源的优先级别最高。
6.中断源的优先级别被分为高级和低级两大级别,各中断源的中断请求是属于什么级别是由 寄存器的内容决确定的。
7.80C51单片机基本型内部RAM有 128 个字节单元,这些单元可以分为三个用途不同的区域,一是 ____ ___,二是___ ____区,三是__ __区。
8.中断源的允许是由 寄存器决定的,中断源的优先级别是由 寄存器决定的。
9..当 P1 口做输入口输入数据时,必须先向该端口的锁存器写入 ,否则输入数据可能出错。 10. LED 数码显示有 和 两种显示形式。
11.定时/计数器的方式寄存器TMOD中的M1M0若为01表明定时/计数器工作在方式_______,是_______位的计数器。 12.在单片机扩展时, 口和 口为地址线, 口为数据线。
13. MCS-51可分为六种不同的寻址方式。如:MOVC A,@A+PC属于 寻址方式,MOV A,@R1属于 寻址方式。 14. 单片机位寻址区的单元地址是从 单元到 单元,若某位地址是 09H ,它所在单元的地址应该是 。
15 .当单片机 CPU 响应中断后,程序将自动转移到该中断源所对应的入口地址处,并从该地址开始继续执行程序,通常在该地址处存放转移指令以便转移到中断服务程 . 技术资料 . 专业整理. 序。其中INT0 的入口地址为 , T1 的 入口地址为 。 16.MCS—51单片机定时器T0的溢出标志TF0,若计满数产生溢出时,其值为__ ____。
17. 转移指令 LCALL addr16 的转移范围是 , JNB rel 的转移范围是 ,调用指令 AJMP addr11 的调用范围是 。
18. 若某8位D/A转换器的输出满刻度电压为+5V,则D/A转换器的分辨率为 。 19.子程序的返回指令是 。 20.MCS-51单片机的内部RAM中从 到 是工作寄存器区,共分为 组。 21.单片机有两个定时器,定时器的工作方式由 寄存器决定,定时器的启动与溢出由 寄存器控制。
22.既做数据线又做地址线的是 口,只能做地址线的是 口。 三、程序分析题
1、假定(SP)=60H,(A)=30H,(B)=70H,执行下列指令后,SP的内容为 ;61H单元的内容为 ;62H单元的内容为 。 PUSH A PUSH B
2、阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?
MOV R1,#32H ; (R 1 )=
MOV A,#78H ; (A)= ADD A,#69H ; (A)= ,(CY)= ,(AC)=
DA A ; (A)= ,(CY)= ,(AC)= MOV @R1,A ; (R 1 )= ,(32H)= 3、假定(A)=0FFH,(R3)=0FH,(30H)=0F0H,(R0)=40H,(40H)=00H,执行了下指令后,A的内容为 ;R3的内容为 ;30H的内容为 ;40H的内容为 。 INC A INC R3
.WORD 完美格式.
INC 30H INC @R0
4、执行下列程序段后,20H单元的内容是_______。 MOV SP,#42H MOV A,#80H PUSH ACC POP 20H
5、已知下程序已全部执行完毕,请在注释里面填写下程序的执行结果。
式: (A)
=
(2)MOV A,R1 ; 寻址方式: (A)=
(3)ANL A,@R1 ; 寻址方式: (A)= 12、如果(DPTR)=5678H,(SP)=42H,(3FH)=12H ,(40H)=34H, MOV A,#10H; (A)= MOV B,A ; (B)= . MOV PSW,A; (PSW)= . 6、设(A)=83H,(R0)=17H,(17)=34H,分析当执行完下段指令后A的内容是什么? 给出分析过程中每条指令执行完后A的结果
ANL A,#17H
ORL 17H,A
XRL A,@R0
CPL A 7、如果(A)=34H,(R7)=0ABH,执行XCH A, R7;结果(A)= ,(R7)= 。
8、如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后: POP DPH; POP DPL; POP SP; 则:(DPH)= ___ ___;(DPL)=_____ _____;(SP)=_____ ____; 9、设(R1)=3FH,(3FH)=11H,(40H)=00H, 执行下列指令组后,
INC R1
INC @R1 (R1)=_______,(3FH)=______,(40H)=_________, 10.如果(A)=58H,(R1)= 49H,(49H)= 79H,执行指令XCH A, @R1后;结果(A)= ,(49H)= 。
11.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?设(60H)=30H,(A)=29H,(30H)=0FH,(R1)=60H。
(1)ADD A,#48H ;寻址方 . 技术资料 . 专业整理. (41H)=50H,(42H)=80H,则执行下列指令后: POP DPH POP DPL RET
则:(PCH) =__ __;(PCL)=___ ___ ;(DPH)=__ __;(DPL)=___ __; 13..设(A)=83H,(R0)=17H,(17)=34H,分析当执行完下段指令后A的内容是什么? 给出分析过程中每条指令执行完后A的结果
ANL A,#17H
ORL 17H,A
XRL A,@R0
CPL A
14、该程序是信号灯控制程序,采用 P1 口控制八个发光二极管的亮与灭(设输出低电平时,对应发光二极管被点亮)。
ORG 0000H
AJMP MAIN ;转主程序
ORG 001BH ;该地址是 的地址 AJMP CONT ;当出现 时,才会执行到该指令
ORG 0100H
.WORD 完美格式.
;
MAIN : MOV TMOD , #10H ;执行该指令的目的是
MOV TH1 , #3CH ;置 50ms 定时初值 MOV TL1 , #0B0H ;此时堆栈指针 SP 的内容是
SETB EA ;执行该指令前, EA 的初始值是
SETB ET1 ;定时器 T1 开中断
SETB TR1 ;执行该指令的目的是 CLR 08H ;清 1s 计满标志位
MOV R3 , #14H ;置 50ms 循环初值 DISP :MOV R2 , 07H
MOV A , #0FEH
NEXT : MOV P1 , A ;第 2 次执行完该指令后,对应 灯被点亮
JNB 08H , $ ;查询 1s 时间到否
CLR 08H ;清标志位
RL A DJNZ R2 , NEXT MOV R2 , #07H NEXT1: MOV P1 , A
JNB 08H , $ CLR 08H RR A
DJNZ R2 , NEXT1 SJMP DISP
CONT : MOV TH1 , #3CH ;程序执行到此处时,堆栈指针 SP 的内容是 MOV TL1 , #0B0H ;
DJNZ R3 , EXIT ;判 1s 定时到否
MOV R3 , #14H . 技术资料 . 专业整理. ;重置 50ms 循环初值
SETB 08H ;标志位置 1
EXIT : RETI ;该指令的功能是将 送至 PC
连续运行该程序时,观察二极管的变化规律是 15、分析下列程序的功能 PUSH ACC
PUSH B POP ACC POP B 16、在8051片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H。请分析下面各是什么指令,说明源操作数的寻址方式以及按顺序执行每条指令后的结果。 解:MOV A,40H;
MOV R0,A; MOV P1,#0F0H; MOV @R0,30H;
MOV DPTR,#3848H; MOV 40H,38H; MOV R0,30H; MOV P0,R0; MOV 18H,#30H; MOV A,@R0; MOV P2,P1;
17、设R0的内容为32H,A的内容为48H,片内RAM的32H单元的内容为80H,40H单元的内容为08H,请指出在执行下列程序段后上述各单元内容的变化。 MOV A,@R0 MOV @R0,40H MOV 40H,A MOV R0,#35H
18.分析下面的程序段,写出程序执行后的结果(即相关寄存器和相关RAM单元的内容)。 MOV R0,#00H MOV R7,#10H MOV A,#50H
LOOP: INC R0
MOV @R0,A INC A
DJNZ R7,LOOP LOOP1:AJMP LOOP1
19、写出以下程序段运行后,相关寄存器的内容。 MOV A,#50H
.WORD 完美格式.
SETB ACC.1 MOV R2,A ANL A,#0FH MOV R3,A XRL A,#0F0H MOV R4,A CPL A
PP:LJMP PP 四、简答题
6.编写一个程序,把片外RAM从2000H开始存放的8个数传送到片内30H开始的单元中。 7、写出利用定时计数器T1在P1.0引脚上产生频率为10KHz方波的程序段(假设晶振频率为12MHz,要求工作方式采用模式2)。
8、设定:采用定时器T0产生50Hz的方波,由P1.0输出此方波(设时钟频率为12MHz)。
试确定其初值、允许中断、采用定时方式而且在工作方式1。1、说明MCS-51的外部引脚 的作用?
2、8051单片机使用的时钟晶振频率一般有哪些?试列出2种。
3、8051内部RAM分为哪四个部分?
4、堆栈的内容由哪个寄存器的内容确定,对堆栈进行操作时有什么样的规律?
5、MCS-51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?
6、80C51单片机有哪几种寻址方式?分别举例说明。
7、内部RAM低128B从功能和用途方面,可划分为哪三个区域?
8、开机时8051使用哪个工作寄存器组?如何确定和改变当前工作寄存器组?
9、写出MCS-51的所有中断源,并给出中断入口地址
10、已知 MCS51 单片机系统外接晶体振荡器频率为 6MHZ ,计算:
(1)单片机系统的时钟周期、状态周期、机器周期所对应的时间是多少?
(2)指令周期中的单字节双周期指令的执行时间是多少? 11、MCS-51采用12MHz的晶振,定时1ms,如用定时器方式1时的初值(16进制数)应为多少?(写出计算过程) 12、单片机包含哪些主要的逻辑部件?
13、8051的存储器分哪几个空间?如何区别不同空间的寻址?
14、简述8051片内RAM的空间分配。
五、程序设计题
1、试将片内RAM10H~60H单元清0。
2、请给出用定时器0工作方式1实现5ms延时的初始化程序(假设延时采用查询方式)。
3、使用定时/计数器0以工作方式2实现定时,在P1.0输出周期为200μs的连续方波。已知晶振频率fosc=6MH。求计数初值,方式控制字,编制相应程序(查询方式),要有注释。 4、将8031单片机片外RAM 1000H~1030H单元中的数据顺序传送到片内RAM 从30H开始的地址单元中。
5、 请编程实现:将外部RAM8000H开始的50个单元内容清零,
. 技术资料 . 专业整理. 最后再用位操作指令启动定时器。要有注释。 9、 试用位操作指令编制一个初始化程序。
设定:外部中断源 为下降沿触发的低优先级中断源。要有注释。
10、已知8051单片机的fosc = 6MHZ,请利用T0和P1.0输出矩形波,矩形波高电平宽50us,低电平宽度为300us。
因篇幅问题不能全部显示,请点此查看更多更全内容