|
原程序如下,可實(shí)現(xiàn)發(fā)送功能。 SEND_STRING: MOV R7,#00H STR: MOV DPTR,#STRING MOV A,R7 MOVC A,@A+DPTR MOV DAT,A ;DAT為發(fā)送字母的寄存器 ACALL SEND INC R7 MOV A,DAT CJNE A,#26,STR ;ctrl+z的ascii碼為26,用于確定發(fā)送字符,每次出現(xiàn)一個26為一條信息 RET STRING: DB 'W','e','l','l','c','o','m','e',26 ; 但我需要改成發(fā)送分組的字母,這些字母要組成一條信息,所以只能出現(xiàn)一次26,即發(fā)送'WellcomABC',我改的程序如下,編譯沒問題,但單片機(jī)不能實(shí)現(xiàn)功能,希望大神能指教下問題出在哪? SEND_STRING: MOV R7,#00H MOV R6,#08H STR: MOV DPTR,#STRING MOV A,R7 MOVC A,@A+DPTR MOV DAT,A ACALL SEND INC R7 DJNZ R6,STR STRING: DB 'W','e','l','l','c','o','m','e' ; SEND_STRING1: MOV R7,#00H STR1: MOV DPTR,#STRING1 MOV A,R7 MOVC A,@A+DPTR MOV DAT,A ACALL SEND INC R7 MOV A,DAT CJNE A,#26,STR RET STRING1: DB 'A','B','C',26 ; |
|