天堂草原最受欢迎的角色,天堂动漫,天堂在线,色天堂下载,天堂中文在线资源,亚洲男人天堂

技術熱線: 4007-888-234
設計開發

專注差異化嵌入式產品解決方案 給智能產品定制注入靈魂給予生命

開發工具

提供開發工具、應用測試 完善的開發代碼案例庫分享

技術支持

從全面的產品導入到強大技術支援服務 全程貼心伴隨服務,創造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產品競爭力

新聞中心

提供最新的單片機資訊,行業消息以及公司新聞動態

有關PIC12F629

更新時間: 2019-03-26
閱讀量:1735

PIC12F629
;1.Master Clear Enable 此項為MCLR<4>選項
;  internal:內部自控  External:外部控制
;2.Oscillator:可設內部,外部震蕩<internal,external>
;  如果選NO Clock3腳作I/O口用,否則3腳作CLKOUT
;***********************************
      include
        P1      EQU    2CH
        P2      EQU    2DH
        Y1      EQU    20H          ;Y1,Y2為去抖
        Y2      EQU    21H          ;動延時寄存器
        ADDR    EQU    23H          ;EEPROM地址寄存器
        DATE1   EQU    24H          ;EEPROM數據寄存器
        BIT     EQU    25H
        BIT1    EQU    26H
        TUMP    EQU    27H
        TUMP1   EQU    28H
        CB      EQU    29H          ;顯示輸出公用查表量
        SHUA    EQU    2AH          ;刷新用
        SHUA1   EQU    2BH          ;刷新用
        AB      EQU    .1           ;顯示數據
        CLK     EQU    .2           ;顯示時鐘
        AB1     EQU    .4           ;輸出數據
        CLK1    EQU    .0           ;輸出時鐘
        #DEFINE       IN1  GPIO,3   ;按鍵加

  #DEFINE       IN2  GPIO,5   ;按鍵減
        ORG     0000H
        NOP
        BSF     STATUS,RP0
        MOVLW   B’00101000’         ;GP5,GP3為輸入
        MOVWF   TRISIO
        BCF     OPTION_REG,7        ;GP5弱上拉
        BSF     WPU,5
        MOVLW   0FFH
        MOVWF   OSCCAL              ;設頻率最好
        BCF     STATUS,RP0
        MOVLW   00H
        MOVWF   ADDR                ;訪問EEPROM00H
        CALL    READ                ;EEPROM
        MOVWF   CB
        MOVF    CB,W
        SUBLW   .8
        BTFSC   STATUS,C

 GOTO    MAIN
        CLRF    CB
;********************************************
MAIN
;********************************************
        CALL    XIANSHI             ;初次上電,顯示,輸出
        CALL    SHUCHU
        BSF     STATUS,RP0
        MOVLW   B’00101000’
        MOVWF   TRISIO
        BCF     STATUS,RP0
        BTFSS   IN1                 ;兩鍵都松開,
        GOTO    $-1
        BTFSS   IN2                 ;才能往下跳
        GOTO    $-4
MAI
;**********************************************
;;;;;;;;;;;刷新程序;;;;;;;;;;;;;
        INCF    SHUA
        MOVF    SHUA,W
        XORLW   0FFH
        BTFSS   STATUS,Z
        GOTO    PPP
        CLRF    SHUA
        INCF    SHUA1
        MOVF    SHUA1,W
        XORLW   010H
        BTFSS   STATUS,Z
        GOTO    PPP

 CLRF    SHUA
        CLRF    SHUA1
        CALL    XIANSHI
        CALL    SHUCHU
PPP
;*********************************************
        BSF     STATUS,RP0
        MOVLW   B’00101000’
        MOVWF   TRISIO
        BCF     STATUS,RP0
        BTFSC   IN1       ;檢測加一鍵是否按下?
        GOTO    DEC       ;否,轉去減一鍵檢測
        CALL    DELAY     ;去抖動
        BTFSC   IN1
        GOTO    DEC

  MOVF    CB,W
        XORLW   .8
        BTFSS   STATUS,Z
        GOTO    

有關PIC12F629

點擊次數:276次        更新時間:2017-12-23

PIC12F629
;1.Master Clear Enable 此項為MCLR<4>選項
;  internal:內部自控  External:外部控制
;2.Oscillator:可設內部,外部震蕩<internal,external>
;  如果選NO Clock3腳作I/O口用,否則3腳作CLKOUT
;***********************************
      include
        P1      EQU    2CH
        P2      EQU    2DH
        Y1      EQU    20H          ;Y1,Y2為去抖
        Y2      EQU    21H          ;動延時寄存器
        ADDR    EQU    23H          ;EEPROM地址寄存器
        DATE1   EQU    24H          ;EEPROM數據寄存器
        BIT     EQU    25H
        BIT1    EQU    26H
        TUMP    EQU    27H
        TUMP1   EQU    28H
        CB      EQU    29H          ;顯示輸出公用查表量
        SHUA    EQU    2AH          ;刷新用
        SHUA1   EQU    2BH          ;刷新用
        AB      EQU    .1           ;顯示數據
        CLK     EQU    .2           ;顯示時鐘
        AB1     EQU    .4           ;輸出數據
        CLK1    EQU    .0           ;輸出時鐘
        #DEFINE       IN1  GPIO,3   ;按鍵加

  #DEFINE       IN2  GPIO,5   ;按鍵減
        ORG     0000H
        NOP
        BSF     STATUS,RP0
        MOVLW   B’00101000’         ;GP5,GP3為輸入
        MOVWF   TRISIO
        BCF     OPTION_REG,7        ;GP5弱上拉
        BSF     WPU,5
        MOVLW   0FFH
        MOVWF   OSCCAL              ;設頻率最好
        BCF     STATUS,RP0
        MOVLW   00H
        MOVWF   ADDR                ;訪問EEPROM00H
        CALL    READ                ;EEPROM
        MOVWF   CB
        MOVF    CB,W
        SUBLW   .8
        BTFSC   STATUS,C

 GOTO    MAIN
        CLRF    CB
;********************************************
MAIN
;********************************************
        CALL    XIANSHI             ;初次上電,顯示,輸出
        CALL    SHUCHU
        BSF     STATUS,RP0
        MOVLW   B’00101000’
        MOVWF   TRISIO
        BCF     STATUS,RP0
        BTFSS   IN1                 ;兩鍵都松開,
        GOTO    $-1
        BTFSS   IN2                 ;才能往下跳
        GOTO    $-4
MAI
;**********************************************
;;;;;;;;;;;刷新程序;;;;;;;;;;;;;
        INCF    SHUA
        MOVF    SHUA,W
        XORLW   0FFH
        BTFSS   STATUS,Z
        GOTO    PPP
        CLRF    SHUA
        INCF    SHUA1
        MOVF    SHUA1,W
        XORLW   010H
        BTFSS   STATUS,Z
        GOTO    PPP

 CLRF    SHUA
        CLRF    SHUA1
        CALL    XIANSHI
        CALL    SHUCHU
PPP
;*********************************************
        BSF     STATUS,RP0
        MOVLW   B’00101000’
        MOVWF   TRISIO
        BCF     STATUS,RP0
        BTFSC   IN1       ;檢測加一鍵是否按下?
        GOTO    DEC       ;否,轉去減一鍵檢測
        CALL    DELAY     ;去抖動
        BTFSC   IN1
        GOTO    DEC

  MOVF    CB,W
        XORLW   .8
        BTFSS   STATUS,Z
        GOTO    

有關PIC12F629

點擊次數:276次        更新時間:2017-12-23

PIC12F629
;1.Master Clear Enable 此項為MCLR<4>選項
;  internal:內部自控  External:外部控制
;2.Oscillator:可設內部,外部震蕩<internal,external>
;  如果選NO Clock3腳作I/O口用,否則3腳作CLKOUT
;***********************************
      include
        P1      EQU    2CH
        P2      EQU    2DH
        Y1      EQU    20H          ;Y1,Y2為去抖
        Y2      EQU    21H          ;動延時寄存器
        ADDR    EQU    23H          ;EEPROM地址寄存器
        DATE1   EQU    24H          ;EEPROM數據寄存器
        BIT     EQU    25H
        BIT1    EQU    26H
        TUMP    EQU    27H
        TUMP1   EQU    28H
        CB      EQU    29H          ;顯示輸出公用查表量
        SHUA    EQU    2AH          ;刷新用
        SHUA1   EQU    2BH          ;刷新用
        AB      EQU    .1           ;顯示數據
        CLK     EQU    .2           ;顯示時鐘
        AB1     EQU    .4           ;輸出數據
        CLK1    EQU    .0           ;輸出時鐘
        #DEFINE       IN1  GPIO,3   ;按鍵加

  #DEFINE       IN2  GPIO,5   ;按鍵減
        ORG     0000H
        NOP
        BSF     STATUS,RP0
        MOVLW   B’00101000’         ;GP5,GP3為輸入
        MOVWF   TRISIO
        BCF     OPTION_REG,7        ;GP5弱上拉
        BSF     WPU,5
        MOVLW   0FFH
        MOVWF   OSCCAL              ;設頻率最好
        BCF     STATUS,RP0
        MOVLW   00H
        MOVWF   ADDR                ;訪問EEPROM00H
        CALL    READ                ;EEPROM
        MOVWF   CB
        MOVF    CB,W
        SUBLW   .8
        BTFSC   STATUS,C

 GOTO    MAIN
        CLRF    CB
;********************************************
MAIN
;********************************************
        CALL    XIANSHI             ;初次上電,顯示,輸出
        CALL    SHUCHU
        BSF     STATUS,RP0
        MOVLW   B’00101000’
        MOVWF   TRISIO
        BCF     STATUS,RP0
        BTFSS   IN1                 ;兩鍵都松開,
        GOTO    $-1
        BTFSS   IN2                 ;才能往下跳
        GOTO    $-4
MAI
;**********************************************
;;;;;;;;;;;刷新程序;;;;;;;;;;;;;
        INCF    SHUA
        MOVF    SHUA,W
        XORLW   0FFH
        BTFSS   STATUS,Z
        GOTO    PPP
        CLRF    SHUA
        INCF    SHUA1
        MOVF    SHUA1,W
        XORLW   010H
        BTFSS   STATUS,Z
        GOTO    PPP

 CLRF    SHUA
        CLRF    SHUA1
        CALL    XIANSHI
        CALL    SHUCHU
PPP
;*********************************************
        BSF     STATUS,RP0
        MOVLW   B’00101000’
        MOVWF   TRISIO
        BCF     STATUS,RP0
        BTFSC   IN1       ;檢測加一鍵是否按下?
        GOTO    DEC       ;否,轉去減一鍵檢測
        CALL    DELAY     ;去抖動
        BTFSC   IN1
        GOTO    DEC

  MOVF    CB,W
        XORLW   .8
        BTFSS   STATUS,Z
        GOTO    {D_L_技術支持_內容瀏覽}6
        CLRF    CB
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
        INCF    CB           ;對查表量加一
        CALL    XIANSHI
        CALL    SHUCHU
        BTFSS   IN1
        GOTO    $-1
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
DEC     MOVF    CB,W
        XORLW   .0
        BTFSS   STATUS,Z      ;是否減到0
        GOTO    {D_L_技術支持_內容瀏覽}2           ;否,轉去減一鍵檢測
        GOTO    MAI           ;是,不再減一
        BTFSC   IN2           ;減一鍵檢測
        GOTO    MAI
        CALL    DELAY         ;去抖動
        BTFSC   IN2

 GOTO    MAI
        DECF    CB            ;對查表量減一
        CALL    XIANSHI
        CALL    SHUCHU
        BTFSS   IN2
        GOTO    $-1
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
;***************************************
DELAY;去抖動延時程序
        MOVLW   0FFH
        MOVWF   Y1
M2      MOVLW   06FH
        MOVWF   Y2
M1      DECFSZ  Y2

 GOTO    M1
        DECFSZ  Y1
        GOTO    M2
        RETURN
;**************************************
DELAY1  MOVLW   0FFH
        MOVWF   P1
Q2
        MOVLW   0FFH
        MOVWF   P2
Q1
        DECFSZ  P2
        GOTO    Q1
        DECFSZ  P1
        GOTO    Q2
        RETURN
;**************************************
XIANSHI;數碼管顯示
        MOVF    CB,W
        CALL    SHUMA
        MOVWF   TUMP
        MOVLW   .8
        MOVWF   BIT
LOOP    BCF     GPIO,CLK
        BTFSC   TUMP,0
        BSF     GPIO,AB
        BTFSS   TUMP,0
        BCF     GPIO,AB
        RRF     TUMP,F
        BSF     GPIO,CLK
        DECFSZ  BIT
        GOTO    LOOP
        RETURN
;**************************************

SHUCHU;輸出處理
        MOVF    CB,W
        CALL    CHU
        MOVWF   TUMP1
        MOVLW   .8
        MOVWF   BIT1
