C
cwt
Guest
Moi ..
Tällä hetkellä olen yrittänyt annetun PIC16F84 toimimaan sarjapäätettä rinnakkain tietojen muuntimen ..
I'll liittää minun lähdekoodin tästä ..
Ei ongelma-ala, kun yritän minun koodi.
The 8LEDs (edustaa 8 rinnakkain bittiä) ei syttyä vastaavasti.Joskus tulee oikea tuotos, joskus tapana.Suurimman osan ajasta, se on väärä tuotos.
<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Surullinen" border="0" />
LUETTELO p = 16F84
include "P16F84.inc"
;------------------------------------------------- -----------------
CBLOCK 0x20; alkaen osoite yleinen diaari
BIT_COUNTER
NEXT_BIT
DELAY_COUNT
TEMP_STORE
ENDC
;------------------------------------------------- -----------------
BSF STATUS, RP0; alustaa RA0 syötteenä
MOVLW 0x01
MOVWF TRISA
BCF STATUS, RP0
CLRF PORTA
BSF STATUS, RP0; initialise portB tuotokseksi
MOVLW 0x00
MOVWF TRISB
BCF STATUS, RP0
CLRF PORTB
Goto START; mene päävalikkoon ohjelma
;------------------------------------------------- -----------------START_DELAY MOVLW 0x0C; subroutine viivyttää 52us
MOVWF DELAY_COUNT
START_WAIT NOP
DECFSZ DELAY_COUNT, 1
Goto START_WAIT
RETURN
;------------------------------------------------- ------------------
BIT_DELAY MOVLW 0x18; subroutine viivyttää 104us
MOVWF DELAY_COUNT
BIT_WAIT NOP
DECFSZ DELAY_COUNT, 1
Goto BIT_WAIT
RETURN
;------------------------------------------------- ------------------
START BTFSC PORTA, 0; havaita aloittaa bittinen
Goto START
CALL START_DELAY; varmista aloittaa bit on yhä olemassa
BTFSC PORTA, 0
Goto START
MAIN CLRF PORTB
CALL BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 0
CALL BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 1
CALL BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 2
CALL BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 3
CALL BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 4
CALL BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 5
CALL BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 6
CALL BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 7
CALL BIT_DELAY
MOVF TEMP_STORE, 0
MOVWF PORTB
Goto START
END
Tällä hetkellä olen yrittänyt annetun PIC16F84 toimimaan sarjapäätettä rinnakkain tietojen muuntimen ..
I'll liittää minun lähdekoodin tästä ..
Ei ongelma-ala, kun yritän minun koodi.
The 8LEDs (edustaa 8 rinnakkain bittiä) ei syttyä vastaavasti.Joskus tulee oikea tuotos, joskus tapana.Suurimman osan ajasta, se on väärä tuotos.
<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Surullinen" border="0" />
LUETTELO p = 16F84
include "P16F84.inc"
;------------------------------------------------- -----------------
CBLOCK 0x20; alkaen osoite yleinen diaari
BIT_COUNTER
NEXT_BIT
DELAY_COUNT
TEMP_STORE
ENDC
;------------------------------------------------- -----------------
BSF STATUS, RP0; alustaa RA0 syötteenä
MOVLW 0x01
MOVWF TRISA
BCF STATUS, RP0
CLRF PORTA
BSF STATUS, RP0; initialise portB tuotokseksi
MOVLW 0x00
MOVWF TRISB
BCF STATUS, RP0
CLRF PORTB
Goto START; mene päävalikkoon ohjelma
;------------------------------------------------- -----------------START_DELAY MOVLW 0x0C; subroutine viivyttää 52us
MOVWF DELAY_COUNT
START_WAIT NOP
DECFSZ DELAY_COUNT, 1
Goto START_WAIT
RETURN
;------------------------------------------------- ------------------
BIT_DELAY MOVLW 0x18; subroutine viivyttää 104us
MOVWF DELAY_COUNT
BIT_WAIT NOP
DECFSZ DELAY_COUNT, 1
Goto BIT_WAIT
RETURN
;------------------------------------------------- ------------------
START BTFSC PORTA, 0; havaita aloittaa bittinen
Goto START
CALL START_DELAY; varmista aloittaa bit on yhä olemassa
BTFSC PORTA, 0
Goto START
MAIN CLRF PORTB
CALL BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 0
CALL BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 1
CALL BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 2
CALL BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 3
CALL BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 4
CALL BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 5
CALL BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 6
CALL BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 7
CALL BIT_DELAY
MOVF TEMP_STORE, 0
MOVWF PORTB
Goto START
END