欢迎来到天天文库
浏览记录
ID:22364919
大小:70.50 KB
页数:10页
时间:2018-10-28
《单片机原理及接口技术课后习题答案三》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、单片机原理及接口技术课后习题答案李朝青课后习题答案2009-11-2215:11阅读673评论0字号:大中小小第三章1、指令:CPU根据人的意图来执行某种操作的命令指令系统:一台计算机所能执行的全部指令集合机器语言:用二进制编码表示,计算机能直接识别和执行的语言汇编语言:用助记符、符号和数字来表示指令的程序语言高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言2、见第1题3、操作码[目的操作数][,源操作数]4、寻址方式寻址空间立即数寻址程序存储器ROM直接寻址片内RAM低128B、特殊功能寄存器寄存器寻址工作寄存器R0-R7、A、B、C、DPTR
2、寄存器间接寻址片内RAM低128B、片外RAM变址寻址程序存储器(@A+PC,@A+DPTR)相对寻址程序存储器256B范围(PC+偏移量)位寻址片内RAM的20H-2FH字节地址、部分SFR5、SFR:直接寻址,位寻址,寄存器寻址;片外RAM:寄存器间接寻址6、MOVA,40H;直接寻址(40H)→A10MOVR0,A;寄存器寻址(A)→R0MOVP1,#0F0H;立即数寻址0F0→P1MOV@R0,30H;直接寻址(30H)→(R0)MOVDPTR,#3848H;立即数寻址3848H→DPTRMOV40H,38H;直接寻址(38H)→40HMOVR0,30H;直接寻址(30H
3、)→R0MOVP0,R0;寄存器寻址(R0)→P0MOV18H,#30H;立即数寻址30H→18HMOVA,@R0;寄存器间接寻址((R0))→AMOVP2,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、用直接寻址,位寻址,寄存器寻址8、MOVA,DATA;直接寻址2字节1周期MOVA,#DATA;立即数寻址2字节1周期MOVDATA1,DATA2;直
4、接寻址3字节2周期MOV74H,#78H;立即数寻址3字节2周期如果想查某一指令的机器码,字节数或周期数可查阅书本后面的附录A9、MOVA,@R0;((R0))=80H→AMOV@R0,40H;(40H)=08H→(R0)MOV40H,A;(A)=80→40HMOVR0,#35H;35H→R0最后结果:(R0)=35H(A)=80H,(32H)=08H,(40H)=80H10、用直接寻址,位寻址,寄存器寻址1011、只能采用寄存器间接寻址(用MOVX指令)12、低128字节:直接寻址,位寻址,寄存器间接寻址,寄存器寻址(R0~R7)高128字节:直接寻址,位寻址,寄存器寻址13、
5、采用变址寻址(用MOVC指令)14、压缩BCD码在进行加法运算时应逢十进一,而计算机只将其当作十六进制数处理,此时得到的结果不正确。用DAA指令调整(加06H,60H,66H)15、用来进行位操作16、ANLA,#17H;83H∧17H=03H→AORL17H,A;34H∨03H=37H→17HXRLA,@R0;03H⊕37H=34HCPLA;34H求反等于CBH所以(A)=CBH17、(1)SETBACC.0或SETBE0H;E0H是累加器的地址(2)CLRACC.7CLRACC.6CLRACC.5CLRACC.4(3)CLRACC.6CLRACC.5CLRACC.4CLRAC
6、C.318、MOV27H,R7MOV26H,R6MOV25H,R5MOV24H,R4MOV23H,R3MOV22H,R2MOV21H,R110MOV20H,R019、MOV2FH,20MOV2EH,21MOV2DH,2220、CLRCMOVA,#5DH;被减数的低8位→AMOVR2,#B4H;减数低8位→R2SUBBA,R2;被减数减去减数,差→AMOV30H,A;低8位结果→30HMOVA,#6FH;被减数的高8位→AMOVR2,#13H;减数高8位→R2SUBBA,R2;被减数减去减数,差→AMOV31H,A;高8位结果→30H注意:如果在你的程序中用到了进位位,在程序开始的
7、时候要记得清0进位位21、(1)A≥10CJNEA,#0AH,L1;(A)与10比较,不等转L1LJMPLABEL;相等转LABELL1:JNCLABEL;(A)大于10,转LABEL或者:CLRCSUBBA,#0AHJNCLABEL(2)A>10CJNEA,#0AH,L1;(A)与10比较,不等转L1RET;相等结束L1:JNCLABEL;(A)大于10,转LABELRET;(A)小于10,结束10或者:CLRCSUBBA,#0AHJNCL1RETL1:JNZLABELRET(
此文档下载收益归作者所有