LOOP1   BCF     GPIO,CLK1
        BTFSC   TUMP1,0
        BSF     GPIO,AB1
        BTFSS   TUMP1,0
        BCF     GPIO,AB1
        RRF     TUMP1,F
        BSF     GPIO,CLK1
        DECFSZ  BIT1
        GOTO    LOOP1
        RETURN
;**************************************
SHUMA;數碼管顯示碼
       ADDWF   2,1
       RETLW   001H
       RETLW   037H
       RETLW   042H
       RETLW   012H
       RETLW   034H
       RETLW   018H
       RETLW   008H
       RETLW   033H
       RETLW   000H
;*************************************

CHU   ;輸出子程序
      ADDWF   2,1
      RETLW   B’11111111’
      RETLW   B’11111110’
      RETLW   B’11111101’
      RETLW   B’11111011’
      RETLW   B’11110111’
      RETLW   B’11101111’
      RETLW   B’11011111’
      RETLW   B’10111111’
      RETLW   B’01111111’
;*************************************
;        EEPROM讀寫程序
;*************************************
READ    BSF     STATUS,RP0
        MOVF    ADDR,W
        MOVWF   EEADR
        BSF     EECON1,RD
        MOVF    EEDATA,W
        RETURN
;*************************************
WRITE
        BSF     STATUS,RP0
        BTFSC   EECON1,WR
        GOTO    $-1

   MOVF    ADDR,W
        MOVWF   EEADR
        MOVF    DATE1,W
        MOVWF   EEDATA
        BSF     EECON1,WREN
        MOVLW   55H
        MOVWF   EECON2
        MOVLW   0AAH
        MOVWF   EECON2
        BSF     EECON1,WR
        BCF     EECON1,WREN
        BCF     STATUS,RP0
        RETURN
;**************************************
        END

 


6
        CLRF    CB
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
        INCF    CB           ;對查表量加一
        CALL    XIANSHI
        CALL    SHUCHU
        BTFSS   IN1
        GOTO    $-1
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
DEC     MOVF    CB,W
        XORLW   .0
        BTFSS   STATUS,Z      ;是否減到0
        GOTO    

有關PIC12F629

點擊次數:276次        更新時間:2017-12-23

PIC12F629
;1.Master Clear Enable 此項為MCLR<4>選項
;  internal:內部自控  External:外部控制
;2.Oscillator:可設內部,外部震蕩<internal,external>
;  如果選NO Clock3腳作I/O口用,否則3腳作CLKOUT
;***********************************
      include
        P1      EQU    2CH
        P2      EQU    2DH
        Y1      EQU    20H          ;Y1,Y2為去抖
        Y2      EQU    21H          ;動延時寄存器
        ADDR    EQU    23H          ;EEPROM地址寄存器
        DATE1   EQU    24H          ;EEPROM數據寄存器
        BIT     EQU    25H
        BIT1    EQU    26H
        TUMP    EQU    27H
        TUMP1   EQU    28H
        CB      EQU    29H          ;顯示輸出公用查表量
        SHUA    EQU    2AH          ;刷新用
        SHUA1   EQU    2BH          ;刷新用
        AB      EQU    .1           ;顯示數據
        CLK     EQU    .2           ;顯示時鐘
        AB1     EQU    .4           ;輸出數據
        CLK1    EQU    .0           ;輸出時鐘
        #DEFINE       IN1  GPIO,3   ;按鍵加

  #DEFINE       IN2  GPIO,5   ;按鍵減
        ORG     0000H
        NOP
        BSF     STATUS,RP0
        MOVLW   B’00101000’         ;GP5,GP3為輸入
        MOVWF   TRISIO
        BCF     OPTION_REG,7        ;GP5弱上拉
        BSF     WPU,5
        MOVLW   0FFH
        MOVWF   OSCCAL              ;設頻率最好
        BCF     STATUS,RP0
        MOVLW   00H
        MOVWF   ADDR                ;訪問EEPROM00H
        CALL    READ                ;EEPROM
        MOVWF   CB
        MOVF    CB,W
        SUBLW   .8
        BTFSC   STATUS,C

 GOTO    MAIN
        CLRF    CB
;********************************************
MAIN
;********************************************
        CALL    XIANSHI             ;初次上電,顯示,輸出
        CALL    SHUCHU
        BSF     STATUS,RP0
        MOVLW   B’00101000’
        MOVWF   TRISIO
        BCF     STATUS,RP0
        BTFSS   IN1                 ;兩鍵都松開,
        GOTO    $-1
        BTFSS   IN2                 ;才能往下跳
        GOTO    $-4
MAI
;**********************************************
;;;;;;;;;;;刷新程序;;;;;;;;;;;;;
        INCF    SHUA
        MOVF    SHUA,W
        XORLW   0FFH
        BTFSS   STATUS,Z
        GOTO    PPP
        CLRF    SHUA
        INCF    SHUA1
        MOVF    SHUA1,W
        XORLW   010H
        BTFSS   STATUS,Z
        GOTO    PPP

 CLRF    SHUA
        CLRF    SHUA1
        CALL    XIANSHI
        CALL    SHUCHU
PPP
;*********************************************
        BSF     STATUS,RP0
        MOVLW   B’00101000’
        MOVWF   TRISIO
        BCF     STATUS,RP0
        BTFSC   IN1       ;檢測加一鍵是否按下?
        GOTO    DEC       ;否,轉去減一鍵檢測
        CALL    DELAY     ;去抖動
        BTFSC   IN1
        GOTO    DEC

  MOVF    CB,W
        XORLW   .8
        BTFSS   STATUS,Z
        GOTO    {D_L_技術支持_內容瀏覽}6
        CLRF    CB
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
        INCF    CB           ;對查表量加一
        CALL    XIANSHI
        CALL    SHUCHU
        BTFSS   IN1
        GOTO    $-1
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
DEC     MOVF    CB,W
        XORLW   .0
        BTFSS   STATUS,Z      ;是否減到0
        GOTO    {D_L_技術支持_內容瀏覽}2           ;否,轉去減一鍵檢測
        GOTO    MAI           ;是,不再減一
        BTFSC   IN2           ;減一鍵檢測
        GOTO    MAI
        CALL    DELAY         ;去抖動
        BTFSC   IN2

 GOTO    MAI
        DECF    CB            ;對查表量減一
        CALL    XIANSHI
        CALL    SHUCHU
        BTFSS   IN2
        GOTO    $-1
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
;***************************************
DELAY;去抖動延時程序
        MOVLW   0FFH
        MOVWF   Y1
M2      MOVLW   06FH
        MOVWF   Y2
