微型计算机接口技术习题答案
【篇一:单片微型计算机接口技术课后答案】
1-----------------------
单片机原理、接口及应用——嵌入式系统技术基础 习题解答
预备篇
计算机的基础知识 0.1 40h,62h,50h,64h,7dh,ffh 0.2 812,104,213,256,2936,941 0.3
十进制数 原码 补码 十进制数原码 补码 281ch 1ch 250fahfah -28 9ch e4h -347 815bh fea5h 100 64h 64h 92803a0h 03a0h -130 8082hff7eh-928 83a0h fc60h 0.4 机器数真值分别为: 27,233,-128,-8,14717,31467,-27824,-12478
0.5(1) 33h+5ah=8dh, ov=1, cy=0。 (2) -29h-5dh=7ah, ov=0, cy=1。 (3) 65h-3eh=27h, ov=0, cy=1。 (4) 4ch-68h=e4h, ov=0, cy=0。 0.6
十进制数 压缩bcd数 非压缩bcd数 ascii码38 38h 0308h3338h255255h 020505h 323535h483483h 040803h 343833h764764h 070604h 373634h 1000 1000h 01000000h 31303030h 1025 1025h 01000205h 31303235h 0.7 ascii码表示的十六进制数分别为: 105h, 7cah, 2000h,8a50h
基础篇
1 mcs-511 mcs-51
11 mmccss--5511
第 章、 单片机结构
1.1 单片微型计算机(即单片机)是包含cpu、存储器和i/o接口的大规模集成芯片,即它本身包含了
除外部设备以外构成微机系统的各个部分,只需接外设即可构成独立的微机应用系统。微机处理
器仅为cpu,cpu是构不成独立的微机系统的。 1.2 参见教材1.1.1节 1.3 参见教材第6页表格 1.4 参见教材表1.4
1.5 参见教材表1.1和表1.2
1.6 当psw=10h 表明选中的为第二组通用寄器 r0~r7 的地址为10h~17h
1.7 程序存储器和数据存储器尽管地址相同,但在数据操作时,所使用的指令不同,选通信号也不
同,因此不会发生错误。
1.8 内部数据 程序 外部数据 程序
1
----------------------- page 2-----------------------
1.10 a=0,psw=0,sp=07,p0~p3=ffh
2 512 51
第22章、5511系列单片机的指令系统 2.1 参见教材2.1节
2.2 因为a 累加器自带零标志,因此若判断某内部ram 单元的内容是否为零,必须将其内容送到
a,jz指令即可进行判断。
2.3 当a=0 时,两条指令的地址虽然相同,但操作码不同,movc 是寻址程序存储器,movx是寻址外
2.7 a=25h (50h)=0 (51h)=25h (52h)=70h 2.8 sp=(61h) (sp)=(24h) sp=(62h) (sp)=(10h) sp=(61h) dpl=(10h) sp=(60h) dph=(24h)
字符串长度1是什么意思 执行结果将0送外部数据存储器的2410单元 2.9 程序运行后内部ram(20h)=b4h,a=90h
2.10 机器码 源程序 7401la: mova,#01h f590lb: movp1,a 23 rl a
b40afacjne,#10,lb
80f6 sjmpla 2.11 anl a,#0fh swap a
anl p1,#0fh orl p1,a sjmp$ 2.12 mov a,r0 xch a,r1 mov r0,a sjmp $
2.13 (1)利用乘法指令
----------------------- page 3-----------------------
mov b,#04hmulabsjmp$
(2) 利用位移指令
rl arl amov 20h,aanl a,#03h (3)用加法指令完成
add a,accmov r0,a ;r0=2amov a,#0 addc a,#0mov b,a ;b存2a的进位 mov a,r0 add a,acc 2.14 xrl 40h,#3ch sjmp $ 2.15 mov a,20h add a,21h da a
mov 22h,a;存和低字节 mov a,#0 addc a,#0
mov 23h,a ;存进位 sjmp $ 2.16 mova,r0 jz ze
mov r1,#0ffh sjmp $ ze:mov r1,#0 sjmp $ 2.17 mov a,50h mov b,51h mul ab mov 53h,b
2 mov b,a mov a,20hanl a,#0fch sjmp $mov r1,a;r1=4amov a,b
mov a,r1 ;存积低位 sjmp $
mov 52h,a sjmp $
2.18 mov r7,#0ah wop:xrl p1,#03h djnz r7,wop sjmp $
2.19 单片机的移位指令只对a,且只有循环移位指令,为了使本单元的最高位移进下一单元的最低位,
必须用大循环移位指令移位4次。
org 0 mova,22h clr c rlc a
mova,20h mov22h,a rlcamova,#0 mov20h,a rlca
mova,21h mov23h,a rlcasjmp $ mov21h,a
3
----------------------- page 4-----------------------
3 msc-51 3 msc-51
第33章、mmsscc--5511单片机汇编语言程序设计
3.1 因为是多个单元操作,为方便修改地址使用间址操作。片外地址用 dptr 指示,只能用movx
指令取数到a,片内地址用r0或r1指示,只能用mov指令操作,因此循环操作外部数据存贮器
→a→ 内部部数据存贮器。
org 0000hinc dptr mov dptr,#1000h inc r0
mov r0,#20h cjne r0,#71h,looploop: movxa,@dptrsjmp $ mov@r0,a
3.2 要注意两高字节相加应加低字节相加时产生的进位,同时要考虑最高位的进位。 org 0 mov 51h,a mov a,r0 mov a,#0 add a,r6 addc a,acc mov 50h,a mov 52h,a mov a,r7 sjmp$ addc a,r1
3.3 a中放小于14h(20)的数,平方表的一个数据占2个字节,可用bcd码或二进制数存放.(如a中放
的是bcd码,则要先化成二进制数再查表。)
org 0 inc a
mov dptr,#tabmovca,@a+dptr add a,acc;a*2mov r6,a push acc sjmp $
movca,@a+dptr tab:db 00,00,00,01,00,04,00,09,00,16h,??
mov r7,a db ??? 04h,00 pop acc
3.4 先用异或指令判两数是否同号,在同号中判大小,异号中正数为大. org 0 bg: mov 22h,21h mov a,20h sjmp $
xrl a,21hcmp:mov a,20h anl a,#80hcjne a,21h,gr jz cmpgr: jnc ag
jb 20h.7,bg mov 22h,21hag:mov 22h,20hsjmp $ sjmp $ 3.5 fosc=6mhz
机器周期数 delay:mov r1,#0f8h 1 loop: mov r3,#0fah 1 djnz r3,$ 2 djnz r1,loop 2 ret 2
(1+(1+2*0xfa+2)*0xf8+2)*12/6mhz = (1+(1+2*250+2)*248+2)*2us = 249.494ms
3.6 将待转换的数分离出高半字节并移到低 4位 加30h;再将待转换的数分离出低半字节并 30h,安
排好源地址和转换后数的地址指针,置好循环次数。
org 0000hmov a,@r0 mov r7,#05h anl a, #0fh mov r0,#20h add a,#30h mov r1,#25h mov @r1,a net: mov a,@r0 inc r0 anl a,#0f0h inc r1
swap a djnz r7,ne add a,#30hsjmp $
4
-
---------------------- page 5-----------------------
mov @r1,a end inc r1
3.7 片内ram 间址寄存器只能有r0和r1两个,而正数、负数和零共需3个寄存器指示地址,这时可
用堆栈指针指示第三个地址,pop和push在指令可自动修改地址。r0指正数存放地址和r1指负数
存放地址 ,sp指源数据存放的末地址,pop指令取源数据,每取一个数地址减1。 org 0000h mov r7,#10h
mov a,#0 mov @r0,a mov r4,a inc r0 mov r5,a ajmp dj mov r6,ane: inc r5
mov r0,#40h mov @r1,a mov r1,#50h inc r1
【篇二:微机原理与接口技术习题答案 - 副本】
3. 3 8086系统中,设ds=1000h,es=2000h,ss=1200h,bx=0300h,si=0200h, bp=0100h,var的偏移量为0600h,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,计算它们的物理地址。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论