課程設(shè)計(jì)---作息時(shí)間控制器的設(shè)計(jì)報(bào)告_第1頁(yè)
已閱讀1頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  摘要</b></p><p>  本設(shè)計(jì)是作息時(shí)間控制器的設(shè)計(jì),由單片機(jī)AT89C52芯片和LED數(shù)碼管為核心,輔以必要的電路,構(gòu)成的一個(gè)單片機(jī)電子作息時(shí)間控制器。該功能的實(shí)現(xiàn)主要通過(guò)軟件編程來(lái)完成,降低了硬件電路的復(fù)雜性,成本也有所降低。</p><p>  設(shè)計(jì)內(nèi)容包括了秒信號(hào)指示、時(shí)間“時(shí)”和“分”顯示電路、按鍵調(diào)整電路、供電電源以

2、及鬧鈴指示電路等幾部分的設(shè)計(jì)。采用四個(gè)開(kāi)關(guān)來(lái)控制作息時(shí)間控制器的工作狀態(tài),分別為:K1、設(shè)置時(shí)間和鬧鐘的小時(shí);K2、設(shè)置小時(shí)以及設(shè)置鬧鐘的開(kāi)關(guān);K3、設(shè)置分鐘和鬧鐘的分鐘;K4、設(shè)置完成退出。當(dāng)作息時(shí)間控制器達(dá)到課程設(shè)計(jì)的要求,在到達(dá)設(shè)定的定時(shí)時(shí)間時(shí)蜂鳴器便被控制立即發(fā)出聲音,持續(xù)一分鐘,而后按K4鍵退出顯示閃爍狀態(tài),即恢復(fù)時(shí)鐘狀態(tài)。顯示采用的四位數(shù)碼管電路,定時(shí)提示采用蜂鳴器發(fā)聲指示。本設(shè)計(jì)方案也可以經(jīng)過(guò)改進(jìn)作為實(shí)現(xiàn)定時(shí)控制系統(tǒng)的控制

3、定時(shí)電路。</p><p>  關(guān)鍵詞:作息時(shí)間 單片機(jī) 顯示 定時(shí)</p><p><b>  目錄</b></p><p><b>  1 概述3</b></p><p>  1.1 課程設(shè)計(jì)的目的和意義3</p><p>  1.2 單片機(jī)課程設(shè)計(jì)的要求3<

4、/p><p>  1.3 作息時(shí)間控制器的設(shè)計(jì)要求3</p><p>  2 系統(tǒng)總體方案及硬件設(shè)計(jì)4</p><p>  2.1 系統(tǒng)總體設(shè)計(jì)4</p><p>  2.2 系統(tǒng)各個(gè)部分的電路設(shè)計(jì)5</p><p><b>  3 軟件的設(shè)計(jì)8</b></p><p&g

5、t;<b>  3.1 概述8</b></p><p>  3.2 主模塊的設(shè)計(jì)8</p><p>  3.3顯示模塊設(shè)計(jì)9</p><p>  3.4 時(shí)間設(shè)定模塊設(shè)計(jì)9</p><p>  3.5 鬧鈴功能的實(shí)現(xiàn)10</p><p>  4 Proteus軟件仿真12</p&

6、gt;<p>  4.1仿真結(jié)果12</p><p>  4.2性能及誤差分析14</p><p>  5課程設(shè)計(jì)體會(huì)15</p><p><b>  參考文獻(xiàn)15</b></p><p>  附1 程序源代碼16</p><p><b>  附2原理圖26&l

7、t;/b></p><p><b>  1 概述</b></p><p>  1.1 課程設(shè)計(jì)的目的和意義</p><p>  綜合利用所學(xué)單片機(jī)知識(shí)完成一個(gè)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)并仿真、由硬件實(shí)現(xiàn),從而加深對(duì)單片機(jī)軟硬知識(shí)的理解,獲得初步的應(yīng)用經(jīng)驗(yàn),為走出校門(mén)從事單片機(jī)應(yīng)用的相關(guān)工作打下良好基礎(chǔ)。</p><p> 

8、 1.2 單片機(jī)課程設(shè)計(jì)的要求</p><p>  1、進(jìn)一步熟悉和掌握單片機(jī)的內(nèi)部結(jié)構(gòu)和工作原理,了解單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本方法和步驟;</p><p>  2、掌握單片機(jī)仿真軟件Proteus的使用方法; </p><p>  3、掌握鍵盤(pán)和顯示器在的單片機(jī)控制系統(tǒng)中的應(yīng)用。</p><p>  4、掌握撰寫(xiě)課程設(shè)計(jì)報(bào)告的方法。<

9、/p><p>  1.3 作息時(shí)間控制器的設(shè)計(jì)要求</p><p>  1、設(shè)計(jì)制作一個(gè)單片機(jī)數(shù)字鐘及控制電路。</p><p>  2、使用4位七段顯示器來(lái)顯示現(xiàn)在的時(shí)間。顯示格式為“時(shí)-分”,由LED閃動(dòng)作為秒計(jì)數(shù)表示。</p><p>  3、可以設(shè)定作息時(shí)間,并進(jìn)行到時(shí)提示。</p><p>  4、能夠根據(jù)預(yù)先設(shè)