M1      DECFSZ  Y2

 GOTO    M1
        DECFSZ  Y1
        GOTO    M2
        RETURN
;**************************************
DELAY1  MOVLW   0FFH
        MOVWF   P1
Q2
        MOVLW   0FFH
        MOVWF   P2
Q1
        DECFSZ  P2
        GOTO    Q1
        DECFSZ  P1
        GOTO    Q2
        RETURN
;**************************************
XIANSHI;數碼管顯示
        MOVF    CB,W
        CALL    SHUMA
        MOVWF   TUMP
        MOVLW   .8
        MOVWF   BIT
LOOP    BCF     GPIO,CLK
        BTFSC   TUMP,0
        BSF     GPIO,AB
        BTFSS   TUMP,0
        BCF     GPIO,AB
        RRF     TUMP,F
        BSF     GPIO,CLK
        DECFSZ  BIT
        GOTO    LOOP
        RETURN
;**************************************

SHUCHU;輸出處理
        MOVF    CB,W
        CALL    CHU
        MOVWF   TUMP1
        MOVLW   .8
        MOVWF   BIT1
LOOP1   BCF     GPIO,CLK1
        BTFSC   TUMP1,0
        BSF     GPIO,AB1
        BTFSS   TUMP1,0
        BCF     GPIO,AB1
        RRF     TUMP1,F
        BSF     GPIO,CLK1
        DECFSZ  BIT1
        GOTO    LOOP1
        RETURN
;**************************************
SHUMA;數碼管顯示碼
       ADDWF   2,1
       RETLW   001H
       RETLW   037H
       RETLW   042H
       RETLW   012H
       RETLW   034H
       RETLW   018H
       RETLW   008H
       RETLW   033H
       RETLW   000H
;*************************************

CHU   ;輸出子程序
      ADDWF   2,1
      RETLW   B’11111111’
      RETLW   B’11111110’
      RETLW   B’11111101’
      RETLW   B’11111011’
      RETLW   B’11110111’
      RETLW   B’11101111’
      RETLW   B’11011111’
      RETLW   B’10111111’
      RETLW   B’01111111’
;*************************************
;        EEPROM讀寫程序
;*************************************
READ    BSF     STATUS,RP0
        MOVF    ADDR,W
        MOVWF   EEADR
        BSF     EECON1,RD
        MOVF    EEDATA,W
        RETURN
;*************************************
WRITE
        BSF     STATUS,RP0
        BTFSC   EECON1,WR
        GOTO    $-1

   MOVF    ADDR,W
        MOVWF   EEADR
        MOVF    DATE1,W
        MOVWF   EEDATA
        BSF     EECON1,WREN
        MOVLW   55H
        MOVWF   EECON2
        MOVLW   0AAH
        MOVWF   EECON2
        BSF     EECON1,WR
        BCF     EECON1,WREN
        BCF     STATUS,RP0
        RETURN
;**************************************
        END

 


2           ;否,轉去減一鍵檢測
        GOTO    MAI           ;是,不再減一
        BTFSC   IN2           ;減一鍵檢測
        GOTO    MAI
        CALL    DELAY         ;去抖動
        BTFSC   IN2

 GOTO    MAI
        DECF    CB            ;對查表量減一
        CALL    XIANSHI
        CALL    SHUCHU
        BTFSS   IN2
        GOTO    $-1
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
;***************************************
DELAY;去抖動延時程序
        MOVLW   0FFH
        MOVWF   Y1
M2      MOVLW   06FH
        MOVWF   Y2
M1      DECFSZ  Y2

 GOTO    M1
        DECFSZ  Y1
        GOTO    M2
        RETURN
;**************************************
DELAY1  MOVLW   0FFH
        MOVWF   P1
Q2
        MOVLW   0FFH
        MOVWF   P2
Q1
        DECFSZ  P2
        GOTO    Q1
        DECFSZ  P1
        GOTO    Q2
        RETURN
;**************************************
XIANSHI;數碼管顯示
        MOVF    CB,W
        CALL    SHUMA
        MOVWF   TUMP
        MOVLW   .8
        MOVWF   BIT
LOOP    BCF     GPIO,CLK
        BTFSC   TUMP,0
        BSF     GPIO,AB
        BTFSS   TUMP,0
        BCF     GPIO,AB
        RRF     TUMP,F
        BSF     GPIO,CLK
        DECFSZ  BIT
        GOTO    LOOP
        RETURN
;**************************************

SHUCHU;輸出處理
        MOVF    CB,W
        CALL    CHU
        MOVWF   TUMP1
        MOVLW   .8
        MOVWF   BIT1
LOOP1   BCF     GPIO,CLK1
        BTFSC   TUMP1,0
        BSF     GPIO,AB1
        BTFSS   TUMP1,0
        BCF     GPIO,AB1
        RRF     TUMP1,F
        BSF     GPIO,CLK1
        DECFSZ  BIT1
        GOTO    LOOP1
        RETURN
;**************************************
SHUMA;數碼管顯示碼
       ADDWF   2,1
       RETLW   001H
       RETLW   037H
       RETLW   042H
       RETLW   012H
       RETLW   034H
       RETLW   018H
       RETLW   008H
       RETLW   033H
       RETLW   000H
;*************************************

CHU   ;輸出子程序
      ADDWF   2,1
      RETLW   B’11111111’
      RETLW   B’11111110’
      RETLW   B’11111101’
      RETLW   B’11111011’
      RETLW   B’11110111’
      RETLW   B’11101111’
      RETLW   B’11011111’
      RETLW   B’10111111’
      RETLW   B’01111111’
;*************************************
;        EEPROM讀寫程序
;*************************************
READ    BSF     STATUS,RP0
        MOVF    ADDR,W
        MOVWF   EEADR
        BSF     EECON1,RD
        MOVF    EEDATA,W
        RETURN
;*************************************
WRITE
        BSF     STATUS,RP0
        BTFSC   EECON1,WR
        GOTO    $-1

   MOVF    ADDR,W
        MOVWF   EEADR
        MOVF    DATE1,W
        MOVWF   EEDATA
        BSF     EECON1,WREN
        MOVLW   55H
        MOVWF   EECON2
        MOVLW   0AAH
        MOVWF   EECON2
        BSF     EECON1,WR
        BCF     EECON1,WREN
        BCF     STATUS,RP0
        RETURN
;**************************************
        END

 


6
        CLRF    CB
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
        INCF    CB           ;對查表量加一
        CALL    XIANSHI
        CALL    SHUCHU
        BTFSS   IN1
        GOTO    $-1
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
DEC     MOVF    CB,W
        XORLW   .0
        BTFSS   STATUS,Z      ;是否減到0
        GOTO    

