To tylko jedna z 6 stron tej notatki. Zaloguj się aby zobaczyć ten dokument.
Zobacz
całą notatkę
PODSTAWY TECHNIK MIKROPROCESOROWYCH
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
... zobacz całą notatkę
Komentarze użytkowników (0)