鄂東職業(yè)技術(shù)學院利用單片機制作電子時鐘_第1頁
鄂東職業(yè)技術(shù)學院利用單片機制作電子時鐘_第2頁
鄂東職業(yè)技術(shù)學院利用單片機制作電子時鐘_第3頁
鄂東職業(yè)技術(shù)學院利用單片機制作電子時鐘_第4頁
鄂東職業(yè)技術(shù)學院利用單片機制作電子時鐘_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、鄂東職業(yè)技術(shù)學院畢業(yè)設(shè)計(論文)題 目: 利用單片機制作電子時鐘 系別: 機電工程系 專業(yè)班級: 電子05132班 學生姓名: 李洲 學 號: 07 指導教師: 楊寶平 (中級) 2007年11月25日誠 信 聲 明本人鄭重聲明:本人所呈交的畢業(yè)設(shè)計(論文)單片機制作電子時鐘是在楊寶平教師的指導下,根據(jù)任務(wù)書的要求,獨立撰寫的。本設(shè)計(論文)中所引用的其他個人或集體已發(fā)表的文字和研究成果,或為獲得教育機構(gòu)的學位或證書所使用過的材料,均已明確注明。凡為本文的撰寫所提供的各種形式的幫助,本人在致謝中已經(jīng)明確表達了謝意。本人完全意識到本聲明的法律結(jié)果。畢業(yè)論文(設(shè)計)作者簽名: 200 年 月 日鄂

2、東職業(yè)技術(shù)學院畢業(yè)設(shè)計(論文)任務(wù)書學生姓名李洲專業(yè)班級電子05132學號07課題名稱利用單片機制作電子時鐘指導教師及職稱楊寶平 中級(以下內(nèi)容指導教師可根據(jù)實際情況進行調(diào)整)目的1、 進一步熟悉定時/計數(shù)器的編程使用方法,熟悉串口方式0使用方法;2、 熟悉串轉(zhuǎn)并轉(zhuǎn)換芯片74164的接線方式及數(shù)碼管的連線方法。功能及原理1、 功能描述(1)采用四位七段數(shù)碼管顯示時間;(2)上電或復位后,能自動顯示當前時間,首次上電復位顯示為0時0分,以后每次按RESET復位鍵鈞顯示當前正確時間;(3)設(shè)置兩個控制按鍵H(時校正),M(分校正)。每按一次H鍵,時加1,調(diào)整范圍為0-23時,0即為24點;每按一次

3、M鍵,分加1,調(diào)整范圍為0-59;0即為60分。2、硬件原理電路方案:利用單片機(AT89S52)制作簡易電子時鐘,由四個七段數(shù)碼管LEDD8分別顯示小時十位、小時個位、分鐘十位、分鐘十位。5個NPN管(9013)分別控制四個數(shù)碼管的亮滅和兩個發(fā)光二極管的閃滅.七個三極管用于段碼驅(qū)動,三個按鍵用于時間調(diào)整。虛線框為顯示部分。1顯示XX : XX 時間2時間可調(diào):調(diào)整鍵(SET)按下次時分鐘個位閃亮,此時按下加1鍵(AD)該位數(shù)值加1加到9時再按下加1鍵則該位顯示0,若按下減1鍵(DC),則該位數(shù)值減1,當減到0時再按下減1鍵則該位顯示9。調(diào)整鍵按下第二次時分鐘時位閃亮,此時按加1鍵和減1鍵調(diào)整

