Ovládání ST7920

Pokud máš na RA0 stále log. 0, pak máš buď špatně nastavené pojistky v procesoru a RA0 je použit na nějakou systémovou periferii (u některých ATmega se například musí zakázat JTAG, aby byly přístupné všechny piny) nebo máš zkrat proti zemi na desce …

Log. 0 tam stále není.

Zapomněl jsem dodat, že pokud tam nahraji program, který má v main() pouze RA0 = 1; tak tam opravdu fyzicky 1 je (napětí RA0 - GND = 5V).
Podle datasheetu PIC16F877A je na portu RA0 ještě analogový vstup 1, ale to by nemělo vadit.
Nastavení TRIS registru je také v pořádku:

TRISD = 0x00; TRISA = 0x00;
Chyba bude někde v softwaru.

tak si ten DS procti jeste jednou

Kdyby lidi četli pořádně katalogové listy, 90% problémů by nebylo. Lenost je hrozná nemoc… :slight_smile: Tak abych jen nekritizoval - zaměř se na ADCON0 a ADCON1, schválně co se dozvíš…

Matyáš> Zkoušel jsi ten displej zapojit na port B a použít ten kód ,co jsem ti poslal ?
Jinak -na potru A vše zakázat a nastavit jako výstupní.
tady dávám foto,že mi opravdu funguje:

To je v podstatě to, na co jsem se snažil nasměrovat ve svém příspěvku výše. Jen jsem myslel, že by to mohlo být v nastavení pojistek …

Balů @ Jasný, rozumíme si. Přesto, že už léta s picama nedělám, tak tuhle past si pamatuju :wink: Naštěstí takhle zásadní věc ve FUSE u PIC není.

Radius : Já jsem s PICama nikdy nedělal. Při přechodu z x51 na něco novějšího to proti AVRkům úplně projeli a to hned z několika důvodů. Proto jsem de-facto jenom tipoval, kde by mohl být ještě problém. Teď jsem hlavně zvědavý, jestli se to Matyášovi podaří rozběhnout.

staci si stahnout cesky preklad treba od PIC16F87xA a pak porovnavat s originalem danyho picu, tyhle starsi typy sou stejny, a cist cesky fora se zamerenim na mcu, resi se to tam porad do kola (naposled prosinec 14, 2015 8:24), a v prvi rade google

Děkuji za odpověď.
Problém byl vyřešen :blush: . Myslel jsem, že porty jsou implicitně nastaveny jako digitální. Tzn. bylo potřeba nastavit registr ADCON1.
Bez vašich rad bych na to asi jen tak nepřišel.
Zanedlouho sem přidám kód, ve kterém zredukuji zbytečně dlouhé _delay().