單片機(jī)課程設(shè)計(jì)報(bào)告多功能數(shù)字電子時(shí)鐘_第1頁
單片機(jī)課程設(shè)計(jì)報(bào)告多功能數(shù)字電子時(shí)鐘_第2頁
單片機(jī)課程設(shè)計(jì)報(bào)告多功能數(shù)字電子時(shí)鐘_第3頁
單片機(jī)課程設(shè)計(jì)報(bào)告多功能數(shù)字電子時(shí)鐘_第4頁
單片機(jī)課程設(shè)計(jì)報(bào)告多功能數(shù)字電子時(shí)鐘_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、-PAGE . z目 錄TOC o 1-2 h z uHYPERLINK l _Toc293913947第1章系統(tǒng)總體方案與說明 PAGEREF _Toc293913947 h 1HYPERLINK l _Toc2939139481.1系統(tǒng)總體方案 PAGEREF _Toc293913948 h 1HYPERLINK l _Toc2939139491.2 系統(tǒng)設(shè)計(jì)說明 PAGEREF _Toc293913949 h 1HYPERLINK l _Toc2939139501.3系統(tǒng)設(shè)計(jì)目的 PAGEREF _Toc293913950 h 2HYPERLINK l _Toc2939139511.4系

2、統(tǒng)設(shè)計(jì)要求 PAGEREF _Toc293913951 h 3HYPERLINK l _Toc293913952第2章硬件電路設(shè)計(jì) PAGEREF _Toc293913952 h 4HYPERLINK l _Toc2939139532.1總原理圖 PAGEREF _Toc293913953 h 4HYPERLINK l _Toc2939139542.2各個(gè)模塊設(shè)計(jì) PAGEREF _Toc293913954 h 4HYPERLINK l _Toc2939139552.3 器件清單 PAGEREF _Toc293913955 h 8HYPERLINK l _Toc293913956第3章軟件設(shè)計(jì)

3、 PAGEREF _Toc293913956 h 9HYPERLINK l _Toc2939139573.1 硬件框圖 PAGEREF _Toc293913957 h 9HYPERLINK l _Toc2939139583.2 程序流程圖 PAGEREF _Toc293913958 h 9HYPERLINK l _Toc293913959第4章心得體會 PAGEREF _Toc293913959 h 12HYPERLINK l _Toc293913960第5章 PAGEREF _Toc293913960 h 15HYPERLINK l _Toc293913961附錄A. 源程序清單 PAGER

4、EF _Toc293913961 h 15HYPERLINK l _Toc293913962附錄B.硬件原理圖 PAGEREF _Toc293913962 h 25HYPERLINK l _Toc293913963C 參考文獻(xiàn) PAGEREF _Toc293913963 h 27HYPERLINK l _Toc293913964電氣信息學(xué)院課程設(shè)計(jì)評分表 PAGEREF _Toc293913964 h 28第1章 系統(tǒng)總體方案與說明1.1系統(tǒng)總體方案該課程設(shè)計(jì)是利用MCS-51單片機(jī)部的定時(shí)計(jì)數(shù)器、中斷系統(tǒng)、以及行列鍵盤和LED顯示器等部件,設(shè)計(jì)的一個(gè)單片機(jī)電子時(shí)鐘,6位LED數(shù)碼顯示,分別顯

5、示小時(shí):分鐘:秒。該作品主要用于24小時(shí)計(jì)時(shí)顯示,能整時(shí)報(bào)時(shí),能作為秒表使用,能定時(shí)鬧鈴1分鐘。使用方法:開機(jī)后時(shí)鐘在00:00:00起開場計(jì)時(shí)。1.長按P3.2進(jìn)入調(diào)分狀態(tài):分單元閃爍,按P3.2加1,按P3.3減1.再長按P3.2進(jìn)入時(shí)調(diào)整狀態(tài),時(shí)單元閃爍,加減調(diào)整同調(diào)分.按長按退出調(diào)整狀態(tài)。2.按P3.3進(jìn)入設(shè)定鬧時(shí)狀態(tài): 12:00: ,可進(jìn)展分設(shè)定,按P3.4分加1,再按P3.2為時(shí)調(diào)整,按P3.4時(shí)加1,按P3.3調(diào)鬧鐘完畢.在鬧鈴時(shí)可按P3.2停鬧,不按鬧鈴1分鐘。3按下P3.4進(jìn)入秒表狀態(tài):再按P3.4秒表又啟動,按P3.4暫停,再按P3.4秒表清零,按P3.4退出秒表回到時(shí)鐘

