|
- <span style="line-height: 1.5;">ORG 0000H</span>
- JMP START
- ORG 0030H
- START:
- MOV P3,#0F7H
- MOV P1,#0FCH
- MAIN:
- JB P1.4,NEXT1
- JNB P1.6,NEXT2
- JNB P1.3,NEXT3
- MOV P3,#0D7H
- MOV R0,#10101010B
- CALL FASHUJU
- CALL DeLay100MS
- JMP MAIN
- NEXT2:
- MOV P3,#0C7H
- MOV R0,#01010101B
- CALL FASHUJU
- CALL DeLay100MS
- JMP MAIN
- NEXT3:
- MOV P3,#0D5H
- MOV R0,#00001111B
- CALL FASHUJU
- CALL DeLay100MS
- JMP MAIN
- NEXT1:
- JB P1.5,NEXT4
- JNB P1.6,NEXT5
- JNB P1.3,NEXT6
- MOV P3,#0F6H
- MOV R0,#11001100B
- CALL FASHUJU
- CALL DeLay100MS
- JMP MAIN
- NEXT5:
- MOV P3,#0F4H
- MOV R0,#00110011B
- CALL FASHUJU
- CALL DeLay100MS
- JMP MAIN
- NEXT6:
- MOV P3,#0E6H
- MOV R0,#11110000B
- CALL FASHUJU
- CALL DeLay100MS
- JMP MAIN
- NEXT4:
- JMP START
- ;=========================發(fā)數(shù)據(jù)子函數(shù)============================
- FASHUJU:
- MOV R1,#08
- CALL FASHEYINDAOMA
- JIXU1:
- MOV A,R0
- RRC A
- JC NEXT0
- CALL FA0
- DJNZ R1,JIXU1
- CALL Delay
- RET
- NEXT0:
- CALL FA1
- DJNZ R1,JIXU1
- CALL Delay
- RET
- ;============================發(fā)數(shù)據(jù)0===================================
- FA0:
- SETB P3.3
- CALL DeLay200MS
- CLR P3.3
- CALL DeLay100MS
- RET
- ;============================發(fā)數(shù)據(jù)1===================================
- FA1:
- SETB P3.3
- CALL DeLay100MS
- CLR P3.3
- CALL DeLay200MS
- RET
- ;========================引導碼發(fā)送子程序=============================
- ;
- ;
- ;
- ;======================================================================
- FASHEYINDAOMA:
- MOV R6,#3
- JIXU0:
- SETB P3.3
- CALL DeLay400MS
- CLR P3.3
- CALL DeLay400MS
- DJNZ R6,JIXU0
- RET
- ;===============================延時400MS子程序========================
- DeLay400MS:
- MOV R7,#63
- L1:
- DJNZ R7,L1
- RET
- ;===============================延時200MS子程序========================
- DeLay200MS:
- MOV R7,#30
- L2:
- DJNZ R7,L2
- RET
- ;===============================延時100MS子程序========================
- DeLay100MS:
- MOV R7,#11
- L3:
- DJNZ R7,L3
- RET
- Delay:
- MOV R7,#10
- LLL:
- DJNZ R7,LLL
- RET
- END
復制代碼
|
|