 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
CarpeDiem Član


Pridružen-a: Pon 16 Feb 2004 17:24 Prispevkov: 333 Aktiv.: 1.41 Kraj: Vrhnika
|
Objavljeno: Tor Feb 22, 2005 1:43 pm Naslov sporočila: AT89C4051 + PCF8583 (RTC ura) |
|
|
Malo zacetnega igranja s PCF8583 čipi-čipsom. Program sem pred casom snel z enega od slovenskih forumov. Originalnega sporocila ne najdem več, zato je avtor pač Neznanec (ne Jocker-jev). Jaz sem zadevo minimalno spremenil, prevedel , dodal shemo itd.
Atmel preko I2C bere in vpisuje(samo 1x) vrednosti ure in datuma. Program pisan v BASCOM-u.
Lp, CarpeDiem
PS: "In vendar se vrti" ??
Opis: |
|
Velikost datoteke: |
324.09 KB |
Pogledana: |
152 krat |

|
Opis: |
|
 Download |
Ime datoteke: |
ura_03.pdf |
Velikost datoteke: |
28.24 KB |
Downloadano: |
110 krat |
Opis: |
|
 Download |
Ime datoteke: |
ura_03.zip |
Velikost datoteke: |
351.04 KB |
Downloadano: |
77 krat |
|
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3357 Aktiv.: 14.17 Kraj: Dragomer
|
Objavljeno: Tor Feb 22, 2005 7:47 pm Naslov sporočila: Zelo lepo! |
|
|
Zelo lepo! Kompletno! Dokumentirano! Poučno!
Hvala!
Vilko
|
|
Nazaj na vrh |
|
 |
fricky Član


Pridružen-a: Pon 22 Sep 2003 15:37 Prispevkov: 260 Aktiv.: 1.10 Kraj: Ribniško Pohorje
|
Objavljeno: Sre Feb 23, 2005 11:23 am Naslov sporočila: |
|
|
Ali deluje tudi z AT89C2051?
l.p.
|
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3357 Aktiv.: 14.17 Kraj: Dragomer
|
Objavljeno: Sre Feb 23, 2005 12:25 pm Naslov sporočila: 4051 in 2051 in 1051 |
|
|
Procesorčki at89c1051 2051 in 4051 so identični z edino razliko da ima
1051 samo 1 k program ROM-a
2051 samo 2 k program ROM-a in
4051 samo 4 k program ROM-a
Vilko
|
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3357 Aktiv.: 14.17 Kraj: Dragomer
|
Objavljeno: Sre Feb 23, 2005 5:41 pm Naslov sporočila: Bom še jaz dodal nekaj kode |
|
|
Bom pa še jaz dodal nekaj kode v Bascomu.
Za nastavljanje začetnega datuma v RTC, pa tudi sicer, je zelo zoprno, ker običajno nimamo numerične tipkovnice. Pa sem prišel na idejo, (morda nisem prvi, pa kaj?) da z eno samo tipko prav hitro nastavim vse parametre programa, kot so recimo tudi začetni datum-ura za RTC.
Ideja je ta, da program sam hitro rotira vrednost spremenljivke. Če gre recimo za minute, hitro rotira vrednost od 0 do 59 in spet naprej od nič. Ko pride v bližino minute, ki jo želimo nastaviti, tedaj pritisnemo tipko in jo držimo. Rotacija postane počasna. In ko pride točno na minuto, spustimo tipko, minuta je nastavljena.
Seveda pa mora človek videti, kako rotira spremenljivka, sicer ne ve ne kdaj pritisniti tipko, ne kdaj spustiti.
In tako po vrsti leto, dan, mesec, ura, minuta, no, sekunde pa najbrž niso kritične.
Podprogram izgleda tako:
Koda: |
Zajemi:
Const Maxi = 59
Do
Incr Vrednost
If Vrednost > Maxi Then
Vrednost = 0
End If
Locate 2 , 10
Lcd Vrednost ; " "
Waitms 100
Loop Until Tipka = 0
Do
Incr Vrednost
If Vrednost > Maxi Then
Vrednost = 0
End If
Locate 2 , 10
Lcd Vrednost ; " "
Waitms 255
Waitms 255
Loop Until Tipka = 1
Return |
Klicati pa ga je treba za vsako spremenljivko posebej:
Koda: |
Cls
Locate 2 , 1
Lcd "Dan "
Gosub Zajemi 'zajemi dan
Dan = Vrednost
Locate 1 , 1
Lcd Dan ; "/" ; Mesec ; "/" ; Leto ; " " ; Ura ; ":" ; Minuta ; ":" ; Sekunda
Wait 1
Locate 2 , 1
Lcd "Mesec "
Gosub Zajemi 'zajemi mesec
Mesec = Vrednost
Locate 1 , 1
Lcd Dan ; "/" ; Mesec ; "/" ; Leto ; " " ; Ura ; ":" ; Minuta ; ":" ; Sekunda
Wait 1
itd..
|
Pozdrav
Vilko
|
|
Nazaj na vrh |
|
 |
