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

Pridružen-a: Pon 15 Avg 2005 11:27 Prispevkov: 503 Aktiv.: 2.12 Kraj: Brežice
|
Objavljeno: Čet Sep 01, 2005 11:22 pm Naslov sporočila: Tipka za spremembo procedure |
|
|
Lep pozdrav!
Kot začetnik v programiranju v Bascomu in mikrokontrolerjev 89c2051 in prvi projekt je pomoje kar klasičen med vsemi začetniki so LED diode, ki so povezane na porte mikrokontrolerja. Jaz sam sem napisal program da lepo se lučke prižigajo po vrsti, me pa zanima kako je možno uporabiti recimo tipko zato da bi imel v samem programu napisano več procedur potovanja lučk, in bi ob pritisku na tipko se procedura spremenila, sepravi da bi se prižiganje lučk spremenilo.
Hvala za vse odgovore
|
|
Nazaj na vrh |
|
 |
Iztok Član

Pridružen-a: Pet 08 Okt 2004 0:55 Prispevkov: 4974 Aktiv.: 20.99 Kraj: LJ
|
Objavljeno: Pet Sep 02, 2005 12:16 am Naslov sporočila: |
|
|
Bascoma in mikrokontrolerja 89c2051 sicer ne poznam ... ampak v PICu sem podoben program izdelal tako, da s tipko (ki sem jo poimenoval SELECT) povečujem nek števec. Primer: za pet kombinacij ima števec lahko vrednosti od 0 do 4, ko bi se povečal na 5 pa se resetira. Potem narediš še nek primerjalnik, ki ti ob določenih vrednostih tega števca pošlje izvajanje programa na določen podprogram - režim. V teh podprogramih pa napišeš ukaze - kombinacije, ki se izvajajo glede na izbrani režim s števcem.
Podobno rešitev sem pred leti uporabljal v 8051 in kasneje tudi simaticih.
Toliko na kratko, splošno in bolj po domače ...
|
|
Nazaj na vrh |
|
 |
[g0ran24] Član

Pridružen-a: Pon 15 Avg 2005 11:27 Prispevkov: 503 Aktiv.: 2.12 Kraj: Brežice
|
Objavljeno: Pet Sep 02, 2005 7:18 am Naslov sporočila: |
|
|
Hvala na predlogu bom ko pridem iz službe poiskusil
|
|
Nazaj na vrh |
|
 |
NeoTO Član


Pridružen-a: Pon 28 Mar 2005 19:19 Prispevkov: 2752 Aktiv.: 11.62 Kraj: Trzic
|
Objavljeno: Pet Sep 02, 2005 7:21 am Naslov sporočila: |
|
|
a nima BASCOM tudi ukaza SELECT CASE (value)? Malo poglej po dokumentaciji.
Namreč tako kot je Iztok rekel, narediš števec, ki se pri vsakem pritisku poveča, to vrednost podaš zgoraj navedenem stavku ter v vsakem naslednjem primeru (CASE) pač izvedeš drugo zaporedje.
Lahko pa tudi s stavki IF (pogoj1) stavek1 ELSE IF (pogoj2) stavek2 ELSE IF (pogoj3....
|
|
Nazaj na vrh |
|
 |
[g0ran24] Član

Pridružen-a: Pon 15 Avg 2005 11:27 Prispevkov: 503 Aktiv.: 2.12 Kraj: Brežice
|
Objavljeno: Pet Sep 02, 2005 7:26 am Naslov sporočila: |
|
|
Bom pogledo dokumentacijo čeprav sem včeraj gledal na bascomovi strani pa nisem našel tako, da bom pregledal sam HELP od bascoma.
|
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3360 Aktiv.: 14.18 Kraj: Dragomer
|
Objavljeno: Pet Sep 02, 2005 10:04 am Naslov sporočila: Bascom select case seveda ima. |
|
|
Bascom select case seveda ima.
Za odtipavanje tipke pa ima debounce ukaz, ki je zelo praktičen.
Program bi bil verjetno nekaj takega:
Koda: |
do
debounce tipka, tipkappr, sr
select stevec
case 1: prižiganje lučk po varianti ena
case 2: prižiganje lučk po varianti dva
case 3: prižiganje lučk po varianti tri
itd
end select
loop
tipkappr:
incr stevec
if stevec >= 3 then
stevec = 1
endif
return
|
Seveda sem ukaze iz 'prstov scuzal'. Morda sem pri tem naredil kake formalne napake, ampak tako nekako se to naredi v Bascomu.
Pozdrav
|
|
Nazaj na vrh |
|
 |
[g0ran24] Član

Pridružen-a: Pon 15 Avg 2005 11:27 Prispevkov: 503 Aktiv.: 2.12 Kraj: Brežice
|
Objavljeno: Pet Sep 02, 2005 11:26 am Naslov sporočila: |
|
|
Uh tako enostavno
A mi lahko priporočate kakšno knjigo za bascom rutine in programiranje. Zdaj v ponedeljek mislim tudi naročiti emulator ploščo iz sveta elektronike
|
|
Nazaj na vrh |
|
 |
mirkatmir Član


Pridružen-a: Pet 25 Jul 2003 9:14 Prispevkov: 1876 Aktiv.: 7.92 Kraj: Ribnica (JN75IR)
|
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3360 Aktiv.: 14.18 Kraj: Dragomer
|
Objavljeno: Pet Sep 02, 2005 12:34 pm Naslov sporočila: Bascom ima odličen help |
|
|
Bascom ima odličen help in primere programov v posebni mapi na disku, mislim, da ji je ime Samples.
Seveda pa tudi knjiga pride prav. Jaz sem začel z malim uvodom v Bascom, ki ga je izdal Svet elektronike pred časom, ki te je ravno toliko vodil, da si prišel 'na okus krvi'. Bojim se, da je knjižica pošla. Pa še poceni je bila mislim, 600,. Sit ali nekaj takega. Jaz sem svoj izvod že davno nekomu dal, ker, ko si enkrat 'noter', ga ne rabiš več.
Potem obstaja še ena malo obsežnejša knjiga v hrvaščini, Programiranje mikrokontrolera programskim jezikom BASCOM. Ta te ne uči toliko jezika Bascom, no tudi, ampak ima pred vsem razlago, kako uporabiti prekinitve, interrupte ima pa tudi nekaj kar zahtevnih primerov (skupaj na CD-u), tako da z branjem teh programov se veliko naučiš.
Kot rečeno, pa tudi za vsak ukaz imaš v helpu primer uporabe ukaza. Angleško pa tako in tako znaš, kaj ne?
Veliko uspeha
|
|
Nazaj na vrh |
|
 |
[g0ran24] Član

Pridružen-a: Pon 15 Avg 2005 11:27 Prispevkov: 503 Aktiv.: 2.12 Kraj: Brežice
|
Objavljeno: Pet Sep 02, 2005 1:27 pm Naslov sporočila: |
|
|
Angleško znam to ni problem je pa seveda vsaj meni večji občutek knjiga kot pa recimo pdf pa pol preklapljanje med bascomom pa adobe reader-jem
|
|
Nazaj na vrh |
|
 |
dkone Član

Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2116 Aktiv.: 9.51 Kraj: Krško
|
Objavljeno: Sre Avg 22, 2007 5:28 pm Naslov sporočila: Re: Bascom select case seveda ima. |
|
|
vilko je napisal/a: |
Bascom select case seveda ima.
Za odtipavanje tipke pa ima debounce ukaz, ki je zelo praktičen.
Program bi bil verjetno nekaj takega:
Koda: |
do
debounce tipka, tipkappr, sr
select stevec
case 1: prižiganje lučk po varianti ena
case 2: prižiganje lučk po varianti dva
case 3: prižiganje lučk po varianti tri
itd
end select
loop
tipkappr:
incr stevec
if stevec >= 3 then
stevec = 1
endif
return
|
Seveda sem ukaze iz 'prstov scuzal'. Morda sem pri tem naredil kake formalne napake, ampak tako nekako se to naredi v Bascomu.
Pozdrav |
Vilko imaš mogoče kje konkreten primer celega programa? Ker bi rad nareil light show in z eno tipko spreminjal razne načina utripanja žarnic.
Hvala,
_________________ Denis |
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3360 Aktiv.: 14.18 Kraj: Dragomer
|
Objavljeno: Sre Avg 22, 2007 6:13 pm Naslov sporočila: Seveda nimam |
|
|
Seveda nimam narejenega programa v ta namen.
Če bi rad naredil lightshow, je potrebno najprej imeti zamisel, kako naj le ta dela, kakšno bo vezje, ki bo dobivalo od mikroprocesorja ukaze, kakšne naj bodo posamezni časovni diagrami, itd itd.
Ko vemo, kaj hočemo, potem, če je tudi volja, se to da narediti.
|
|
Nazaj na vrh |
|
 |
dkone Član

Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2116 Aktiv.: 9.51 Kraj: Krško
|
Objavljeno: Sre Avg 22, 2007 8:01 pm Naslov sporočila: Re: Seveda nimam |
|
|
vilko je napisal/a: |
Seveda nimam narejenega programa v ta namen.
Če bi rad naredil lightshow, je potrebno najprej imeti zamisel, kako naj le ta dela, kakšno bo vezje, ki bo dobivalo od mikroprocesorja ukaze, kakšne naj bodo posamezni časovni diagrami, itd itd.
Ko vemo, kaj hočemo, potem, če je tudi volja, se to da narediti. |
Zamislil sem si 8 kanalni light show, ki bi žarnice krmilil z attiny2313. Na portu b bi bil izhod na portd pa vhod. Vezje sem že sestavil, tako da se igram z programom. Imam že večina kombinacij napisanih, samo lepše bi bilo če bi imel še kako tipko, da bi med njimi prekljapljal. No neki sem še na sosedovem forumu spraševal in tudi našel sem na tem forumu podobno temo.
_________________ Denis |
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3360 Aktiv.: 14.18 Kraj: Dragomer
|
Objavljeno: Čet Avg 23, 2007 1:28 am Naslov sporočila: daj shemo na forum |
|
|
daj shemo in tvoj zadnji program, da bomo videli, kje nadaljevati.
|
|
Nazaj na vrh |
|
 |
dkone Član

Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2116 Aktiv.: 9.51 Kraj: Krško
|
Objavljeno: Pet Avg 24, 2007 5:12 pm Naslov sporočila: |
|
|
Prilepil sem shemo. na shemi boste videli 4 pinheade, ki sem jih namenil za tipke. Izmed teg 4 tipk bojo vsaj 2 uporabne, saj sem že ploščico zjedkal. Program sem še enkrat na hitro spisal, ker sem prejšnega po pomoti izbrisal. Po vsej verjetnosti so kake napake. Program še ni končan,dodal bi še kakšen način utripanja. Lahko pa bi z števci izvredel menjavo programav.
Hvala
Koda: |
$regfile = "attiny2313.DAT" 'izberem attin2313
$crystal = 12000000 'zunanji kvar 12Mhz
Config Portb = Output 'na portb so izhodi
Config Pind.0 = Input
Declare Sub Nakljucno
Declare Sub Knightrider
Do
Set Pind.1
Gosub Knighrider
If Pind.0 = 0 Then
Incr C
If C = 4 Then
C = 1
End If
If C = 1 Then
Gosub Nakljucno
End If
Loop
Sub Nakljucno
Portb = &B10000100
Portb = &B11111111
Rotate Portb , Left
Waitms 500
Do
E:
Rotate Portb , Right
Waitms 500
A:
Portb = 126
Waitms 100
Portb = 189
Waitms 100
Portb = 219
Waitms 100
Portb = 231
Waitms 100
Portb = 219
Waitms 100
Portb = 189
Waitms 500
Portb = 128
Waitms 50
Portb = 128
Waitms 50
Portb = 32
Waitms 50
Portb = 16
Waitms 50
Portb = 8
Waitms 50
Portb = 4
Waitms 50
Portb = 2
Waitms 50
Portb = 1
Waitms 50
Portb = 2
Waitms 50
Portb = 4
Waitms 50
Portb = 8
Waitms 50
Portb = 16
Waitms 50
Portb = 32
Waitms 50
Portb = 64
Waitms 50
Portb = 128
Waitms 500
Portb = Portb Xor &B11110000
Waitms 50
Portb = Portb Xor &B01001111
Waitms 50
Portb = Portb Xor &B11110000
Waitms 50
Portb = Portb Xor &B00001111
Waitms 500
End Sub
Sub Knightrider
Portb = 126
Waitms 100
Portb = 189
Waitms 100
Portb = 219
Waitms 100
Portb = 231
Waitms 100
Portb = 219
Waitms 100
Portb = 189
End Sub
|
_________________ Denis |
|
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: 494 dni
Powered by phpBB © 2001, 2005 phpBB Group
|