4、該位。調(diào)整鍵按下第三次時,小時個位閃亮,調(diào)整該位,調(diào)整鍵按下第四次時,小時十位閃亮,則調(diào)整該位,當調(diào)整鍵按下第五次時,秒燈閃亮,時鐘開始走時。本設(shè)計主要分為硬件電路設(shè)計和軟件實現(xiàn)兩大部分。硬件電路設(shè)計采用模塊設(shè)計:中央處理電路、時鐘電路、溫度測量電路、電壓與電網(wǎng)頻率測量電路、V/F轉(zhuǎn)換電路、音樂鬧鐘電路、遙控止鬧電路、鍵盤電路和液晶顯示電路、指示燈電路、通信電路以及電源電路幾大部分;軟件采用C語言編程實現(xiàn),設(shè)計采用按功能模塊劃分,包括:主程序、顯示程序、電網(wǎng)頻率測量程序、電壓測量程序、溫度測量程序、加1程序、減1程序主要儀器設(shè)備電子鐘 、網(wǎng)絡(luò)線2米 、 共陰八段數(shù)碼管6個、 CD4511集成塊

5、6塊、CD4060集成塊1塊 、74HC390集成塊3塊、74HC51集成塊1塊、74HC00集成塊4塊、74HC30集成塊1塊、10M電阻5個、500電阻14個、30p電容2個、32.768k時鐘晶體1個、蜂鳴器1個、5進制計數(shù)器接線(輸入用4060的2Hz,輸出用數(shù)碼管顯示10進制計數(shù)器接線、測試)、6進制計數(shù)器接線測試(在10進制基礎(chǔ)上改)、60進制計數(shù)器接線、24進制計數(shù)器參考資料 1 于海生微型計算機控制技術(shù)M 清華大學出版社1999-62 孫涵芳MCS-51系列單片機原理及應用M 北京航空航天大學出版社1996-43 黃正謹綜合電子設(shè)計與實踐M 東南大學出版社2002-3

6、4 楊欣等電子設(shè)計從零開始M 清華大學出版社2005-105 謝嘉奎電子線路M 高等教育出版社2003-2預期結(jié)果:經(jīng)過精心的設(shè)計,我相信這次的方案會很好的進行,問題都會得以完善的解決任務(wù)下達時間2007 年 05 月 20 日畢業(yè)設(shè)計(論文)開始與完成時間2007 年 06 月 01 日至2007 年 12 月 10 日預計畢業(yè)答辯時間2007 年 12 月 15 日畢 業(yè) 設(shè) 計 進 度 安 排周次工作內(nèi)容檢 查 方 式第1 周 至 第 2周上網(wǎng)查資料輔導老師查看第2 周 至 第 3周圖書館收集資料輔導老師查看第3 周 至 第 4周整理所收集的資料輔導老師查看第4 周 至 第 5周 完成畢

7、業(yè)論文輔導老師查看專業(yè)教研室負責人意見簽名:年月日系審核意見(系 公 章)年月日任務(wù)下達人簽字年月日任務(wù)接受人簽字年月日備注:1、此表由各專業(yè)教研室統(tǒng)一規(guī)格后打印。2、本任務(wù)書一式三份,由指導教師填寫相關(guān)欄目,經(jīng)系審核同意后,系、指導教師和學生各執(zhí)一份。3、本任務(wù)書須與學生的畢業(yè)設(shè)計(論文)一并按要求裝訂存檔。鄂東職業(yè)技術(shù)學院教務(wù)處目 錄摘 要 1電路原理分析 11 顯示原理 12 鍵盤及讀數(shù)原理 13 連擊功能的實現(xiàn) 2程序設(shè)計思想和相關(guān)指令介紹 21 數(shù)據(jù)與代碼轉(zhuǎn)換 22 計時功能的實現(xiàn)與中斷服務(wù)程序 23 時間控制功能與比較指令 24 時鐘誤差的分析 參考文獻致謝附錄 摘要單片機制作電子