6、狀態(tài)。1.2系統(tǒng)設(shè)計(jì)說明1系統(tǒng)由AT89C51、LED 數(shù)碼管、按鍵、電容、電阻等局部構(gòu)成,能實(shí)現(xiàn)時(shí)間的調(diào)整、輸出、調(diào)時(shí)間等功能。系統(tǒng)中按鈕BUTTON能對時(shí)間進(jìn)展調(diào)整功能的按鈕,采用單鍵控制調(diào)時(shí)功能,運(yùn)用軟件去抖判斷按鍵的時(shí)間從而選擇完成相對應(yīng)的功能2時(shí)間調(diào)整:該設(shè)計(jì)需要校對時(shí)間,所以用三個(gè)按鍵來實(shí)現(xiàn)。按hour來調(diào)節(jié)小時(shí)的時(shí)間,按 minute來調(diào)節(jié)分針的時(shí)間,按 scoend來調(diào)節(jié)秒的時(shí)間。按鍵處理是先檢測秒按鍵是否按下,秒按鍵如果按下,秒就加1;如果沒有按下,就檢測分按鍵是否按下,分按鍵如果按下,分就加1;如果沒有按下,就檢測時(shí)按鍵是否按下,時(shí)按鍵如果按下,時(shí)就加1;如果沒有按下,就把

7、時(shí)間顯示出來。(3)中斷:中斷技術(shù)在單片系統(tǒng)中有著十分重要的作用,它不僅可以提高單片機(jī)CPU的效率,也可以對突發(fā)事件處理。所謂中斷就是當(dāng)CPU正在執(zhí)行程序A時(shí),發(fā)生了另一個(gè)急需處理的事件B,這是CPU暫停當(dāng)前執(zhí)行的程序A,立即轉(zhuǎn)去執(zhí)行處理事件B的程序,處理完事件B后,再返回到程序A繼續(xù)執(zhí)行,這個(gè)過程被叫做中斷。關(guān)于中斷的概念有以下幾個(gè)名詞:1程序A稱為主程序,2處理事件B的程序稱為中斷效勞程序,3主程序中轉(zhuǎn)向中斷效勞程序的地方稱為斷點(diǎn),4引起中斷的原因即事件B稱為中斷源,5轉(zhuǎn)去執(zhí)行中斷效勞程序稱為中斷響應(yīng)。關(guān)于中斷的概念可以打個(gè)如下的比喻。領(lǐng)導(dǎo)CPU在自己的房間辦公執(zhí)行主程序,下屬外設(shè)有問題打

8、來請示中斷源。1.3系統(tǒng)設(shè)計(jì)目的通過課程設(shè)計(jì)的教學(xué)實(shí)踐,穩(wěn)固、加深和擴(kuò)大51系列單片機(jī)應(yīng)用的知識面,提高綜合及靈活運(yùn)用所學(xué)知識解決工業(yè)控制的能力。對課題設(shè)計(jì)方案的分析、選擇、比擬、熟悉用51單片機(jī)做系統(tǒng)開發(fā)、研制的過程,軟硬件設(shè)計(jì)的方法、容及步驟。提高動手實(shí)踐能力、提高科學(xué)的思維能力。1.4系統(tǒng)設(shè)計(jì)要求1.掌握單片機(jī)最小系統(tǒng)的電路原理圖; 2.硬件的焊接、連接;3.獨(dú)立編輯、編譯軟件;4.調(diào)試要求: 1上電以后自動進(jìn)入計(jì)時(shí)狀態(tài),起始于00:00:00。2設(shè)計(jì)鍵盤調(diào)整時(shí)間,完成時(shí)間設(shè)計(jì),并設(shè)置鬧鐘。3定時(shí)時(shí)間為1/20秒,采用定時(shí)器實(shí)現(xiàn)。4采用LED數(shù)碼管顯示,時(shí)、分,秒采用數(shù)字顯示。5采用24

9、小時(shí)制,具有方便的時(shí)間調(diào)校功能。6具有時(shí)鐘和秒表的切換功能。第2章 硬件電路設(shè)計(jì)2.1總原理圖 如原理圖所示,硬件系統(tǒng)主要由單片機(jī)最小應(yīng)用系統(tǒng)、LED數(shù)碼管顯示模塊、電源模塊、晶振模塊、按鍵模塊等組成。圖2-1電子時(shí)鐘原理圖2.2各個(gè)模塊設(shè)計(jì)1、單片機(jī)最小系統(tǒng) AT89S52概述:是一款非常適合單片機(jī)初學(xué)者學(xué)習(xí)的單片機(jī),它完全兼容傳統(tǒng)的8051,8031的指令系統(tǒng),他的運(yùn)行速度要比8051快最高支持達(dá)33MHz的晶體震蕩器,在此系統(tǒng)中使用12MHz的晶振。AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)

10、器/計(jì)數(shù)器,一個(gè)6向量2級中斷構(gòu)造,全雙工串行口,片晶振及時(shí)鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停頓工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停頓,直到下一個(gè)中斷或硬件復(fù)位為止詳述:AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位

11、CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器。一個(gè)6向量2級中斷構(gòu)造,全雙工串行口及時(shí)鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停頓工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停頓,直到下一個(gè)中斷或硬件復(fù)位為止.2、顯示模塊LED數(shù)碼管是由發(fā)光二極管構(gòu)成的,亦

12、稱半導(dǎo)體數(shù)碼管。將條狀發(fā)光二極管按照共陰極(負(fù)極)或共陽極(正極)的方法連接,組成8字,再把發(fā)光二極管另一電極作筆段電極,就構(gòu)成了LED數(shù)碼管。假設(shè)按規(guī)定使*些筆段上的發(fā)光二極管發(fā)光,就能顯示從09的系列數(shù)字。同熒光數(shù)碼管(VFD)、輝光數(shù)碼管(NRT)相比,它具有:體積小、功耗低、耐震動、壽命長、亮度高、單色性好、發(fā)光響應(yīng)的時(shí)間短,能與TTL、CMOS電路兼容等的數(shù)顯器件。+、-分別表示公共陽極和公共陰極。ag是7個(gè)筆段電極,DP為小數(shù)點(diǎn)。另有一種字高為76mm的超小型LED數(shù)碼管,管腳從左右兩排引出,小數(shù)點(diǎn)則是獨(dú)立的。本系統(tǒng)利用6位LED數(shù)碼管顯示時(shí)間,共陰極構(gòu)造。LED數(shù)碼管由7段發(fā)光二

13、極管組成,當(dāng)要顯示*個(gè)數(shù)字時(shí)只要將數(shù)字所對應(yīng)的引腳送入低電平。3.按鍵模塊本設(shè)計(jì)中主要有三個(gè)控制按鍵,按鍵功能為:1P3.2為調(diào)時(shí)間模式,長按P3.2進(jìn)入調(diào)分狀態(tài):分單元閃爍,按P3.2加1,按P3.3減1.再長按P3.2進(jìn)入時(shí)調(diào)整狀態(tài),時(shí)單元閃爍,加減調(diào)整同調(diào)分.按長按退出調(diào)整狀態(tài)。 圖2-22按P3.3進(jìn)入設(shè)定鬧時(shí)狀態(tài): 12:00: ,可進(jìn)展分設(shè)定,按P3.4分加1,再按P3.2為時(shí)調(diào)整,按P3.4時(shí)加1,按P3.3調(diào)鬧鐘完畢.在鬧鈴時(shí)可按P3.2停鬧,不按鬧鈴1分鐘。3按下P3.4進(jìn)入秒表狀態(tài):再按P3.4秒表又啟動,按P3.4暫停,再按P3.4秒表清零,按P3.4退出秒表回到時(shí)鐘狀態(tài)

