Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;_______________TUDOSE LORAND - TEMA 6 -> PTR. NOTA 10 - _______________________
- #include p16f887.inc
- i equ 0x20
- pwm_var equ 0x21
- pwm_var_h equ 0x22
- pwm_var_l equ 0x23
- contor equ 0x24
- MOVLW D'10'
- MOVWF pwm_var_l ;pwm_var_l = 100%
- MOVWF contor
- MOVLW D'2'
- MOVWF pwm_var
- MOVLW D'1'
- MOVWF pwm_var_h ;pwm_var_h = 0%
- ;---- ----
- main:
- ;------CONFIGURARI------
- BSF STATUS,RP0
- ;----bank{01} -> bank 1----
- CLRF TRISA ;TRISA = 0x00 -> OUTPUT
- BSF STATUS,RP1
- BSF STATUS,RP0
- ;----bank {11} -> bank 3----
- CLRF ANSEL ;ANSEL = 0x00 -> DIGITAL
- BCF STATUS,RP1
- BCF STATUS,RP0
- ;----bank {00} -> bank 0-----
- bucla:
- ;----TACT LOW CONFIG----
- MOVF contor,0
- MOVWF pwm_var_l ; pwm_var_l <- contor(90%,80%,...0%)
- BCF PORTA,3 ; PORT RA3 -> LOW
- bucla_low:
- CALL delay_1ms
- DECFSZ pwm_var_l,1
- GOTO bucla_low
- ;----DELAY 1 MILISECUNDA -----
- ;----LOW->HIGH----
- BSF PORTA,3 ; PORT RA3 -> HIGH
- bucla_high:
- CALL delay_1ms
- DECFSZ pwm_var_h,1
- GOTO bucla_high ;
- ;----DELAY 1 MILISECUNDA----
- ;----TACT HIGH CONFIG----
- MOVF pwm_var,0
- ADDWF pwm_var_h,1 ; pwm_var (0) <- pwm_var + pwm_var_h (10%,20%,30%,...100%)
- INCF pwm_var,1
- DECFSZ contor,1
- GOTO bucla
- RETURN
- ;-------FUNCTIE DELAY 1MS ----------
- delay_1ms
- MOVLW D'248'
- MOVWF i
- loop_1ms:
- NOP
- DECFSZ i,1
- GOTO loop_1ms
- RETURN
- NOP
- end
Advertisement
Add Comment
Please, Sign In to add comment