Nem tudok számolni?
Papp Zoltán
zombi at c2.hu
Fri Jan 19 15:14:09 CET 2007
Friedrich Gábor írta:
> Üdv!
> Az alábbi Bascom kódnak számolásom szerint a PD6 kimenetet
> 7372800/(256*64)-gyel kellene billentenie,
> ehelyett kb. 1Hz-el billeg.
> Hol a hiba?
> Köszi
> Fidó
>
>
>
> $crystal = 7372800
> $regfile = "Attiny2313.dat"
>
> Dim Szamlalo As Byte
> Szamlalo = 64
>
> Config Timer0 = Timer , Prescale = 256
> On Timer0 Megszakitas
>
> Enable Interrupts
> Enable Timer0
>
> Config Portd.6 = Output
>
> Do
> Loop
>
> Megszakitas:
> Decr Szamlalo
> If Szamlalo = 0 Then
> Szamlalo = 64
> Toggle Portd.6
> End If
> Return
>
> End
>
> -----------------------------------------
> elektro[-flame|-etc]
>
Mert a Timer0 megszakítása akkor keletkezik, ha túlcsordult, azaz
elszámolt 256-ig. Így valójában 256(prescale)*256(timer0
overflow)*64(szamlalo) ciklusonként jön egy portláb váltás, ami kb.569
msec-enként következik be, tehát a villogás két portváltás lesz, azaz
kb.1,138sec lesz a villogás frekije.
Vedd ki a 256-os prescalet, és jó lesz, vagy ha tud ez a proc 64-es
prescalet, akkor tedd be azt, és felejtsd el a "Szamlalo" változót, és
akkor a megszaításod eleve jó lesz.
Üdv
--
Papp Zoltán
OneWay Electronics
--------------------------------- Hirdetés ---------------------------------
Mi a C2? http://mail.c2.hu
More information about the Elektro
mailing list