L0rand

TEMA 6 / DE 10

Nov 11th, 2024 (edited)
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MPASM 1.36 KB | None | 0 0
  1. ;_______________TUDOSE LORAND - TEMA  6 -> PTR. NOTA 10 - _______________________
  2.  
  3. #include p16f887.inc
  4.  
  5. i equ 0x20
  6. pwm_var equ 0x21
  7. pwm_var_h equ 0x22
  8. pwm_var_l equ 0x23
  9. contor equ 0x24
  10.  
  11.  
  12. MOVLW D'10'
  13. MOVWF pwm_var_l ;pwm_var_l = 100%
  14. MOVWF contor
  15.  
  16. MOVLW D'2'
  17. MOVWF pwm_var
  18.  
  19. MOVLW D'1'
  20. MOVWF pwm_var_h ;pwm_var_h = 0%
  21. ;---- ----
  22.  
  23. main:
  24. ;------CONFIGURARI------
  25.    
  26.     BSF STATUS,RP0
  27. ;----bank{01} -> bank 1----
  28.     CLRF TRISA  ;TRISA = 0x00 -> OUTPUT
  29.    
  30.     BSF STATUS,RP1 
  31.     BSF STATUS,RP0
  32. ;----bank {11} -> bank 3----
  33.     CLRF ANSEL  ;ANSEL = 0x00 -> DIGITAL
  34.  
  35.     BCF STATUS,RP1
  36.     BCF STATUS,RP0
  37. ;----bank {00} -> bank 0-----
  38.  
  39. bucla:
  40. ;----TACT LOW CONFIG----
  41.     MOVF contor,0
  42.     MOVWF pwm_var_l ; pwm_var_l <- contor(90%,80%,...0%)    
  43.  
  44.     BCF PORTA,3 ; PORT RA3 -> LOW
  45. bucla_low:
  46.     CALL delay_1ms
  47.     DECFSZ pwm_var_l,1
  48.     GOTO bucla_low
  49. ;----DELAY 1 MILISECUNDA -----
  50.  
  51. ;----LOW->HIGH----
  52.  
  53.     BSF PORTA,3 ; PORT RA3 -> HIGH
  54. bucla_high:
  55.     CALL delay_1ms
  56.     DECFSZ pwm_var_h,1
  57.     GOTO bucla_high ;
  58. ;----DELAY 1 MILISECUNDA----
  59.  
  60.  
  61. ;----TACT HIGH CONFIG----
  62.     MOVF pwm_var,0
  63.     ADDWF pwm_var_h,1 ; pwm_var (0) <- pwm_var + pwm_var_h (10%,20%,30%,...100%)
  64.     INCF pwm_var,1   
  65.  
  66.     DECFSZ contor,1    
  67.     GOTO bucla
  68.     RETURN
  69.  
  70. ;-------FUNCTIE DELAY 1MS ----------
  71. delay_1ms
  72.     MOVLW D'248'
  73.     MOVWF i
  74.  
  75. loop_1ms:
  76.     NOP
  77.     DECFSZ i,1
  78.     GOTO loop_1ms
  79.     RETURN
  80.  
  81.  
  82.     NOP
  83.  
  84.     end
  85.  
  86.  
  87.    
  88.    
Advertisement
Add Comment
Please, Sign In to add comment