单片机第4章习题答案.docx
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章习题答案
一、填空题
1.机器语言
2.机器汇编、手工汇编
3・ AREA1 二1000H、BUF二1004H、TIME二0111、ACK=1006H
4.(A)二4FH、(R0)二4BH、(R1)二E5H、(21H)二D8H、(22H) =4BH、(2FH) =E5H
二、简答题
1.什么叫伪指令?伪指令与指令有什么区别?
答:所谓伪指令又称为伪操作,它不象机器指令那样是在程序运行期间由计算机来执行的,它是在汇编程序对源程序汇编吋,由汇编程序处理的操作,它们可以完成如数据定义、分配存储器、指示程序结束等功能。
2.汇编语言的格式是怎样的?
汇编语言语句格式为:
标号:操作码操作数;注释
3.MCS-51系列单片机有哪些伪指令?它们的用途是什么?
(1)编起始地址命令ORG
功能:规定此命令之后的程序或数据的存放起始地址。
(2)定义字节伪指令格式:[标号:]DB X1,X2,…,X n
功能:从指定地址开始,存放若干字节数据。
(3)字定义伪指令格式:[标号:]DW Yl, Y2,…,Yn
功能:从指定地址开始,存放若干字数据。
(4)汇编结束伪指令END
功能:该伪指令指出结束汇编,即使后面还有指令,汇编程序也不处理。
(5)赋值伪指令格式:标号EQU表达式
功能:将表达式的值(数据或地址)赋给标号。
(6)位定义伪指令格式:[标号]BIT位地址
功能:将位地址赋给标号。
4.汇编语言程序设计分为哪几个步骤?
答:汇编语言程序设计一般要经过以下几个步骤:
(1)分析问题,明确任务
(2)确定算法
(3)画出程序流程图
(4)编写源程序
(5)汇编和调试
5.结构化程序设计有哪几种常用的程序结构?
答:顺序结构、分支结构、循环结构和子程序结构
6.子程序调用时,参数的传递方法有哪几种?
答:常用的参数传递方法有:工作寄存器或累加器、指针寄存器、堆栈和程序段等。
7.分析下列程序的功能。
X DATA 30H
Y DATA 3211
MOV A, X
JNB ACC. 7, TRUE
CPL A
ADD A,
TRUE:MOV Y, A
答:该段程序的功能是:当30H单元的最高位不为0时,则把30H单元的内容送32H 单元,当30H单元的最高位为0时,则把30H单元的内容求反加1后送32单元。
8.下列程用段汇编后,从3000H单元开始的各有关存储单元的内容是什么?
ORG 3000H
TABl EQU 3234H
TAB2 EQU 4000H
DB 'START'
DW TABl,TAB2,9000H
答:从3000H 单元开始各单元的内容为:53H、54H、41H、52H、54H、32H、34H、40H、00H、90H、00H
三、应用题
1.
ORG 010011
0100H: E530 MOV A, 3011
0102II: 30E703 JNB ACC. 7, JING
0105II: F4 CPL A
0106II: 2401 ADD A, #01H
0108H: F532 JING: MOV 3211, A
010AII: 80FE SJMP $
2.编成将片内RAM50IK 51H单元中的两个无符号中较小的数存于6011单元中。
0RG 100011
START: CLR C
MOV A, 50H
SUBB A, 5111
JC NEXT
MOV A,51H
NEXT: MOV A, 5011
MOV 6011, A
SJMP $
END
3. 从片内RAM 的2211单元开始有一无符号数据块,其长度在20H 单元,找出数据块中的最 小值,并存于片内RAM 的2111单元。
ORG 200011
CLR A
MOV R7, 2011
MOV RO, #2211
LOOP : CLR C
SUBB
A, @R0 JC NEXT
MOV A, @R0
NEXT: INC RO
叮NZ R7, LOOP
MOV 2111, A
SJMP
$ END
4. 试编一程序将内部RAM301I 〜3FH 单元数据传送到外部RAM 首址为OFOOH 的单元中去。
5. 有两块数据分别在内部RAM 2011〜2911、3011〜3911,现将两块数据对换,试编程。 ORG 200011
MOV R0, #2011
MOV R1,#3OI1
MOV R7, 0AI1
MOV A, @R0
XCH A, @R1
MOV @R0, A
INC R0
LOOP: ORG 200011
MOV R0, #3011
MOV R7,#10H
MOV DPTR, tfOFOOH
MOVX
A, @R0 MOVX
©DPTR, A INC
R0 INC
DPTR SJMP
$
END
LOOP: