Untitled80

Untitled80



152 14 Licznik T2 w 8052 i SAB 80515/535

skojarzonym z tym rejestrem (PI. 1 /CCI) pojawia się stan jedynki logicznej. Stan ten trwa dopóki nie nastąpi przepełnienie licznika. W tym momencie linia PI.1/CCI przechodzi w stan zera logicznego. W przykładowym programie, który został przedstawiony poniżej drugi sygnał generowany jest na linii P1.2/CC2 (rysunek 14-6). W programie założono następujące warunki pracy mikrokontrolera:

•    częstotliwość rezonatora kwarcowego mikrokontrolera wynosi 12 MHz,

•    wewnętrzny sygnał taktujący ma częstotliwość fCEN/12; nie jest włączony dodatkowy dzielnik częstotliwości,

•    po przepełnieniu wartość początkowa licznika T2 jest przepisywana z pomocniczego rejestru CRC,

•    sygnały generowane są na liniach portu P1.1/CC1 i P1.2/CC2,

•    porównywanie cluvilow'ej wartości licznika T2 i pomocniczych rejestrów CCI oraz CC2 wykonywane jest w trybie 0,

•    w programie nie wykorzystuje się przerwań; nie ma takiej potrzeby.

Program realizujący podane założenia złożony jest z dwóch części:

•    pierwszą są deklaracje stałych,

•    drugą program sterujący licznikiem T2 rozpoczynający się od etykiety Generator 1 2.

Okres

F.QU

Stan T2

EQU

Stan CRC

EQU

P1_1_H

EQU

Stan_CCl

EQU

PI 2 H

EQU

Stan CC2

EQU

Stan CCEN

EQU


1000    ;okres obu sygnałów w ps

OFFFFh +1 -Okres ;=0FC18h, wartość początkowa ;    licznika T2

Stan T2 ;wartość początkowa licznika po przepełnieniu 500 ;czas trwania jedynki logicznej na wyjściu PI .1 OFFFFh + 1 - PI _1 _H OFEOCh, wartość porównywa-;    na w rejestrze CCI

250 ;czas trwrania jedynki logicznej na wejściu PI .2 OFFFFh + 1 - PI 2 H ;= OFFOóh, wartość porównywa-;    na w rejestrze CC2

OOlOlOOOb ;odblokowany tryb porówmania ;dla rejestru CCI oraz CC2

COCAH3 COCAL3


COCAH2 | COC A 1.2 ||

j COCAHl | COCAL1 | COCAHO | COCAU)

;COCAH2,COCAL2 - w'ybór trybu porównania wartości chw ilowej licznika z rejestrem CC2,

;COCAHl,COCALl - wfybór trybu porównania wartości chwilowej licznika z rejestrem CCI,

Stan_T2CON EQU OOOlOOOlb ;    T2PS | 13FR \ 12FR "


programowanie trybów licznika T2 T2R1 | T2R0 | T2CM | T211 | T210 |

T2PS =0, wyłączony dodatkowy dzielnik przez 2, nPT? n ynar^nik nipi«iłntnv

T2R1/T2R0 = lOb, wpis wartości początkowej po przepełnieniu, T2CM = 0, porównanie w trybie 0,

T2I1/T2I0 = Olb, taktowanie sygnałem wewnętrznym.

TH2 «- OFCh,

TL2 <- 18h, CRCH <- OFCh,

CRCL <—18h, CCH1 <r- OFEh, CCL1 <- OCh, CCH2 OFFh, CCL2 <- 06h,


CSEG AT 0 Cenerator_l_2:

MOV TH2,#High Stan T2

MOV TL2,#Low Stan_T2 MOV CRCH,tfHigh Stan CRC

MOV CRCL,#Low Stan CRC MOV CCHMHighStan CCI MOV CCLl,#Low Stan_CCl MOV CCH2,#High Stan CCI MOV CCL2,#Low Stan.CCl MOV CCEN,#Stan_CCEN MOV T2CON,#Stan T2CON


;dek1aracja segmentu kodu programu


wpisanie wartości początkowej do rejestrów licznika wartość początkowa w licznika T2 po przepełnieniu wartość porównania dla PI. 1 wartość porównania dla PI 2


odblokowanie trybu porównania programowanie i start licznika T2


Koniec_programowania:

NOP    ;miejsce na punkt zatrzymania programu

END    ;koniec kodu źródłowego programu

Raz zaprogramowany licznik T2 generuje sygnał aż do ponownego programowania, niezależnie od obliczeń wykonywanych przez jednostkę arytme-tyczno-logiczną mikrokontrolera, zerowania mikrokontrolera (RESET#) lub wyłączenia zasilania. Efekt programowania licznika T2 można zaobserwować na oscyloskopie dołączonym do linii portu PI . 1/CCI i P1.2/CC2.

14.2.3 Zapamiętanie wartości chwilowej licznika T2

Każdy z czterech rejestrów CRC..CC3 może być użyty do zapamiętania wartości chwilowej licznika T2. Operacja ta realizowana jest sprzętowo. Gdyby wykonać tę operację programowo, to odczytane wartości mogłyby się różnić od wartości rzeczywistej o liczbę cykli maszynowych potrzebnych do wykonania tych instrukcji. Innym rozwiązaniem jest zatrzymanie na czas odczytu licznika 12 (np. T2I1=T2I0=0) i ponowne jego uruchomienie po wykonaniu odczytu. Gdyby licznik nie był zatrzymywany to jego zawartość zostałaby zwiększona o liczbę cykli maszynowych potrzebnych do wykonania programu:

•    zatrzymania licznika,

•    odczytu zawartości licznika,

•    ponownego uruchomienia licznika.


Wyszukiwarka

Podobne podstrony:
Untitled76 144 14. Licznik T2 w 8052 i SAB 80515/535 --1- n 2Sb 7 U ź U Schemat blokowy licznika T
Untitled77 146 14. Licznik T2 w 8052 i SAB 80515/535 COCAH3 1 COCAL3
Untitled82 156 14 Licznik T2 w 8052 i SAB 80515/535 156 14 Licznik T2 w 8052 i SAB 80515/535 Stan_T2
Untitled73 138 14. Licznik T2 w 8052 i SAB 80515/535 8052 80515/535 -> zbocze opadające T2EX u
Untitled75 142 14. Licznik T2 w 8052 i SAB 80515/535 8052 Vcc 5 UD, r. PI.4 62,5 ms a 125
Untitled78 148 14. Licznik T2 w 8052 i SAB 80515/535 mikrokontrolerze 80515/535 przed licznikiem T2
Untitled81 154 14. Licznik T2 w 8052 i SAB 80515/535 Operację dynamicznego odczytu wartości chwilowe
Untitled83 158 14. Licznik T2 w 8052 i SAB 80515/535 13.    W jaki sposób programowo
Untitled73 138 14. Licznik T2 w 8052 i SAB 80515 535 8052 80515/535 -» zbocze opadające T2EX usta
Untitled75 142 14. Licznik T2 w 8052 i SAB 80515/535 142 14. Licznik T2 w 8052 i SAB 80515/535 UD
Untitled79 150 14. Licznik T2 w 8052 i SAB 80515 53514.2.2 Modulacja okresu i współczynnika wypełnie
Untitled74 140 14 Licznik T2 u 8052 i SAB 80515 53514.1 Licznik T2 w 8052 Schemat blokowy licznika T
Untitled74 14 Licznik T2 * 8052 i SAB 80515.535 14014.1 Licznik T2 w 8052 Schemat blokowy licznika T
Untitled85 __15. Obniżanie pobor • V "    ^ *16. Watchdog w SAB 80515/535 Za
Untitled88 168 16. Watchdog w SAB 80515 535 6. W przykładzie założono, że w programie użytkownika wy
Untitled67 126 13. Przetwornik analogowo-cyfrowy w mikrokontrolerze SAB 80515 535 • próbkouHitiie st

więcej podobnych podstron