PICKIT 2 - první bitva a hned nefunguje BSF / BCF PORTC

Ahoj,

rád bych se naučil programovat PIC a tak jsem koupil pickit2 a hned narazil na problém…

Snažil jsem se postupně rozsvěcovat diody (připojené na portu C)

Bohužel mi asi nechápu, nebo mi nefunguje BSF a BCF.
zde je příklad:

CLRF PORTC ;nic nesvítí
BSF PORTC,0 ;rozsvítí se dioda připojená na RC0, tedy DS1, ostatní zhasnuté
BSF PORTC,1 ;rozsvítí se dioda připojená na RC1, tedy DS2, DS1 zhasne + ostatní zhasnuté

BCF PORTC,0 ;dioda připojená na RC1 zhasne

Prostě mi to přijde, jako by BSF nastavilo 0 v celém registru, kromě vybraného bitu, který nastaví na 1. To mi přijde jako NAPROSTÝ nesmysl.
Totéž BCF, přijde mi, že funguje jako CLRF.

PORTC je v souboru p16F690.inc deklarován takto:
PORTC EQU H’0007’
to odpovídá datasheetu (samozřejmě jsem inc soubor vzal z příkladu od Microchipu).

Klidně udělám video…

zapojení PICKITU2 je v příloze
celý soubor asm je v příloze
hraju si s tím v MPLABU 8.43

Předem díky za rady. Pokud dělám někde nějakou chybu, budu rád za upozornění.

:arrow_right: administrator: přejmenováno z “PICKIT 2 - první bitva a hned problém s BSF”
Ledky.asm (1.28 KB)

Cau, 690 ma na PortuC A/D prevodnik , musis ho nejdriv vypnout v registru ANSEL a ANSELH kapitola 9.1 Datasheet ,
za inicializaci portu si pridej

BANKSEL ANSEL CLRF ANSEL CLRF ANSELH BANKSEL PORTC

Díky moc. Funguje to. Myslel jsem, že se všechny porty tváří stejně.
Ještě jednou díky za bleskovou radu.

Myslis si to to dobre ze sou Piny po zapnuti nastaveny jako vstupy, ale za to zeti to neslo mohla Periferie , v tomhle priopade A/D prevodnik, pokud chces pouzit nakej Pin jako I/O musis se podivat do DS jesli neni sdilenej s nakou periferii a je stli je po zapnuti napajeni zapla nebo vypla , vetsinou se jedna o A/D a Komparatory