单片机原理及应用及C51程序设计第三章习题答案
更新时间:2024-06-08 00:10: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
1
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
2
MOV P2,P1 ;P2=0CAH MOV 10H,A ;(10H)=10H 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位取反,其余位不变。
3
XRL A,#11110000B
(4)累加器第0位、2位、4位、6位取反,其余位不变。 XRL A,#01010101B
11.说明LJMP指令与AJMP指令的区别? 答:LJMP指令后面提供的是16位目标地址,所以可以转移到64KB程序存储器的任意位置,缺点是:执行时间长,字节数多。 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
4
INC DJNZ R0
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
INC DJNZ
DPTR R0
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 DJNZ
DPTR
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中暂存起来
5
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
6
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
$
7
正在阅读:
安全知识竞赛题库及答案04-15
浅谈如何当好一名山区小学校长03-31
基于单片机的电子时钟设计03-11
新目标英语九年级Unit - 14 - 单元测试题05-11
碎卵石试验检测标准11-21
水暖施工中常见问题简述11-25
“翻译本体”和“翻译本体论”概念辨析05-19
ERP复习材料--测试题03-17
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 单片机
- 习题
- 程序设计
- 原理
- 答案
- 第三章
- 应用
- C51
- 2012年自主招生安徽录取名单
- 大学生公民素质教育题库
- 区域小学语文学科精英教师团队建设及其雁阵效应
- 电子商务视角下连锁超市市场营销策略以“家乐福”为例
- 0415 某市国际海员俱乐部和工人文化宫综合活动大楼工程施工组织
- 2015浙大远程网络营销作业在线
- 汇编复习习题答案
- 莱芜刘氏族谱 - 图文
- 中级财务会计-第三次作业及答案
- 二次谐波制动比率差动的原理
- 会展策划师考试参考题
- 胶东调水倒虹工程监理实施细则
- 光电子技术基础习题答案
- 广州某医院群体建筑施工组织设计(有平面布置图)-secret
- 浅谈混凝土强度毕业论文 - 图文
- 纺材试题库及答案
- 云南省农机服务专业合作社名录2018版508家
- 1949-2009年长影上影译制片总目录(共1844部)
- 上海新江湾城规划文本
- 丰田目标成本法