14、。4晶振模塊以下圖所示為時(shí)鐘電路原理圖,在AT89S51芯片部有一個(gè)高增益反相放大器,其輸入端為芯片引腳*TAL1,輸出端為引腳*TAL2。而在芯片部,*TAL1和*TAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進(jìn)展二分頻之后,才成為單片機(jī)的時(shí)鐘脈沖信號。圖2-3晶振電路2.3 器件清單元件名封裝名型號CRYSTAL*TAL-1VOLTREGTO-220MC7805TTRANS4 FLY410TO1VSINCAPRB.2/.4CAPACITOR POLCAPRAD-0.1CAPTRANSISTORTO18PNPTRANSISITOR TO9

15、2ANPNSPEAKERSIP-2LEDDIODE-0.4SW-PBRES2DPY_7-SEG_DPDIP8單片機(jī)AT89S52表一 元件器件清單第3章 軟件設(shè)計(jì)3.1 硬件框圖根據(jù)以上的電子時(shí)鐘的設(shè)計(jì)要求可以分為以下的幾個(gè)硬件電路模塊:單片機(jī)模塊、數(shù)碼顯示模塊、晶振模塊、電源模塊與按鍵模塊等,模塊之間的關(guān)系圖如下面得方框電路圖所示。圖3-13.2程序流程圖1總體流程圖圖3-22時(shí)鐘調(diào)整模式Y(jié)NNNYY開場系統(tǒng)初始化是否按下設(shè)置鍵時(shí)間調(diào)整模式是否退出調(diào)整模式是否跟鬧鐘時(shí)間一致啟動鬧鈴顯示時(shí)間圖3-33秒表模式Y(jié)YYYNNNN開場是否按功能切換鍵系統(tǒng)初始化是否按秒表暫停鍵是否按秒表啟動鍵是否按秒

16、表清零鍵切換秒表秒表計(jì)時(shí)暫停秒表顯示時(shí)間圖3-4第4章 心得體會本次課程設(shè)計(jì)是用AT89S52單片機(jī)CPU及接口電路設(shè)計(jì)一個(gè)數(shù)字時(shí)鐘,經(jīng)過一個(gè)星期的調(diào)試,結(jié)果滿足設(shè)計(jì)要求,驗(yàn)證無誤。通過單片機(jī)硬件電路的調(diào)試,實(shí)現(xiàn)了預(yù)先設(shè)定的功能,設(shè)計(jì)主要用到了多種芯片,程序也比擬長比擬麻煩,同時(shí)也遇到了不少困難,尤其是關(guān)于校時(shí)模塊的設(shè)計(jì)實(shí)現(xiàn)。關(guān)于顯示模塊,在以前的實(shí)驗(yàn)中做過,所以問題很容易解決。隨著集成電路和計(jì)算機(jī)技術(shù)的迅速開展,使電子儀器的整體水平發(fā)生巨大變化,傳統(tǒng)的儀器逐步的被智能儀器所取代。智能儀器的核心部件是單片機(jī),因其極高的性價(jià)比得到廣泛的應(yīng)用與開展,從而加快了智能儀器的開展。而傳感器作為測控系統(tǒng)中