10、定好的作息時(shí)間表自動(dòng)啟??刂齐娐?,完成對(duì)外部設(shè)備的實(shí)時(shí)控制。</p><p>  5、可以設(shè)置現(xiàn)在的時(shí)間及顯示定時(shí)設(shè)置時(shí)間。</p><p>  2 系統(tǒng)總體方案及硬件設(shè)計(jì)</p><p>  2.1 系統(tǒng)總體設(shè)計(jì)</p><p><b>  1、方案比較</b></p><p>  方案一:采用

11、數(shù)字電路實(shí)現(xiàn)。數(shù)字電子鐘是用數(shù)字集成電路構(gòu)成的,用數(shù)碼管顯示“時(shí)”,“分”,“秒”的現(xiàn)代計(jì)時(shí)裝置。若用數(shù)字電路完成,所設(shè)計(jì)的電路相當(dāng)復(fù)雜,大概需要十幾片數(shù)字集成塊,其功能也主要依賴(lài)于數(shù)字電路的各功能模塊的組合來(lái)實(shí)現(xiàn),焊接的過(guò)程比較復(fù)雜,成本也非常高。</p><p>  方案二:用單片機(jī)來(lái)設(shè)計(jì)制作完成,由于其功能的實(shí)現(xiàn)主要通過(guò)軟件編程來(lái)完成,那么就降低了硬件電路的復(fù)雜性,而且其成本也有所降低,</p>

12、<p>  經(jīng)過(guò)上面的對(duì)比本設(shè)計(jì)采用單片機(jī)作為設(shè)計(jì)的主體。</p><p><b>  2、單片機(jī)的選型</b></p><p>  AT89C52是低功耗、高性能的CMOS型8位單片機(jī)。片內(nèi)帶有4KB的Flash存儲(chǔ)器,且允許在系統(tǒng)內(nèi)改寫(xiě)或用編程器編程。另外, AT89C51的指令系統(tǒng)和引腳與8051完全兼容,片內(nèi)有128B 的RAM、32條I/O口線(xiàn)

13、、2個(gè)16位定時(shí)計(jì)數(shù)器、5個(gè)中斷源、一個(gè)全雙工串行口等。基于以上優(yōu)點(diǎn),本設(shè)計(jì)采用AT89C52單片機(jī)。</p><p><b>  3、總體電路的設(shè)計(jì)</b></p><p>  電子鬧鐘的主體電路應(yīng)包括秒信號(hào)發(fā)生器、時(shí)間顯示電路、按鍵電路、供電電源以及鬧鈴指示電路等幾部分。</p><p>  按鍵功能說(shuō)明:K1,設(shè)置時(shí)間和鬧鐘的小時(shí);K2,

14、設(shè)置小時(shí)以及設(shè)置鬧鐘的開(kāi)關(guān);K3,設(shè)置分鐘和鬧鐘的分鐘;K4;設(shè)置完成退出。</p><p>  電子鬧鐘的系統(tǒng)框圖1如下所示:</p><p><b>  圖1 </b></p><p>  2.2 系統(tǒng)各個(gè)部分的電路設(shè)計(jì) </p><p>  1、系統(tǒng)復(fù)位電路的設(shè)計(jì)</p><p>  單片機(jī)

15、系統(tǒng)一般應(yīng)有手動(dòng)或上電復(fù)位電路。復(fù)位電路的實(shí)現(xiàn)通常有兩種方式:1)RC復(fù)位電路;2)專(zhuān)用µP監(jiān)控電路。前者實(shí)現(xiàn)簡(jiǎn)單,成本低,但復(fù)位可靠性相對(duì)較低;后者成本較高,但復(fù)位可靠性高,尤其是高可靠重復(fù)復(fù)位。對(duì)于復(fù)位要求高、并對(duì)電源電壓進(jìn)行監(jiān)視的場(chǎng)合,大多采用這種方式。</p><p>  復(fù)位電路主要用來(lái)在單片機(jī)的程序進(jìn)入死循環(huán)后,能使單片機(jī)重新從頭執(zhí)行程序而不會(huì)無(wú)休止的執(zhí)行程序。</p><

16、;p>  本設(shè)計(jì)采用了上電按鈕電平復(fù)位電路,如圖2</p><p><b>  圖2</b></p><p>  2、系統(tǒng)時(shí)鐘電路設(shè)計(jì)</p><p>  對(duì)于時(shí)間要求不是很高的系統(tǒng),只要按圖進(jìn)行設(shè)計(jì)就能使系統(tǒng)可靠起振并穩(wěn)定運(yùn)行。但由于實(shí)際工作過(guò)程中的C1、C2電容起著系統(tǒng)時(shí)鐘頻率微調(diào)和穩(wěn)定的作用,因此,在實(shí)際應(yīng)用中一定要注意正確選擇參數(shù)

17、(30±10 PF),并保證對(duì)稱(chēng)性(盡可能匹配),這兩個(gè)電容元件對(duì)鬧鐘的走時(shí)誤差有很大關(guān)系,并且選用正規(guī)的瓷片或云母電容,如果可能的話(huà),溫度系數(shù)要盡可能低。另外,瓷片電容的實(shí)際焊接距離不應(yīng)該離單片機(jī)太遠(yuǎn)否則誤差較大。具體的時(shí)鐘電路如圖三所示:</p><p><b>  圖 3</b></p><p>  3、鬧鐘指示電路設(shè)計(jì)</p><

