www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 單片機 > 單片機
[導讀] ;*******************************************;數(shù)字鐘程序;******************************************* LIST P=16F877 INCLUDE BCDMIAO EQU 70H;存放秒的二進制轉化為BCD后的BCD嗎BCDFEN EQU 71H;存

;*******************************************
;數(shù)字鐘程序
;*******************************************
LIST P=16F877

INCLUDE BCDMIAO EQU 70H;存放秒的二進制轉化為BCD后的BCD嗎
BCDFEN EQU 71H;存分的
BCDSHI EQU 72H;存十的
GMIAO EQU 73H;秒個位寄存器
SMIAO EQU 74H;十位
GFEN EQU 75H;分個位寄存器
SFEN EQU 76H;十位
GSHI EQU 77H;時個位寄存器
SSHI EQU 78H;十位
COUNT EQU 79H;計數(shù)器
DY1 EQU 7AH;延時計數(shù)器1
DY2 EQU 7BH;延時計數(shù)器2
WTEMP EQU 7CH;W備份寄存器
STEMP EQU 7DH;STATUS備份寄存器
TEMP EQU 7EH;定時器0初值寄存器
RBTEMP EQU 7FH;RB口寄存器
DY5 EQU 20H;延時計數(shù)器5
DY6 EQU 21H;6
PCLATH_TEMP EQU 22H;PCLATH備份寄存器
DISPBUF EQU 24H ;顯示值暫存
DISPBUF_H EQU 25H ;顯示器高位
DISPBUF_L EQU 26H ;顯示器低位
BUFFER EQU 27H;移位寄存器(之所以這樣稱呼它,是應為BUFFER1中得數(shù)左移到它中)
BUFFER1 EQU 28H;存放個/分/時的數(shù)據(jù)(可對它進行移位)
SUM EQU 29H;判斷寄存器(判斷高低四位加三后是否大于7)
DIGHT EQU 2AH ;存放個/分/時的數(shù)據(jù)(中轉寄存器)
CMIAO EQU 30H;存秒的數(shù)(二進制)
CFEN EQU 31H;分的
CSHI EQU 32H;時的
COUNTER EQU 33H
;主程序
ORG 0000H
GOTO MAIN
ORG 0004H
GOTO SERVE
ORG 0005H
MAIN NOP;
BCF STATUS,RP0;
MOVLW 00H;P口清0
MOVWF PORTC;
BSF STATUS,RP0;
MOVLW 00H ;P口輸出
MOVWF TRISC;
MOVLW 0FFH;
MOVWF TRISB;
MOVLW 47H;INT上升沿觸發(fā),分頻器為TMR0,1:256
MOVWF OPTION_REG;
BCF STATUS,RP0;
MOVLW 0F8H;開中斷
MOVWF INTCON;
BCF INTCON,T0IF;清標志位
BCF INTCON,INTF;
BCF INTCON,RBIF;
CLRF CMIAO;清存寄存器
CLRF CFEN;
CLRF CSHI;
MOVLW D'20';設置定時期的中斷次數(shù)
MOVWF COUNT;
MOVLW D'60';定時期初值
MOVWF TEMP;
MOVWF TMR0;開定時期
;循環(huán)掃描程序
SHAOMIAO
BCF STATUS,RP0;
MOVF CMIAO,0;
MOVWF DIGHT;秒位數(shù)據(jù)送出轉換為BCD碼
CALL BCD2;
MOVWF BCDMIAO;帶會BCD碼
MOVWF GMIAO;給秒的個位積存器
MOVLW 0FH;屏蔽高四位
ANDWF GMIAO;
MOVLW 50H;位選碼
IORWF GMIAO;BCD碼+位選
MOVF GMIAO,0;
MOVWF PORTC;送顯
CALL YANSHI;

MOVF BCDMIAO,0;同上
MOVWF SMIAO;
MOVLW 0F0H;
ANDWF SMIAO,1;
SWAPF SMIAO,1;注意此處要反轉
MOVLW 40H;
IORWF SMIAO;
MOVF SMIAO,0;
MOVWF PORTC;
CALL YANSHI;