有關PIC12F629

點擊次數:276次        更新時間:2017-12-23

PIC12F629
;1.Master Clear Enable 此項為MCLR<4>選項
;  internal:內部自控  External:外部控制
;2.Oscillator:可設內部,外部震蕩<internal,external>
;  如果選NO Clock3腳作I/O口用,否則3腳作CLKOUT
;***********************************
      include
        P1      EQU    2CH
        P2      EQU    2DH
        Y1      EQU    20H          ;Y1,Y2為去抖
        Y2      EQU    21H          ;動延時寄存器
        ADDR    EQU    23H          ;EEPROM地址寄存器
        DATE1   EQU    24H          ;EEPROM數據寄存器
        BIT     EQU    25H
        BIT1    EQU    26H
        TUMP    EQU    27H
        TUMP1   EQU    28H
        CB      EQU    29H          ;顯示輸出公用查表量
        SHUA    EQU    2AH          ;刷新用
        SHUA1   EQU    2BH          ;刷新用
        AB      EQU    .1           ;顯示數據
        CLK     EQU    .2           ;顯示時鐘
        AB1     EQU    .4           ;輸出數據
        CLK1    EQU    .0           ;輸出時鐘
        #DEFINE       IN1  GPIO,3   ;按鍵加

  #DEFINE       IN2  GPIO,5   ;按鍵減
        ORG     0000H
        NOP
        BSF     STATUS,RP0
        MOVLW   B’00101000’         ;GP5,GP3為輸入
        MOVWF   TRISIO
        BCF     OPTION_REG,7        ;GP5弱上拉
        BSF     WPU,5
        MOVLW   0FFH
        MOVWF   OSCCAL              ;設頻率最好
        BCF     STATUS,RP0
        MOVLW   00H
        MOVWF   ADDR                ;訪問EEPROM00H
        CALL    READ                ;EEPROM
        MOVWF   CB
        MOVF    CB,W
        SUBLW   .8
        BTFSC   STATUS,C

 GOTO    MAIN
        CLRF    CB
;********************************************
MAIN
;********************************************
        CALL    XIANSHI             ;初次上電,顯示,輸出
        CALL    SHUCHU
        BSF     STATUS,RP0
        MOVLW   B’00101000’
        MOVWF   TRISIO
        BCF     STATUS,RP0
        BTFSS   IN1                 ;兩鍵都松開,
        GOTO    $-1
        BTFSS   IN2                 ;才能往下跳
        GOTO    $-4
MAI
;**********************************************
;;;;;;;;;;;刷新程序;;;;;;;;;;;;;
        INCF    SHUA
        MOVF    SHUA,W
        XORLW   0FFH
        BTFSS   STATUS,Z
        GOTO    PPP
        CLRF    SHUA
        INCF    SHUA1
        MOVF    SHUA1,W
        XORLW   010H
        BTFSS   STATUS,Z
        GOTO    PPP

 CLRF    SHUA
        CLRF    SHUA1
        CALL    XIANSHI
        CALL    SHUCHU
PPP
;*********************************************
        BSF     STATUS,RP0
        MOVLW   B’00101000’
        MOVWF   TRISIO
        BCF     STATUS,RP0
        BTFSC   IN1       ;檢測加一鍵是否按下?
        GOTO    DEC       ;否,轉去減一鍵檢測
        CALL    DELAY     ;去抖動
        BTFSC   IN1
        GOTO    DEC

  MOVF    CB,W
        XORLW   .8
        BTFSS   STATUS,Z
        GOTO    

有關PIC12F629

點擊次數:276次        更新時間:2017-12-23

PIC12F629
;1.Master Clear Enable 此項為MCLR<4>選項
;  internal:內部自控  External:外部控制
;2.Oscillator:可設內部,外部震蕩<internal,external>
;  如果選NO Clock3腳作I/O口用,否則3腳作CLKOUT
;***********************************
      include
        P1      EQU    2CH
        P2      EQU    2DH
        Y1      EQU    20H          ;Y1,Y2為去抖
        Y2      EQU    21H          ;動延時寄存器
        ADDR    EQU    23H          ;EEPROM地址寄存器
        DATE1   EQU    24H          ;EEPROM數據寄存器
        BIT     EQU    25H
        BIT1    EQU    26H
        TUMP    EQU    27H
        TUMP1   EQU    28H
        CB      EQU    29H          ;顯示輸出公用查表量
        SHUA    EQU    2AH          ;刷新用
        SHUA1   EQU    2BH          ;刷新用
        AB      EQU    .1           ;顯示數據
        CLK     EQU    .2           ;顯示時鐘
        AB1     EQU    .4           ;輸出數據
        CLK1    EQU    .0           ;輸出時鐘
        #DEFINE       IN1  GPIO,3   ;按鍵加

  #DEFINE       IN2  GPIO,5   ;按鍵減
        ORG     0000H
        NOP
        BSF     STATUS,RP0
        MOVLW   B’00101000’         ;GP5,GP3為輸入
        MOVWF   TRISIO
        BCF     OPTION_REG,7        ;GP5弱上拉
        BSF     WPU,5
        MOVLW   0FFH
        MOVWF   OSCCAL              ;設頻率最好
        BCF     STATUS,RP0
        MOVLW   00H
        MOVWF   ADDR                ;訪問EEPROM00H
        CALL    READ                ;EEPROM
        MOVWF   CB
        MOVF    CB,W
        SUBLW   .8
        BTFSC   STATUS,C

 GOTO    MAIN
        CLRF    CB
;********************************************
MAIN
;********************************************
        CALL    XIANSHI             ;初次上電,顯示,輸出
        CALL    SHUCHU
        BSF     STATUS,RP0
        MOVLW   B’00101000’
        MOVWF   TRISIO
        BCF     STATUS,RP0
        BTFSS   IN1                 ;兩鍵都松開,
        GOTO    $-1
        BTFSS   IN2                 ;才能往下跳
        GOTO    $-4
MAI
;**********************************************
;;;;;;;;;;;刷新程序;;;;;;;;;;;;;
        INCF    SHUA
        MOVF    SHUA,W
        XORLW   0FFH
        BTFSS   STATUS,Z
        GOTO    PPP
        CLRF    SHUA
        INCF    SHUA1
        MOVF    SHUA1,W
        XORLW   010H
        BTFSS   STATUS,Z
        GOTO    PPP

 CLRF    SHUA
        CLRF    SHUA1
        CALL    XIANSHI
        CALL    SHUCHU
