Jak skonfigurować licznik T0 w 80c52 do zliczania impulsów zewnętrznych?
80c52 - problem z licznikiem
From: jacekzeb_at_nospam_david.silesia.pik-net.pl (Jacek Ziebura)
Subject: 80c52 - problem z licznikiem
Date: 10 Jun 1997 08:31:20 GMT
Czesc.
Ostatnio spotkalem sie z nastepujacym problemem.
Potrzebuje wykorzystac T0 jako licznik zdarzen zewn. i z automatycznym
przeladowaniem po n impulsach z zewn.
ustawiam
mov TMOD,#xxxx0110b
mov TLO,#n
mov THO,#n
Niestety przerwania sa generowane podczas kazdego wystapienia impulsu zewn.
zamiast (jak mi sie wydaje powinno byc) po przepelnieniu licznika.
Jesli zrodlem impulsow jest zegar wewn. TMOD = #xxxx0010b to wszystko jes ok.
Dzieje sie tak na symulatorze avsim51.
Czy ktos wie czy to wina symulatora, moja, czy moze 51 tak dziala ?
Wg wszelkich opisow powinno sie dac uzyskac taki tryb.
Bede wdzieczny za wszelka pomoc.
--
------
Jacek Ziebura,
e-mail: jacekzeb_at_nospam_silesia.pik-net.pl voice : +48-32-1799600 w.313
PGP-Key: http://www.silesia.pik-net.pl/jacekzeb/pgp.html
From: lis_at_nospam_papuga.ict.pwr.wroc.pl (Jaroslaw Lis)
Subject: Re: 80c52 - problem z licznikiem
Date: 10 Jun 1997 12:45:19 GMT
Jacek Ziebura <jacekzeb_at_nospam_david.silesia.pik-net.pl> wrote:
Potrzebuje wykorzystac T0 jako licznik zdarzen zewn. i z automatycznym
przeladowaniem po n impulsach z zewn.
ustawiam
mov TMOD,#xxxx0110b
mov TLO,#n
mov THO,#n
Niestety przerwania sa generowane podczas kazdego wystapienia impulsu zewn.
zamiast (jak mi sie wydaje powinno byc) po przepelnieniu licznika.
Jesli zrodlem impulsow jest zegar wewn. TMOD = #xxxx0010b to wszystko jes ok.
Dzieje sie tak na symulatorze avsim51.
To chyba jednak symulator winny. Zakladajac ze n<>255, i ze nie bedziesz
mial drgan zestykow, tudziez czestotliwosc bedzie odpowiednia.
J.
From: amart_at_nospam_pol.JUNKMAILPROTECTION.pl (Jaroslaw Cichorski Jr.)
Subject: Re: 80c52 - problem z licznikiem
Date: Tue, 10 Jun 1997 15:55:14 GMT
jacekzeb_at_nospam_david.silesia.pik-net.pl (Jacek Ziebura) wrote:
<snip >
Ostatnio spotkalem sie z nastepujacym problemem.
Potrzebuje wykorzystac T0 jako licznik zdarzen zewn. i z automatycznym
przeladowaniem po n impulsach z zewn.
ustawiam
mov TMOD,#xxxx0110b
mov TLO,#n
mov THO,#n
Tak w ogole to timer liczy w gore wiec musisz wstawic 256-n.
Jezeli wstawisz 255 to bedzie generowal przerwanie po kazdym impulsie
na wejsciu T0.
To ze zlicza kilka impulsow moze byc spowodowane drganiami (stykow np)
Nie zapomnij o EA, TR0 i ET0.
Niestety przerwania sa generowane podczas kazdego wystapienia impulsu zewn.
zamiast (jak mi sie wydaje powinno byc) po przepelnieniu licznika.
Jesli zrodlem impulsow jest zegar wewn. TMOD = #xxxx0010b to wszystko jes ok.
<snip >
--------
Jarek.
e-mail amart_at_nospam_pol.JUNKMAILPROTECTION.pl
E-mail address is invalid due to stop junk mail.
Please remove 'JUNKMAILPROTECTION.'