单片机原理及接口技术,习题答案第四版李朝青

上传人:平*** 文档编号:13099874 上传时间:2017-10-22 格式:DOC 页数:32 大小:156.07KB
返回 下载 相关 举报
单片机原理及接口技术,习题答案第四版李朝青_第1页
第1页 / 共32页
单片机原理及接口技术,习题答案第四版李朝青_第2页
第2页 / 共32页
单片机原理及接口技术,习题答案第四版李朝青_第3页
第3页 / 共32页
单片机原理及接口技术,习题答案第四版李朝青_第4页
第4页 / 共32页
单片机原理及接口技术,习题答案第四版李朝青_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《单片机原理及接口技术,习题答案第四版李朝青》由会员分享,可在线阅读,更多相关《单片机原理及接口技术,习题答案第四版李朝青(32页珍藏版)》请在金锄头文库上搜索。

1、单片机原理及接口技术课后习题答案(第四版) 李朝青、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、前两章略、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、第三章1、 指令:CPU 根据人的意图来执行某种操作的命令指令系统:一台计算机所能执行的全部指令集合机器语言:用二进制编码表示,计算机能直接识别和执行的语言汇编语言:用助记符、符号和数字来表示指令的程序语言高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言2、 见第1题3、 操作码 目的操作数 ,源操作数4、 寻址方式 寻址空间立即数寻址 程序存储器 ROM直接寻址 片内 RAM 低

2、 128B、特殊功能寄存器寄存器寻址 工作寄存器 R0-R7、A、B、C、DPTR寄存器间接寻址 片内 RAM 低 128B、片外 RAM变址寻址 程序存储器(A+PC,A+DPTR)相对寻址 程序存储器256B 范围(PC+偏移量)位寻址 片内 RAM 的 20H-2FH 字节地址、部分 SFR5、 SFR:直接寻址,位寻址,寄存器寻址;片外 RAM:寄存器间接寻址6、 MOV A,40H ;直接寻址 (40H)AMOV R0,A ;寄存器寻址 (A)R0MOV P1,#0F0H ;立即数寻址 0F0P1MOV R0,30H ;直接寻址(30H)(R0)MOV DPTR,#3848H ;立即

3、数寻址 3848HDPTRMOV 40H,38H ;直接寻址(38H)40HMOV R0,30H ;直接寻址( 30H)R0MOV P0,R0 ;寄存器寻址 (R0)P0MOV 18H,#30H ;立即数寻址 30H18HMOV A, R0 ;寄存器间接寻址(R0)AMOV P2,P1 ;直接寻址(P1)P2最后结果:(R0)=38H, (A)=40H, (P0)=38H, (P1)=(P2)=0F0H, (DPTR)=3848H, (18H)=30H, (30H)=38H, (38H )=40H, (40H)=40H , (48H)=38H注意:左边是内容,右边是单元7、 用直接寻址,位寻址

4、,寄存器寻址8、 MOV A,DATA ;直接寻址 2字节1周期MOV A,#DATA ;立即数寻址 2字节1周期MOV DATA1,DATA2 ;直接寻址 3字节2周期MOV 74H,#78H ;立即数寻址 3字节2周期如果想查某一指令的机器码,字节数或周期数可查阅书本后面的附录 A9、MOV A,R0 ;(R0)=80HAMOV R0,40H ;(40H)=08H(R0)MOV 40H,A ;(A)=8040HMOV R0,#35H ;35HR0最后结果:(R0)=35H (A)=80H,(32H)=08H,(40H)=80H10、用直接寻址,位寻址,寄存器寻址11、只能采用寄存器间接寻址

5、(用 MOVX 指令)12、低128字节:直接寻址,位寻址,寄存器间接寻址,寄存器寻址(R0R7)高128字节:直接寻址,位寻址,寄存器寻址13、采用变址寻址(用 MOVC 指令)14、压缩 BCD 码在进行加法运算时应逢十进一,而计算机只将其当作十六进制数处理,此时得到的结果不正确。用 DA A 指令调整(加06H ,60H ,66H)15、用来进行位操作16、ANL A,#17H ;83H17H=03HAORL 17H,A ;34H03H=37H17HXRL A,R0 ;03H37H=34HCPL A ;34H 求反等于 CBH所以(A)=CBH17、 (1)SETB ACC.0或 SET

6、B E0H ;E0H 是累加器的地址(2)CLR ACC.7CLR ACC.6CLR ACC.5CLR ACC.4(3)CLR ACC.6CLR ACC.5CLR ACC.4CLR ACC.318、MOV 27H,R7MOV 26H,R6MOV 25H,R5MOV 24H,R4MOV 23H,R3MOV 22H,R2MOV 21H,R1MOV 20H,R019、MOV 2FH,20MOV 2EH,21MOV 2DH,2220、CLR CMOV A,#5DH ;被减数的低8位AMOV R2,#B4H ;减数低8位R2SUBB A,R2 ;被减数减去减数,差AMOV 30H,A ;低 8位结果30