8、時鐘單片計算機即單片微型計算機。(Single-Chip Microcomputer ),是 集 CPU ,RAM ,ROM ,定時,計數(shù)和多種接口于一體的微控制器。他體積小,成本低,功能強,廣泛應用于智能產(chǎn)品和工業(yè)自動化上。而 51 單片機是各單片機中最為典型和最有代表性的一種。這次畢業(yè)設(shè)計通過對它的學習,應用,從而達到學習、設(shè)計、開發(fā)軟、硬的能力。時鐘,自從它發(fā)明的那天起,就成為人類的朋友,但隨著時間的推移,科學技術(shù)的不斷發(fā)展,人們對時間計量的精度要求越來越高,應用越來越廣。怎樣讓時鐘更好的為人民服務(wù),怎樣讓我們的老朋友煥發(fā)青春呢?這就要求人們不斷設(shè)計出新型時鐘。計算機的產(chǎn)生加快了人類改造

9、世界的步伐,但是它畢竟體積大。單片機在這種情況下誕生了。截止今日,單片機應用技術(shù)飛速發(fā)展,縱觀我們現(xiàn)在生活的各個領(lǐng)域,從導彈的導航裝置,到飛機上各種儀表的控制,從計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,到工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,以及我們生活中廣泛使用的各種智能IC卡、電子寵物等,這些都離不開單片機。單片計算機即單片微型計算機。(Single-Chip Microcomputer ),是集CPU ,RAM ,ROM ,定時,計數(shù)和多種接口于一體的微控制器。它體積小,成本低,功能強,廣泛應用于智能產(chǎn)業(yè)和工業(yè)自動化上。而51系列單片機是各單片機中最為典型和最有代表性的一種。這次畢業(yè)設(shè)計通過對它的學習

10、,應用,從而達到學習、設(shè)計、開發(fā)軟、硬的能力。計算機的產(chǎn)生加快了人類改造世界的步伐,但是它畢竟體積大。單片機在這種情況下誕生了。截止今日,單片機應用技術(shù)飛速發(fā)展,縱觀我們現(xiàn)在生活的各個領(lǐng)域,從導彈的導航裝置,到飛機上各種儀表的控制,從計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,到工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,以及我們生活中廣泛使用的各種智能IC卡、電子寵物等,這些都離不開單片機。單片計算機即單片微型計算機。(Single-Chip Microcomputer ),是集CPU ,RAM ,ROM ,定時,計數(shù)和多種接口于一體的微控制器。它體積小,成本低,功能強,廣泛應用于智能產(chǎn)業(yè)和工業(yè)自動化上。而51系列

11、單片機是各單片機中最為典型和最有代表性的一種。 關(guān)鍵詞:電子 時鐘 單片機1.電路原理分析 1. 1顯示原理 12鍵盤及讀數(shù)原理 鍵盤是人與微機打交道的主要設(shè)備,按鍵的讀取容易引起誤動作??刹捎密浖ザ秳拥姆椒ㄌ幚?,軟件的觸點在閉合和斷開的時候會產(chǎn)生抖動,這時觸點的邏輯電平是不穩(wěn)定的,如不采取妥善處理的話,將引起按鍵命令錯誤或重復執(zhí)行,在這里采用軟件延時的方法來避開抖動,延時時間 20ms. 13連擊功能的實現(xiàn) 按下某鍵時,對應的功能鍵解釋程序得到執(zhí)行,如操作者沒有釋放按鍵,則對應的功能會反復執(zhí)行,好象連續(xù)執(zhí)行,在這里我們采用軟件延時250ms,當按鍵沒釋放則執(zhí)行下一條對應程序。利用連擊功能,

12、能實現(xiàn)快速調(diào)時操作。 2程序設(shè)計思想和相關(guān)指令介紹 本系統(tǒng)的主程序主要完成時間顯示和定時輸出判斷功能。而年月日顯示和各時間單元進位,時間設(shè)定時,調(diào)定時間設(shè)定時等功能全部在中斷服務(wù)程序中完成。 21數(shù)據(jù)與代碼轉(zhuǎn)換。 由前述可知,從P2口輸出位選碼,從 P0口輸出段選碼,LED就會顯示出數(shù)字來。但P0口的輸出的數(shù)據(jù)是要BCD碼,各存儲單元存儲的是二進制數(shù),也就是和要顯示出的字符表達的含義是不一致的??梢?,將要顯示的存儲單元的數(shù)據(jù)直接送到P0 口去驅(qū)動 LED數(shù)碼管顯示是不能正確表達的,必須在系統(tǒng)內(nèi)部將要顯示的數(shù)據(jù)經(jīng)過BCD碼行轉(zhuǎn)換后,將各個單元數(shù)據(jù)的段選代碼送入 P0口,給CD4511譯碼后去驅(qū)動

