单片微机原理及应用-徐春辉第5章--习题答案
更新时间:2023-05-03 02:14:01 阅读量: 实用文档 文档下载
- 单片微机原理及应用试卷推荐度:
- 相关推荐
练习与思考题5
1. 用于程序设计的语言分为哪几种?它们各有什么特点?
答:51系列单片机的编程语言可以分为汇编语言和高级语言(如C语言)两种,各自的特
2. 说明伪指令的作用。“伪”的含义是什么?常用的伪指令有哪些?其功能是什么?答:伪指令是在“机器汇编”过程中,用来对汇编过程进行某种控制或者对符号和标号进行赋值。“伪”的含义是指这些指令不属于指令系统中的指令,汇编时也不产生机器代码。常用伪指令有ORG、EQU、DATA、DB、DW、DS、BIT 、END。
功能:
ORG --指出后面程序块或数据块在程序存储器中存放的起始地址。
EQU --赋值命令
DATA--对数据地址或代码地址赋予规定的字符名称
DB --定义字节数据
DW --定义字数据
DS--从指定的地址单元开始,保留若干单元备用。
BIT --定义位地址符号命令
END --汇编结束命令
3. 设常量和数据标号的定义为:
ORG 2000H
DAT1:DB 1, 2, 3, 4, 5
DAT2:DB ‘ABCD’
DAT3:DW 1200H,-2
TAB:DW DAT1, DAT3
(1)画出上述数据或地址的存储形式。
(2)写出各标号的地址。
答:(1)
地址
(2)DAT1=2000H; DAT2=2005H;
4. 编写双字节加法程序。要求:被加数放在部RAM的30H(高字节)、31H(低字节)单
元中,加数存放在部RAM的32H(高字节)和33H(低字节)中,运算结果放存放在30H,31H中,进位存放在位寻址区的00H位。
答:ORG 0000H
MOV A, 31H
ADD A, 33H
MOV 31H, A
MOV A, 30H
ADDC A, 32H
MOV 30H, A
MOV 00H, C
SJMP $
END
5. 试编写程序,找出片RAM 30H~5FH单元中无符号数的最大数,并将结果存入60H单元。答: ORG 0000H
MOV R0, #30H
MOV R7, #2FH
MOV A, R0
AGAIN: INC R0
MOV B, A
CLR C
SUBB A, R0
JNC L1
MOV A, R0
AJMP L2
L1: MOV A, B
L2: DJNZ R7, AGAIN
MOV 60H, A
SJMP $
END
6.试编写程序,统计片RAM的20H~5FH单元中出现55H的次数,并将统计结果送60H单元。答:TAB EQU 20H
ORG 0000H
START: MOV 60H, #0
MOV R0, #TAB
LOOP2: MOV A, #55H
CLR C
SUBB A, R0
JNZ NEXT
INC 60H
NEXT: INC R0
CJNE R0, #60H, LOOP2
SJMP $
END
7.编写程序,将片外数据存储区中3000H~30FFH单元全部清零。
答:ORG 0000H
START: MOV A, #0
MOV R7, #0
MOV DPTR, #3000H
LOOP: MOVX DPTR, A
INC DPTR
DJNZ R7, LOOP
SJMP $
END
8. 将外部RAM 8000H开始的20个字节数据传送到外部RAM 8100H开始的地址单元中去。答:DATA1 EQU 8000H
DATA2 EQU 00H
ORG 0000H
START: MOV DPTR, #DATA1
MOV R0, #DATA2
MOV R7, #20
LOOP: MOVX A, DPTR
MOV P2, #81H
MOVX R0, A
INC R0
INC DPTR
DJNZ R7, LOOP
SJMP $
END
9. 编程统计累加器A中“1”的个数。
答:以下程序将A中“1”的个数放在30H单元。
DAT EQU 37H
ORG 0000H
START: PUSH ACC
MOV A, #DAT
MOV 30H, #0
NEXT: JZ EXIT
CLR C
RLC A
JNC L1
INC 30H
L1: AJMP NEXT
POP ACC
EXIT: SJMP $
END
10. 编写程序,将30H~34H单元中压缩的BCD码数(每个字节存放两个BCD码数)转换为
ASCII码数,并将结果存放在片RAM 60H~69H单元。
答:ORG 0000H
START: MOV R0, #30H
MOV R1, #60H
MOV R7, #2
AGAIN: MOV A, R0
ANL A, #0F0H
SWAP A
ADD A, #30H
MOV R1, A
MOV A, R0
ANL A, #0FH
ADD A, #30H
INC R1
MOV R1, A
INC R0
INC R1
DJNZ R7, AGAIN
SJMP $
END
11.将部RAM 30H单元的容转换成三位BCD码(百位、十位、个位),并将结果存入外部RAM 1000H开始的单元。
答:ORG 0000H
START: MOV A, 30H
MOV DPTR, #1000H
MOV B, #100
DIV AB
MOVX DPTR, A
INC DPTR
MOV A, B
MOV B, #10
DIV AB
MOVX DPTR, A
MOV A, B
INC DPTR
MOVX DPTR, A
SJMP $
END
12. 请使用位操作指令,编程实现P1.0(20H)(2FH)(2AH)
=∧∨,其中,20H、2FH、2AH都是位地址。
答: ORG 0000H
MOV C, 20H
ANL C, 2FH
CPL C
ORL C, 2AH
MOV P1.0, C
SJMP $
END
13.简述利用Keil μVision调试汇编语言程序的主要步骤。
答:利用Keil μVision调试软件的主要步骤包括:建立工程(project)→编写汇编语言源程序并保存→在工程中添加源文件→设置工程→编译并连接,创建目标文件→调试程序。
14.如何产生.hex文件?
答:编译并连接时,在“Project Workspace”窗口中,右键Target 1,选择Options For Target‘Target1’选项,弹出“option for Target”对话窗,选Output选项卡,选中Create HEX File。
15.在Keil μVision环境中,如何查看寄存器和数据存储单元容?
答:点击“Regs”,可查看寄存器的容。在Keil的菜单栏中,选择View→Memory Window 选项,打开Memory对话窗,在Address栏中输入地址“D: 0030H”,查看片RAM中0030H 的容。(X:外部数据存储器,C:程序存储器)
正在阅读:
找快乐教学反思03-09
咖啡厅服务员2023年度个人工作总结范文03-23
初三上总复习(不断更新中) - 图文11-10
数学日记范例01-14
空间分析复习提纲04-21
10月化学教学反思 (1)08-18
俄狄浦斯02-18
《中华赤子》02-14
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 春辉
- 单片
- 微机
- 习题
- 原理
- 答案
- 应用
- 农民工劳务合同协议书
- 临床试验知情同意书模板
- 小学生猜谜语活动方案1
- 电力通信网风险评价方法研究论文
- (完整版)临床试验知情同意书模板
- 公司员工思想动态调研报告
- 【必备】教学计划模板合集七篇
- 员工思想状态调研报告怎么写
- 严蔚敏版数据结构所有算法代码
- 七年级数学:《多边形》单元测试题
- 内蒙古鄂尔多斯市物理第十三章 电磁感应与电磁波精选测试卷专题练习
- 西师新版五年级上学期《5+多边形面积的计算》2019年单元测试卷与答案
- 太原市2020-2021学年高二上学期期中考试 英语试题(含答案)
- 2013湖南大学电气院硕士生名单
- 覃巨石:高中数学必修二立体几何精讲精练
- 奥数部分—简单的逻辑推理及习题答案全解
- 移动电源指示灯 英邦移动电源 移动电源制作
- 语文新课改中的困惑教学设计
- 【精选】部编版五年级上册数学《简便计算》练习题
- 五年级上册简便计算练习题