Laboratorium z Techniki Mikroprocesorowej
Temat ćwiczenia:
7) Obsługa przycisków
Data ćwiczenia:
Grupa
WIMiR AiR
1. Tatar
2. Radosław
Ocena:
1. Kod programu z opisem:
LJMP INIT
ORG 3H
;skok po przerwaniu T0
LJMP ZEROWANIET0
ORG 02BH
;skok po przerwaniu T2
LJMP MRUGANIET2
;-----------------------------------------------------------------------
ORG 50H
ZEROWANIET0:
MOV TL0, #0
MOV TH0, #0
; zerowanie licznika T0
RETI
;-----------------------------------------------------------------------
ORG 75H
MRUGANIET2:
INC DPL
;inkrementujemy licznik wywolan
PUSH ACC
;akumulator na stos
MOV A, DPL
CJNE A,#010,POMIN
;pomijamy zapalenie/zgaszenie poki nie zliczylismy 10 wywolan
ZMIEN:
CPL P1.0
;zapalenie/zgaszenie pinu
MOV DPL, #0
;zerowanie licznika wywolan
MOV DPH, #0
POMIN:
;sciagniecie akumulatora ze stosu
POP ACC
RETI
;-----------------------------------------------------------------
;PROGRAM GLOWNY
ORG 100H
START:
INC R7
;inkrementacja kontrolna
MOV ACC, TL0
;widzimy zliczenia T0 w ACC
MOV P2, ACC
;przepisujemy akumulator na port2
LJMP START
;--------------------------------------------------------------------
ORG 150H
INIT:
MOV DPH,#0
MOV DPL,#0
SETB EA ;wlaczamy system przerwan
SETB EX0
;wlaczamy przerwania licznika T0 przyciskiem
SETB 0ADh
;ET2 - #0ADh aktywowanie przerwan od czasomierza
;-----------------------------------------------------
;Konfiguracja T0
MOV TH0, #0F5H;
MOV TMOD, #00000101B ;wlaczamy tryb 1 i C/T
MOV TCON, #00010001B ;wlaczmy aktywowanie przez poziom niski
;----------------------------------------------------
;konfiguracja T2
MOV 0C8h, #084H
;T2CON - #0C8h
MOV 0CBh,#03Ch
;RCAP2H - #0CBh
MOV 0CAh,#0AFh
;RCAP2L - #0CAh
LJMP START
END
2. Podsumowanie:
Głównym celem ćwiczenia było nauczenie się zliczania impulsów z przycisków. Nauczyliśmy się
również obsługiwać przerwania co określony czas.