18、p>  鬧鈴指示可以有聲或光兩種形式。本系統(tǒng)采用聲音指示。關(guān)鍵元件是蜂鳴器。蜂鳴器有無(wú)源和有源兩種,前者需要輸入聲音頻率信號(hào)才能正常發(fā)聲,后者則只需外加適當(dāng)直流電源電壓即可,元件內(nèi)部已封裝了音頻振蕩電路,在得電狀態(tài)下即起振發(fā)聲。市場(chǎng)上的有源蜂鳴器分為3V、5V、6V等系列,以適應(yīng)不同的應(yīng)用需要。鬧鐘電路是用比較器來(lái)比較計(jì)時(shí)系統(tǒng)和定時(shí)系統(tǒng)的輸出狀態(tài),如果計(jì)時(shí)系統(tǒng)和定時(shí)系統(tǒng)的輸出狀態(tài)相同,則發(fā)出一個(gè)脈沖信號(hào),再和一個(gè)高頻信號(hào)混合,送到

19、放大電路驅(qū)動(dòng)揚(yáng)聲器發(fā)聲,從而實(shí)現(xiàn)定時(shí)鬧響的功能。其電路設(shè)計(jì)參見(jiàn)系統(tǒng)原理圖。</p><p><b>  4、顯示電路的設(shè)計(jì)</b></p><p>  本設(shè)計(jì)采用了4位數(shù)碼管顯示電路。在4位LED顯示時(shí),為了簡(jiǎn)化電路,降低成本,采用動(dòng)態(tài)顯示的方式,4個(gè)LED顯示器共用一個(gè)8位的I/O, 4位LED數(shù)碼管的位選線(xiàn)分別由相應(yīng)的P2.2~P2. 5控制,而將其相應(yīng)的段選線(xiàn)并

20、聯(lián)在一起,由一個(gè)8位的I/O口控制,即P0口。由于采用了四位數(shù)碼管,所以數(shù)碼管顯示“時(shí)”、“分”;秒的顯示選用了一個(gè)發(fā)光二極管,兩滅周期為兩秒,即點(diǎn)亮和熄滅時(shí)間均為一秒。到達(dá)定時(shí)時(shí)間時(shí),由計(jì)時(shí)系統(tǒng)的輸出狀態(tài)產(chǎn)生一脈沖信號(hào),然后去觸發(fā)蜂鳴器實(shí)現(xiàn)鬧鈴。校時(shí)電路是用來(lái)對(duì)“時(shí)”、“分”顯示數(shù)字進(jìn)行校對(duì)調(diào)整的。具體的電路設(shè)計(jì)如圖4示:</p><p><b>  圖4</b></p>&

21、lt;p>  5、定時(shí)和調(diào)時(shí)電路的設(shè)計(jì)</p><p>  本設(shè)計(jì)因?yàn)槭褂玫降逆I數(shù)目比較少,不宜采用矩陣式鍵盤(pán),采用了功能直觀(guān)簡(jiǎn)潔方便的獨(dú)立式鍵盤(pán),而且考慮了鍵盤(pán)的消抖問(wèn)題。比較容易理解。每個(gè)鍵的具體功能如下:</p><p>  K1,設(shè)置時(shí)間和鬧鐘的小時(shí);K2,設(shè)置小時(shí)以及設(shè)置鬧鐘的開(kāi)關(guān);K3,設(shè)置分鐘和鬧鐘的分鐘;K4;設(shè)置完成退出。</p><p> 

22、 按鍵定義如圖5所示:</p><p><b>  圖5</b></p><p><b>  3 軟件的設(shè)計(jì)</b></p><p><b>  3.1 概述</b></p><p>  軟件設(shè)計(jì)的重點(diǎn)在于秒脈沖信號(hào)的產(chǎn)生、顯示的實(shí)現(xiàn)、以及按鍵的處理等方面?;谲浖拿朊}沖信號(hào)

23、通常有延時(shí)法和定時(shí)中斷法。延時(shí)法一般采用查詢(xún)方式,在延時(shí)子程序前后必然需要查詢(xún)和處理的程序,導(dǎo)致誤差的產(chǎn)生,因此其秒脈沖的精度不高;中斷法的原理是,利用單片機(jī)內(nèi)部的定時(shí)器溢出中斷來(lái)實(shí)現(xiàn)。本設(shè)計(jì)使定時(shí)器每50ms中斷1次,則20次的周期為1s。這種實(shí)現(xiàn)法的特點(diǎn)是精度高,秒脈沖的發(fā)生和其他處理可以并行進(jìn)行。本系統(tǒng)中所使用的晶振頻率為12MHZ。</p><p>  3.2 主模塊的設(shè)計(jì)</p><

24、p>  主模塊是系統(tǒng)軟件的主框架。結(jié)構(gòu)化程序設(shè)計(jì)一般有“自上而下”和“自下而上”兩種方式,“自上而下”法的核心就是主框架的構(gòu)建。它的合理與否關(guān)系到程序最終的功能的多少和性能的好壞。本系統(tǒng)的主模塊的程序框圖如下圖6所示:</p><p><b>  圖6</b></p><p><b>  3.3顯示模塊設(shè)計(jì)</b></p>&

25、lt;p>  顯示是由顯示代碼取得相應(yīng)的段碼,顯示段碼數(shù)據(jù)的并行發(fā)送,用LED顯示器代替指針顯示進(jìn)而顯示時(shí)間,減小了計(jì)時(shí)誤差,這種表具有時(shí),分,秒顯示時(shí)間的功能,還可以進(jìn)行時(shí)和分的校對(duì),片選的靈活性好。</p><p>  程序流程如圖7所示。</p><p><b>  圖7</b></p><p>  3.4 時(shí)間設(shè)定模塊設(shè)計(jì)<

