Programowalny przerywacz do wycieraczek.



Masz problem? Zapytaj na forum elektroda.pl z bramk± pl.misc.elektronika!

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Programowalny przerywacz do wycieraczek.
Date: Wed, 12 Aug 1998 19:37:57 GMT


Hej!

Zamierzam zrobic sobie przerywacz do wycieraczek w samochodzie; Tyle
tylko, ze ma on miec programowalna czestotliwosz.
Moja koncepcja jest taka: (idea sciagnieta z Poloneza Caro +, ktorego
niestety ktos se pozyczyl i najwyrazniej nie ma zamiaru oddac ;) ).
Po wlaczeniu ukladu wycieraczki machaja sie co np. 5 sekund.
Chcac zmienic czestotliwosc wlaczam na chwile spryskiwacz (na tyle krotko,
zeby nie siknal), czekam ile chce, po czym wlaczam go ponownie (rowniez na
chwilke).
Koncepcja ukladu jest taka:
2 liczniki (40103 i jakis drugi (liczacy w gore) o ktory pytalem w poscie
"pytanie o uklady seri 4xxxx").
Powiedzmy, ze licznik1 to 40103, a licznik2 to ten zliczajacy w gore.
W momencie wlaczenia ukladu laduje do licznika2 pewien stan, ustawiony np.
jumperami na plytce. Nastepnie powtarza sie cos takiego:
1. Przepisuje stan z wyjsc licznika2 do licznika1.
2. Licznik2 liczy se do dolu, az osiagnie 00000000. Jak na CO/ZD pojawi
sie 0, to wykonuje machniecie wycieraczkami i ide do p.1.
))
Ale! Jak wspomnialem mozna bedzie zmieniac czas; Wiec jak klikne
spryskiwaczem, to zrobi sie cos takiego:
a. Wyzeruje licznik2;
b. licznik2 liczy se w gore (taktowany tym samym przebiegiem co licznik1,
oczywiscie) az klikne spr. ponownie. Wtedy znowu ide do pkt.1.

Taka jest moja idea.... ale pytam sie Was, bo macie na ten temat z deka
wiecej pojecia.... co Wy na to ??
Wszelkie uwagi na temat bardzo mile widziane.

Pozdrawiam.
--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Jaroslaw Lis" <lis_at_nospam_papuga.ict.pwr.wroc.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: 12 Aug 1998 20:20:22 GMT


Czesio <piotrcze_at_nospam_friko.onet.pl> wrote:
Zamierzam zrobic sobie przerywacz do wycieraczek w samochodzie; Tyle
tylko, ze ma on miec programowalna czestotliwosz.
Moja koncepcja jest taka: (idea sciagnieta z Poloneza Caro +, ktorego
niestety ktos se pozyczyl i najwyrazniej nie ma zamiaru oddac ;) ).
Po wlaczeniu ukladu wycieraczki machaja sie co np. 5 sekund.
Chcac zmienic czestotliwosc wlaczam na chwile spryskiwacz (na tyle krotko,
zeby nie siknal), czekam ile chce, po czym wlaczam go ponownie (rowniez na
chwilke).

Hm, pomysl interesujacy.
Z innych pomyslow dorzuce:
1) automatyczne wydluzanie przerwy w czasie postoju [np na swiatlach]
[mozna sprawdzac napiecie w instalacji lub liczyc obroty]
2) kilka programow przelaczanych krotkim wlaczeni II biegu/wylaczeniem
3) kontrola poboru pradu - zdarzylo juz mi sie rwac kable z akumulatora
jak wycieraczka przymarzla a podtrzymanie zadzialalo. Oraz
urwac piora w podobnej sytuacji
4) dobrac czas wlaczenia wycieraczek - czasem warto zeby szybe przetrzec
dwa razy. Programowanie tego to chyba zbytnia komplikacja zycia
5) automat ktory przy pierwszym wlaczeniu najpierw spryska szybe woda.
6) przypominacz o wlaczeniu swiatel przy pracujacych wycieraczkach [zla
widocznosc]

Koncepcja ukladu jest taka:
2 liczniki (40103 i jakis drugi (liczacy w gore) o ktory pytalem w poscie
"pytanie o uklady seri 4xxxx").

Nie kombinuj, tylko kup sobie Atmela 89C1051, to jest procesorek,
20 nozek, zrobi Ci wszystko co sobie zamarzysz w tym temacie - o ile tylko
program napiszesz. A jest to dosc proste.

Powiedzmy, ze licznik1 to 40103, a licznik2 to ten zliczajacy w gore.

Swoja droga 8 bitow to moze byc przesada. 4 powinny starczyc.

W momencie wlaczenia ukladu laduje do licznika2 pewien stan, ustawiony np.
jumperami na plytce. Nastepnie powtarza sie cos takiego:
1. Przepisuje stan z wyjsc licznika2 do licznika1.
2. Licznik2 liczy se do dolu, az osiagnie 00000000. Jak na CO/ZD pojawi
sie 0, to wykonuje machniecie wycieraczkami i ide do p.1.

Zauwaz ze mozesz zamieniac kierunek liczenia miedzy licznikami.
Moze byc latwiej cos dobrac.

Przy ~16 pozycjach mozesz tez skorzystac z rejestrow przesuwajacych.
Niby glupiej ... ale w praktyce moze sie okazac prosciej.


J.

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Thu, 13 Aug 1998 11:41:21 GMT


Jaroslaw Lis <lis_at_nospam_papuga.ict.pwr.wroc.pl> napisał(a) w artykule
<6qste6$amt$22_at_nospam_okapi.ict.pwr.wroc.pl>...
[SORKI, ze dlugi post, ale sprawa mnie wciagnela :))]
Koncepcja ukladu jest taka:
2 liczniki (40103 i jakis drugi (liczacy w gore) o ktory pytalem w
poscie
"pytanie o uklady seri 4xxxx").

Nie kombinuj, tylko kup sobie Atmela 89C1051, to jest procesorek,
20 nozek, zrobi Ci wszystko co sobie zamarzysz w tym temacie - o ile
tylko
program napiszesz. A jest to dosc proste.
Dobra. Przyznam sie, ze myslalem o tym, ale jakoze nigdy jeszcze
procesorkami nie bawilem, wolalem to zrobic po swojemu....
Ale! Przekonales mnie; Tyle tylko, ze licze na wsparcie podczas budowy...
ok ?
Zaraz se poszukam opisu tegoz. Mam tylko pytanie; Ile toto kosztuje ... ?
Jak sadze jakas pamiec trzeba tez miec i miec jak ja zaprogramowac. Co
TRZEBA miec zeby w ogole moc zrealizowac uklad ? (mam na mysli np. jakis
programator pamieci, lub sposob programowania bez niego).
No i moze jakies porady na poczatek, jak sie obchodzic z takim ukladzikiem
?

Swoja droga 8 bitow to moze byc przesada. 4 powinny starczyc.
Ha! W ogole w pierwszej chwili chcialem to robic na TTLach, sa tam liczniki
4-bitowe, dwustronne; Taki ukladzik zrobilem se jako prototyp i nawet
dzialal. Potem doszukalem sie odpowiednikow w CMOSach (40193) ale przy
okazji znalazlem 40103. I se pomyslalem: Po co laczyc 2 40193 w jeden
8-bitowy, skoro 40103 jest 8-bitowy w "jednym kawalku"... ? Oczywiscie caly
protoyp
wzial w leb, bo to "troszke" zmienia postac rzeczy....
A co do ilosci bitow, to 16 kombinacji to chyba za krotko. Daje to zbyt
mala rozdzielczosc. Chcac np. miec przerwy do 16 sek. zegar taktowalby co
1.sek. Niby spoko, ale w czasie programowania bylyby duze "skoki", tzn.
gdybym ustawil czas na 15,9 sek. przerwa trwalaby 15 sek. Natomiast
klikajac spryskiwaczem 0,1 sek pozniej, przerwa juz jest o 1 sek.
wieksza.....

Zauwaz ze mozesz zamieniac kierunek liczenia miedzy licznikami.
Moze byc latwiej cos dobrac.
Nie lapie... ? O ile wiem 40103 nie ma mozliwosci zmiany kierunku
zliczania... ?

Przy ~16 pozycjach mozesz tez skorzystac z rejestrow przesuwajacych.
Niby glupiej ... ale w praktyce moze sie okazac prosciej.
Tak... Wpisywac rownolegle, przesuwac i jak wyjdzie szeregowo np. 1 to
wtedy ruch wycieraczek...
Ale jak juz mam zmieniac koncepcje, to chyba uzyje Atmeli....

Pozdrawiam.
--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>


Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Juliusz" <juliusz_at_nospam_wyscigi.multi-ip.com.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Thu, 13 Aug 1998 13:36:24 GMT



Czesio wrote in message <01bdc6aa$f56949e0$LocalHost_at_nospam_lic51tk2>...

Ale jak juz mam zmieniac koncepcje, to chyba uzyje Atmeli....


Zrobilem ci schemacik na Atmelku :)

Niestety newsy nie chca oglaszac wiadomosci z plikami to wysylam ci
prywatnie, ale pewnie kilka innych osob chcialoby to zobaczyc

Schemacik jest dolaczony do posta na news.task.gda.pl bo tylko ten serwer
lyka attachementy.

Juliusz




Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Thu, 13 Aug 1998 15:01:49 GMT


Juliusz <juliusz_at_nospam_wyscigi.multi-ip.com.pl> napisał(a) w artykule
<sZBA1.20303$xG2.8618761_at_nospam_news.tpnet.pl>...

Zrobilem ci schemacik na Atmelku :)

Schemacik jest dolaczony do posta na news.task.gda.pl bo tylko ten serwer
lyka attachementy.

Dzieki!!

Oki; mam schemacik, teraz moze pare slow wyjasnien;
Po pierwsze, programik do tego.... Jak to zaprogramowac ?
(Pomijam fakt, ze nie znam assemblera tego czegos, ale sciagnalem se pdf'a
z Atmel'a i mam nadzieje szybko go poznac).
Teraz domysly... /wybaczcie, jezeli walne jakas glupote, dopiero
zaczynam.... :) /
1.SW1 ma sluzyc do programowania;
2. MAN podlaczony jest do INT1, wiec pewnie generuje przerwanie. (normalnie
generowane co zaprogramowany czas) (?)
3. TL7705D to pewnie Watchdog; Ale co to jest LM 7805CT ?? Moze jakis
stabilizator ?
4. NPN DAR BEC hmm... co to za oznaczenie ? myslalem zeby uzyc przekaznika;
Jezeli mam uklad podlaczac bezposrednio do silniczka, nie bezpieczniej
byloby wetknac jeszcze jakas diode zwrotna ?
5. Co maja sygnalizowac LEDy ? /wiem, ze to kwestia programu, ale co autor
mial na mysli...?/ :))


Pozdrawiam.
--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>


Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Juliusz" <juliusz_at_nospam_wyscigi.multi-ip.com.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Thu, 13 Aug 1998 15:59:36 GMT



Czesio wrote in message <01bdc6c8$05e08140$LocalHost_at_nospam_lic51tk2>...
Juliusz <juliusz_at_nospam_wyscigi.multi-ip.com.pl> napisał(a) w artykule
<sZBA1.20303$xG2.8618761_at_nospam_news.tpnet.pl>...

Zrobilem ci schemacik na Atmelku :)

Schemacik jest dolaczony do posta na news.task.gda.pl bo tylko ten serwer
lyka attachementy.

Dzieki!!

Oki; mam schemacik, teraz moze pare slow wyjasnien;
Po pierwsze, programik do tego.... Jak to zaprogramowac ?
(Pomijam fakt, ze nie znam assemblera tego czegos, ale sciagnalem se pdf'a
z Atmel'a i mam nadzieje szybko go poznac).
Teraz domysly... /wybaczcie, jezeli walne jakas glupote, dopiero
zaczynam.... :) /
1.SW1 ma sluzyc do programowania;
SW1 moze bys bistabilnyy lub monostabilny i ma byc do wylaczania
przykladowo. A programowanie ta raczka od spryskiwacza i wycieraczek
chciales.

2. MAN podlaczony jest do INT1, wiec pewnie generuje przerwanie. (normalnie
generowane co zaprogramowany czas) (?)
To nie tak. INT1 to wejscie, na ktore bedzie podawana masa z wylacznika
spryskiwacza. W zaleznosci jak dlugo bedziesz ja trzymal lub jaka kombinacje
wykonasz naciskajac to - np. kilka impulsikow - to taka bedzie reakcja
urzadzenia. Ale niestety musisz sprecyzowac zalozenia dzialania tego.

3. TL7705D to pewnie Watchdog; Ale co to jest LM 7805CT ?? Moze jakis
stabilizator ?

7705 to czujnik zaniku napiecia ponizej bezpiecznej wartosci, ale wtym
ukladzie dziala jako watchdog. Jest tam kondensator, ktory stale ladujesz i
utrzymujesz na nim pewien potencjal. Jak zabraknie impulsow z procesora to
sie rozladuje i uklad zadziala jakby napiecie spadlo ponizej dopuszczalnej
wartosci i zostanie generowany reset w postaci fali prostokatnej do czasu
gdy nie zaczniesz go karmic impulsami.

7805 to stabilizator +5V

4. NPN DAR BEC hmm... co to za oznaczenie ? myslalem zeby uzyc przekaznika;
Jezeli mam uklad podlaczac bezposrednio do silniczka, nie bezpieczniej
byloby wetknac jeszcze jakas diode zwrotna ?

Przekaznik daj za tym tranzystorem i lacz przez przekaznik wszystko co
dalej. Dodaj diode np. LL4148 rownolegle z przekaznikiem.

5. Co maja sygnalizowac LEDy ? /wiem, ze to kwestia programu, ale co autor
mial na mysli...?/ :))


Co ty chcesz to bedzie pokazywac - twoja wola ! Moze byc wiecej diod, a moze
nie byc ani jednej. Ty zalozenia ustalasz.



