⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timin.sdi

📁 代码保护功能处于持续发展中。Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏Microchip 代码保护功能的行为均可视 为违反了《数字器件千年版权法案(Digital Mille
💻 SDI
📖 第 1 页 / 共 2 页
字号:
00000062,1403,,        BSF     STATUS,C        ; get ready to subtract
00000063,02A1,,        SUBWF   Lobyte          ; sub 10h from low byte
00000064,1803,,        BTFSC   STATUS,C        ; borrow required?
00000065,286E,,        GOTO    sub27           ; no - sub high byte
,,,
00000066,08A0,,        MOVF    Hibyte,F        ; yes - check high byte
00000067,1D03,,        BTFSS   STATUS,Z        ; zero?
00000068,286D,,        GOTO    take1           ; no - take borrow
,,,
00000069,3010,,        MOVLW   010             ; yes - load low byte to add
0000006A,1003,,        BCF     STATUS,C        ; get ready to add
0000006B,07A1,,        ADDWF   Lobyte          ; restore low byte
0000006C,287C,,        GOTO    subE8           ; next digit
,,,
0000006D,03A0,take1,take1   DECF    Hibyte          ; take borrow
,,,
0000006E,3027,sub27,sub27   MOVLW   027             ; get high byte to sub
0000006F,1403,,        BSF     STATUS,C        ; get ready to subtract
00000070,02A0,,        SUBWF   Hibyte          ; sub from high byte
00000071,1C03,,        BTFSS   STATUS,C        ; borrow taken?
00000072,2875,,        GOTO    done1           ; yes - restore remainder
00000073,0AA2,,        INCF    Tents           ; no - count ten thousand
00000074,2861,,        GOTO    sub10           ; sub 10000 again
,,,
00000075,3010,done1,done1   MOVLW   010             ; restore..
00000076,1003,,        BCF     STATUS,C        ; get ready to add
00000077,07A1,,        ADDWF   Lobyte          ; restore low byte
00000078,1803,,        BTFSC   STATUS,C        ; Carry into high byte?
00000079,0AA0,,        INCF    Hibyte          ; yes - add carry to high byte
0000007A,3027,,        MOVLW   027             ; restore..
0000007B,07A0,,        ADDWF   Hibyte          ; ..high byte
,,,
,,,
,,,; Subtract 1000d (03E8) and count.................................
,,,
0000007C,30E8,subE8,subE8   MOVLW   0E8             ; get low byte to sub
0000007D,1403,,        BSF     STATUS,C        ; get ready to subtract
0000007E,02A1,,        SUBWF   Lobyte          ; sub from low byte
0000007F,1803,,        BTFSC   STATUS,C        ; borrow required?
00000080,2889,,        GOTO    sub03           ; no - do high byte
,,,
00000081,08A0,,        MOVF    Hibyte,F        ; yes - check high byte
00000082,1D03,,        BTFSS   STATUS,Z        ; zero?
00000083,2888,,        GOTO    take2           ; no - take borrow
,,,
00000084,30E8,,        MOVLW   0E8             ; load low byte to add
00000085,1003,,        BCF     STATUS,C        ; get ready to add
00000086,07A1,,        ADDWF   Lobyte          ; restore low byte
00000087,2897,,        GOTO    sub64           ; next digit
,,,
00000088,03A0,take2,take2   DECF    Hibyte          ; take borrow
,,,
00000089,3003,sub03,sub03   MOVLW   03              ; get high byte
0000008A,1403,,        BSF     STATUS,C        ; get ready to subtract
0000008B,02A0,,        SUBWF   Hibyte          ; sub from high byte
0000008C,1C03,,        BTFSS   STATUS,C        ; borrow taken?
0000008D,2890,,        GOTO    done2           ; yes - restore high byte
0000008E,0AA3,,        INCF    Thous           ; no - count ten thousand
0000008F,287C,,        GOTO    subE8           ; sub 1000 again
,,,
00000090,30E8,done2,done2   MOVLW   0E8             ; restore..
00000091,1003,,        BCF     STATUS,C        ; get ready to add
00000092,07A1,,        ADDWF   Lobyte          ; restore low byte
00000093,1803,,        BTFSC   STATUS,C        ; Carry into high byte?
00000094,0AA0,,        INCF    Hibyte          ; yes - add carry to high byte
00000095,3003,,        MOVLW   03              ; restore..
00000096,07A0,,        ADDWF   Hibyte          ; ..high byte
,,,
,,,
,,,
,,,; Subtract 100d (064h) and count.................................
,,,
00000097,3064,sub64,sub64   MOVLW   064             ; get low byte
00000098,1403,,        BSF     STATUS,C        ; get ready to subtract
00000099,02A1,,        SUBWF   Lobyte          ; sub from low byte
0000009A,1803,,        BTFSC   STATUS,C        ; borrow required?
0000009B,28A4,,        GOTO    inchun          ; no - inc count
,,,
0000009C,08A0,,        MOVF    Hibyte,F        ; yes - check high byte
0000009D,1D03,,        BTFSS   STATUS,Z        ; zero?
0000009E,28A3,,        GOTO    take3           ; no - take borrow
,,,
0000009F,3064,,        MOVLW   064             ; load low byte to add
000000A0,1003,,        BCF     STATUS,C        ; get ready to add
000000A1,07A1,,        ADDWF   Lobyte          ; restore low byte
000000A2,28A6,,        GOTO    subA            ; next digit
,,,
000000A3,03A0,take3,take3   DECF    Hibyte          ; take borrow
,,,
000000A4,0AA4,inchun,inchun  INCF    Hunds           ; count hundred
000000A5,2897,,        GOTO    sub64           ; sub 100 again
,,,
,,,
,,,; Subtract 10d (0Ah) and count, leaving remainder.................
,,,
000000A6,300A,subA,subA    MOVLW   0A              ; get low byte to sub
000000A7,1403,,        BSF     STATUS,C        ; get ready to subtract
000000A8,02A1,,        SUBWF   Lobyte          ; sub from low byte
000000A9,1C03,,        BTFSS   STATUS,C        ; borrow required?
000000AA,28AD,,        GOTO    rest4           ; yes - restore byte
000000AB,0AA5,,        INCF    Tens            ; no - count one hundred
000000AC,28A6,,        GOTO    subA            ; and repeat
,,,
000000AD,07A1,rest4,rest4   ADDWF   Lobyte          ; restore low byte
000000AE,0821,,        MOVF    Lobyte,W        ; copy remainder..
000000AF,00A6,,        MOVWF   Ones            ; to ones register
,,,
000000B0,0008,,        RETURN                  ; done
,,,
,,,;---------------------------------------------------------------
,,,; Display period in microseconds
,,,;---------------------------------------------------------------
,,,
000000B1,14F4,disp,disp    BSF     Select,RS       ; Set display data mode
,,,
000000B2,3054,,        MOVLW   'T'             ; Time period
000000B3,2028,,        CALL    send            ; Display it
000000B4,3020,,        MOVLW   ' '             ; Space
000000B5,2028,,        CALL    send            ; Display it
000000B6,303D,,        MOVLW   '='             ; Equals
000000B7,2028,,        CALL    send            ; Display it
000000B8,3020,,        MOVLW   ' '             ; Space
000000B9,2028,,        CALL    send            ; Display it
,,,
,,,; Supress leading zeros.........................................
,,,
000000BA,08A2,,        MOVF    Tents,F         ; Check digit
000000BB,1D03,,        BTFSS   STATUS,Z        ; zero?
000000BC,28C9,,        GOTO    show1           ; no - show it
,,,
000000BD,08A3,,        MOVF    Thous,F         ; Check digit
000000BE,1D03,,        BTFSS   STATUS,Z        ; zero?
000000BF,28CC,,        GOTO    show2           ; no - show it
,,,
000000C0,08A4,,        MOVF    Hunds,F         ; Check digit
000000C1,1D03,,        BTFSS   STATUS,Z        ; zero?
000000C2,28CF,,        GOTO    show3           ; no - show it
,,,
000000C3,08A5,,        MOVF    Tens,F          ; Check digit
000000C4,1D03,,        BTFSS   STATUS,Z        ; zero?
000000C5,28D2,,        GOTO    show4           ; no - show it
,,,
000000C6,08A6,,        MOVF    Ones,F          ; Check digit
000000C7,1D03,,        BTFSS   STATUS,Z        ; zero?
000000C8,28D5,,        GOTO    show5           ; no - show it
,,,
,,,; Display digits of period.....................................
,,,
000000C9,3030,show1,show1   MOVLW   030             ; Load ASCII offset
000000CA,0722,,        ADDWF   Tents,W         ; Add digit value
000000CB,2028,,        CALL    send            ; Display it
,,,
000000CC,3030,show2,show2   MOVLW   030             ; Load ASCII offset
000000CD,0723,,        ADDWF   Thous,W         ; Add digit value
000000CE,2028,,        CALL    send            ; Display it
,,,
000000CF,3030,show3,show3   MOVLW   030             ; Load ASCII offset
000000D0,0724,,        ADDWF   Hunds,W         ; Add digit value
000000D1,2028,,        CALL    send            ; Display it
,,,
000000D2,3030,show4,show4   MOVLW   030             ; Load ASCII offset
000000D3,0725,,        ADDWF   Tens,W          ; Add digit value
000000D4,2028,,        CALL    send            ; Display it
,,,
000000D5,3030,show5,show5   MOVLW   030             ; Load ASCII offset
000000D6,0726,,        ADDWF   Ones,W          ; Add digit value
000000D7,2028,,        CALL    send            ; Display it
,,,
,,,; Show fixed characters.........................................
,,,
000000D8,3020,,        MOVLW   ' '             ; Space
000000D9,2028,,        CALL    send            ; Display it
000000DA,3075,,        MOVLW   'u'             ; micro
000000DB,2028,,        CALL    send            ; Display it
000000DC,3073,,        MOVLW   's'             ; secs
000000DD,2028,,        CALL    send            ; Display it
000000DE,3020,,        MOVLW   ' '             ; Space
000000DF,2028,,        CALL    send            ; Display it
000000E0,3020,,        MOVLW   ' '             ; Space
000000E1,2028,,        CALL    send            ; Display it
,,,
,,,; Home cursor .................................................
,,,
000000E2,10F4,,        BCF     Select,RS       ; Set display command mode
000000E3,3080,,        MOVLW   0x80            ; Code to home cursor
000000E4,2028,,        CALL    send            ; Do it
000000E5,0008,,        RETURN                  ; done
,,,
,,,;---------------------------------------------------------------
,,,; MAIN LOOP
,,,;---------------------------------------------------------------
000000E6,2038,start,start   CALL    inid            ; Initialise display
000000E7,1683 1303,,        BANKSEL PIE1            ; Select Bank 1
000000E9,150C,,        BSF     PIE1,CCP1IE     ; Enable capture interrupt
000000EA,1283 1303,,        BANKSEL PORTD           ; Select Bank 0
000000EC,110C,,        BCF     PIR1,CCP1IF     ; Clear CCP1 interrupt flag
,,,
000000ED,2053,loop,loop    CALL    conv            ; Convert 16 bits to 5 digits
000000EE,20B1,,        CALL    disp            ; Display period in microsecs
000000EF,28ED,,        GOTO    loop
,,,
,,,        END                     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -