Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <p16f877A.inc> ; definicje specyficzne dla mikrokontrolera
- __CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _BODEN_OFF & _LVP_OFF
- UDATA
- pol equ 50
- pol2 equ 51
- pol3 equ 52
- pol4 equ 53
- RST CODE 0x000 ; wektor resetu procesora
- pagesel main ; wybór strony pamięci programu
- goto main ; skok do początku programu
- PGM CODE
- main ; Inicjalizacja niezbędnych komponentów
- bcf STATUS, RP0 ; wybór banku 0
- bcf STATUS, RP1
- clrf PORTA ; inicjalizacja PORTA przez zerowanie zatrzasków wyjściowych
- bsf STATUS, RP0
- movlw B'00000110' ; przełączenie wejść na cyfrowe
- movwf ADCON1 ; poprzez odłączenie przetwornika A/C
- clrf TRISA ; ustawienie wyprowadzeń PORTA na wyjścia
- clrf TRISB ; ustawienie wyprowadzeń PORTB na wyjścia
- bcf STATUS, RP0
- movlw 0
- movwf pol4
- Petla
- movlw 0x03 ;przeslanie na pol wartości 3
- movwf pol
- movlw 0x18 ;przeslanie na pol2 wartosci 18
- movwf pol2
- movlw 0x02 ;przeslanie na pol3 wartosci 2
- movwf pol3
- call pol3_pocz ;wywolanie podzadania
- goto dalej ;skok
- pol3_pocz ;opoznienie 0.5s
- decfsz pol, f
- goto $+2
- decfsz pol2, f
- goto $+2
- decfsz pol3, f
- goto pol3_pocz
- goto $+1
- goto $+1
- goto $+1
- goto $+1
- return
- dalej
- movf pol4, W ; załaduj wartość, np. 3
- call convert ; wywołaj procedurę konwersji
- movwf PORTB ; wysłanie na port PORTB
- bsf PORTA, 0 ; włączenie wyświetlacza DS1
- incf pol4 ;zwiekszenie pol4
- btfss pol4, 2
- goto Petla
- btfsc pol4, 3
- clrf pol4
- goto Petla
- convert
- addwf PCL, f
- dt B'01110001' ; F
- dt B'00000110' ; I
- dt B'00111000' ; L
- dt B'00000110' ; I
- dt B'01110011' ; P
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement