我有三个问题,关于单片机程序的,第一个,采用循环结构,试编制能延时50ms的子程序,第二个,如下,
把累加器A中的二进制数转变成3位BCD码,并将百十个位数分别存放在内部RAM的50H,51H,52H单元中。第三题,在内部RAM中,有一个以BLOCK为起始地址的数据块,...
把累加器A中的二进制数转变成3位BCD码,并将百十个位数分别存放在内部RAM的50H,51H,52H单元中。第三题,在内部RAM中,有一个以BLOCK为起始地址的数据块,块放在LEN单元中,请用查表指令编写程序,先检查它们是否是十六进制数中的A~F,若是,则把它们变为ASCII码,若不是,则把他们变为00H。 赶紧的,我在线等,我知道对于高手而言肯定是小意思,拜托拜托!!
展开
1个回答
展开全部
1、循环子程序,延时50ms。
DEL: MOV R7,#100
LP: MOV R6,#248
DJNZ R6,$
DJNZ R7,LP
RET
2、把累加器A中的二进制数转变成3位BCD码,并将百十个位数分别存放在内部RAM的50H,51H,52H单元中。
MOV B,#64H
DIV AB
MOV 50H,A
MOV A,B
MOV B,#0AH
DIV AB
MOV 51H,A
MOV 52H,B
3、在内部RAM中,有一个以BLOCK为起始地址的数据块,块放在LEN单元中,请用查表指令编写程序,先检查它们是否是十六进制数中的A~F,若是,则把它们变为ASCII码,若不是,则把他们变为00H。
这道题要写一会儿。
DEL: MOV R7,#100
LP: MOV R6,#248
DJNZ R6,$
DJNZ R7,LP
RET
2、把累加器A中的二进制数转变成3位BCD码,并将百十个位数分别存放在内部RAM的50H,51H,52H单元中。
MOV B,#64H
DIV AB
MOV 50H,A
MOV A,B
MOV B,#0AH
DIV AB
MOV 51H,A
MOV 52H,B
3、在内部RAM中,有一个以BLOCK为起始地址的数据块,块放在LEN单元中,请用查表指令编写程序,先检查它们是否是十六进制数中的A~F,若是,则把它们变为ASCII码,若不是,则把他们变为00H。
这道题要写一会儿。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询