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

PIC16F84单片机做的频率计

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

;    *** Return from subroutine ***

        return

;-------------------------------------------------------------------------
; General: shift left. (16 bits length)
;   Input : W (Pointer of entry)
;-------------------------------------------------------------------------

sl16

;    *** Shift left ***

         MOV wf    fsr

        bcf    status, c        ; Set ’0’ on LSB.
        rlf    indf, f            ; Lower.
        incf    fsr, f
        rlf    indf, f            ; Upper.

;    *** Return from subroutine ***

        return

;-------------------------------------------------------------------------
; General: Shift right. (16 bits length)
;   Input : W (Pointer of entry)
;-------------------------------------------------------------------------

sr16

;    *** Shift right ***

         MOV wf    fsr

        incf    fsr, f

        bcf    status, c        ; Set ’0’ on MSB.
        rrf    indf, f            ; Upper.
        decf    fsr, f
        rrf    indf, f            ; Lower.

;    *** Return from subroutine ***

        return

;-------------------------------------------------------------------------
; General: Shift left. (32 bits length)
;   Input : W (Pointer of entry)
;-------------------------------------------------------------------------

sl32

;    *** Shift left ***

         MOV wf    fsr

        bcf    status, c        ; Set ’0’ on LSB.
        rlf    indf, f            ; Lower.
        incf    fsr, f
        rlf    indf, f            ; Middle lower.
        incf    fsr, f
        rlf    indf, f            ; Middle upper.
        incf    fsr, f
        rlf    indf, f            ; Upper.

;    *** Return from subroutine ***

        return

;-------------------------------------------------------------------------
; General: Shift right. (32 bits length)
;   Input : W (Pointer of entry)
;-------------------------------------------------------------------------

sr32

;    *** Shift right ***

         MOV wf    fsr

        incf    fsr, f
        incf    fsr, f
        incf    fsr, f

        bcf    status, c        ; Set ’0’ on MSB.
        rrf    indf, f            ; Upper.
        decf    fsr, f
        rrf    indf, f            ; Middle upper.
        decf    fsr, f
        rrf    indf, f            ; Middle lower.
        decf    fsr, f
        rrf    indf, f            ; Lower.

;    *** Return from subroutine ***

        return

;-------------------------------------------------------------------------
; General: Wait procedure.
;   Input : W (Time in milliseconds)
;   Output: None.
;           W register & variable WAIT1, WAIT2 will be broken.
;-------------------------------------------------------------------------

wait_ms

;    *** Wait loop ***

         MOV wf    WAIT1            ; Set milliseconds loop counter.
wm_loop1
         MOV lw    249            ; Set microseconds loop counter.
         MOV wf    WAIT2            ; (996 microseconds / 4)

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