17、對象信息的入口,越來越受到人們的關(guān)注。傳感器好比人體五官的工程模擬物,它是一種能將特定的被測量信息物理量、化學(xué)量、生物量等按一定規(guī)律轉(zhuǎn)換成*種可用信號輸出的器件或裝置本次課設(shè)中的半橋電子秤就是在以上儀器的根底上設(shè)計(jì)而成的。因此,只有充分了解有關(guān)智能儀器、單片機(jī)、傳感器以及各局部之間的關(guān)系才能到達(dá)要求。通過本次設(shè)計(jì),我們系統(tǒng)的了解了實(shí)時(shí)時(shí)鐘的設(shè)計(jì)流程,尤其是硬、軟件的設(shè)計(jì)方法,掌握了鍵盤顯示電路的根本功能及編程方法,掌握了鍵盤電路和顯示電路的一般原理,也進(jìn)一步掌握了89S52定時(shí)器的使用和中斷處理器程序的編程方法。開拓了思路,鍛煉了實(shí)踐動手能力,提高了分工協(xié)作能力和分析問題,解決問題的能力,到達(dá)

18、了本次課程設(shè)計(jì)的目的。在調(diào)試電路的過程中也積累了一些珍貴的經(jīng)歷,比方說,在I/O口要保證標(biāo)準(zhǔn)的高電平1的產(chǎn)生,一般要上拉電阻5.1k,在一些需要高電平的地方,不能用懸空來模擬,必須嚴(yán)格的按照+5v來連接,特別是調(diào)試過程中的分局部進(jìn)展很重要。此次單片機(jī)課程設(shè)計(jì),從選題到定稿,從理論到實(shí)踐,在整整兩個(gè)星期里,學(xué)到了很多的東西。同時(shí)不僅穩(wěn)固了以前所學(xué)過的知識,而且還學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會效勞,從而提高自己的實(shí)際動手能力和獨(dú)立思考的能力。

19、這次的課程設(shè)計(jì)還讓我學(xué)會了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。更重要的是,我在這一設(shè)計(jì)過程中,學(xué)會了堅(jiān)持不懈,不輕言放棄。設(shè)計(jì)過程,好比是我們?nèi)祟惓砷L的歷程,常有一些不如意,但畢竟這是第一次做,難免會遇到各種各樣的問題。在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的缺乏之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠結(jié)實(shí)。我們通過查閱大量有關(guān)資料,并在小組中互相討論,交流經(jīng)歷和自學(xué),假設(shè)遇到實(shí)在搞不明白的問題就會及時(shí)請教教師,使自己學(xué)到了不少知識,也經(jīng)歷了不少艱辛,但收獲同樣巨大。單片機(jī)課程設(shè)計(jì)雖然完畢了,但通過設(shè)計(jì)所學(xué)到的東西將長久存在。相信這次設(shè)計(jì)帶給我們的嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)態(tài)度和一絲不茍的科學(xué)

20、作風(fēng)將會給我們未來的工作和學(xué)習(xí)打下一個(gè)更堅(jiān)實(shí)的根底。單片機(jī)課程設(shè)計(jì),是對單片機(jī)知識的驗(yàn)證,可以幫助我們理解穩(wěn)固所學(xué)知識,激發(fā)我們對單片機(jī)課程的興趣,更鍛煉了我們獨(dú)立思考、開拓創(chuàng)新的能力。在做本次課程設(shè)計(jì)的過程中,我感觸最深的當(dāng)屬查閱大量的設(shè)計(jì)資料了。為了讓自己的設(shè)計(jì)更加完善,查閱這方面的設(shè)計(jì)資料是十分必要的,同時(shí)也是必不可少的。我們是在做單片機(jī)課程設(shè)計(jì),但我們不是藝術(shù)家,他們可以拋開實(shí)際盡情在夢想的世界里翱翔,而我們一切都要有據(jù)可依,有理可尋,不切實(shí)際的設(shè)想永遠(yuǎn)只能是設(shè)想,永遠(yuǎn)無法升級為設(shè)計(jì)。其次,在這次課程設(shè)計(jì)中,我們運(yùn)用到了以前所學(xué)的專業(yè)課知識,如:CAD制圖、匯編語言、模擬和數(shù)字電路知識

