Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;************************************************
- ;PRZYKLAD 1 - TIMERY
- ;************************************************
- LED EQU P1.7
- TIME EQU 30H
- ;********* Ustawienia dla TIMEROW *********
- ;TIMER 0
- TIM0 EQU 1
- TH0_SET EQU 240 ;wartosc poczatkowa rej. TH0
- TL0_SET EQU 0 ; wartosc poczatkowa rej. TL0
- TMOD_SET EQU 1
- ;**************************************
- LJMP START
- ;********* procedura obslugi przerwania od Timera 0 *********
- ORG 0BH
- MOV TH0,#TH0_SET ;TH0 na 50ms
- MOV A,TIME ; W KOMORCE TIME LICZY SIE INTERWALY 50 MS
- DJNZ ACC,NO_1SEK ;SKOK JEZELI NIE minELa 1 sek
- CPL LED ;MINELA SEKUNDA, ZMIANA STANU diody TEST
- MOV TIME,#1 ;LADOWANIE WARTOSCI POCZATKOWEJ LICZN
- ;INTERWALOW
- ;20*50ms=1s
- NO_1SEK:
- MOV TIME,A
- RETI ;WYJSCIE Z PROCEDURY OBSLUGI PRZERWANIA
- ;**************************************
- ORG 100H
- START:
- ;USTAWIENIE WATRTOSCI POCZATKOWYCH
- ;REJESTROW TIMERA I URUCHOMIENIE
- ;ZLICZANIA
- MOV TMOD,#TMOD_SET ;TRYB :Timer 0 liczy czas
- MOV TH0,#TH0_SET ;Timer 0 na 50ms
- MOV TL0,#TL0_SET
- SETB TR0 ;start Timera 0
- MOV TIME,#10 ; czas 20*50ms=1s
- SETB ET0 ;wlacz zezwolenie na
- ;przerwanie od Timera 0
- LCALL LCD_CLR
- SETB EA ;wlacz zezwolenie ogolne
- ;na przerwania
- LOOP: ;wpisywanie na LCD
- LCALL WAIT_KEY ;znaków odpowiadajacych
- ADD A,#30H ;uzytym klawiszom
- MOV R0,A
- MOV A,#1
- CALL DELAY_MS
- MOV A,R0
- LCALL WRITE_DATA
- SJMP LOOP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement