|
|
|
| Software projekti |
Autor: Tomislav Ratić |
|
E-mail: tomara@uns.ns.ac.yu |
|
|
SOFTVERSKA KAŠNJENJA Softverska kašnjenja su jedan od najčešće upotrebljavanih mehanizama u asemblerskom programiranju. Jedan od najjednostavnijih načina da sotverski usporimo mikrokontroler je naredba NOP. Ova naredba traje jedan ciklus tj. 1 ms ako je takt oscilatora mikrokontrolera 12MHz (jer jedan ciklus čini 12 taktova oscilatora). Ako je potrebno ostvariti kašnjenje od nekoliko mikrosekundi, potrebno je samo sukcesivno poslagati odgovarajući broj NOP naredbi.Sledeće naredbe generišu pravougaoni signal frekvencije 250kHz, faktora ispune 25% na pinu 0 porta P1: Lab1: clr P1.0 ;Traje 1
ciklus Ako je potrebno da faktor ispune bude 50% (a frequencija nije bitna), korišćenjem NOP naredbi, dobija se signal od 166.7 kHz, faktora ispune 50%: Lab1: clr P1.0 ;Traje 1
ciklus Kada je potrebno ostvariti veća
kašnjenja, upotreba NOP naredbi postaje nepraktična i često nemoguća. DELAY: mov
r6,#50d ;Traje 1 ciklus Naime, vreme potrebno za
izvršenje potprograma je 1 + (1 + 2*r7 + 2) * r6 plus vreme potrebno za poziv i izlazak
iz potprograma. Ako je r6 > 10 i r7 > 10, trajanje je približno 2*r6*r7 (u
mikrosekundama). Lab1: clr P1.0 ;Traje 1
ciklus Ukupno trajanje naredbi clr, setb
i sjmp od 4 us, kao i vreme potrebno za izvršenje potprograma, može se zanemariti u
odnosu na 5000 ms. DELAY: mov r5,#50d Sve naredbe korišćene u primerima se odnose na asembler firme ‘2500AD SOFTWARE, INC’
|
|
C o p y r i g h t 1998 mikroElektronika. All Right Reserved. Za sva pitanja obratite se redakciji |