LABORATORIUM. TIMERY w mikrokontrolerach MCS 51

Podobne dokumenty
SYSTEM PRZERWA Ń MCS 51

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

LABORATORIUM UKŁADY WY Ś WIETLANIA INFORMACJI Z WY Ś WIETLACZAMI 7-SEGMENTOWYMI LED

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa

Instytut Teleinformatyki

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna

Pracownia elektryczno-elektroniczna klasa IV

Przerwania w architekturze mikrokontrolera X51

Ćwiczenie 9 Częstościomierz oparty na µc 8051(8052)

MIKROPROCESORY architektura i programowanie

TECHNIKA MIKROPROCESOROWA

Instytut Teleinformatyki

MIKROPROCESORY architektura i programowanie

architektura komputerów w 1 1

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Architektura mikrokontrolera MCS51

Architektura mikrokontrolera MCS51

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

2. Architektura mikrokontrolerów PIC16F8x... 13

Instytut Teleinformatyki

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Układy czasowo-licznikowe w systemach mikroprocesorowych

Timery w mikrokontrolerach STM32F3

Wstęp Architektura... 13

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

Politechnika Warszawska

Pamięci EEPROM w systemach mikroprocesorowych, część 2

Ćw. 5: Bramki logiczne

Uproszczony schemat blokowy zespołu 8-bitowego timera przedstawiono na rys.1

Omówimy przykłady 8-mio bitowego licznika z wyposażenia ADuC812 (CISC 51) oraz mikrokontrolera ATMega128 należącego do rodziny AVR.

Układy czasowo-licznikowe w systemach mikroprocesorowych

Ćwiczenie 1 Wędrujące światełko

Ćwiczenie 30. Techniki mikroprocesorowe Programowanie w języku Asembler mikrokontrolerów rodziny '51

Programowanie mikrokontrolera 8051

Lista rozkazów mikrokontrolera 8051

Obsługa wyjść PWM w mikrokontrolerach Atmega16-32

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED

Ćw. 5. Obsługa portu szeregowego UART w mikrokontrolerach 8051.

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania. Sterowniki Urządzeń Mechatronicznych laboratorium. Ćw. 3: Timer v1.0

Porty GPIO w mikrokontrolerach STM32F3

START: ; start programu od adresu 0100H ; zerowanie komórek od 01H do 07FH ( 1 dec dec)

SYSTEM PRZERWAŃ ATmega 32

MIKROKONTROLERY I MIKROPROCESORY

Technika mikroprocesorowa I Wykład 4

LABORATORIUM UKŁADY STYKOWE ZL3AVR

Urządzenia do bezprzerwowego zasilania UPS CES GX RACK. 10 kva. Wersja U/CES_GXR_10.0/J/v01. Praca równoległa

Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2

Temat: System przerwań, liczniki i wyświetlacz w STRC51. Ćwiczenie 3.

Wbudowane układy peryferyjne cz. 2 Wykład 8

LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH

Obszar rejestrów specjalnych. Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

Hardware mikrokontrolera X51

Elementy cyfrowe i układy logiczne

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla

Układy czasowe / liczniki (timers/counters)

Instytut Teleinformatyki

Technika Cyfrowa. Badanie pamięci

Ćwiczenie 7 Liczniki binarne i binarne systemy liczbowe.

Temat: System przerwań, liczniki i wyświetlacz w STRC51. Ćwiczenie 3.

mikrokontrolerów PIC (2) Sterowanie za pomocą PWM

Struktura programu w asemblerze mikrokontrolera 8051

Programowanie w językach asemblera i C

Ćwiczenie 7 Matryca RGB

Analizowanie działania układów mikroprocesorowych 311[50].O1.06

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

LABORATORIUM nr 2. Temat: Obsługa wyświetlacza siedmiosegmentowego LED

Technika mikroprocesorowa. Konsola do gier

Komunikacja w mikrokontrolerach Laboratorium

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1

Ćwiczenie 6 Komunikacja z komputerem (łącze RS232)

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

