单片微机原理及应用 徐春辉第5章 习题答案 - 范文中心

单片微机原理及应用 徐春辉第5章 习题答案

01/09

练习与思考题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:程序存储器)


相关内容

  • [测试系统原理与设计](孙传友编著)--习题答案(个人整理)
    <测试系统原理与设计>(孙传友编著)--习题答案(个人整理) (答案仅供参考,部分答案没有,由个人总结整理,若有错误或不当之处请见谅) 第一章 绪论 1. 为什么说仪器技术是信息的源头技术? 仪器是一种信息的工具,起着不可或缺的 ...
  • 专业课考试科目
    北京工业大学 421自动控制原理 复试:1.电子技术2.计算机原理 北京航空航天大学 [双控]432控制理论综合或433控制工程综合 [检测]433控制工程综合或436检测技术综合 [系统]431自动控制原理或451材料力学或841概率与数 ...
  • 电气工程及自动化专业考研学校科目
    电气工程及自动化专业考研学校科目 2008年03月21日 星期五 20:29 北京工业大学 421自动控制原理 复试:1.电子技术 2.计算机原理 北京航空航天大学 [双控] 432控制理论综合或433控制工程综合 [检测] 433控制工程 ...
  • 数字式温度计系统设计
    <数字式温度计系统设计> 课程设计 姓名: 许红升 专业: 通信工程 学号: P01214179 性别: 男 邮箱: 466570324@qq.com 联系方式: [1**********] 指导老师: 李斌 张宏伟 一.最终要 ...
  • 单片机原理及应用(答案)
    1:单片机8031的XTAL1和XTAL2引脚是()引脚. 1.外接定时器 2.外接串行口 3.外接中断 4.外接晶振 2:LU表示(). 1.累加器 2.程序状态字寄存器 3.计数器 4.算术逻辑部件 3:单片机上电复位后,PC的内容和S ...
  • 毕业设计_多亮度等级调光灯制作(终稿)
    毕业论文 毕业设计论文 设计(论文) 题目: 下 达 日 期: 月 日 开 始 日 期: 年 月 完 成 日 期: 年 月 指 导 教 师: 学 生 专 业: 班 级: 学 生 姓 名: 教 研室主任: 系 本系统基于单片机MSP430F4 ...
  • 直流电机控制
    微机应用课程设计报告 题 目: 基于单片机的直流电动机控制器设计 专 业: 班 级: 姓 名: 学 号: 地 点: 时 间:指导老师: 摘要 电动机作为最主要的机电能量转换装置,其应用范围已遍及国民经济的各个领域和人们的日常生活.无论是在工 ...
  • 微机原理考试整理
    1.8086从功能上分成了EU 和BIU 两部分.这样设计的优点是什么? 答:传统计算机在执行程序时,CPU 总是相继地完成取指令和执行指令的动作, 即,指令的提取和执行是串行进行的.而8086CPU 在功能上分成了EU 和BIU 两 部分 ...
  • 单片机硬件工程师面试试题
    单片机硬件工程师面试试题 一.现代通讯网络中广泛使用的交换方式有那两种? 分组和电路 二.通常所说的TCP/IP协议对应于OSI模型的哪层?你认为网络模型分层有什么好处?如果让你来制订网络体系架构,你认为应该遵循什么原则? 第四(传输)和第 ...