Návrh jednoduchého stroboskopu so štyrmi ledkami

Nie, neber si to zle, ja som velmi rád že je tu niekto kto poradí. Práve študujem zápis do EEPROM… tak skúsim niečo vykúzliť :smiley:

BSF STATUS,RP0 BCF INTCON,GIE BSF EECON1,WREN MOVLW -------- MOVWF EECON2 MOVLW AAh MOVWF EECON2 BSF EECON1,WR BSF INTCON,GIE

tuto je zápis, ale ako mám uložiť do registra W ktorý efekt bol naposledy? Nedá sa to tak že uloží napr. názov riadku EFEKT1 a potom sa tam vráti?

Ahoj, ještě k tomu CALL a RETURN:

MiloPS3 Ti to vysvětlil naprosto správně, ale možná pro začátečníka trošku komplikovaně. Možná bude pro začátek stačit, když si zapamatuješ, že každé instrukci volání podprogramu (CALL) musí (!!!) odpovídat jedna instrukce návratu z podprogramu (RETURN). Toto samozřejmě platí i pro “vnořené” podprogramy, kdy z jednoho vyvolaného podprogramu voláš další. Potom se nejprve provede návrat z toho “vnořeného” podprogramu a posléze z toho, který jsi volal před ním jako první.

Instrukce RETURN nedělá nic jiného, než že do čítače programu (PC) vloží tzv. návratovou adresu (= adresa o 1 větší, než je ta, odkud jsi podprogram volal) a řízení programu se tedy přenese do toho místa, odkud byl podprogram volán (přesněji o 1 adresu dále,. samozřejmě).

A teď to trošku zesložitím :slight_smile::

Takto vnořených podprogramů můžeš mít pouze tolik, kolik se vejde do tzv. zásobníku návratovýdh adres (STACK) - ten je u různých řad uC různě velký, např. u řady PIC16Fxx má velikost 8 bytů (= 8 úložišť pro návratové adresy = max. 8 vnořených podprogramů), u řady PIC10Fxx už ale jen 2 byty (!!), tam může už snadno dojít k tzv. přetečení zásobníku návratových adres, což má zpravidla za následek zhroucení programu (a někdy i programátora :slight_smile:. Vyšší řady PIC mají kapacitu zásobníkové paměti vyšší.

Vyšší řady PIC (tuším, že od řady PIC18Fxx) mají jeden stavový bit, který hlídá přetečení tohoto zásobníku a je takto možno těmto nepříjemným situacím předejít. U nižších řad PIC není přetečení zásobníku nijak indikováno a je tedy nutno na to myslet. Chyby, způsobené přetečením tohoto zásobníku jsou někdy dost těžko odhalitelné.

Vlasťa

To co tu napsal Vlasta ve 3 odstavcich je presne napsano v MUP 2 i s prikladama,a strucne sem to vzal proto ze neni problem MUP 1,2 sehnat, a napsat 4 odstavce plne vystihujici tema aby to nekdo pochopil krome me je pro me docela problem (nic ve zlim Vlasto)

ohlerne zapisu do EE , zaloz nove vlakno at to tu neplacame pres sebe

presne tak som tomu pochopil(prvý príspevok na 2. str), dakujem.

Inak ked už sme takto rozobrali teóriu mohol by mi nieko vysvetliť čo je to prerušenie a načo sa používa?

Bude lepší, pokud založíš nové téma, které se bude jmenovat přesně tak, jak tento tvůj dotaz. Ještě jednodušší ale bude použít Google. Jedná se o začátečnickou otázku, která je probraná snad v každé výuce programování mikrokontrolérů.