CarpeDiem Član


Pridružen-a: Pon 16 Feb 2004 17:24 Prispevkov: 333 Aktiv.: 1.41 Kraj: Vrhnika
|
Objavljeno: Sre Feb 23, 2005 9:52 pm Naslov sporočila: |
|
|
vilko: odlično (da ne bom imel monopola pri postanju BASCOMA)
No, da nadaljujem se jaz tole "uro". Seveda ji za zacetek manjka nastavljanje casa. Bedna ura, če moras cakati polnoc, da jo nastavis na 00:00:00 (oziroma se novo leto ce zelis imeti se datum). Moja nastavitev uporablja 2 tipki.
V tem programu sem prvic uporabil subrutine in sem se nad njimi zelo navdusil. Mogoce je program bralcu tezje razumljiv, vendar se tako zelo elegantno programira in porabi veliko manj pomnilnika.
Zato najprej pripenjam program, ki ponazori primer uporabe subrutine.
Opis: |
|
 Download |
Ime datoteke: |
SubRutine_02.zip |
Velikost datoteke: |
3.53 KB |
Downloadano: |
37 krat |
Nazadnje urejal/a CarpeDiem Sre Feb 23, 2005 9:55 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
 |
CarpeDiem Član


Pridružen-a: Pon 16 Feb 2004 17:24 Prispevkov: 333 Aktiv.: 1.41 Kraj: Vrhnika
|
Objavljeno: Sre Feb 23, 2005 9:54 pm Naslov sporočila: |
|
|
'Protoboard & AT89C4051
'22.2.05
'uporaba RTC (ure) PCF8583 in LCDja na protoboardu
'uro lahko nastavimo
'velikost programa -> 1469 hehe, kr dobro za bascom
'uporaba subrutin
'LCD pini:
' - DB7 .. DB4 - P1.7 .. P1.4
' - E P1.2
' - R P1.1
'Tipka1 Alias P3.3
'Tipka2 Alias P3.2
'Tipka3 Alias P3.0
'uporaba:
'Tipka1 -> nastavitev casa in datuma
'Ko smo v Nastavitvah je Tipka1 za povecevanje vrednosti
'Ko smo v Nastavitvah je Tipka2 za naslednjo spremenljivko
Opis: |
ura z nastavljenjem ure in datuma |
|
 Download |
Ime datoteke: |
ura_04.zip |
Velikost datoteke: |
5.84 KB |
Downloadano: |
54 krat |
|
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3357 Aktiv.: 14.17 Kraj: Dragomer
|
Objavljeno: Čet Feb 24, 2005 11:18 am Naslov sporočila: Jaz pa z call, kot ga ponuja bascom nisem prav zadovoljen. |
|
|
Jaz pa z call, kot ga ponuja bascom nisem prav zadovoljen.
Basic v osnovi ne vsebuje call konvencij, kot jih poznamo v višjih programskih jezik. V Bascomu so ga vgradili a ne v celoti le kot nek alias za gosub - go to subroutine.
Pravi Call ukaz bi namreč moral vsebovati substitucijo spremenvljivk. Bom pojasnil na primeru.
Če definiramo subrotino s parametri
subroutina seštej ( x , y , z) ki recimo izračuna z = x + y
potem bi morali po
call seštej ( a,b,c ) dobiti c = a + b in kasneje v istem programu z
call seštej ( e,f,g ) dobiti g = e + f
Tisti, ki iz višjih jezikov prihajamo na Bascom razumemo, da je za tako telovadbo potrebno veliko RAM spomina, ki ga mikroprocesorji nimajo. To, da so to vgradili v Bascom, razumemo kot neko zavajajoče prilizovanje. Vendar je moč Bascoma drugje, pred vsem v ukazih, ki poenostavljajo komunikacijo z okolico, tako s PC-jem, kot z I2c in 1 wire elementi, tako z LCD-jem, in zaradi te moči prav rad delam z Bascomom.
Ima pa BASCOM sicer vse kar programski jeziki na nivoju basic-a morajo imeti.
V višjem programskem jeziku recimo lahko rečemo
a = b + c + d
na basic nivojih moramo pač štrikati:
a = b + c
a = a + d
itd...
Vilko
|
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3357 Aktiv.: 14.17 Kraj: Dragomer
|
Objavljeno: Čet Maj 11, 2006 9:11 am Naslov sporočila: RTC, kako pravilno napajati? |
|
|
Z RTC-jem sem se doslej igral samo na delovni mizi, sedaj pa bi rad zadevo vgradil v napravo, ki naj bi bila napajana preko nezanesljivega vira 220VAC. Seveda bi rad, da pri ponovnem priklopu na napajanje ne bi bilo potrebno ponovno nastavljati datuma in časa v RTC.
Malo sem razmišljal in naredil priloženo shemo, pa ne vem, ali preveč kompliciram.
Za napajanje RTC-a, kadar ni +5V, ki jih dobim iz 220VAC sem predvidel akumulatorček NiMH 3.6V 80mAh, ki sem ga dobil pri Justu. Le ta preko diode D2 napaja RTC, D1 pa je za to, da ne bi napajal celotnega vezja.
Kadar pa je prisotna napetost +5V, tedaj se RTC napaja preko D1, D2 pa prepreči prepolnitev akumulatorčka.
Akumulator dobiva energijo preko R1 a samo do napetosto 3.9V, kar bi, mislim, aku moral prenesti.
Nimam izkušenj s tem, tudi nisem našel nikjer vezja, kjer bi ta del lahko prekopiral, pa sprašujem izkušenejše za napotke.
Hvala
Opis: |
|
Velikost datoteke: |
28.21 KB |
Pogledana: |
55 krat |

|
_________________ Nihče ni za vojno in vsi so za mir,
vsi so za bratstvo, nihče za prepir.
Od same ljubezni vsak čas na granatah
bo vtisnjeno geslo: "Darilo za brata"
Janez Menart |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.58
|
Objavljeno: Čet Maj 11, 2006 10:04 am Naslov sporočila: |
|
|
Kako dolge izpade pa pricakujes ? Morda bi namesto akumulatorja (in vseh skrbi v zvezi s polnitvijo in ostalimi problemi akumulatorjev) lahko uporabil goldcap kondenzator, ki mu dodas pred napajanje eno diodo z nizkim zapornim tokom za preprecitev izpraznitve v napacno smer ob izpadu elektrike ?
|
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3357 Aktiv.: 14.17 Kraj: Dragomer
|
Objavljeno: Čet Maj 11, 2006 2:11 pm Naslov sporočila: Tako? |
|
|
Če prav razumem, si mislil nekaj takega, kot sem narisal spodaj.
Za Goldcap sem šel gledat najprej na Google, potem v IC katalog.
Tam imajo samo en Goldcap kondezator, kapacitete 1F in napetosti 5,5V, kar bi moralo zadoščati.
Pa malo računajmo! (Če narobe razmišljam, me prosim opozori!)
Farad je As/V, se pravi, da bo pri napetosti 5V bil na kondenzatorju naboj 5As.
Le ta se bo praznil, najprej hitreje, potem vse počasneje, a za oceno vzamem kar, da se prazni enakomerno s tokom, ki ga pije RTC (clock mode tipical) 10 uA
5 000 000 / 10 = 500 000 sek to je čas, ki vse zahteve prenese. V resnici bi moral računati na izpad elektrike recimo 10 ur, kar je 36 000 sek, tukaj pa jih imam0 na razpolago 500.000 sek, kar opravičuje oceno, da iz tako približnega računa ocenimo, da ideja, ki jo sugeriraš, zadošča zadevam.
Upor, ki sem ga dal v serijo z diodo D2 naj omeji začetni tok polnjenja. Če bi priključil direktno, bi pri vklopu napetosti 220VAC, ki preko usmernika in transformatorja generira napetost 5V, le ta počasi naraščala proti 5 V, saj bi v začetku ves tok potegnil vase elektrolit. Počasno naraščanje pa bi lahko ogrozilo uspešen reset mikroprocesorja, ki ravno skok napetosti od 0 proti 5V uporabi kot Reset inpulz.
Z druge strani spet razmišljam, ali bo počasna rast napetosti od 0 proti 5 V ogrozila nihanje oscilatorja z kristalom, ki poganja RTC. Ali ni tudi tukaj ravno prehodni pojav tisti, ki 'zaniha' kristal? Bo RTC če je tako napajan, zanihal?
Opis: |
|
Velikost datoteke: |
24.24 KB |
Pogledana: |
45 krat |

|
_________________ Nihče ni za vojno in vsi so za mir,
vsi so za bratstvo, nihče za prepir.
Od same ljubezni vsak čas na granatah
bo vtisnjeno geslo: "Darilo za brata"
Janez Menart |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.58
|
Objavljeno: Čet Maj 11, 2006 6:07 pm Naslov sporočila: |
|
|
Imajo jih tudi v HTEju, a pod oznako "back-up" (Kondenzatorji > Ostali kondenzatorji), v vecih variantah. IC ima pod oznako "goldcap" v online trgovini tudi navedenih vec razlicnih kapacitet, a pri njih niso oznacene zaloge, tako da je mozno, da jih nimajo.
Za resevanje morebitnih tezav ob resetu sicer obstajajo namenska vezja (Maxim jih izdeluje malo morje, "reset IC"/"uP supervisor" ali kaj v tem stilu), morda pa bi vendarle bil dovolj en logic-level FET za kondenzatorjem, ki bi se odprl sele takrat, ko bi bila napetost dovolj blizu 5V. Ker tvoje vezje porabi izredno malo toka, bi tisti kratek cas od odprtja do 5+V najbrz lahko prezivel brez pregretja. S tem bi sicer nekoliko povecal celotno porabo vezja in bi torej kondenzator zdrzal manj casa, a je izguba zelo majhna v primerjavi z drugimi aktivnimi resitvami.
|
|
Nazaj na vrh |
|
 |
NeoTO Član


Pridružen-a: Pon 28 Mar 2005 19:19 Prispevkov: 2752 Aktiv.: 11.62 Kraj: Trzic
|
Objavljeno: Čet Maj 11, 2006 6:39 pm Naslov sporočila: |
|
|
Če ti je problem z napajanjem, poglej po Dallasovih DS2417, ki mi je brez problema tekel 1 teden na 2200 uF kondenzatorju (baje vleče samo 200nA pri delovanju...).
vilko, pa med praznenjem, na kondenzatorju pada napetost, zato ne moreš izkoristiti vseh tistih 5As. Boš moral malce integrirati...
|
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3357 Aktiv.: 14.17 Kraj: Dragomer
|
Objavljeno: Čet Maj 11, 2006 9:36 pm Naslov sporočila: Bo treba probat! |
|
|
Bomo poizkusili in potem bom povedal, kako je bilo!
Pozdrav
vs
_________________ Nihče ni za vojno in vsi so za mir,
vsi so za bratstvo, nihče za prepir.
Od same ljubezni vsak čas na granatah
bo vtisnjeno geslo: "Darilo za brata"
Janez Menart |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 491 dni
Powered by phpBB © 2001, 2005 phpBB Group
|