Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

mikrokontroleri od A do Sh

[es] :: Elektronika :: Mikrokontroleri :: mikrokontroleri od A do Sh

Strane: < .. 1 2 3 4 5 6

[ Pregleda: 10440 | Odgovora: 102 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

stefic_kg

Član broj: 119791
Poruke: 22
79.101.135.*



Profil

icon Re: mikrokontroleri od A do Sh03.07.2008. u 12:31
Bojane,

"Koristiš blok za ulaz i izlaz da obeležiš labele." - Dobro ovo vidm da ne valja.

"Svaki put inicijalizuješ portove." ---> ??? ne razumem sta nije u redu osim da moze krace da si napise kao sto rece Slavenko)

"Samo kada je stop DA moguće je upaliti mašinu." (kada je bit 0=0 nastavi sa ispitivanjem START prekiraca)
"Kad je stop NE nakon pauze ideš na gašenje." ( zaso nakon pauze, kad on odmah vraca na Iskljucenje programa)

Code:

; ************************ testira START i STOP prekidac **************************************

Start
                        ; Testira STOP prekidac

        btfsc   PORTA,0        ; testiraj bit 0, registra PORTA, ako je bit 0 jednak 0 preskoci sledecu instrukciju
        goto    Iskljucenje    ; ako nije jednak 0 idi na Iskljucenje


                       ; Testira START prekidac,

    btfss      PORTA,1           ; testira bit 1, registra PORTA, ako je bit 1 jednak 1 preskoci sledecu instrukciju
    goto       Start             ; ako nije onda ide na labelu Start za ponovno testiranje START prekidaca


Na dnu, nakon UKLJUČI_MAŠINU račvaš tok u multitasking !? ---> ??? ne razumem, mozes malo da pojasnis.
03.07.2008. u 12:31 

barum
Bojan Radosavljevic
Obrež, Srbija

Član broj: 52522
Poruke: 63
*.smin-1.sezampro.yu.



Profil

icon Re: mikrokontroleri od A do Sh03.07.2008. u 21:35
Evo nešto opširnijeg objašnjenja.

Citat:
"Svaki put inicijalizuješ portove."


Potrebno je izdvojiti inicijalizaciju, deo koda gde se pinovi portova postavljaju kao ulazni ili izlazni, i to izvršiti samo na početku. Ovo kako radi nije potpuno pogrešno samo je po malo suvišno. U stvari, program lepo ima labelu Start nakon inicijalizacije ali ti za start ideš na početak algoritma. Trebalo bi da se one dve povratne putanje ulivaju nakon bloka inicijalizacije. I šta znači kad kažeš "rezerviše mesto u memoriji". Da li shvataš da bi to značilo da svakim prolazom rezervisanje bez oslobađanja na kraju pojede svu memoriju. Znam da nisi tako mislio ali moglo bi se tako protumačiti. Čak šta više deklaracije i definicije nemaju mesto u algoritmu. Algoritam bi trebao biti apstrakcija koju realizuje program bez suvišnih detalja kao recimo čitava gungula oko petlje za pauzu. Ona bi u algoritmu trebala da se apstrakuje sa par blokova od kojih jedan opisuje kako se meri period(umanjivanjem tri osmobitna brojača) i drugim koji pokazuje reakciju na izuzetak kad se pojavi slučaj pritisnutog tastera.



Citat:
"Samo kada je stop DA moguće je upaliti mašinu."
"Kad je stop NE nakon pauze ideš na gašenje."

Pogledaj crtež. Imaš testiranje za stop na dva mesta. Prva rečenica je za gornji druga za donji slučaj.
Za ova dva mislim da si samo zamenio oznake za DA i NE grane na nacrtanom algoritmu. U stvari sad sam ponovo gledao sliku i video kontradikciju između "testira STOP" i jednakosti ispod.
Tok NE zapravo znači "DA STOP" i istovremeno "NE, RA0 nije jednako 0". Znači potrebno je preformulisati izjave iznad i ispod crtice u bloku da budu u saglasnosti, tj. da kad se prati tok recimo NE to bude kada je NE odgovor na oba pitanja. Ili ostaviti samo RA0=0 a obrisati "testira STOP".




Citat:
Na dnu, nakon UKLJUČI_MAŠINU račvaš tok u multitasking !? ---> ??? ne razumem, mozes malo da pojasnis.

na dnu slike ti se tok račva i jedan kraj završava u KRAJ a drugi se vraća gore. Našalio sam se i to nazvao multitaskingom. Ovaj algoritam jednostavno ne bi trebao da ima specijalnu labelu KRAJ.




Nadam se da sam bar malo uspeo da dočaram čemu se teži u teoriji. U praksi se međutim sreće sve i svašta, algoritmi sa ezoteričnom notacijom, bezglavi i bezrepi kad se na brzinu rešava problem. Čak i neartikulisane žvrljotine sa nekoliko identifikatora i brojeva u nepoznatom zapisu koje i sam autor kad kasnije pogleda nema pojma šta su ali su jednom odradile posao. Samo dobar algoritam ima trajnu vrednost jer može da uštedi vreme potrebno za razumevanje. Loši algoritmi čak mogu da unesu dodatnu zabunu i prouzrokuju čistu štetu. Zato uvek treba težiti dobroj praksi a prezirati svaku aljkavost.



Pozdrav,
Bojan
03.07.2008. u 21:35 

stefic_kg

Član broj: 119791
Poruke: 22
93.86.71.*



Profil

icon Re: mikrokontroleri od A do Sh04.07.2008. u 12:47
OK, sad mi je jasnije.

Evo ispravio sam prvi algoritam.

Nisam menjao ono kod taestiranja STOP, nego sam pored dodao objasnjenje za NE (STOP je pritisnut) i DA (STOP nije pritisnut).
Malo kontradiktorno ali mislim da je sad malo jasnije.

Labela KRAJ neka bude tu. Nista ne smeta.

pozz
Prikačeni fajlovi
04.07.2008. u 12:47 

[es] :: Elektronika :: Mikrokontroleri :: mikrokontroleri od A do Sh

Strane: < .. 1 2 3 4 5 6

[ Pregleda: 10440 | Odgovora: 102 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.