13、數(shù)碼管顯示。具體轉(zhuǎn)換過程如下:我們先將要顯示的數(shù)據(jù)裝入累加器A 中,再將 A中的數(shù)據(jù)轉(zhuǎn)換成高低兩位的 BCD碼,再放回A中,然后將A中的值輸出。如:有一個單元存儲了45 這樣一位數(shù),則需轉(zhuǎn)換成四位的BCD碼:(0100)(0101)然后放入 A 中。 A 中BCD 碼,高位四位代表!4!低四位代表!5!同時送給兩個譯碼器中,譯碼后! 45! 字就在兩個LED 中顯示出來。 22計時功能的實現(xiàn)與中斷服務(wù)程序 時間的運行依靠定時中斷子程序?qū)r鐘單元數(shù)值進位調(diào)整來實現(xiàn)的。計數(shù)器T0 打開后,進入計時,滿100毫秒后,重裝定時。中斷一次,滿一秒后秒進位,滿60 秒后即為1分鐘,分鐘單元進位,60分到了

14、后,時單元進位,24小時滿后,天單元進位。這樣然后根據(jù)進率,得到年、月、日、時、分、秒存儲單元的值,并經(jīng)譯碼后,通過掃描程序送LED 中顯示出來,實現(xiàn)時鐘計時功能。累加是用指令I(lǐng)NC 來實現(xiàn)的。 進入中斷服務(wù)程序以后,執(zhí)行PUSH PSW和 PUSH A將程序狀態(tài)寄存器 PSW的內(nèi)容和累加器A 中的數(shù)據(jù)保存起來,這便是所謂的! 保護現(xiàn)場! . 以保護現(xiàn)場和恢復現(xiàn)場時存取關(guān)鍵數(shù)據(jù)的存儲區(qū)叫做堆棧。在軟件的控制之下,堆??稍谄瑑?nèi) RAM中的任一區(qū)間設(shè)定,而堆棧的數(shù)據(jù)存取與一般的RAM存取又有區(qū)別,對它的操作,要遵循! 后進先出! 的原則。 23 時鐘誤差分析 開啟定時器/計數(shù)器0,使之開始計時,中

15、斷后進入中斷程序。自停止計數(shù)到、計數(shù)又開始,中間執(zhí)行了7條指令,也就是延遲了13 個單周期共用時間26us,這樣,每個中斷的總時間應為為100.026sm,而原來定時是 100ms,所以,也就是說每次中斷定時多了 26um.這樣,可改變計數(shù)重裝值,使每次中斷定時時間為 99.974sm,加上原來的7 條指令所用的時間,正好100sm.計數(shù)10次得 1s.這樣就可得到較精確的計時秒數(shù),然后根據(jù)進率,得到時、分的值。24時間控制功能與比較指令 系統(tǒng)的另一功能就是實現(xiàn)對執(zhí)行設(shè)備的定時開關(guān)控制,其主要控制思想是這樣的:先將執(zhí)行設(shè)備開啟的時間和關(guān)閉時間置入 RAM某一單元,在計時主程序當中執(zhí)行幾條比較指

