关于用PIC16F54控制82C55A.html">82C55A.html">82C55A.html">82C55A的问题小妹最近正在做一个并口的测试,是用PIC16F54控制82C55A.html">82C55A.html">82C55A.html">82C55A来对收到的数据再发送出去我写了一段程序,可是接收到的数据不对,请各位帮我看看 ORG 0x1FF ; processor reset vector goto MAIN ORG 0x000MAIN CLRWDT NOP MOVLW 00H TRIS 5 TRIS 6 CLRF PORTA CLRF PORTB;-------INITIALIZE 82C55A.html">82C55A-------------- MOVLW CNTL MOVWF PORTA NOP NOP MOVLW ICW MOVWF PORTB NOP NOP LOOP CALL REC_C MOVF DATA2,W ANDLW 03H XORLW 00H BTFSS STATUS,Z GOTO LOOP CALL RECE_D CALL SEND_D CALL JUDC CALL RECE_D CALL SEND_D CALL JUDC CALL JY_C CALL JY_C CALL JUDC CLRWDT GOTO MAIN;-------------JUDGE C--------------------JUDC CALL REC_C MOVF DATA2,W ANDLW 03H XORLW 00H BTFSC STATUS,Z GOTO LOOP CLRWDT RETLW 0;---------CONSTROL 82C55 C------------JY_C CALL REC_C RLF DATA2,1 RLF DATA2,1 RLF DATA2,1 RLF DATA2,1 CALL SEND_C RETLW 0;----------RECE DATA FROM A------------------- RECE_D MOVLW ARX NOP MOVWF PORTA NOP MOVLW 0FFH TRIS 6 CALL DELAY1 MOVF PORTB,W MOVWF DATA1 NOP RETLW 0;----------SEND DATA FROM B----------------------SEND_D MOVLW BTX MOVWF PORTA NOP NOP MOVLW 00H TRIS 6 NOP MOVF DATA1,W; MOVLW 55H MOVWF PORTB CALL DELAY1 NOP NOP RETLW 0;--------------CONTROL C-----------------------REC_C MOVLW CRX MOVWF PORTA NOP NOP; CLRF PORTB MOVLW 0FH TRIS 6 NOP NOP MOVF PORTB,W MOVWF DATA2 RETLW 0;-------------CONTROL C-----------------------SEND_C MOVLW CTX MOVWF PORTA NOP NOP MOVLW 0FH TRIS 6 NOP NOP MOVF DATA2,W MOVWF PORTB NOP NOP RETLW 0end对方也是一块82C55A.html">82C55A,第一组数送出后,收到的如果是送出的数据则继续送第二组,以此类推。
|