26、/p><p>  時(shí)間設(shè)定模塊的設(shè)計(jì)要點(diǎn)是按鍵的去抖處理與多種狀態(tài)公用一個(gè)鍵的處理問(wèn)題。即只涉及4個(gè)鍵完成了4位時(shí)間參數(shù)的設(shè)定。軟件法去抖動(dòng)的實(shí)質(zhì)是用延時(shí),即檢測(cè)到某一鍵狀態(tài)變化后延時(shí)一段時(shí)間,再檢測(cè)該按鍵的狀態(tài)是否還保持著,如是則作為按鍵處理,否則,視為抖動(dòng),不予理睬。去抖中的延時(shí)時(shí)間一般參考資料多描述為10ms左右,實(shí)際應(yīng)用中,應(yīng)大于20ms,否則,會(huì)導(dǎo)致按一次作多次處理,影響程序正常執(zhí)行。</p>

27、<p>  按鍵消抖流程圖原理如圖8所示:</p><p><b>  圖8</b></p><p>  3.5 鬧鈴功能的實(shí)現(xiàn)</p><p>  鬧鈴功能的實(shí)現(xiàn)涉及到兩個(gè)方面:鬧鈴時(shí)間設(shè)定和是否鬧鈴判別與相應(yīng)處理。鬧鈴時(shí)間設(shè)定模塊的設(shè)計(jì)可參照時(shí)間設(shè)定模塊,這里著重闡述鬧鈴判別與處理模塊的設(shè)計(jì)問(wèn)題。鬧鈴判別與鬧鈴處理的關(guān)鍵在于判別

28、何時(shí)要進(jìn)行鬧鈴。在每次循環(huán)掃描的過(guò)程中,判斷現(xiàn)在的時(shí)間和定時(shí)的時(shí)間是否一致。一致的話(huà),鬧鈴電路根據(jù)計(jì)時(shí)系統(tǒng)的輸出狀態(tài)產(chǎn)生一脈沖信號(hào),然后加上一個(gè)高頻或低頻信號(hào)送到放大電路驅(qū)動(dòng)蜂鳴器發(fā)聲實(shí)現(xiàn)報(bào)時(shí)。時(shí)間調(diào)節(jié)電路根據(jù)不同狀態(tài)下的具體按鍵意義將相對(duì)應(yīng)的計(jì)數(shù)器加以改變,并通過(guò)數(shù)碼管顯示出來(lái)。</p><p><b>  具體如圖9示:</b></p><p><b>

29、  圖9</b></p><p>  在該電子鐘的設(shè)計(jì)中修改定時(shí)或調(diào)整時(shí)間時(shí)采用了閃爍。在編程上,首先進(jìn)行了初始化定義了程序的入口地址以及中斷的入口地址,在主程序的開(kāi)始定義了一組固定單元用來(lái)存儲(chǔ)計(jì)數(shù)的秒,分,時(shí)以及定時(shí)時(shí)間的序號(hào)等。</p><p>  在顯示程序段中主要進(jìn)行了閃爍的處理,采用定時(shí)器中斷置標(biāo)志位,再與位選相互結(jié)合的方法來(lái)控制調(diào)時(shí)或定時(shí)中的閃爍。時(shí),分,秒顯示則是

30、用了軟件譯碼(查表)的方式,再用了一段固定的程序段進(jìn)行進(jìn)制轉(zhuǎn)化。初始化之后,用中斷方式對(duì)其計(jì)數(shù),計(jì)數(shù)的同時(shí)采用了定時(shí)器比較的方法,比較當(dāng)前計(jì)數(shù)時(shí)間與定時(shí)時(shí)間是否相等,若相等則將鬧鈴標(biāo)志位置數(shù),使得蜂鳴器工作。</p><p>  4 Proteus軟件仿真</p><p>  本次課程設(shè)計(jì)所采用的程序調(diào)試軟件為wave6000集成調(diào)試軟件,所采用的仿真軟件為protus 6 profess

31、ional軟件。本設(shè)計(jì)在Proteus軟件上進(jìn)行了仿真,實(shí)現(xiàn)了設(shè)計(jì)所要求的具體內(nèi)容。</p><p><b>  4.1仿真結(jié)果</b></p><p>  1、定時(shí)初值(如圖10)</p><p><b>  圖10</b></p><p>  2、調(diào)整后的定時(shí)值(如圖11)</p>

32、<p><b>  圖11</b></p><p>  3、時(shí)鐘顯示時(shí)間初值(如圖12)</p><p><b>  圖12</b></p><p>  4、調(diào)整后的時(shí)間值(如圖13)</p><p><b>  圖13</b></p><p&g

33、t;  4.2性能及誤差分析</p><p>  該作息時(shí)間控制器有四個(gè)按鍵: K1, K2,K3和K4。初始加電時(shí)數(shù)碼管顯示時(shí)鐘計(jì)數(shù)初值并運(yùn)行。按K1鍵進(jìn)行校時(shí),可以分別按K2和K3鍵進(jìn)行對(duì)時(shí)及分進(jìn)行單獨(dú)校時(shí),使其校正到標(biāo)準(zhǔn)時(shí)間;并按K4鍵退出。時(shí)鐘正常顯示運(yùn)行狀態(tài)時(shí),按K2鍵顯示閃爍并進(jìn)行定時(shí)時(shí)間設(shè)置,按K1鍵和K3進(jìn)行分和時(shí)的定時(shí)時(shí)間設(shè)定;并按K4鍵退出。該電路顯示的誤差主要由晶振自身的誤差所造成,晶振的誤