HiTiN Sp. z o. o. Przekaźnik kontroli temperatury RTT 4/2 DTR Katowice, ul. Szopienicka 62 C tel/fax.: + 48 (32)

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Politechnika Białostocka

Metody obsługi zdarzeń

PC 3 PC^ TIMER IN RESET PC5 TIMER OUT. c 3. L 5 c.* Cl* 10/H CE RO WR ALE ADO AD1 AD2 AD3 AD4 A05 A06 LTJ CO H 17 AD7 U C-"

Programowanie mikrokontrolerów. 3 stycznia 2008

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe

Spis zawartości Lp. Str. Zastosowanie Budowa wzmacniacza RS485 Dane techniczne Schemat elektryczny

Mikrokontroler 80C51

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

Wstęp działanie i budowa nadajnika

Politechnika Białostocka

PRZEMYSŁOWY ODTWARZACZ PLIKÓW MP3 i WAV

Modułowy programowalny przekaźnik czasowy firmy Aniro.

1. Wstęp Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE Rdzeń mikrokontrolerów ST7FLITE... 15

ĆWICZENIE. TEMAT: OBSŁUGA PRZETWORNIKA A/C W ukontrolerze 80C535 KEILuVISON

Wskazówki monta owe. Pod aczenie elektryczne. OXIMO RTS pasuje do standardowych uchwytów monta owych stosowanych do serii LT 50

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA

AGH Akademia Górniczo- Hutnicza w Krakowie Katedra Elektroniki WIET

Informacje ogólne o układzie 8051.

Standardowe bloki funkcjonalne

Transkrypt:

Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Zakład Cybernetyki i Elektroniki LABORATORIUM TECHNIKA MIKROPROCESOROWA TIMERY w mikrokontrolerach MCS 51 Opracował: mgr in Ŝ. Andrzej Biedka

Timer jest jednym z podstawowych elementów wyposa Ŝ podstawowej struktury timera przedstawia rysunek 2-1. enia mikrokontrolera. Schemat f clk preskaler /n (f clk )/n Zapis/Odczyt2 (sygnał CU) Wejś cie impulsów zewnę trznych Zapis/Odczyt1 (sygnał CU) S1 S2 licznik / czasomierz start / stop Rejestr sterują cy We Licznik binarny n-bitowy przepełnienie Magistrala danych Rys. 2-1. Schemat blokowy timera w mikrokontrolerze Timer składa się z programowanego licznika binarnego oraz współpracują cego z nim rejestru sterują cego. Zarówno licznik jak i rejestr sterują cy są przyłą czone do wewnę trznej magistrali danych, dzię ki czemu jednostka sterują ca mikrokontrolera (CU) mo Ŝ e w dowolnym momencie modyfikować lub odczytać ich zawartoś ć. Licznik binarny najczę ś ciej zlicza w górę dodaje impulsy podawane na wejś cie. Impulsy wejś ciowe są bramkowane (załą czane) łą cznikiem S2 sterowanym sygnałem start/stop, Źpochodzą cym z rejestru sterują cego. ródłem impulsów zliczanych mo Ŝ e być : - wewnę trzny układ dzielnika czę stotliwoś ci sygnału taktują cego pracę jednostki centralnej - f clk, tzw. preskalera. W takim przypadku, wobec wzorcowej długoś ci czasu impulsu zliczanego pochodzą cego najczę ś ciej z generatora stabilizowanego rezonatorem kwarcowym, mówimy o funkcji czasomierza lub z ję zyka angielskiego timera. Funkcja odpowiada górnemu poło Ŝ eniu przełą cznika S1. Preskaler mo Ŝ e być dzielnikiem programowanym, wówczas bę dzie przyłą czony do magistrali danych. - wyprowadzenie mikrokontrolera (ang. pin), na który mo Ŝ na przyłą czyć sygnał pochodzą cy z zewną trz. Wówczas urzą dzenie pełni funkcję licznika (ang. counter). Funkcja odpowiada dolnemu poło Ŝ eniu przełą cznika S1. Sygnałem wyjś ciowym mo Ŝ e być stan licznika lub czę ś ciej jego przepełnienie sygnalizowane zmianą stanu jednego z bitów rejestru sterują cego. Dodatkowo przepełnienie licznika binarnego mo Ŝ e wywołać stan przerwania. Nale Ŝ y zaznaczyć, Ŝ e z uwagi na stosowanie w układach mikrokontrolerów kilku zespołów timerów (mogą cych pracować niezale Ŝ nie lub w niektórych konfiguracjach wspólnie), rejestr sterują cy jest zbudowany z kilku rejestrów 8-bitowych. 2

