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 8:56 am Naslov sporočila: štetje z tipko (bascom avr) |
|
|
helow!
hočem narediti nekakšno štetje ob pritisku na tipko. to je program, vendar ne deluje pa nevem kaj manjka oziroma je narobe. prosim če mi kako svetujete vendar mi ne povejte odgovora direkt, hočem da sam pogruntam z vašimi nasveti
Declare Sub Stetje
Dim A As Byte
Config Porta.0 = Input
Cls
Cursor Off
Locate 1 , 1 : Lcd "stetje z tipko"
Sub Stetje
A = 1
If Porta.0 = 1 Then
Waitms 20
Incr A
End If
Locate 2 , 5 : Lcd A
End Sub
End |
|
Nazaj na vrh |
|
 |
eddie Član

Pridružen-a: Sre 10 Dec 2003 21:02 Prispevkov: 723 Aktiv.: 3.05 Kraj: Severna primorska
|
Objavljeno: Sre Jul 23, 2008 10:22 am Naslov sporočila: |
|
|
Malo bolj napiši kako ne dela. Oziroma kaj dela.
Kako imaš vezano tipko? |
|
Nazaj na vrh |
|
 |
tiger Član

Pridružen-a: Čet 05 Feb 2004 0:22 Prispevkov: 1161 Aktiv.: 4.90
|
Objavljeno: Sre Jul 23, 2008 10:53 am Naslov sporočila: |
|
|
Hi
Če sem pravilno razumel program ( ne poznam Bascoma), potem je treba nekje klicati podprogram Stetje najbrž manjka zanka DO...LOOP.
LP |
|
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 11:11 am Naslov sporočila: |
|
|
Čakaj malo, a je to cel tvoj program?  _________________ 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 11:23 am Naslov sporočila: štetje z tipko (bascom avr) |
|
|
dela: prikaz štetje z tipko v prvi vrsti lcd, številka 1 v drugi vrsti lcd-ja, ko pa pritiskam tipko se ne dogaja nič. tipka je vezana proti vcc. da, to je zaenkrat vsel program, ( učim se programirati, sem še na začetku) |
|
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 11:27 am Naslov sporočila: |
|
|
Če neki vhod bereš, ga naslavljaš z PINX.y.
Config PINA.0 = Input
If PINA.0 = 0
PORT lahko uporabiš samo, če je pin izhod:
Config PORTA.0 = Output
PORTA.0 = 1 _________________ 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 11:39 am Naslov sporočila: štetje z tipko (bascom avr) |
|
|
tnx, tipka zdaj deluje, vedar ko pritisnem tipko se številka obrne na 2 ko jo pa spustim se pa vrne nazaj na 1. nekja sem gledal v helpu, ali bi moral uporabiti timer0? ali kako bi najlažje bilo
config timer0 = counter |
|
Nazaj na vrh |
|
 |
tiger Član

Pridružen-a: Čet 05 Feb 2004 0:22 Prispevkov: 1161 Aktiv.: 4.90
|
Objavljeno: Sre Jul 23, 2008 11:44 am Naslov sporočila: |
|
|
Hi
A=0 moraš definirat izven podprograma Stetje, ker vsakič pri klicu Stetje resetiraš A, kar pa najbrž ne želiš.
LP |
|
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 11:53 am Naslov sporočila: |
|
|
Če ti bo to zdaj delovalo, pa lahko za nasljednjo težavnostno stopnjo narediš 2 števca: Vrednost enega se shranjuje v eeprom, eden pa je navaden. Tako bi imel 2 podatka: koliko-krat skupaj si pritisnil tipko, in kolikokrat od zanje prekinitve napetosti. _________________ 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 11:53 am Naslov sporočila: štetje z tipko (bascom avr) |
|
|
čeprav definiram A = 0 zunaj podprograma vseeno skoči nazaj na 0 |
|
Nazaj na vrh |
|
 |
tiger Član

Pridružen-a: Čet 05 Feb 2004 0:22 Prispevkov: 1161 Aktiv.: 4.90
|
Objavljeno: Sre Jul 23, 2008 11:55 am Naslov sporočila: |
|
|
Hi
Pa si zbrisal v podprogramu A=1 oz. A=0?
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 11:56 am Naslov sporočila: štetje z tipko (bascom avr) |
|
|
ja |
|
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 11:59 am Naslov sporočila: štetje z tipko (bascom avr) |
|
|
program je sedaj takšen.
Declare Sub Stetje
Dim A As Byte
Config Pina.0 = Input
Cls
Cursor Off
Locate 1 , 1 : Lcd "stetje z tipko"
A = 0
Do
Sub Stetje
If Pina.0 = 1 Then
Waitms 20
Incr A
End If
Locate 2 , 5 : Lcd A
End Sub
Loop
End |
|
Nazaj na vrh |
|
 |
tiger Član

Pridružen-a: Čet 05 Feb 2004 0:22 Prispevkov: 1161 Aktiv.: 4.90
|
Objavljeno: Sre Jul 23, 2008 11:59 am Naslov sporočila: |
|
|
Hi
Drugače je pa najbolje, da za štetje uporabiš zunanjo prekinitev INT0 ali INT1, ker ti bo preštelo vsak pritisk, tako kot imaš pa sedaj pa le tisto, kar je pritisnjeno tisti trenutek, ko program res bere tipko.
LP |
|
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 11:59 am Naslov sporočila: |
|
|
Probaj tako:
Koda: |
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 |
|
 |
|