Zdravím, předem dotazu upozorňuji, že jsem totální začátečník co se týká programování uP. Učím se na 16F84, ale potřeboval bych jednu aplikaci co jsem vytvořil předělat do levnějšího 12f675, ale vubec se mi nedaří. Nevím totiž jak udělat piny aby byl jeden vstupní (tlačítko) a jeden výstupní (LED). Díval jsem se i do příručky, ale nejsem z ní moc moudrej. Přikládám část kódu. Děkuji za každou cennou radu Filip
[code]
LIST P=12F675
INCLUDE<P12F675.INC>
__CONFIG _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
#DEFINE SVETLO GPIO, GP0 ;pin7 jako vstup #DEFINE RELE GPIO, GP1 ;pin6 jako vzstup na rele
;z verze pro 16f84
; BSF STATUS,RP0
; MOVLW B’11111111’
; MOVWF ANSEL
; BCF STATUS,RP0
BCF RELE
START BTFSS SVETLO ;cekej na svetlo
GOTO $-1
BTFSC SVETLO ;potom cekej na tmu
GOTO $-1
BSF RELE ;sepne rele a ceka několik sekund pak se vraci na START
GOTO cekat
…
…
…
… [/code]
administrator: přejmenováno z "Nastavení pinu u 12F675"
První dva “#DEFINE” smaž, to je blbost, stejně jako návěští “BANK1” a “BANK0”. Banky přepínej pomocí volání registru, který chceš nastavit, např. BANKSEL TRISIO, překladač už si sám zjistí, která banka to je. “GOTO cekat” změň na “CALL cekat”, “GOTO START” z konce dej hned za ten CALL. Napiš pak co se stalo.
Edit: Jo, a v “cblock” Ti nějak chybí, odkud se má začít. Proměnné si okomentuj; když je jich jen pár, možná je lepší je deklarovat pomocí EQU.