MOVF CFEN,0;同上
MOVWF DIGHT;
CALL BCD2;
MOVWF BCDFEN;
MOVWF GFEN;
MOVLW 0FH;
ANDWF GFEN;
MOVLW 30H;
IORWF GFEN;
MOVF GFEN,0;
MOVWF PORTC;
CALL YANSHI;

MOVF BCDFEN,0;
MOVWF SFEN;
MOVLW 0F0H;
ANDWF SFEN;
SWAPF SFEN;
MOVLW 20H;
IORWF SFEN;
MOVF SFEN,0;
MOVWF PORTC;
CALL YANSHI;

MOVF CSHI,0;
MOVWF DIGHT;
CALL BCD2;
MOVWF BCDSHI;
MOVWF GSHI;
MOVLW 0FH;
ANDWF GSHI;
MOVLW 10H;
IORWF GSHI;
MOVF GSHI,0;
MOVWF PORTC;
CALL YANSHI;

MOVF BCDSHI,0;
MOVWF SSHI;
MOVLW 0F0H;
ANDWF SSHI;
SWAPF SSHI;
MOVLW 00H;
IORWF SSHI;
MOVF SSHI,0;
MOVWF PORTC;
CALL YANSHI;
GOTO SHAOMIAO;循環(huán)掃描
;查中斷源
SERVE MOVWF WTEMP;
SWAPF STATUS,W;
CLRF STATUS;
MOVWF STEMP;保護現(xiàn)場
MOVF PCLATH,W;
MOVWF PCLATH_TEMP;
CLRF PCLATH
BTFSS INTCON,INTF;是INT中斷嗎?
GOTO SERVE1;不是,轉SERVE1
GOTO INTT;是,轉INT中斷處理
SERVE1 BTFSS INTCON,T0IF;是定時期中斷嗎?
GOTO SERVE2;不是,轉SERVE2
GOTO T0II;是,轉定時期中斷處理
SERVE2 BTFSS INTCON,RBIF;是RB中斷嗎?
GOTO SERVE3;不是,返回
GOTO PDRB;是,轉RB中斷處理
SERVE3 RETFIE



;定時器中斷處理
T0II

BCF INTCON,T0IF;清中斷標志位
BCF INTCON,T0IE;關定時期中斷
MOVF TEMP,0;重新值數(shù)
MOVWF TMR0;
BCF INTCON,GIE;防止/原因是:產(chǎn)生中斷時,GIE位清0,并轉入中斷入口,當GIE清0后,如果這時正好CPU在執(zhí)行
BSF INTCON,T0IE;產(chǎn)生/一條對INTCON“讀,修改,寫”的指令,則GIE位還會被寫會操作重新值1,這樣會使CPU
BSF INTCON,GIE;兩次中斷/產(chǎn)生兩次中斷,解決的辦法就是,在對INTCON進行修改之前,事先值GIE=0,修改完后
DECFSZ COUNT,1;/再恢復GIE=1。
GOTO LOOP;返回
MOVLW D'20';
MOVWF COUNT;賦記數(shù)次數(shù)
INCF CMIAO,1;
MOVLW D'60';
XORWF CMIAO,W;
BTFSS STATUS,Z;
GOTO LOOP;
CLRF CMIAO;60秒到清0
INCF CFEN;
MOVLW D'60';
XORWF CFEN,W;
BTFSS STATUS,Z;
GOTO LOOP;
CLRF CFEN;60分到清0
INCF CSHI;
MOVLW D'24';
XORWF CSHI,W;
BTFSS STATUS,Z;
GOTO LOOP;
CLRF CSHI;24時到清0
RETFIE;

;判斷是那一個產(chǎn)生的中斷
PDRB MOVF PORTB,0;
MOVWF RBTEMP ;
BTFSC RBTEMP,5;是0嗎?是轉向RBII
GOTO RBIII;不是,轉向RBIII
;RB5口中斷處理 調秒

