Preruseni casovace na x51

Martin Záruba swz@volny.cz
Neděle Únor 27 10:18:03 CET 2005


Je to AT89C2051, takze CT2 nema. Tech 20MHz je proto, ze v hlavni smycce
potrebuji za splneni urcitych podminek vygenerovat 4 pulzy s delkou periody
1.2 uS. Nic jineho, co by tento pozadavek splnilo nez 20MHz krystal, zakazat
preruseni, 8 instrukci cpl Px.y a povolit preruseni me nenapadlo.

Pokud v te rutine preruseni je
 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

tak se na simulatoru zda, ze to funguje korektne. Pokud by krystal byl
presne 20MHz, dela to za den odchylku asi 0.5 vteriny, coz myslim je tak na
hranici stability krystalu.

Martin Zaruba

----- Original Message ----- 
From: "Ing. Petr Weissar, Ph.D." <weissar@kae.zcu.cz>
To: "HW-news" <hw-list@list.hw.cz>
Sent: Sunday, February 27, 2005 9:55 AM
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?

A co vyuzit automatickeho reloadu citace ? Pokud to je kompatibilni s 8052,
tak
to CT2 umi i 16-bitove, jinak se musi jen 8-bitovy reload (pro CT0/1). At se
o
to "stara kremik" ...
Vzhledem k tomu, ze bezne pouzivam C, tak bych tezko doladoval ty PUSH/POP
pridavky ...
Pokud to nejde vydelit z tech 20MHz, proc se nepouzije treba 18M ? My
vzdycky
pro casovaci aplikace davame "rozumny" (12M a tak) krystal, takze pak to na
tu
1s vychazi pekne kulate :-)

S pozdravem
Petr Weissar
_______________________________________________
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