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

📄 10hz.asm

📁 本资源包含了单片机键盘、a/d、频率测试等源代码
💻 ASM
📖 第 1 页 / 共 4 页
字号:
            CALL WT24

			CALL DISP_1
            CALL DISP_2
            CALL DISP_3  
          
            MOVF SHU1FM,0
            MOVWF DAT
            MOVLW 0X04
            CALL WT24
		
            MOVF SHU1OT,0
            SUBWF SHU1FT,0
            BTFSC STATUS,2
            GOTO VICT2
            MOVF SHU1OT,0
            SUBWF SHU1FT,0
            BTFSS STATUS,0
            GOTO VICT21
            BSF BZD1,BZD1F
            GOTO OK2
VICT2       MOVF SHU1OM,0
            SUBWF SHU1FM,0
            BTFSS STATUS,0
            GOTO VICT21
            BSF BZD1,BZD1F
            GOTO OK2
VICT21      BCF BZD1,BZD1F
OK2         MOVLW 0X20
            SUBWF SHU1FT,0
            BTFSC STATUS,0
            GOTO OK2B
            BSF BZD1,BZD1ALL
            GOTO OK2A
OK2B        BCF BZD1,BZD1ALL
OK2A        MOVF SHU2OT,0
            MOVWF TI
            MOVF SHU2OM,0
            MOVWF MI
            ;CALL WR2401
            MOVF SECON,0   ;设置第2次开机时间
            MOVWF WENDU
LOOP3       CLRWDT
            INCF SS50,1
            
            CALL DISP_1 
            CALL DISP_2 
            CALL DISP_3
			CLRWDT
            
            CLRF SS50
;QF41        CALL DISP_1 
QF40        BTFSS PORTB,6           ;UP?
            CALL TADD                ;小时加
            BTFSS PORTB,7
            CALL MADD                ;分钟加
            ;BTFSC BZD,BZSET           ;防止设置按键去抖功能,BZSET进入正常设置子程序,BZSET1是按键预设置
            BTFSS PORTB,5
            GOTO SET2F
            
PNP4        INCF BJ15S,1         ;15秒内未设置完自动返回
            CLRWDT
			MOVLW 0XFE
            SUBWF BJ15S,0
            BTFSS STATUS,0
            GOTO LOOP3
            CLRF BJ15S
            INCF BJ15SH,1
            MOVLW 0X07
            SUBWF BJ15SH,0
            BTFSS STATUS,0
            GOTO LOOP3
            CLRF BJ15SH
            CLRF BJ15S
            CLRF BZD
            CLRF SS50
            RETURN
;=================================第二次时间设置OFF====================================

SET2F       CLRF SS50
            CALL DISP_1
            CALL DISP_2
            CALL DISP_3
            CLRWDT
            BTFSS PORTB,5
            GOTO SET2F
            BCF BZD,BZSET
            BCF BZD,BZSET1
            CLRF BJ15S 
            CLRF BJ15SH
            BTFSS BZD,BZOK
            GOTO OK3
            MOVF TI,0
            MOVWF SHU2OT
            MOVF MI,0
            MOVWF SHU2OM
            BCF BZD,BZOK
            MOVF SHU2OT,0
            MOVWF DAT
            MOVLW 0X05
            CALL WT24

            CALL DISP_1
            CALL DISP_2
            CALL DISP_3

            MOVF SHU2OM,0
            MOVWF DAT
            MOVLW 0X06
            CALL WT24
		
            MOVF SHU2OT,0
            SUBWF SHU2FT,0
            BTFSC STATUS,2
            GOTO VICT3
            MOVF SHU2OT,0
            SUBWF SHU2FT,0
            BTFSS STATUS,0
            GOTO VICT31
            BSF BZD1,BZD1S
            GOTO OK3
VICT3       MOVF SHU2OM,0
            SUBWF SHU2FM,0
            BTFSS STATUS,0
            GOTO VICT31
            BSF BZD1,BZD1S
            GOTO OK3
VICT31      BCF BZD1,BZD1S
OK3         MOVF SHU2FT,0
            MOVWF TI
            MOVF SHU2FM,0
            MOVWF MI
            ;CLRW
            ;CALL WR2401
            MOVF SECOFF,0   ;设置第2次关机时间
            MOVWF WENDU
LOOP4       CLRWDT
            
            
            CALL DISP_1 
            CALL DISP_2 
            CALL DISP_3
            
         

