PODSTAWY TECHNIK MIKROPROCESOROWYCH4

PODSTAWY TECHNIK MIKROPROCESOROWYCH

Laboratorium 6 17.04.2012 TP wt 13:15-14:45

Temat: SYSTEM PRZERWAŃ, przerwania od timerów/liczników, przerwania zewnętrzne.

Zadania do wykonania

Zadanie 1.

Program zapalania i gaszenia diody LED co zadany odcinek czasu τ, przy czym odcinek czasu τ odmierzany jest przez licznik T0/T1 zaś program wykorzystuje system przerwań.

Zadanie 2.

Program pomiaru okresu (częstotliwości) przebiegu periodycznego z generatora NE555 zestawu ZD-537.

Zadanie 3.

Programy wykorzystujące przerwania od źródeł zewnętrznych, np. pomiar czasu pomiędzy kolejnymi naciśnięciami klawiszy na porcie P3.

REALIZACJA ZADAŃ

Ad.1.

$nomod51

$include(reg517.inc)

CSEG AT 0000h

JMP START

ORG 0Bh ; adres przerwania T0

MOV TH0, #03Ch ; wartości początkowe

MOV TL0, #0AFh

DJNZ ACC, LOOP

CPL P1.0 ; zapalenie i zgaszenie diody

MOV A, #10

LOOP:

RETI ;powrót

ORG 100h

START:

MOV TMOD,#00000001b ; rejestr TMOD

MOV TH0, #03Ch ; wartości poczatkowe

MOV TL0, #0AFh

MOV A,#10 ; czas=0,5[s]

SETB TR0 ; start T0

SETB EAL ; odblokowanie systemu przerwań

SETB ET0 ; przerwanie T0

SJMP $

END

Ad.2.

$NOMOD51

$INCLUDE(reg517.inc)

CSEG AT 0000h

TH0_SET EQU 256-180

TL0_SET EQU 0

ON1 EQU 130 ;zapalenie P1.0

OFF1 EQU 10 ;zgaszenie P1.0

ON2 EQU 30 ;zapalenia P1.1

OFF2 EQU 40 ;zgaszenie P1.1

ON3 EQU 60 ;zapalenie P1.2

OFF3 EQU 90 ;zgaszenie P1.2

LJMP START

ORG 0BH ; adres procedury T0

MOV TH0, #TH0_SET ; wartości początkowe TH

DEC R0

MOV A, R0

LCALL LED1 ; obsługa P1.0

DEC R1

MOV A, R1

LCALL LED2 ; obsługa P1.1

DEC R2

MOV A, R2

LCALL LED3 ; obsługa P1.2

RETI ; powrót z przerwania

LED1: ; obsługa P1.0

JNZ K

CPL P1.0 ; negacja P1.0

JB P1.0, LED_ON1

MOV R0, #ON1 ; czas zapalenia P1.0

LJMP K

LED_ON1:

MOV R0, #OFF1 ; czas zgaszenia P1.0

K:

RET

LED2: ; obsługa P1.1

JNZ K2

CPL P1.1 ; negacja P1.1

JB P1.1, LED_ON2

MOV R1, #ON2 ; czas zapalenia P1.1

LJMP K2

LED_ON2:

MOV R1, #OFF2 ; czas zgaszenia P1.1

K2:

RET

LED3: ; obsługa P1.2

JNZ K3

CPL P1.2 ; negacja P1.2

JB P1.2, LED_ON3

MOV R2, #ON3 ; czas zapalenia P1.2

LJMP K3

LED_ON3:

MOV R2, #OFF3 ; czas zgaszenia P1.2

K3:

RET

START:

CPL P1.0 ; negacja P1.0

CPL P1.1 ; negacja P1.1

CPL P1.2 ; negacja P1.2

MOV R0, #ON1 ; wysłanie do rejestru okresów świecenia diod

MOV R1, #ON2

MOV R2, #ON3

MOV TMOD, #00000001b ; ustawienie rejestru TMOD

MOV TH0, #TH0_SET ; wartości początkowe

MOV TL0, #TL0_SET

SETB TR0 ; start T0

SETB EAL ; odblokowanie systemu przerwań

SETB ET0 ; przerwanie T0

SJMP $

END

Ad.3.

Biblioteka inicjacji wyświetlacza LCD.

#define INITDISP 0x38

#define LCDON 0x0e

#define CLEAR 0x01

LCDcntrlWR MACRO X

MOV DPTR,#LCDcontl

MOV A, X

MOVX @DPTR,A

ENDM

CharWz MACRO

PUSH ACC

CALL busy

MOV DPTR,#LCDdataWR

POP ACC

MOVX @DPTR,A

ENDM

LCD_INIT:

LCDcntrlWR #INITDISP

LCDcntrlWR #CLEAR

LCDcntrlWR #LCDON

RET

Int_PUT:

PUSH ACC

MOV B,#10

DIV AB

MOV B,#10

DIV AB

ORL A,#00110000b

CALL WzChar

MOV A,B

ORL A,#00110000b

CALL WzChar

POP ACC

PUSH ACC

MOV B,#10

DIV AB

MOV A,B

ORL A,#00110000b

CALL WyChar

POP ACC

RET

WzChar:

CharWz

RET

LCDClear:

LCDcntrlWR #CLEAR

RET

Program właściwy.

$nomod51

$include(reg517.inc)

$include (lcd.inc)

ORG 0

LJMP PROG ; skok PROG

ORG 0Bh

LJMP PRZER ; skok PRZER

ORG 30h

PRZER:

INC B

RETI

PROG:

CALL initLCD ;start LCD

CALL LCDclear ;czyszczenie LCD

ORL TMOD,#09 ; tryb pracy T0

SETB EAL ;odblokowanie systemu przerwań

SETB ET0 ;przerwanie od T0

POM:

MOV R0,#20h

CLR A ; czyszczenie akumulatora

MOV TL0,A

MOV TH0,A

MOV B,A

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

SETB TR0 ; start timera

JB P3.2,$ ; obsługa stopu(przycisk) stopera

CLR TR0 ; stop timera

MOV @R0,TL0

INC R0

MOV @R0,TH0

INC R0

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

MOV A,B

MOV B,#15

DIV AB

CALL putInt ; zawiadomienie procedury wyświetlenia

LJMP POM ; skok do POM

END

WNIOSKI

Programy ze względy na nieobecność na zajęciach zostały wykonane przez nas samodzielnie w domu. Do sprawdzenie poprawności został wykorzystany symulator, który jednak nie oddaje fizycznego kontaktu z zestawem doświadczalnym. Programy w dużej mierze bazowały na programach wykonanych na laboratoriach 5 dotyczących timerów i liczników. Te, które zostały zamieszczone w niniejszym sprawozdaniu, są ich rozszerzeniem o wykorzystanie systemu przerwań. Dodatkowo w zadaniu 3 wykorzystana została, podobnie jak w laboratorium 5, biblioteka inicjalizacji i wyświetlania znaku na ekranie LCD, która została wykonana podczas wcześniejszych zajęć. W celu zastosowania w programach systemu przerwań zostały użyte instrukcje SetB EAL, aby zostały one odblokowane, oraz SetB ETx w celu zezwolenia na przyjęcie przerwania od timera. W programie 3 napotkane zostały problemy z wyświetleniem prawidłowego wyniku działania, co w tym wypadku nasuwa wątpliwości, gdyż podobny program wykonany na poprzednich zajęciach działał, na symulatorze, prawidłowo.


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)

więcej podobnych podstron