34、差約為0. 0001~0. 000001。在軟件的編程過(guò)程中所產(chǎn)生的誤差比較小,另外在中斷的過(guò)程中,只會(huì)在第一次計(jì)時(shí)時(shí)產(chǎn)生時(shí)間的偏移,而它所產(chǎn)生累計(jì)誤差很小,可以忽略。</p><p>  綜合以上分析,本次設(shè)計(jì)時(shí)鐘誤差較小,能得到比較理想結(jié)果,性能穩(wěn)定。</p><p><b>  5課程設(shè)計(jì)體會(huì)</b></p><p>  本次是基于單片機(jī)

35、的開(kāi)發(fā)設(shè)計(jì),通過(guò)此次硬件和軟件的設(shè)計(jì),可以對(duì)單片機(jī)開(kāi)發(fā)設(shè)計(jì)有了更多的心得體會(huì)和了解,并掌握了一定的設(shè)計(jì)思想和硬件安裝分析調(diào)試技巧,對(duì)整個(gè)單片機(jī)開(kāi)發(fā)設(shè)計(jì)的流程有了更深刻的認(rèn)識(shí)和掌握。</p><p>  分析題目并結(jié)合實(shí)際,我們選擇了自己感興趣而且有很實(shí)用的電子時(shí)鐘作息控制器作為本次課程設(shè)計(jì)的題目。通過(guò)近兩周時(shí)間的學(xué)習(xí)和探索,使我對(duì)所學(xué)的知識(shí)進(jìn)行了系統(tǒng)的復(fù)習(xí)和鞏固,并得到了有效的應(yīng)用。在以前的學(xué)習(xí)過(guò)程中不夠清晰的概

36、念得到了更好的理解。本次課程設(shè)計(jì)我們不但進(jìn)行了程序的編寫(xiě)調(diào)試和設(shè)計(jì)報(bào)告的整理,更重要的是,我們做出了實(shí)際的設(shè)計(jì)作品,很好的培養(yǎng)和鍛煉了我的動(dòng)手能力,提高了分析軟硬件之間的差別和聯(lián)系的技巧。這不僅對(duì)我以后的學(xué)習(xí)有幫助,還可以為以后的工作打下一定的基礎(chǔ)。在此期間,通過(guò)與老師和同學(xué)們之間的交流,加強(qiáng)了自身的分析問(wèn)題、解決問(wèn)題的能力,并掌握了基本的設(shè)計(jì)思想,對(duì)以后的設(shè)計(jì)有很大的指導(dǎo)意義。</p><p>  此次軟硬結(jié)合

37、的設(shè)計(jì)要求,充分調(diào)動(dòng)了我的積極性,對(duì)硬件的設(shè)計(jì)是最難忘的;調(diào)試硬件對(duì)設(shè)計(jì)者來(lái)說(shuō)是很有挑戰(zhàn)意義,更能考驗(yàn)設(shè)計(jì)者的耐心與毅力。當(dāng)然硬件需要軟件相結(jié)合,改變硬件后只要稍改程序就可以實(shí)現(xiàn)相同的功能要求。更可以通過(guò)本次的設(shè)計(jì)把設(shè)計(jì)思想應(yīng)用到更大的系統(tǒng)控制設(shè)計(jì)中。軟硬結(jié)合使我真正認(rèn)識(shí)到了理論與實(shí)際的區(qū)別,這在以后的工作和學(xué)習(xí)中給予我更好的提示,注重理論與實(shí)際相結(jié)合,注重分析選擇解決問(wèn)題的思路和方法,注重設(shè)計(jì)方案的分析選擇和設(shè)計(jì)思想的分析選擇??傊?,

38、本次設(shè)計(jì)讓我受益匪淺。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 余發(fā)山,王福忠編著. 單片機(jī)原理及應(yīng)用技術(shù).徐州:中國(guó)礦業(yè)大學(xué)出版社,2008.</p><p>  [2] 陳奧初,竇振中等編著.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與實(shí)踐.北京:北京航空航天大學(xué)出版社,1991.</p><p>  [3

39、]陳偉人編著.MCS-51系列單片機(jī)實(shí)用子程序集錦[M].北京:清華大學(xué)出版社.1993.</p><p><b>  附1 程序源代碼</b></p><p>  K1 EQU P1.0 ;在程序開(kāi)始前定義變量</p><p>  K2 EQU P1.1</p><p>  K3 EQU P1.2</p>

40、<p>  K4 EQU P1.3</p><p><b>  ORG 0000H</b></p><p><b>  LJMP MAIN</b></p><p><b>  ORG 000BH</b></p><p><b>  LJMP TIME&l

41、t;/b></p><p><b>  ORG 0100H</b></p><p><b>  ;主程序:</b></p><p>  MAIN:MOV SP,#50H</p><p>  MOV 20H,#00H ;時(shí)間 PIN SECOND</p><p> 

42、 MOV 21H,#00H ; PIN MINUTE</p><p>  MOV 22H,#00H ; PIN HOUR</p><p>  MOV 23H,#05H ;鬧鈴 PIN MINUTE</p><p>  MOV 24H,#06H ; PIN HOUR</p><p>  MOV 2

43、5H,#00H ;定義一個(gè)標(biāo)志位</p><p>  MOV 30H,#00H ;時(shí)間 BCD SECOND</p><p>  MOV 31H,#00H ;</p><p>  MOV 32H,#00H ; BCD MINUTE</p><p>  MOV 33H,#00H ;</p>

44、<p>  MOV 34H,#00H ; BCD HOUR</p><p>  MOV 35H,#00H ;</p><p>  MOV 36H,#05H ;鬧鈴 BCD MINUTE</p><p>  MOV 37H,#00H ;</p><p>  MOV 38H,#06H ;

45、 BCD HOUR</p><p>  MOV 39H,#00H </p><p>  CPL P3.0 ;</p><p>  MOV TMOD,#01H ;16位計(jì)數(shù)器 T0,方式</p><p>  MOV TH0,#03CH ;賦初值</p><p>  MOV TL0,#0B0H</p>

46、<p>  MOV IE,#87H ;開(kāi)中斷 T0,EA=1</p><p>  SETB TR0 ;T0啟動(dòng)計(jì)數(shù)</p><p>  MOV R2,#14H ;計(jì)數(shù)器</p><p>  MOV P2,#0FFH</p><p>  LOOP:LCALL TIMEPRO ;

47、 調(diào)用現(xiàn)在時(shí)間與鬧鈴時(shí)間比較程序</p><p>  LCALL DISPLAY1 ; 調(diào)用現(xiàn)在時(shí)間顯示子程序</p><p>  JB K1,M1 ; 判斷按鍵是否按下</p><p>  LCALL XIAODOU1 ; 調(diào)用消抖程序</p><p>  MOV C,25H.0</p>

48、<p><b>  JC A1</b></p><p>  A1:CLR 25H.0</p><p>  LCALL SETTIME ; 調(diào)用設(shè)置現(xiàn)在時(shí)間子程序</p><p><b>  LJMP LOOP</b></p><p>  M1:JB K2,M2

49、 ;判斷P1.1鍵是否按下</p><p>  LCALL XIAODOU2</p><p>  MOV C,25H.0</p><p><b>  JC A2</b></p><p>  A2:CLR 25H.0</p><p>  LCALL SETATIME ; 調(diào)用設(shè)置鬧鐘的程序

50、</p><p><b>  LJMP LOOP</b></p><p>  M2:JB K4,M3</p><p>  A3:LCALL XIAODOU3</p><p>  MOV C,25H.0</p><p><b>  JC A4</b></p>&l

51、t;p>  A4:CLR 25H.0</p><p>  M3:LJMP LOOP</p><p><b>  SETTIME:</b></p><p>  L0:LCALL DISPLAY1</p><p><b>  JB K2,L1</b></p><p>  L

52、CALL XIAODOU4</p><p>  MOV C,25H.0</p><p><b>  JC A5</b></p><p>  A5:CLR 25H.0</p><p><b>  INC 22H</b></p><p><b>  MOV A,22H&

53、lt;/b></p><p>  CJNE A,#18H,GO12</p><p>  MOV 22H,#00H</p><p>  MOV 34H,#00H</p><p>  MOV 35H,#00H</p><p><b>  LJMP L0</b></p><p&

54、gt;  L1:JB K3,L2</p><p>  LCALL XIAODOU5</p><p>  MOV C,25H.0</p><p><b>  JC A6</b></p><p>  A6:CLR 25H.0</p><p><b>  INC 21H</b>&l

55、t;/p><p><b>  MOV A,21H</b></p><p>  CJNE A,#3CH,GO11</p><p>  MOV 21H,#00H</p><p>  MOV 32H,#00H</p><p>  MOV 33H,#00H</p><p><b&

56、gt;  LJMP L0</b></p><p>  GO11:MOV B,#0AH</p><p><b>  DIV AB</b></p><p><b>  MOV 32H,B</b></p><p><b>  MOV 33H,A</b></p>

57、<p><b>  LJMP L0</b></p><p>  GO12:MOV B,#0AH</p><p><b>  DIV AB</b></p><p><b>  MOV 34H,B</b></p><p><b>  MOV 35H,A<

58、;/b></p><p><b>  LJMP L0</b></p><p>  L2:JB K4,L0</p><p>  LCALL XIAODOU3</p><p>  MOV C,25H.0</p><p><b>  JC AX</b></p>

59、<p>  AX:CLR 25H.0</p><p><b>  RET</b></p><p>  SETATIME:LCALL DISPLAY2 ;調(diào)用鬧鐘設(shè)置,鬧鈴響時(shí)的顯示程序</p><p>  N0:LCALL DISPLAY2</p><p><b>  JB K3,N1</

60、b></p><p>  LCALL XIAODOU6</p><p>  MOV C,25H.0</p><p><b>  JC A7</b></p><p>  A7:CLR 25H.0</p><p><b>  INC 24H</b></p>&

61、lt;p><b>  MOV A,24H</b></p><p>  CJNE A,#24,GO22</p><p>  MOV 24H,#00H</p><p>  MOV 38H,#00H</p><p>  MOV 39H,#00H</p><p><b>  LJMP N0

