PODSTAWY TECHNIK MIKROPROCESOROWYCH3

PODSTAWY TECHNIK MIKROPROCESOROWYCH

Laboratorium 5 03.04.2012 TP wt 13:15-14:45

Temat: TIMERY/LICZNIKI, obsługa w trybie przeglądania.

Zadania do wykonania

Zadanie 1.

Procedury odmierzania określonych odcinków czasu: τ1 ≤ 65ms i τ2 ≥ 65 ms z wykorzystaniem liczników T0/T1.

Zadanie 2.

Procedura generowania N wzajemnie „asynchronicznych” periodycznych sygnałów, z których każdy ma zadane czasy trwania: „1”-THIGH(i), i „0”-TLOW(i); i=1,2…….N.

Zadanie 3.

Program pomiaru zadanej wielkości: np. a) czasu trwania impulsu THIGH lub okresu przebiegu periodycznego generowanego przez ZD-537, b) czasu między kolejnymi zwarciami przycisków/klawiszy.

REALIZACJA ZADAŃ

Ad.1.

$NOMOD51

$INCLUDE(reg517.inc)

CSEG AT 0000h

SKOK:

MOV R2,#20 ; R2*50ms

CPL P1.0

CALL OP ;procedura generacji opóźnienia

SJMP SKOK

OP:

ANL TMOD,#0Fh ; wyzerowanie 4 starszych bitów odp. za ustawienia T1

ORL TMOD,#10h ; rodzaje trybu pracy M0=1, M1=0

ANL TCON,#3Fh ; TF1=0, TR1=0

MOV TH1,#03Ch ; przywrócenie wartości początkowych licznikowi

MOV TL1,#0B0h ; 65536-50000

SETB TR1 ; start T1 (TR1=1)

SKOK2:

JNB TF1,$ ; oczekiwanie na przepełnienie i przerwanie

CLR TF1 ; zerowanie przepełnienia

MOV TH1,#3Ch ; powrót to wartości początkowych

MOV TL1,#0A9h

DJNZ R2,SKOK2

RET

END

Ad.2.

$NOMOD51

$INCLUDE(reg517.inc)

CSEG AT 0000h

TON1 EQU 90 ; czas zapalenia diody P1.0

TOFF1 EQU 9 ; czas zgaszenia diody P1.0

TON2 EQU 40 ; czas zapalenia diody P1.1

TOFF2 EQU 30 ; czas zgaszenia diody P1.1

TON3 EQU 20 ; czas zapalenia diody P1.2

TOFF3 EQU 30 ; czas zgaszenia diody P1.2

START:

MOV TMOD,#01h ; ustawienie trybu pracy licznika

MOV R0,#TOFF1 ; wysłanie okresów do rejestru

MOV R2,#TOFF2 ; zgaszenia kolejnych diod LED

MOV R4,#TOFF3

LICZNIK:

LCALL OP ; wywołanie opóźnienia

MOV TH0,#4Ch ; ustawienia początkowe licznika T0

MOV TL0,#0h

SETB TR0 ; start licznika

JNB TF0,$ ; oczekiwanie na przepełnienie

L0-ZM:

DEC R0

MOV A,R0

JZ L0 ; warunek pełnego cyklu dla P1.0 to zapal/zgaś

L1-ZM:

DEC R2

MOV A,R2

JZ L1 ; warunek pełnego cyklu dla P1.1 to zapal/zgaś

L2-ZM:

DEC R4

MOV A,R4

JZ L2 ; warunek pełnego cylku cykl dla P1.0 to zapal/zgaś

JMP LICZNIK

L0:

MOV A,P1

CPL ACC.0

MOV P1,A ; odczyt diody P1.0

JB ACC.0, L0-WY ; warunek zmiany zapalona->zgaś

L0-WL:

MOV R0,#TON1 ; warunek zmiany zgaszona->zapal

JMP L1-ZM

L0-WY:

MOV R0,#TOFF1

JMP L1-ZM

L1:

MOV A,P1

CPL ACC.1

MOV P1,A ; odczyt diody P1.1

LCALL OP

JB ACC.1, L1-WY ; warunek zmiany zapalona->zgaś

L1-WL:

MOV R2,#TON2 ; warunek zmiany zgaszona->zapal

JMP L2-ZM

L1-WY:

MOV R2,#TOFF2

JMP L2-ZM

L2:

MOV A,P1

CPL ACC.2

MOV P1,A ; odczyt diody P1.2

LCALL OP

JB ACC.0, L2-WY ; warunek zmiany zgaszona->zapal

L2-WL:

MOV R4,#TON3 ; warunek zmiany zgaszona->zapal

JMP LICZNIK

L2-WY:

MOV R4,#TOFF3

JMP LICZNIK

OP:

PUSH ACC

MOV A,#1h

ORL TMOD,#10h ; tryb pracy licznika T1

MOV TL1,#0

MOV TH1,#76 ; ustawienia początkowe licznika T1

CLR TF1 ; wyzerowanie przepełnienia licznika T1

SETB TR1 ; start licznika T1

SKOK-OP:

JNB TF1,$ ; oczekiwanie na przepełnienie licznika T1

MOV TH1,#4Ch

CLR TF1 ; wyzerowanie przepełnienia licznika T1

DJNZ ACC,SKOK-OP ; warunek powtarzania A!=0

CLR TR1 ; wyzerowanie bitu sterującego zliczaniem licznika T1

POP ACC ; odnowienie akumulatora

RET

END

Ad.3.

Biblioteki odpowiadające za obsługę wyświetlacza.

LCDCODE SEGMENT CODE

RSEG LCDCODE

LCD_Reset:

MOV DPTR,#0FF2CH

MOV A,#38h

LCALL TEST

MOVX @DPTR,A

RET

LCD_Clr:

MOV A,#01h

MOV DPTR,#0FF2CH

LCALL TEST

MOVX @DPTR,A

RET

TEST:

PUSH ACC

PUSH DPL

PUSH DPH

MOV DPTR,#0FF2EH

LOOP_NOT:

MOVX A,@DPTR

JB ACC.7,LOOP_NOT

POP DPH

POP DPL

POP ACC

RET

Program właściwy:

$nomod51

$include(reg517.inc)

$include (lcd.inc) ;dołączenie bibliotek wyświetlacza

ORG 0

LJMP PR

ORG 0Bh

LJMP PRZ

ORG 30h

PRZ:

INC B

RETI

PR:

CALL initLCD ; inicjacja LCD

CALL LCDclear ; czyszczenie LCD

ORL TMOD,#09 ; tryb pracy timera T0

PO:

MOV R0,#20h

CLR A ; czyszczenie i akumulatora

MOV TL0,A

MOV TH0,A

MOV B,A

JB P3.3,$ ; obsługa startu stopera

SETB TR0 ; start timera

JB P3.2,$ ; obsługa wyłączenia stoper

CLR TR0 ; stop timera

MOV @R0,TL0

INC R0

MOV @R0,TH0

INC R0

MOV @R0,B ; przekodowanie wyniki do wyświetlenia

MOV A,B

MOV B,#15

DIV AB

CALL putInt ; skok do procedury wyświetlającej

LJMP PO ; skok do procedury PO

END

WNIOSKI

Zadania przewidziane do przeprowadzenia na zajęciach zostały wykonane bez uwzględnienia zagadnienia 3, które to zostało rozpoczęte na zajęciach a dokończone w domu. Przeprowadzone działania pozwoliły na zapoznanie się z działaniem TIMERÓW i LICZNIKÓW, przez co możliwe było wykonanie synchronizacji świecenia diod, oraz prowizorycznego stopera. Podczas analizy zadania trzeciego przydatne okazały się wykonane na poprzednich zajęciach procedury inicjacji wyświetlacza LCD. Kod programu 3 został dokończony w domu, przy użyciu symulatora, przez co istnieje możliwość wystąpienia nieoczekiwanych błędów (występujące podczas uruchamiania na symulatorze zostały wyeliminowane).


Wyszukiwarka

Podobne podstrony:
PODSTAWY TECHNIK MIKROPROCESOROWYCH, Studia Pwr INF, Semestr IV, PTM
Podstawy techniki mikroprocesor Nieznany
zadania egzaminacyjne dzienne (PTM), elektro, 1, Podstawy Techniki Mikroprocesorowej
80C51 pytania i odpowiedzi, elektro, 1, Podstawy Techniki Mikroprocesorowej
zadania egzaminacyjne zaoczne 2006 07 (PTM), elektro, 1, Podstawy Techniki Mikroprocesorowej
Egzamin z PTC podst kombinacyjne, elektro, 1, Podstawy Techniki Mikroprocesorowej
Podstawy techniki mikroprocesorowej, rozdzial 2 i 3
TECHNIKA CYFROWA - sprawko lab 1, Studia, PWR, 4 semestr, Podstawy techniki mikroprocesorowej, labor
PODSTAWY TECHNIK MIKROPROCESOROWYCH, Studia Pwr INF, Semestr IV, PTM
Egzamin z PTC Nisko, elektro, 1, Podstawy Techniki Mikroprocesorowej
egzamin z TC 2, elektro, 1, Podstawy Techniki Mikroprocesorowej
TECHNIKA CYFROWA - sprawko lab 4, Studia, PWR, 4 semestr, Podstawy techniki mikroprocesorowej, labor
TECHNIKA CYFROWA - sprawko lab 5, Studia, PWR, 4 semestr, Podstawy techniki mikroprocesorowej, labor
Układ sterowania fazowego na mikroprocesorze, elektro, 1, Podstawy Techniki Mikroprocesorowej
opracowanie.mikroprocki, Przeróżne materiały, Podstawy techniki mikroproc
zadania egzaminacyjne zaoczne (PTM), elektro, 1, Podstawy Techniki Mikroprocesorowej
mikroprocki, Automatyka i robotyka air pwr, V SEMESTR, Podstawy techniki mikroprocesorowej
ściąga z lab, Elektrotechnika, Podstawy techniki mikroprocesorowej, laboratorium
Podstawy techniki mikroprocesor Nieznany (2)
PODSTAWY TECHNIK MIKROPROCESOROWYCH4

więcej podobnych podstron