Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
linel Član


Pridružen-a: Čet 06 Mar 2008 21:14 Prispevkov: 178 Aktiv.: 0.85 Kraj: prekmurje
|
Objavljeno: Sre Jul 23, 2008 12:10 pm Naslov sporočila: štetje z tipko (bascom avr) |
|
|
kako pa to uporabim? kakšna je sintaxa |
|
Nazaj na vrh |
|
 |
program_er Član


Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 10.33 Kraj: Maribor (Pohorje)
|
Objavljeno: Sre Jul 23, 2008 12:11 pm Naslov sporočila: |
|
|
Katera? Samo prekopiraj v Bascom-AVR in zapeči na čip pa probaj. Kateri uC pa uporabljaš? _________________ Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
|
|
Nazaj na vrh |
|
 |
linel Član


Pridružen-a: Čet 06 Mar 2008 21:14 Prispevkov: 178 Aktiv.: 0.85 Kraj: prekmurje
|
Objavljeno: Sre Jul 23, 2008 12:17 pm Naslov sporočila: štetje z tipko (bascom avr) |
|
|
int0 to naj prekopiram? kam? v program? uporabljam atmega16 |
|
Nazaj na vrh |
|
 |
program_er Član


Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 10.33 Kraj: Maribor (Pohorje)
|
Objavljeno: Sre Jul 23, 2008 12:21 pm Naslov sporočila: |
|
|
Pa pusti zaj int0. Najprej probaj mojo kodo pa povej če deluje. Prekopiraš v Bascom pa naložiš v čip. Tisto kaj sem jaz napisal je cela koda.
Tu je še enkrat, z popravkom:
Koda: |
$regfile = "m16def.dat"
$crystal = 1000000
Dim A As Byte
Config PINA.0 = Input
Cls
Cursor Off
Locate 1 , 1 : Lcd "Stetje s tipko"
A = 0
Do
If PINA.0 = 0 Then
Waitms 20
If PINA.0 = 0 Then
Gosub Stetje
End If
End If
Loop
Stetje:
Incr A
Locate 2 , 5 : Lcd A
Return
End
|
_________________ Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
|
|
Nazaj na vrh |
|
 |
program_er Član


Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 10.33 Kraj: Maribor (Pohorje)
|
Objavljeno: Sre Jul 23, 2008 12:23 pm Naslov sporočila: |
|
|
Zgornja moja koda bi morala delovat.
Pa sem se malo igral pa ti naredil spodnjo nadgradnjo. Predvidevam da imaš LCD 2*16, zato sem tudi kodo naredil tako.
To pa je nadgradnja:
Koda: |
'Definiranje mikrokontrolerja:
$regfile = "m16def.dat"
$crystal = 1000000 'Interni 1MHz oscilator
'Definiranje spremenljivk:
Dim A As Byte
Dim B As Eram Byte
Dim C As Byte
'Definiranje vhoda:
Config PINA.0 = Input
'UVOD:
Cls
Cursor Off
Locate 1 , 1 : Lcd " Stetje s tipko "
Locate 2 , 1 : Lcd " by Linel :) "
Wait 1
Cls
'Resetiraš spremenljivke:
A = 0
C = 0
'Glavni program:
Do
If PINA.0 = 0 Then
Waitms 20
If PINA.0 = 0 Then
Gosub Stetje
End If
End If
Loop
'Subrutina štetje:
Stetje:
C = B 'B iz eeproma prekopiraš v C
Incr A 'Zvišaš A za 1
Incr C 'Zvišaš C za 1
Locate 1 , 1 : Lcd "Skupaj: " : Lcd C
Locate 2 , 1 : Lcd "Zdaj: " : Lcd A
B = C
Return
End
|
Naloži kodo, pa nekajkrat pritisni na tipko. Obe spremenljivki se morata zviševat za 1 istočasno. Potem čip izključi, mu odvemi napetost. Potem ga spet ponovno prižgi. Zdaj more biti 0, Skupaj pa bi moralo ohraniti vrednost od prej. _________________ Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
Nazadnje urejal/a program_er Sre Jul 23, 2008 12:27 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
 |
tiger Član

Pridružen-a: Čet 05 Feb 2004 0:22 Prispevkov: 1161 Aktiv.: 4.90
|
Objavljeno: Sre Jul 23, 2008 12:26 pm Naslov sporočila: |
|
|
Hi
V FastAvrju zgleda takole
Interrupt Int0(), Save 2
Incr A
End Interrupt
Tipko pa moraš priklopit na pin D2 če uporabiš INT0 oziroma na D3 če uporabiš INT1.
LP |
|
Nazaj na vrh |
|
 |
linel Član


Pridružen-a: Čet 06 Mar 2008 21:14 Prispevkov: 178 Aktiv.: 0.85 Kraj: prekmurje
|
Objavljeno: Sre Jul 23, 2008 12:36 pm Naslov sporočila: štetje z tipko (bascom avr) |
|
|
deluje, vendar sem moral dat namestu 0 tukaj 1, ko je bilo 0 so številke letele ko hudič same od sebe, ko je pa 1 pa ob pritisku na tipko. tnx ti
If PINA.0 = 1 Then
Waitms 20
If PINA.0 = 0 Then |
|
Nazaj na vrh |
|
 |
