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