Juliusz




Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Thu, 13 Aug 1998 16:37:55 GMT


1.SW1 ma sluzyc do programowania;
SW1 moze bys bistabilnyy lub monostabilny i ma byc do wylaczania
przykladowo. A programowanie ta raczka od spryskiwacza i wycieraczek
chciales.
Jasne; Myslalem, ze wlasnie SW1 jest spryskiwaczem...
Nie lapie jeszcze troche techniki poslugiwania sie procesorkami; Kojarzylo
mi sie tak, ze skoro to Rx, to szeregowo jakby przesyla impulsy ze
spryskiwaczy... nie wazne. Teraz juz wiem.

To nie tak. INT1 to wejscie, na ktore bedzie podawana masa z wylacznika
spryskiwacza. W zaleznosci jak dlugo bedziesz ja trzymal lub jaka
kombinacje
wykonasz naciskajac to - np. kilka impulsikow - to taka bedzie reakcja
urzadzenia. Ale niestety musisz sprecyzowac zalozenia dzialania tego.
Hm.... Skoro juz jest procesorek... :)
Ale na poczatek tak jak mowilem w zalozeniach:
Wciskasz spryskiwacz na mniej niz 0,6 sek - uruchamiasz programowanie.
Czekasz iles tam, po czym znowu spryskiwacz.
Odstep miedzy dwoma wlaczeniami - to odstep w pracy wycieraczek.
Dobrze by bylo, gdyby wcisniecie spryskiwacza na >0,6 sek. nie wlaczalo
programowania....

Przekaznik daj za tym tranzystorem i lacz przez przekaznik wszystko co
dalej. Dodaj diode np. LL4148 rownolegle z przekaznikiem.
Spox.

Co ty chcesz to bedzie pokazywac - twoja wola ! Moze byc wiecej diod, a
moze
nie byc ani jednej. Ty zalozenia ustalasz.
oki;
Moze byc np. tak - jedna (zielona) sygnalizuje prace ukladu, a druga (np.
czerwona) sygnalizuje stan "uczenia sie".

--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>



Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Thu, 13 Aug 1998 16:01:21 GMT



Czesio <piotrcze_at_nospam_friko.onet.pl> napisał(a) w artykule
<01bdc6c8$05e08140$LocalHost_at_nospam_lic51tk2>...
(Pomijam fakt, ze nie znam assemblera tego czegos, ale sciagnalem se
pdf'a
z Atmel'a i mam nadzieje szybko go poznac).
hehe... okazalo sie, ze sciagnalem tylko kawalek PDF'a i Acrobat go nie
czyta; (wcale sie mu nie dziwie, bo nie ma czego czytac) ;))

PLEASE, pomozcie. Na pewno ktos ma..... ?

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Juliusz" <juliusz_at_nospam_wyscigi.multi-ip.com.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Thu, 13 Aug 1998 16:26:10 GMT


A tu masz szkielet programiku :))) Moze wspolnymi silami kolegow grupwiczow
razem cos na[piszemy ?

Juliusz




; *******************************************************************
; Program sterowania wycieraczkami - szkielet !
; *******************************************************************
NAME wycieraczki_v_1.0

org 000H
ajmp INIT ; inicjowanie po wlaczeniu

org 00BH
ajmp TIMER_0

org 01BH
ajmp TIMER_1

ORG 003H ; INT_0_SRV
ajmp INT_0_SRV

ORG 013H ; INT_1_SRV
ajmp INT_1_SRV


WDG equ P1.0
OUT1 equ P1.3
LE1 equ P1.6
LE2 equ P1.7
SW1 equ P3.0
MAN equ P3.3


; ******************************************************************
; OBSZAR POCZATKOWY KODU PROGRAMU
; ******************************************************************
INIT:

cpl WDG

mov SP,#029h ;ustawienie dna stosu
mov IE,#10000000B ; zezwalam na przerwania ale nie wlaczam jeszcze nic.
mov IP,#00000000B ; priorytety przerwan - nie ustawilem priorytetu
mov TMOD,#00010001B ; T0 tryb 1 i T1 tryb 1 Oba timery 16-bitowe
mov TCON,#00000000B ; STOP dla wszystkich przerwan

cpl WDG

ZACZYNAMY:

; Tutaj twoj programik - jego glowna petla !


; ******************************************************************
; ******************************************************************
; Obsluga przerwan - cos tu trzeba napisac :)))
; ******************************************************************

TIMER_0:
reti

TIMER_1:
reti

INT_0_SRV:
reti

INT_1_SRV:
reti

end




Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Juliusz" <juliusz_at_nospam_wyscigi.multi-ip.com.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Thu, 13 Aug 1998 16:31:45 GMT


Aha i jeszcze jedno. Tym ukladem to mozesz sterowac polowa elektryki w
samochodzie. Gasic swiatla jak zapomnisz po jakims czasie i takie tam
pierdoly jak migacze, kontrola zarowek, bo Atmelek ma komparator wbudowany i
dostawic kilka elementow i juz masz prawie komputer samochodowy:)))
Sygnalizacja pasow, niedomkniecia drzwi - wszystko w jednym :))

Juliusz




Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Thu, 13 Aug 1998 16:42:58 GMT


Juliusz <juliusz_at_nospam_wyscigi.multi-ip.com.pl> napisał(a) w artykule
<RxEA1.20507$xG2.8672737_at_nospam_news.tpnet.pl>...
Aha i jeszcze jedno. Tym ukladem to mozesz sterowac polowa elektryki w
samochodzie. Gasic swiatla jak zapomnisz po jakims czasie i takie tam
pierdoly jak migacze, kontrola zarowek, bo Atmelek ma komparator
wbudowany i
dostawic kilka elementow i juz masz prawie komputer samochodowy:)))
Sygnalizacja pasow, niedomkniecia drzwi - wszystko w jednym :))
Taaa.. juz poczulem co mozna z takim czyms zrobic... :)
Fajna to zabawka.....
--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>



Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Jaroslaw Lis" <lis_at_nospam_papuga.ict.pwr.wroc.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: 13 Aug 1998 21:50:04 GMT


Juliusz <juliusz_at_nospam_wyscigi.multi-ip.com.pl> wrote:
A tu masz szkielet programiku :))) Moze wspolnymi silami kolegow grupwiczow
razem cos na[piszemy ?


Nie odbieraj koledze frajdy :-)

J.

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Juliusz" <juliusz_at_nospam_wyscigi.multi-ip.com.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Thu, 13 Aug 1998 22:11:57 GMT



Jaroslaw Lis wrote in message <6qvn2c$as5$26_at_nospam_okapi.ict.pwr.wroc.pl>...
Juliusz <juliusz_at_nospam_wyscigi.multi-ip.com.pl> wrote:
A tu masz szkielet programiku :))) Moze wspolnymi silami kolegow
grupwiczow
razem cos na[piszemy ?


Nie odbieraj koledze frajdy :-)


Ale jak mu nie napiszesz jak taki programik wyglada to nie bedzie wiedzial
od czego zaczac. Moge tylko napisac mu jak wyglada miganie dioda, zeby
widzial czemu to dziala.
Ale ciekawe czy koledze wystarczy checi aby sobie zrobic prototyp i
programator, bo inaczej to szkoda czasu :))

Juliusz




Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Fri, 14 Aug 1998 14:38:38 GMT


Ale ciekawe czy koledze wystarczy checi aby sobie zrobic prototyp i
programator, bo inaczej to szkoda czasu :))
O to mozesz byc spokojny; Za bardzo mnie to wciagnelo zeby teraz to
zostawic... :)
Tyle tylko, ze jak na razie nie wiem jak taki programator zrobic, bo nie
mam pojecia o technice programowania 1051. (innych tez ;)))

Pozdrawiam.
--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Fri, 14 Aug 1998 18:54:49 GMT


A tu masz szkielet programiku :))) Moze wspolnymi silami kolegow
grupwiczow
razem cos na[piszemy ?
Splodzilem cos takiego: (dokladnie 64 bajty i na pewno podjezdza
amatorszczyzna, ale przynajmniej sam to napisalem :)) )
A. nawet nie wiem czy to dziala bo mam kiepski emulator... (wlasnie sciagam
jakis mam nadzieje lepszy).

NAME Wycieraczki

WDG equ P1.0
OUT1 equ P1.3
LE1 equ P1.6
LE2 equ P1.7
SW1 equ P3.0
MAN equ P3.3


delay equ r0
timeleft equ r1
newtime equ r2
prg equ r7

ORG 0
ajmp start

ORG 03H ; Tu zaczyna sie procedurka Int0
inc prg
cjne prg,#2,Start_prg ; Czy to drugie wlaczenie spryskiwacza ?
mov a,newtime ; Najwyrazniej tak;
mov delay,a ; Zapamietaj nowy czas
sjmp Stop_prg ; Zakoncz programowanie

ORG 0BH ; Tu zaczyna sie procedurka Timera0
inc newtime ; uzywane podzczas programowania
dec timeleft
reti

Start_prg: ; Wlaczono spryskiwacz
mov timeleft,#8
wait3:
cjne timeleft,#0,wait3
jnb INT0,Stop_prg ; Czy po krotkim czasie spryskiwacz nadal wlaczony
?
mov newtime,#0 ; Nie - a wiec zacznij liczyc czas
reti

Stop_prg: ; Zakoncz programowanie nowego czasu
mov prg,#0
reti

start:
mov TMOD,#00000001b ; TIMER0 16-bit
mov TCON,#00010000b ; Uruchamiam TIMER0
mov IE,#10000011b ; Tylko przerwanie TIMERa0

clr a
mov prg,a ; zerowanie prg; prg=1 oznacza, ze jest wlasnie
; programowana przerwa miedzy cyklami.
mov delay,#18

reload:

cjne prg,#1,ok ; czy przypadkiem nic sie nie programuje... ?
sjmp skip
ok: ; nic, mozna dzialac normalnie
setb OUT1
mov timeleft,#5
wait2: ; ruch wycieraczek ; czas potrzebny na poruszenie silnikiem
; na tyle, zeby zalapal mechanizm
; "wykonania pelnego ruchu"
cjne timeleft,#0,wait2
clr OUT1

mov a,delay
mov timeleft,a

wait1: ; przerwa
cpl WDG ; "uspienie" Watchdoga
cjne timeleft,#0,wait1

sjmp reload
end


Sorki, ze dlugi post, ale chcialem zeby jak najwiecej osob ocenilo....

Poza tym nie wykorzystalem LEDow ani SW1... trudno. Moze uda sie
zoptymalizowac i wstawic obsluge tychze.

--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>


Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Fri, 14 Aug 1998 19:30:37 GMT


A. nawet nie wiem czy to dziala bo mam kiepski emulator... (wlasnie
sciagam
jakis mam nadzieje lepszy).
Oczywiscie nie dociagnalem; modem zrobil swoje ... :(((



Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Jaroslaw Lis" <lis_at_nospam_papuga.ict.pwr.wroc.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: 14 Aug 1998 20:46:39 GMT


Czesio <piotrcze_at_nospam_friko.onet.pl> wrote:
NAME Wycieraczki

WDG equ P1.0
OUT1 equ P1.3
LE1 equ P1.6
LE2 equ P1.7
SW1 equ P3.0
MAN equ P3.3

delay equ r0
timeleft equ r1

Tu generalna uwaga - wylacznie R0 i R1 moga sluzyc do adresowania posredniego
wiec generalnie oducz sie przydzielania im stalej funkcji na samym poczatku

newtime equ r2
prg equ r7

ORG 0
ajmp start

ORG 03H ; Tu zaczyna sie procedurka Int0
inc prg
cjne prg,#2,Start_prg ; Czy to drugie wlaczenie spryskiwacza ?


Tu uwazaj. Przerwanie nie moze zmienic "stanu procesora" widzianego
przez przerywany program!
'51 jest dosc unikalny, bo przerwanie nie zachowuje flag procesora.
O ile rozkaz INC wolno Ci wykonac bo on nie zmienia flag, to rozkazu
CJNE juz nie. Bo inaczej mozesz sie zdiwic ze w innym miejscu programu
nagle np czasem zmienia sie Carry, miedzy dwoma instrukcjami.
Byc moze tytaj Ci to nie przeszkadza, ale na przyszlosc radze
wstawic na dzien dobry push PSW i przed RETI pop PSW.

Druga uwaga natury dosc generalnej - pojawiaja sie zaklocenia, a zestyki
wylacznikow drgaja. Powinies w programie odfiltrowac krotkie impulsy.


mov a,newtime ; Najwyrazniej tak;
mov delay,a ; Zapamietaj nowy czas
sjmp Stop_prg ; Zakoncz programowanie

ORG 0BH ; Tu zaczyna sie procedurka Timera0
inc newtime ; uzywane podzczas programowania
dec timeleft
reti

Tu sie mozesz w przyszlosci rozwinac - obecnie newtime moze
sie przekrecic i zbyt dluga przerwa zaowocuje ciaglym ruchem :-)
Mozna wprowadzic gorne ograniczenie, samoczynne zakonczenie programowania
... albo 16 bitowy licznik :-)

Start_prg: ; Wlaczono spryskiwacz
mov timeleft,#8
wait3:
cjne timeleft,#0,wait3
jnb INT0,Stop_prg ; Czy po krotkim czasie spryskiwacz nadal wlaczony
?
mov newtime,#0 ; Nie - a wiec zacznij liczyc czas
reti

W kwestii funkcjonalnej - ja bym chyba chcial, zeby poprzycisnieciu
spryskiwacza wycieraczki raz machnely. Wtedy sobie odczekam az na szybie sie
kropli uzbiera - przycisne jeszcze raz. I wtedy znow wycieraczki powinny
machnac.

Stop_prg: ; Zakoncz programowanie nowego czasu
mov prg,#0
reti

start:
mov TMOD,#00000001b ; TIMER0 16-bit
mov TCON,#00010000b ; Uruchamiam TIMER0
mov IE,#10000011b ; Tylko przerwanie TIMERa0

clr a
mov prg,a ; zerowanie prg; prg=1 oznacza, ze jest wlasnie
; programowana przerwa miedzy cyklami.
mov delay,#18

reload:

cjne prg,#1,ok ; czy przypadkiem nic sie nie programuje... ?
sjmp skip
ok: ; nic, mozna dzialac normalnie
setb OUT1
mov timeleft,#5
wait2: ; ruch wycieraczek ; czas potrzebny na poruszenie silnikiem
; na tyle, zeby zalapal mechanizm
; "wykonania pelnego ruchu"
cjne timeleft,#0,wait2

clr OUT1

mov a,delay
mov timeleft,a

wait1: ; przerwa
cpl WDG ; "uspienie" Watchdoga


Czekaj - nie widze skip: - co z WD w czasie programowania czasu ?

cjne timeleft,#0,wait1

sjmp reload
end

Poza tym nie wykorzystalem LEDow ani SW1... trudno. Moze uda sie
zoptymalizowac i wstawic obsluge tychze.

Czekaj czekaj - Czy ty nie myslisz RAM z ROM [EEPROM].
ROM przechowuje program, a RAM - rejestry, stos, oraz inne
dane, w sumie robocze, programu.
RAMu jest 64bajty.. programu to jeszcze mozesz sporo napisac - eepromu
jest 1KB.

J.

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Sat, 15 Aug 1998 13:06:22 GMT


Czesio <piotrcze_at_nospam_friko.onet.pl> wrote:

delay equ r0
timeleft equ r1

Tu generalna uwaga - wylacznie R0 i R1 moga sluzyc do adresowania
posredniego
wiec generalnie oducz sie przydzielania im stalej funkcji na samym
poczatku
Oki.

Byc moze tytaj Ci to nie przeszkadza, ale na przyszlosc radze
wstawic na dzien dobry push PSW i przed RETI pop PSW.
To wazne, dzieki.

Druga uwaga natury dosc generalnej - pojawiaja sie zaklocenia, a zestyki
wylacznikow drgaja. Powinies w programie odfiltrowac krotkie impulsy.
A nie mozna odfiltrowac na zewnatrz ?

mov a,newtime ; Najwyrazniej tak;
mov delay,a ; Zapamietaj nowy czas
sjmp Stop_prg ; Zakoncz programowanie

ORG 0BH ; Tu zaczyna sie procedurka Timera0
inc newtime ; uzywane podzczas programowania
dec timeleft
reti

Tu sie mozesz w przyszlosci rozwinac - obecnie newtime moze
sie przekrecic i zbyt dluga przerwa zaowocuje ciaglym ruchem :-)
Tak, wiem :) Ale musialbys sporo czekac, zeby sie przekrecil....

Start_prg: ; Wlaczono spryskiwacz
mov timeleft,#8
wait3:
cjne timeleft,#0,wait3
jnb INT0,Stop_prg ; Czy po krotkim czasie spryskiwacz nadal
wlaczony
?
mov newtime,#0 ; Nie - a wiec zacznij liczyc czas
reti

W kwestii funkcjonalnej - ja bym chyba chcial, zeby poprzycisnieciu
spryskiwacza wycieraczki raz machnely. Wtedy sobie odczekam az na szybie
sie
kropli uzbiera - przycisne jeszcze raz. I wtedy znow wycieraczki powinny
machnac.
Jasne. W drugiej wersji tak jest; W tej natomiast, jako ze jeszcze myslalem
o 64 bajtach RAMu - zrezygnowalem ;))

cjne prg,#1,ok ; czy przypadkiem nic sie nie programuje... ?
sjmp skip

To jakas widac poprawka. Jest tak:
prg_loop:
cjne prg,#1,ok
cpl WDG
sjmp prg_loop
ok:

Poza tym nie wykorzystalem LEDow ani SW1... trudno. Moze uda sie
zoptymalizowac i wstawic obsluge tychze.
Czekaj czekaj - Czy ty nie myslisz RAM z ROM [EEPROM].
ROM przechowuje program, a RAM - rejestry, stos, oraz inne
dane, w sumie robocze, programu.
RAMu jest 64bajty.. programu to jeszcze mozesz sporo napisac - eepromu
jest 1KB.

I to dopiero dotarlo do mnie po wyslaniu tego postu!!!!
Kiedy przegladalem PDF'a, widze 64 RAM 1K ROM..... I Wtedy olsnienie:
Kurcze, przeciez program sie w ROM wsadza, bo RAM niejako sie kasuje ;))
To po prostu przyzwyczajenia zwiazane z PC - Wszystkie programy jakie
pisalem siedzialy w RAMie.....
Nowsza wersja programu juz przekracza 64 bajty ... ;))

A powiem Ci, ze tak se myslalem w czasie max. sciskania powyzszego kodu -
"kurde, a ktos powiedzial, ze 64 bajty w zupelnosci wystarcza" ... ;)


PS. Czy ktos ma cos przeciwko temu listingowi na grupie ? Jezeli tak, moge
przesylac poczta na priv'a....

Pozdrawiam.
--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>


Poprzedni Następny
Wiadomość
spis tre¶ci
From: lis_at_nospam_papuga.ict.pwr.wroc.pl (Jaroslaw Lis)
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Sat, 15 Aug 1998 19:57:10 GMT


On Sat, 15 Aug 1998 13:06:22 GMT, Czesio wrote:
Druga uwaga natury dosc generalnej - pojawiaja sie zaklocenia, a zestyki
wylacznikow drgaja. Powinies w programie odfiltrowac krotkie impulsy.
A nie mozna odfiltrowac na zewnatrz ?

Mozna probowac, ale po co? Chce ci sie plytke komplikowac i
eksperymentowac z lutownica ? Przeciez to tylko pare linijek wiecej
-)

Kiedy przegladalem PDF'a, widze 64 RAM 1K ROM..... I Wtedy olsnienie:
Kurcze, przeciez program sie w ROM wsadza, bo RAM niejako sie kasuje ;))
To po prostu przyzwyczajenia zwiazane z PC - Wszystkie programy jakie
pisalem siedzialy w RAMie.....

Tak tak - programowanie kontrolerow to troche inna zabawa niz
programowanie pod Windowsy :-)

A powiem Ci, ze tak se myslalem w czasie max. sciskania powyzszego kodu -
"kurde, a ktos powiedzial, ze 64 bajty w zupelnosci wystarcza" ... ;)

Jak widzisz starczyly :-)

Nawiasem mowiac, nie chce mi sie liczyc, ale RAM zajmujesz cos 5
bajtow i ze 4 na stos - jaksie naloza przerwania. I po co w pececie
32MB :-)

J.


Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Wed, 26 Aug 1998 21:16:41 GMT


Nawiasem mowiac, nie chce mi sie liczyc, ale RAM zajmujesz cos 5
bajtow i ze 4 na stos - jaksie naloza przerwania. I po co w pececie
32MB :-)
Pewnie! Billi powiedzial, ze ..."640k should be enough"... ;))))


UPRZEJMIE INFORMUJE, ZE WLASNIE WROCILEM I SPRAWA ATMELKA PORUSZA MNIE NA
NOWO ;)))

--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>


Poprzedni Następny
Wiadomość
spis tre¶ci
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Sun, 16 Aug 1998 18:22:12 +0200


Jaroslaw Lis wrote:

Tu uwazaj. Przerwanie nie moze zmienic "stanu procesora" widzianego
przez przerywany program!

W tym, konkretnym przypadku.
Ogolnie zas Twoja uwaga jest mocno przesadzona,
i dobrze o tym wiesz :-).
Nawet jesli przez "stan procesora" rozumiesz tylko
zawartosc rejestru PSW, nie ma zadnego powodu, by
procedury obslugi przerwan musialy zachowywac ten
rejestr. Ot, chocby znacznik F, czyli tzw. pomocniczy -
jego zmiana w przerwaniu moze byc wygodnym zrodlem
informacji dla reszty programu.
Zmiana znacznika CY rzeczywiscie na ogol nie powinna
miec miejsca w przerwaniu, i trzeba na to uwazac,
zwlaszcza, jesli jest sie poczatkujacym programista.
Jednak czasem jest to bardzo wygodne, np. w dlugich
petlach, w ktorych CY jest uzywane do podejmowania
decyzji o skokach. Procedura przerwania moze zmienic
ten znacznik celowo, po to, by zostal wykonany skok.
Oczywiscie, procedura przerwania moglaby sama wywolac
okreslony podprogram, jednak czasem wazna jest jeszcze
synchronizacja z urzadzeniami zewnetrznymi.
Zaznaczam, ze jest to egzotyczna sytuacja, ale raz mi sie
zdarzylo zastosowac w/w technike - z jednej strony
dla zabawy, z drugiej - dla rzeczywistej optymalizacji
programu. A jaki byl przez to nieczytelny ... :-)))
(to przeciez wazne, by nikt obcy nie mogl zrozumiec programu:-)
Tak w ogole, to CJNE jest "zdradliwa" instrukcja -
latwo jest zapomniec o tym, ze zmienia znacznik CY.
Jak zaczynalem programowac, tracilem przez to duuuzo czasu.
Przydal by sie w '51 dodatkowy rozkaz zwyklego porownania
bez skoku, lub skoku w zaleznosci od wyniku porownania
(cos jak CJNE, lecz bez zmiany znacznikow).

'51 jest dosc unikalny, bo przerwanie nie zachowuje flag procesora.

Moim zdaniem to bardzo dobrze. Zachowywanie flag zawsze
kosztuje inne procesory troche dodatkowego czasu.
Jedyna niedogodnosc, to wymaganie dla programisty,
by pamietal o PUSHach i POPach. Jednak w procedurach
przerwan, ktore nie zmieniaja znacznikow, jest to blogosla-
wienstwo - przejscie przez nie trwa krocej o tych pare cykli.

O.C.

----------------------------------------
pies pileon kameleon
----------------------------------------

Poprzedni Następny
Wiadomość
spis tre¶ci
From: lis_at_nospam_papuga.ict.pwr.wroc.pl (Jaroslaw Lis)
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Mon, 17 Aug 1998 20:50:41 GMT


On Sun, 16 Aug 1998 18:22:12 +0200, Olgierd Cybulski wrote:
Jaroslaw Lis wrote:
Tu uwazaj. Przerwanie nie moze zmienic "stanu procesora" widzianego
przez przerywany program!

W tym, konkretnym przypadku.
Ogolnie zas Twoja uwaga jest mocno przesadzona,
i dobrze o tym wiesz :-).

Powiedzialbym ze ogolnie jest jak postuluje, ale akurat w
mikrokontrolerach kazdy program to osobny konkretny przypadek :-)

Nawet jesli przez "stan procesora" rozumiesz tylko
zawartosc rejestru PSW,

Troche wiecej. Rejestrow uzywanych w glownym programie tez nie wypada
zmieniac.

nie ma zadnego powodu, by
procedury obslugi przerwan musialy zachowywac ten
rejestr. Ot, chocby znacznik F, czyli tzw. pomocniczy -
jego zmiana w przerwaniu moze byc wygodnym zrodlem
informacji dla reszty programu.

Mozna zadanie scedowac na dowolny inny bit. Przynajmniej nie bedzie
problemow jak sie okaze ze w przerwaniu musimy zapamietac i odtworzyc
PSW.

Zaznaczam, ze jest to egzotyczna sytuacja, ale raz mi sie
zdarzylo zastosowac w/w technike - z jednej strony
dla zabawy, z drugiej - dla rzeczywistej optymalizacji
programu. A jaki byl przez to nieczytelny ... :-)))

Wyroslem juz z pisania programow nieczytelnych :-)
No coz - czasem trzeba :-)

Przydal by sie w '51 dodatkowy rozkaz zwyklego porownania
bez skoku, lub skoku w zaleznosci od wyniku porownania
(cos jak CJNE, lecz bez zmiany znacznikow).

w '51 w ogole przydaloby sie pare dodatkowych rozkazow.
nawiasem mowiac - te AVR tez mi sie wydaja troche dziwnie i bez glowy
zaprojektowane..

'51 jest dosc unikalny, bo przerwanie nie zachowuje flag procesora.

Moim zdaniem to bardzo dobrze. Zachowywanie flag zawsze
kosztuje inne procesory troche dodatkowego czasu.
Jedyna niedogodnosc, to wymaganie dla programisty,
by pamietal o PUSHach i POPach. Jednak w procedurach
przerwan, ktore nie zmieniaja znacznikow, jest to blogosla-
wienstwo - przejscie przez nie trwa krocej o tych pare cykli.

Mam mieszane uczucia. Takie "wbudowane" push/pop mogloby szybciej
dzialac. To ze obecnie czasem nie trzeba ich dawac jest
okupione tym ze wiele rozkazow flag nie zmienia. A to wydluza program
glowny.


J.



Poprzedni Następny
Wiadomość
spis tre¶ci
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Tue, 18 Aug 1998 13:13:28 +0200


Jaroslaw Lis wrote:

Powiedzialbym ze ogolnie jest jak postuluje, ale akurat w
mikrokontrolerach kazdy program to osobny konkretny przypadek :-)

Nawet jesli przez "stan procesora" rozumiesz tylko
zawartosc rejestru PSW,

Troche wiecej. Rejestrow uzywanych w glownym programie tez nie wypada
zmieniac.

A tu sie tym bardziej nie zgadzam.
Prawie zawsze uzywam wybranych rejestrow (lub zmiennych w RAM)
do komunikacji "programu glownego" z przerwaniami.
Jest to zarowno bardzo wygodne, jak i czytelne, ze nie
wspomne o szybkosci dzialania...
Na przyklad tak: przerwania ustawiaja wartosci zmiennych,
inkrementuja software'owe liczniki, zas tzw. program glowny
odczytuje te wartosci, lub odwrotnie - program glowny zapisuje,
przerwania czytaja. Czesto tez stosuje zmienianie zawartosci
rejestrow i w przerwaniach i w programie naraz.
Sztandarowy przyklad - programowa realizacja kolejki FIFO.
Przerwania zapisuja dane na szczycie bufora okreznego,
program glowny odczytuje te dane. Potrzebne sa do tego
zmienne wskazujace pozycje zapisu oraz pozycje odczytu.
Mozna to zrealizowac tak, ze przerwanie inkrementuje tylko
wskaznik zapisu, sprawdzajac wczesniej, czy kolejka nie jest
przepelniona, program glowny zas inkrememntuje zas wskaznik
odczytu. Czyli wydawaloby sie, ze nie sa potrzebne zmienne
modyfikowane zarowno przez program, jak i przez przerwanie.
A jednak !
Gdy rozmiar danych gromadzony w kolejce jest wiekszy od 1 bajtu,
lub gdy rozne rekordy maja rozna dlugosc, testowanie wolnego
mniejsca w kolejce staje sie czasochlonne, i dlatego wygodnie
jest wprowadzic dodatkowa (redundantna) zmienna, ktora jest
roznica pozycji zapisu i pozycji odczytu podzielona przez
rozmiar rekordow. To znacznie przyspiesza operacje na kolejce.
Zmienna ta musi byc zmieniana zarowno przez program, jak
i przez przerwania.
To oczywiscie tylko jeden przyklad, jest mnostwo innych
sytuacji, w ktorych wskazane jest umiejetne wpsoldzielenie
danych przez przerwania i program glowny.
Czasem warto jest przeznaczyc kilka rejestrow na "smietnik",
czyli obszar przeznaczony tylko jako "pamiec podreczna"
procedur obslugi przerwan o wysokim priorytecie -
po to, by uniknac koniecznosci czasochlonnego
(i stosochlonnego) uzycia PUSH i POP.
I tu widac kolejna wade 51-ki w porownaniu z np. Z80.
Brakuje kompletnych alternatywnych bankow rejestrow -
w szczegolnosci alternatywnych akumulatorow.


Mam mieszane uczucia. Takie "wbudowane" push/pop mogloby szybciej
dzialac. To ze obecnie czasem nie trzeba ich dawac jest
okupione tym ze wiele rozkazow flag nie zmienia. A to wydluza program
glowny.

Oj tak, niestety.
A jednak lepszy od wbudowanego "push-pop" bylyby
alternatywne banki rejestrow (lacznie z Acc i B).
W niektorych kontrolerach rodziny '51 sa juz
alternatywne rejestry DPTR - poczekajmy,
moze pojawia sie tez alternatywne akumulatory.
Jest przeciez duzo wolnych adresow w obszarze SFR,
gdzie moznaby umiescic selektor banku.

O.C.

----------------------------------------
pies pileon kameleon
----------------------------------------

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Jaroslaw Lis" <lis_at_nospam_papuga.ict.pwr.wroc.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: 18 Aug 1998 18:23:17 GMT


Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl> wrote:
Jaroslaw Lis wrote:
Troche wiecej. Rejestrow uzywanych w glownym programie tez nie wypada
zmieniac.

A tu sie tym bardziej nie zgadzam.
Prawie zawsze uzywam wybranych rejestrow (lub zmiennych w RAM)
do komunikacji "programu glownego" z przerwaniami.

"Uzywanych" znaczy sie uzywanych w glownym programie, a nie przechowujacych
dane dzielone miedzy program glowny a przerwania :-)

Sztandarowy przyklad - programowa realizacja kolejki FIFO.
[...]
To oczywiscie tylko jeden przyklad, jest mnostwo innych
sytuacji, w ktorych wskazane jest umiejetne wpsoldzielenie
danych przez przerwania i program glowny.

Wspoldzielenie - owszem. Skutek jednak taki ze albo sobie mozesz
pozwolic na zarezerwowanie R0 lub R1 dla przerwania - albo niestety
czeka cie zachowywanie rejestru na stosie, bo ktoregos z powyzszych
musisz w przerwaniu uzyc, zeby wpisac dana do bufora.
Nie chce mi sie sprawdzac - ale chyba sie nie obejdzie bez push/pop psw
w takim buforze.

Czasem warto jest przeznaczyc kilka rejestrow na "smietnik",
czyli obszar przeznaczony tylko jako "pamiec podreczna"
procedur obslugi przerwan o wysokim priorytecie -
po to, by uniknac koniecznosci czasochlonnego
(i stosochlonnego) uzycia PUSH i POP.

Powiedzialbym niestety "czasem mozna sobie pozwolic". A czasem nie mozna,
i sie robi rzezba - albo zachowywanie w przerwaniu, albo orgia w programie.

I tu widac kolejna wade 51-ki w porownaniu z np. Z80.
Brakuje kompletnych alternatywnych bankow rejestrow -
w szczegolnosci alternatywnych akumulatorow.

Albo automatycznego zachowywania. Zauwaz ze banki rejestrow w zasadzie
sa - sa te bity w psw. Niestety - nie do konca uzyteczne...
A przeciez moznaby jeszcze wprowadzic malutka modyfikacje -
ze sie automatycznie przestawia na alternatywny zestaw..

J.

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Juliusz" <juliusz_at_nospam_wyscigi.multi-ip.com.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Tue, 18 Aug 1998 21:50:17 +0200



Jaroslaw Lis wrote in message <6rcgql$cqd$5_at_nospam_okapi.ict.pwr.wroc.pl>...
Albo automatycznego zachowywania. Zauwaz ze banki rejestrow w zasadzie
sa - sa te bity w psw. Niestety - nie do konca uzyteczne...
A przeciez moznaby jeszcze wprowadzic malutka modyfikacje -
ze sie automatycznie przestawia na alternatywny zestaw..


Kurde Atmel mogl watchdoga dorobic wewnetrznego, o ile byloby prosciej.
Dallasowi wyszly te 87C520 - wlasnie sie bawie takim, ale po pierwsze za
drogo ! i do tego brak FLASH. Sami wiecie jak to jest jak sie przyzwyczaicie
do szybkiego kasowania. A z 87xxx to zawsze strach, ze jak byk wyjdzie to
partia kostek do smieci

A ten Dallas genialnie szybki, az zapiera tylko szkoda, ze mnie na niego nie
stac :))
AVR pasuje pin w pin a kosztuje 20% ceny dallasa.

Juliusz




Poprzedni Następny
Wiadomość
spis tre¶ci
From: Stanislaw Sidor <sts_at_nospam_qq.elcompzu.com.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Tue, 18 Aug 1998 22:15:14 +0200


Juliusz wrote:

Kurde Atmel mogl watchdoga dorobic wewnetrznego, o ile byloby prosciej.


Wewnetrzy watch-dog jest tak przydatny jak melon kastylijski do ... (patrz "Komu
bije dzwon" ;)
Ustawisz w PCONie tryb PowerDown i kaput, bedzie tak stal do konca ...
zasilania.
Poki SFR PCON nie bedzie chroniony przed przypadkowym zapisem (moze o tym nie
wiem a jest ?), to uwazam to razwiazanie za amatorskie.

Dallasowi wyszly te 87C520 - wlasnie sie bawie takim [...] A ten Dallas
genialnie szybki, az zapiera [...]

Optymalizuje wlasnie kod (migruje) asm51 na 80c320 Dallasa, masz jakies ciekawe
spostrzezenia (dopalajace) ?

(STS)


Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Juliusz" <juliusz_at_nospam_wyscigi.multi-ip.com.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Thu, 20 Aug 1998 01:55:58 +0200



Stanislaw Sidor wrote in message <35D9E0D2.61DD570E_at_nospam_qq.elcompzu.com.pl>...
Juliusz wrote:

Kurde Atmel mogl watchdoga dorobic wewnetrznego, o ile byloby prosciej.


Wewnetrzy watch-dog jest tak przydatny jak melon kastylijski do ... (patrz
"Komu
bije dzwon" ;)

"Kogo bije dzwon" ? Czy to reportaz z procesu Jozefa Dzwona ?

Co do tego watchdoga.. hmm 51-ki slyna z zacinania sie, czasem nie wystarcza
jednorazowy reset i trzeba resetowac ponownie po wlaczeniu zasilania.
Dorabianie zewnetrznego ukladu to strata miejsca. Ja zawsze mowie, ze 51-ka
bez watchdoga zewnetrznego to samobojstwo. Nawt 80C528 mimo wewnetrznego
watchdoga potrafily sie wieszac, ale to to ponoc wada konstrukcyjna. I niech
nikt nie polemizuje, ze nie mam racji bo tych 528 to przylutowalem z 700 w
urzdzeniach i wiem co to znaczy. W pewnym okresie musialem zmieniac projekt
bo urzadzenia sie zacinaly. Byly do tego wyswietlacze 7 segmentowe. A wiecie
pewnie co sie dzieje jak multipleks nagle stanie w miejscu :))
552 wydaje sie lepiej zrobiony i nie mialem z nim klopotu na ponad 1500 szt
przylutowanych.
Atmelki wydaja sie tak samo podatne na zacinanie, a reset z tantala i
rezystorka to tylko mozna do prototypu stosowac.
Nie wiem ile prockow sam osobiscie lutowales i ile urzadzen zrobiles w sumie
na 51-kach ale ja moge powiedziec, ze mam doswiadczenie bo moze z 7000
zrobilem na roznych wariacjach 51-ki.


Optymalizuje wlasnie kod (migruje) asm51 na 80c320 Dallasa, masz jakies
ciekawe
spostrzezenia (dopalajace) ?


Dostalem 2 okienkowe 87C520 z ELFY za ogromne pieniadze, ale wiem, ze one sa
w granicach 100zl+Vat.
Mam takie urzadzonko z ciasna petelka w programie i szybka obsluga
przerwania od RS-a. Zwykla 51-ka sie nie wyrabiala, a tak zyskalem dodatkowe
40 cykli maszynowych. Wlasciwie nie bawilem sie tymi buforami do movx ale ze
wzgledu na koszty wzialem sie za AVR-a 4414, ktory kosztuje 20zl, a jest
jeszcze szybszy. Mysle, ze Dallas to dobry procesor ale niestety za drogi.
On nie jest tak do konca 3 razy szybszy. wiele rozkazow wykonuje sie w 4
cyklach, ale takze wiele potrzebuje 8-miu. Programowanie UARTu jest fajne bo
mozna sie przelaczac miedzy starym podzielnikiem /12 i nowym przez 4.
Jeszcze raz mowie, ze nie jest on wart tych pieniedzy. Lepiej pouczyc sie
assemblera AVR-a, ktory w sumie bardzo 51-ke przypomina.

Juliusz






Poprzedni Następny
Wiadomość
spis tre¶ci
From: cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl (Jaroslaw Cichorski Jr.)
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Tue, 18 Aug 1998 20:12:06 GMT


Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl> wrote:

A jednak lepszy od wbudowanego "push-pop" bylyby
alternatywne banki rejestrow (lacznie z Acc i B).

Pomiedzy bankami mozesz przelaczac sie za pomoca RS0 i RS1, a poniewaz
sa one umieszczone w PSW, to przy wejsciu w przerwanie robisz PUSH ACC
i przelaczasz sie na bank wybrany dla przerwan o danym priorytecie
(przerwania o tym samym priorytecie sie, jak widomo, nie przerywaja).
Przy wyjsciu z obslugi przerwania POP ACC odtwarza stan ACC i
przywraca poprzedni bank rejestrow.
W zasadzie jezeli nie tworzy sie sztucznie trzeciego poziomu przerwan
mozna wykorzystac trzy banki - jeden dla programu gl, dwa dla
przerwan, a czwarty moze byc uzyty jako bank dodatkowy.
Inna sprawa, ze czasmi taki podzial to marnotrawstwo RAM, choc
niewykorzystane rejestry w tych bankach moga byc uzyte jako zwykle
zmienne.
Jasne jednak, ze do szybkiego przelaczania kontekstu warto by miec
alternatywne zastawy wszystkich rejestrow.

W niektorych kontrolerach rodziny '51 sa juz
alternatywne rejestry DPTR - poczekajmy,
moze pojawia sie tez alternatywne akumulatory.
Jest przeciez duzo wolnych adresow w obszarze SFR,
gdzie moznaby umiescic selektor banku.

To juz byloby chyba za duze odstepstwo od rodziny - wymagaloby tez
dodatkowej obslugi przez kompilatory.
Watpie czy cos takiego sie pojawi...

Pozdrawiam

--------
Jaroslaw Cichorski Jr.
E-mail cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl
WWW http://www.amart.com.pl
UWAGA Adres email niewazny!
Prosze usunac JUNK MAIL PROTECTION. zeby otrzymac prawidlowy adres.
Kto to jest General Failure i dlaczego czyta z mojego dysku twardego ?

Poprzedni Następny
Wiadomość
spis tre¶ci
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Thu, 20 Aug 1998 18:06:04 +0200


Jaroslaw Cichorski Jr. wrote:

Pomiedzy bankami mozesz przelaczac sie za pomoca RS0 i RS1,

Oczywiscie ze moge, lecz nie sa to banki wszystkich rejestrow,
ani nawet kompletu tych najpotrzebniejszych. R2 - R7 sa o wiele
mniej przydatne od akumultora.

[...]

Jasne jednak, ze do szybkiego przelaczania kontekstu warto by miec
alternatywne zastawy wszystkich rejestrow.

Totez wlasnie o tym pisalem.

W niektorych kontrolerach rodziny '51 sa juz
alternatywne rejestry DPTR - poczekajmy,
moze pojawia sie tez alternatywne akumulatory.
Jest przeciez duzo wolnych adresow w obszarze SFR,
gdzie moznaby umiescic selektor banku.

To juz byloby chyba za duze odstepstwo od rodziny - wymagaloby tez
dodatkowej obslugi przez kompilatory.

Dlaczego ?
Jest przeciez duzo wolnych adresow w obszarze SFR.
Moznaby wsadzic tam trzy dodatkowe akumulatory,
i dodatkowy rejestr z dwoma bitami do selekcji.
Kompilator nie musialby o niczym wiedziec, bo i tak
dostep bylby tylko do jednego z akumulatrow naraz.
Nie byloby przeciez zadnych dodatkowych rozkazow.
Problem bylby jedynie z emulatorami.
I to wcale nie wiekszy, niz problem przy kilku
rejestrach DPTR. Zmiana uzywanego rejestru DPTR
jest z oczywistych wzgledow niezrozumiala dla
emulatorow MCS51, i dokladnie ten sam problem
bylby z akumulatorami.
M.in. dlatego jestem zwolennikiem emulatorow, w ktorych
mozna zmieniac sposob dzialania instrukcji assemblerowych
i definiowac nowe rejestru procesora.
Jednak - jeszcze raz podkreslam - nie byloby zadnych
problemow z kompilatorami.

O.C.

----------------------------------------
pies pileon kameleon
----------------------------------------

Poprzedni Następny
Wiadomość
spis tre¶ci
From: cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl (Jaroslaw Cichorski Jr.)
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Thu, 20 Aug 1998 22:38:10 GMT


Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl> wrote:

To juz byloby chyba za duze odstepstwo od rodziny - wymagaloby tez
dodatkowej obslugi przez kompilatory.

Dlaczego ?
Jest przeciez duzo wolnych adresow w obszarze SFR.
Moznaby wsadzic tam trzy dodatkowe akumulatory,
i dodatkowy rejestr z dwoma bitami do selekcji.

Moznaby wszystko... ale (patrz nizej pkt 2)

Kompilator nie musialby o niczym wiedziec, bo i tak
dostep bylby tylko do jednego z akumulatrow naraz.

Yhymmm.....
Tylko, ze wtedy kompilator (mysle o wyzszym poziomie niz ASM) nie
umialby korzystac z tych niewatpliwie przydatnych bajerow, a czasem
moglby miec z nimi powazne klopoty (patrz nizej)

Jednak - jeszcze raz podkreslam - nie byloby zadnych
problemow z kompilatorami.

Bylyby (z kompilatorami wyzszego poziomu niz ASM, a takie mialem na
mysli), co postaram sie udowodnic ponizej -
Powstaja dwa problemy:
1.
Wiadomo, ze w '51 konkretne rejestry maja swe konkretne, na stale
przypisane adresy w SFR.
Jak wiec zdefiniujesz adres ACC, jezeli bedzie ich de facto 4 ?
Odczyt/zapis przy rozkazie adresowanym tylko do ACC wykona sie
poprawnie na aktualnie aktywnym akumulatorze.
Jednak odczyt/zapis w rozkazach adresujacych bezposrednio
(wykorzystywany przez niektore kompilatory do bezposredniego dostepu
do ACC) odnosilby sie tylko do ACC z banku 0, bo uzyto by adresu 0xE0.
Tak wiec, nawet gdybys swiadomie przelaczal banki w swoim programie
(np. realizujac prosty RTOS) to Twoj program (o ile bylby napisany w
jakimkolwiek innym jezyku niz ASM) dzialalby zle - wylozylby sie na
pierwszym bezposrednio adresowanym dostepie do 'akumulatora'.
Mogloby sie wydawac, ze rozwiazaniem tego problemu byloby zastosowanie
stalego adresu ACC (oraz innych bankowanych rejestrow) i podmiana
rejestrow z tla (siedza w ukrytych komorkach i nie ma do nich dostepu,
dopoki nie sa bankiem aktywnym). Jednak takie rozwiazanie przeczy
zasadzie lezacej u podstaw rodziny '51, ze kazdy rejestr ma swoj
unikalny adres w SFR - to jest wlasnie to odstepstwo od rodziny o
ktorym pisalem.

2.
ACC jest jak wiadomo adresowany bitowo.
Adresowane bitowo moga byc tylko rejestry, ktorych adres jest
podzielny przez 8. Jest za malo takich wolnych komorek, aby stworzyc
jeszcze trzy acu i rejestr do ich przelaczania.


Wobec powyzszego widze powazne problemy z takim rozszerzeniem rodziny
w sposob o ktorym piszesz.

Pozdrawiam

--------
Jaroslaw Cichorski Jr.
E-mail cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl
WWW http://www.amart.com.pl
UWAGA Adres email niewazny!
Prosze usunac JUNK MAIL PROTECTION. zeby otrzymac prawidlowy adres.
Kto to jest General Failure i dlaczego czyta z mojego dysku twardego ?

Poprzedni Następny
Wiadomość
spis tre¶ci
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Thu, 27 Aug 1998 21:33:41 +0200


Jaroslaw Cichorski Jr. wrote:

Wiadomo, ze w '51 konkretne rejestry maja swe konkretne, na stale
przypisane adresy w SFR.
Jak wiec zdefiniujesz adres ACC, jezeli bedzie ich de facto 4 ?

[...]

ACC jest jak wiadomo adresowany bitowo.
Adresowane bitowo moga byc tylko rejestry, ktorych adres jest
podzielny przez 8. Jest za malo takich wolnych komorek, aby stworzyc
jeszcze trzy acu i rejestr do ich przelaczania.

Wobec powyzszego widze powazne problemy z takim rozszerzeniem rodziny
w sposob o ktorym piszesz.

Jest na to sposób. Akumulator aktywny (jeden z 4) byłby
mapowany w adres zwyklego akumulatora.
Tyle, ze wowczas pozostale akumulatory bylyby niedostepne,
dopoki nie stana sie aktywne, choc i ten problem da sie
rozwiazac bez komplikowania kompilatorow.
Wybor aktywnego akmulatora odbywalby sie przez wpisanie
odpowiedniej wartosci do pewnego rejestru w SFR - niekoniecznie
adresowanego bitowo.

O.C.

----------------------------------------
pies pileon kameleon
----------------------------------------

Poprzedni Następny
Wiadomość
spis tre¶ci
From: Maciej Czapla <caltek_at_nospam_wroclaw.top.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Fri, 21 Aug 1998 18:51:52 +0200


Oczywiscie ze moge, lecz nie sa to banki wszystkich rejestrow,
ani nawet kompletu tych najpotrzebniejszych. R2 - R7 sa o wiele
mniej przydatne od akumultora.

To przechowaj akum. w rejestrze. Zazwyczaj obsługę przerwania robię
następuj±co:

PUSH PSW
MOV PSW,#REGSET1
MOV R7,A
....<obsługa>
MOV A,R7
POP PSW
RETI

Druga sprawa to DPTR. Je¶li miałem potrzebę odwołania w przerwaniu do
XDATA to z reguły były to jakie¶ peryferia a nie RAM i odwołanie było do
jednego..dwóch adresów. Zamiast używać DPTR korzystałem z faktu że
rozkazy MOVX A,_at_nospam_R0 i MOVX _at_nospam_R0,A emituj± na starszej czę¶ci adresu to co
jest w P2 (i tak nieużywanego jako port przy pracy z XDATA), P2
ustawiało się na adres peryferiów na pocz±tku i nie trzeba się martwić o
DPTR.

W niektorych kontrolerach rodziny '51 sa juz
alternatywne rejestry DPTR - poczekajmy,
moze pojawia sie tez alternatywne akumulatory.
Jest przeciez duzo wolnych adresow w obszarze SFR,
gdzie moznaby umiescic selektor banku.

To juz byloby chyba za duze odstepstwo od rodziny - wymagaloby tez
dodatkowej obslugi przez kompilatory.

Dlaczego ?
Jest przeciez duzo wolnych adresow w obszarze SFR.
Moznaby wsadzic tam trzy dodatkowe akumulatory,
i dodatkowy rejestr z dwoma bitami do selekcji.
Kompilator nie musialby o niczym wiedziec, bo i tak
dostep bylby tylko do jednego z akumulatrow naraz.
Nie byloby przeciez zadnych dodatkowych rozkazow.
Problem bylby jedynie z emulatorami.
I to wcale nie wiekszy, niz problem przy kilku
rejestrach DPTR. Zmiana uzywanego rejestru DPTR
jest z oczywistych wzgledow niezrozumiala dla
emulatorow MCS51, i dokladnie ten sam problem
bylby z akumulatorami.

Zależy o jakich emulatorach mówisz. Pożych od nas, pobaw się i... kup
albo nie.
Popatrz na http://www.signum.com

Maciej Czapla
CALTEK, Wrocław

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek
Date: Sat, 15 Aug 1998 13:31:47 GMT


UWAGA!!!!!!!!
DZISIAJ (SOBOTA) WYJEZDZAM, PRAWDOPODOBNIE DO KONCA SIERPNIA. :(((
DLATEGO UWAGI/POMYSLY PROSZE SLAC NA PRIV'a LUB ZAWIESIC TOPIC DO MOJEGO
POWROTU...
(NIE WIEM, CZY WSZYSTKO ZOSTANIE NA SERWERZE, A CHCIALBYM TO MIEC Z
PRZYCZYN CHYBA OCZYWISTYCH).

Podaje nowa wersje. Nie przerobilem equ na data bo a51 nie chcial przyjac
ani
zmienna data r2
ani
zmienna: data r2

Ale pare rzeczy sie zmienilo... oto on!

name Wycieraczki_v2.0

WDG equ P1.0
OUT1 equ P1.3
LE1 equ P1.6
LE2 equ P1.7
;SW1 equ P3.0 nie mam za bardzo gdzie go uzyc - wydaje sie
byc zbedny...
MAN equ P3.2


delay equ r2
timeleft equ r3
newtime equ r4
prg equ r7

ORG 0
ajmp START

ORG 03H
ajmp INT_0

ORG 0BH
ajmp Timer_0

INT_0: ; Tu zaczyna sie procedurka Int0
push PSW
inc prg
cjne prg,#2,Start_prg ; Czy to drugie wlaczenie spryskiwacza ?
mov a,newtime ; Najwyrazniej tak;
mov delay,a ; Zapamietaj nowy czas
sjmp Stop_prg ; Zakoncz programowanie

Start_prg: ; Wlaczono spryskiwacz
mov timeleft,#3
wait3:
cjne timeleft,#0,wait3
jnb MAN,Stop_prg ; Czy po krotkim czasie spryskiwacz nadal wlaczony
?
mov newtime,#0 ; Nie - a wiec zacznij liczyc czas
call machnij ; Powiadom o rozpoczeciu programowania ruchem wyc.
setb LE2
pop PSW
reti

Stop_prg: ; Zakoncz programowanie nowego czasu
mov prg,#0
clr LE2
pop PSW
reti

Timer_0: ; Tu zaczyna sie procedurka Timera0
push PSW
inc newtime ; uzywane podzczas programowania
cjne timeleft,#0,nzero
pop PSW
reti

nzero:
dec timeleft
pop PSW
reti

START:
setb LE1 ; LED dzialania ukladu
clr LE2 ; LED programowania
clr a
mov prg,a ; zerowanie prg; prg=1 oznacza, ze jest wlasnie
; programowana przerwa miedzy cyklami.
mov delay,#18

mov TMOD,#00000001b ; TIMER0 16-bit
mov TCON,#00010000b ; Uruchamiam TIMER0
mov IP,#00000010b ; Wysoki priorytet dla Timera0
mov IE,#10000011b ; Tylko przerwanie TIMERa0



main_loop:

cjne prg,#1,ok ; czy przypadkiem nic sie nie programuje... ?
cpl WDG ; uspienie WD w czasie programowania
sjmp main_loop

ok: ; nic, mozna dzialac normalnie

call machnij

mov a,delay
mov timeleft,a

wait1: ; przerwa
cpl WDG ; "uspienie" Watchdoga
cjne timeleft,#0,wait1

sjmp main_loop


machnij:
setb OUT1 ; wlacz silnik wycieraczek

mov timeleft,#3
wait2: ; czas potrzebny na poruszenie silnikiem
; na tyle, zeby zalapal mechanizm
; "wykonania pelnego ruchu"
cjne timeleft,#0,wait2
clr OUT1 ; wylacz silnik wycieraczek
ret

end


Jaki jest Waszym zdaniem najlepszy emulator 1051 ? Uzywam sim51 [sim51eng]
[z ATMELa], chociaz on emuluje 8051.
Jak wiecie zerwalo mi sie polaczenie przy sciaganiu innego wiec nie wiem
czy mam go sciagac jeszcze raz czy nie.


--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek
Date: Fri, 28 Aug 1998 12:29:05 GMT


Podaje nowa wersje. Nie przerobilem equ na data bo a51 nie chcial przyjac
[...]

Bardzo Was prosze o jakies sugestie dot. listingu programu sterownika... To
druga wersja (wyslana 98-08-15 15:31). Tamtego dnia informowalem, ze mnie
nie bedzie, ale juz wrocilem i czekam na uwagi.

Przy okazji ponawiam pytanie:

Jaki jest Waszym zdaniem najlepszy emulator 1051 ?

--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>



Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Jaroslaw Lis" <lis_at_nospam_papuga.ict.pwr.wroc.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: 13 Aug 1998 17:03:33 GMT


Czesio <piotrcze_at_nospam_friko.onet.pl> wrote:
Juliusz <juliusz_at_nospam_wyscigi.multi-ip.com.pl> napisał(a) w artykule

Oki; mam schemacik, teraz moze pare slow wyjasnien;
Po pierwsze, programik do tego.... Jak to zaprogramowac ?


Poszukaj pliku BlowIt. Html, pdf, czy jakos tam . kiedys byl
na www.sistudio.com, ale teraz nie widze, trzeba archiego zagnac do roboty.

5. Co maja sygnalizowac LEDy ? /wiem, ze to kwestia programu, ale co autor
mial na mysli...?/ :))

W zaistnialej sytuacji wypada zapytac "co ja moge na nich zapalic".
Ty bedziesz autorem :-)

Np symulator alarmu :-)

J.

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Thu, 13 Aug 1998 20:40:12 GMT


Jaroslaw Lis <lis_at_nospam_papuga.ict.pwr.wroc.pl> napisał(a) w artykule
<6qv695$as5$3_at_nospam_okapi.ict.pwr.wroc.pl>...
Czesio <piotrcze_at_nospam_friko.onet.pl> wrote:
Juliusz <juliusz_at_nospam_wyscigi.multi-ip.com.pl> napisał(a) w artykule

