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 

štetje z tipko (bascom avr)
Pojdi na stran Prejšnja  1, 2, 3
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
jjakob
Član
Član



Pridružen-a: Pet 19 Nov 2004 14:12
Prispevkov: 1348
Aktiv.: 5.69

PrispevekObjavljeno: Sre Jul 23, 2008 2:58 pm    Naslov sporočila:   Odgovori s citatom

Napisal si, da naj ti samo pomagamo pri iskanju napake, torej je tukaj en namig - Malce pomisli, kaj hočeš z IFi doseči ter jih pravilno napiši. Tukaj je več napak.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
tiger
Član
Član



Pridružen-a: Čet 05 Feb 2004 0:22
Prispevkov: 1161
Aktiv.: 4.90

PrispevekObjavljeno: Sre Jul 23, 2008 2:59 pm    Naslov sporočila:   Odgovori s citatom

Hi

Prvi IF stavek ima prioriteto nad vsemi ostalimi in tako naprej, vendar v tem primeru to ne bo šlo. Obe tipki morata biti neodvisni.


LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
linel
Član
Član



Pridružen-a: Čet 06 Mar 2008 21:14
Prispevkov: 178
Aktiv.: 0.85
Kraj: prekmurje

PrispevekObjavljeno: Sre Jul 23, 2008 3:19 pm    Naslov sporočila:  štetje z tipko (bascom avr) Odgovori s citatom

ne sešteva in ne odšteva
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
jjakob
Član
Član



Pridružen-a: Pet 19 Nov 2004 14:12
Prispevkov: 1348
Aktiv.: 5.69

PrispevekObjavljeno: Sre Jul 23, 2008 8:11 pm    Naslov sporočila:   Odgovori s citatom

Si pogledal program_erjev odgovor na prejšnji strani? Če bi malce premislil, bi najverjetneje ugotovil, da dela, ampak ne pravilno, saj program misli, da sta obe tipki pritisnjeni ter istočasno sešteva in odšteva rezultat Laughing
Ti imaš tipke priključene med pine mikrokontrolerja in Vcc (nestandardno), zato jih odklopi z Vcc in jih priključi med pin in maso. Tako bo stanje na vhodu mikrokontrolerja ob pritisku tipke 0, ter bo program pravilno deloval.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
linel
Član
Član



Pridružen-a: Čet 06 Mar 2008 21:14
Prispevkov: 178
Aktiv.: 0.85
Kraj: prekmurje

PrispevekObjavljeno: Sre Jul 23, 2008 8:29 pm    Naslov sporočila:  štetje z tipko (bascom avr) Odgovori s citatom

to sem videl ja, in tudi spremenil.

tako da program je sedaj takšen

Koda:
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 = 1 Then
   Waitms 20
     If Pina.0 = 0 Then
      Gosub Stetje
     End If
  End If

  If Pina.1 = 0 Then
   Waitms 20
    If Pina.1 = 1 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
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
eddie
Član
Član



Pridružen-a: Sre 10 Dec 2003 21:02
Prispevkov: 723
Aktiv.: 3.05
Kraj: Severna primorska

PrispevekObjavljeno: Sre Jul 23, 2008 9:34 pm    Naslov sporočila:   Odgovori s citatom

Tale del:
Koda:

If Pina.0 = 0 Then
   Waitms 20
     If Pina.0 = 0 Then
      Gosub Stetje
     End If
  End If

Vsakokrat narobe popravljaš!

V tvojem primeru naj bi izgledal takole:
Koda:

If Pina.0 = 1 Then
   Waitms 20
     If Pina.0 = 1 Then
      Gosub Stetje
     End If
  End If


In še pomen: prvi if stavek preverja, če je tipka pritisnjena, ko detektira pritisnjeno tipko pride na vrsto zakasnitev in nato še enkrat preverjanje ali je tipka pritisnjena.Tako se znebiš kratkotrajnih motenj ("špic") in odskakovanju kontaktv tipke.

In tudi tale del nekaj naredi:

Koda:

Porta.0 = 1
 Porta.1 = 1


Naprej pa ugotavljaj sam.
Lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
linel
Član
Član



Pridružen-a: Čet 06 Mar 2008 21:14
Prispevkov: 178
Aktiv.: 0.85
Kraj: prekmurje

PrispevekObjavljeno: Sre Jul 23, 2008 9:54 pm    Naslov sporočila:  štetje z tipko (bascom avr) Odgovori s citatom

vem da delam napake, še nekaj časa jih bom, ker sem se komaj začel učiti. z mikrokontrolerji do pred dveh tednov sploh nisem mel opravka, dokler si nisem naročil testne plošče. učim se pa zato ker me zanimajo. pa če gdaj kakšno oslarijo ven butnem se opravičujem.

če mam tukaj tak kot si mi rekel številke samo letijo.
Koda:
If Pina.0 = 1 Then
   Waitms 20
     If Pina.0 = 1 Then
      Gosub Stetje
     End If
  End If


je to mogoče zato da ko pritisnem tipko se proži na logično 1 ?
porta.0 = 1
porta.1 = 1


Koda:
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
program_er
Član
Član



Pridružen-a: Sob 08 Mar 2008 13:47
Prispevkov: 2173
Aktiv.: 10.33
Kraj: Maribor (Pohorje)

PrispevekObjavljeno: Sre Jul 23, 2008 10:27 pm    Naslov sporočila:   Odgovori s citatom

Glej, ti zaznavaš, če je pin na 1, vrstico pred tem pa ga programsko postaviš na 1!

Torej, tipko veži med določen pin in GND!

1. Programsko daj port na 1
2. Zaznavaj, če je tipka na 0.

Če tipke ne boš stisnil, bo vhod ostal na 1, če pa ga boš stisnil, pa ga bo vrglo na 0.

Naredil pa sem eno napako:
Koda:

Porta.0 = 1
Porta.1 = 1

To kodo sem dodal v glavno zanko, kar je NAROBE. Oprosti, komaj zdaj sem pogruntal.

PORTA.0 = 1 daj v subrutino Stetje, pod Incr A

PORTA.1 = 1 pa daj v subrutino Odstetje, pod Decr A

_________________
Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2, 3
Stran 3 od 3

 
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: 492 dni


Powered by phpBB © 2001, 2005 phpBB Group