您当前的位置:五五电子网电子知识单片机-工控设备PIC单片机PIC16F84单片机做的频率计 正文
PIC16F84单片机做的频率计

PIC16F84单片机做的频率计

点击数:7161 次   录入时间:03-04 11:43:15   整理:http://www.55dianzi.com   PIC单片机

         MOV lw    7            ; Wait 10 microseconds.
         MOV wf    I+3            ;
                        ;
        decfsz    I+3            ;
        goto    $-1            ;
        nop                ;
        nop                ;
        nop                ;

;    *** Pulse counter (Gate time = 10 microseconds * I) ***

pulse_cnt
         MOV f    tmr0, w            ; Increment pulse counter.
         MOV wf    RTC_NEW            ;
         MOV f    RTC_OLD, w        ;
        subwf    RTC_NEW, w        ;
                        ;
        addwf    CNT+0, f        ;
         MOV lw    1            ;
        btfsc    status, c        ;
        addwf    CNT+1, f        ;
        btfsc    status, c        ;
        addwf    CNT+2, f        ;

         MOV f    RTC_NEW, w        ; OLD <- NEW.
         MOV wf    RTC_OLD            ;

         MOV lw    1            ; Decrement counter for sub loop.
        subwf    I+0, f            ;
        btfss    status, c        ;
        subwf    I+1, f            ;
        btfss    status, c        ;
        subwf    I+2, f            ;

        nop                ; Trim.

         MOV f    I+0, w            ; Continue if I > 0.
        iorwf    I+1, w            ;
        iorwf    I+2, w            ;
        btfss    status, z        ;
        goto    pulse_cnt        ;

;    *** Return from subroutine ***

        return

;-------------------------------------------------------------------------
; Init LCD.
;   Input : None.
;   Output: Port A, Port B (Data output port for LCD)
;           LCD_RSEL (LCD register select which always 0)
;           W register & variable LCD_DATA, I will be broken.
;
; Notes: Waiting time is about execution time * 2.7.
;-------------------------------------------------------------------------

init_LCD

;    *** Power ON wait ***

         MOV lw    100            ; Power ON wait for LCD.
        call    wait_ms            ; (>= 15 milliseconds)

;    *** Function set (Dummy #1) ***

        clrf    LCD_RSEL        ; RS = ’0’.
        bcf    portb, LCD_RS        ; (Default)

         MOV lw    11110000b        ; Function set.
        andwf    porta, f        ; (Data bus = 8 bits)
         MOV lw    00000011b        ;

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25]  下一页


本文关键字:单片机  PIC单片机单片机-工控设备 - PIC单片机