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 

LCD štoparica v bascom 8051
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
zanac
Neznanec
Neznanec



Pridružen-a: Čet 23 Maj 2013 13:03
Prispevkov: 7
Aktiv.: 0.05
Kraj: smartno

PrispevekObjavljeno: Čet Maj 23, 2013 1:38 pm    Naslov sporočila:  LCD štoparica v bascom 8051 Odgovori s citatom

LP,

bi mi lahko kdo pomagal napisati program v bascom-u 8051 za LCD štoparico, ki bi ga lahko dal na AT89C4051 mikrokrmilnik?

_________________
zany
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
ssdzkrez
Član
Član



Pridružen-a: Sre 12 Jan 2011 15:13
Prispevkov: 401
Aktiv.: 2.49
Kraj: Hrastnik

PrispevekObjavljeno: Čet Maj 23, 2013 1:49 pm    Naslov sporočila:   Odgovori s citatom

Tule imaš za AVR procesorje, potrebna je mala predelava programa (mislim, da moraš popraviti samo porte) za 8051.

http://cipto-suparno.blogspot.com/2012/03/stop-watch-dengan-atmega32.html
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
zanac
Neznanec
Neznanec



Pridružen-a: Čet 23 Maj 2013 13:03
Prispevkov: 7
Aktiv.: 0.05
Kraj: smartno

PrispevekObjavljeno: Čet Maj 23, 2013 3:23 pm    Naslov sporočila:   Odgovori s citatom

ssdzkrez je napisal/a:
Tule imaš za AVR procesorje, potrebna je mala predelava programa (mislim, da moraš popraviti samo porte) za 8051.

http://cipto-suparno.blogspot.com/2012/03/stop-watch-dengan-atmega32.html


hvala, vendar mi javi error, ko hočem definirati, kako je vezan LCD, čeprav ga vežem tk ko piše v bascom 8051 help.

-> http://hopsasa/f/1L/Vq/3sdXeVJi/brez-naslova.png

_________________
zany
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
robika
Član
Član



Pridružen-a: Pon 05 Apr 2004 20:55
Prispevkov: 266
Aktiv.: 1.20
Kraj: ajdovščina

PrispevekObjavljeno: Čet Maj 23, 2013 3:36 pm    Naslov sporočila:   Odgovori s citatom

Vrstico, ki je obarvana rdeče in še vseh nadaljnih 32 vrstic ne potrebuješ v programu in jih zakomentiraj, da jih prevajalnik ne upošteva in jih preskoči. Posamezno vrstico zakomentiraš z apostrofom oz. '. Če želiš zakomentirati več vrstic glej primer v kodi.

Primer:

Koda:

Config Lcdpin  = P1.1 , .....

'Vrstica s komentarjem, ki je prevajalnik ne upošteva, glej prvi znak v vrstici.

Cls

'(
Med apostrofom + oklepajem
pa do apostrof + zaklepajem,
so zakomentirane vse vrstice
')

Locate 1 , 1 : Lcd "Test"

end
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
zanac
Neznanec
Neznanec



Pridružen-a: Čet 23 Maj 2013 13:03
Prispevkov: 7
Aktiv.: 0.05
Kraj: smartno

PrispevekObjavljeno: Tor Maj 28, 2013 2:04 pm    Naslov sporočila:  program Odgovori s citatom

Evo, dozdaj moj program zgleda takole:
vendrar je edini porblem, ko stisnem na tipko reset mi ne izbriše celotnega zaslona, mi lahko kdo pomaga s tem?



PROGRAM:

$crystal = 11059200


Config Lcd = 16 * 2

Upperline
Lcd "LEP POZDRAV"
Waitms 100
Cls



Config Timer0 = Timer , Gate = Internal , Mode = 1

Load Timer0 , 36
Start Timer0
Enable Timer0
Enable Interrupts


Goto Preskok1:

Dim Stotinke As Byte
Load Timer0 , 36
Incr Stotinke
Return

Preskok1:

Do
Dim Sekunde As Byte
Dim Minute As Byte
Dim Ure As Byte

If P3.3 = 0 Then Stotinke = Stotinke + 1
'ko je pritisnjena tipka, začne čas teči, ko tipko še enkrat pritisnemo se čas ustavi


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

Upperline
Lcd Ure ; ":" ; Minute ; ":" ; Sekunde ; ":" ; Stotinke ; ""



Tstart Alias P3.3 'tipka TP1 start
Treset Alias P3.2 'tipka TP3 reset

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

Loop

Zacni:
Start Timer0
Print Ure ; ":" ; Minute ; ":" ; Sekunde ; "" ; Stotinke
Return

Resetiraj:
Ure = 0 : Minute = 0 : Sekunde = 0 : Stotinke = 0
Upperline
Lcd Ure ; ":" ; Minute ; ":" ; Sekunde ; "" ; Stotinke
Print Ure ; ":" ; Minute ; ":" ; Sekunde ; "" ; Stotinke
Return

_________________
zany
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 45.83
Kraj: Mengeš

PrispevekObjavljeno: Tor Maj 28, 2013 2:28 pm    Naslov sporočila:   Odgovori s citatom

Kaj pa če daš v rutini "resetiraj" namesto ukaza "upperline" ukaz CLS? On ti izbriše cel zaslon, pa še kurzor postavi na prvo mesto.
Sicer pa imaš čas po "lep pozdrav" tako kratek da LCD skorajda ne uspe napisati celoten tekst, pa ga že izbriše... daj vsaj kako sekundo.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
6dan8
Član
Član