62、</b></p><p>  N1:JB K1,N2</p><p>  LCALL XIAODOU7</p><p>  MOV C,25H.0</p><p><b>  JC A8</b></p><p>  A8:CLR 25H.0</p><p>&l

63、t;b>  INC 23H</b></p><p><b>  MOV A,23H</b></p><p>  CJNE A,#60,GO21</p><p>  MOV 23H,#00H</p><p>  MOV 36H,#00H</p><p>  MOV 37H,#00H

64、</p><p><b>  LJMP N0</b></p><p>  GO21:MOV B,#0AH</p><p><b>  DIV AB</b></p><p><b>  MOV 36H,B</b></p><p><b>  MO

65、V 37H,A</b></p><p><b>  LJMP N0</b></p><p>  GO22:MOV B,#0AH</p><p><b>  DIV AB</b></p><p><b>  MOV 38H,B</b></p><p

66、><b>  MOV 39H,A</b></p><p><b>  LJMP N0</b></p><p>  N2:JB K4,N0</p><p>  LCALL XIAODOU3</p><p>  MOV C,25H.0</p><p><b>  

67、JC A9</b></p><p>  A9:CLR 25H.0</p><p><b>  RET</b></p><p>  TIMEPRO:MOV A,21H</p><p><b>  MOV B,23H</b></p><p>  CJNE A,B,BK

68、</p><p><b>  MOV A,22H</b></p><p><b>  MOV B,24H</b></p><p>  CJNE A,B,BK</p><p>  SETB 25H.0</p><p>  MOV C,25H.0</p><p

69、><b>  JC XX</b></p><p>  XX:LCALL TIMEOUT</p><p><b>  BK:RET</b></p><p><b>  TIMEOUT:</b></p><p>  X1:LCALL BZ</p><p&g

70、t;  LCALL DISPLAY2</p><p><b>  CLR 25H.0</b></p><p><b>  JB K4, X1</b></p><p><b>  RET</b></p><p>  BZ:SETB P3.0</p><p&g

71、t;  MOV R7,#250</p><p>  T2:MOV R6,#124</p><p>  T3:DJNZ R6,T3</p><p>  DJNZ R7,T2</p><p><b>  CLR P3.0</b></p><p><b>  JB K4,XY</b>

72、;</p><p>  LCALL XIAODOU3</p><p>  MOV C,25H.0</p><p><b>  JC XY1</b></p><p><b>  XY:RET</b></p><p>  XY1:LJMP LOOP</p><

73、p>  XIAODOU1:LCALL DISPLAY1</p><p>  JB K1,XIAODOU1</p><p><b>  MOV C,K1</b></p><p>  JC XIAODOU1</p><p>  LCALL DELAY</p><p><b>  MOV

74、 C,K1</b></p><p>  JC XIAODOU1</p><p>  STOP1:MOV C,K1</p><p><b>  JNC STOP1</b></p><p>  LCALL DELAY</p><p><b>  MOV C,K1</b>

75、;</p><p><b>  JNC STOP1</b></p><p>  SETB 25H.0</p><p><b>  RET</b></p><p>  XIAODOU2:LCALL DISPLAY2</p><p>  JB K2,XIAODOU2</p&

76、gt;<p><b>  MOV C,K2</b></p><p>  JC XIAODOU2</p><p>  LCALL DELAY</p><p><b>  MOV C,K2</b></p><p>  JC XIAODOU2</p><p>  ST

77、OP2:MOV C,K2</p><p><b>  JNC STOP2</b></p><p>  LCALL DELAY</p><p><b>  MOV C,K2</b></p><p><b>  JNC STOP2</b></p><p> 

78、 SETB 25H.0</p><p><b>  RET</b></p><p>  XIAODOU3:LCALL DISPLAY1</p><p>  JB K4,XIAODOU3</p><p><b>  MOV C,K4</b></p><p>  JC XIAOD

79、OU3</p><p>  LCALL DELAY</p><p><b>  MOV C,K4</b></p><p>  JC XIAODOU3</p><p>  STOP3:MOV C,K4</p><p><b>  JNC STOP3</b></p>

80、<p>  LCALL DELAY</p><p><b>  MOV C,K4</b></p><p><b>  JNC STOP3</b></p><p>  SETB 25H.0</p><p><b>  RET</b></p><p&

81、gt;  XIAODOU4:LCALL DISPLAY1</p><p>  JB K2,XIAODOU4</p><p><b>  MOV C,K2</b></p><p>  JC XIAODOU4</p><p>  LCALL DELAY</p><p><b>  MOV C

82、,K2</b></p><p>  JC XIAODOU4</p><p>  STOP4:MOV C,K2</p><p><b>  JNC STOP4</b></p><p>  LCALL DELAY</p><p><b>  MOV C,K2</b>&

83、lt;/p><p><b>  JNC STOP4</b></p><p>  SETB 25H.0</p><p><b>  RET</b></p><p>  XIAODOU5:LCALL DISPLAY1</p><p>  JB K3,XIAODOU5</p>

84、;<p><b>  MOV C,K3</b></p><p>  JC XIAODOU5</p><p>  LCALL DELAY</p><p><b>  MOV C,K3</b></p><p>  JC XIAODOU5</p><p>  STOP

85、5:MOV C,K3</p><p><b>  JNC STOP5</b></p><p>  LCALL DELAY</p><p><b>  MOV C,K3</b></p><p><b>  JNC STOP5</b></p><p>  S

