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

📄 showled1.asm

📁 Using 16f876 & matrix led to show time.
💻 ASM
📖 第 1 页 / 共 4 页
字号:
                bsf     COLUM_5,6
                bsf     COLUM_6,6
                bsf     COLUM_7,6
                bsf     COLUM_8,6
                bsf     COLUM_9,6
                bsf     COLUM_10,6
                bsf     COLUM_11,6
                bsf     COLUM_12,6
                bsf     COLUM_13,6
                bsf     COLUM_14,6
                goto    DISPLAY_TIME
CHECK_35:
                movlw   0x35
                subwf   LED_COUNTER,W
                btfss   STATUS,Z
                goto    CHECK_36
                bsf     COLUM_2,6
                bsf     COLUM_3,6
                bsf     COLUM_4,6
                bsf     COLUM_5,6
                bsf     COLUM_6,6
                bsf     COLUM_7,6
                bsf     COLUM_8,6
                bsf     COLUM_9,6
                bsf     COLUM_10,6
                bsf     COLUM_11,6
                bsf     COLUM_12,6
                bsf     COLUM_13,6
                bsf     COLUM_14,6
                goto    DISPLAY_TIME
CHECK_36:
                movlw   0x36
                subwf   LED_COUNTER,W
                btfss   STATUS,Z
                goto    CHECK_37
                bsf     COLUM_2,6
                bsf     COLUM_3,6
                bsf     COLUM_4,6
                bsf     COLUM_5,6
                bsf     COLUM_6,6
                bsf     COLUM_7,6
                bsf     COLUM_8,6
                bsf     COLUM_9,6
                bsf     COLUM_10,6
                bsf     COLUM_11,6
                bsf     COLUM_12,6
                bsf     COLUM_13,6
                bsf     COLUM_14,6
                goto    DISPLAY_TIME
CHECK_37:
                movlw   0x37
                subwf   LED_COUNTER,W
                btfss   STATUS,Z
                goto    CHECK_38
                bsf     COLUM_2,6
                bsf     COLUM_3,6
                bsf     COLUM_4,6
                bsf     COLUM_5,6
                bsf     COLUM_6,6
                bsf     COLUM_7,6
                bsf     COLUM_8,6
                bsf     COLUM_9,6
                bsf     COLUM_10,6
                bsf     COLUM_11,6
                bsf     COLUM_12,6
                bsf     COLUM_13,6
                bsf     COLUM_14,6
                goto    DISPLAY_TIME
CHECK_38:
                movlw   0x38
                subwf   LED_COUNTER,W
                btfss   STATUS,Z
                goto    CHECK_39
                bsf     COLUM_2,6
                bsf     COLUM_3,6
                bsf     COLUM_4,6
                bsf     COLUM_5,6
                bsf     COLUM_6,6
                bsf     COLUM_7,6
                bsf     COLUM_8,6
                bsf     COLUM_9,6
                bsf     COLUM_10,6
                bsf     COLUM_11,6
                bsf     COLUM_12,6
                bsf     COLUM_13,6
                bsf     COLUM_14,6
                bsf     COLUM_15,6
                goto    DISPLAY_TIME
CHECK_39:
                movlw   0x39
                subwf   LED_COUNTER,W
                btfss   STATUS,Z
                goto    CHECK_3a
                bsf     COLUM_2,6
                bsf     COLUM_3,6
                bsf     COLUM_4,6
                bsf     COLUM_5,6
                bsf     COLUM_6,6
                bsf     COLUM_7,6
                bsf     COLUM_8,6
                bsf     COLUM_9,6
                bsf     COLUM_10,6
                bsf     COLUM_11,6
                bsf     COLUM_12,6
                bsf     COLUM_13,6
                bsf     COLUM_14,6
                bsf     COLUM_15,6
                goto    DISPLAY_TIME
CHECK_3a:
                movlw   0x3a
                subwf   LED_COUNTER,W
                btfss   STATUS,Z
                goto    CHECK_3b
                bsf     COLUM_2,6
                bsf     COLUM_3,6
                bsf     COLUM_4,6
                bsf     COLUM_5,6
                bsf     COLUM_6,6
                bsf     COLUM_7,6
                bsf     COLUM_8,6
                bsf     COLUM_9,6
                bsf     COLUM_10,6
                bsf     COLUM_11,6
                bsf     COLUM_12,6
                bsf     COLUM_13,6
                bsf     COLUM_14,6
                bsf     COLUM_15,6
                goto    DISPLAY_TIME
