




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、目 錄第1章 系統(tǒng)總體方案與說明11.1系統(tǒng)總體方案11.2 系統(tǒng)設(shè)計說明11.3系統(tǒng)設(shè)計目的21.4系統(tǒng)設(shè)計要求3第2章 硬件電路設(shè)計42.1總原理圖42.2各個模塊設(shè)計42.3 器件清單8第3章 軟件設(shè)計93.1 硬件框圖93.2 程序流程圖9第4章 心得體會12第5章 附件15附錄A. 源程序清單15附錄B.硬件原理圖25附件C 參考文獻27電氣信息學(xué)院課程設(shè)計評分表28第1章 系統(tǒng)總體方案與說明1.1系統(tǒng)總體方案該課程設(shè)計是利用MCS-51單片機內(nèi)部的定時計數(shù)器、中斷系統(tǒng)、以及行列鍵盤和LED顯示器等部件,設(shè)計的一個單片機電子時鐘,6位LED數(shù)碼顯示,分別顯示“小時:分鐘:秒”。該作品
2、主要用于24小時計時顯示,能整時報時,能作為秒表使用,能定時鬧鈴1分鐘。使用方法:開機后時鐘在00:00:00起開始計時。(1) 長按P3.2進入調(diào)分狀態(tài):分單元閃爍,按P3.2加1,按P3.3減1.再長按P3.2進入時調(diào)整狀態(tài),時單元閃爍,加減調(diào)整同調(diào)分.按長按退出調(diào)整狀態(tài)。(2)按P3.3進入設(shè)定鬧時狀態(tài): 12:00: ,可進行分設(shè)定,按P3.4分加1,再按P3.2為時調(diào)整,按P3.4時加1,按P3.3調(diào)鬧鐘結(jié)束.在鬧鈴時可按P3.2停鬧,不按鬧鈴1分鐘。(3按下P3.4進入秒表狀態(tài):再按P3.4秒表又啟動,按P3.4暫停,再按P3.4秒表清零,按P3.4退出秒表回到時鐘狀態(tài)。1.2 系
3、統(tǒng)設(shè)計說明(1)系統(tǒng)由AT89C51、LED 數(shù)碼管、按鍵、電容、電阻等部分構(gòu)成,能實現(xiàn)時間的調(diào)整、輸出、調(diào)時間等功能。系統(tǒng)中按鈕BUTTON能對時間進行調(diào)整功能的按鈕,采用單鍵控制調(diào)時功能,運用軟件去抖判斷按鍵的時間從而選擇完成相對應(yīng)的功能(2)時間調(diào)整:該設(shè)計需要校對時間,所以用三個按鍵來實現(xiàn)。按hour來調(diào)節(jié)小時的時間,按 minute來調(diào)節(jié)分針的時間,按 scoend來調(diào)節(jié)秒的時間。按鍵處理是先檢測秒按鍵是否按下,秒按鍵如果按下,秒就加1;如果沒有按下,就檢測分按鍵是否按下,分按鍵如果按下,分就加1;如果沒有按下,就檢測時按鍵是否按下,時按鍵如果按下,時就加1;如果沒有按下,就把時間顯
4、示出來。(3)中斷:中斷技術(shù)在單片系統(tǒng)中有著十分重要的作用,它不僅可以提高單片機CPU的效率,也可以對突發(fā)事件處理。所謂中斷就是當CPU正在執(zhí)行程序A時,發(fā)生了另一個急需處理的事件B,這是CPU暫停當前執(zhí)行的程序A,立即轉(zhuǎn)去執(zhí)行處理事件B的程序,處理完事件B后,再返回到程序A繼續(xù)執(zhí)行,這個過程被叫做中斷。關(guān)于中斷的概念有下列幾個名詞:(1)程序A稱為主程序,(2)處理事件B的程序稱為中斷服務(wù)程序,(3)主程序中轉(zhuǎn)向中斷服務(wù)程序的地方稱為斷點,(4)引起中斷的原因即事件B稱為中斷源,(5)轉(zhuǎn)去執(zhí)行中斷服務(wù)程序稱為中斷響應(yīng)。關(guān)于中斷的概念可以打個如下的比喻。領(lǐng)導(dǎo)(CPU)在自己的房間辦公(執(zhí)行主程
5、序),下屬(外設(shè))有問題打電話來請示(中斷源)。1.3系統(tǒng)設(shè)計目的 通過課程設(shè)計的教學(xué)實踐,鞏固、加深和擴大51系列單片機應(yīng)用的知識面,提高綜合及靈活運用所學(xué)知識解決工業(yè)控制的能力。對課題設(shè)計方案的分析、選擇、比較、熟悉用51單片機做系統(tǒng)開發(fā)、研制的過程,軟硬件設(shè)計的方法、內(nèi)容及步驟。提高動手實踐能力、提高科學(xué)的思維能力。1.4系統(tǒng)設(shè)計要求1.掌握單片機最小系統(tǒng)的電路原理圖; 2.硬件的焊接、連接;3.獨立編輯、編譯軟件;4.調(diào)試要求: (1)上電以后自動進入計時狀態(tài),起始于00:00:00。(2)設(shè)計鍵盤調(diào)整時間,完成時間設(shè)計,并設(shè)置鬧鐘。(3)定時時間為1/20秒,采用定時器實現(xiàn)。(4)采
6、用LED數(shù)碼管顯示,時、分,秒采用數(shù)字顯示。(5)采用24小時制,具有方便的時間調(diào)校功能。(6)具有時鐘和秒表的切換功能。第2章 硬件電路設(shè)計2.1總原理圖 如原理圖所示,硬件系統(tǒng)主要由單片機最小應(yīng)用系統(tǒng)、LED數(shù)碼管顯示模塊、電源模塊、晶振模塊、按鍵模塊等組成。圖2-1電子時鐘原理圖2.2各個模塊設(shè)計1、單片機最小系統(tǒng) AT89S52概述:是一款非常適合單片機初學(xué)者學(xué)習(xí)的單片機,它完全兼容傳統(tǒng)的8051,8031的指令系統(tǒng),他的運行速度要比8051快最高支持達33MHz的晶體震蕩器,在此系統(tǒng)中使用12MHz的晶振。AT89S52具有以下標準功能: 8k字節(jié)Flash,256字節(jié)RAM,32
7、位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止詳述:AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序
8、存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16位定時器/計數(shù)器。一個6向量2級中斷結(jié)構(gòu),全雙工串行口及時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個
9、中斷或硬件復(fù)位為止.2、顯示模塊 LED數(shù)碼管是由發(fā)光二極管構(gòu)成的,亦稱半導(dǎo)體數(shù)碼管。將條狀發(fā)光二極管按照共陰極(負極)或共陽極(正極)的方法連接,組成“8”字,再把發(fā)光二極管另一電極作筆段電極,就構(gòu)成了LED數(shù)碼管。若按規(guī)定使某些筆段上的發(fā)光二極管發(fā)光,就能顯示從09的系列數(shù)字。同熒光數(shù)碼管(VFD)、輝光數(shù)碼管(NRT)相比,它具有:體積小、功耗低、耐震動、壽命長、亮度高、單色性好、發(fā)光響應(yīng)的時間短,能與TTL、CMOS電路兼容等的數(shù)顯器件。+、-分別表示公共陽極和公共陰極。ag是7個筆段電極,DP為小數(shù)點。另有一種字高為76mm的超小型LED數(shù)碼管,管腳從左右兩排引出,小數(shù)點則是獨立的。
10、 本系統(tǒng)利用6位LED數(shù)碼管顯示時間,共陰極結(jié)構(gòu)。LED數(shù)碼管由7段發(fā)光二極管組成,當要顯示某個數(shù)字時只要將數(shù)字所對應(yīng)的引腳送入低電平。 3.按鍵模塊 本設(shè)計中主要有三個控制按鍵,按鍵功能為:(1)P3.2為調(diào)時間模式,長按P3.2進入調(diào)分狀態(tài):分單元閃爍,按P3.2加1,按P3.3減1.再長按P3.2進入時調(diào)整狀態(tài),時單元閃爍,加減調(diào)整同調(diào)分.按長按退出調(diào)整狀態(tài)。 圖2-2(2)按P3.3進入設(shè)定鬧時狀態(tài): 12:00: ,可進行分設(shè)定,按P3.4分加1,再按P3.2為時調(diào)整,按P3.4時加1,按P3.3調(diào)鬧鐘結(jié)束.在鬧鈴時可按P3.2停鬧,不按鬧鈴1分鐘。(3)按下P3.4進入秒表狀態(tài):再
11、按P3.4秒表又啟動,按P3.4暫停,再按P3.4秒表清零,按P3.4退出秒表回到時鐘狀態(tài)。4晶振模塊下圖所示為時鐘電路原理圖,在AT89S51芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。而在芯片內(nèi)部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個穩(wěn)定的自激振蕩器。時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進行二分頻之后,才成為單片機的時鐘脈沖信號。圖2-3晶振電路2.3 器件清單 元件名封裝名型號CRYSTALXTAL-1VOLTREGTO-220MC7805TTRANS4 FLY410TO1VSINCAPRB.2/.4CAPACITOR P
12、OLCAPRAD-0.1CAPTRANSISTORTO18PNPTRANSISITOR TO92ANPNSPEAKERSIP-2LEDDIODE-0.4SW-PBRES2AXIAL0.3-1.0DPY_7-SEG_DPDIP8單片機AT89S52表一 元件器件清單第3章 軟件設(shè)計3.1 硬件框圖根據(jù)以上的電子時鐘的設(shè)計要求可以分為以下的幾個硬件電路模塊:單片機模塊、數(shù)碼顯示模塊、晶振模塊、電源模塊與按鍵模塊等,模塊之間的關(guān)系圖如下面得方框電路圖所示。圖3-13.2 程序流程圖(1)總體流程圖圖3-2(2)時鐘調(diào)整模式 YNNNYY開始系統(tǒng)初始化是否按下設(shè)置鍵時間調(diào)整模式是否退出調(diào)整模式是否跟鬧
13、鐘時間一致啟動鬧鈴顯示時間圖3-3(3)秒表模式Y(jié)YYYNNNN開始是否按功能切換鍵系統(tǒng)初始化是否按秒表暫停鍵是否按秒表啟動鍵是否按秒表清零鍵切換秒表秒表計時暫停秒表顯示時間圖3-4第4章 心得體會本次課程設(shè)計是用AT89S52單片機CPU及接口電路設(shè)計一個數(shù)字時鐘,經(jīng)過一個星期的調(diào)試,結(jié)果滿足設(shè)計要求,驗證無誤。通過單片機硬件電路的調(diào)試,實現(xiàn)了預(yù)先設(shè)定的功能,設(shè)計主要用到了多種芯片,程序也比較長比較麻煩,同時也遇到了不少困難,尤其是關(guān)于校時模塊的設(shè)計實現(xiàn)。關(guān)于顯示模塊,在以前的實驗中做過,所以問題很容易解決。隨著集成電路和計算機技術(shù)的迅速發(fā)展,使電子儀器的整體水平發(fā)生巨大變化,傳統(tǒng)的儀器逐步
14、的被智能儀器所取代。智能儀器的核心部件是單片機,因其極高的性價比得到廣泛的應(yīng)用與發(fā)展,從而加快了智能儀器的發(fā)展。而傳感器作為測控系統(tǒng)中對象信息的入口,越來越受到人們的關(guān)注。傳感器好比人體“五官”的工程模擬物,它是一種能將特定的被測量信息(物理量、化學(xué)量、生物量等)按一定規(guī)律轉(zhuǎn)換成某種可用信號輸出的器件或裝置本次課設(shè)中的半橋電子秤就是在以上儀器的基礎(chǔ)上設(shè)計而成的。因此,只有充分了解有關(guān)智能儀器、單片機、傳感器以及各部分之間的關(guān)系才能達到要求。通過本次設(shè)計,我們系統(tǒng)的了解了實時時鐘的設(shè)計流程,尤其是硬、軟件的設(shè)計方法,掌握了鍵盤顯示電路的基本功能及編程方法,掌握了鍵盤電路和顯示電路的一般原理,也進
15、一步掌握了89S52定時器的使用和中斷處理器程序的編程方法。開拓了思路,鍛煉了實踐動手能力,提高了分工協(xié)作能力和分析問題,解決問題的能力,達到了本次課程設(shè)計的目的。在調(diào)試電路的過程中也積累了一些寶貴的經(jīng)驗,比如說,在I/O口要保證標準的高電平”1”的產(chǎn)生,一般要上拉電阻5.1k,在一些需要高電平的地方,不能用懸空來模擬,必須嚴格的按照“+5v”來連接,特別是調(diào)試過程中的分部分進行很重要。此次單片機課程設(shè)計,從選題到定稿,從理論到實踐,在整整兩個星期里,學(xué)到了很多的東西。同時不僅鞏固了以前所學(xué)過的知識,而且還學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要
16、的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。這次的課程設(shè)計還讓我學(xué)會了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。更重要的是,我在這一設(shè)計過程中,學(xué)會了堅持不懈,不輕言放棄。設(shè)計過程,好比是我們?nèi)祟惓砷L的歷程,常有一些不如意,但畢竟這是第一次做,難免會遇到各種各樣的問題。在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。我們通過查閱大量有關(guān)資料,并在小組中互相討論,交流經(jīng)驗和自學(xué),若遇到實在搞不明白的問題就會及時請教老師,使自己學(xué)到了不少知識
17、,也經(jīng)歷了不少艱辛,但收獲同樣巨大。單片機課程設(shè)計雖然結(jié)束了,但通過設(shè)計所學(xué)到的東西將長久存在。相信這次設(shè)計帶給我們的嚴謹?shù)膶W(xué)習(xí)態(tài)度和一絲不茍的科學(xué)作風(fēng)將會給我們未來的工作和學(xué)習(xí)打下一個更堅實的基礎(chǔ)。單片機課程設(shè)計,是對單片機知識的驗證,可以幫助我們理解鞏固所學(xué)知識,激發(fā)我們對單片機課程的興趣,更鍛煉了我們獨立思考、開拓創(chuàng)新的能力。在做本次課程設(shè)計的過程中,我感觸最深的當屬查閱大量的設(shè)計資料了。為了讓自己的設(shè)計更加完善,查閱這方面的設(shè)計資料是十分必要的,同時也是必不可少的。我們是在做單片機課程設(shè)計,但我們不是藝術(shù)家,他們可以拋開實際盡情在幻想的世界里翱翔,而我們一切都要有據(jù)可依,有理可尋,不切
18、實際的構(gòu)想永遠只能是構(gòu)想,永遠無法升級為設(shè)計。其次,在這次課程設(shè)計中,我們運用到了以前所學(xué)的專業(yè)課知識,如:CAD制圖、匯編語言、模擬和數(shù)字電路知識等。雖然過去從未獨立應(yīng)用過它們,但在學(xué)習(xí)的過程中帶著問題去學(xué)我發(fā)現(xiàn)效率很高,這是我做這次課程設(shè)計的又一收獲。最后,要做好一個課程設(shè)計,就必須做到:在設(shè)計程序之前,對所用單片機的內(nèi)部結(jié)構(gòu)有一個系統(tǒng)的了解,知道該單片機內(nèi)有哪些資源;要有一個清晰的思路和一個完整的軟件流程圖;在設(shè)計程序時,不能妄想一次就將整個程序設(shè)計好,反復(fù)修改、不斷改進是程序設(shè)計的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一個程序的完美與否不僅僅是實現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣
19、也為資料的保存和交流提供了方便;在設(shè)計課程過程中遇到問題是很正常德,但我們應(yīng)該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題。另外,這次課程設(shè)計讓我感到了團隊合作的重要性。在團隊中,我們互幫互助,對整個課程設(shè)計來說,這是至關(guān)重要的,缺少每一個人都會對我們的設(shè)計產(chǎn)生影響。還有要感謝指導(dǎo)老師在我們遇到困難時,給予我們的建議與鼓勵。第5章 附件附錄A. 源程序清單; AT89S52時鐘程序 ;*定時器T0、T1溢出周期為50MS,T0為秒計數(shù)用, T1為調(diào)整時閃爍及秒表定時用,P3.2、P3.3、P3.4為調(diào)整按鈕,P0口為字符輸出口,P2為掃描口,P1.2為蜂嗚器口,采用共陽顯示管
20、。50H-55H為鬧鐘定時單元,60H-65H為秒表計時單元,70H-75H為顯示時間單元,76H-79H為分時計時單元。03H標志=0時鐘閃爍,=1秒表, 05H=0,不鬧鈴,=1要鬧鈴. 07H每秒改變一次,用作間隔嗚叫.* DISPFIRST EQU 30H ;顯示首址存放單元 BELL EQU P1.2 CONBS EQU 2FH ;存放報時次數(shù) CLOCK EQU 2DH* 中斷入口程序 * ORG 0000H ;程序執(zhí)行開始地址 LJMP START ;跳到標號START執(zhí)行 ORG 0003H ;外中斷0中斷程序入口 RETI ;外中斷0中斷返回 ORG 000BH ;定時器T0
21、中斷程序入口 LJMP INTT0 ;跳至INTTO執(zhí)行 ORG 0013H ;外中斷1中斷程序入口 RETI ;外中斷1中斷返回 ORG 001BH ;定時器T1中斷程序入口 LJMP INTT1 ;跳至INTT1執(zhí)行 ORG 0023H ;串行中斷程序入口地址 RETI ;串行中斷程序返回*以下程序開始 ;*整點報時用 QQQQ: MOV A,#10H MOV B,79H MUL AB ADD A,78H MOV CONBS,A BSLOOP: LCALL DS21MS LCALL DL1S LCALL DL1S LCALL DL1S DJNZ CONBS,BSLOOP CLR 08H ;
22、清整點報時標志 AJMP START1* 主程序開始 ;* START: LCALL ST ;上電顯示00:00:00 MOV R0,#00H ;清00H-7FH內(nèi)存單元 MOV R7,#80H ;CLEARDISP: MOV R0,#00H ; INC R0 ; DJNZ R7,CLEARDISP ; MOV 20H,#00H ;清20H(標志用) MOV 55H,#1 MOV 54H,#2 MOV 7AH,#0AH ;放入熄滅符數(shù)據(jù) MOV TMOD,#11H ;設(shè)T0、T1為16位定 MOV TL0,#0B0H ;50MS定時(T0計時用) MOV TH0,#3CH ;50MS定時初值
23、MOV TL1,#0B0H ;50MS定時初值 MOV TH1,#3CH ;50MS定時初值 SETB EA ;總中斷開放 SETB ET0 ;允許T0中斷 SETB TR0 ;開啟T0定時器 MOV R4,#14H ;1秒定時用計數(shù)值 MOV DISPFIRST,#70H ;顯示單元為70-75H;以下主程序循環(huán) START1: LCALL DISPLAY ;調(diào)用顯示子程序 JNB P3.2,SETMM1 ;P3.2口為0時轉(zhuǎn)時間 JNB P3.3,TSFUN ;定時鬧鈴設(shè)定 JNB P3.4,FUNPT ;秒表功能 JB 08H, QQQQ AJMP START1 ;P3.2口為1時跳回S
24、TART1 FUNPT: LJMP FUNPTT START12: LJMP START1以下鬧鈴時間設(shè)定程序,按P3.3進入設(shè)定 TSFUN: LCALL DS20MS JB P3.3,START1 ; WAIT113: JNB P3.3,WAIT113 ;等待鍵釋放 JB 05H,CLOSESP ;鬧鈴已開的話,關(guān)鬧鈴 MOV DISPFIRST,#52H ;進入鬧鈴設(shè)定程序,顯示52-55H鬧鐘定時單元 DSWAIT: SETB EA LCALL DISPLAY JNB P3.4,DSFINC ;分加1 JNB P3.2,DSDEC ;分減1 JNB P3.3,DSSFU ;進入時調(diào)整
25、AJMP DSWAIT CLOSESP: CLR 05H ;關(guān)鬧鈴標志 CLR BELL AJMP START1 DSSFU: LCALL DS20MS ;消抖 JB P3.3, DSWAIT LJMP DSSFUNN ;進入時調(diào)整; SETMM1: LJMP SETMM;轉(zhuǎn)到時間調(diào)整程序SETMM DSFINC : LCALL DS20MS ;消抖 JB P3.4, DSWAIT DSWAIT12: LCALL DISPLAY ;等鍵 釋放 JNB P3.4, DSWAIT12 CLR EA MOV R0,#53H ; LCALL ADD1 ;鬧鈴設(shè)定分加1 MOV A,R3 ;分數(shù)據(jù)放入A
26、 CLR C ;清進位標志 CJNE A,#60H,ADDHH22 ; ADDHH22: JC DSWAIT ;小于60分時返回 ACALL CLR0 ;大于或等于60分 AJMP DSWAIT DSDEC : LCALL DS20MS ;消抖 JB P3.2, DSWAIT DSWAITEE: LCALL DISPLAY ;等鍵 釋放 JNB P3.2, DSWAITEE CLR EA MOV R0,#53H ; LCALL sub1 ;鬧鈴設(shè)定分減1 LJMP DSWAIT;以下鍵等待釋放時顯示不會熄滅用 WAIT21: LCALL DISPLAY AJMP WAIT22 WAIT31:
27、LCALL DISPLAY AJMP WAIT33 WAIT41: LCALL DISPLAY AJMP WAIT44 WAIT51: LCALL DISPLAY AJMP WAIT55 WAIT61: LCALL DISPLAY AJMP WAIT66 WAIT81: LCALL DISPLAY AJMP WAIT88 WAIT91: LCALL DISPLAY AJMP WAIT99;*; 閃動調(diào)時程序秒表功能程序 ;*;T1中斷服務(wù)程序,用作時間調(diào)整時調(diào)整單元閃爍指示或秒表計時INTT1: PUSH ACC ;中斷現(xiàn)場保護 PUSH PSW JB 03H, MMFUN ;=1時秒表 MO
28、V TL1, #0B0H ;裝定時器T1定時 MOV TH1, #3CH ; DJNZ R2,INTT1OUT ; MOV R2,#06H ; CPL 02H ; JB 02H,FLASH1 ; MOV 72H,76H ; MOV 73H,77H ; MOV 74H,78H ; MOV 75H,79H ;INTT1OUT: POP PSW ;恢復(fù)現(xiàn)場 POP ACC ; RETI ;中斷退出FLASH1: JB 01H,FLASH2 ; MOV 72H,7AH ; MOV 73H,7AH ; MOV 74H,78H ; MOV 75H,79H ; AJMP INTT1OUT ;轉(zhuǎn)中斷退出;*;
29、 顯示程序 ;*; 顯示數(shù)據(jù)在70H-75H單元內(nèi),用六位LED共陽數(shù)碼管顯示,P0口輸出段碼數(shù)據(jù),P2口作; 掃描控制,每個LED數(shù)碼管亮1MS時間再逐位循環(huán)。 DISPLAY: MOV R1,DISPFIRST ;指向顯示數(shù)據(jù)首址 MOV R5,#0FEH ;掃描控制字初值 PLAY: MOV A,R5 ;掃描字放入A MOV P2,A ;從P2口輸出 MOV A,R1 ;取顯示數(shù)據(jù)到A MOV DPTR,#TAB ;取段碼表地址 MOVCA,A+DPTR ; MOV P0,A ;段碼放入P1口 MOV A,R5 ; JB ACC.2,LOOP5 ;小數(shù)點處理 CLR P0.7 ; LOO
30、P5: JB ACC.4,LOOP6 ;小數(shù)點處理 CLR P0.7 ; LOOP6: LCALL DL1MS ;顯示1MS INC R1 ;指向下一地址 MOV A,R5 ;掃描控制字放入A JNB ACC.5,ENDOUT ; RL A ;A中數(shù)據(jù)循環(huán)左移 MOV R5,A ;放回R5內(nèi) MOV P0,#0FFH AJMP PLAY ;跳回PLAY ENDOUT: MOV P2,#0FFH ; MOV P0,#0FFH ;P0口復(fù)位 RET ;子程序返回 TAB: ;共陰段碼表 012 34567 89不亮“A”“-”;*; SDISPLAY ,上電顯示子程序;*;不帶小數(shù)點顯示,有“A”
31、“-”顯示功能 SDISPLAY: MOV R1,DISPFIRST MOV R5,#0FEH ;掃描控制字初值 SPLAY: MOV A,R5 ;掃描字放入A MOV P2,A ;從P2口輸出 MOV A,R1 ;取顯示數(shù)據(jù)到A MOV DPTR,#TABS ;取段碼表地址 MOVCA,A+DPTR ; MOV P0,A ;段碼放入P1口 MOV A,R5 ; LCALL DL1MS ;顯示1MS INC R1 ;指向下一地址 ENDOUTS: MOV P2,#0FFH ; MOV P0,#0FFH ;P0口復(fù)位 RET ;子程序返回TABS:DB 0C0H,0F9H,0A4H,0B0H,9
32、9H,92H,82H,0F8H,80H,90H,0FFH,0C6H,0BFH,88H ; 顯示數(shù) 0 1 2 3 4 5 6 7 8 9 不亮 C - A ; 內(nèi)存數(shù) 0 1 2 3 4 5 6 7 8 9 0AH 0BH 0CH 0DH STAB:DB0AH,0AH,0AH,0AH,0AH,09H,06H,04H,02H,00H,00H,06H,00H,01H,03H,0AH DB 0AH,09H,01H,0CH,06H,00H,0CH,09H,00H,00H,02H,0AH,0AH,0AH,0AH,0AH; 注:0A不亮,0B顯示“A”,0C顯示“-”;*;以下是鬧鈴時間設(shè)定程序中的時調(diào)整
33、程序;*DSSFUNN: LCALL DISPLAY ;等待鍵釋放 JNB P3.3, DSSFUNN WAITSS: SETB EA LCALL DISPLAY JNB P3.4,FFFF ;時加1鍵 JNB P3.2,DDDD ;時減1 JNB P3.3,OOOO ;鬧鈴設(shè)定退出鍵 AJMP WAITSS OOOO: LCALL DS20MS ;消抖 JB P3.3,WAITSS DSSFUNNM: LCALL DISPLAY ;鍵釋放等待 JNB P3.3, DSSFUNNM MOV DISPFIRST,#72H LJMP START1 FFFF: LCALL DS20MS ;消抖 JB
34、 P3.4, WAITSS DSSFUNMM: LCALL DISPLAY ;鍵釋放等待 JNB P3.4, DSSFUNMM CLR EA MOV R0,#55H LCALL ADD1 MOV A,R3 ; CLR C ; CJNE A,#24H,ADDHH33N ; ADDHH33N: JC WAITSS ; ACALL CLR0 ; AJMP WAITSS DDDD : LCALL DS20MS ;消抖 ; JB P3.2, WAITSS DSSFUNDD: LCALL DISPLAY ;鍵釋放等待 JNB P3.2, DSSFUNDD CLR EA MOV R0,#55H LCALL SUBB1 LJMP WAITSS;*;以下
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江省嘉興市2025屆高三下學(xué)期4月教學(xué)測試英語+答案
- 云南省祿豐縣一中2025屆高三適應(yīng)性月考(八)數(shù)學(xué)試題試卷含解析
- 南通師范高等專科學(xué)?!队耙暼S資產(chǎn)渲染技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 醬香型白酒 項目安全評估報告
- 北京工業(yè)大學(xué)《合唱排練(一)》2023-2024學(xué)年第一學(xué)期期末試卷
- 南昌交通學(xué)院《風(fēng)景園林藝術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 天津市塘沽濱海中學(xué)2025年高三下-開學(xué)考試數(shù)學(xué)試題試卷含解析
- 安徽新聞出版職業(yè)技術(shù)學(xué)院《休閑體育產(chǎn)業(yè)》2023-2024學(xué)年第一學(xué)期期末試卷
- 泰山學(xué)院《大學(xué)數(shù)礎(chǔ)(一)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東職業(yè)學(xué)院《企業(yè)財務(wù)會計二》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024年10月自考04851產(chǎn)品設(shè)計程序與方法試題及答案含評分參考
- 養(yǎng)老項目案例研究-泰康之家北京燕園市場調(diào)研報告
- 美國租房合同中文
- 科室一級護理質(zhì)控匯報
- 五年(2020-2024)高考地理真題分類匯編專題13資源、環(huán)境和國家安全原卷版
- 科技公司研發(fā)團隊建設(shè)方案
- 農(nóng)業(yè)昆蟲學(xué)-形考測試一-國開(ZJ)-參考資料
- 小狗錢錢理財童話
- 2024年多功能高壓噴霧加濕機組項目可行性研究報告
- 惡性腫瘤患者的康復(fù)
- 帶式運輸機傳動裝置的設(shè)計
評論
0/150
提交評論