第一范文网 - 专业文章范例文档资料分享平台

单片机原理及应用课后习题答案

来源:用户分享 时间:2025/7/8 12:13:02 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

思考题与习题4

一、简答题

1.什么是汇编语言源程序、汇编、汇编程序?

(1)使用汇编语言编写的程序称为汇编语言源程序。

(2)汇编语言程序不能直接在计算机上运行,需要将它翻译成机器语言程序,也就是目标代码程序,这个翻译过程称为汇编。 (3)完成汇编任务的程序成为汇编程序。 2.什么叫伪指令,有什么作用?

所谓伪指令是 告诉汇编程序应该如何完成汇编工作,只有在汇编前的源程序中才有伪指令,而在汇编后没有机器代码产生。

伪指令具有控制汇编程序的输入输出、定义数据和符号、条件汇编、分配存储空间等功能。

二、编程题

1. 在外部RAM3000H单元中有一个8位二进制数,试编程将该数的低四位屏蔽掉,并送给外部RAM3001H单元中。 MOV DPTR,#3000H MOVX A,@DPTR ANL A,#0F0H INC DPTR MOVX @DPTR,A 2. 已知fOSC?12MHz,试编写延时20ms和1s的程序

DELAY20MS: MOV R6,#100 ;延时20ms

D1: MOV R7,#98 nop

D2: DJNZ R7,D2

DJNZ R6,D1 RET END DELAY1S: MOV R7,#250 DEL1: MOV R6,#200 DEL2: MOV R5,#98 DEL3: DJNZ R5,DEL3

NOP

DJNZ R6,DEL2 DJNZ R7,DEL1 RET END

3. 用查表的方法求0~6之间的整数的立方。已知整数存在内部RAM30H单元中,查表结果回存30H单元。 MOV DPTR,#tab MOV A,30H

MOVC A,@A+DPTR

MOV 30H,A Ret ORG 1000H

TAB: DB 00H,01H,08H,1BH,40H,7DH,0D8H

4. 若有3个无符号数x、y、z分别在内部存储器40H、41H、42H单元中,试编写一个程序,实现x≥ y时,x+z的结果存放在43H、44H单元中;当x<y时,y+z的结果存放入43H、44H单元中。 MOV A,40H CLR C

SUBB A,41H ;相减比较大小 JC L1

MOV A,40H ;x>=y SJMP L2

L1:MOV A,41H ;x

MOV A,#0 ;保存进位到44H单元 ADDC A,#0 MOV 44H,A

5. 在内部RAM的BLOCK开始的单元中有一无符号数据块,数据块长度存人LEN单元。试编程求其中的最小的数并存入MINI单元。 MOV R2, #11H ;要比较的数据字节数 MOV R1 , #BLOCK;置数据块的首地址 DEC LEN MOV A , @R1

LOOP: MOV MINI,A INC R1 CLR C SUBB A,@R1 ;两个数比较 JC LOOP1 ;C=1,A中的数小,跳转到LOOP1 MOV A,@R1 ;C=1,则把小数送给A SJMP LOOP2

LOOP1: MOV A,MINI

LOOP2: DJNZ R2, LOOP ;比较是否结束 MOV 50H,A ;把大数存入50H单元 RET

6. 在外部RAM3000H起始的单元中存放一组有符号数,字节个数存在内部RAM20H单元中。统计其中大于0、等于0和小于0的数的数目,并把统计结果存放在内部RAM21H、22H和23H单元中。

MOV DPTR,#3000H ;设置首地址 MOV 22H,#0 ;清零

MOV 23H,#0 MOV 24H,#0

L2:MOVX A,@DPTR;取数据

JNZ L1

INC 22H ;为0 SJMP NEXT L1:JB ACC.7,FU

INC 21H ;正数 SJMP NEXT FU:INC 23H ;负数 NEXT:INC DPTR

DJNZ 20H,L2 RET

7. 查找内部RAM20H~40H单元中是否有0FFH这一数据,如果有,将PSW中的F0位置1,没有则将其清零。 MOV R0,#20H MOV R1,#21H CLR F0

NEXT:MOV A,@R0 CJNE A,#0FFH,L1 SETB F0 SJMP L2 L1:INC R0 DJNZ R1,NEXT L2:RET

8. 在片内RAM的30H单元开始,相继存放5个无符号数,请使用冒泡法编写程序,使这组数据按照从小到大顺序排列。

MAIN: MOV R0,#30H ;数据存储区首单元地址 MOV R7.#04H ;各次冒泡比较次数 CLR F0 ;互换标志清“0” LOOP: MOV A,@R0 ;取前数 MOV R2,A ;存前数 INC R0

MOV A,@R0 ;取后数 CLR C

SUBB A,R2 ;比较大小 JNC LOOP1

SETB F0 ;互换,置标志位 MOV A,R2 ;互换数据 XCH A,@R0 DEC R0 XCH A,@R0 INC R0

LOOP1: MOV A,@R0

DJNZ R7,LOOP ;进行下一次比较 JB F0,MAIN ;进行下一轮冒泡 SJMP $ ;排序结束

搜索更多关于: 单片机原理及应用课后习题答案 的文档
单片机原理及应用课后习题答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3rrqx0gqcx02ra61x73m28mwx1483k01cx7_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top