專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!
提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力
提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)
;24小時(shí)循環(huán)定時(shí)器
;*************************************
LIST P=PIC16F84A
#INCLUDE P16F84A.INC ;選定芯片型號
;*************************************
COUNTER1 EQU 1FH ;選定RAM內(nèi)部地址用作計(jì)時(shí)的儲(chǔ)存器
COUNTER2 EQU 1EH ;命名為計(jì)數(shù)器
COUNTER3 EQU 1DH
COUNTER4 EQU 1CH
COUNTER5 EQU 1BH
COUNTER6 EQU 1AH
COUNTER7 EQU 19H
ORG 0 ;復(fù)位矢量
GOTO START
ORG D'12' ;從地址12開始存放程序
START MOVLW 0
BSF STATUS,RP0 ;選體1
MOVWF TRISB ;設(shè)B口為輸出
MOVLW B'00000001' ;設(shè)A口的0位為輸入
MOVWF TRISA
BCF STATUS,RP0 ;恢復(fù)到體0
CLRF PORTB
CLRW
CLRF COUNTER1
CLRF COUNTER2 ;選定的計(jì)數(shù)器清零
CLRF COUNTER3
CLRF COUNTER4
CLRF COUNTER5
CLRF COUNTER6
CLRF COUNTER7
;*********************************
LOOP0 BTFSC PORTA,0 ;按鍵按下,24小時(shí)定時(shí)開始
GOTO LOOP0
LOOPE CLRF COUNTER5 ;24小時(shí)定時(shí)一到,一次清零
MOVLW D'24'
MOVWF COUNTER6 ;設(shè)定24小時(shí)定時(shí)量
CLRF PORTB
HOUR CLRW
MOVLW D'60'
MOVWF COUNTER4 ;每小時(shí)的定時(shí)值
LOOPD MOVLW D'60'
MOVWF COUNTER7 ;每分的定時(shí)值
MIN CALL SECOND ;調(diào)用秒計(jì)時(shí)子程序
DECFSZ COUNTER7,1 ;積60秒(1分)
GOTO MIN
DECFSZ COUNTER4,1 ;積60分(1小時(shí))
GOTO LOOPD
INCF COUNTER5,1 ;小時(shí)2進(jìn)制計(jì)數(shù)
MOVF COUNTER5,0
MOVWF PORTB ;送B口LED顯示
DECFSZ COUNTER6,1
GOTO HOUR ;B口小時(shí)循環(huán)
GOTO LOOPE ;24小時(shí)到,跳到標(biāo)號處從新循環(huán)
;*************************************
SECOND ORG D'80' ;秒定時(shí)子程序
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