16、令,如果當前計時時間與執(zhí)行設(shè)備的設(shè)定開啟時間相等,就執(zhí)行一條 CLR 指令,將對應的那路P3置為高電位,開啟;如果當前計時時間與執(zhí)行設(shè)備設(shè)定的關(guān)閉時間相等,就執(zhí)行 SETB 對應的P3置低電位,二極管截止,。實現(xiàn)此控制功能用到的比較指令為CJNE A,#direct,rel,其轉(zhuǎn)移條件是累加器A中的值與立即數(shù)不等則轉(zhuǎn)移。 小結(jié)時代的列車行駛到21世紀,這是一個追求個人價值實現(xiàn)的時代,一個追求個人價值實現(xiàn)與團隊績效雙贏的時代。在學校工作中,教師個人單打獨斗的時代已經(jīng)遠去,團隊合作,資源整合的時代已經(jīng)到來。每個教師都有各自獨特的專業(yè)和才能,也必定有著不同的需求,不同的工作方式以及對事物不同的看法。

17、為了提高學校教育工作整體水平,讓教師發(fā)揮自己的專業(yè)技能,我們必須做到求同存異,找到與他們和諧有效地在一起工作的方法。這兩年來,我以此次撰寫畢業(yè)論文為契機,努力研究班級任課教師團隊,嘗試以教師合作教育的模式,在同等勞動付出的基礎(chǔ)上,減輕教師負擔,提高工作績效,豐富教師對教育工作的情感體驗。我也可喜的看到,我校初三年級在今年的中考中取得了優(yōu)異的成績,堅守初三的教師們在隆重的畢業(yè)典禮上,與學生一起留下了幸福的淚水。我想這屆初三的成功,不僅來自于每位教師的勤奮工作,更來自于他們彼此間良好的團隊合作。直到現(xiàn)在,那些任課教師仍在懷念那段合作的幸福時光,那段初三共同奮斗的時光。論文雖然寫完,但我還在不斷反思

18、,也留下了很多困惑。例如:在我的研究中,僅僅把學生學業(yè)成績和班級常規(guī)管理成效,作為評價任課教師團隊績效的標準,是否合理?我對教師人格的判斷評述是很主觀和淺薄的,如何以科學便捷的方法對教師人格進行公正的測定?教師團隊的異致性與績效之間有何聯(lián)系?我希望能不斷學習研究,得出結(jié)論。參考文獻 1 謝自美,電子線路設(shè)計、實驗、測試 武漢:華中理工大學出版社,2000 2 何書森、何華斌實用數(shù)字電路原理與設(shè)計速成福州:福建科學技術(shù)出版社,2000.6 3 白駒衍, 單片計算機及應用北京:電子工業(yè)出版社, 1999.24 楊欣等電子設(shè)計從零開始M 清華大學出版社2005-105 黃正謹綜合電子設(shè)計與實踐M 東

19、南大學出版社2002-36 孫涵芳MCS-51系列單片機原理及應用M 北京航空航天大學出版社1996-4致 謝研究及學位論文是在我的導師楊寶平老師的親切關(guān)懷和悉心指導下完成的。她嚴肅的科學態(tài)度,嚴謹?shù)闹螌W精神,精益求精的工作作風,深深地感染和激勵著我。從課題的選擇到項目的最終完成,張老師都始終給予我細心的指導和不懈的支持。在此謹向張老師致以誠摯的謝意和崇高的敬意。 在此,我還要感謝在一起愉快的度過校園生活的各位同門,正是由于你們的幫助和支持,我才能克服一個一個的困難和疑惑,直至本文的順利完成。 從開始進入課題到論文的順利完成,有多少可敬的師長、同學、朋友給了我無言的幫助,在這里請接受我誠摯的謝

