当前位置:首页 > 单片机18套完整复习题
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)验证运行结果。
《单片机原理与应用》试题011
一、
填空题(共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 SJMP $
(20H)=( )、(21H)= 、(22H)= 、(23H)= 、 CY= A= 、R0= 、R1= 。
2、设片内RAM中(59H)=50H,执行下列程序段 MOV A,59H MOV R0,A MOV @R0,A MOV A,#25H MOV 51H,A MOV 52H,#70H
A= ,(50H)= ,(51H)= ,(52H)= .
三、编程题(共60分,每题30分)
1、根据Rn单元内容(00H—7FH),分别转向程序ROUT00—ROUT7FH
参考程序 (1) 输入程序 MOV A,Rn RL A
MOV DPTR,#JMPTAB JMP @A+DPTR
JMPTAB:AJMP PROG00
AJMP PROG01 …
AJMP PROGnn
PROG00:MOV 20H,#
SJMP $ …
PROGnn:MOV 20H,#nH SJMP $
(2) 为便于实习,可缩小散转范围,运行前在Rn 中装入的数限定为
00H—03H中的某一个。
(3) 确定JMPBAB及PROG00—PROG03的地址,并在PROGn处写
人处理程序。
(4) 单步或断点运行,观察并记录A,DPTR以及PC变化情况。 (5) 修改Rn中数据,重做。
2、求平方子程序计算X=a^2+b^2
先建立0~9的平方表(十进制),TAB为表首地址指针。子程序所完成
的功能是用查表的方式求出平方值。计算X=a^2+b^2时只要两次调用子程序分别求出a^2和b^2,然后相加即可。(设X,a,b分别存于内部RAM的ONE,TWO和TRE三个单元中)。
子程序入口:((A)=待查表的数 子程序入口:((A)=平方值 实习步骤
(1)在选定的存区中建立好平方表。
MAIN: MOV A;ONE ;调求平方子程序 ACALL SQR MOV R1,A MOV A,TWO ACALL SQR
共分享92篇相关文档