- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
习题三答案单片机汇编程序设计基础
单片机汇编程序设计基础? 习题答案
一、填空题
1、给程序做注释使用? ;(或分)??? 号来标识。
2、注释可以写在? 一行指令上?? ,也可以写在? 一个指令???? 之后。
3、在设计汇编语言源程序时,可以使用顺序结构的程序,也可以使用某些指令构成分支???? 结构、循环??? 结构和?? 子程序调用??? 结构的程序。
4、寻址方式是指?? 寻找操作数的方式??????? 。
5、机器语言是 ??机器码的集合????? 。
6、MCS-51单片机的指令的一般格式中,包括? 标号?? 、助记符??? 、? 目的操作数?? 、源操作数??? 和?? 注释等部分。
7、MCS-51汇编语言源程序的扩展名为?? .asm??。
二、程序设计题
1、求50H与40H单元内容之和,结果存入20H,进位位存入2lH。
解答:
? MOV? A。50 H
? ADD? A,40H
? MOV? 20H.A
? CLR??? A
? ADDC A.#00H
? MOV? 21H,A
? SJMP? $
2、编程实现双字节加法运算(R1)(R0)+(R7)(R6)一(31H)(30H)。
解答:
??MOV? A.R0
? ADD? A,R6
? MOV? 30H.A
? MOV? A,R1
? ADDC? A.R7
MOV? 31H,A
SJMP? $
3、试编写程序,求出内部RAM20H单元中的数据含“1”的数,并将结果存入21H单元。
解答
MOV? 21H,#00H
MOV? A,20H
CLR? C
MOV? R7,#08H
LOOP: RLC? A
JNC? NEXT
INC? 21H
NEXT: DJNZ? R7,LOOP
SJMP? $
4、试编写程序,将内部RAM的20H~2FH共16个连续单元清零。
解答:
MOV? R0,#20H
MOV? R7,#10H
CLR? A
NEXT:MOV? @R0,A
INC? R0
DJNZ? R7,NEXT
????? SJMP? $
5、编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去。
解答:
STRAT:MOV???? R0,#30H
???????? MOV???? R7,#0FH
???????? MOV???? DPTR,#3000H
? LOOP: MOV???? A,@R0
????? ???MOVX??? @DPTR,A
???????? INC?????? R0
???????? INC?????? DPTR
???????? DJNZ????? R7,LOOP
???????? RET
6、片内RAM30H开始的单元中有10B的二进制数,请编程求它们之和(和<256 ).
解答:
ADDIO:MOV???? R0,30H
??? ??????MOV????? R7,#9
????????? MOV????? A,@R0
?? LOOP: INC?????? R0
?????? ???ADD?????? A,@R0
????? ????DJNZ????? R7,LOOP
?????? ???MOV????? 30H,A
????????????? RET
7、 试编写程序,查找在内部RAM的30H~50H单元中出现FFH的次数,并将查找的结果存入51H单元。
解答:
MOV? 51H,#00H
MOV R1,#30H
MOV R7,#21H
LOOP:CJNE? @R1,#0FFH,NEXT
INC 51H
NEXT:INC? R1
DJNZ? R7,LOOP
SJMP? $
8、设单片机的fosc=6MHz,编写实现100ms延时的子程序。
解答:
DELAY:? MOV? R7,#64H
A0:???? MOV? R6,#0FAH
????? ??DJNZ? R6,$
DJNZ? R7,A0
RET
9、 从内部RAM的30H单元开始存放一组用补码表示的带符号数,其数目以存放在20H单元。编写程序统计出其中的正数、0和负数的数目,并奖结果分别存入21H、22H、23H单元。
解答:
MOV? R0,#30H
MOV? 21H,#00H
MOV 22H,#00H
MOV 23H,#00H
MOV? A,@R0
JZ? NEXT1
JB? ACC.7,NEXT2
INC 23H
SJMP? NEXT3
NEXT2: INC? 21H
SJMP? NEXT3
NEXT1:INC? 22H
NEXT3:INC R0
DJNZ 20H,LOOP
SJMP $
10、 在程序存储器中从tab开始的16个单元连续存放0-15的平方值,设计程序,任意给一个数x(0≤x≤15),查表求出z的平方值,并把结果存入y单元。
解答
文档评论(0)