硬件:mt8888发码解码程序请大虾帮忙
各位大虾:
> > 这是MT8888发码,解码程序,发码部分已经成功,不过TOUT端是接一个电阻与IN端连
到变压器一端,变压器另一端接地,现在作解码时这样连行吗?
> > 还有我在解码时查询状态寄存器第三位怎么没反应,用中断也不行,是不是硬件连接的问
题
>
> p2.7 cs
> p2.6 rs0
> wr-wr
> rd-rd
>
> ORG 0000H
> > LJMP START
> > ;ORG 0003H
> > ;LJMP PIPO
> > ORG 0100H
> > START: CLR A
> > MOV DPTR,#4000H ;写控制寄存器
> > MOVX @DPTR,A
> > MOV A,#08H
> > MOVX @DPTR,A
> > MOV A,#03H
> > MOVX @DPTR,A
> > MOV A,#04H
> > MOVX @DPTR,A
> > MOV A,#00H
> > ; MOV IE,#81H
> > ; MOV TCON,#01H
> > MOV R0,#30H
> > MOV @R0,#00H
> > MOV DPTR,#4000H ;读状态寄存器
> > WAIT: MOVX A,@DPTR
> > JNB ACC.2,WAIT ;这一步为什么老过不去呢???
> > MOV DPTR,#1000H
> > MOVX A,@DPTR
> > MOV @R0,A
> > LOOP: CJNE @R0,#0AH,LOOP ;若收到号码0则拨预设号码
> > CLR EA
> > CLR A
> > MOV DPTR,#4000H
> > MOVX @DPTR,A
> > MOV A,#08H
> > MOVX @DPTR,A
> > MOV A,#02H
> > MOVX @DPTR,A
> > MOV A,#0DH
> > MOVX @DPTR,A
> > MOV R7,#0CH
> > MOV R0,#00H
> > CLR A
> > LOOP6:MOV A,R0
> > MOV R0,A
> > INC R0
> > ADD A,#0DH
> > MOVC A,@A+PC
> > ANL A,#0FH
> > MOV DPTR,#1000H
> > MOVX @DPTR,A
> > LCALL DELAY
> > DJNZ R7,LOOP6
> > AJMP JIESHU
> > TAB: DB 0AH
> > DB 01H
> > DB 03H
> > DB 06H
> > DB 07H
> > DB 01H
> > DB 03H
> > DB 02H
> > DB 06H
> > DB 09H
> > DB 08H
> > DB 09H
> >
> > JIESHU:
> > AJMP $
> >
> >
> > DELAY:MOV R4,#0FFH
> > LOOP2:MOV R3,#0FFH
> > LOOP1:NOP
> > DJNZ R3,LOOP1
> > DJNZ R4,LOOP2
> > RET
> >
> > ;PIPO: PUSH ACC
> > ; PUSH DPH
> > ; PUSH DPL
> > ; MOV R0,#30H
> > ; MOV DPTR,#1000H
> > ; MOVX A,@DPTR
> > ; POP DPL
> > ; POP DPH
> > ; POP ACC
> > ; RETI
发表时间:2002年6月6日13:10:00