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

PIC16F84单片机做的频率计

点击数:7161 次   录入时间:03-04 11:43:15   整理:http://www.55dianzi.com   PIC单片机
        btfsc    status, z        ;
        goto    dpln_cv0        ;
                        ;
         MOV wf    I            ;
dpln_trim                    ;
        call    div_xy            ;
                        ;
        decfsz    I            ;
        goto    dpln_trim        ;

;    *** Convert data to string ***

dpln_cv0
         MOV f    X+0, w            ; Y <- X.
         MOV wf    Y+0            ; (Y: frequency in kHz)
         MOV f    X+1, w            ;
         MOV wf    Y+1            ;
         MOV f    X+2, w            ;
         MOV wf    Y+2            ;
         MOV f    X+3, w            ;
         MOV wf    Y+3            ;

        iorwf    Y+2, w            ; Display "Too Long !!"
        iorwf    Y+1, w            ; if value = 0.
        iorwf    Y+0, w            ; (Less than 1 kHz)
        btfss    status, z        ;
        goto    dpln_cv1        ;
                        ;
         MOV lw    s_over            ;
         MOV wf    LCD_FXMPTR        ;
        call    dsp_fixstr        ;
        goto    end_dpln        ;
dpln_cv1
         MOV lw    00h            ; X <- 300000000 / Y
         MOV wf    X+0            ; (X: wave length in mm)
         MOV lw    0A3h            ; & convert to string.
         MOV wf    X+1            ;
         MOV lw    0E1h            ;
         MOV wf    X+2            ;
         MOV lw    11h            ;
         MOV wf    X+3            ;
        call    div_xy            ;
        call    x_to_str        ;

;    *** Display wave length ***

         MOV lw    3            ; Set decimal point location.
         MOV wf    LCD_DPOINT        ; (X.XXX m)

        call    dsp_value        ; Display value.
end_dpln
         MOV lw    s_m            ; Add unit. (m)
         MOV wf    LCD_FXMPTR        ;
        call    dsp_fixstr        ;

;    *** Return from subroutine ***

        return

;-------------------------------------------------------------------------
; Display value. (With 0 suppless & decimal point)
;   Input : LCD_STRBUF (String buffer)
;           LCD_DPOINT (Decimal point from right side)

上一页  [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单片机