Istotą pracy timera/licznika jest jego autonomicznoś ć, czyli praca niezale Ŝ na od programu głównego. Niezale Ŝ noś ć dotyczy zliczania impulsów, gdy Ŝ oczywiś cie sterowanie pracą timera/licznika odbywa się programowo. Nowoczesne mikrokontrolery zawierają moduły czasomierzy/liczników o bardzo rozbudowanych funkcjach, np.: generatora PWM czę sto wielokanałowego, generatora taktują cego o programowanej czę stotliwoś ci, licznika zdarzeń zewnę trznych. W mikrokontrolerze rodziny 8051 preskaler ma stały współczynnik podziału równy 12. Ponadto w stosunku do podanego wy Ŝ ej schematu blokowego wprowadzono dodatkowe funkcje logiczne w obwodzie sygnału sterowania łą cznikiem S2. Uproszczony schemat ideowy timera 8051 pracują cego w trybie 1 przedstawiono na rysunku 2-2. f clk 12 TF0 Lo -> Hi układ przerwań T0pin C/T0 = 0 C/T0 = 1 TL0 TH0 8 bit 8 bit INT0pin bit C/T0 - rejestr TMOD bit TF0 - rejestr TCON bit TR0 - rejestr TCON bit GATE0 - rejestr TMOD Rys. 2-2 Schemat ideowy timera 8051 pracują cego w trybie 1 Bramka AND sterują ca załą czaniem impulsów zliczanych zwiera łą cznik dla stanu wysokiego na wyjś ciu. ZADANIA: 1. Na podstawie literatury zapoznać się z funkcjami bitów w rejestrach TMOD i TCON. 2. Przeanalizować schemat przedstawiony na rysunku 2-2 i okreś lić wartoś ci bitów TR0 i GATE0 niezbę dne dla ka Ŝ dego trybu pracy czasomierza/licznika. 3. Na podstawie literatury zapoznać się ze schematami ideowymi bloku czasomierza/licznika w ka Ŝ dym dostę pnym trybie pracy. 3

Przykładowy program wykorzystują cy timer bę dzie generatorem impulsów prostoką tnych z obserwacją przebiegu na sygnalizatorze z diodą LED linii portu P2.0. Dla umo Ŝ liwienia obserwacji wzrokowej czę stotliwoś ć przebiegu musi być ni Ŝ sza ni Ŝ 25Hz przyjmiemy równą 10 Hz. Wykorzystany zostanie timer 0 w trybie 1. Algorytm programu przedstawia poni Ŝ szy rysunek: START Zeruj linie portu P2 Inicjalizacja timera T0 Start timera T0 Czy TF0 = 1? N T Zeruj flagę TF0 Neguj stan P2.0 Ładuj licznik T0 Rys. 2-3. Algorytm programu generatora przebiegu prostoką tnego dla linii P2.0 Listing programu napisanego na podstawie algorytmu przedstawiono poni Ŝ ej. 4

ć Ŝ ą 1: ;LISTING 2-1 2: 3: ; Program generatora przebiegu prostoką tnego 10Hz (okres = 100msek.) 4: ; Sygnalizacja stanu na linii P2.0 5: ; Iloś impulsów do zliczenia: N = Tp/Tcykl, (timer pracuje w trybie 1) 6: ; gdzie: Tp - czas dany 7: ; Tcykl - okres impulsów wzorcowych = 1/(fclk/12) 8: ; Dla 50 msek.: 50msek/(12/11,0592MHz) = 46080 9: ; Do licznika naleŝ y załadować 65536-46080 = 19456 = 4C00h 10: 11: ORG 0 12: 13: CZAS_HIGH EQU 4CH ; starszy bajt iloś ci impulsów 14: CZAS_LOW EQU 0 ; młodszy bajt iloś ci impulsów 15: 16: MOV P2,#0 ; zeruj wszystkie linie portu P2 17: 18: ; Programowanie trybu pracy timera 0 19: MOV TMOD,#00000001B ; timer 0 -> tryb 1 20: ; timer 1 -> nieuŝ ywany, tryb 0 21: ; programowanie iloś ci impulsów 22: MOV TH0,#CZAS_HIGH 23: MOV TL0,#CZAS_LOW 24: 25: SETB TR0 ; uruchomienie licznika 26: PETLA: 27: JNB TF0,$ ; czekaj na zmianę flagi na '1' 28: CLR TF0 ; zeruj flagę przepełnia 29: CPL P2.0 ; neguj bit linii P2.0 30: 31: ; ponowne programowanie iloś ci impulsów 32: MOV TH0,#CZAS_HIGH 33: MOV TL0,#CZAS_LOW 34: 35: SJMP PETLA 36: 37: END W programie uŝ yto bitowego trybu adresowania do ustawienia bitu TR0 linia 22 listingu 2-1. Stosowanie bajtowego rozkazu ustawiania bitu TR0, jakkolwiek moŝ liwe, jest mniej czytelne i mniej wygodne. Jest tak, poniewaŝ w rejestrze TCON znajdują się bity odpowiedzialne za inne funkcje timerów, zatem naleŝ y pamię tać by nie zmienić ich stanu. Właś ciwym rozkazem bajtowym modyfikują cym stan rejestru bę dzie: ORL TCON,#00010000B. Jedynka na pozycji D4 w stałej bę dą cej drugim operandem rozkazu odpowiada pozycji bitu TR0. Bit ten zostanie ustawiony, natomiast stan pozostałych bitów rejestru TCON pozostanie niezmieniony. Rozkaz bajtowy moŝ e być jednak uzasadniony przy koniecznoś ci równoczesnego uruchomienia obu timerów: ORL TCON,#01010000B. Jedynki w stałej bę dą cej drugim operandem rozkazu odpowiadają pozycjom bitów TR0 i TR1. Dla ułatwienia programowania 16-bitowego rejestru timera moŝ na wykorzystać istnieją cy w mikrokontrolerze szesnastobitowy rejestr DPTR unika się wtedy przekształceń liczby 16-bitowej na dwie 8-bitowe. W listingu 2-2 linie 19-21 zawierają przykładowe zastosowanie rejestru DPTR do zaprogramowania timera. 5

ć Ŝ ą 1: ; LISTING 2-2 2: 3: ; Program generatora przebiegu prostoką tnego 10 Hz (okres = 100msek.) 4: ; Sygnalizacja stanu na linii P2.0 5: ; Iloś impulsów do zliczenia: N = Tp/Tcykl 6: ;gdzie: Tp - czas dany 7: ; Tcykl - okres impulsów wzorcowych 1/(fclk/12) 8: ; Dla 50 msek.: 50msek/(12/11,0592MHz) = 46080 9: ; Do licznika naleŝ y załadować 65536-46080 = 19456 10: 11: ORG 0 12: 13: CZAS EQU 19456 14: MOV P2,#0 ; zeruj wszystkie linie portu P2 15: ; Programowanie trybu pracy timera 0 16: 17: MOV TMOD,#00000001B ; timer 0 -> tryb 1 18: ; timer 1 -> nieuŝ ywany, tryb 0 19: MOV DPTR,#CZAS 20: MOV TH0,DPH ; starszy bajt iloś ci impulsów 21: MOV TL0,DPL ; młodszy bajt iloś ci impulsów 22: 23: SETB TR0 ; uruchomienie licznika 24: PETLA: 25: JNB TF0,$ ; czekaj na zmianę flagi na '1' 26: CLR TF0 ; zeruj flagę przepełnia 27: CPL P2.0 ; neguj bit linii P2.0 28: 29: ; ponowne programowanie iloś ci impulsów 30: MOV TH0,DPH 31: MOV TL0,DPL 32: 33: SJMP PETLA 34: 35: END NaleŜ y zaznaczyć, Ŝ e w przypadku wykorzystania rejestru DPTR do innych, właś ciwych jego przeznaczeniu celów, konieczne bę dzie przechowywanie wartoś ci podzielników w innych komórkach pamię ci. JednakŜ e najwygodniejszym sposobem konwersji liczby 16-bitowej na dwie liczby 8-bitowe jest wykorzystanie dyrektyw asemblera LOW i HIGH, opisanych w instrukcji ASEMBLER MCS 51. Podstawowe informacje. Przykładowy program z wykorzystaniem tych dyrektyw przedstawiony jest na listingu 1-3. Maksymalny czas jaki moŝ e zliczyć timer pracują cy w trybie 1 wynosi (dla rezonatora kwarcowego 11,0592 MHz): t max = 2 16 * 1/(f clk /12) = 65536 * 1,08507 s = 71,11 ms ZADANIA: 4. Obliczyć maksymalny czas, jaki moŝ e odmierzyć timer w trybie 0. 5. Obliczyć maksymalny czas, jaki moŝ e odmierzyć timer w trybie 2. 6. Obliczyć maksymalny czas jaki moŝ e odmierzyć timer w trybie 1 przy wykorzystaniu rezonatora kwarcowego o czę stotliwoś ci 2,0 MHz. 6

