微机原理与应用第四章_习题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ORG 1000H BLOCK DATA 30H LEN DATA 10H MINI DATA 20H MOV R0,#BLOCK MOV R7,LEN DEC R7 MOV A,@R0 LOOP: CLR C MOV B,A INC R0 MOV A,@R0 SUBB A,B JC NEXT MOV A,B SJMP NEXT1 NEXT:ADD A,B NEXT1:DJNZ R7,LOOP MOV MINI,A SJMP $ END
方法二:
START: ORG 0030H MOV R7,#7 MOV R3,#0 MOV A,30H MOV R0,#31H ADD A,@R0 JNC NEXT INC R3 INC R0 DJNZR7, LOOP MOV R2, A ;右移3位相当于除8 MOV R7,#03H LOOP2: CLR C MOV A,R3 RRC A MOV R3,A MOV A,R2 RRC A MOV R2,A DJNZ R7,LOOP2 MOV 38H,R2 SJMP $ END
13:假设变量X存入VAR单元,函数F存入 FUNC单元,编程按下式要求给F赋值。
1若X 0 F 0若X 0 1若X 0
ORG 1000H VAR DATA 30H FUNC DATA 31H MOV A,VAR JNB ACC.7,GOE MOV FUNC,#FFH SJMP FINISH GOE: JNZ GR MOV FUNC,#0 SJMPFINISH GR: MOV FUNC,#1 FINISH: SJMP $ END
第四章 习题
5:试求内部RAM30H~37H单元中8个无 符号数的算术平均值,结果存入38H单元。
方法一: ORG 1000H
MOV R0,#30H MOV R7,#08H MOV R2,#00H MOV R3,#00H CLR C LOOP1:MOV A,R3 ADD A,@R0 MOV R3,A MOV A,R2 ADDC A,#源自文库0H MOV R2,A INC R0 DJNZ R7,LOOP1 ;右移3位相当于除8 MOV R7,#03H LOOP2: CLR C MOV A,R2 RRC A MOV R2,A MOV A,R3 RRC A MOV R3,A DJNZ R7,LOOP2 MOV 38H,R3 SJMP $ END
ABCD EFGH
ANL ANL MOV MOV ANL ANL ANL ORL CPLC MOV SJMP END C,C1 C,D1 F0,C C,E1 C,F1 C,G1 C,H1 C,F0 Y1,C $
ORG 1000H A1 BIT P1.0 B1 BIT P1.1 C1 BIT P1.2 D1 BIT P1.3 E1 BIT P1.4 F1 BIT P1.5 G1 BIT P1.6 H1 BIT P1.7 Y1 BIT P3.0 TEST: MOV C,A1 ANL C,B1
LOOP:
方法二:
MOV SP, #2FH MOV DPTR,#2000H MOV R7,#50H MOVX A,@DPTR PUSH A INC DPL ;或者INC DJNZR7,NEXT SJMP $ END
NEXT:
DPTR
7:在内部RAM的BLOCK开始的单元中有 一无符号数据块,数据块长度存入LEN单元。 试编程求其中的最小数并存入MINI单元。
LOOP: NEXT:
6:试编一数据块搬迁程序。将外部 RAM2000H~204FH单元中的数移入内 部RAM30H~7FH单元中。
方法一:
ORG 1000H MOV DPTR,#2000H MOV R7,#50H MOV R0,#30H MOVX A,@DPTR MOV @R0,A INC R0 INC DPL DJNZ R7,LOOP SJMP $ END
16
比较简单,自己发挥
18
见 http://doc.baidu.com/view/0018243 e87c24028915fc3a7.html 其中第二题可以参考设计这道题的程序
23:设A~H分别连接到P1.0~P17,Y连接到 P3.0,试用布尔指令编制一芯片测试程序。
逻辑表达式: Y
方法二:
START: ORG 0030H MOV R7,#7 MOV R3,#0 MOV A,30H MOV R0,#31H ADD A,@R0 JNC NEXT INC R3 INC R0 DJNZR7, LOOP MOV R2, A ;右移3位相当于除8 MOV R7,#03H LOOP2: CLR C MOV A,R3 RRC A MOV R3,A MOV A,R2 RRC A MOV R2,A DJNZ R7,LOOP2 MOV 38H,R2 SJMP $ END
13:假设变量X存入VAR单元,函数F存入 FUNC单元,编程按下式要求给F赋值。
1若X 0 F 0若X 0 1若X 0
ORG 1000H VAR DATA 30H FUNC DATA 31H MOV A,VAR JNB ACC.7,GOE MOV FUNC,#FFH SJMP FINISH GOE: JNZ GR MOV FUNC,#0 SJMPFINISH GR: MOV FUNC,#1 FINISH: SJMP $ END
第四章 习题
5:试求内部RAM30H~37H单元中8个无 符号数的算术平均值,结果存入38H单元。
方法一: ORG 1000H
MOV R0,#30H MOV R7,#08H MOV R2,#00H MOV R3,#00H CLR C LOOP1:MOV A,R3 ADD A,@R0 MOV R3,A MOV A,R2 ADDC A,#源自文库0H MOV R2,A INC R0 DJNZ R7,LOOP1 ;右移3位相当于除8 MOV R7,#03H LOOP2: CLR C MOV A,R2 RRC A MOV R2,A MOV A,R3 RRC A MOV R3,A DJNZ R7,LOOP2 MOV 38H,R3 SJMP $ END
ABCD EFGH
ANL ANL MOV MOV ANL ANL ANL ORL CPLC MOV SJMP END C,C1 C,D1 F0,C C,E1 C,F1 C,G1 C,H1 C,F0 Y1,C $
ORG 1000H A1 BIT P1.0 B1 BIT P1.1 C1 BIT P1.2 D1 BIT P1.3 E1 BIT P1.4 F1 BIT P1.5 G1 BIT P1.6 H1 BIT P1.7 Y1 BIT P3.0 TEST: MOV C,A1 ANL C,B1
LOOP:
方法二:
MOV SP, #2FH MOV DPTR,#2000H MOV R7,#50H MOVX A,@DPTR PUSH A INC DPL ;或者INC DJNZR7,NEXT SJMP $ END
NEXT:
DPTR
7:在内部RAM的BLOCK开始的单元中有 一无符号数据块,数据块长度存入LEN单元。 试编程求其中的最小数并存入MINI单元。
LOOP: NEXT:
6:试编一数据块搬迁程序。将外部 RAM2000H~204FH单元中的数移入内 部RAM30H~7FH单元中。
方法一:
ORG 1000H MOV DPTR,#2000H MOV R7,#50H MOV R0,#30H MOVX A,@DPTR MOV @R0,A INC R0 INC DPL DJNZ R7,LOOP SJMP $ END
16
比较简单,自己发挥
18
见 http://doc.baidu.com/view/0018243 e87c24028915fc3a7.html 其中第二题可以参考设计这道题的程序
23:设A~H分别连接到P1.0~P17,Y连接到 P3.0,试用布尔指令编制一芯片测试程序。
逻辑表达式: Y