21、等。雖然過去從未獨(dú)立應(yīng)用過它們,但在學(xué)習(xí)的過程中帶著問題去學(xué)我發(fā)現(xiàn)效率很高,這是我做這次課程設(shè)計(jì)的又一收獲。最后,要做好一個(gè)課程設(shè)計(jì),就必須做到:在設(shè)計(jì)程序之前,對所用單片機(jī)的部構(gòu)造有一個(gè)系統(tǒng)的了解,知道該單片機(jī)有哪些資源;要有一個(gè)清晰的思路和一個(gè)完整的軟件流程圖;在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,反復(fù)修改、不斷改良是程序設(shè)計(jì)的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一個(gè)程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在設(shè)計(jì)課程過程中遇到問題是很正,但我們應(yīng)該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題。另外,這次課程

22、設(shè)計(jì)讓我感到了團(tuán)隊(duì)合作的重要性。在團(tuán)隊(duì)中,我們互幫互助,對整個(gè)課程設(shè)計(jì)來說,這是至關(guān)重要的,缺少每一個(gè)人都會對我們的設(shè)計(jì)產(chǎn)生影響。還有要感指導(dǎo)教師在我們遇到困難時(shí),給予我們的建議與鼓勵(lì)。第5章 附錄A. 源程序清單; AT89S52時(shí)鐘程序 ;*定時(shí)器T0、T1溢出周期為50MS,T0為秒計(jì)數(shù)用, T1為調(diào)整時(shí)閃爍及秒表定時(shí)用,P3.2、P3.3、P3.4為調(diào)整按鈕,P0口為字符輸出口,P2為掃描口,P1.2為蜂嗚器口,采用共陽顯示管。50H-55H為鬧鐘定時(shí)單元,60H-65H為秒表計(jì)時(shí)單元,70H-75H為顯示時(shí)間單元,76H-79H為分時(shí)計(jì)時(shí)單元。03H標(biāo)志=0時(shí)鐘閃爍,=1秒表, 05

23、H=0,不鬧鈴,=1要鬧鈴. 07H每秒改變一次,用作間隔嗚叫.* DISPFIRST EQU 30H ;顯示首址存放單元 BELL EQU P1.2 CONBS EQU 2FH ;存放報(bào)時(shí)次數(shù) CLOCK EQU 2DH* 中斷入口程序 * ORG 0000H ;程序執(zhí)行開場地址 LJMP START ;跳到標(biāo)號START執(zhí)行 ORG 0003H ;外中斷0中斷程序入口 RETI ;外中斷0中斷返回 ORG 000BH ;定時(shí)器T0中斷程序入口 LJMP INTT0 ;跳至INTTO執(zhí)行 ORG 0013H ;外中斷1中斷程序入口 RETI ;外中斷1中斷返回 ORG 001BH ;定時(shí)器T

24、1中斷程序入口 LJMP INTT1 ;跳至INTT1執(zhí)行 ORG 0023H ;串行中斷程序入口地址 RETI ;串行中斷程序返回*以下程序開場 ;*整點(diǎn)報(bào)時(shí)用 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 ;清整點(diǎn)報(bào)時(shí)標(biāo)志 AJMP START1*主程序開場 ;* START: LCALL ST ;上電顯示00:00:00 MOV R0,*00H ;清00H-7FH存

25、單元 MOV R7,*80H ;CLEARDISP: MOV R0,*00H ; INC R0 ; DJNZ R7,CLEARDISP ; MOV 20H,*00H ;清20H標(biāo)志用 MOV 55H,*1 MOV 54H,*2 MOV 7AH,*0AH ;放入熄滅符數(shù)據(jù) MOV TMOD,*11H ;設(shè)T0、T1為16位定 MOV TL0,*0B0H ;50MS定時(shí)T0計(jì)時(shí)用 MOV TH0,*3CH ;50MS定時(shí)初值 MOV TL1,*0B0H ;50MS定時(shí)初值 MOV TH1,*3CH ;50MS定時(shí)初值 SETB EA ;總中斷開放 SETB ET0 ;允許T0中斷 SETB TR0

