1、采集的温度放在A,54H为下限温度,55H为温度上限,小于下限升温,大于下限降温。
CJNE A,55H,LOOP
AJMP FH
LOOP: JNC JW
CJNE A,54H,LOOP1
AJMP FH
LOOP1:JC SW
FH:RET
2、编写程序,将内部RAM的20H~2FH共16个连续单元清零
MOV R0,#20H
MOVR7,#16
LOOP:MOV @R0,#00H
INC R0
DJNZ R7,LOOP
END
3、将外部RAM5500H,开始内容送到内部RAM40~4FH
MOV R1,#40H
MOV DPTR,#5500H
MOV R7,#16
LOOP:MOVX A,@DPTR
MOV @R1,A
INC R0
INC DPTR
DJNZ R7,LOOP
END
4、将内部RAM31H开始的10个无符号数值相加结果存入30H单元,设和不超过8位
法一:法二:
MOV R0,#31H MOV R0,#31H
MOV R7,#10 MOV R7,#09
CLR A MOV A,@R0
LOOP:ADD A,@R0 LOOP:INC R0
INC R0 ADD A,@R0
DJNE R7,LOOP DJNE R7,LOOP
MOV 30H,A MOV 30H,A
END END
5、已知两个十进制的数分别在内部RAM 40H单元和50H开始存放(低位在前),其中字
节长度存放在内部RAM 30H中,编程实现十进制求和,并把所求和结果存放在40H开始的单元中
MOV R0,#40H
MOV R1,#50H
CLR C
LOOP:MOV A,@R0
ADDC A,@R1
DA A
MOV @R0,A
INC R0
INC R1
DJNE 30H,LOOP
CLR A
ADDC A,#00H
MOV @R0,A 最高位要进1情况
END
6、内部RAM 30H,31H单元分别存放在两位BCD码形式表示的被减数和减数(70-28=42),
两者相减后的差仍以BCD码形式存放在32H中
CLR C
MOV A,#9AH
SUBB A,#28H
ADD A,#70
DA A
END
7、将A的低四位传到P1口的低四位,而P1口的高四位不变
ANL A,#0FH
ANL P1,#0F0H
ORL P1,A
8、将A的数据拆成2个半字节,分别传送到30H,31H的低四位,而30H,31H的高四位不
变
MOV R0,A
ANL A,#OFH
ANL 30H,#0F0H
ORL 30H,A
MOV A,R0
SWAP A。