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

📄 24小时循环定时器.asm

📁 电子密码锁程序 数码管LED显示器max7219的应用.asm 16F877网络接口控制器GOOD.asmRs232a.asm24CXX.ASM
💻 ASM
字号:
利用这个程序,略加改动,就可以实现各种时间精确定时的目的
;24小时循环定时器
;*************************************  
   LIST  P=PIC16F84A
   #INCLUDE P16F84A.INC   ;选定芯片型号
;*************************************
COUNTER1 EQU  1FH      ;选定RAM内部地址用作计时的储存器
COUNTER2 EQU  1EH      ;命名为计数器
COUNTER3 EQU  1DH
COUNTER4 EQU  1CH
COUNTER5 EQU  1BH
COUNTER6 EQU  1AH
COUNTER7 EQU  19H
   ORG  0      ;复位矢量
   GOTO START
   ORG  D'12'     ;从地址12开始存放程序
START  MOVLW 0
   BSF  STATUS,RP0    ;选体1
   MOVWF TRISB     ;设B口为输出
   MOVLW B'00000001'    ;设A口的0位为输入
   MOVWF TRISA
   BCF  STATUS,RP0    ;恢复到体0
   CLRF PORTB
   CLRW
   CLRF COUNTER1
   CLRF COUNTER2    ;选定的计数器清零
   CLRF COUNTER3
   CLRF COUNTER4  
   CLRF COUNTER5
   CLRF COUNTER6  
   CLRF COUNTER7
;*********************************
LOOP0  BTFSC PORTA,0     ;按键按下,24小时定时开始
   GOTO LOOP0
LOOPE  CLRF COUNTER5    ;24小时定时一到,一次清零
   MOVLW D'24'
   MOVWF COUNTER6    ;设定24小时定时量
   CLRF PORTB
HOUR  CLRW 
   MOVLW D'60'
   MOVWF COUNTER4    ;每小时的定时值
LOOPD  MOVLW D'60' 
   MOVWF COUNTER7    ;每分的定时值
MIN   CALL SECOND     ;调用秒计时子程序
   DECFSZ COUNTER7,1    ;积60秒(1分)
   GOTO MIN
   DECFSZ COUNTER4,1    ;积60分(1小时)
   GOTO LOOPD
   INCF COUNTER5,1    ;小时2进制计数
   MOVF COUNTER5,0
   MOVWF PORTB     ;送B口LED显示
   DECFSZ COUNTER6,1
   GOTO HOUR     ;B口小时循环
   GOTO LOOPE     ;24小时到,跳到标号处从新循环
;*************************************
SECOND  ORG  D'80'     ;秒定时子程序
   BSF  PORTB,7
LOOPT  DECFSZ COUNTER1,1
   GOTO LOOPT
   DECFSZ COUNTER2,1
   GOTO LOOPT
   BCF  PORTB,7
LOOPF  INCFSZ COUNTER1,1
   GOTO LOOPF
   INCFSZ COUNTER2,1
   GOTO LOOPF
   CLRW
   MOVLW 0X89
   MOVWF COUNTER3
LOOPN  INCFSZ COUNTER1,1
   GOTO LOOPN
   INCFSZ COUNTER3,1
   GOTO LOOPN
   MOVLW D'82'
   MOVWF COUNTER1
LOOPV  DECFSZ COUNTER1,1
   GOTO LOOPV
   RETURN
   END

⌨️ 快捷键说明

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