单片机第3章作业

发布 2022-07-18 08:24:28 阅读 3663

单片微型计算机与接**术思考与习题3

3.1 编写程序,把片外数据存储器0000h~0050h中的内容传送到片外数据存储器20h~70h中。

解:org 0000h

mov dptr,#0000h

mov r0,#20h

loop:movx a,@dptr

mov @r0 ,a

inc dptr

inc r0

cjne r0,#71h,loop

sjmp $

end3.3 设x在累加器a中(0),求x2 并将平方数高位存放在r7中,低位存放在r6中。试用查表法编出子程序。

解:org 0000h

mov dptr,#tab

add a,acc

push acc

movc a,@a+dptr

mov r7,a

pop acc

inc amovc a,@a+dptr

mov r6,a

sjmp $

tab:db 00,00,00,01,00,04,00,09,00,16h,….

db … 04h,00

3.5若单片机的晶振频率为6mhz,求下列延时子程序的延时时间。

delay: mov r1,#0f8h

loop: mov r3,#0fbh

djnz r3,$

djnz r1,loopret解:

fosc=6mhz, mc=2

机器周期。delay: mov r1,#0f8h1

loop: mov r3,#0fbh1

djnz r32

djnz r1,loop2

ret21+2+(1+2*251+2)*248)*2=250.48ms

3.7 从内部存储器30h单元开始,有16个数据,试编一个程序,把其中的正数、负数分别送40h和50h开始的存储单元,并分别将正数、负数和零的个数送r4,r5,r6。

解:org 0000h

mov r7,#10h

mov a,#

mov r4,a

mov r5,a

mov r6,a

mov r0,#40h

mov r1,#50h

mov sp,#2fh

next:pop acc

jz zer0

jb acc.7,ne

inc r4

mov @r0,a

inc r0

ajmp dj

ne: inc r5

mov @r1,a

inc r1

ajmp dj

zer0:inc r6

dj: djnz r7,next

sjmp $

end3.9 编写一段程序,将存放在自data单元开始的一个4字节数(高位在高地址)取补后送回原单元。

org 0000h

mov r7,#03h

mov r0,#data

mov a,@r0

cpl aadd a,#

mov @r0,a

ab:inc r0

mov a,@r0

cpl aaddc a,#

djnz r7,ab

sjmp $

3.11 将内部ram的20h单元中的十六进制数变换成asc码存入22h,21h单元中,高位存入22h单元中,要求用子程序编写转换部分。

org 0000h

mov a,20h

anl a,#0f0h

swap a

acall asc

mov 22h,a

mov a,20h

anl a,#0fh

acall asc

mov 21h,a

sjmp $

asc:cjne a,#0ah,ne

ne: jc a30

add a,#37h

reta30:add a,30h

ret end

3.13 用位操作指令实现下面的逻辑方程(x表示逻辑乘,+表示逻辑加):

p1.2=(acc.3 p1.4)+(

org 0000h

mov c,acc.3

anl c,p1.4

anl c,/acc.5

mov 20h,c

mov c,b.4

cpl c

anl c,/p1.5

orl c,20h

mov p1.2,c

sjmp $end

单片机9。10章作业

单片机第 章习题。一 问答题。1 ale端的作用是什么?答 ale是地址锁存允许信号端 编程脉冲输入端。当89c51上电正常工作后,ale引脚不断向外输出正脉冲信号,此频率为振荡器频率的六分之一。cpu访问片外存储器时,会丢失一个脉冲。当对片外ram进行读 写时,ale 信号不是周期性的。在其他情况...

单片机作业答案8章

第 章习题。一 问答题。1 说明51单片机读端口锁存器的必要性,为什么?答 mcs 51系列单片机有不少指令可以直接进行端口操作,例如 anl orl xrl jbc cpl inc dec djnz mov 这些指令的执行过程分成 读 修改 写 三步,即先将端口的数据读入cpu,在alu中进行运算...

单片机一二章作业答案

单片机第一,二章作业解答。一 填空题。1.二进制数11010111b转换成十六进制数是 0d7h 十进制数215转换成二进制数是 11010111b 2.8031单片机内部ram中作为工作寄存器区的单元的地址范围是 00h 1fh 3.8031单片机外部ram和i o的地址空间容量为 64kb 4....