Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;program do pomiaru czestotliwosci, zlicza impulsy z T1 aby zmierzyc czas
- ; a T0 wykrywa jeden okres sygnalu
- ;extrn code((init_LED, LED_service)
- org 8000h
- jmp program
- ;przerwania licznika
- org 800BH ; TF0
- ANL TCON, #10101111B ;wylaczenie licznikow
- MOV TL0, #255 ; ustawiamy na 255 i po zliczeniu zglosi przerwanie
- RETI
- org 801BH ; TF1
- INC R5
- CJNE R5, #0, zliczajR5
- INC R4
- MOV R5, #0
- zliczajR5:
- RETI
- org 8100H ;program
- program:
- LCALL init
- LCALL init1
- ;LCALL init_LED
- loop_prog:
- CJNE R6, #1, loop_prog
- LCALL mnozenie
- ;LCALL LED_service
- JMP loop_prog
- jmp $
- mnozenie: ;wyslanie danych do LED - test
- MOV A, R5
- MOV B, #12
- MUL AB
- MOV R1, A
- MOV R0, B
- MOV A, R4
- MOV B, #12
- MUL AB
- ADD A, R0
- MOV R0, A
- RET
- init:
- ;konfiguracja TMOD, IE oraz IP
- ANL TMOD, #11110111B ;wyzerowanie GATE
- ORL TMOD, #00000111B ;ustawienie MODE3 i C/T0#
- ANL IE, #11111010B ;wyzerowanie EX0 i EX1
- ORL IE, #00001010B ;ustawienie ET0 i ET1 na '1'
- ANL IP, #11110101B ;jednakowy priorytet dla wszystkich przerwan
- init1:
- ANL TCON, #10101111B ;wylaczenie licznikow
- MOV TH0, #0H
- MOV TL0, #0H
- MOV R7, #100
- MOV R6, #36
- MOV TL0, #255
- ORL TCON, #01010000B ;wlaczenie licznikow
- przesunWLewo:
- MOV A, R3
- RLC A
- MOV R3, A
- MOV A, R2
- RLC A
- MOV R2, A
- RET
- ;freq:
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement