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

技術(shù)熱線: 4007-888-234
設(shè)計(jì)開發(fā)

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

開發(fā)工具

提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

新品推廣

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

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動態(tài)

ST套件上時鐘小時分鐘輪換顯示,24小時誤差5秒以內(nèi)

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

ST套件上時鐘,小時與分鐘每2秒輪換顯示,按S2調(diào)整分鐘,按S3調(diào)整小時 ;顯示小時時DP,分鐘時DP不亮 ;實(shí)際測試與手機(jī)時間對比,現(xiàn)已運(yùn)行11個小時,較準(zhǔn)確 ;mplab模擬,計(jì)算每天可能要慢5秒以內(nèi)(STOPWACH) ;初學(xué)PIC第二個程序,by wonderfulsf 12/12/2004

LIST P=16F84A,R=DEC __CONFIG B'11111111110001'

;--------------------------------

RTCC EQU 01H PC EQU 02H STATUS EQU 03H PORTA EQU 05H PORTB EQU 06H INTCON EQU 0BH OPTION_REG EQU 1H TRISA EQU 5H TRISB EQU 6H

;-----------------------STATUS C EQU 0 Z EQU 2 RP0 EQU 5

;-----------------------INTCON T0IF EQU 2 T0IE EQU 5 GIE EQU 7

;-----------------------IN PROGRAME VAR C0 EQU 10H C1 EQU 11H C2 EQU 12H TABADD EQU 13H FLAGS EQU 14H ;顯示標(biāo)志寄存,1位高/低位掃描 ;2位小時/分鐘顯示標(biāo)志 ;34位分別為分鐘/小時調(diào)整態(tài)標(biāo)志 DIS_H EQU 15H ;顯示位緩存 DIS_L EQU 16H SEC EQU 17H ;秒位 MIN_H EQU 18H ;分鐘 MIN_L EQU 19H HOU_H EQU 1AH ;小時 HOU_L EQU 1BH W_T EQU 1CH ST_T EQU 1DH DIGMS EQU 1EH ;5ms計(jì)數(shù) ;------------------------

ORG 0000H GOTO MAIN ORG 004H TIME MOVWF W_T SWAPF STATUS,W MOVWF ST_T

MOVLW 100 MOVWF RTCC BCF INTCON,T0IF

MOVLW 0FFH ;關(guān)閉數(shù)碼管 MOVWF PORTB ;B口高電平 BSF PORTA,1 ;A口高電平 BSF PORTA,2

BTFSC FLAGS,3 ;3位調(diào)整分鐘時只顯示分鐘不切換顯示 BSF FLAGS,2 BTFSC FLAGS,4 ;4位調(diào)整小時時只顯示小時 BCF FLAGS,2 MOVFW MIN_H ;顯示分鐘或小時,由FLAG(2)位決定 BTFSS FLAGS,2 ;1時顯示分種 MOVFW HOU_H MOVWF DIS_H

MOVFW MIN_L BTFSS FLAGS,2 MOVFW HOU_L MOVWF DIS_L

MOVLW TABLE ;B口顯示數(shù)據(jù),高低位由FLAGS(1)位決定 MOVWF TABADD MOVFW DIS_L BTFSS FLAGS,1 MOVFW DIS_H ADDWF TABADD,W CALL CONVERT MOVWF PORTB BTFSS FLAGS,2 ;顯示小時時DPBCF PORTB,7 BTFSS FLAGS,1 BCF PORTA,1 BTFSC FLAGS,1 BCF PORTA,2 MOVLW 00000010B XORWF FLAGS,1

;------------------------------------顯示完成,FLAGS(1)取反 INCF DIGMS,1 ;5ms計(jì)時,200次進(jìn)秒 MOVLW 200 XORWF DIGMS,0 BNZ TIMEND CLRF DIGMS

INCF SEC,1 BCF FLAGS,2 BTFSS SEC,1 BSF FLAGS,2 ;2秒種,小時/分鐘交換 MOVLW 60 XORWF SEC,0 BNZ TIMEND CLRF SEC INCF MIN_L,1 MOVLW 10 XORWF MIN_L,0 BNZ TIMEND CLRF MIN_L

