Stránka 1 z 2
Konfigurační slovo (přejmenováno)
Napsal: 20 led 2014, 20:37
od toMajstr
dobrý den, koupil jsem si PIC16F876A ale nějak se mi nedaří napsat konfigurační slovo
Kód: Vybrat vše
LIST P=16F876A
INCLUDE<P16F876A.INC>
#DEFINE TLAC PORTA,0
#DEFINE LED PORTA,1
START BSF STATUS,RP0
MOVLW B'00000001'
MOVWF TRISA
BCF STATUS,RP0
BTFSS TLAC
GOTO $-1
BSF LED
BTFSC TLAC
GOTO $-1
BTFSS TLAC
GOTO $-1
BCF LED
BTFSC TLAC
GOTO $-1
GOTO START
END
mohl by mi někdo poradit?
Napsal: 20 led 2014, 20:41
od forbidden
Vždyť tam žádný konfigurační slovo nemáš. Obvykle se píše pod INCLUDE.
Proměnný najdeš právě v tom INC souboru, nebo datasheetu.
Napsal: 20 led 2014, 20:50
od toMajstr
no právě, já se snažil napsat něco na třetí řádek za _CONFIG ale to vyhazovalo chybu
Napsal: 20 led 2014, 21:19
od forbidden
Možná proto, že jsou tam dvě podtržítka a ne jedno.
Příklad:
Kód: Vybrat vše
__config _INTRC_OSC_NOCLKOUT & _LVP_OFF & _WDT_OFF & _PWRTE_ON & _BODEN_OFF & _MCLRE_OFF
Napsal: 20 led 2014, 21:42
od toMajstr
2 podtržítka jsem tam měl, teď už se to skompiluje (až na 2 věci který jsem smazal) ale pořád to nejde
Kód: Vybrat vše
LIST P=16F876A
INCLUDE<P16F876A.INC>
__config _LVP_OFF & _WDT_OFF & _PWRTE_ON & _BODEN_OFF
program by měl fungovat jako zapni/vypni jedním tlačitkem ale tlačítko nereaguje a já netuším proč
Napsal: 21 led 2014, 05:48
od Atlan
Ako je konfigurovany oscilator a co tam mas pripojene ty, Mclr pin je zapojeny cez odpor na +5v, tlacitko ti moze zakmitavat... Nemas to osetrene. Tak nabuduce okrem programu aj schemu. Kondok 100n a 100uF mas pripojeny na piny IO?
Napsal: 21 led 2014, 06:30
od toMajstr
tenhle program fungoval na PIC16F630 tak by měl fungovat i tady ne? mám připojené jen kondíky 22n na krystal 4MHZ kondík 100n ani 100uF. mám to napájený přímo z pickitu včetně MCLR
Napsal: 21 led 2014, 07:36
od Standa33
Pokud chceš používat PORTA jako digitální vstup/výstup, musíš ho nastavit pomocí registrů ADCON1 = 6 a CMCON = 7(vypnutí kompatátoru).
Napsal: 21 led 2014, 09:03
od forbidden
22 n u krystalu určitě fungovat nebude, tak 22 p by bylo o dost lepší. Sice ta tvá věta nedává smysl, ale pochopil jsem, že nepoužíváš blokovací kondík. To je celkem zásadní věc a žádnej pickit to nezachrání. Stejně tak reset pin, pokud není nakonfigurovanej, nejspíš je povolenej (nevím jistě, já vždy píšu do konfigurace požadovanou funkci). A naposledy oscilátor, zase jsi v konfiguračním slovu ani nenapsal jakej je (nějakej bude asi default, ale je nanejvýš vhodný to tam napsat).
Napsal: 21 led 2014, 10:30
od toMajstr
oprava, kondíky 22p
MCLR by se hodil vypnutý a oscilátor musí být krystal
co mám napsat do nofiguračního slova?
Napsal: 21 led 2014, 11:26
od forbidden
Datasheet a ten INC soubor, už jsem to psal nahoře.
Napsal: 21 led 2014, 15:05
od Standa33
Tohle by mělo být funkční:
Kód: Vybrat vše
;Test tlačítka ON/OFF na PORTA,0. Indikační LED na PORTA,1
;***********************************************************************************************
LIST P=16F876A
include "p16f876A.inc"
__config _LVP_OFF & _FOSC_HS & _DEBUG_OFF & _WRT_OFF & _PWRTE_ON & _WDTE_OFF & _BOREN_ON
;***********************************************************************************************
#define TLAC PORTA,0
#define LED PORTA,1
;************************************************************
org 000h
goto Start
org 004h
retfie
;***********************************************************
Start
bsf STATUS,RP0 ;přepnuní do bank1
movlw 06h ;PORTA nastaven na digitální I/O
movwf 1Fh ;ADCON(9Fh)
movlw b'00000001' ;nastavení PA0 In, PA1-PA7 Out
movwf 05h ;TRISA(85h)
bcf STATUS,RP0 ;přepnutí do bank0
Opak
BTFSS TLAC
GOTO $-1
BSF LED
BTFSC TLAC
GOTO $-1
BTFSS TLAC
GOTO $-1
BCF LED
BTFSC TLAC
GOTO $-1
goto Opak
;***********************************************************
end
Napsal: 21 led 2014, 16:45
od toMajstr
Standa33, nefunguje to, už jsem fakt bezradnej

Napsal: 21 led 2014, 18:53
od Standa33
Funguje to jak v simulaci, tak i po nahrání do uProc. Zkusil jsem to na nepáj. poli a vše OK.
Zde je schéma:
Napsal: 21 led 2014, 20:02
od toMajstr
nepochybně dělám něco špatně, nahrál jsem hex soubor, postavil vše podle schématu, ledku asi 20x zkoušel a otáčel, asi 2x jsem to vytáhnul a posunul celý jinam