PIC16F874-vše nastaveno správně, ale čtení z portů nefunguje

PIC16F874 problem nacist porty nastavene jako digit. vstup

-prepinani bank znam, TRISB znam, reg ADCON1 nastaveny na digital mam ,zakazane vsechny preruseni
nevim co vic nastavit, chci jen snimat log. stavy portu B
zkusebne port prepisuju na jiny nastaveny na vystup osazeny ledkama
cely port je ve stavu L

-dalsi vec je OPTION_REG,7 - rezistor portB - Ucc — pri tehle volbe me procesor nedela absolutne nic

vse zkouseno na 3 prosesorech vsechny se chovaji stejne
dik za jakoukoliv odpoved
pavel

:arrow_right: administrator: přejmenováno z "PIC16F874"

ASM by nebylo na škodu :frowning:

TADY JE TEN ASEMBLER

PROGRAMATOREM DODATECNE NASTAVIM
_LVE_OFF
_DEBUG_OFF
PROG.txt (1.45 KB)

Pred čítaním z portu treba nastaviť bank 0.

DIK ZA PRIPOMINKU – BANK 0 –
UPLNE JSEM TO OPOMEL, NICMENE STALE N E C T E P O R T
LEPE RECENO STALE CTE UROVEN “L” PRO VSECHNY PINy
NEJAK SE ME NEZDA CELKOVE NASTAVENI A NAST. AD-PREVODNIKU

TU ZASILAM OPRAVENOU VERZI
PROG.txt (1.48 KB)

Zkus přílohu :slight_smile:
TEST.asm (1.22 KB)

V simulatoru to funguje tak jak ma , vstupni PortB se zapise na vystupni PortD, pokud si zapnes Pull-upy ->BCF OPTION_REG,NOT_RBPU mel bys precist samy 1, pokud to mas dobre zapojeny (tlacitka …)

Honzovo program dela to samy jako ten tvuj, cim menis log uroven na vstupu (PortB) ?, co mas na vystupu (PortD) ?

PORTY jsou v BANCE 0
V tom poslednim programu jsem to uz spravil.
Mozna jste se dival do stareho, nijak jsem je neodlisil.
Cteni PORTU u 16f874 je absolutni banalita, az se za to stydim, ale velky problem pro me.
Uz jsem neco vic delal s 16F84, ale ta byla absolutne v pohode.

Uz to FUNGUJE
po dnesku menim zasadne styl psani prog.(vetsi prehlednost) a zacinam pouzivat “banksel”
me chyby:
-pouziti spatnych stranek pri adresaci SFR registru
-NUTNE pouziti rezistoru mezi Ucc-REZISTOR-Pin IO-Tlacitko-GND, nebo volba(OPTION_REG,7)
cetlo me to same nuly protoze chybela volba OPTION_REG,7
kdyz jsem pouzil OPTION_REG,7 chybne jsem ho adresoval v jine strance a program proto kolaboval

diky vsem za pomoc trapil jsem se hodne dlouho

jeste muj funkcni priklad at jich neni malo
FUNKCNI CTENI PORTU.txt (1.46 KB)

Ještě si oprav: _LVE_OFF na _LVP_OFF ať ti to nehází chybu.

Kdyby jsi použil nastavení procesoru a INIT ode mě, neměl by jsi mít žádné problémy.

V souvislosti s ctenim z “C E L E H O” PORTUB vim a mam odzkousene ze musi byt nastavene konfiguracni slovo prosesoru na:

  • LVP off-- prog.nizkym napetim pres RB3 - zvolenim se zbavuji vstupu
  • DEBUG off–pri jeho volbe se zbavuji RB6 a RB7
    ten --debug off-- me mplab nebral tak jsem ho musel rucne nastavovat pri programovani ale o tomhle vim
    chlapi diky

Obávám se, že s LVP a RB3 nemáš pravdu. Je to jen při programování, po spuštění programu RB3 jede normálně jako I/O.

s tou RB3 nastavenou na LVP je opravdu problem
-prezkouseno
z vyse uvedeneho nastaveni prosesoru pri zmene z L na H na RB3 program zacina kolabovat

Pokud si v pojistkach nastavi s **_LVP_OFF ** tak je RB3 jako normalni I/O pin, osobne sem s tim zadnej problem nikdy nemel