program_er Član


Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 10.33 Kraj: Maribor (Pohorje)
|
Objavljeno: Sre Jul 23, 2008 12:41 pm Naslov sporočila: |
|
|
No, lepo, če ti deluje. Kaj pa druga koda, oziroma "nadgradnja"? _________________ Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
|
|
Nazaj na vrh |
|
 |
linel Član


Pridružen-a: Čet 06 Mar 2008 21:14 Prispevkov: 178 Aktiv.: 0.85 Kraj: prekmurje
|
Objavljeno: Sre Jul 23, 2008 12:52 pm Naslov sporočila: štetje z tipko (bascom avr) |
|
|
ta zadnji program ne deluje. na lcd-ju kjer bi se morala prikazati številka se ne prikaže nič.
pri tistem programu zgoraj pa številke samo letijo. |
|
Nazaj na vrh |
|
 |
jjakob Član

Pridružen-a: Pet 19 Nov 2004 14:12 Prispevkov: 1348 Aktiv.: 5.69
|
Objavljeno: Sre Jul 23, 2008 12:53 pm Naslov sporočila: |
|
|
Ti imaš tipko vezano z pina na Vcc?
Tipke se vedno vežejo na maso, z pullup uporom. Ti so večinoma že vgrajeni v mikrokontroler, ter jih lahko vključiš ali izključiš programsko. Se mi pa zdi čudno, da imaš v Do ... Loop zanki Sub ... ponavadi se da Sub zunaj glavne programske zanke. |
|
Nazaj na vrh |
|
 |
linel Član


Pridružen-a: Čet 06 Mar 2008 21:14 Prispevkov: 178 Aktiv.: 0.85 Kraj: prekmurje
|
Objavljeno: Sre Jul 23, 2008 1:08 pm Naslov sporočila: štetje z tipko (bascom avr) |
|
|
pri "nadgradnji" številke letijo same od sebe brez da bi kaj pritiskal. |
|
Nazaj na vrh |
|
 |
program_er Član


Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 10.33 Kraj: Maribor (Pohorje)
|
Objavljeno: Sre Jul 23, 2008 1:15 pm Naslov sporočila: Re: štetje z tipko (bascom avr) |
|
|
linel je napisal/a: |
pri "nadgradnji" številke letijo same od sebe brez da bi kaj pritiskal. |
Pozabil si dati tam namesto 0 na 1, tak ko pri prejšnji kodi... _________________ Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
|
|
Nazaj na vrh |
|
 |
linel Član


Pridružen-a: Čet 06 Mar 2008 21:14 Prispevkov: 178 Aktiv.: 0.85 Kraj: prekmurje
|
Objavljeno: Sre Jul 23, 2008 1:26 pm Naslov sporočila: štetje z tipko (bascom avr) |
|
|
zdaj pa dela:) |
|
Nazaj na vrh |
|
 |
linel Član


Pridružen-a: Čet 06 Mar 2008 21:14 Prispevkov: 178 Aktiv.: 0.85 Kraj: prekmurje
|
Objavljeno: Sre Jul 23, 2008 2:49 pm Naslov sporočila: štetje z tipko (bascom avr) |
|
|
spet jaz:)
nekja sprobavam pa hočem da tisti prejšnji program ki šteje z tipko, bi rad naredil tako da bi z drugo tipko odšteval. pa sem malo prebekslal tisti prejšnji program pa nedela. ziher ni neke velke napake, samo nevem zakaj noče delat.
to je pa program :
Dim A As Byte
Config Pina.0 = Input
Config Pina.1 = Input
Cls
Cursor Off
Locate 1 , 1 : Lcd "Stetje s tipko"
A = 0
Do
If Pina.0 = 1 Then
Waitms 20
If Pina.0 = 0 Then
Gosub Stetje
If Pina.1 = 1 Then
Waitms 20
If Pina.0 = 1 Then
Gosub Stetje1
End If
End If
End If
End If
Loop
Stetje:
Incr A
Locate 2 , 5 : Lcd A
Return
Stetje1:
Decr A
Locate 2 , 5 : Lcd A
Return
End
|
|
Nazaj na vrh |
|
 |
program_er Član


Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 10.33 Kraj: Maribor (Pohorje)
|
Objavljeno: Sre Jul 23, 2008 2:57 pm Naslov sporočila: |
|
|
Pri If stavkih si malo zakompliciral...
Mogoče bo to delovalo:
Koda: |
$regfile = "m16def.dat"
$crystal = 1000000
Dim A As Byte
Config Pina.0 = Input
Config Pina.1 = Input
Cls
Cursor Off
Locate 1 , 1 : Lcd " Stetje s tipko "
A = 0
Do
Porta.0 = 1
Porta.1 = 1
If Pina.0 = 0 Then
Waitms 20
If Pina.0 = 0 Then
Gosub Stetje
End If
End If
If Pina.1 = 0 Then
Waitms 20
If Pina.0 = 0 Then
Gosub Odstetje
End If
End If
Loop
Stetje:
Incr A
Locate 2 , 5 : Lcd A
Return
Odstetje:
Decr A
Locate 2 , 5 : Lcd A
Return
End
|
Ne smeš vseh If stavkov stlačit v enega! _________________ Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
|
|
Nazaj na vrh |
|
 |
|