PPP
;*********************************************
        BSF     STATUS,RP0
        MOVLW   B’00101000’
        MOVWF   TRISIO
        BCF     STATUS,RP0
        BTFSC   IN1       ;檢測加一鍵是否按下?
        GOTO    DEC       ;否,轉去減一鍵檢測
        CALL    DELAY     ;去抖動
        BTFSC   IN1
        GOTO    DEC

  MOVF    CB,W
        XORLW   .8
        BTFSS   STATUS,Z
        GOTO    {D_L_技術支持_內容瀏覽}6
        CLRF    CB
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
        INCF    CB           ;對查表量加一
        CALL    XIANSHI
        CALL    SHUCHU
        BTFSS   IN1
        GOTO    $-1
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
DEC     MOVF    CB,W
        XORLW   .0
        BTFSS   STATUS,Z      ;是否減到0
        GOTO    {D_L_技術支持_內容瀏覽}2           ;否,轉去減一鍵檢測
        GOTO    MAI           ;是,不再減一
        BTFSC   IN2           ;減一鍵檢測
        GOTO    MAI
        CALL    DELAY         ;去抖動
        BTFSC   IN2

 GOTO    MAI
        DECF    CB            ;對查表量減一
        CALL    XIANSHI
        CALL    SHUCHU
        BTFSS   IN2
        GOTO    $-1
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
;***************************************
DELAY;去抖動延時程序
        MOVLW   0FFH
        MOVWF   Y1
M2      MOVLW   06FH
        MOVWF   Y2
M1      DECFSZ  Y2

 GOTO    M1
        DECFSZ  Y1
        GOTO    M2
        RETURN
;**************************************
DELAY1  MOVLW   0FFH
        MOVWF   P1
Q2
        MOVLW   0FFH
        MOVWF   P2
Q1
        DECFSZ  P2
        GOTO    Q1
        DECFSZ  P1
        GOTO    Q2
        RETURN
;**************************************
XIANSHI;數碼管顯示
        MOVF    CB,W
        CALL    SHUMA
        MOVWF   TUMP
        MOVLW   .8
        MOVWF   BIT
LOOP    BCF     GPIO,CLK
        BTFSC   TUMP,0
        BSF     GPIO,AB
        BTFSS   TUMP,0
        BCF     GPIO,AB
        RRF     TUMP,F
        BSF     GPIO,CLK
        DECFSZ  BIT
        GOTO    LOOP
        RETURN
;**************************************

SHUCHU;輸出處理
        MOVF    CB,W
        CALL    CHU
        MOVWF   TUMP1
        MOVLW   .8
        MOVWF   BIT1
LOOP1   BCF     GPIO,CLK1
        BTFSC   TUMP1,0
        BSF     GPIO,AB1
        BTFSS   TUMP1,0
        BCF     GPIO,AB1
        RRF     TUMP1,F
        BSF     GPIO,CLK1
        DECFSZ  BIT1
        GOTO    LOOP1
        RETURN
;**************************************
SHUMA;數碼管顯示碼
       ADDWF   2,1
       RETLW   001H
       RETLW   037H
       RETLW   042H
       RETLW   012H
       RETLW   034H
       RETLW   018H
       RETLW   008H
       RETLW   033H
       RETLW   000H
;*************************************

CHU   ;輸出子程序
      ADDWF   2,1
      RETLW   B’11111111’
      RETLW   B’11111110’
      RETLW   B’11111101’
      RETLW   B’11111011’
      RETLW   B’11110111’
      RETLW   B’11101111’
      RETLW   B’11011111’
      RETLW   B’10111111’
      RETLW   B’01111111’
;*************************************
;        EEPROM讀寫程序
;*************************************
READ    BSF     STATUS,RP0
        MOVF    ADDR,W
        MOVWF   EEADR
        BSF     EECON1,RD
        MOVF    EEDATA,W
        RETURN
;*************************************
WRITE
        BSF     STATUS,RP0
        BTFSC   EECON1,WR
        GOTO    $-1

   MOVF    ADDR,W
        MOVWF   EEADR
        MOVF    DATE1,W
        MOVWF   EEDATA
        BSF     EECON1,WREN
        MOVLW   55H
        MOVWF   EECON2
        MOVLW   0AAH
        MOVWF   EECON2
        BSF     EECON1,WR
        BCF     EECON1,WREN
        BCF     STATUS,RP0
        RETURN
;**************************************
        END

 


6
        CLRF    CB
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
        INCF    CB           ;對查表量加一
        CALL    XIANSHI
        CALL    SHUCHU
        BTFSS   IN1
        GOTO    $-1
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
DEC     MOVF    CB,W
        XORLW   .0
        BTFSS   STATUS,Z      ;是否減到0
        GOTO    

有關PIC12F629

點擊次數:276次        更新時間:2017-12-23

PIC12F629
;1.Master Clear Enable 此項為MCLR<4>選項
;  internal:內部自控  External:外部控制
;2.Oscillator:可設內部,外部震蕩<internal,external>
;  如果選NO Clock3腳作I/O口用,否則3腳作CLKOUT
;***********************************
      include
        P1      EQU    2CH
        P2      EQU    2DH
        Y1      EQU    20H          ;Y1,Y2為去抖
        Y2      EQU    21H          ;動延時寄存器
        ADDR    EQU    23H          ;EEPROM地址寄存器
        DATE1   EQU    24H          ;EEPROM數據寄存器
        BIT     EQU    25H
        BIT1    EQU    26H
        TUMP    EQU    27H
        TUMP1   EQU    28H
        CB      EQU    29H          ;顯示輸出公用查表量
        SHUA    EQU    2AH          ;刷新用
        SHUA1   EQU    2BH          ;刷新用
        AB      EQU    .1           ;顯示數據
        CLK     EQU    .2           ;顯示時鐘
        AB1     EQU    .4           ;輸出數據
        CLK1    EQU    .0           ;輸出時鐘
        #DEFINE       IN1  GPIO,3   ;按鍵加

  #DEFINE       IN2  GPIO,5   ;按鍵減
        ORG     0000H
        NOP
        BSF     STATUS,RP0
        MOVLW   B’00101000’         ;GP5,GP3為輸入
        MOVWF   TRISIO
        BCF     OPTION_REG,7        ;GP5弱上拉
        BSF     WPU,5
        MOVLW   0FFH
        MOVWF   OSCCAL              ;設頻率最好
        BCF     STATUS,RP0
        MOVLW   00H
        MOVWF   ADDR                ;訪問EEPROM00H
        CALL    READ                ;EEPROM
        MOVWF   CB
        MOVF    CB,W
        SUBLW   .8
        BTFSC   STATUS,C

 GOTO    MAIN
        CLRF    CB
