MOD EQU 7000H<br /> CMR EQU 7001H<br /> SR EQU 7002H<br /> IR EQU 7003H<br /> IER EQU 7004H<br /> BTR0 EQU 7006H<br /> BTR1 EQU 7007H<br /> OCR EQU 7008H<br /> REGTEST EQU 7009H<br /> ALC EQU 700BH<br /> ECC EQU 700CH<br /> EWLR EQU 700DH<br /> RXERR EQU 700EH<br /> TXERR EQU 700FH<br /> TXB EQU 7010H<br /> RXB EQU 7010H<br /> ACR EQU 7010H<br /> AMR0 EQU 7014H<br /> AMR1 EQU 7015H<br /> AMR2 EQU 7016H<br /> AMR3 EQU 7017H<br /> RMC EQU 701DH<br /> RBSA EQU 701EH<br /> CDR EQU 701FH<br /> <br /> ORG 0000H<br /> LJMP MAIN<br /> ORG 0003H<br /> LJMP INT0 <br /> ORG 0050H<br />MAIN:<br /> MOV R0,#07fH<br /> CLR A<br /> MOV @R0,A<br /> DJNZ R0,$-1<br /> MOV SP,#60H<br /> SETB P1.2<br />LL0: MOV DPTR,#MOD ;进入复位模式<br /> MOV A,#01H<br /> MOVX @DPTR,A<br /> NOP<br /> MOVX A,@DPTR<br /> JNB ACC.0,LL0<br /> MOV DPTR,#CDR<br /> MOV A,#0C8H<br /> MOVX @DPTR,A<br /> NOP<br /> MOV DPTR,#OCR<br /> MOV A,#1AH<br /> MOVX @DPTR,A<br /> NOP<br /> MOV DPTR,#BTR0<br /> MOV DPTR,#BTR1<br /> MOV A,#0FFH<br /> MOVX @DPTR,A<br /> NOP<br /> MOV DPTR,#AMR1<br /> MOV A,#0FFH<br /> MOVX @DPTR,A<br /> NOP<br /> MOV DPTR,#AMR2<br /> MOV A,#0FFH<br /> MOVX @DPTR,A<br /> NOP<br /> MOV DPTR,#AMR3<br /> MOV A,#0FFH<br /> MOVX @DPTR,A<br /> NOP<br />AS2: MOV DPTR,#MOD ;回到操作模式<br /> MOV A,#04H<br /> MOVX @DPTR,A<br /> MOVX A,@DPTR<br /> CJNE A,#4,AS2<br /> NOP<br /> MOV DPTR,#IER ;只开放接收中断<br /> MOV A,#1<br /> MOVX @DPTR,A<br /> SETB EX0<br /> SETB EA<br /> NOP<br /> NOP<br />AS3: NOP<br /> MOV P2,#7FH<br /> MOV R0,#TXB ;发送缓冲器地址<br /> MOV R7,#11<br /> MOV DPTR,#TXBUF ;待发送内容(待修改,应为IDATE)<br /> CLR A<br />A5: MOV A,B<br /> MOVC A,@A+DPTR<br /> MOVX @R0,A<br /> INC R0<br /> INC B<br /> DJNZ R7,A5<br /><br /> MOV R0,#CMR<br /> MOV A,#10H ;自收发命令<br /> MOVX @R0,A<br /> NOP<br /> JNB 1,$ ;等待接收中断<br /> CLR 1<br /> ;ACALL DLY<br /> MOV R7,#11<br /> MOV DPTR,#RXB ;接收内容送到IDATA-50H显示<br /> MOV R1,#50H<br />A4: NOP<br /> MOVX A,@DPTR<br /> MOV @R1,A<br /> INC DPTR<br /> INC R1<br /> DJNZ R7,A4<br /> CLR P1.2<br /> NOP<br /> AJMP $<br />INT0: NOP ;接收中断<br /> SETB 1<br /> RETI<br /><br />DLY:CLR A<br />MOV R5,A<br />MOV R6,A<br />L5:NOP<br />NOP<br />DJNZ R5,L5<br />DJNZ R6,L5<br />RET<br />TXBUF:<br />DB 08H,83H,0E0H,31H,32H,13H,14H,15H,16H,17H,18H ;待发送数据<br /> END |
|