QF50        BTFSS PORTB,6           ;UP?
            CALL TADD                ;小时加
            BTFSS PORTB,7
            CALL MADD                ;分钟加
                      ;防止设置按键去抖功能,BZSET进入正常设置子程序,BZSET1是按键预设置
            BTFSS PORTB,5
            GOTO SET3O
            
PNP5        INCF BJ15S,1         ;15秒内未设置完自动返回
            CLRWDT
			MOVLW 0XFE
            SUBWF BJ15S,0
            BTFSS STATUS,0
            GOTO LOOP4
            CLRF BJ15S
            INCF BJ15SH,1
            MOVLW 0X07
            SUBWF BJ15SH,0
            BTFSS STATUS,0
            GOTO LOOP4
            CLRF BJ15SH
            CLRF BJ15S
            CLRF BZD
            CLRF SS50
            RETURN
;================================第三次时间设置ON====================================
SET3O       CLRF SS50
            CALL DISP_1
            CALL DISP_2
            CALL DISP_3
            CLRWDT
            BTFSS PORTB,5
            GOTO SET3O
            BCF BZD,BZSET
            BCF BZD,BZSET1
            CLRF BJ15S 
            CLRF BJ15SH
            BTFSS BZD,BZOK
            GOTO OK4
            MOVF TI,0
            MOVWF SHU2FT
            MOVF MI,0
            MOVWF SHU2FM
            BCF BZD,BZOK
            MOVF SHU2FT,0
            MOVWF DAT
            MOVLW 0X07
            CALL WT24

           	CALL DISP_1
            CALL DISP_2
            CALL DISP_3

            MOVF SHU2FM,0
            MOVWF DAT
            MOVLW 0X08
            CALL WT24
		
            MOVF SHU2OT,0
            SUBWF SHU2FT,0
            BTFSC STATUS,2
            GOTO VICT4
            MOVF SHU2OT,0
            SUBWF SHU2FT,0
            BTFSS STATUS,0
            GOTO VICT41
            BSF BZD1,BZD1S
            GOTO OK4
VICT4       MOVF SHU2OM,0
            SUBWF SHU2FM,0
            BTFSS STATUS,0
            GOTO VICT41
            BSF BZD1,BZD1S
            GOTO OK4
VICT41      BCF BZD1,BZD1S
OK4         MOVF SHU3OT,0
            MOVWF TI
            MOVF SHU3OM,0
            MOVWF MI
           
            MOVF THIRON,0   ;设置第3次开机时间
            MOVWF WENDU
LOOP5       CLRWDT
             INCF SS50,1
           
            CALL DISP_1 
            CALL DISP_2 
            CALL DISP_3
           
	        CLRWDT
            CLRF SS50
;QF61        CALL DISP_1 
QF60        BTFSS PORTB,6           ;UP?
            CALL TADD                ;小时加
            BTFSS PORTB,7
            CALL MADD                ;分钟加
            ;BTFSC BZD,BZSET           ;防止设置按键去抖功能,BZSET进入正常设置子程序,BZSET1是按键预设置
            BTFSS PORTB,5
            GOTO SET3F
            
PNP6        INCF BJ15S,1         ;15秒内未设置完自动返回
            CLRWDT
			MOVLW 0XFE
            SUBWF BJ15S,0
            BTFSS STATUS,0
            GOTO LOOP5
            CLRF BJ15S
            INCF BJ15SH,1
            MOVLW 0X07
            SUBWF BJ15SH,0
            BTFSS STATUS,0
            GOTO LOOP5
            CLRF BJ15SH
            CLRF BJ15S
            CLRF BZD
             CLRF SS50
            RETURN
;=================================第3次时间设置OFF====================================

SET3F      CLRF SS50 
           CALL DISP_1
            CALL DISP_2
            CALL DISP_3
             CLRWDT
            BTFSS PORTB,5
            GOTO SET3F
            BCF BZD,BZSET
            BCF BZD,BZSET1
            CLRF BJ15S 
            CLRF BJ15SH
            BTFSS BZD,BZOK
            GOTO OK5
            MOVF TI,0
            MOVWF SHU3OT
            MOVF MI,0
            MOVWF SHU3OM
            BCF BZD,BZOK
            MOVF SHU3OT,0
            MOVWF DAT
            MOVLW 0X09
            CALL WT24

           	 CALL DISP_1
            CALL DISP_2
            CALL DISP_3

            MOVF SHU3OM,0
            MOVWF DAT
            MOVLW 0X0A
            CALL WT24
		
            MOVF SHU3OT,0
            SUBWF SHU3FT,0
            BTFSC STATUS,2
            GOTO VICT5
            MOVF SHU3OT,0
            SUBWF SHU3FT,0
            BTFSS STATUS,0
            GOTO VICT51
            BSF BZD1,BZD1T
            GOTO OK5
