PIC16F682a - Nefunkční PIN RB0
Napsal: 17 bře 2016, 09:59
Zdravím,
chlapy, potřebuji malou pomoc, PIC si myslím, že mám logickou 1 na pinu RB0 a já na něm mám logickou nulu. Mám tam pull-down rezistor, vše jsem ověřil, zkusil jsem propojit "natvrdo" s log. 0. Nepomohlo, program vypadá následovně.... (Je pouze testovací, ale SIREN (nahrazeno ledkou) pořád svítí).
PIC16F628a
Časování jsem nepřikládal, myslím, že je to zbytečné.

chlapy, potřebuji malou pomoc, PIC si myslím, že mám logickou 1 na pinu RB0 a já na něm mám logickou nulu. Mám tam pull-down rezistor, vše jsem ověřil, zkusil jsem propojit "natvrdo" s log. 0. Nepomohlo, program vypadá následovně.... (Je pouze testovací, ale SIREN (nahrazeno ledkou) pořád svítí).
PIC16F628a
Kód: Vybrat vše
; // Inputs
#DEFINE S_CIL_1 PORTA,0 ; Senzor cilindru 1
#DEFINE S_CIL_2 PORTA,1 ; Senzor cilindru 2
#DEFINE S_ABS PORTA,2 ; Senzor absorbéru
#DEFINE S_VIC PORTA,3 ; Senzor víčka
#DEFINE S_TEMP PORTA,4 ; Senzor dostatku dílů v nájezdové ploše
#DEFINE ST_BT PORTB,0 ; Tlačítko START
; // Outputs
#DEFINE CIL_1 PORTB,1 ; Cilindr spodní
#DEFINE CIL_2 PORTB,2 ; Cilindr horní
#DEFINE MAINT_LED PORTB,3 ; Led signalizace nutnosti údržby. (Maintenance LED)
#DEFINE POWER_LED PORTB,4 ; Led signalizace OK STAVU
#DEFINE EINGINE PORTB,5 ; Vibrační buben pro kusy
#DEFINE SIREN PORTB,6 ; Výstup pro sirénu (maják)
BSF STATUS, RP0 ;Nastavení banky 1
MOVLW B'00000000' ;Uložením hodnoty do pracovního registru W
MOVWF TRISA ;Přesunutí z registru W do registru TRISA (Dochází k nastavení portů vstupně-výstupních pinů)
MOVLW B'00000000' ;Uložením hodnoty do pracovního registru W
MOVWF TRISB ;Přesunutí z registru W do registru TRISA (Dochází k nastavení portů vstupně-výstupních pinů)
BCF STATUS,RP0 ;Vrácení nastavení banky na 0
CLRF PORTA
MOVLW 0x07
MOVWF CMCON
BCF STATUS, RP1
;BSF STATUS, RP0
;MOVLW 0x1F
;MOVWF TRISA
;BCF STATUS, RP0
; INICIALIZACE ----------------------------------------------------------------------------------------------------
BSF SIREN
CALL WAIT_1000
BCF SIREN
CALL WAIT_1000
BSF SIREN
CALL WAIT_1000
BCF SIREN
CALL WAIT_1000
BSF SIREN
CALL WAIT_1000
BCF SIREN
CALL WAIT_1000
INIT BTFSS ST_BT
GOTO $-1
BSF SIREN
BTFSC ST_BT
GOTO $-1
BCF SIREN
GOTO INIT
CALL WAIT_2000
BCF SIREN
BCF CIL_1
GOTO INIT
ENDČasování jsem nepřikládal, myslím, že je to zbytečné.