7、HMOV A,#6FH ;被减数的高8位AMOV R2,#13H ;减数高 8位R2SUBB A,R2 ;被减数减去减数,差AMOV 31H,A ;高 8位结果30H注意:如果在你的程序中用到了进位位,在程序开始的时候要记得清0进位位21、 (1)A10CJNE A,#0AH,L1 ;(A)与10比较,不等转 L1LJMP LABEL ;相等转 LABELL1:JNC LABEL ;(A)大于10,转 LABEL或者:CLR CSUBB A,#0AHJNC LABEL(2)A10CJNE A,#0AH,L1 ;(A)与10比较,不等转 L1RET ;相等结束L1:JNC LABEL ;(A)大

8、于10,转 LABELRET ;(A)小于10,结束或者:CLR CSUBB A,#0AHJNC L1RETL1:JNZ LABELRET(3)A10CJNE A,#0AH,L1 ;(A)与10比较,不等转 L1L2:LJMP LABEL ;相等转 LABELL1:JC L2 ;( A)小于10,转 L2RET或者:CLR CSUBB A,#0AHJC LABELJZ LABELRET22、 (SP )=23H, (PC )=3412H参看书上80页23、 (SP )=27H, (26H) =48H, (27H)=23H, (PC)=3456H参看书上79页24、不能。ACALL 是短转指令,

9、可调用的地址范围是 2KB。在看这个题的时候同时看一下 AJMP 指令。同时考虑调用指令 ACALL 和LCALL 指令和 RET 指令的关系。25、 MOV R2,#31H ;数据块长度R2MOV R0,#20H ;数据块首地址R0LOOP:MOV A,R0 ;待查找的数据ACLR C ;清进位位SUBB A,#0AAH ;待查找的数据是0AAH 吗JZ L1 ;是,转 L1INC R0 ;不是,地址增1,指向下一个待查数据DJNZ R2,LOOP ;数据块长度减1,不等于0,继续查找MOV 51H,#00H ;等于0,未找到,00H51HRETL1: MOV 51H,#01H ;找到,01

10、H51HRET26、 MOV R2,#31H ;数据块长度R2MOV R0,#20H ;数据块首地址R0LOOP:MOV A,R0 ;待查找的数据AJNZ L1 ;不为0,转 L1INC 51H ;为0,00H 个数增1L1:INC R0 ;地址增1,指向下一个待查数据DJNZ R2,LOOP ;数据块长度减1,不等于0,继续查找RET27、 MOV DPTR,#SOURCE ;源首地址DPTRMOV R0,#DIST ;目的首地址 R0LOOP:MOVX A,DPTR ;传送一个字符MOV R0,AINC DPTR ;指向下一个字符INC R0CJNE A,#24H,LOOP ;传送的是“$

11、”字符吗?不是,传送下一个字符 RET28、 MOV A,R3 ;取该数高 8位AANL A,#80H ;取出该数符号判断JZ L1 ;是正数,转 L1MOV A,R4 ;是负数,将该数低 8位 ACPL A ;低8位取反ADD A,#01H ;加1MOV R4,A ;低 8位取反加1后R4MOV A,R3 ;将该数高 8位ACPL A ;高8位取反ADDC A,#00H ;加上低8位加1时可能产生的进位MOV R3,A ;高 8位取反加1后R3L1: RET29、 CLR C ;清进位位 CMOV A,31H ;取该数低8位ARLC A ;带进位位左移1位MOV 31H,A ;结果存回31H

12、MOV A,30H ;取该数高8位ARLC A ;带进位位左移1位MOV 30H,A ;结果存回30H30、 MOV R2,#04H ;字节长度R2MOV R0,#30H ;一个加数首地址R0MOV R1,#40H ;另一个加数首地址R1CLR C ;清进位位LOOP:MOV A,R0 ;取一个加数ADDC A,R1 ;两个加数带进位位相加DA A ;十进制调整MOV R0,A ;存放结果 INC R0 ;指向下一个字节INC R1 ;DJNZ R2,LOOP ;数据块长度减1,不等于0,继续查找RET31、 MOV R2,#08H ;数据块长度R2MOV R0,#30H ;数据块目的地址R0

13、MOV DPTR,#2000H ;数据块源地址DPTRLOOP:MOVX A, DPTR ;传送一个数据MOV R0,A INC DPTR ;指向下一个数据INC R0 ;DJNZ R2,LOOP ;数据块长度减1,没传送完,继续传送RET32、 (1)MOV R0,0FH ;2字节,2周期 4字节4周期(差)MOV B,R0 ;2字节,2周期(2)MOV R0,#0FH ;2字节,1周期 4字节3周期(中)MOV B,R0 ;2字节,2周期(3)MOV B,#0FH ;3字节,2周期 3字节 2周期(好)33、 (1)功能是将片内 RAM 中50H51H 单元清0 。(2)7A0A(大家可以

14、看一下书上,对于立即数寻址的话,后面一个字节存放的是立即数) 7850(第一个字节的后三位是寄存器,前一个条指令是010也就是指的 R2,在这里是 R0,所以应该是78,后一个字节存放的是立即数) DAFC (这里涉及到偏移量的计算,可以参考书上56页)34、 INC R0 ;(7EH)=00HINC R0 ;(R0)=7FHINC R0 ;(7FH)=39HINC DPTR ;(DPTR)=10FFHINC DPTR ;(DPTR)=1100H INC DPTR ;(DPTR)=1101H35、解:(1000H)=53H (1001H)=54H (1002H)=41H(1003H)=52H (1004H)=54H (1005H)=12H(1006H)=34H (1007H)=3

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号