;********************************************
MAIN
;********************************************
        CALL    XIANSHI             ;初次上電,顯示,輸出
        CALL    SHUCHU
        BSF     STATUS,RP0
        MOVLW   B’00101000’
        MOVWF   TRISIO
        BCF     STATUS,RP0
        BTFSS   IN1                 ;兩鍵都松開,
        GOTO    $-1
        BTFSS   IN2                 ;才能往下跳
        GOTO    $-4
MAI
;**********************************************
;;;;;;;;;;;刷新程序;;;;;;;;;;;;;
        INCF    SHUA
        MOVF    SHUA,W
        XORLW   0FFH
        BTFSS   STATUS,Z
        GOTO    PPP
        CLRF    SHUA
        INCF    SHUA1
        MOVF    SHUA1,W
        XORLW   010H
        BTFSS   STATUS,Z
        GOTO    PPP

 CLRF    SHUA
        CLRF    SHUA1
        CALL    XIANSHI
        CALL    SHUCHU
PPP
;*********************************************
        BSF     STATUS,RP0
        MOVLW   B’00101000’
        MOVWF   TRISIO
        BCF     STATUS,RP0
        BTFSC   IN1       ;檢測加一鍵是否按下?
        GOTO    DEC       ;否,轉去減一鍵檢測
        CALL    DELAY     ;去抖動
        BTFSC   IN1
        GOTO    DEC

  MOVF    CB,W
        XORLW   .8
        BTFSS   STATUS,Z
        GOTO    {D_L_技術支持_內容瀏覽}6
        CLRF    CB
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
        INCF    CB           ;對查表量加一
        CALL    XIANSHI
        CALL    SHUCHU
        BTFSS   IN1
        GOTO    $-1
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
DEC     MOVF    CB,W
        XORLW   .0
        BTFSS   STATUS,Z      ;是否減到0
        GOTO    {D_L_技術支持_內容瀏覽}2           ;否,轉去減一鍵檢測
        GOTO    MAI           ;是,不再減一
        BTFSC   IN2           ;減一鍵檢測
        GOTO    MAI
        CALL    DELAY         ;去抖動
        BTFSC   IN2

 GOTO    MAI
        DECF    CB            ;對查表量減一
        CALL    XIANSHI
        CALL    SHUCHU
        BTFSS   IN2
        GOTO    $-1
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
;***************************************
DELAY;去抖動延時程序
        MOVLW   0FFH
        MOVWF   Y1
M2      MOVLW   06FH
        MOVWF   Y2
M1      DECFSZ  Y2

 GOTO    M1
        DECFSZ  Y1
        GOTO    M2
        RETURN
;**************************************
DELAY1  MOVLW   0FFH
        MOVWF   P1
Q2
        MOVLW   0FFH
        MOVWF   P2
Q1
        DECFSZ  P2
        GOTO    Q1
        DECFSZ  P1
        GOTO    Q2
        RETURN
;**************************************
XIANSHI;數碼管顯示
        MOVF    CB,W
        CALL    SHUMA
        MOVWF   TUMP
        MOVLW   .8
        MOVWF   BIT
LOOP    BCF     GPIO,CLK
        BTFSC   TUMP,0
        BSF     GPIO,AB
        BTFSS   TUMP,0
        BCF     GPIO,AB
        RRF     TUMP,F
        BSF     GPIO,CLK
        DECFSZ  BIT
        GOTO    LOOP
        RETURN
;**************************************

SHUCHU;輸出處理
        MOVF    CB,W
        CALL    CHU
        MOVWF   TUMP1
        MOVLW   .8
        MOVWF   BIT1
LOOP1   BCF     GPIO,CLK1
        BTFSC   TUMP1,0
        BSF     GPIO,AB1
        BTFSS   TUMP1,0
        BCF     GPIO,AB1
        RRF     TUMP1,F
        BSF     GPIO,CLK1
        DECFSZ  BIT1
        GOTO    LOOP1
        RETURN
;**************************************
SHUMA;數碼管顯示碼
       ADDWF   2,1
       RETLW   001H
       RETLW   037H
       RETLW   042H
       RETLW   012H
       RETLW   034H
       RETLW   018H
       RETLW   008H
       RETLW   033H
       RETLW   000H
;*************************************

CHU   ;輸出子程序
      ADDWF   2,1
      RETLW   B’11111111’
      RETLW   B’11111110’
      RETLW   B’11111101’
      RETLW   B’11111011’
      RETLW   B’11110111’
      RETLW   B’11101111’
      RETLW   B’11011111’
      RETLW   B’10111111’
      RETLW   B’01111111’
;*************************************
;        EEPROM讀寫程序
;*************************************
READ    BSF     STATUS,RP0
        MOVF    ADDR,W
        MOVWF   EEADR
        BSF     EECON1,RD
        MOVF    EEDATA,W
        RETURN
;*************************************
WRITE
        BSF     STATUS,RP0
        BTFSC   EECON1,WR
        GOTO    $-1

   MOVF    ADDR,W
        MOVWF   EEADR
        MOVF    DATE1,W
        MOVWF   EEDATA
        BSF     EECON1,WREN
        MOVLW   55H
        MOVWF   EECON2
        MOVLW   0AAH
        MOVWF   EECON2
        BSF     EECON1,WR
        BCF     EECON1,WREN
        BCF     STATUS,RP0
        RETURN
;**************************************
        END

 


2           ;否,轉去減一鍵檢測
        GOTO    MAI           ;是,不再減一
        BTFSC   IN2           ;減一鍵檢測
        GOTO    MAI
        CALL    DELAY         ;去抖動
        BTFSC   IN2

 GOTO    MAI
        DECF    CB            ;對查表量減一
        CALL    XIANSHI
        CALL    SHUCHU
        BTFSS   IN2
        GOTO    $-1
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
;***************************************
DELAY;去抖動延時程序
        MOVLW   0FFH
        MOVWF   Y1
M2      MOVLW   06FH
        MOVWF   Y2
M1      DECFSZ  Y2

 GOTO    M1
        DECFSZ  Y1
        GOTO    M2
        RETURN
;**************************************
DELAY1  MOVLW   0FFH
        MOVWF   P1
Q2
        MOVLW   0FFH
        MOVWF   P2
Q1
        DECFSZ  P2
        GOTO    Q1
        DECFSZ  P1
        GOTO    Q2
        RETURN
;**************************************
XIANSHI;數碼管顯示
        MOVF    CB,W
        CALL    SHUMA
        MOVWF   TUMP
        MOVLW   .8
        MOVWF   BIT
