www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

štoparica z at89c2051 bascom
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
drax
Neznanec
Neznanec



Pridružen-a: Čet 27 Sep 2007 10:49
Prispevkov: 5
Aktiv.: 0.02

PrispevekObjavljeno: Sob Nov 10, 2007 11:23 pm    Naslov sporočila:  štoparica z at89c2051 bascom Odgovori s citatom

lp.

že dolgo časa se mučim z enim preprostim projektom....
Ce mi lahko kdo pomaga kako v bascomu napišem program za štoparico , ki bo se prikazovala na lcd 2x16 zaslonu in ima 3 vhode (start, stop, reset).
Rad bi pa imel prikaz ura, min, sek in stotinka ...


hvala
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
bungee
Član
Član



Pridružen-a: Pon 07 Mar 2005 18:49
Prispevkov: 1479
Aktiv.: 6.66
Kraj: Ljubljana

PrispevekObjavljeno: Ned Nov 11, 2007 12:18 am    Naslov sporočila:   Odgovori s citatom

Če bi temo v pravi sklop napisu bi bilo tudi fajn Wink

Fixed VolkD
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3351
Aktiv.: 15.09
Kraj: Dragomer

PrispevekObjavljeno: Ned Nov 11, 2007 8:42 am    Naslov sporočila:  Kako daleč si pa že prišel? Odgovori s citatom

Kako daleč si pa že prišel?

1. si definiral procesor, kristal, okolje,
2. si definiral tipke in lcd
3. si definiral spremenljivke
4. si definiral urni mehanizem, se pravi prekinitveni podprogram s katerim boš
meril stotinke sekunde
5. imaš koncept programske hrbtenice?

Na kakšnem vezju boš testiral program? Bascom testni plošči?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
drax
Neznanec
Neznanec



Pridružen-a: Čet 27 Sep 2007 10:49
Prispevkov: 5
Aktiv.: 0.02

PrispevekObjavljeno: Ned Nov 11, 2007 12:26 pm    Naslov sporočila:   Odgovori s citatom

Ne, ker ne vem kako naj sploh začnem!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
CarpeDiem
Član
Član



Pridružen-a: Pon 16 Feb 2004 17:24
Prispevkov: 333
Aktiv.: 1.50
Kraj: Vrhnika

PrispevekObjavljeno: Ned Nov 11, 2007 12:31 pm    Naslov sporočila:   Odgovori s citatom

Za začetek si očitno našel forum. Kar v današnjem času niti ni tako težko. Sedaj pa uporabi funkcijo "išči" preden boš začel postavljati preveč vprašanj.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
drax
Neznanec
Neznanec



Pridružen-a: Čet 27 Sep 2007 10:49
Prispevkov: 5
Aktiv.: 0.02

PrispevekObjavljeno: Ned Nov 11, 2007 12:58 pm    Naslov sporočila:   Odgovori s citatom

carpediem- hvala za tako obsežen odgovor. Če je kdo pripravljen pomagati, naj mi prosim opiše kako se prikazuje čas v bascom oz. meri.

hvala
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
CarpeDiem
Član
Član



Pridružen-a: Pon 16 Feb 2004 17:24
Prispevkov: 333
Aktiv.: 1.50
Kraj: Vrhnika

PrispevekObjavljeno: Ned Nov 11, 2007 2:25 pm    Naslov sporočila:   Odgovori s citatom

Lahko ti pa zadevo naredim in prinesem danes zvečer na dom. V lični škatli z mašnico.

Iz tvojih sporočil je razbrati, da niši še niti začel. Vedno znova imam občutek, da se "začetniki v svetu mikrokrmilnikov" ne zavedajo v kaj se spuščajo. Radi bi "hiter" povzetek znanj nekoga, ki je za to rabil mesece (bolj verjetno leta).

PS:
1. Da ne bi pomote. Tudi sam še vedno prištevam k bandi "začetniki v svetu mikrokrmilnikov".

