Advertisement
Guest User

pic16f frq counter in .asm

a guest
Mar 24th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MPASM 1.74 KB | None | 0 0
  1. include <p16F690.inc>
  2.    
  3.     counter EQU 0x20
  4.     counter2 EQU 0x22
  5.    
  6.     cblock  0x24
  7.     ;counter
  8.     ;counter2
  9.     counter3
  10.     frequency
  11.     status_temp
  12.     w_temp
  13.     endc
  14.    
  15.    
  16.     org     0x00
  17.     goto    SETUP
  18.    
  19.     org     0x04
  20.     movwf   w_temp
  21.     movf    STATUS, w
  22.     movwf   status_temp
  23.    
  24.     banksel PIR1
  25.     btfss   PIR1, TMR1IF
  26.     goto    CK_CAP
  27.    
  28.     bcf     PIR1, TMR1IF
  29.     movlw   0x0B
  30.     movwf   TMR1H
  31.     movlw   0xDC
  32.     movwf   TMR1L
  33.    
  34.     movf    counter2, w
  35.     movwf   frequency
  36.     clrf    counter2
  37.     retfie
  38.    
  39.     CK_CAP:
  40.     btfss   PIR1, CCP1IF
  41.     goto    END_ISR
  42.    
  43.     bcf     PIR1, CCP1IF
  44.     incf    counter2
  45.    
  46.     END_ISR:
  47.     movf    status_temp, w
  48.     movwf   STATUS
  49.     swapf   w_temp, f
  50.     swapf   w_temp, w
  51.     retfie
  52.    
  53.    
  54.     SETUP:
  55.     banksel OSCCON
  56.     movlw   0x70
  57.     movwf   OSCCON
  58.     ;   TMR1 Initialization
  59.     banksel T1CON
  60.     movlw   0x21
  61.     movwf   T1CON
  62.     bcf     PIR1, TMR1IF
  63.     movlw   0x0B
  64.     movwf   TMR1H
  65.     movlw   0xDC
  66.     movwf   TMR1L
  67.     banksel PIE1
  68.     bsf     PIE1, TMR1IE
  69.     movlw   0xC0
  70.     movwf   INTCON
  71.    
  72.     banksel CCP1CON
  73.     bcf     CCP1CON, CCP1M3
  74.     bsf     CCP1CON, CCP1M2
  75.     bcf     CCP1CON, CCP1M1
  76.     bsf     CCP1CON, CCP1M0
  77.    
  78.     clrf    counter
  79.     clrf    counter2
  80.     clrf    counter3
  81.    
  82.     banksel PIE1
  83.     bsf     PIE1, CCP1IE
  84.     bsf     INTCON, GIE
  85.     bsf     INTCON, PEIE
  86.     movlw   0xC0
  87.     movwf   INTCON
  88.    
  89.     clrf    PORTB
  90.     clrf    PORTC
  91.     banksel TRISB
  92.     clrf    TRISB
  93.     movlw   0x04
  94.     movwf   TRISC
  95.    
  96.     banksel ANSEL
  97.     clrf    ANSEL
  98.     clrf    ANSELH
  99.    
  100.     MAIN:
  101.    
  102.     goto    MAIN
  103.    
  104.     end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement