JC NEXT ;若小,则恢复原值 MOV A,@R1 SJMP NEXT1
NEXT: ADD A,@R1
NEXT1: INC R1 ;若大,则取下个数比较 DJNZ : DJNZ R2,LOOP
MOV MN ,A ;存最小数 SJMP $
(2)确定好数据块的起始地址和长度,并在相应的内部RAM单元存入数据,同时作好记录。 (3)单步或断点运行程序,注意循环次数是否等于数据块长度。 (4)观察PC,A和计数单元的变化并作好记录。
(5)验证运行结果。
《单片机原理与应用》试题012 一、填空题(共20分,每题4分)
1、开启微机电源,在软件所在目录键入MD51命令,选择对应串口号,进入集成操作软件环境,如果光标不响应回车命令,按 键即可。 2、对源文件汇编无误后,自动生成相应的 文件。 3、用 命令来连续运行程序。
4、外部RAM与 累加器A间数据传送,使用 指令。 5、两寄存器交换数据,使用 命令。 二、程序分析题(共20分,每题10分)
1、(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(4BH)=20H MOV A,@R0 ;7FH?A MOV @R0,40,40H ;20H?4BH MOV 40H,A ;7FH?40H MOV R0,#35H
问执行和程序后,R0、A和4BH、40H单元内容的变化如何?
2、设(R0)=7EH,DPTR=10FEH,片内RAM 7FH和7FH两单元的内容分别是FFH和38H,请写出下列程序段的每条指令的执行结果。
INC @R0 INC R0 INC @R0
INC DPTR INC DPTR INC DPTR 三、编程题(共60分,每题30分)
1、 比较存放在ONE,TWO,TRE三个单元的无符号数,并将小数存放在20H单元中。
(1) 输入程序 参考程序 MOV A,ONE CJNE A,TWO,RR RR: JC SS
MOV A,TWO CJNE A,TRE,TT TT: JC WW
SJMP UU SS: CJNE A,TRE,VV VV: JC WW UU: MOV A,TRE WW: MOV 20H,A
(2) 在ONE,TWO,和TRE三个内部RAM
(3) 单步运行,注意PC变化情况,同时检查Cy (4) 检查20H单元的内容,检验是否为最小值 (5) 修改ONE
2、 设在单片机内部RAM中从STR单元开始存放有一数据块,该数据块以#00H结束,试统计其中为#0FFH的单元个数并存入NUM单元。
(1)输入所编程序。
COUNT: CLR A ;清计数单元 MOV R0,#STR ;置地址指针
LOOP: CJNE #0FFH,LOOP1;数据为#0FFH则计数单元加1 INC A LOOP1: INC R0
CJNE @R0,#000H,LOOP;数据块取完? MOV NUM A ;存统计结果
SJMP $
(2)确定好数据块的起始地址,同时在相应的内部RAM单元建立好数据块(此数据块以#00H结束,并使其中若干个单元的内容为#0FFH),同时作好记录。
(3)单步或断点运行程序,注意循环跳出循环时刻。 (4)观察并记录PC,A和计数单元的变化情况。 (5)验证运行结果。
《单片机原理与应用》试题012答案
一、 填空题(共20分,每题4分)
1、开启微机电源,在软件所在目录键入MD51命令,选择对应串口号,进入集成操作软件环境,如果光标不响应回车命令,按 复位键即可。 2、对源文件汇编无误后,自动生成相应的 .LST文件。 3、用GB命令来连续运行程序。
4、外部RAM与 累加器A间数据传送,使用MOVX @DPTR,A指令。 5、两寄存器交换数据,使用 命令。 二、 程序分析题(共20分,每题10分)
1、(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(4BH)=20H MOV A,@R0 ;7FH?A MOV @R0,40,40H ;20H?4BH MOV 40H,A ;7FH?40H MOV R0,#35H
问执行和程序后,R0、A和4BH、40H单元内容的变化如何? 答 程序执行后(R0)=35H,(A)7FH,(4BH)=20H,(40H)=7FH.
2、设(R0)=7EH,DPTR=10FEH,片内RAM 7FH和7FH两单元的内容分别是FFH和38H,请写出下列程序段的每条指令的执行结果。
INC @R0 INC R0 INC @R0 INC DPTR INC DPTR INC DPTR
解 (1)(7EH)=00H (2)R0=7FH
(3)7FH=39H (4)DPTR=10FFH (5)DPTR=1100H (6)DPTR=1101H 三、编程题(共60分,每题30分)
3、 比较存放在ONE,TWO,TRE三个单元的无符号数,并将小数存放在20H单元中。
(1) 输入程序 参考程序 MOV A,ONE CJNE A,TWO,RR RR: JC SS
MOV A,TWO CJNE A,TRE,TT TT: JC WW
SJMP UU SS: CJNE A,TRE,VV VV: JC WW UU: MOV A,TRE WW: MOV 20H,A
(2) 在ONE,TWO,和TRE三个内部RAM
(3) 单步运行,注意PC变化情况,同时检查Cy (4) 检查20H单元的内容,验 是否最小值 (5) 修改ONE
4、 设在单片机内部RAM中从STR单元开始存放有一数据块,该数据块以#00H结束,试统计其中为#0FFH的单元个数并存入NUM单元。
(1)输入所编程序。
COUNT: CLR A ;清计数单元 MOV R0,#STR ;置地址指针
LOOP: CJNE #0FFH,LOOP1;数据为#0FFH则计数单元加1 INC A LOOP1: INC R0
CJNE @R0,#000H,LOOP;数据块取完?
MOV NUM A ;存统计结果 SJMP $
(2)确定好数据块的起始地址,同时在相应的内部RAM单元建立好数据块(此数据块以#00H结束,并使其中若干个单元的内容为#0FFH),同时作好记录。
(3)单步或断点运行程序,注意循环跳出循环时刻。 (4)观察并记录PC,A和计数单元的变化情况。 (5)验证运行结果。
《单片机原理与应用》试题013
一、 填空题(共20分,每题4分)
1、开启微机电源,在软件所在目录键入MD51命令,选择对应串口号,进入集成操作软件环境,如果光标不响应回车命令,按 复位键即可。若想进入全屏幕编辑界面,按下 功能键。
2、汇编完成后,按F3输入文件名回车,对汇编生成的.r03文件进行连接,生成相应的 文件。 3、按 键可清除断点。
4、程序存储器中数据送累加器A,使用指令为 指令。 5、寄存器高4位和低4位交换数据,使用 指令。 二、程序分析题(共20分,每题10分)
1、设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,
(26H)=6 FH,(27H)=76H,下列程序执行程序后,结果如何? CLR C MOV R2,#3
LOOP: MOV A,@R0 ADDC A,@R1 MOV @R0,A INC R0 INC R1 DJNZ R2,LOOP JNC NEXT1 MOV @R0,#01H SJMP $ NEXT: DEC R0