- 375
- 0
- 约 9页
- 2016-03-31 发布于重庆
- 举报
单片机原理与应用第四章作业答案
4-9 试计算片内RAM区40H~47H单元中8个数据的平均值,结果存放在4Ah中
;说明:
先对8个数求和,结果放在30h,31h;然后用右移3次求平均。
ORG 0000H
SJMP MAIN
ORG 0030H
MIAN: MOV R0,#40H
MOV R1,#30H
MOV 30H,#00H
MOV 31H,#00H
MOV R2,#8
CLR C
L1: MOV A,@R1
ADDC A,@R0
MOV @R1,A
INC R0
INC R1
MOV A,@R1
ADDC A,#00H
MOV @R1,A
DEC R1
DJNZ R2,L1
INC R1
L2: MOV R2,#03H
MOV A,@R1
RRC A
MOV @R1,A
INC R1
MOV A,@R1
RRC A
MOV @R1,A
DEC R1
DJNZ R2,L2
DEC R1
MOV 4AH,@R1
SJMP $
4-10 在起始地址为2100H,长度为64H的数表中查找ASCII码’F’,如果有,将其值送到1000H单元,如果没有,将0FFH送1000H单元.
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN: MOV R2,#64
MOV DPTR,#2100H
L2: MOVX A,@DPTR
CJNE A,#’F’,L1
MOV DPTR,#1000H
MOV A,#00H
MOVX @DPTR,A
SJMP LAST
L1: INC DPTR
DJNZ R2,L2
MOV A,#0FFH
MOVX @DPTR,A
LAST: SJMP $
4-11 试编写将片内40H~60H 单元中的内容传送到外部RAM以2000h为首地址的存放区域中,并将原数据全部清零。
ORG 0000H
SJMP MAIN
ORG 0030H
MIAN: MOV R0,#40H
MOV DPTR,#2000H
MOV R1,#20H
L1: MOV A,@R0
MOVX @DPTR,A
MOV @R0,#00H
INC R0
INC DPTR
DJNZ R1,L1
SJMP $
4-12 编写,内部RAM50H‐59H 10个单元内容的平均值,并存放在5AH单元。
ORG 0000H
SJMP MAIN
ORG 0030H
MIAN: MOV R1,#50H
MOV 30H,#00H
MOV 31H,#00H
MOV R2,#0AH
MOV 5AH,#00H
L1: MOV A,@R1
ADD A,@R1
MOV 30H,A
MOV A,#00H
ADDC A,31H
MOV 31H,A
INC R1
DJNZ R2,L1
MOV R3,31H
MOV R2,30H
MOV R4,#10
ACALL DIV16_8
MOV 5AH,R5
SJMP $
;*********************************
; 除法子程序中 ;被除数(R3,R2),除数(R4),结果(R6,R5)
;*********************************
DIV16_8: CLR A
MOV R5,A
MOV R6,A
CLR PSW.5
GAOWDIV: CLR C
MOV A,R3
SUBB A,R4
JC LOOP2
MOV R3,A
INC R6
SJMP GAOWDIV
; MOV A,R6
; ADDC A,#00H
; MOV R6,A
LOOP2: MOV R7,#08H
DIWDIV: CLR C
; MOV A,R5
;RLC A
;MOV R5,A
MOV A,R2
RLC A
MOV R2,A
MOV A,R3
RLC A
MOV R3,A
MOV PSW.5,C
CLR C
SUBB A,R4
JB PSW.5,DIWDIV1
JC DIWDIV2
DIWDIV1: MOV R3,A
INC R2
DIWDIV2: DJNZ R7,DIWDIV
MOV A,R2
MOV R5,A
CLR PSW.5
RET
;********************************
4-14 试编写内部RAM40H为首地址的连续20个单元的内容按降序排列,并存放到外部RAM 2000H为首地址的存储区中。
汇编程序:
Size equ 20 ;数据个数
Array equ 40h ;数据起始地址
Change bit 0 ;交换标志
ORG 0
原创力文档

文档评论(0)