86、ETB 25H.0</p><p><b>  RET</b></p><p>  XIAODOU6:LCALL DISPLAY2</p><p>  JB K3,XIAODOU6</p><p><b>  MOV C,K3</b></p><p>  JC XIAODOU

87、6</p><p>  LCALL DELAY</p><p><b>  MOV C,K3</b></p><p>  JC XIAODOU6</p><p>  STOP6:MOV C,K3</p><p><b>  JNC STOP6</b></p>&

88、lt;p>  LCALL DELAY</p><p><b>  MOV C,K3</b></p><p><b>  JNC STOP6</b></p><p>  SETB 25H.0</p><p><b>  RET</b></p><p>

89、;  XIAODOU7:LCALL DISPLAY2</p><p>  JB K1,XIAODOU7</p><p><b>  MOV C,K1</b></p><p>  JC XIAODOU7</p><p>  LCALL DELAY</p><p><b>  MOV C,K

90、1</b></p><p>  JC XIAODOU7</p><p>  STOP7:MOV C,K1</p><p><b>  JNC STOP7</b></p><p>  LCALL DELAY</p><p><b>  MOV C,K1</b><

91、;/p><p><b>  JNC STOP7</b></p><p>  SETB 25H.0</p><p><b>  RET</b></p><p>  DELAY:MOV R4,#14H</p><p>  DL00:MOV R5,#0FFH</p>&l

92、t;p>  DL11:DJNZ R5,DL11</p><p>  DJNZ R4,DL00</p><p><b>  RET</b></p><p>  TIME:PUSH ACC</p><p><b>  PUSH PSW</b></p><p>  MOV T

93、H0,#03CH</p><p>  MOV TL0,#0B0H</p><p>  DJNZ R2,RET0</p><p>  MOV R2,#14H</p><p><b>  MOV A,20H</b></p><p><b>  CPL P3.5</b></p

94、><p><b>  CLR C</b></p><p><b>  INC A</b></p><p>  CJNE A,#3CH,GO1</p><p>  MOV 20H,#0</p><p>  MOV 30H,#0</p><p>  MOV

95、31H,#0</p><p><b>  MOV A,21H</b></p><p><b>  INC A</b></p><p>  CJNE A,#3CH,GO2</p><p>  MOV 21H,#0H</p><p>  MOV 32H,#0</p>

96、<p>  MOV 33H,#0</p><p><b>  MOV A,22H</b></p><p><b>  INC A</b></p><p>  CJNE A,#18H,GO3</p><p>  MOV 22H,#00H</p><p>  MOV

97、34H,#0</p><p>  MOV 35H,#0</p><p><b>  AJMP RET0</b></p><p>  GO1:MOV 20H,A</p><p>  MOV B,#0AH</p><p><b>  DIV AB</b></p>&

98、lt;p><b>  MOV 31H,A</b></p><p><b>  MOV 30H,B</b></p><p><b>  AJMP RET0</b></p><p>  GO2:MOV 21H,A</p><p>  MOV B,#0AH</p>

99、<p><b>  DIV AB</b></p><p><b>  MOV 33H,A</b></p><p><b>  MOV 32H,B</b></p><p><b>  AJMP RET0</b></p><p>  GO3:MOV

100、 22H,A</p><p>  MOV B,#0AH</p><p><b>  DIV AB</b></p><p><b>  MOV 35H,A</b></p><p><b>  MOV 34H,B</b></p><p><b> 

101、 AJMP RET0</b></p><p>  RET0:POP PSW</p><p><b>  POP ACC</b></p><p><b>  RETI</b></p><p>  DISPLAY1:MOV R0,#30H</p><p>  MOV

102、R3,#0FEH</p><p><b>  MOV A,R3</b></p><p>  PLAY1:MOV P2,A</p><p><b>  MOV A,@R0</b></p><p>  MOV DPTR,#DSEG1</p><p>  MOVC A,@A+DPT

103、R</p><p><b>  MOV P0,A</b></p><p><b>  LCALL DL1</b></p><p>  MOV P2,#0FFH</p><p><b>  MOV A,R3</b></p><p><b>  R

104、L A</b></p><p>  JNB ACC.6,LD1</p><p><b>  INC R0</b></p><p><b>  MOV R3,A</b></p><p>  LJMP PLAY1</p><p><b>  LD1:RET

105、</b></p><p>  DISPLAY2:PUSH ACC</p><p><b>  PUSH PSW</b></p><p>  MOV R0,#36H</p><p>  MOV R3,#0FBH</p><p><b>  MOV A,R3</b>&

106、lt;/p><p>  PLAY2:MOV P2,A</p><p><b>  MOV A,@R0</b></p><p>  MOV DPTR,#DSEG1</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p&g

107、t;<p><b>  LCALL DL1</b></p><p>  MOV P2,#0FFH</p><p><b>  MOV A,R3</b></p><p><b>  RL A</b></p><p>  JNB ACC.6,LD2</p>

108、<p><b>  INC R0</b></p><p><b>  MOV R3,A</b></p><p>  LJMP PLAY2</p><p>  LD2:POP PSW</p><p><b>  POP ACC</b></p><

109、p><b>  RET</b></p><p>  DL1:MOV R7,#05H</p><p>  DL:MOV R6,#0FFH</p><p>  DL6:DJNZ R6,$</p><p>  DJNZ R7,DL</p><p><b>  RET</b>&

溫馨提示

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

評(píng)論

0/150

提交評(píng)論