ć Ŝ ą 1: ; LISTING 2-3 2: 3: ; Program generatora przebiegu prostoką tnego 10 Hz (okres = 100msek.) 4: ; Sygnalizacja stanu na linii P2.0 5: ; Iloś impulsów do zliczenia: N = Tp/Tcykl 6: ;gdzie: Tp - czas dany 7: ; Tcykl - okres impulsów wzorcowych 1/(fclk/12) 8: ; Dla 50 msek.: 50msek/(12/11,0592MHz) = 46080 9: ; Do licznika naleŝ y załadować 65536-46080 = 19456 10: 11: ORG 0 12: 13: CZAS EQU 19456 14: MOV P2,#0 ; zeruj wszystkie linie portu P2 15: ; Programowanie trybu pracy timera 0 16: 17: MOV TMOD,#00000001B ; timer 0 -> tryb 1 18: ; timer 1 -> nieuŝ ywany, tryb 0 19: 20: MOV TL0, #LOW CZAS ; młodszy bajt iloś ci impulsów 21: MOV TH0, #HIGH CZAS ; starszy bajt iloś ci impulsów 22: 23: SETB TR0 ; uruchomienie licznika 24: PETLA: 25: JNB TF0,$ ; czekaj na zmianę flagi na '1' 26: CLR TF0 ; zeruj flagę przepełnia 27: CPL P2.0 ; neguj bit linii P2.0 28: 29: ; ponowne programowanie iloś ci impulsów 30: MOV TL0, #LOW CZAS 31: MOV TH0, #HIGH CZAS 32: 33: SJMP PETLA 34: 35: END Podane w instrukcji przykłady programów róŝ nią się jedynie sposobem definiowania stałych ładowanych do rejestrów licznika binarnego w układzie czasomierza. 7

ZADANIA: 7. Napisać program generatora przebiegu prostoką tnego o parametrach przedstawionych na poniŝ szym rysunku. Obserwacji przebiegu dokonać przy pomocy wybranej diody LED portu P2. 60 msek. 1sek. Rys. 2-4 8. Napisać program generatora przebiegu prostoką tnego o parametrach przedstawionych na rysunku 2-4 z wykorzystaniem timera pracują cego w trybie 0. 9. Napisać program generatora przebiegu prostoką tnego o parametrach przedstawionych na rysunku 2-4 z wykorzystaniem 2 timerów pracują cych w trybie 1. 10. Napisać program generatora przebiegu prostoką tnego o parametrach przedstawionych na rysunku 2-4 z wykorzystaniem 2 timerów, jednego pracują cego w trybie 0, drugiego pracują cego w trybie 1. 8