26、 ;開啟T0定時(shí)器 MOV R4,*14H ;1秒定時(shí)用計(jì)數(shù)值 MOV DISPFIRST,*70H ;顯示單元為70-75H;以下主程序循環(huán) START1: LCALL DISPLAY ;調(diào)用顯示子程序 JNB P3.2,SETMM1 ;P3.2口為0時(shí)轉(zhuǎn)時(shí)間 JNB P3.3,TSFUN ;定時(shí)鬧鈴設(shè)定 JNB P3.4,FUNPT ;秒表功能 08H, QQQQ AJMP START1 ;P3.2口為1時(shí)跳回START1 FUNPT: LJMP FUNPTT START12: LJMP START1以下鬧鈴時(shí)間設(shè)定程序,按P3.3進(jìn)入設(shè)定 TSFUN: LCALL DS20MS P3.3

27、,START1 ; WAIT113: JNB P3.3,WAIT113 ;等待鍵釋放 05H,CLOSESP;鬧鈴已開的話,關(guān)鬧鈴 MOV DISPFIRST,*52H ;進(jìn)入鬧鈴設(shè)定程序,顯示52-55H鬧鐘定時(shí)單元 DSWAIT: SETB EA LCALL DISPLAY JNB P3.4,DSFINC ;分加1 JNB P3.2,DSDEC ;分減1 JNB P3.3,DSSFU ;進(jìn)入時(shí)調(diào)整 AJMP DSWAIT CLOSESP: CLR 05H ;關(guān)鬧鈴標(biāo)志 CLR BELL AJMP START1 DSSFU: LCALL DS20MS ;消抖 P3.3, DSWAIT LJM

28、P DSSFUNN ;進(jìn)入時(shí)調(diào)整; SETMM1: LJMP SETMM;轉(zhuǎn)到時(shí)間調(diào)整程序SETMM DSFINC : LCALL DS20MS ;消抖 P3.4, DSWAIT DSWAIT12: LCALL DISPLAY ;等鍵 釋放 JNB P3.4, DSWAIT12 CLR EA MOV R0,*53H ; LCALL ADD1 ;鬧鈴設(shè)定分加1 MOV A,R3 ;分?jǐn)?shù)據(jù)放入A CLR C ;清進(jìn)位標(biāo)志 CJNE A,*60H,ADDHH22 ; ADDHH22: JC DSWAIT ;小于60分時(shí)返回 ACALL CLR0 ;大于或等于60分 AJMP DSWAIT DSDEC

29、 : LCALL DS20MS ;消抖 P3.2, DSWAIT DSWAITEE: LCALL DISPLAY ;等鍵 釋放 JNB P3.2, DSWAITEE CLR EA MOV R0,*53H ; LCALL sub1 ;鬧鈴設(shè)定分減1 LJMP DSWAIT;以下鍵等待釋放時(shí)顯示不會熄滅用 WAIT21: LCALL DISPLAY AJMP WAIT22 WAIT31: LCALL DISPLAY AJMP WAIT33 WAIT41: LCALL DISPLAY AJMP WAIT44 WAIT51: LCALL DISPLAY AJMP WAIT55 WAIT61: LCAL

30、L DISPLAY AJMP WAIT66 WAIT81: LCALL DISPLAY AJMP WAIT88 WAIT91: LCALL DISPLAY AJMP WAIT99;*; 閃動調(diào)時(shí)程序秒表功能程序 ;*;T1中斷效勞程序,用作時(shí)間調(diào)整時(shí)調(diào)整單元閃爍指示或秒表計(jì)時(shí)INTT1: PUSH ACC ;中斷現(xiàn)場保護(hù) PUSH PSW 03H, MMFUN ;=1時(shí)秒表 MOV TL1, *0B0H;裝定時(shí)器T1定時(shí) MOV TH1, *3CH ; DJNZ R2,INTT1OUT ; MOV R2,*06H ; CPL 02H ; 02H,FLASH1 ; MOV 72H,76H ; M

