Preruseni casovace na x51

Martin Záruba swz@volny.cz
Sobota Únor 26 19:08:34 CET 2005


Chapu. Ja to mozna nenapsal uplne presne. Me v podstate nevadi, pokud
preruseni nastane ne vzdy PRESNE po danem poctu cyklu, potrebuji aby
dlouhodobe byl pocet cyklu do spusteni rutiny preruseni stejny. Tedy pokud
jednou bude vice taktu, musi byt priste o to mene.
Ta rutina obsluhuje hodiny, takze potrebuji, aby k inkrementaci citace
sekund (coz je dostatecny pocet preruseni) doslo prumerne po presne
definovanem poctu cyklu. Krystal je na 20MHz, takze jeden takt hodin trva
0.6 us. V te rutine jsem to udelal takto:
 mov TH0,#34h
 mov a,#8Dh+1 ; delka smycky ma byt 52083 taktu, takze preruseni je 32x za
vterinu
 add a,TL0
 mov TL0,a

na simulatoru se to tvari rozumne


Martin Zaruba

----- Original Message ----- 
From: "Delphin" <delphin@post.cz>
To: "HW-news" <hw-list@list.hw.cz>
Sent: Saturday, February 26, 2005 6:55 PM
Subject: Re: Preruseni casovace na x51


> Jasne dik. Pokud tedy potrebuji, aby k preruseni doslo vzdy za presny
> pocet
> taktu (musim prednastavovat registr casovace), musim vzit v uvahu, ze po
> skoku do rutiny preruseni v nem nemusi byt nula, ale muze byt i 1, 2 nebo
> 3
> podle delky prave zpracovavane instrukce. Je to tak?

Je to trosku slozitejsi, dle datasheetu se prvni instrukce rutiny od
preruseni zacne zpracovavat za vice nez 3 a mene nez 9 strojovych cyklu od
zachyceni preruseni, tedy existuje 5 ruznych moznosti.

btw. DIV AB / MUL AB trva 4 takty a preruseni nenastane po instrukci RETI +
vsech instrukci modifikujici IE a IP.


_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list






Další informace o konferenci Hw-list