20、意!最后我還要感謝培養(yǎng)我長大含辛茹苦的父母,謝謝你們! 附錄說明書 系統(tǒng)由AT89C51、LED數(shù)碼管、按鍵、發(fā)光二極管等部分構(gòu)成,能實現(xiàn)時間的調(diào)整、定時時間的設(shè)定,輸出等功能。系統(tǒng)的功能選擇由 SB0、SB1、SB2、SB3、SB4 完成。其中SB0為時間校對,定時器調(diào)整功能鍵,按SB 0進入調(diào)整狀態(tài)。SB1為功能切換鍵。第一輪按動SB1依次進入一路、二路、三路定時時間設(shè)置提示程序,按 SB3 進入各路定時調(diào)整狀態(tài)。定時時間到,二極管發(fā)亮。到了關(guān)斷時間后滅掉。如果不進入繼續(xù)按 SB1鍵,依次進入時間! 年! 位校對、! 月! 位校對、 ! 日! 位校對、! 時! 位校對、! 分! 位校對、!

21、 秒! 位校對狀態(tài)。不管是進入那種狀態(tài),按動SB2皆可以使被調(diào)整位進行不進位增量加 1變化。各預置量設(shè)置完成后,系統(tǒng)將所有的設(shè)置存入 RAM中,按SB1 退出調(diào)整狀態(tài)。上電后,系統(tǒng)自動進入計時狀態(tài),起始于! 00! 時! 00! 分。SB4 為年月日顯示轉(zhuǎn)換鍵,可使原來顯示時分秒轉(zhuǎn)換顯示年月日。調(diào)整鍵(SET)按下次時分鐘個位閃亮,此時按下加1鍵(AD)該位數(shù)值加1加到9時再按下加1鍵則該位顯示0,若按下減1鍵(DC),則該位數(shù)值減1,當減到0時再按下減1鍵則該位顯示9。調(diào)整鍵按下第二次時分鐘時位閃亮,此時按加1鍵和減1鍵調(diào)整該位。調(diào)整鍵按下第三次時,小時個位閃亮,調(diào)整該位,調(diào)整鍵按下第四次時

22、,小時十位閃亮,則調(diào)整該位,當調(diào)整鍵按下第五次時,秒燈閃亮,時鐘開始走時。時鐘程序; AT89C2051 時鐘程序 ;定時器T0、T1溢出周期為50ms,T0為秒計數(shù)用,T1為調(diào)整時閃爍用,;P3.7為調(diào)整按鈕,P1口為字符輸入口,采用共陽顯示管; 中斷入口程序 ; ORG0000H;程序執(zhí)行開始地址 LJMPSTART;跳到標號START執(zhí)行 ORG0003H;外中斷0中斷程序入口 RETI ;外中斷0中斷返回 ORG000BH;定時器T0中斷程序入口 LJMPINTT0;跳至INTT0執(zhí)行 ORG0013H;外中斷1中斷程序入口 RETI ;外中斷1中斷返回 ORG001BH;定時器T1中

23、斷程序入口 LGMPINTT1;跳至INTT1執(zhí)行 ORG0023H;串行中斷程序入口地址 RETI ;串行中斷程序返回; 主程序 ;START:MOVR0,#70H;清70H7AH共11個內(nèi)存單元MOVR7,#0BHCLEARDISP:MOVR0,#00HINCRODINZR7CLEARDISEMOV20H,#00H;清20H(標志用)MOV7AH,#0AH;放入“熄滅符”數(shù)據(jù)MOVTMOD,#11H;設(shè)T0、T1為16位定時器MOVTL0,#0B0H;50ms定時初值(T0計時用)MOVTH0,#3CH;50ms定時初值MOVTL1#0B0H;50ms定時初值(T1閃爍定時用)MOVTH1

24、,#3CH;50ms定時初值SETBEA;總中斷開放SETBET;允許T0中斷SETBTR0;開啟T0定時器MOVR4,#14H;1s定時用初值(50ms×20)START1:LCALLDISPLAY;調(diào)用顯示子程序INBP3.7,SETMM1;P3.7口為0時轉(zhuǎn)對時間調(diào)整程序SJMPSTART1;P3.7口為1時跳回START1SETMM1:LJMPSETMM;轉(zhuǎn)到時間調(diào)整程序SETMM; 1s計時程序 ;T0中斷服務(wù)程序INTT0:PUSHACC;累加器入棧保護PUSHPSW;狀態(tài)字入棧保護CLRET0;關(guān)T0中斷允許CLRTR0;關(guān)閉定時器T0MOVA,#0B7H;中斷響應時間