RBII
CALL DELAY;去抖
BTFSC PORTB,5;是下降沿嗎?
GOTO LOOP8;不是,轉(清除上升沿產(chǎn)生的虛假中斷)
MOVF PORTB,1;讀PORTB,終結失陪條件
BCF INTCON,RBIF;清標志位
; BCF INTCON,T0IF
BCF INTCON,T0IE;關定時期中斷
MOVF TEMP,0;
MOVWF TMR0;重新賦值
BSF INTCON,T0IE;開定時期中斷
INCF CMIAO,1;
MOVLW D'60';
XORWF CMIAO,W;判斷到60秒了嗎?
BTFSS STATUS,Z;
GOTO LOOP;返回
CLRF CMIAO;
INCF CFEN,1;
RETFIE
LOOP8
MOVF PORTB,1;清除RBIF前要讀口
BCF INTCON,RBIF;
RETFIE
;RB4口中斷處理 調分
RBIII
CALL DELAY;去抖
BTFSC PORTB,4;
GOTO LOOP8;
MOVF PORTB,1;
BCF INTCON,RBIF;
BCF INTCON,T0IE;
; BCF INTCON,T0IF
MOVF TEMP,W;
MOVWF TMR0;
BSF INTCON,T0IE;
INCF CFEN,1;
MOVLW D'60';
XORWF CFEN,W;
BTFSS STATUS,Z;
GOTO LOOP;
CLRF CFEN;
INCF CSHI;
RETFIE

;外部中斷處理 調時
INTT
BCF INTCON,INTF;
CALL DELAY;
INCF CSHI,1;
MOVLW D'24';
XORWF CSHI,W;
BTFSS STATUS,Z;
GOTO LOOP;
CLRF CSHI;
RETFIE
;恢復現(xiàn)場
LOOP MOVF PCLATH_TEMP,W;
MOVWF PCLATH;
SWAPF STEMP,0;
MOVWF STATUS;
SWAPF WTEMP;
SWAPF WTEMP,0;
RETFIE
;去抖程序,延時8MS(5-10MS)
DELAY MOVLW D'51';
MOVWF DY1;
LOOP4 MOVLW D'51';
MOVWF DY2;
LOOP5 DECFSZ DY2,1;
GOTO LOOP5;
DECFSZ DY1,1;
GOTO LOOP4;
RETURN

;延時程序,延時約3MS,(10-20MS循環(huán)一次,六個數(shù)碼官需要18MS,在次范圍內)
YANSHI MOVLW D'21';
MOVWF DY5;
LOOP7 MOVLW D'51';
MOVWF DY6;
LOOP6 DECFSZ DY6,1;
GOTO LOOP6;
DECFSZ DY5,1;
GOTO LOOP7;
RETURN
BCD2 MOVLW 8;
MOVWF COUNTER; ;循環(huán)左移計數(shù)器置8
CLRF BUFFER ; ;清除緩沖器
MOVF DIGHT,W ;
MOVWF BUFFER1 ;
LOOP2
RLF BUFFER1,1 ; ;二進制數(shù)轉換成BCD碼(以便顯示)
RLF BUFFER,1;
DECFSZ COUNTER,1; ;左移8次
GOTO ADJUST ; ;
MOVF BUFFER,W;
MOVWF DISPBUF ;
MOVF DISPBUF,W;
RETURN ;是否有進位(即已達100),如已計數(shù)到100則
; SKPC ;從0開始再計數(shù)顯示(顯示00~99)
ADJUST
MOVLW 3 ; ;二進制轉BCD的調整
ADDWF BUFFER,W; ;每次移位后都檢查低四位LSD+3是否大于7
MOVWF SUM ;
BTFSC SUM,3;
MOVWF BUFFER;
MOVLW 30H;
ADDWF BUFFER,W ; ;如果是則再加3,否則不加。
MOVWF SUM;
BTFSC SUM,7;
MOVWF BUFFER; ;接著再將高四位MSD作相同處理
GOTO LOOP2;
END

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