31、OV 73H,77H ; MOV 74H,78H ; MOV 75H,79H ;INTT1OUT: POP PSW ;恢復(fù)現(xiàn)場 POP ACC ; RETI ;中斷退出FLASH1: 01H,FLASH2 ;MOV 72H,7AH ; MOV 73H,7AH ; MOV 74H,78H ; MOV 75H,79H ; AJMP INTT1OUT ;轉(zhuǎn)中斷退出;*; 顯示程序 ;*; 顯示數(shù)據(jù)在70H-75H單元,用六位LED共陽數(shù)碼管顯示,P0口輸出段碼數(shù)據(jù),P2口作; 掃描控制,每個(gè)LED數(shù)碼管亮1MS時(shí)間再逐位循環(huán)。 DISPLAY: MOV R1,DISPFIRST ;指向顯示數(shù)據(jù)首址

32、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 ; ACC.2,LOOP5 ;小數(shù)點(diǎn)處理 CLR P0.7 ; LOOP5: ACC.4,LOOP6 ;小數(shù)點(diǎn)處理 CLR P0.7 ; LOOP6: LCALL DL1MS ;顯示1MS INC R1 ;指向下一地址 MOV A,R5 ;掃描控制字放入A JNB ACC.5,ENDOUT ; RL A ;A中

33、數(shù)據(jù)循環(huán)左移 MOV R5,A ;放回R5 MOV P0,*0FFH AJMP PLAY ;跳回PLAY ENDOUT: MOV P2,*0FFH ; MOV P0,*0FFH ;P0口復(fù)位 RET ;子程序返回 TAB: ;共陰段碼表 012 34567 89不亮A-;*; SDISPLAY ,上電顯示子程序;*;不帶小數(shù)點(diǎn)顯示,有A-顯示功能 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 ;取

34、段碼表地址 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,99H,92H,82H,0F8H,80H,90H,0FFH,0C6H,0BFH,88H ; 顯示數(shù) 0 1 2 3 4 5 6 7 8 9 不亮 C - A ; 存數(shù) 0 1 2 3 4 5 6 7 8 9 0AH 0BH 0CH 0DH STAB:DB0AH,0AH

35、,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í)間設(shè)定程序中的時(shí)調(diào)整程序;*DSSFUNN: LCALL DISPLAY ;等待鍵釋放 JNB P3.3, DSSFUNN WAITSS: SETB EA LCALL DISPLAY JNB P3.4,FFFF ;時(shí)加1鍵 JNB P3.2,DDDD ;時(shí)減1 JNB P3.3,OOOO ;鬧鈴

36、設(shè)定退出鍵 AJMP WAITSS OOOO: LCALL DS20MS ;消抖 P3.3,WAITSS DSSFUNNM: LCALL DISPLAY ;鍵釋放等待 JNB P3.3, DSSFUNNM MOV DISPFIRST,*72H LJMP START1 FFFF: LCALL DS20MS ;消抖 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

37、: JC WAITSS ; ACALL CLR0 ; AJMP WAITSS DDDD : LCALL DS20MS ;消抖 ; P3.2, WAITSS DSSFUNDD: LCALL DISPLAY ;鍵釋放等待 JNB P3.2, DSSFUNDD CLR EA MOV R0,*55H LCALL SUBB1 LJMP WAITSS;*;以下是鬧鈴判斷子程序;*BAOJ: MOV A,79H ; CJNE A,55H,BBAO MOV A,78H CLR CBB3: CJNE A,54H,BBAO MOV A,77H CLR C CJNE A,53H,BBAO MOV A,76H CLR

38、 C ; CJNE A,52H,BBAO ; CLR C ; CLR BELL ; RETBB2: CJNE A,52H,BBAO JNB 07H,BBAO ;07H在1秒到時(shí)會取反 CLR BELL ;時(shí)分一樣時(shí) RET BBAO: SETB BELL ;不一樣或鬧鈴 RET;*上電顯示程序;* ST: MOV R0,*40H ; MOV R2,*20H ; MOV R3,*00H ; CLR A ; MOV DPTR,*STAB ; SLOOP: MOVC A,A+DPTR ; MOV R0,A ; MOV A,R3 ; INC A ; MOV R3,A ; INC R0 ; DJNZ R2,SLOOP ;移入完畢

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論