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 

Timer, Counter, Interrupts
Pojdi na stran Prejšnja  1, 2
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika za začetnike
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
program_er
Član
Član



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

PrispevekObjavljeno: Pon Jul 14, 2008 9:35 am    Naslov sporočila:  Re: Pa še to Odgovori s citatom

vilko je napisal/a:
Pa še to na brzino:
Stop Timer je ukaz


Hmm, bi mogoče šlo takole:
Koda:


'                                Bojan Potočnik
'*******************************************************************************
'                           LED DIODA KOT TOUCH SENZOR
'*******************************************************************************

$regfile = "m8def.dat"
$crystal = 1000000

'-------------------------------------------------------------------------------
Config Portb.0 = Output
Config Portb.1 = Output

'-------------------------------------------------------------------------------
Katoda Alias Portb.1
Anoda Alias Portb.0

'-------------------------------------------------------------------------------
Const Timer0reload = 131
Config Timer0 = Timer , Prescale = 8
Load Timer0 , Timer0reload
On Timer0 Prekinitev

'-------------------------------------------------------------------------------
Enable Timer0
Enable Interrupts

'===============================================================================
Do
 Portb = 0
 Katoda = 0
 Anoda = 1
 Waitms 5
 Katoda = 1
 Anoda = 0
 
  Config Pinb.0 = Input
  Start Timer0
 
  Do
   'Prazno
  Loop Until Pinb.0 = 1
 
  Stop Timer0
  If Timer0 < 50 Then
   Gosub Prekinitev
  Else If Timer0 > 50 Then
    Load Timer0 , Timer0reload
  End If

Loop

Prekinitev:
 Load Timer0 , Timer0reload

 Config Portb.0 = Output
 Config Portb.1 = Output
 Katoda = 0
 Anoda = 1
 Waitms 500
 Anoda = 0
 Waitms 500
Return

End

_________________
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
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3365
Aktiv.: 14.17
Kraj: Dragomer

PrispevekObjavljeno: Pon Jul 14, 2008 10:04 am    Naslov sporočila:  T Odgovori s citatom

To je zame novo, Bascom8051 zagotovo tega nima, ampak človek vedno kaj novega izve, in to je dobro.
_________________
Nihče ni za vojno in vsi so za mir,
vsi so za bratstvo, nihče za prepir.
Od same ljubezni vsak čas na granatah
bo vtisnjeno geslo: "Darilo za brata"
Janez Menart
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.30
Kraj: Maribor (Pohorje)

PrispevekObjavljeno: Pon Jul 14, 2008 2:52 pm    Naslov sporočila:   Odgovori s citatom

JUHUUU, naredil!!! In to brez uporabe Timerja!
Koda:

'                                Bojan Potočnik
'*******************************************************************************
'                           LED DIODA KOT TOUCH SENZOR
'*******************************************************************************

$regfile = "m8def.dat"
$crystal = 1000000

'-------------------------------------------------------------------------------
'Katoda ja na Portb.1
'Anoda je na Portb.0

'-------------------------------------------------------------------------------
Dim Cas As Word , Pomoc As Word

'===============================================================================
'UVOD:
Config Portb.0 = Output : Config Portb.1 = Output
Portb.1 = 0                                                 'Led dioda
Portb.0 = 1                                                 'je prizgana
Wait 1                                                      'Pocakamo 1 s


Do
 Portb = 0
   Config Portb.0 = Output : Config Portb.1 = Output
   Portb.1 = 0                                              'Led dioda
   Portb.0 = 1                                              'je prizgana
   Waitms 5                                                 'Pocakamo 5 ms

   Portb.1 = 1                                              'Obratno
   Portb.0 = 0                                              'polariziramo LED

  Config Pinb.0 = Input                                     'Anodo preklopimo v High Z (vhod)

   Pomoc = 0 : Cas = 0                                      'Resetiramo spremenljivke

   Do                                                       'Zacetek podzanke:
    Cas = Cas + 100                                         'Cas povecamo za 10 (10 us)
    Waitus 100                                              'in zato tudi pocakamo 10 us
   Loop Until Pinb.0 = 1                                    'To ponavljamo dokler vhod ne pade na 0

    If Cas < 30000 Then                                     'Če je to trajalo manj kot xxx ms
      Gosub Prekinitev                                      'gremo v subrutino Prekinitev
'     Elseif Cas < 30000 Then                                'Drugače pa
'      Cas = 0                                               'resetiramo spremenljivko Cas
    End If                                                  'končamo If stavek

Loop                                                        'in gremo od znova!

Prekinitev:
 Config Portb.0 = Output
 Config Portb.1 = Output
 Portb.1 = 0
 Portb.0 = 1
 Waitms 500
 Portb.0 = 0
 Waitms 500
 Cas = 0
Return

End

Kdo hoče sprobat:
Iti morate na točno pravo svetlobo, to lahko nastavite, tam ko imam jaznapisano 30000. Jaz sem uporabil oranžno LEDico. LEDica neprestano pomalem utripa, ko pa daš prst na njo pa 500ms gori, 500ms počaka in gre od znova.

EDIT: Priponko sem izbrisal, ker je bilo nekaj narobe z njo. Sicer pa je koda ista kot zgoraj.

_________________
Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.


Nazadnje urejal/a program_er Pon Jul 14, 2008 4:33 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3365
Aktiv.: 14.17
Kraj: Dragomer

PrispevekObjavljeno: Pon Jul 14, 2008 3:53 pm    Naslov sporočila:  Hmmmm Odgovori s citatom

Datoteka ima 0 bajtov! Če pa je koda ista, kot v sporočilu, potem ni potrebno, da je še kot priponka.

Sem pa vesel, da si rešil problem, skoraj tako kot ti!
Pozdrav

_________________
Nihče ni za vojno in vsi so za mir,
vsi so za bratstvo, nihče za prepir.
Od same ljubezni vsak čas na granatah
bo vtisnjeno geslo: "Darilo za brata"
Janez Menart
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.30
Kraj: Maribor (Pohorje)

PrispevekObjavljeno: Pon Jul 14, 2008 4:34 pm    Naslov sporočila:  Re: Hmmmm Odgovori s citatom

vilko je napisal/a:

Sem pa vesel, da si rešil problem, skoraj tako kot ti!


Jaz sem problem rešil skoraj tako kot jaz? Ne razumem. Ampak vseeno, OK.

_________________
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
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.51

PrispevekObjavljeno: Pon Jul 14, 2008 6:43 pm    Naslov sporočila:   Odgovori s citatom

Mozak je vesel skoraj tako kakor ti.

Pusti elektroniko in programiranje, ce ti ze tako preprost konstrukt (vrinjen stavek)povzroca tezave.

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit 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 -> Elektronika za začetnike Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2
Stran 2 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: 8 dni


Powered by phpBB © 2001, 2005 phpBB Group