VICT5       MOVF SHU3OM,0
            SUBWF SHU3FM,0
            BTFSS STATUS,0
            GOTO VICT51
            BSF BZD1,BZD1T
            GOTO OK5
VICT51      BCF BZD1,BZD1T
OK5         MOVF SHU3FT,0
            MOVWF TI
            MOVF SHU3FM,0
            MOVWF MI
            MOVF THIROFF,0   ;设置第3次关机时间
            MOVWF WENDU
LOOP6       CLRWDT
            INCF SS50,1
          
           CALL DISP_1 
            CALL DISP_2 
            CALL DISP_3
          
            CLRF SS50
		    CLRWDT
;QF71        CALL DISP_1 
QF70        BTFSS PORTB,6           ;UP?
            CALL TADD                ;小时加
            BTFSS PORTB,7
            CALL MADD                ;分钟加
            ;BTFSC BZD,BZSET           ;防止设置按键去抖功能,BZSET进入正常设置子程序,BZSET1是按键预设置
            BTFSS PORTB,5
            GOTO SETTIME
           
PNP7        INCF BJ15S,1         ;15秒内未设置完自动返回
           CLRWDT
			 MOVLW 0XFE
            SUBWF BJ15S,0
            BTFSS STATUS,0
            GOTO LOOP6
            CLRF BJ15S
            INCF BJ15SH,1
            MOVLW 0X07
            SUBWF BJ15SH,0
            BTFSS STATUS,0
            GOTO LOOP6
            CLRF BJ15SH
            CLRF BJ15S
            CLRF BZD
            CLRF SS50
            RETURN
;============================设置时钟调整=============================
SETTIME     CLRF SS50
            CALL DISP_1
            CALL DISP_2
            CALL DISP_3
            CLRWDT
            BTFSS PORTB,5
            GOTO SETTIME
            BCF BZD,BZSET
            BCF BZD,BZSET1
            CLRF BJ15S
            CLRF BJ15SH
            BTFSS BZD,BZOK
            GOTO OK6
            MOVF TI,0
            MOVWF SHU3FT
            MOVF MI,0
            MOVWF SHU3FM
            BCF BZD,BZOK
            MOVF SHU3FT,0
            MOVWF DAT
            MOVLW 0X0B
            CALL WT24
            CALL DISP_1
            CALL DISP_2
            CALL DISP_3

			CLRWDT
            MOVF SHU3FM,0
            MOVWF DAT
            MOVLW 0X0C
            CALL WT24
		
            MOVF SHU3OT,0
            SUBWF SHU3FT,0
            BTFSC STATUS,2
            GOTO VICT6
            MOVF SHU3OT,0
            SUBWF SHU3FT,0
            BTFSS STATUS,0
            GOTO VICT61
            BSF BZD1,BZD1T
            GOTO OK6
VICT6       MOVF SHU3OM,0
            SUBWF SHU3FM,0
            BTFSS STATUS,0
            GOTO VICT61
            BSF BZD1,BZD1T
            GOTO OK6
VICT61      BCF BZD1,BZD1T
OK6         MOVF SHUTIME,0
            MOVWF TI
            MOVF SHUMIN,0
            MOVWF MI
            MOVF TIMESET,0   ;设置时钟显示调整
            MOVWF WENDU
LOOP7       CLRWDT
            INCF SS50,1
           
            CALL DISP_1 
            CALL DISP_2 
            CALL DISP_3
            
            CLRF SS50
			CLRWDT

QF80        BTFSS PORTB,6           ;UP?
            CALL TADD                ;小时加
            BTFSS PORTB,7
            CALL MADD                ;分钟加
            ;BTFSC BZD,BZSET           ;防止设置按键去抖功能,BZSET进入正常设置子程序,BZSET1是按键预设置
            BTFSS PORTB,5
            GOTO SET9
          