Oki; mam schemacik, teraz moze pare slow wyjasnien;
Po pierwsze, programik do tego.... Jak to zaprogramowac ?


Poszukaj pliku BlowIt. Html, pdf, czy jakos tam . kiedys byl
na www.sistudio.com, ale teraz nie widze, trzeba archiego zagnac do
roboty.

Wlasnie udalo sie sciagnac (za 4 razem) a Atmela.... :)

5. Co maja sygnalizowac LEDy ? /wiem, ze to kwestia programu, ale co
autor
mial na mysli...?/ :))

W zaistnialej sytuacji wypada zapytac "co ja moge na nich zapalic".
Ty bedziesz autorem :-)

Np symulator alarmu :-)
He he he... Akurat alarm mam juz zrobiony... :) - migajacy LED + kilowy
opornik.... :))

--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>



Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Jaroslaw Lis" <lis_at_nospam_papuga.ict.pwr.wroc.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: 13 Aug 1998 21:49:02 GMT


Czesio <piotrcze_at_nospam_friko.onet.pl> wrote:
Jaroslaw Lis <lis_at_nospam_papuga.ict.pwr.wroc.pl> napisał(a) w artykule
5. Co maja sygnalizowac LEDy ? /wiem, ze to kwestia programu, ale co autor
mial na mysli...?/ :))

W zaistnialej sytuacji wypada zapytac "co ja moge na nich zapalic".
Ty bedziesz autorem :-)

Np symulator alarmu :-)
He he he... Akurat alarm mam juz zrobiony... :) - migajacy LED + kilowy
opornik.... :))

Ale on mruga jednostajnie, i moze zlodziejowi podpowiedziec ze to nic
groznego. A ten moze dac np dwa blyski i dluzsza przerwa :-)

J.

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Fri, 14 Aug 1998 14:38:37 GMT


Np symulator alarmu :-)
He he he... Akurat alarm mam juz zrobiony... :) - migajacy LED + kilowy
opornik.... :))
Ale on mruga jednostajnie, i moze zlodziejowi podpowiedziec ze to nic
groznego. A ten moze dac np dwa blyski i dluzsza przerwa :-)
Tak tak... wiem... Ale w koncu wydalem juz te 2 zl. i wiesz.... :)

--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>


Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Jaroslaw Lis" <lis_at_nospam_papuga.ict.pwr.wroc.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: 13 Aug 1998 17:23:55 GMT


Czesio <piotrcze_at_nospam_friko.onet.pl> wrote:
Jaroslaw Lis <lis_at_nospam_papuga.ict.pwr.wroc.pl> napisał(a) w artykule
Nie kombinuj, tylko kup sobie Atmela 89C1051, to jest procesorek,

Dobra. Przyznam sie, ze myslalem o tym, ale jakoze nigdy jeszcze
procesorkami nie bawilem, wolalem to zrobic po swojemu....
Ale! Przekonales mnie; Tyle tylko, ze licze na wsparcie podczas budowy...
ok ?

OK. Nie za bardzo jest co prawda co wspierac - to sie robi trywialne :-)

Zaraz se poszukam opisu tegoz. Mam tylko pytanie; Ile toto kosztuje ... ?


Jak sadze jakas pamiec trzeba tez miec i miec jak ja zaprogramowac. Co
TRZEBA miec zeby w ogole moc zrealizowac uklad ? (mam na mysli np. jakis
programator pamieci, lub sposob programowania bez niego).

Nie polecalbym, gdyby nie fakt ze:
1) pamiec RAM ma w srodku. Co prawda 64bajty w czasach MSWindows moze budzic
smiech, ale wiecej nie trzeba :-)
2) Pamiec ROM ma w srodku. Jest to w zasadzie Flash - programowalna i
elektrycznie kasowalna.
3) do pracy wymaga jedynie kwarcu.
4) programator sobie sam zlutujesz jako przystawke do LPT.
Wiedza i programator sie przydadza do nastepnych projektow

No i moze jakies porady na poczatek, jak sie obchodzic z takim ukladzikiem
?
Ostroznie. Przy przekladaniu miedzy podstawkami ukladu i programatora
mozna nozke urwac :-)
W rozwiazaniach samochodowych zwroc uwage na zabezpieczenie zasilania
i wejsc. Tam sie moze wysokie napiecie pojawic.


Swoja droga 8 bitow to moze byc przesada. 4 powinny starczyc.
A co do ilosci bitow, to 16 kombinacji to chyba za krotko. Daje to zbyt
mala rozdzielczosc. Chcac np. miec przerwy do 16 sek. zegar taktowalby co
1.sek. Niby spoko, ale w czasie programowania bylyby duze "skoki", tzn.
gdybym ustawil czas na 15,9 sek. przerwa trwalaby 15 sek. Natomiast
klikajac spryskiwaczem 0,1 sek pozniej, przerwa juz jest o 1 sek.
wieksza.....

Przy 16s nie zauwazysz roznicy. Gorzej z ustawieniem przy 1-2 sekundy.
Tylko zastanow sie - to ma byc wzorzec czestotliwosci, czy
urzadzenie do machania wycieraczkami co pewien czas? Czy taka rozdzielczosc
jest tam w ogole potrzebna?

Zreszta - daj Atmelka, to juz tylko od programu bedzie zalezalo czy
rozdzielczosc bedzie sekunda, milisekunda czy mikrosekunda :-)

Zauwaz ze mozesz zamieniac kierunek liczenia miedzy licznikami.
Moze byc latwiej cos dobrac.
Nie lapie... ? O ile wiem 40103 nie ma mozliwosci zmiany kierunku
zliczania... ?

103 nie ma, ale ten drugi moze miec. Tobie jest wszystko jedno,
cze jeden liczy w gore, a drugi w dol, czy pierwszy w dol, a drugi w
gore.

J.

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Juliusz" <juliusz_at_nospam_wyscigi.multi-ip.com.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Thu, 13 Aug 1998 17:50:07 GMT



Jaroslaw Lis wrote in message <6qv7fb$as5$6_at_nospam_okapi.ict.pwr.wroc.pl>...
Czesio <piotrcze_at_nospam_friko.onet.pl> wrote:
Jaroslaw Lis <lis_at_nospam_papuga.ict.pwr.wroc.pl> napisał(a) w artykule
Nie kombinuj, tylko kup sobie Atmela 89C1051, to jest procesorek,

Dobra. Przyznam sie, ze myslalem o tym, ale jakoze nigdy jeszcze
procesorkami nie bawilem, wolalem to zrobic po swojemu....
Ale! Przekonales mnie; Tyle tylko, ze licze na wsparcie podczas budowy...
ok ?

OK. Nie za bardzo jest co prawda co wspierac - to sie robi trywialne :-)

Zaraz se poszukam opisu tegoz. Mam tylko pytanie; Ile toto kosztuje ... ?


Kupny programator od 300 do 800zl, a samorobny prawie nic.

Kostki sa po 5,50zl z VAT czyli brutto jak sie wie gdzie

Juliusz




Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Fri, 14 Aug 1998 10:25:37 GMT


Kupny programator od 300 do 800zl, a samorobny prawie nic.
Hmmm.... ktory tu wybrac... ? ;)

Kostki sa po 5,50zl z VAT czyli brutto jak sie wie gdzie
Ja tez chcialbym wiedziec - odpowiedzi prosze na priv'a ;))

--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>



Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Fri, 14 Aug 1998 10:25:36 GMT


OK. Nie za bardzo jest co prawda co wspierac - to sie robi trywialne :-)
Pewnie, ale to moj pierwszy raz... :))

4) programator sobie sam zlutujesz jako przystawke do LPT.
Wiedza i programator sie przydadza do nastepnych projektow
Na pewno; Zwlaszcza, ze zaczynam to wszystko lapac. Pisze juz nawet proste
programy ;)) (na emulatorze).

Wdzieczny bede, jak ktos mi wyjasni programowanie TIMERow.

No i moze jakies porady na poczatek, jak sie obchodzic z takim
ukladzikiem
?
Ostroznie. Przy przekladaniu miedzy podstawkami ukladu i programatora
mozna nozke urwac :-)
iieee tam.... ma ich 20.... ;)

W rozwiazaniach samochodowych zwroc uwage na zabezpieczenie zasilania
i wejsc. Tam sie moze wysokie napiecie pojawic.
Nie wystarczy jakiegos Zenera wstawic ?

Przy 16s nie zauwazysz roznicy. Gorzej z ustawieniem przy 1-2 sekundy.
Masz racje; zly przyklad, ale na mysli mialem to co Ty.

Tylko zastanow sie - to ma byc wzorzec czestotliwosci, czy
urzadzenie do machania wycieraczkami co pewien czas? Czy taka
rozdzielczosc
jest tam w ogole potrzebna?
No wiesz... :))
Urzadzenie do machania wycieraczkami tez musi miec pewna dokladnosc... a
jak zechce wydluzyc czas do max 32 sekund... ? ;)

Zreszta - daj Atmelka, to juz tylko od programu bedzie zalezalo czy
rozdzielczosc bedzie sekunda, milisekunda czy mikrosekunda :-)
Otoz to. Bardzo mnie "zakrecily" procesorki... :)

--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>


Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Fri, 14 Aug 1998 18:42:58 GMT


Sugeruje isc do sklepu, i kupic cos z "51" w tytule. nie powinny byc
drogie,
a atmelek jest na 8051 wzorowany mocno.
Mialem na mysli TIMERy Atmela 1051... :)
Ale juz doszedlem do wszystkiego.

Ostroznie. Przy przekladaniu miedzy podstawkami ukladu i programatora
mozna nozke urwac :-)
iieee tam.... ma ich 20.... ;)
Az trzy kola dobre ? :-)
Masz racje; moze sie wysypac... :)

Jak na muj gust to przerwa 0,2,4,6 .... 30 tez jest w sam raz. Po co Ci
1.54s przerwy ?
A bo ja jestem bardzo dokladny facet ;))

--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>


Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Jaroslaw Lis" <lis_at_nospam_papuga.ict.pwr.wroc.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: 14 Aug 1998 18:57:09 GMT


Jaroslaw Lis <lis_at_nospam_papuga.ict.pwr.wroc.pl> wrote:
Wdzieczny bede, jak ktos mi wyjasni programowanie TIMERow.

Sugeruje isc do sklepu, i kupic cos z "51" w tytule. nie powinny byc drogie,
a atmelek jest na 8051 wzorowany mocno.

Ksiazke mialem na mysli :-)


Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Fri, 14 Aug 1998 19:09:43 GMT


Jaroslaw Lis <lis_at_nospam_papuga.ict.pwr.wroc.pl> wrote:
Wdzieczny bede, jak ktos mi wyjasni programowanie TIMERow.

Sugeruje isc do sklepu, i kupic cos z "51" w tytule. nie powinny byc
drogie,
a atmelek jest na 8051 wzorowany mocno.

Ksiazke mialem na mysli :-)
No to sie dogadalismy ;))

W sumie wydaje mi sie, ze zalapalem o co w tym wszystkim chodzi.

--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>



Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Jaroslaw Lis" <lis_at_nospam_papuga.ict.pwr.wroc.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: 14 Aug 1998 19:41:39 GMT


Czesio <piotrcze_at_nospam_friko.onet.pl> wrote:
Jaroslaw Lis <lis_at_nospam_papuga.ict.pwr.wroc.pl> wrote:
Wdzieczny bede, jak ktos mi wyjasni programowanie TIMERow.

Sugeruje isc do sklepu, i kupic cos z "51" w tytule. nie powinny byc drogie,
a atmelek jest na 8051 wzorowany mocno.

Ksiazke mialem na mysli :-)
No to sie dogadalismy ;))

W sumie wydaje mi sie, ze zalapalem o co w tym wszystkim chodzi.

Teraz niestety konczy sie zalapywanie, a trzeba solidnego opisu -
ktory bit ktorego rejestru co dokladnie robi.


J.

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Sat, 15 Aug 1998 13:06:20 GMT


W sumie wydaje mi sie, ze zalapalem o co w tym wszystkim chodzi.

Teraz niestety konczy sie zalapywanie, a trzeba solidnego opisu -
ktory bit ktorego rejestru co dokladnie robi.
Rozpisalem sobie (na podst. jakiegos emulatora) rejestry IE, IP, TCON,
TMOD, PCON, SCON.

Nie do konca rozumiem GATE (7 i 3 bit TMOD) oraz IE1/IE0 i IT1/IT0 (TCON).
Reszta spox.

--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>


Poprzedni Następny
Wiadomość
spis tre¶ci
From: lis_at_nospam_papuga.ict.pwr.wroc.pl (Jaroslaw Lis)
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Sat, 15 Aug 1998 19:57:12 GMT


On Sat, 15 Aug 1998 13:06:20 GMT, Czesio wrote:

Nie do konca rozumiem GATE (7 i 3 bit TMOD) oraz IE1/IE0 i IT1/IT0 (TCON).
Reszta spox.


GATE umozliwia zablokowanie zegara zewnetrznym sygnalem z pinu INTx

IE sluza glownie jako informacja ze zgloszono zewnetrzne przerwanie.

IT zmieniaja sposob przyjmowania przerwania - czy przewanie zglasza
poziom 0 na wejsciu INTx [pamietaj ze ten poziom sprawdzany jest pod
koniec prawie kazdej instrukcji, wiec powinien sie tam utrzymac dosc
dlugo], czy opadajace zbocze.

Cos Ci podesle, ale dlugie i pod DOS.

J.

Poprzedni Następny
Wiadomość
spis tre¶ci
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Sun, 16 Aug 1998 19:21:09 +0200


Czesio wrote:

Nie do konca rozumiem GATE (7 i 3 bit TMOD) oraz IE1/IE0 i IT1/IT0 (TCON).
Reszta spox.