LOOP    BCF     GPIO,CLK
        BTFSC   TUMP,0
        BSF     GPIO,AB
        BTFSS   TUMP,0
        BCF     GPIO,AB
        RRF     TUMP,F
        BSF     GPIO,CLK
        DECFSZ  BIT
        GOTO    LOOP
        RETURN
;**************************************

SHUCHU;輸出處理
        MOVF    CB,W
        CALL    CHU
        MOVWF   TUMP1
        MOVLW   .8
        MOVWF   BIT1
LOOP1   BCF     GPIO,CLK1
        BTFSC   TUMP1,0
        BSF     GPIO,AB1
        BTFSS   TUMP1,0
        BCF     GPIO,AB1
        RRF     TUMP1,F
        BSF     GPIO,CLK1
        DECFSZ  BIT1
        GOTO    LOOP1
        RETURN
;**************************************
SHUMA;數碼管顯示碼
       ADDWF   2,1
       RETLW   001H
       RETLW   037H
       RETLW   042H
       RETLW   012H
       RETLW   034H
       RETLW   018H
       RETLW   008H
       RETLW   033H
       RETLW   000H
;*************************************

CHU   ;輸出子程序
      ADDWF   2,1
      RETLW   B’11111111’
      RETLW   B’11111110’
      RETLW   B’11111101’
      RETLW   B’11111011’
      RETLW   B’11110111’
      RETLW   B’11101111’
      RETLW   B’11011111’
      RETLW   B’10111111’
      RETLW   B’01111111’
;*************************************
;        EEPROM讀寫程序
;*************************************
READ    BSF     STATUS,RP0
        MOVF    ADDR,W
        MOVWF   EEADR
        BSF     EECON1,RD
        MOVF    EEDATA,W
        RETURN
;*************************************
WRITE
        BSF     STATUS,RP0
        BTFSC   EECON1,WR
        GOTO    $-1

   MOVF    ADDR,W
        MOVWF   EEADR
        MOVF    DATE1,W
        MOVWF   EEDATA
        BSF     EECON1,WREN
        MOVLW   55H
        MOVWF   EECON2
        MOVLW   0AAH
        MOVWF   EECON2
        BSF     EECON1,WR
        BCF     EECON1,WREN
        BCF     STATUS,RP0
        RETURN
;**************************************
        END

 


2           ;否,轉去減一鍵檢測
        GOTO    MAI           ;是,不再減一
        BTFSC   IN2           ;減一鍵檢測
        GOTO    MAI
        CALL    DELAY         ;去抖動
        BTFSC   IN2

 GOTO    MAI
        DECF    CB            ;對查表量減一
        CALL    XIANSHI
        CALL    SHUCHU
        BTFSS   IN2
        GOTO    $-1
        MOVF    CB,W
        MOVWF   DATE1
        CALL    WRITE
        GOTO    MAIN
;***************************************
DELAY;去抖動延時程序
        MOVLW   0FFH
        MOVWF   Y1
M2      MOVLW   06FH
        MOVWF   Y2
M1      DECFSZ  Y2

 GOTO    M1
        DECFSZ  Y1
        GOTO    M2
        RETURN
;**************************************
DELAY1  MOVLW   0FFH
        MOVWF   P1
Q2
        MOVLW   0FFH
        MOVWF   P2
Q1
        DECFSZ  P2
        GOTO    Q1
        DECFSZ  P1
        GOTO    Q2
        RETURN
;**************************************
XIANSHI;數碼管顯示
        MOVF    CB,W
        CALL    SHUMA
        MOVWF   TUMP
        MOVLW   .8
        MOVWF   BIT
LOOP    BCF     GPIO,CLK
        BTFSC   TUMP,0
        BSF     GPIO,AB
        BTFSS   TUMP,0
        BCF     GPIO,AB
        RRF     TUMP,F
        BSF     GPIO,CLK
        DECFSZ  BIT
        GOTO    LOOP
        RETURN
;**************************************

SHUCHU;輸出處理
        MOVF    CB,W
        CALL    CHU
        MOVWF   TUMP1
        MOVLW   .8
        MOVWF   BIT1
LOOP1   BCF     GPIO,CLK1
        BTFSC   TUMP1,0
        BSF     GPIO,AB1
        BTFSS   TUMP1,0
        BCF     GPIO,AB1
        RRF     TUMP1,F
        BSF     GPIO,CLK1
        DECFSZ  BIT1
        GOTO    LOOP1
        RETURN
;**************************************
SHUMA;數碼管顯示碼
       ADDWF   2,1
       RETLW   001H
       RETLW   037H
       RETLW   042H
       RETLW   012H
       RETLW   034H
       RETLW   018H
       RETLW   008H
       RETLW   033H
       RETLW   000H
;*************************************

CHU   ;輸出子程序
      ADDWF   2,1
      RETLW   B’11111111’
      RETLW   B’11111110’
      RETLW   B’11111101’
      RETLW   B’11111011’
      RETLW   B’11110111’
      RETLW   B’11101111’
      RETLW   B’11011111’
      RETLW   B’10111111’
      RETLW   B’01111111’
;*************************************
;        EEPROM讀寫程序
;*************************************
READ    BSF     STATUS,RP0
        MOVF    ADDR,W
        MOVWF   EEADR
        BSF     EECON1,RD
        MOVF    EEDATA,W
        RETURN
;*************************************
WRITE
        BSF     STATUS,RP0
        BTFSC   EECON1,WR
        GOTO    $-1

   MOVF    ADDR,W
        MOVWF   EEADR
        MOVF    DATE1,W
        MOVWF   EEDATA
        BSF     EECON1,WREN
        MOVLW   55H
        MOVWF   EECON2
        MOVLW   0AAH
        MOVWF   EECON2
        BSF     EECON1,WR
        BCF     EECON1,WREN
        BCF     STATUS,RP0
        RETURN
;**************************************
        END

 



联系我们: 乌兰察布市| 资兴市| 盐亭县| 响水县| 临武县| 阳原县| 娄烦县| 苏尼特右旗| 彭阳县| 白玉县| 齐齐哈尔市| 攀枝花市| 岳普湖县| 浦北县| 乌拉特前旗| 台山市| 嵊泗县| 寻甸| 施甸县| 长子县| 阜新市| 故城县| 连山| 喀什市| 连州市| 麻阳| 岱山县| 湄潭县| 高阳县| 安溪县| 泸水县| 牟定县| 上栗县| 柳河县| 新安县| 青神县| 甘孜县| 浮梁县| 广西| 四子王旗| 会泽县|