Pridružen-a: Tor 18 Jan 2011 10:53
Prispevkov: 1046
Aktiv.: 6.51
Kraj: Goriška

PrispevekObjavljeno: Sre Maj 29, 2013 10:46 am    Naslov sporočila:   Odgovori s citatom

Hm, zanac; ali ure, minute, sekunde in stotinke prikazuješ dvoštevilčno; brišeš pa enoštevilčno? Samo vprašam. Nekateri odvečne znake pobrišejo tako, da LCDju pošljejo (tudi) znak za presledek.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
zanac
Neznanec
Neznanec



Pridružen-a: Čet 23 Maj 2013 13:03
Prispevkov: 7
Aktiv.: 0.05
Kraj: smartno

PrispevekObjavljeno: Čet Maj 30, 2013 8:32 pm    Naslov sporočila:   Odgovori s citatom

6dan8 je napisal/a:
Hm, zanac; ali ure, minute, sekunde in stotinke prikazuješ dvoštevilčno; brišeš pa enoštevilčno? Samo vprašam. Nekateri odvečne znake pobrišejo tako, da LCDju pošljejo (tudi) znak za presledek.


da.

_________________
zany
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
zanac
Neznanec
Neznanec



Pridružen-a: Čet 23 Maj 2013 13:03
Prispevkov: 7
Aktiv.: 0.05
Kraj: smartno

PrispevekObjavljeno: Čet Maj 30, 2013 8:35 pm    Naslov sporočila:  izpis Odgovori s citatom

Imam še en problem in sicer pri izpisu. Hočem da moj izpis zgleda bolj profesionalno recimo pri sekundah 00,01,02 itd. Bi mi lahko kdo pomagal?
_________________
zany
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 45.83
Kraj: Mengeš

PrispevekObjavljeno: Čet Maj 30, 2013 8:38 pm    Naslov sporočila:   Odgovori s citatom

In po resetu se ti pojavlja 0:0:0:0, potem pa ob prehodu iz 9 na 10 preskoči eno mesto desno, kajne? Uporabi ukaz Fusing...

EDIT: ali pa ukaz FORMAT!!! mislim da je bolj pravi za tvoj primer.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
mucek
Član
Član



Pridružen-a: Tor 01 Avg 2006 10:47
Prispevkov: 5327
Aktiv.: 24.78
Kraj: Domzale

PrispevekObjavljeno: Čet Maj 30, 2013 9:22 pm    Naslov sporočila:   Odgovori s citatom

Jap, fusing je za single, format pa za string.

Lp, g

_________________
...lahko pa se tudi motim ...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
rudiP
Član
Član



Pridružen-a: Tor 07 Avg 2007 15:30
Prispevkov: 1234
Aktiv.: 6.09
Kraj: KOPER

PrispevekObjavljeno: Čet Maj 30, 2013 9:54 pm    Naslov sporočila:   Odgovori s citatom

Če želiš pomoč piši bolj pregledno, da se tudi mi hitreje znajdemo

Koda:

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

_________________
Lep pozdrav iz Kopra Rudi
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
zanac
Neznanec
Neznanec



Pridružen-a: Čet 23 Maj 2013 13:03
Prispevkov: 7
Aktiv.: 0.05
Kraj: smartno

PrispevekObjavljeno: Pet Maj 31, 2013 4:36 pm    Naslov sporočila:   Odgovori s citatom

protoncek je napisal/a:
In po resetu se ti pojavlja 0:0:0:0, potem pa ob prehodu iz 9 na 10 preskoči eno mesto desno, kajne? Uporabi ukaz Fusing...

EDIT: ali pa ukaz FORMAT!!! mislim da je bolj pravi za tvoj primer.



Ja, jaz hočem, da mi po resetu izpiše 00:00:00:00 in potem ko pritisnem na start zacne steti 01,02. Sanja se mi ne kako bi mi lahko pri tem pomagal fusing oz. format Very Happy

_________________
zany
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 45.83
Kraj: Mengeš

PrispevekObjavljeno: Pet Maj 31, 2013 5:10 pm    Naslov sporočila:   Odgovori s citatom

izpis NE narediš z LCD sekunde;":"...., ampak
LCD format(ure, "00");":"; format (minute,"00"); ":"; format......
In tako naprej do stotink.
Preberi si razlago o ukazu format v HELP!

Ob resetu pa enostavno napišeš
Cls
LCD "00:00:00:00"
Ter postaviš spremenljivke na nič.

Sicer je tole opisano za bascom avr, ampak po moje je isto tudi za bascom 8051.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
stursc
Član
Član



Pridružen-a: Tor 08 Jun 2004 14:29
Prispevkov: 323
Aktiv.: 1.45

PrispevekObjavljeno: Pet Maj 31, 2013 5:12 pm    Naslov sporočila:   Odgovori s citatom

zanac je napisal/a:

Ja, jaz hočem, da mi po resetu izpiše 00:00:00:00 in potem ko pritisnem na start zacne steti 01,02. Sanja se mi ne kako bi mi lahko pri tem pomagal fusing oz. format Very Happy

Kaj pa tako ?
Locate 4 , 13
If Ure < 10 Then
Lcd "0" ; Ure ; ":"
Else
Lcd Ure ; ":"
End If
If Minute < 10 Then
Locate 4 , 16
Lcd "0" ; Minute ; ":"
Else
Lcd Minute ; ":"
End If
If Sekunde < 10 Then
Locate 4 , 19
Lcd "0" ; Sekunde
Else
Lcd Sekunde
End If



LP,sturs
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