Jest taka mala ksiazeczka - "Mikrokomputery jednoukladowe
rodziny MCS-51" nie pamietam autora.
Nie jestem rowniez pewien poczatku tytulu.
W kazdym razie jest to najlepsze ksiazka o '51 jaka
kiedykolwiek widzialem.
Swego czasu byla trudno dostepna (naklad wyczerpany itp.),
w zwiazku z czym na poczatku jej nie mialem, i tez nie
moglem od razu zrozumiec szczegolow dzialania przerwan, timerow
itp. W tej ksiazeczce jednak opis jest tak czytelny i komunikatywny,
ze jak napisales "spox".

Jesli jej nie masz - kup, pozycz, skseruj itp.
Wszystko zrozumiesz od razu (mam nadzieje :-)

O.C.

----------------------------------------
pies pileon kameleon
----------------------------------------

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Wed, 26 Aug 1998 21:16:43 GMT


Swego czasu byla trudno dostepna (naklad wyczerpany itp.),
w zwiazku z czym na poczatku jej nie mialem, i tez nie
moglem od razu zrozumiec szczegolow dzialania przerwan, timerow
itp. W tej ksiazeczce jednak opis jest tak czytelny i komunikatywny,
ze jak napisales "spox".

Jesli jej nie masz - kup, pozycz, skseruj itp.
Wszystko zrozumiesz od razu (mam nadzieje :-)
Oki; Poszukam. Jak nie znajde, to mam nadzieje, ze ktos z Warszawy ja ma
.. ? ;)

--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>



Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Thu, 27 Aug 1998 13:55:02 GMT


Jest taka mala ksiazeczka - "Mikrokomputery jednoukladowe
rodziny MCS-51" nie pamietam autora.
Jest, owszem. W ksiegarni tech. na Swietokrzyskiej (W-wa, oczywiscie). Z
tego co widzialem maja jeszcze spory zapas.

"Mikrokomputery jednoukladowe rodziny MCS-51". Autorem jest Andrzej
Rydzewski.

itp. W tej ksiazeczce jednak opis jest tak czytelny i komunikatywny,
ze jak napisales "spox".
Nie zaglebialem sie jeszcze (dopiero wrocilem z ksiegarni), ale na 1 rzut
oka jest OK.

Jesli jej nie masz - kup, pozycz, skseruj itp.
Juz mam. :)

--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>


Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Juliusz" <juliusz_at_nospam_wyscigi.multi-ip.com.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Fri, 14 Aug 1998 21:20:33 GMT



Czesio wrote in message <01bdc7b6$b7f36980$2f2074c3_at_nospam_lic51tk2>...
Jaroslaw Lis <lis_at_nospam_papuga.ict.pwr.wroc.pl> wrote:

W sumie wydaje mi sie, ze zalapalem o co w tym wszystkim chodzi.



Tam gdzie rejestrom dajesz nazwy do trzymania danych to raczej powinienes
dac dyrektywe DATA


COSTAM DATA COSTAM

A procedur podprzerwaniowych nie mozesz pisac pod adresem wektorow przerwan
tylko do tego sa tam te skoki.

Juliusz




Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Sat, 15 Aug 1998 13:06:23 GMT


W sumie wydaje mi sie, ze zalapalem o co w tym wszystkim chodzi.
Tam gdzie rejestrom dajesz nazwy do trzymania danych to raczej powinienes
dac dyrektywe DATA

COSTAM DATA COSTAM

A procedur podprzerwaniowych nie mozesz pisac pod adresem wektorow
przerwan
tylko do tego sa tam te skoki.
Tak - ale jak to pisalem musialem ;) sie zmiescic w 64 bajtach a ze skokami
to nie bylo mozliwe;

BTW: Co siedzi w RAMie na poczatku ? Wydaje mi sie ze:
Offset znaczenie
+0 Init procka
+3 INT0
+0Bh Timer0
+13h INT1
+1Bh Timer1
+23h Serial Port

Czy cos jest dalej ? Czy jest cos pomiedzy nimi ?
Jesli nie, to dlaczego odstep jest az 8 bajtow ? To w PC sa cztery... ;)

Pozdrawiam.
--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>

PS.
Kogo z Was (glownie zaangazowanych w topic) mozna zlapac na IRCu ? [jakie
kanaly?]


Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Juliusz" <juliusz_at_nospam_wyscigi.multi-ip.com.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Sat, 15 Aug 1998 15:49:53 GMT



Czesio wrote in message <01bdc844$a911f6a0$LocalHost_at_nospam_lic51tk2>...
BTW: Co siedzi w RAMie na poczatku ? Wydaje mi sie ze:
Offset znaczenie
+0 Init procka
+3 INT0
+0Bh Timer0
+13h INT1
+1Bh Timer1
+23h Serial Port

Czy cos jest dalej ? Czy jest cos pomiedzy nimi ?
Jesli nie, to dlaczego odstep jest az 8 bajtow ? To w PC sa cztery... ;)


To nie jest w RAM ale w ROM - co do niego program wsadzasz.
A co 8 to z powodu, ze jak masz cos bardzo szybkiego wykonac to mozesz tam
wlasnie wpisac ale to 2 rozkazy + reti i to wszystko. Zyskujesz 2 cykle na
skok.

A w RAM ro od dolu siedza 4 banki rejestrow R0 do R7 przelaczane bitami w
PSW.
Dalej jest 128 bitow adresowalnych - obszar adresowany bitowo

a dalej zwykly RAM adresowany bajtowo.

z tego powodu lepiej jest przesunac stos na 29h bo zacznie sie on od 30h.
Ale jesli masz AT1051 i nie masz potrzeby stosowania tylu bitow
adresowalnych to stos przesun nieco nizej np. o 8 bajtow.

RAM to lepiej od gory zapelniac swoimi pierdolami i stale myslec o stosie.
Jak masz call, jumpy i inne takie to wszystkie one zajmuja stos wiec musisz
to przewidziec.

A procedury podprzerwaniowe to lepiej zawsze robic tak:


IRQ_JAKIES:

push ACC
push PSW

............. TUTAJ KOD

pop PSW
pop ACC
reti

Do czasu jak nie wiesz co robisz to lepiej zwalac PSW i ACC na stos, bo
potem zapomnisz o tym i nic nie bedzie dzialac.

Juliusz



Pozdrawiam.
--
>*************************
>Piotr Czechowicz
>piotrcze_at_nospam_priv.onet.pl
>Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>
>
>PS.
> Kogo z Was (glownie zaangazowanych w topic) mozna zlapac na IRCu ? [jakie
>kanaly?]
>



Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Sat, 15 Aug 1998 16:49:14 GMT


Czy cos jest dalej ? Czy jest cos pomiedzy nimi ?
Jesli nie, to dlaczego odstep jest az 8 bajtow ? To w PC sa cztery... ;)
To nie jest w RAM ale w ROM - co do niego program wsadzasz.
Mialem na mysli, czy cos jest dalej zarezerwowane, w ROMie oczywiscie.

A co 8 to z powodu, ze jak masz cos bardzo szybkiego wykonac to mozesz
tam
wlasnie wpisac ale to 2 rozkazy + reti i to wszystko. Zyskujesz 2 cykle
na
skok.
Spox. Rozumiem.

Do czasu jak nie wiesz co robisz to lepiej zwalac PSW i ACC na stos, bo
potem zapomnisz o tym i nic nie bedzie dzialac.
Jasne.

Pozdrawiam.
--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>


Poprzedni Następny
Wiadomość
spis tre¶ci
From: lis_at_nospam_papuga.ict.pwr.wroc.pl (Jaroslaw Lis)
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Sat, 15 Aug 1998 19:57:25 GMT


On Sat, 15 Aug 1998 13:06:23 GMT, Czesio wrote:

BTW: Co siedzi w RAMie na poczatku ? Wydaje mi sie ze:

Nie w RAM, a w ROM.

Offset znaczenie
+0 Init procka
+3 INT0
+0Bh Timer0
+13h INT1
+1Bh Timer1
+23h Serial Port

Czy cos jest dalej ? Czy jest cos pomiedzy nimi ?

w innych procesorkach rodziny [tych wiekszych] bywaja rozszerzenia.

Jesli nie, to dlaczego odstep jest az 8 bajtow ? To w PC sa cztery... ;)

W PC jest tam pamietany adres. Tu program. Moze troche zaszlosci
historycznych [8 bylo w 8080] ... no i jak sam widziales czasem
prosta obsluga sie miesci - tak jak tobie jedna weszla bez problemow.

J.


Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Sat, 15 Aug 1998 13:06:26 GMT



Tam gdzie rejestrom dajesz nazwy do trzymania danych to raczej powinienes
dac dyrektywe DATA
COSTAM DATA COSTAM
KEIL tego nie lapie.


Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Juliusz" <juliusz_at_nospam_wyscigi.multi-ip.com.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Sat, 15 Aug 1998 15:38:37 GMT



Czesio wrote in message <01bdc84b$709d47a0$LocalHost_at_nospam_lic51tk2>...

Tam gdzie rejestrom dajesz nazwy do trzymania danych to raczej powinienes
dac dyrektywe DATA
COSTAM DATA COSTAM
KEIL tego nie lapie.


Jak nie ?:)

J.



Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Sat, 15 Aug 1998 16:49:12 GMT


Juliusz <juliusz_at_nospam_wyscigi.multi-ip.com.pl> napisał(a) w artykule
<1YhB1.22485$xG2.9583882_at_nospam_news.tpnet.pl>...

Czesio wrote in message <01bdc84b$709d47a0$LocalHost_at_nospam_lic51tk2>...

Tam gdzie rejestrom dajesz nazwy do trzymania danych to raczej
powinienes
dac dyrektywe DATA
COSTAM DATA COSTAM
KEIL tego nie lapie.


Jak nie ?:)
A no nie ;)

...wyjezdzam.... jak wroce, sprawdze lepiej.

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Irek" <turboiw_at_nospam_kki.net.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Sat, 15 Aug 1998 22:58:36 GMT



Juliusz napisał(a) w wiadomo¶ci: <1YhB1.22485$xG2.9583882_at_nospam_news.tpnet.pl>...

Czesio wrote in message <01bdc84b$709d47a0$LocalHost_at_nospam_lic51tk2>...

Tam gdzie rejestrom dajesz nazwy do trzymania danych to raczej
powinienes
dac dyrektywe DATA
COSTAM DATA COSTAM
KEIL tego nie lapie.


Jak nie ?:)

J.

A moze by tak zlepic to do kupy bo sie pogubilem. Mozesz wyslac na priva?

Ireneusz Wyleżałek
turboiw_at_nospam_friko.onet.pl
http://friko.onet.pl/cz/turboiw/



Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Wed, 26 Aug 1998 21:16:42 GMT


A moze by tak zlepic to do kupy bo sie pogubilem. Mozesz wyslac na
priva?
Obecna wersja poszla swojego czasu (przed moim wyjazdem) na grupe...

--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>


Poprzedni Następny
Wiadomość
spis tre¶ci
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Sun, 16 Aug 1998 19:27:21 +0200


Czesio wrote:

Tam gdzie rejestrom dajesz nazwy do trzymania danych to raczej powinienes
dac dyrektywe DATA
COSTAM DATA COSTAM
KEIL tego nie lapie.

Dlatego polecam assembler WWH.
Jest chyba najbardziej zgodny ze specyfikacja
assemblerow INTELa jak to tylko mozliwe, a poza tym
ma wiele udogodnien dot. np. automatycznego wybierania
rodzaju skokow, arytmetyki itp.
Ciekaw jestem, czy ktos jeszcze tego uzywa ?
(tzn. assemblera WWHeinz'a ?)

O.C.

----------------------------------------
pies pileon kameleon
----------------------------------------

Poprzedni Następny
Wiadomość
spis tre¶ci
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Sun, 16 Aug 1998 18:34:02 +0200


Juliusz wrote:

Tam gdzie rejestrom dajesz nazwy do trzymania danych to raczej
powinienes dac dyrektywe DATA

COSTAM DATA COSTAM

Tylko, ze nie kazdy kompilator to zrozumie.
EQU jest ogolniejsze, choc oczywiscie w tym przypadku malo eleganckie.
Sa, niestety, assemblery, ktore nie rozumieja deklaracji etykiet
zwiazanych z segmentami.

A procedur podprzerwaniowych nie mozesz pisac pod adresem wektorow
przerwan tylko do tego sa tam te skoki.

Chyba, ze dlugosc ich kodu jest mniejsza od 9 bajtow
(z doswiadczenia wiem, ze czesto sie to zdarza),
lub kolejne przerwania nie sa uzywane, wiec mozna
wykorzystac ich przestrzen adresowa.
W omawianym przypadku zachodzi (o ile mi wiadomo)
druga ewentualnosc.

O.C.

----------------------------------------
pies pileon kameleon
----------------------------------------

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "ed" <sp7woz_at_nospam_bbs.chip.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Thu, 13 Aug 1998 06:53:00 GMT



Czesio napisał(a) w wiadomo¶ci: <01bdc628$30a8c400$LocalHost_at_nospam_lic51tk2>...
Hej!

Zamierzam zrobic sobie przerywacz do wycieraczek w samochodzie; Tyle
tylko, ze ma on miec programowalna czestotliwosz.
Cos podobnego mam zamontowane w R19 przez poprzedniego wlasciciela, nota
bene producenta "inteligentnych" regulatorow.
Pierwszy raz spotkalem sie z tym ukladem 10 lat temu, montowali to wtedy
czesi w Skodach.
Dziala to tak: przy pierwszym wlaczeniu przerwa jest "znormalizowana".
Jesli wylaczymy czasowke zaraz po wlaczeniu, zacznie ona liczyc czas przerwy
do nastepnego wlaczenia - i zapamieta zeby zastosowac po wlaczeniu. Tak
wiec: wl/wyl/3 sec/wl - przerwa 3 sec. itd.. Po wylaczeniu stacyjki nastawy
sa zerowane.
Pozdrawiam, Edward
sp7woz_at_nospam_bbs.chip.pl
UIN 4872285




Poprzedni Następny
Wiadomość
spis tre¶ci
From: cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl (Jaroslaw Cichorski Jr.)
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Thu, 13 Aug 1998 17:54:20 GMT


"Czesio" <piotrcze_at_nospam_friko.onet.pl> wrote:

Taka jest moja idea.... ale pytam sie Was, bo macie na ten temat z deka
wiecej pojecia.... co Wy na to ??

A nie lepiej kupic gotowe ?
Moj przerywacz (kupiony w Germanii) ma jeden scalak i przekaznik.
Wstawia sie go zamiast normalnego przekaznika wycieraczek.

Na ukladach CD4xxx mozesz miec problemy z zakloceniami z instalacji.


--------
Jaroslaw Cichorski Jr.
E-mail cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl
WWW http://www.amart.com.pl
UWAGA Adres email niewazny!
Prosze usunac JUNK MAIL PROTECTION. zeby otrzymac prawidlowy adres.
Kto to jest General Failure i dlaczego czyta z mojego dysku twardego ?

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Jaroslaw Lis" <lis_at_nospam_papuga.ict.pwr.wroc.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: 13 Aug 1998 19:56:07 GMT


Jaroslaw Cichorski Jr. <cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl> wrote:
"Czesio" <piotrcze_at_nospam_friko.onet.pl> wrote:
Taka jest moja idea.... ale pytam sie Was, bo macie na ten temat z deka
wiecej pojecia.... co Wy na to ??

A nie lepiej kupic gotowe ?
Moj przerywacz (kupiony w Germanii) ma jeden scalak i przekaznik.
Wstawia sie go zamiast normalnego przekaznika wycieraczek.

Po pierwsze moze nie dzialac tak jak sobie zyczymy.
Jak sie w Twoim ustawia predkosc?

Po drugie - elektronikowi latwiej wykonac mikroprocesorowy sterownik
niz estetyczna dziure na 4 izostaty :-)

J.

Poprzedni Następny
Wiadomość
spis tre¶ci
From: cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl (Jaroslaw Cichorski Jr.)
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Fri, 14 Aug 1998 07:21:08 GMT


"Jaroslaw Lis" <lis_at_nospam_papuga.ict.pwr.wroc.pl> wrote:

Po pierwsze moze nie dzialac tak jak sobie zyczymy.

Ale w wiekszosci zach. samochodow (chociaz np. nie w Renault)
przekazniki do wycieraczek sa znormalizowane (czytaj: identyczne).
Lista typow i marek jest dosc dluga (byla, bo juz ja wyrzucilem ;-))

Jak sie w Twoim ustawia predkosc?

Wlaczasz - chodzi z odstepem ok. 10s.
Wylaczasz - zaczyna mierzyc czas (do 45s).
Wlaczasz ponownie - wyciera z odstepem jaki zmierzyl.

Po drugie - elektronikowi latwiej wykonac mikroprocesorowy sterownik
niz estetyczna dziure na 4 izostaty :-)

Dziure zrobisz szybciej, ale ja i tak wole pisac programy ;-))

Pozdrawiam

--------
Jaroslaw Cichorski Jr.
E-mail cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl
WWW http://www.amart.com.pl
UWAGA Adres email niewazny!
Prosze usunac JUNK MAIL PROTECTION. zeby otrzymac prawidlowy adres.
Kto to jest General Failure i dlaczego czyta z mojego dysku twardego ?

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Fri, 14 Aug 1998 10:25:38 GMT


A nie lepiej kupic gotowe ?
Moj przerywacz (kupiony w Germanii) ma jeden scalak i przekaznik.
Wstawia sie go zamiast normalnego przekaznika wycieraczek.
Kurcze... Dla mnie to mimo wszystko wieksza radocha jak se sam cos wsadze,
a nie tam kupne....
Zwlaszcza, ze to ma byc moj pierwszy ukladzik z prockiem.

Na ukladach CD4xxx mozesz miec problemy z zakloceniami z instalacji.
Chyba, ze wylacze silnik. ;)) (Jak sadze to przez uklad zaplonowy ? tudziez
alternator ?)

--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>



Poprzedni Następny
Wiadomość
spis tre¶ci
From: cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl (Jaroslaw Cichorski Jr.)
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Fri, 14 Aug 1998 18:35:39 GMT


"Czesio" <piotrcze_at_nospam_friko.onet.pl> wrote:

Kurcze... Dla mnie to mimo wszystko wieksza radocha jak se sam cos wsadze,
a nie tam kupne....
Zwlaszcza, ze to ma byc moj pierwszy ukladzik z prockiem.

Masz racje, rozumiem i doceniam.
Jezeli na procku, to polecam zabezpieczenie przed pikami napiecia
(warystor, transil) i zastosowanie ukladu stabilizatora napiecia
odpornego na duze piki napiecia wejsciowego (60V to minimum) np.
LM2931
Poza tym watchdog koniecznie.

Pozdrawiam

--------
Jaroslaw Cichorski Jr.
E-mail cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl
WWW http://www.amart.com.pl
UWAGA Adres email niewazny!
Prosze usunac JUNK MAIL PROTECTION. zeby otrzymac prawidlowy adres.
Kto to jest General Failure i dlaczego czyta z mojego dysku twardego ?

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Fri, 14 Aug 1998 18:48:27 GMT


Jezeli na procku, to polecam zabezpieczenie przed pikami napiecia
(warystor, transil) i zastosowanie ukladu stabilizatora napiecia
odpornego na duze piki napiecia wejsciowego (60V to minimum) np.
LM2931
A masz jego opis pod reka ?

Poza tym watchdog koniecznie.
Tak. Byl uwzgledniony w schemacie Juliusza.
Jak sadze kazde zaklocenie pracy (zadzialanie watchdoga) powoduje
przestawienie odstepu na "defaultowy" ?

--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>


Poprzedni Następny
Wiadomość
spis tre¶ci
From: cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl (Jaroslaw Cichorski Jr.)
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Sat, 15 Aug 1998 09:44:19 GMT


"Czesio" <piotrcze_at_nospam_friko.onet.pl> wrote:

Jak sadze kazde zaklocenie pracy (zadzialanie watchdoga) powoduje
przestawienie odstepu na "defaultowy" ?

Niekoniecznie - zalezy jak napiszesz program.
Mozesz nieinicjowac komorki pamieci RAM w ktorej wartosc tego czasu
jest przechowywana (o ile jej zawartosc nie jest mniejsza niz
dopuszczalne minimum).
Mozna tez zbudowac mechanizm (software'owy) wykrywania (a niektore
procesorki maja to wbudowane) czy reset nastapil przez watchdog, czy
nie.
Mozesz tez przechowywac ten czas w EEPROM, ale to juz zbytnia
rozrzutnosc.
Pozdrawiam

--------
Jaroslaw Cichorski Jr.
E-mail cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl
WWW http://www.amart.com.pl
UWAGA Adres email niewazny!
Prosze usunac JUNK MAIL PROTECTION. zeby otrzymac prawidlowy adres.
Kto to jest General Failure i dlaczego czyta z mojego dysku twardego ?

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Sat, 15 Aug 1998 13:06:24 GMT


Jak sadze kazde zaklocenie pracy (zadzialanie watchdoga) powoduje
przestawienie odstepu na "defaultowy" ?
Niekoniecznie - zalezy jak napiszesz program.
Mozesz nieinicjowac komorki pamieci RAM w ktorej wartosc tego czasu
jest przechowywana (o ile jej zawartosc nie jest mniejsza niz
dopuszczalne minimum).
No nie wiem; W momencie wlaczenia RAM nie jest zerowany, prawda ? A to
oznacza, ze nie moge 100% stwierdzic, czy to reset, czy wlaczenie
zasilania....

Mozna tez zbudowac mechanizm (software'owy) wykrywania (a niektore
procesorki maja to wbudowane) czy reset nastapil przez watchdog, czy
nie.
No, to juz lepsze. Tylko na czym mialby polegac ?

--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>


Poprzedni Następny
Wiadomość
spis tre¶ci
From: lis_at_nospam_papuga.ict.pwr.wroc.pl (Jaroslaw Lis)
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Sat, 15 Aug 1998 19:57:24 GMT


On Sat, 15 Aug 1998 13:06:24 GMT, Czesio wrote:

No nie wiem; W momencie wlaczenia RAM nie jest zerowany, prawda ? A to
oznacza, ze nie moge 100% stwierdzic, czy to reset, czy wlaczenie
zasilania....

Nie jest zerowany. Zerowane, czy raczej "ustawiane na poczatkowe
wartosci" sa niektore rejestry.
Ale pamietaj ze po wlaczeniu zasilania zawartosc pamieci jest
nieustalona, wiec musisz sprawdzic czy to poprzednio ustawiona
wartosc, czy przypadkowy smiec.

Mozna tez zbudowac mechanizm (software'owy) wykrywania (a niektore
procesorki maja to wbudowane) czy reset nastapil przez watchdog, czy
nie.

No, to juz lepsze. Tylko na czym mialby polegac ?

np dajesz dodatkowy przerzutnik ktory zapamietuje fakt resetu przez
WD.
Co nawiasem mowiac moze doprowadzic do smiesznej rzeczy - powiedzmy ze
twoj software nie jest odporny na jakas glupia wartosc opoznienia
[zwykle 0], WD resetuje ... i na dzien dobry startujemy z ta sama
wartoscia :-)

J.


Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Wed, 26 Aug 1998 21:16:42 GMT


Ale pamietaj ze po wlaczeniu zasilania zawartosc pamieci jest
nieustalona, wiec musisz sprawdzic czy to poprzednio ustawiona
wartosc, czy przypadkowy smiec.
No dobra; ale po wyresetowaniu program leci od poczatku; Skad mam wiedziec
na poczatku programu, czy to smieci, czy dane... ?

Pozdrawiam.
--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>


Poprzedni Następny
Wiadomość
spis tre¶ci
From: "=?ISO-8859-2?Q?Marcin_J=EAdrzejczak?=" <big8_at_nospam_ikp.atm.com.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: 27 Aug 1998 10:53:24 GMT




Czesio <piotrcze_at_nospam_friko.onet.pl> napisał(a) w artykule
<01bdd125$5d93bbc0$LocalHost_at_nospam_lic51tk2>...
Ale pamietaj ze po wlaczeniu zasilania zawartosc pamieci jest
nieustalona, wiec musisz sprawdzic czy to poprzednio ustawiona
wartosc, czy przypadkowy smiec.
No dobra; ale po wyresetowaniu program leci od poczatku; Skad mam
wiedziec
na poczatku programu, czy to smieci, czy dane... ?
Odpowiedziałem na to pytanie w wypowiedzi 17.08.98. g.12:10. Czy nie
docieraj± do Ciebie posty?
W skrócie: licz sumę kontroln± stałego bloku w RAM (najlepiej CRC). Je¶li
to ¶mieci, to i suma kontrolna się nie zgodzi. A sprawdzić należy na
pocz±tku programu...
Pozdrawiam. Marcin J.

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Czesio" <piotrcze_at_nospam_friko.onet.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: Fri, 28 Aug 1998 12:29:04 GMT


Odpowiedziałem na to pytanie w wypowiedzi 17.08.98. g.12:10. Czy nie
docieraj± do Ciebie posty?
Masz racje, chyba cos mi sie powalilo i na inny post odpowiedzialem. Sorki.

Pozdrawiam.
--
*************************
Piotr Czechowicz
piotrcze_at_nospam_priv.onet.pl
Floyd Code: v1.2a r+d>s TW 0/0/ FD 0- 0 AHM 2 0 <14jun98>


Poprzedni Następny
Wiadomość
spis tre¶ci
From: "=?ISO-8859-2?Q?Marcin_J=EAdrzejczak?=" <big8_at_nospam_ikp.atm.com.pl>
Subject: Re: Programowalny przerywacz do wycieraczek.
Date: 17 Aug 1998 10:10:22 GMT




Czesio <piotrcze_at_nospam_friko.onet.pl> napisał(a) w artykule
<01bdc845$6ed6a020$LocalHost_at_nospam_lic51tk2>...
No nie wiem; W momencie wlaczenia RAM nie jest zerowany, prawda ? A to
oznacza, ze nie moge 100% stwierdzic, czy to reset, czy wlaczenie
zasilania....
Ale za to po wł±czeniu zasilania warto¶ci w RAM na ogół nie s± sensowne.
Możesz liczyc sumę kontroln± najważniejszych danych w RAM. Ja na przykład
liczę CRC 8-bitowe dla każdego bloku danych zapisywanego w EEPROM. Robiłem
to na procesorach '51, ST62xx i PIC16C5x. W przypadku RAM można zastosować
analogiczny chwyt. Jeżeli nie chce Ci się liczyć CRC, to można zastosować
mniej eleganck± metodę, ale na ogół skuteczn± - choć nie tak pewn± jak
poprzednia: możesz umie¶cić okre¶lone stałe dane w pamięci RAM i sprawdzać
po resecie, czy tam s±. Je¶li s±, to znaczy, że nie było wył±czenia
zasilania. Niestety przy tej metodzie istnieje możliwo¶c, że akurat twój
stały obszar pozostał bez zmian, a w innych miejscach dane się zmieniły na
przykład w wyniku b. krótkotrwałego zaniku napięcia.
Pamiętaj też, że w przypadku niektórych zakłóceń może doj¶ć do zmian w
pamięci RAM bez zresetowania procesora.
Z do¶wiadczenia wiem, że rodzina '51 nie specjalnie sprawdza się w
warunkach "bojowych". Za to całkiem nieĽle radzi sobie ST62xx.

Mozna tez zbudowac mechanizm (software'owy) wykrywania (a niektore
procesorki maja to wbudowane) czy reset nastapil przez watchdog, czy
nie.
No, to juz lepsze. Tylko na czym mialby polegac ?

Na przykład w procesorach PIC firmy Microchip jest specjalna flaga w
statusie mówi±ca o tym, szy to był reset od WDT czy wł±czenie zasilania.

Pozdrawiam. Marcin J.
big8_at_nospam_ikp.atm.com.pl