C
CWT
Guest
Hi there ..
Dabar aš bandau su PIC16F84 veikti kaip eilės lygiagrečiai duomenų konverteris ..
Aš pridėti savo kodą čia ..
Yra problema paviršiaus, kai bandau savo kodą.
8LEDs (sudaro 8 bitai lygiagrečiai) negali įsižiebti pakeisti.Kartais gaus teisę produkcija, kartais įprotis.Didžiąją laiko dalį, ji yra neteisinga produkcija.
<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Liūdnas" border="0" />
LIST p = 16F84
apima "P16F84.inc"
;------------------------------------------------- -----------------
CBLOCK 0x20; pradinė adresas General Register
BIT_COUNTER
NEXT_BIT
DELAY_COUNT
TEMP_STORE
ENDC
;------------------------------------------------- -----------------
BSF STATUSAS, RP0; inicijuoti RA0 kaip pirkimo
MOVLW 0x01
MOVWF TRISA
BCF STATUS, RP0
CLRF PORTA
BSF STATUSAS, RP0; initialise portB kaip produkcija
MOVLW 0x00
MOVWF TRISB
BCF STATUS, RP0
CLRF PORTB
GOTO START; Grįžti į pagrindinę programą
;------------------------------------------------- -----------------START_DELAY MOVLW 0x0C; subroutine atidėti 52us
MOVWF DELAY_COUNT
START_WAIT NOP
DECFSZ DELAY_COUNT 1
GOTO START_WAIT
RETURN
;------------------------------------------------- ------------------
BIT_DELAY MOVLW 0x18; subroutine atidėti 104us
MOVWF DELAY_COUNT
BIT_WAIT NOP
DECFSZ DELAY_COUNT 1
GOTO BIT_WAIT
RETURN
;------------------------------------------------- ------------------
START BTFSC PORTA, 0; aptikti pradžios bitas
GOTO START
KVIETIMAS START_DELAY, įsitikinkite, kad pradėti šiek tiek liko
BTFSC PORTA, 0
GOTO START
TITULINIS CLRF PORTB
KVIETIMAS BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 0
KVIETIMAS BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 1
KVIETIMAS BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 2
KVIETIMAS BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 3
KVIETIMAS BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 4
KVIETIMAS BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 5
KVIETIMAS BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 6
KVIETIMAS BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 7
KVIETIMAS BIT_DELAY
MOVF TEMP_STORE, 0
MOVWF PORTB
GOTO START
PABAIGA
Dabar aš bandau su PIC16F84 veikti kaip eilės lygiagrečiai duomenų konverteris ..
Aš pridėti savo kodą čia ..
Yra problema paviršiaus, kai bandau savo kodą.
8LEDs (sudaro 8 bitai lygiagrečiai) negali įsižiebti pakeisti.Kartais gaus teisę produkcija, kartais įprotis.Didžiąją laiko dalį, ji yra neteisinga produkcija.
<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Liūdnas" border="0" />
LIST p = 16F84
apima "P16F84.inc"
;------------------------------------------------- -----------------
CBLOCK 0x20; pradinė adresas General Register
BIT_COUNTER
NEXT_BIT
DELAY_COUNT
TEMP_STORE
ENDC
;------------------------------------------------- -----------------
BSF STATUSAS, RP0; inicijuoti RA0 kaip pirkimo
MOVLW 0x01
MOVWF TRISA
BCF STATUS, RP0
CLRF PORTA
BSF STATUSAS, RP0; initialise portB kaip produkcija
MOVLW 0x00
MOVWF TRISB
BCF STATUS, RP0
CLRF PORTB
GOTO START; Grįžti į pagrindinę programą
;------------------------------------------------- -----------------START_DELAY MOVLW 0x0C; subroutine atidėti 52us
MOVWF DELAY_COUNT
START_WAIT NOP
DECFSZ DELAY_COUNT 1
GOTO START_WAIT
RETURN
;------------------------------------------------- ------------------
BIT_DELAY MOVLW 0x18; subroutine atidėti 104us
MOVWF DELAY_COUNT
BIT_WAIT NOP
DECFSZ DELAY_COUNT 1
GOTO BIT_WAIT
RETURN
;------------------------------------------------- ------------------
START BTFSC PORTA, 0; aptikti pradžios bitas
GOTO START
KVIETIMAS START_DELAY, įsitikinkite, kad pradėti šiek tiek liko
BTFSC PORTA, 0
GOTO START
TITULINIS CLRF PORTB
KVIETIMAS BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 0
KVIETIMAS BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 1
KVIETIMAS BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 2
KVIETIMAS BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 3
KVIETIMAS BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 4
KVIETIMAS BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 5
KVIETIMAS BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 6
KVIETIMAS BIT_DELAY
BTFSC PORTA, 0
BSF TEMP_STORE, 7
KVIETIMAS BIT_DELAY
MOVF TEMP_STORE, 0
MOVWF PORTB
GOTO START
PABAIGA