CHECK_3b:
                movlw   0x3b
                subwf   LED_COUNTER,W
                btfss   STATUS,Z
                goto    DISPLAY_TIME
                bsf     COLUM_2,6
                bsf     COLUM_3,6
                bsf     COLUM_4,6
                bsf     COLUM_5,6
                bsf     COLUM_6,6
                bsf     COLUM_7,6
                bsf     COLUM_8,6
                bsf     COLUM_9,6
                bsf     COLUM_10,6
                bsf     COLUM_11,6
                bsf     COLUM_12,6
                bsf     COLUM_13,6
                bsf     COLUM_14,6
                bsf     COLUM_15,6
DISPLAY_TIME:
                RETURN

;; *********************************************************
;; CHECK_HOUR
;; This subrouting will check the HOUR value, then adjust the 
;; display data in matrix LED. 
;; *********************************************************
CHECK_HOUR:
                movlw   0x01
                subwf   HOUR,W
                btfss   STATUS,Z
                goto    H_2
                movlw   0x00
                movwf   COLUM_13
                movwf   COLUM_12
                movwf   COLUM_11
                movlw   0x11
                movwf   COLUM_15
                movlw   0x1f
                movwf   COLUM_10
                movwf   COLUM_14
                movwf   COLUM_16
                RETURN
H_2:
                movlw   0x02
                subwf   HOUR,W
                btfss   STATUS,Z
                goto    H_3
                movlw   0x00
                movwf   COLUM_13
                movlw   0x1d
                movwf   COLUM_12
                movlw   0x15
                movwf   COLUM_11
                movlw   0x11
                movwf   COLUM_15
                movlw   0x17
                movwf   COLUM_10
                movlw   0x1f
                movwf   COLUM_14
                movwf   COLUM_16
                RETURN
H_3:
                movlw   0x03
                subwf   HOUR,W
                btfss   STATUS,Z
                goto    H_4
                movlw   0x00
                movwf   COLUM_13
                movlw   0x15
                movwf   COLUM_12
                movwf   COLUM_11
                movlw   0x11
                movwf   COLUM_15
                movlw   0x1f
                movwf   COLUM_10
                movwf   COLUM_14
                movwf   COLUM_16
                RETURN
H_4:
                movlw   0x04
                subwf   HOUR,W
                btfss   STATUS,Z
                goto    H_5
                movlw   0x00
                movwf   COLUM_13
                movlw   0x07
                movwf   COLUM_12
                movlw   0x04
                movwf   COLUM_11
                movlw   0x11
                movwf   COLUM_15
                movlw   0x1f
                movwf   COLUM_10
                movwf   COLUM_14
                movwf   COLUM_16
                RETURN
H_5:
                movlw   0x05
                subwf   HOUR,W
                btfss   STATUS,Z
                goto    H_6
                movlw   0x00
                movwf   COLUM_13
                movlw   0x17
                movwf   COLUM_12
                movlw   0x15
                movwf   COLUM_11
                movlw   0x11
                movwf   COLUM_15
                movlw   0x1d
                movwf   COLUM_10
                movlw   0x1f
                movwf   COLUM_14
                movwf   COLUM_16
                RETURN
H_6:
                movlw   0x06
                subwf   HOUR,W
                btfss   STATUS,Z
                goto    H_7
                movlw   0x00
                movwf   COLUM_13
                movlw   0x14
                movwf   COLUM_11
                movlw   0x11
                movwf   COLUM_15
                movlw   0x1c
                movwf   COLUM_10
                movlw   0x1f
                movwf   COLUM_12
                movwf   COLUM_14
                movwf   COLUM_16
                RETURN
H_7: 
                movlw   0x07
                subwf   HOUR,W
                btfss   STATUS,Z
                goto    H_8
                movlw   0x00
                movwf   COLUM_13
                movlw   0x01
                movwf   COLUM_12
                movwf   COLUM_11
                movlw   0x11
                movwf   COLUM_15
                movlw   0x1f
                movwf   COLUM_10
                movwf   COLUM_14
                movwf   COLUM_16
                RETURN   
H_8: 
                movlw   0x08
                subwf   HOUR,W
                btfss   STATUS,Z
                goto    H_9
                movlw   0x00
                movwf   COLUM_13
                movlw   0x15
                movwf   COLUM_11
                movlw   0x11
                movwf   COLUM_15
                movlw   0x1f
                movwf   COLUM_10
                movwf   COLUM_12
                movwf   COLUM_14
                movwf   COLUM_16              
                RETURN
H_9:   
                movlw   0x09
                subwf   HOUR,W
                btfss   STATUS,Z
                goto    H_10
                movlw   0x00
                movwf   COLUM_13
                movlw   0x17
                movwf   COLUM_12
                movlw   0x15
                movwf   COLUM_11
                movlw   0x11
                movwf   COLUM_15
                movlw   0x1f
                movwf   COLUM_10
                movwf   COLUM_14
                movwf   COLUM_16              
                RETURN
H_10:
                movlw   0x0a
                subwf   HOUR,W
                btfss   STATUS,Z
                goto    H_11
                movlw   0x00
                movwf   COLUM_16   
                movwf   COLUM_15   
                movwf   COLUM_13
                movlw   0x11
                movwf   COLUM_11
                movlw   0x1f
                movwf   COLUM_10
                movwf   COLUM_12
                movwf   COLUM_14        
                RETURN
H_11:
                movlw   0x0b
                subwf   HOUR,W
                btfss   STATUS,Z
                goto    H_12
                movlw   0x00
                movwf   COLUM_16   
                movwf   COLUM_15
                movwf   COLUM_12   
                movwf   COLUM_13
                movwf   COLUM_11
                movlw   0x1f
                movwf   COLUM_10
                movwf   COLUM_14   
                RETURN
H_12:
                movlw   0x0c
                subwf   HOUR,W
                btfss   STATUS,Z
                goto    H_13
                movlw   0x00
                movwf   COLUM_16   
                movwf   COLUM_15
                movwf   COLUM_13
                movlw   0x17
                movwf   COLUM_10
                movlw   0x1f
                movwf   COLUM_14   
                movlw   0x1d
                movwf   COLUM_12
                movlw   0x15
                movwf   COLUM_11
                RETURN   
H_13:
                movlw   0x01
                movwf   HOUR        
                RETURN

;; *********************************************************
;; CHECK_CHAR3
;; This subrouting will check the MINUTES value, then adjust the 
;; display data in matrix LED. 
;; There are two digits in Minutes. This subrouting will fix
;;    the digit from 0 to 5.
;; *********************************************************
CHECK_CHAR3:
                movlw   0x00
                subwf   MINUTE_1,W
                btfss   STATUS,Z
                goto    M1_1
                movlw   0x1f
                movwf   COLUM_7
                movwf   COLUM_5
                movlw   0x11
                movwf   COLUM_6
                RETURN
M1_1:
                movlw   0x01
                subwf   MINUTE_1,W
                btfss   STATUS,Z
                goto    M1_2
                movlw   0x1f
                movwf   COLUM_5
                movlw   0x00
                movwf   COLUM_7
                movwf   COLUM_6
                RETURN
M1_2:
                movlw   0x02
                subwf   MINUTE_1,W
                btfss   STATUS,Z
                goto    M1_3
                movlw   0x1d
                movwf   COLUM_7
                movlw   0x15
                movwf   COLUM_6
                movlw   0x17
                movwf   COLUM_5
                RETURN
M1_3:
                movlw   0x03
                subwf   MINUTE_1,W
                btfss   STATUS,Z
                goto    M1_4
                movlw   0x15
                movwf   COLUM_7
                movwf   COLUM_6
                movlw   0x1f
                movwf   COLUM_5
                RETURN
M1_4:
                movlw   0x04
                subwf   MINUTE_1,W
                btfss   STATUS,Z
                goto    M1_5
                movlw   0x07
                movwf   COLUM_7
                movlw   0x04
                movwf   COLUM_6
                movlw   0x1f
                movwf   COLUM_5  
                RETURN
M1_5:
                movlw   0x05

⌨️ 快捷键说明

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