2. Mikrokrmilniki so zelo lep hobi za pridobivanje znanja, ki bi ga drugače z muko pridobival. Branje in pisanje 100ih formul za 100 načinov modeliranja in uporabe tranzistorja. Fuj fej.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
dkone
Član
Član



Pridružen-a: Sre 07 Mar 2007 18:53
Prispevkov: 2104
Aktiv.: 10.13
Kraj: Krško

PrispevekObjavljeno: Ned Nov 11, 2007 7:27 pm    Naslov sporočila:   Odgovori s citatom

Drax zakaj se mučiš? poglej si tole. Imaš čisto vse narejeno, nevem zakaj še kar odkrivaš "tople vode". Sicerje program pisan v C-ju, ampak bistvo imaš podano.


sicer se pa s CarpeDiem-om strinjam. Tudi sam se začetnik v tem.

_________________
Denis
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
frenki
Moderator
Moderator



Pridružen-a: Ned 23 Feb 2003 21:26
Prispevkov: 6540
Aktiv.: 29.45
Kraj: Ljubljana (JN76GB)

PrispevekObjavljeno: Ned Nov 11, 2007 7:54 pm    Naslov sporočila:   Odgovori s citatom

dkone je napisal/a:
Drax zakaj se mučiš? poglej si tole. Imaš čisto vse narejeno, nevem zakaj še kar odkrivaš "tople vode". Sicerje program pisan v C-ju, ampak bistvo imaš podano.


A si ti sploh preveril na kaj daješ povezavo? Že nekajkrat sem pisal o pripenjanju dokumentacije na brezplačne strežnike, od koder po nekaj tednih ali mesecih izgine. počasi bo pa tegale dovolj. Najti bo potrebno neko varianto, da se tega na forumu znebimo.

Dkone ti pa poskrbi, da se bodo dokumentacija na katero si dal povezavo tudi pojavila!

Lp, Frenki
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
drax
Neznanec
Neznanec



Pridružen-a: Čet 27 Sep 2007 10:49
Prispevkov: 5
Aktiv.: 0.02

PrispevekObjavljeno: Ned Nov 11, 2007 11:39 pm    Naslov sporočila:   Odgovori s citatom

carpediem!nihče ti ni rekel da moraš kaj narediti, zato če se ne počutiš pripravljenega pomagati-enostavno ne rabiš!In glede tvojega razumevanja mojega posta: napisal sem(opiše kako se prikazuje čas v bascom oz. meri. ) ne pa da mi napiše program, ker se učim osnov.Zato svoj sarkazem obdrži zase v svoji lični škatlici!

dkone:hvala, to sem že pogledal, vendar me mučijo zakasnitve pri vklop/izklop in rad bi še posebej v bascomu to preizkusil.

lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
dkone
Član
Član



Pridružen-a: Sre 07 Mar 2007 18:53
Prispevkov: 2104
Aktiv.: 10.13
Kraj: Krško

PrispevekObjavljeno: Ned Nov 11, 2007 11:44 pm    Naslov sporočila:   Odgovori s citatom

frenki je napisal/a:
dkone je napisal/a:
Drax zakaj se mučiš? poglej si tole. Imaš čisto vse narejeno, nevem zakaj še kar odkrivaš "tople vode". Sicerje program pisan v C-ju, ampak bistvo imaš podano.


A si ti sploh preveril na kaj daješ povezavo? Že nekajkrat sem pisal o pripenjanju dokumentacije na brezplačne strežnike, od koder po nekaj tednih ali mesecih izgine. počasi bo pa tegale dovolj. Najti bo potrebno neko varianto, da se tega na forumu znebimo.

Dkone ti pa poskrbi, da se bodo dokumentacija na katero si dal povezavo tudi pojavila!

Lp, Frenki


Se opravičujem, nisem vedel da ne delajo povezave. Meni dela dokumentacija in jo seveda tudi pripenjam.



stoparca++.zip
 Opis:

Download
 Ime datoteke:  stoparca++.zip
 Velikost datoteke:  185.54 KB
 Downloadano:  96 krat


_________________
Denis
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
jurem
Član
Član



Pridružen-a: Tor 02 Dec 2003 15:53
Prispevkov: 408
Aktiv.: 1.84
Kraj: Ljubljana

PrispevekObjavljeno: Pon Nov 12, 2007 9:31 am    Naslov sporočila:   Odgovori s citatom

drax je napisal/a:
napisal sem(opiše kako se prikazuje čas v bascom oz. meri. ) ne pa da mi napiše program, ker se učim osnov.
lp


Kaj pa če bi v roke vzel kakšno literaturo, tudi v slovenskem jeziku je nekaj literature na to temo.

Ko boš "zvozil" od začetka, ti bodo člani foruma lažje pomagali, prve korake moraš narediti sam...

Lp
Jure
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3351
Aktiv.: 15.09
Kraj: Dragomer

PrispevekObjavljeno: Pon Nov 12, 2007 11:50 am    Naslov sporočila:  Mala šola Bascoma Odgovori s citatom

Pa se malo pozabavajmo z Bascom-om. Morda bom še koga navdušil za programiranje mikroprocesorjev v Bascomu.
Torej, naredimo štoparico!

Za osnovo vzamem Bascom testno ploščo, kjer imam skoraj vse, kar je potrebno, le še LCD je potrebno vezati. (Pa še to je na novi Bascom Minipin plošči že predvideno, le te plošče nimam, imam eno staro.)

Najprej definiram procesor in kristal:

Koda:
' Definiramo generalije
Const Program = "Stoparica"
$regfile = "89c2051.dat"
$crystal = 11059200

Kristal vzamem take frekvence, ki je dekliva z 12*100 = 1200 brez ostanka, ker tako bom dokaj natančno meril čas. Zakaj 12 * 100 ? Ker mikroprocesorji družine 8051 štejejo z internim timerjem časovne enote, ki se f/12 kjer je f frekvenca kristala, in 100 zato, ker hočem meriti stotinke sekunde.

Nato definiram kako je vezan LCD. Vežem ga kar tako, kot priporoča Bascom Help:
Koda:

LCD-DISPLAY   PORT   PIN
DB7                          P1.7   14
DB6                    P1.6   13
DB5                   P1.5   12
DB4                   P1.4   11
E                   P1.3   6
RS                     P1.2   4
RW                    Ground   5
Vss                   Ground   1
Vdd                  +5 Volt   2
Vo                  0-5 Volt   3

definiram isto še v programu:

Koda:
' Definiramo LCD
Config Lcdpin = Pin , Db7 = P1.7 , Db6 = P1.6 , Db5 = P1.5 , Db4 = P1.4 , E =  1.3 , Rs = P1.2
' in ga takoj preizkusimo:
Koda:
Cls
Lcd Program
Wait 1


Sledijo navodila, kako uporabiti Timer0. Malo je le treba vedeti o interni logiki timer naprave pri 8051 družini. le ta pozna tri načine, mode=1, mode = 0 in mode = 2
Pri mode = 1, že interno mikroprocesor deli frekvenco z 256 (pri mode = 2 z 1 in pri mode = 0 z 32). Ker želimo prekinitev 100 krat na sekundo moramo polniti timer z vsebino, ki odgovarja:

11059200 / 100 (hočemo stotinke! ) / 12 ( interno 8051 ) / 256 (mode = 1) in to je 36. To se pravi, da moramo timer napravi naložiti, da šteje do 36, predno sproži prekinitev. To naredimo tako:

Koda:
Config Timer0 = Timer , Gate = Internal , Mode = 1
On Timer0 Titi Nosave
Load Timer0 , 36
Start Timer0
Enable Timer0
Enable Interrupts
Goto Preskok1                                                 'preskočimo timer0 podprogram
Titi:
Dim Stotinke As Byte
Load Timer0 , 36
' v podprogramu ne delamo drugega kot štejemo prekinitve
Incr Stotinke
Return
Preskok1:

Kot smo videli v preknitvenem podprogramu ne naredimo drugega, kot da štejemo stotinke sekunde in ponovno naložimo v timer število, ki ga krmili do sledeče prekinitve.

In že gremo v glavno programsko zanko, kjer , ko stotinke dosežejo 100 povečamo sekunde, ko sekunde dosežejo 60 povečamo minute itd, in stanje prikažemo na LCD

Koda:
' Glavna programska zanka
Do

     If Stotinke > 99 Then
        Stotinke = Stotinke - 100
        Incr Sekunde
        If Sekunde > 59 Then
           Sekunde = Sekunde - 60
           Incr Minute
           If Minute > 59 Then
              Minute = Minute - 60
              Incr Ure
           End If
        End If
     End If

     Lowerline
     Lcd Ure ; ":" ; Minute ; ":" ; Sekunde ; "," ; Stotinke ; " "

Ja, kaj je še potrebno? seveda tipke start stop reset.
Definiramo jih, z debounce ukazom jih odtipavamo (debounce ukaz je zelo pripraven, ker poleg odtipavanje tipke tudi kompenzira odskakovanje kontaktov stikala) in če ugotovimo, da smo tipko pritisnili, zaustavimo, ali poženemo timer ali pa resetiramo števce:

Koda:

Tstart Alias P3.3                                             'tipka TP1 start
Tstop Alias P3.2                                              'tipka TP2 stop
Treset Alias P3.0                                             'tipka TP3 reset

Debounce Tstart , 0 , Zacni , Sub
Debounce Tstop , 0 , Prenehaj , Sub
Debounce Treset , 0 , Resetiraj , Sub

Loop

Zacni:
Start Timer0
Return
Prenehaj:
Stop Timer0
Return
Resetiraj:
Ure = 0 : Minute = 0 : Sekunde = 0 : Stotinke = 0
     Lowerline
     Lcd Ure ; ":" ; Minute ; ":" ; Sekunde ; "," ; Stotinke ; " "
Return
Kot vidite se Bascom program lahko bere zelo preprosto, za pisanje programa pa je seveda potrebno malo študija, ki pa se zelo hitro izplača.

Upam, da je bilo le to komu dobrodošlo.

pozdrav
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
simeon
Član
Član



Pridružen-a: Pon 21 Maj 2007 21:55
Prispevkov: 118
Aktiv.: 0.58
Kraj: Šentjernej

PrispevekObjavljeno: Pon Nov 12, 2007 3:01 pm    Naslov sporočila:   Odgovori s citatom

vilko zelo lepo napisano in razloželo. Pohvalno!

Vendar meni se je sedaj postavilo eno vprašanje. Koliko je ta zadeva točna?
Si naredil kakšen poskus?
Ker kakor se jaz spomnim je prijatel delal uro na podoben način in se je izkazalo da je znala veliko zaostajati (na dan tudi za minuto).

_________________
Sej bo bolš!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3351
Aktiv.: 15.09
Kraj: Dragomer

PrispevekObjavljeno: Pon Nov 12, 2007 3:39 pm    Naslov sporočila:  No Odgovori s citatom

No, točnost je odvisna od kristala, a le ta bi moral biti točen daleč pod promilo.
Zamudo, res majhno zamudo povzroči poraba mikrosekund za prekinitev glavnega programa in nalaganje nove vrednosti v timer, po moji oceni bi moralo biti to manj kot 10 usec na interrupt, interupt pa pride na 10 000 usec = 10 msec

Seveda pa nisem šel tako daleč, da bi pustil teči program en dan. Mislim, da gre pri vsem tem bolj za vajo bascoma in razumevanje delovanja mikroprocesorja.

S štoparico meriš običajno čase nekaj sekund do ene ure, tukaj pa bo več netočnosti prinesel človek, ki ne bo matematično natančno pritisnil tipke.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51 Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
Pojdi na:  
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: 48 dni


Powered by phpBB © 2001, 2005 phpBB Group