25、同步修正ADDA,TL0;低8位初值修正MOVTL0,A;重裝初值(低8位修正值)MOVA,#3CH;高8位初值修正ADDCA,TH0MOVTH0,A;重裝初值(高8位修正值)SETBTR0;開啟定時器T0DJNZR4,OUTT0;20次中斷末到中斷退出ADDSS:MOVR4#14H;20次中斷到(1s)重賦初值MOVR0,#71H;指向秒計時單元(71H72H)ACALLADDL ;調(diào)用加1程序(加1s操作MOVA,R3;秒數(shù)據(jù)放入A(R3為2位十進制數(shù)組合)CLRC;清進位標志CJNEA,#60H,ADDMMADDMM:JCOUTT0;小于60s時中斷退出ACALLCLR0;大于或等于60

26、s時對秒計時單元清0MOVR0,#77H;指向分計時單元(76H77H)ACALLADD1;分計時單元加1minMOVA,R3;分數(shù)據(jù)放入ACLRC;清進位標志CJNEA,#60H,ADDHHADDHH:JCOUTT0;小于60min時中斷退出ACALLCLR0;大于或等于60min時分及時分計時單元清0MOVR0,#79H;指向小時計時單元(78H79H)ACALLADDL;小時計時單元加入1hMOVA,R3;時數(shù)據(jù)放入ACLRC;清進位標志CINEA,#24H,HOURHOUR:JCOUTT0;小于24h中斷退出ACALLCLR0;大于或等于24h小時計時單元清0OUTT0:MOV72H,

27、76H;中斷退出時將分、時計時單元數(shù)據(jù)移MOV73H,77H;入對應顯示單元MOV74H,78HMOV75H,79HPOPPSW;恢復狀態(tài)字(出棧)POPACC:恢復累加器SETBET0;開放T0中斷RETI;中斷返回; 閃動調(diào)時程序 ;T1中斷服務(wù)程序,用作時間調(diào)整時調(diào)整單元閃爍指示INTT1:PUSHACC;中斷現(xiàn)場保護PUSHPSWMOVTL1,#0B0H;裝定時器T1定時初值MOVTH1,#3CHDJNZR2,INTT1OUT;0.3s定時末到退出中斷(50ms中斷6次)MOVR2#06H;重裝0.3s定時用初值CPL02H;0.3定時到對閃爍標志取“反”JB02H,F(xiàn)LASH1;02

28、H位為1時顯示單元“熄滅”MOV72H,76H;02H位為0時正常顯示MOV73H,77HMOV74H,78HMOV75H,79HINTT1OUT:POPPSW;恢復現(xiàn)場POPACCRETI;中斷退出FLASH1:JB01H,F(xiàn)LASH2;01H位為1時,轉(zhuǎn)小時熄滅控制MOV72H,7AH;01H位為0時,“熄滅符”數(shù)據(jù)放入分MOV73H,7AH;顯示單元(72H73H),將不顯示分數(shù)據(jù)MOV74H,78HMOV75H,79HAJMPINNTT1OUT;轉(zhuǎn)中斷退出FLASH2:MOV72H,76H;01H位為1時,“熄滅符”數(shù)據(jù)放入小時MOV73H,77H;顯示單元(74H75H),小時數(shù)據(jù)將

