技术热线: 4007-888-234

有关PIC12F629

更新时间: 2019-03-26
阅读量:2042

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