单片机原理及应用第三章习题答案
更新时间:2023-10-16 23:32:01 阅读量: 综合文库 文档下载
习题三
1.在MCS-51单片机中,寻址方式有几种?其中对片内RAM可以用哪几种寻址方式?对片外RAM可以用哪几种寻址方式?
答:寻址方式可分为数的寻址和指令寻址,数的寻址有:常数寻址(立即寻址)、寄存器数寻址(寄存器寻址)、存储器数寻址(直接寻址方式、寄存器间接寻址方式、变址寻址方式)和位寻址,指令的寻址有绝对寻址和相对寻址。片内RAM寻址有:寄存器寻址、直接寻址方式和寄存器间接寻址方式。片外RAM寻址有:寄存器间接寻址方式。 2.在对片外RAM单元寻址中,用Ri间接寻址与用DPTR间接寻址有什么区别?
答:片外数据存储器寻址中,用Ri间接寻址只能访问低端的256字节单元,而用DPTR作指针间接访问可访问整个64K字节。
3.在位处理中,位地址的表示方式有哪几种?
答:1.直接位地址(00H~0FFH)。例如:20H 2.字节地址带位号。例如:20H.3表示20H单元的3位。
3.特殊功能寄存器名带位号。例如:P0.1表示P0口的1位。
4.位符号地址。例如:TR0是定时/计数器T0的启动位。
4.写出完成下列操作的指令。 (1)R0的内容送到R1中。 MOV A,R0
MOV R1,A
(2)片内RAM的20H单元内容送到片内RAM的40H单元中。
MOV 40H,20H
(3)片内RAM的30H单元内容送到片外RAM的50H单元中。 MOV A,30H MOV R0,#50H
MOVX @R0,A
(4)片内RAM的50H单元内容送到片外RAM的3000H单元中。 MOV A,50H MOV DPTR,#3000H
MOVX @DPTR,A
(5)片外RAM的2000H单元内容送到片内RAM的20H单元中。
MOV DPTR,#2000H
MOVX A,@DPTR
MOV 20H,A
(6)片外RAM的1000H单元内容送到片外RAM的4000H单元中。 MOV DPTR,#1000H MOVX A,@DPTR
MOV DPTR,#4000H MOV @DPTR,A
(7)ROM的1000H单元内容送到片内RAM的50H单元中。 MOV A,#0
MOV DPTR,#1000H MOVC A,@A+DPTR
MOV 50H,A
(8)ROM的1000H单元内容送到片外RAM的1000H单元中。 MOV A,#0
MOV DPTR,#1000H MOVC A,@A+DPTR
MOVX @DPTR,A
5.区分下列指令有什么不同?
(1)MOV A,20H和MOV A,#20H 答:前者源操作数是直接寻址,后者源操作数立即寻
址。
(2)MOV A,@R1和MOVX A,@R1
答:前者源操作数是访问片内数据存储器,后者源操作数访问片外数据存储器低256字节。 (3)MOV A,R1和MOV A,@R1
答:前者源操作数是寄存器寻址,后者源操作数寄存器间接寻址。
(4)MOVX A,@R1和MOVX A,@DPTR
答:前者源操作数是访问片外数据存储器低256字节,
后者源操作数访问片外数据存储器整个64K字节。 (5)MOVX A,@DPTR和MOVC A,@A+DPTR
答:前者源操作数是访问片外数据存储器,后者源操作数访问程序数据存储器。
6.设片内RAM的(20H)=40H,(40H)=10H,(10H)=50H,(P1)=0CAH。分析下列指令执行后片内RAM的20H、40H、10H单元以及P1、P2中的内容。
MOV R0,#20H
;R0=20H
MOV A,@R0 ;A=40H MOV R1,A ;R1=40H MOV A,@R1
;A=10H
MOV @R0,P1 ;(40H)=0CAH MOV P2,P1 ;P2=0CAH MOV 10H,A ;(10H)=10H
1
MOV 20H,10H
;(20H)=10H 结果:(20H)=10H、(10H)=10H、(40H)=0CAH、P2=0CAH
和P1=0CAH
7.已知(A)=02H,(R1)=7FH,(DPTR)=2FFCH,片内RAM(7FH)=70H,片外RAM(2FFEH)=11H,ROM(2FFEH)=64H,试分别写出以下各条指令执行后目标单元的内容。
(1)MOV A,@R1
结果:累加器A等于70H (2)MOVX @DPTR,A
结果:片外RAM
(2FFCH)单元等于02H
(3)MOVC A,@A+DPTR 结果: 累加器A等于64H (4)XCHD A,@R1
结果:累加器A等于00H,
片内RAM(7FH)单元等于72H
8.已知:(A)=78H,(R1)=78H,(B)=04H,CY=1,片内RAM(78H)=0DDH,(80H)=6CH,试分别写出下列指令执行后目标单元的结果和相应标志位的值。 (1)ADD A,@R1
;累加器A等于55H,CY
等于1
(2)SUBB A,#77H ;累加器A等于00H,CY等于0
(3)MUL AB
;累加器A等于E0H,B
寄存器等于01H,CY等于1,OV等于0 (4)DIV AB
;累加器A等于1EH,B寄存器等于00H,CY、OV等于0
(5)ANL 78H,#78H ;片内RAM(78H)单元等于58H (6)ORL A,#0FH
;累加器A等于7FH
(7)XRL 80H,A
;片内RAM(80H)等于14H
9.设(A)=83H,(R0)=17H,(17H)=34H,分析当执行完下面指令段后累加器A、R0、17H单元的内容。
ANL A,#17H ;A=03H ORL 17H,A ;(17H)=37H XRL A,@R0 ;A=34H CPL A
;A=CBH
结果:A=CBH,(R0)=17H,(17H)=37H 10.写出完成下列要求的指令。
(1)累加器A的低2位清零,其余位不变。 ANL A,#11111100B (2)累加器A的高2位置“1”,其余位不变。 ORL A,#11000000B (3)累加器的高4位取反,其余位不变。
XRL A,#11110000B (4)累加器第0位、2位、4位、6位取反,其余位不变。
XRL A,#01010101B
11.说明LJMP指令与AJMP指令的区别?
答:LJMP指令后面提供的是16位目标地址,所以可
以转移到64KB程序存储器的任意位置,缺点是:执行时间
2
长,字节数多。
AJMP指令后带的是11位直接地址,执行时,先
将程序指针PC的值加2(该指令长度为2字节),然后把指令中的11位地址addr11送给程序指针PC的低11位,而程序指针的高5位不变,只能在当前2K范围内转移。 12.设当前指令CJNE A,#12H,10H的地址是0FFEH,若累加器A的值为10H,则该指令执行后的PC值为多少?
若累加器A的值为12H呢?
答:指令执行后的PC值为1011H,若累加器A的值为12H,则指令执行后的PC值为1001H。
13.用位处理指令实现P1.4=P1.0?(P1.1?P1.2)?/P1.3的逻辑功能。 程序: MOV
C,P1.1
ORL C,P1.2 ANL C,P1.0 ORL C,/P1.3
MOV
P1.4,C
14.下列程序段汇编后,从1000H单元开始的单元内容是什
么?
ORG 1000H
TAB: DB 12H,34H
DS 3
DW 5567H,87H
答:(1000H)=12H,(1001H)=34H,(1002H)=00H,
(1003H)=00,(1004H)=00,(1005H)=67H,(1006H)=55H,(1007H)=87H,(1008H)=00H
15.试编一段程序,将片内RAM的20H、21H、22H单元的内容依次存入片外RAM的20H、21H、22H中。
程序: MOV R0,#20H MOV R2,#03H LOOP:MOV A,@R0
MOVX @R0,A INC R0 DJNZ R2,LOOP
SJMP
$
16.编程实现将片外RAM的2000H~2030H单元的内容,全部搬到片内RAM的20H单元开始位置,并将源位置清零。
程序: MOV R0,#20H MOV DPTR,#2000H MOV R2,#31H
LOOP: MOVX
A,@DPTR
MOV @R0,A
MOV
A,#00
MOVX @DPTR,A INC DPTR INC R0 DJNZ R2,LOOP
SJMP
$
17.编程将片外RAM的1000H单元开始的100个字节数据相加,结果放于R7R6中。
程序: MOV DPTR,#1000H MOV R2,#100 MOV R7,#00 MOV R6,#00
LOOP: MOVX
A,@DPTR
ADD A,R6 MOV R6,A MOV A,R7 ADDC A,#0 MOV R7,A INC DPTR DJNZ R2,LOOP
SJMP $
18.编程实现R4R3?R2,结果放于R7R6R5中。 程序:
ORG
0100H
MUL1:MOV A,R2
MOV B,R3
MUL AB ;R2?R3,结果的低字
节直接存入积的R5
MOV R5,A ;结果的高字节存入R6
中暂存起来
MOV R6,B
MUL2:MOV A,R2
MOV B,R4
MUL AB ;R2?R4,结果的低字节
与R6相加后,再存入R6中
ADD A,R6 MOV R6,A
MOV A,B ;结果的高字节加上进位
位后存入R7中
ADDC A,#00 MOV R7,A SJMP
$
19.编程实现把片内RAM的20H单元的0位、1位,21H单元的2位、3位,22H单元的4位、5位,23H单元的6位、7位,按原位置关系拼装在一起放于R2中。
程序:
MOV C,20H.0 MOV A.0,C MOV C,20H.1 MOV A.1,C MOV C,21H.2 MOV A.2,C MOV C,21H.3 MOV A.3,C MOV C,22H.4 MOV A.4,C MOV C,22H.5 MOV A.5,C MOV C,23H.6 MOV A.6,C MOV C,23H.7 MOV A.7,C MOV
R2,A
20.用查表的方法实现一位十六进制数转换成ASCII。
程序:(设一位十六进制数放在R2中,轮换的ASCII也放于R2中)
C16STASC:MOV DPTR,#TAB
MOV A,R2 MOVC A,@A+DPTR MOV R2,A
RET
TAB:DB 30H,31H,32H,33H,34H,35H,36H,
37H
DB 38H,391H,41H,42H,43H,44H,45H,46H
21.编程统计从片外RAM2000H开始的100个单元中“0”的个数放于R2中。
程序: MOV DPTR,#2000H MOV R3,#100 MOV
R2,#00
LOOP: MOVX A,@DPTR
JNZ NEXT INC R2 NEXT:INC
DPTR DJNZ R3,LOOP
SJMP
$
3
正在阅读:
单片机原理及应用第三章习题答案10-16
把微笑留给伤害你最深的人11-03
中华谜语网02-18
小学关于爱的作文06-15
教育教学工作考核表(已填)04-18
实验二05-29
数学软件在高职高等数学教学中的应用浅析05-12
周年庆典条幅贺词2篇12-13
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 单片机
- 习题
- 原理
- 答案
- 第三章
- 应用
- 小学一年级语文作业 - 图文
- 八卦六爻起挂方法
- 大足石刻世界遗产地的旅游开发研究
- 最新人教版小学四年级数学下册《图形的运动(二)》集体备课优质教学设计
- 2018-2024年中国低合金板行业市场调查及“十三五”投资战略预测报告
- 五品社自主学习任务单
- 初二奥数辅导-因式分解
- 创先争优活动知识竞赛试题(含答案)
- 党章的知识竞赛题库
- 2016年国家开放大学网上形成性考核证据学参考题答案
- β-内酰胺类抗生素复方制剂分析与应用
- 高数下复习
- 秘本诸葛神数
- 成本会计练习
- 建筑工程质量事故案例分析
- EBS R12 库存操作高级篇 - 图文
- 《路面工程》复习参考题2010
- 幼儿园大班语言活动公开课教案及反思故事《微笑》
- 编译原理计算题
- 2 张修桂 - 太湖演变的历史过程