29、不顯示MOV74H,7AHMOV75H,7AHAJMPINTT1OUT;轉(zhuǎn)中斷退出; 加1子程序 ;ADD1:MOVA,R0;取當前計時單元數(shù)據(jù)到ADECR0;指向前一地址SWAPA;A中數(shù)據(jù)高4位與低4位交換ORLA,RO;前一地址中數(shù)據(jù)放入A中低4位ADDA,#01H;A加1操作DAA;十進制調(diào)整MOVR3,A;移入R3寄存器ANLA,#0FH;高4位變0MOVR0,A;放回前一地址單元MOVA,R3;取回R3中暫存數(shù)據(jù)INCR0;指向當前地址單元SWAPA;A中數(shù)據(jù)高4位與低4位交換ANLA,#0FH;高4位變0MOVR0,A;數(shù)據(jù)放入當前地址單元中RET;子程序返回; 清0程序 ;對計

30、時單元復0用CLR0:CLRA;清累加器MOVR0,A;清當前地址單元DECRO;指向前一地址MOVR0,A;前一地址單元清0RET;子程序返回; 時鐘調(diào)整程序 ;當調(diào)時按鍵按下時進入此程序SETMM:CLRET0;關(guān)定時器T0中斷CLRTR0;關(guān)閉定時器T0LCALLDL1S;調(diào)用1s延時程序JBP3.7,CLOSEDIS;鍵按下時時間小于1s,關(guān)閉現(xiàn)實(省電)MOVR2,#06H;進入調(diào)時狀態(tài),賦閃爍時定時初值SETBET1;允許T1中斷SETBTR1;開啟定時器T1SET2:JNBP3.7,SET1;P3.7口為0(鍵未釋放),等待SETB00H;鍵釋放,分調(diào)整閃爍標志1SET4:JBP

31、3.7,SET3;等待按鍵下LCALLDL05S;有鍵按下,延時0.5sJNBP3.7,SETHH;按下時間大于0.5s轉(zhuǎn)調(diào)小時狀態(tài)MOVR0,#77H;按下時間小于0.5s加1min操作LCALLADD1;調(diào)用加1子程序MOVA,R3;取調(diào)整單元數(shù)據(jù)CLRC;清進位標志CJNEA,#60H,HHH;調(diào)整單元數(shù)據(jù)與60比較HHH:JCSET4;調(diào)整單元數(shù)據(jù)小于60轉(zhuǎn)SET4循環(huán)LCALLCLR0;調(diào)整單元大于或等于60時清0CLRC;清進位標志AJMPSET4;跳轉(zhuǎn)到SET4循環(huán)CLOSEDIS:SETBET0;省電(LED不顯示)狀態(tài),開T0中斷SETBTR0;開啟T0定時器(開時鐘)CLO

32、SE:JBP3.7,CLOSE;無按鍵按下,等待LCALLDISPLAY;有鍵按下,調(diào)顯示子程序延時消抖JBP3.7CLOSE;是干擾,返回CLOSE等待WAITH:JNBP3.7,WAITH;等待鍵釋放LJMPSTART1;返回主程序(LED數(shù)據(jù)顯示亮)SETHH:CLR00H;分閃爍標志清除(進入調(diào)小時狀態(tài))SETHH1:JNBP3.7,SET5;等待按鍵釋放SETB01H;小時調(diào)整標志置1SET6:JBP3.7,SET7;等待按鍵按下LCALLDL05S;有按鍵按下延時0.5sJNBP3.7,SETOUT;按下時間大于0.5s退出時間調(diào)整MOVR0,#79H;按下時間小于0.5s加1h操作LCALLADDL;調(diào)加1子程序MOVA,R3CLRCCJNEA,#24H,HOUU;計時單元數(shù)據(jù)與24比較HOUU:JCSET6;小于24轉(zhuǎn)SET6循環(huán)LCLLLCLR0;大于或等于24時清0操作AJMPSET6;跳轉(zhuǎn)到SET6循環(huán)SETOUT:JNBP3.7,SEROUT1;退出調(diào)時程序,等待鍵釋放LCALLDISPLAY;延時消抖JNBP3.7,SETOUT;是抖動,返回SETOUT再等待CLR01H;清調(diào)小時標志CLR00H;清調(diào)分標志CLR02H;清閃爍標志CLR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論