INCF MIN_H,1 MOVLW 6 XORWF MIN_H,0 BNZ TIMEND CLRF MIN_H

MOVLW 2 XORWF HOU_H,0 BZ HOU1 INCF HOU_L,1 MOVLW 10 XORWF HOU_L,0 BNZ TIMEND CLRF HOU_L INCF HOU_H,1 GOTO TIMEND HOU1 INCF HOU_L,1 MOVLW 4 XORWF HOU_L,0 BNZ TIMEND CLRF HOU_L CLRF HOU_H

TIMEND SWAPF ST_T,W MOVWF STATUS SWAPF W_T,F SWAPF W_T,W RETFIE

;-------------------------------------- MAIN CLRF PORTA CLRF PORTB

BSF STATUS,RP0 MOVLW 00011000B MOVWF TRISA MOVLW 00000000B MOVWF TRISB MOVLW 10000100B MOVWF OPTION_REG BCF STATUS,RP0

MOVLW 100 MOVWF RTCC MOVLW 0FFH MOVWF PORTB BSF PORTA,1 BSF PORTA,2 CLRF DIGMS CLRF DIS_L CLRF DIS_H CLRF MIN_L CLRF MIN_H CLRF HOU_L CLRF HOU_H BCF INTCON,T0IF BSF INTCON,T0IE BSF INTCON,GIE ;---------------------------------------- LOOP BCF FLAGS,3 BCF FLAGS,4 BTFSS PORTA,3 GOTO SET_1 BTFSS PORTA,4 GOTO SET_2 GOTO LOOP ;----------------------------------- SET_1 BTFSC PORTA,3 ;S2按下,去抖動后,調(diào)整分鐘 GOTO LOOP CALL DELAY BTFSC PORTA,3 GOTO LOOP

BSF FLAGS,3 INCF MIN_L,1 MOVLW 10 XORWF MIN_L,0 BNZ SET_1 CLRF MIN_L

INCF MIN_H,1 MOVLW 6 XORWF MIN_H,0 BNZ SET_1 CLRF MIN_H GOTO SET_1 ;----------------------------------- SET_2 BTFSC PORTA,4 ;S3按下后調(diào)整小時 GOTO LOOP CALL DELAY BTFSC PORTA,4 GOTO LOOP

BSF FLAGS,4 MOVLW 2 XORWF HOU_H,0 BZ HOU2 INCF HOU_L,1 MOVLW 10 XORWF HOU_L,0 BNZ SET_2 CLRF HOU_L INCF HOU_H,1 GOTO SET_2 HOU2 INCF HOU_L,1 MOVLW 4 XORWF HOU_L,0 BNZ SET_2 CLRF HOU_L CLRF HOU_H GOTO SET_2

;----------------------------------- DELAY MOVLW 150 ;延時0.1S MOVWF C1 L2 MOVLW 255 MOVWF C2 L3 DECFSZ C2,1 GOTO L3 DECFSZ C1,1 GOTO L2 RETLW 0 ;----------------------------------- CONVERT MOVWF PC TABLE RETLW 081H RETLW 0E7H RETLW 092H RETLW 0A2H RETLW 0E4H RETLW 0A8H RETLW 088H RETLW 0E3H RETLW 080H RETLW 0A0H ;----- -------------------------------------- END

 



联系我们: 博野县| 武平县| 阿克苏市| 永昌县| 吴桥县| 余姚市| 当涂县| 普格县| 全州县| 确山县| 工布江达县| 平武县| 襄樊市| 汪清县| 个旧市| 彝良县| 旌德县| 阳东县| 靖远县| 嘉兴市| 赫章县| 醴陵市| 双牌县| 沈阳市| 吴桥县| 姜堰市| 辉南县| 临夏县| 桦甸市| 淅川县| 巫溪县| 内乡县| 历史| 罗平县| 介休市| 辰溪县| 商河县| 疏附县| 旌德县| 江安县| 年辖:市辖区|