《单片机》课后作业答案

发布 2023-05-19 02:40:28 阅读 6753

单片机mcs-51

习题3-8 已知(a)=7ah, (r0)=30h, (30h)=a5h, (psw)=80h, 写出分别执行下列各条指令后a和psw(cy,ac,f0,rs1,rs0,ov,-,p)的结果。

1) xch a, r0 (a)= 30h , psw)= 80h

2) xch a, 30h (a)= a5h , psw)= 80h

3) xch a, @r0 (a)= a5h , psw)= 80h 同(2)

4) xchd a, @r0 (a)= 75h , psw)= 81h

5) swap a (a)= a7h , psw)= 81h

6) add a, r0 (a)= aah , psw)= 04h 有溢出

7) add a, 30h (a)= 1fh , psw)= 81h

8) add a, #30h (a)= aah , psw)= 04h 同(6)

9) addc a, 30h (a)= 20h , psw)= c1h 有辅助进位

10) subb a, #30h (a)= 49h , psw)= 01h

习题3-11 已知(a)=83h, (r0)=17h, (17h)=34h,写出下列程序执行后a内容。

anl a, #17h (a)= 03h

orl 17h, aa)= 03h ,(17h)= 37h

xrl a, @r0 (a)= 34h

cpl aa)= cbh

习题3-13 分析下列程序执行后位地址00h、01h中的内容为何值?(p1)=?

clr cc)=0

mov a, #66h ;(a)= 66h

jc loop1 ;next line

cpl cc)= 1

setb 01h01h)=1

loop1:orl c, acc.0 ; c)= 1

jb acc.2, loop2 ;jump to loop2

clr 00h

loop2:mov p1, a ; p1)= 66h

位地址00h的内容不变, 位地址01h的内容为 1

习题4-6 阅读程序,说明功能。

1) mov r0, #50h

mov a, @r0

mov @r0, 60h

mov 60h, a

程序功能: 50h和60h单元内容交换。

2) clr c

mov a, r0

add a, r2

da amov r4, a

mov a, r1

addc a, r3

da amov r5, a

sjmp $

功能:4位bcd码加法,即 r1: r0 + r3: r2 r5: r4

3) mov a, #76h

mov r1, #00h

mov r0, #08h

loop1: rlc a

jnc loop2

inc r1

loop2: djnz r0,loop1

mov a, r1

sjmp $

功能:统计a中1的个数存入a中。

习题4-10 编程把内部ram 30h~3fh单元清零。

mov r0, #30h

mov r7, #

clr aloop:

mov @r0, a

inc r0

djnz r7, loop

sjmp $

习题4-11 内部ram 30h开始有若干无符号数,长度在2fh单元,找最小值送入30h

mov r0, #31h第2个数据的地址。

dec 2fh比较次数

loop:mov a , r0

cjne a , 30h, loop1

loop1:jnc nexta>=30h, 转到next

mov 30h, aa<30h, 传至30h单元

next:inc r0下一个数据的地址

djnz 2fh, loop ;检查比较次数

sjmp $

习题4-12 外部ram 2000h开始有100个无符号数,统计奇数和偶数的个数送入30h、31h

mov dptr, #2000h ; 数据起始地址。

mov r7, #100数据个数。

mov 30h, #0奇数数据的计数单元。

mov 31h, #0偶数数据的计数单元。

loop:movx a , dptr

rrc a或 anl a, #01h

jnc evenjz even

inc 30h

sjmp next

even:inc 31h

next: inc dptr ;下一个数据的地址

djnz r7, loop

sjmp $

习题4-13 将外部ram 1000h开始的100个数据传送到外部ram 2000h开始的连续单元。

mov dptr, #1000h数据起始地址。

mov r7, #100数据个数。

loop:movx a , dptr

push dph

mov dph, #20h

movx @dptr, a

pop dph

inc dptr下一个数据的地址

djnz r7, loop

sjmp $

习题6-6 已知fosc=6mhz,要求定时分别为0.1ms、1ms、10ms,t0分别工作在模式,定时器初值各是多少?

fosc=6mhz,一个机器周期为2us

定时0.1ms

模式0 100us=(213-x)×2

计数初值x= 213-50=8192 -50=8142

th0=8142/ 25 =feh,tl0=0eh

模式1 100us=(216-x)×2

计数初值x= 216-50=65536 -50=65486

th0=65486/ 28 =ffh,tl0=206=ceh

模式2 100us=(28-x)×2

计数初值x= 28-50=256 -50=206

th0=tl0=206=ceh

fosc=6mhz,一个机器周期为2us

定时1ms模式0 1000us=(213-x)×2

计数初值x= 213-500=8192 -500=7692

th0=7692/ 25 =240=f0h,tl0=12=0ch

模式1 1000us=(216-x)×2

计数初值x= 216-500=65536 -500=65036

th0=65036/ 28 =254=feh,tl0=12=0ch

模式2 1000us=(28-x)×2

计数个数500> 28,一次定时溢出无法实现。

可以定时0.1ms,软件计数10次。

fosc=6mhz,一个机器周期为2us

定时10ms

模式0 10000us=(213-x)×2

计数初值x= 213-5000=8192 -5000=3192

th0=3192/ 25 =99=63h,tl0=24=18h

模式1 10000us=(216-x)×2

计数初值x= 216-5000=65536 -5000=60536

th0=60536/ 28 =236=ech,tl0=120=78h

模式2 10000us=(28-x)×2

计数个数5000> 28,一次定时溢出无法实现。

可以定时0.1ms,软件计数100次。

习题6-10 已知fosc=6mhz,t0外部计数每计1000个脉冲使t1开始2ms定时,定时时间到t0又开始计数,反复循环。

t0计数1000个,模式1的计数初值为。

x= 216-1000=65536 -1000=64536

th0=64536/ 28 =252,tl0=24

t1定时2ms: 2000us=(216-x)×2

x= 216-1000=65536 -1000=64536

th1=64536/ 28 =252,tl1=24

确定tmod:0001 0101b=15h

程序设计:org 0000h

sjmp main

org 000bh

sjmp brt0

org 001bh

sjmp brt1

main:mov tmod, #15h

mov th0, #

mov tl0, #

setb tr0启动t0开始计数。

setb et0t0开中断。

setb et1t1开中断。

setb eacpu开中断。

sjmp $

brt0:

clr tr0t0停止计数

mov th1, #

mov tl1, #

setb tr1启动t1开始定时。

retibrt1:

clr tr1t1停止定时。

mov th0, #

mov tl0, #

setb tr0启动t0开始计数。

retiend

单片机作业答案

作业答案2 第2章 mcs 51单片机指令系统与汇编语言程序设计。4.假定累加器a中的内容为30h,执行指令1000h movc a,a pc后,把程序存储器 1031h 单元的内容送入累加器a中。6.指出下列指令中的源操作数的寻址方式。1 mov r0,30h立即寻址。2 mov a,30h直接寻...

答案单片机作业

作业一答案。1 简述cc2530的存储空间是如何映射的?答 cc2530物理存储器的两种主要存储介质 sram flash 虚拟存储空间的种类及地址范围如下 1 code 0x0 0xffff 64kb 2 data 0x00 0xff 节 3 xdata 0x0 0xffff 64kb 4 sfr...

单片机A作业答案

1.串行通信接收数据时通常采用 a a 接收中断或串行口中断接收数据 b 发送时检测是否有接收数据。c 周期性检测是否有接收数据d 实时检测接收标志位接收数据。2.下列哪一个事件是高速输出器 hso 的内部事件?b a 复位单片机 b 软件定时器 c 在管脚上输出高电平 d 在管脚上输出低电。3.0...