PNP8        INCF BJ15S,1         ;15秒内未设置完自动返回
            CLRWDT
			MOVLW 0XFE
            SUBWF BJ15S,0
            BTFSS STATUS,0
            GOTO LOOP7
            CLRF BJ15S
            INCF BJ15SH,1
            MOVLW 0X07
            SUBWF BJ15SH,0
            BTFSS STATUS,0
            GOTO LOOP7
            CLRF BJ15SH
            CLRF BJ15S
            CLRF BZD
            CLRF SS50
            RETURN

SET9        CLRF SS50
            CALL DISP_1
            CALL DISP_2
            CALL DISP_3
            CLRWDT
            BTFSS PORTB,5
            GOTO SET9
            BCF BZD,BZSET
            BCF BZD,BZSET1
            CLRF BJ15S
            CLRF BJ15SH
            BTFSS BZD,BZOK
            GOTO SET91
            MOVF TI,0
            MOVWF SHUTIME
            MOVF MI,0
            MOVWF SHUMIN
            MOVF SHUTIME,0
            MOVWF DAT
            MOVLW 0X04
            CALL WT8563

            CALL DISP_1
            CALL DISP_2
            CALL DISP_3
	        CLRWDT
            MOVF SHUMIN,0
            MOVWF DAT
            MOVLW 0X03
            CALL WT8563

			CALL DISP_1
            CALL DISP_2
            CALL DISP_3

SET91       CLRF BJ15S
            CLRF BJ15SH
            CLRF BZD
            CLRF SS50
            RETURN










;===============================温度增加子程序==================================        
TEADD       BSF BZD,BZOK
            CALL DISP_1
            CALL DISP_2
            CALL DISP_3
             CLRWDT 
            BTFSS PORTB,6
            GOTO TEADD
            CLRF BJ15S
            CLRF BJ15SH
            INCF WENDU,1
            MOVLW 0X9A
            SUBWF WENDU,0
            BTFSC STATUS,0
            GOTO TEADD1
            MOVLW 0X0F
            ANDWF WENDU,0
            MOVWF R1
            MOVLW 0XF0
            ANDWF WENDU,0
            MOVWF R2
            MOVLW 0X0A
            SUBWF R1,0
            BTFSS STATUS,0
            RETURN
            MOVLW 0XF0
            ANDWF WENDU,1
            MOVLW 0X10
            ADDWF WENDU,0
            MOVWF WENDU
            RETURN
TEADD1      CLRF WENDU
            RETURN
;===============================================================================================
;============================温度减小子程序=======================================
TESUB       BSF BZD,BZOK
            CALL DISP_1
            CALL DISP_2
            CALL DISP_3
            CLRWDT
            BTFSS PORTB,7
            GOTO TESUB
            CLRF BJ15S
            DECF WENDU,1
            MOVLW 0XF0
            SUBWF WENDU,0
            BTFSC STATUS,0
            GOTO TESUB1
            MOVLW 0X0F
            ANDWF WENDU,0
            MOVWF R1
            MOVLW 0XF0
            ANDWF WENDU,0
            MOVWF R2
            MOVLW 0X0A
            SUBWF R1,0
            BTFSS STATUS,0
            RETURN
            MOVLW 0XF0
            ANDWF WENDU,1
            MOVLW 0X00
            SUBWF WENDU,1
            MOVLW 0X09
            ADDWF WENDU,0
            MOVWF WENDU
            RETURN
TESUB1      MOVLW 0X99
            MOVWF WENDU
            RETURN
;========================================================================================
;===================================小时增加子程序==========================================
TADD       BSF BZD,BZOK
           CALL DISP_1
            CALL DISP_2
            CALL DISP_3
             CLRWDT 
            BTFSS PORTB,6
            GOTO TADD
            CLRF BJ15S
            INCF TI,1
            MOVLW 0X24
            SUBWF TI,0
            BTFSC STATUS,0
            GOTO TADD1
            MOVLW 0X0F
            ANDWF TI,0
            MOVWF R1
            MOVLW 0XF0
            ANDWF TI,0
            MOVWF R2
            MOVLW 0X0A
            SUBWF R1,0
            BTFSS STATUS,0
            RETURN
            MOVLW 0XF0
            ANDWF TI,1
            MOVLW 0X10
            ADDWF TI,1
            RETURN 
TADD1       CLRF TI
            RETURN
;========================================================================================
;============================================分钟增加子程序======================
MADD        BSF BZD,BZOK
            CALL DISP_1

⌨️ 快捷键说明

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