版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)</p><p><b> 摘 要</b></p><p> 51電子鬧鐘是集電子技術(shù)、數(shù)字顯示技術(shù)為一體的高產(chǎn)品,具有按時(shí)鬧鈴,使用方便等優(yōu)點(diǎn)。本論文從51電子鬧鐘系統(tǒng)的功能,硬件電路設(shè)計(jì),軟件設(shè)計(jì)和產(chǎn)品介紹四部分分別論述這一系統(tǒng)。本系統(tǒng)51電子鬧鐘硬件部分結(jié)構(gòu)簡(jiǎn)單、成本低,具有比較好的市場(chǎng)前景。</p&g
2、t;<p> 現(xiàn)代的快節(jié)奏生活給人們的精神上帶來(lái)了很大壓力。如何排解或緩解這些壓力已經(jīng)成為很多人和探索者多年來(lái)的一個(gè)重要研究項(xiàng)目,電子鬧鐘</p><p> 關(guān)鍵詞:51電子鬧鐘;單片機(jī);數(shù)碼管顯示</p><p><b> 目 錄</b></p><p><b> 摘 要I</b>&l
3、t;/p><p> 一、緒 論1</p><p><b> (一)概述1</b></p><p> 1.51電子鬧鐘發(fā)展趨勢(shì)1</p><p> 2.本課題研究的主要內(nèi)容1</p><p> ?。ǘ?51電子鬧鐘簡(jiǎn)介1</p><p> 1.開(kāi)發(fā)的目
4、的和意義1</p><p> 2.51電子鬧鐘的優(yōu)點(diǎn)2</p><p> 3. 51電子鬧鐘的特點(diǎn)2</p><p> 二、系統(tǒng)方案的設(shè)計(jì)3</p><p><b> ?。ㄒ唬┫到y(tǒng)概述3</b></p><p> 1.系統(tǒng)功能描述3</p><p>
5、2.系統(tǒng)方案的確定3</p><p> 3.系統(tǒng)設(shè)計(jì)思路與步驟3</p><p> ?。ǘ┬酒竟ぷ髟砑捌鋺?yīng)用4</p><p> 1.AT89S51簡(jiǎn)介4</p><p><b> 2.引腳介紹5</b></p><p><b> 3.電源6</b>
6、;</p><p><b> 4.存儲(chǔ)器6</b></p><p><b> 5.應(yīng)用6</b></p><p> ?。ㄈ㎜M386簡(jiǎn)介6</p><p> 1.LM386介紹6</p><p> 2.LM386特點(diǎn)6</p><p&g
7、t; ?。ㄋ模?4HC245簡(jiǎn)介7</p><p><b> 三、系統(tǒng)的設(shè)計(jì)8</b></p><p> ?。ㄒ唬┫到y(tǒng)硬件設(shè)計(jì)8</p><p> 1.單片機(jī)系統(tǒng)的設(shè)計(jì)8</p><p> 2. 按鍵電路的設(shè)計(jì)9</p><p> 3.復(fù)位電路的設(shè)計(jì)9</p>&
8、lt;p> 4.顯示電路的設(shè)計(jì)11</p><p> ?。ǘ┫到y(tǒng)軟件的設(shè)計(jì)11</p><p><b> 1.軟件設(shè)計(jì)11</b></p><p> 2.整個(gè)系統(tǒng)軟件部分的總體設(shè)計(jì)15</p><p> 四、 系統(tǒng)的調(diào)試和性能分析16</p><p> ?。ㄒ唬┫到y(tǒng)的調(diào)試
9、方法16</p><p> 1.輸入按鍵的調(diào)試16</p><p> 2.復(fù)位電路的調(diào)試16</p><p> 3.顯示電路的調(diào)試16</p><p> 4.整個(gè)系統(tǒng)的聯(lián)調(diào)16</p><p> ?。ǘ┫到y(tǒng)的性能分析16</p><p><b> 結(jié) 論
10、18</b></p><p><b> 參考文獻(xiàn)19</b></p><p><b> 致 謝20</b></p><p> 附錄A 原理圖21</p><p> 附錄B(程序)22</p><p><b> 一、緒 論<
11、;/b></p><p><b> (一)概述</b></p><p> 電子鬧鐘在科學(xué)技術(shù)高度發(fā)展的今天,千家萬(wàn)戶都少不了它,所以很多家庭個(gè)人都需要有一個(gè)電子鬧鐘,為人們提供報(bào)時(shí)方便,但普通電子鬧鐘不夠方便實(shí)用。本文給出了一種以51芯片電子鬧鐘設(shè)計(jì)方法,從而給人們帶來(lái)更為方便的工作與生活。</p><p> 1.51電子鬧鐘發(fā)展趨
12、勢(shì)</p><p> 現(xiàn)代的快節(jié)奏生活給人們的精神上帶來(lái)了很大壓力。如何排解或緩解這些壓力已經(jīng)成為很多人關(guān)心的問(wèn)題。單片機(jī)電子鬧鐘是具發(fā)前鬧鐘創(chuàng)新性的系統(tǒng),它代表了時(shí)代的發(fā)展趨勢(shì)。2007年,無(wú)論從國(guó)內(nèi)外行業(yè)發(fā)展趨勢(shì),還是從鬧鐘市場(chǎng)準(zhǔn)入的要求來(lái)看,節(jié)能、環(huán)保、創(chuàng)新都已成為中國(guó)家電企業(yè)無(wú)法回避的大問(wèn)題。在原材料價(jià)格不斷上漲、下游渠道商實(shí)力膨脹、價(jià)格戰(zhàn)越來(lái)越激烈、行業(yè)利潤(rùn)日趨微薄的背景下,日前,中國(guó)的電子鬧鐘在節(jié)能
13、化、環(huán)保化、創(chuàng)新型轉(zhuǎn)變過(guò)程中,正進(jìn)行新一輪鬧鐘賽跑。</p><p> 目前,國(guó)內(nèi)專業(yè)51電子鬧鐘廠家的數(shù)量正在迅速增長(zhǎng)。51電子鬧鐘市場(chǎng)在未來(lái)的三五年內(nèi)會(huì)高速增長(zhǎng),新技術(shù)、新產(chǎn)品也會(huì)不斷出現(xiàn)并投入應(yīng)用。</p><p> 2.本課題研究的主要內(nèi)容</p><p> 設(shè)計(jì)一個(gè)51電子鬧鐘</p><p> ?。?) 能隨意設(shè)定走時(shí)起始時(shí)
14、間。</p><p> ?。?) 12小時(shí)/24小時(shí)兩種制式可選,以適應(yīng)不同的需要。</p><p> ?。?) 能指示秒節(jié)奏,即秒指示</p><p> ?。?) 采用交直流供電電源。與石英鐘不同的是,電子鐘一般采用數(shù)碼管等顯示介質(zhì),因而必須以交流供電為主,以直流電源為后備輔助電源,并能自動(dòng)切換。該設(shè)計(jì)主要包括:按鍵、顯示程序單元部分。、AT89S51單片機(jī)芯片、
15、74HC245驅(qū)動(dòng)LED顯示電路,集成電路74HC245和LM386各1個(gè).</p><p> (二) 51電子鬧鐘簡(jiǎn)介</p><p> 1.開(kāi)發(fā)的目的和意義</p><p> 目的: 設(shè)計(jì)一個(gè)51電子鬧鐘的,該鬧鐘可由使用者自己設(shè)定一個(gè)時(shí)間,若想設(shè)置鬧鈴,應(yīng)先按下復(fù)位按鍵,然后長(zhǎng)時(shí)間按下"設(shè)置"按鍵,第一個(gè)數(shù)碼管會(huì)顯示”C”,然后變?yōu)椤?/p>
16、00-00-00”,此時(shí)進(jìn)入鬧鈴設(shè)置狀態(tài),設(shè)置方法跟上面一樣,鬧鈴設(shè)置完后,下一步要設(shè)置當(dāng)前時(shí)間,調(diào)整方法跳到第一步。這樣設(shè)置好后,她就能按照主人的意思,定時(shí)的把你鬧醒啦!</p><p> 意義:電子鬧鐘已經(jīng)是現(xiàn)代生活中經(jīng)常用到的工具之一,傳統(tǒng)的電子鬧鐘只是機(jī)械控制,另外,體積也很大,又不美觀也不實(shí)用.而現(xiàn)在我設(shè)計(jì)的電子鬧鐘是用單片機(jī)做的.只要簡(jiǎn)單的設(shè)置好后,她就能按照主人的意思,定時(shí)的把你鬧醒啦!也能給人們
17、的生活帶來(lái)方便。</p><p> 2.51電子鬧鐘的優(yōu)點(diǎn)</p><p> ?。?)、簡(jiǎn)單好用、美觀、體積小、實(shí)用。</p><p> ?。?)、用電量少、電壓低,節(jié)能、環(huán)保、創(chuàng)新。</p><p> 按鍵、顯示程序單元部分。AT89S51單片機(jī)芯片、74HC245驅(qū)動(dòng)LED顯示電路。外接3個(gè)按鈕組成鍵盤,AT89S51為51內(nèi)核。另外
18、,AT89S51本身無(wú)專門的液晶驅(qū)動(dòng)接口,因此,本時(shí)鐘采用數(shù)碼管顯示方式。數(shù)碼管作為一種主動(dòng)顯示器件,具有亮度高、價(jià)格便宜等優(yōu)點(diǎn),而且市場(chǎng)上也有專門的時(shí)鐘顯示組合數(shù)碼管。 </p><p> 51電子鬧鐘的用途:我設(shè)計(jì)的電子鬧鐘是用單片機(jī)做的.只要簡(jiǎn)單的設(shè)置好后,她就能按照主人的意思,定時(shí)的把你鬧醒啦!也能給人們的生活、工作學(xué)習(xí)帶來(lái)方便。</p><p> 3. 51電子鬧鐘的特點(diǎn)&
19、lt;/p><p> 1.幫助您排解或緩解那些來(lái)自現(xiàn)實(shí)生活的壓力</p><p> 2.數(shù)碼管作為一種主動(dòng)顯示器件,亮度高、價(jià)格便宜等,顯示數(shù)字清晰。</p><p> 3.簡(jiǎn)單好用,可任意設(shè)24式時(shí)間。</p><p> 4.使用LED發(fā)光,省電,燈泡壽命長(zhǎng)。</p><p><b> 二、系統(tǒng)方案
20、的設(shè)計(jì)</b></p><p><b> ?。ㄒ唬┫到y(tǒng)概述</b></p><p><b> 1.系統(tǒng)功能描述</b></p><p> 本系統(tǒng)是利用AT89S51為51內(nèi)核,集成電路74HC245和LM386各1個(gè).制作完成一個(gè)電子鬧鐘,該設(shè)計(jì)中采用液晶顯示或數(shù)碼管顯示,因此,本時(shí)鐘采用數(shù)碼管顯示方式。充
21、分體現(xiàn)系統(tǒng)的簡(jiǎn)易性。使我們了解簡(jiǎn)易鬧鐘的設(shè)計(jì)方法,并自己動(dòng)手設(shè)計(jì)電路和編寫實(shí)現(xiàn)鬧鐘功能的程序。簡(jiǎn)易鬧鐘要實(shí)現(xiàn)以下功能:1、、能正確顯示鬧鐘的走時(shí)2、可以進(jìn)行當(dāng)前時(shí)間的設(shè)置3、可以設(shè)置鬧鐘時(shí)間,并在時(shí)間到時(shí)發(fā)出響聲。</p><p> 整個(gè)系統(tǒng)的任務(wù)要求:</p><p> 1)輸入數(shù)字按鍵的功能。</p><p><b> 保證數(shù)字的輸入。</
22、b></p><p> 2)復(fù)位電路的功能。</p><p> 所有時(shí)間回到初始化狀態(tài),用于啟動(dòng)設(shè)定時(shí)間參數(shù)(對(duì)時(shí)或定鬧);</p><p> 3)顯示電路的功能。</p><p> 當(dāng)輸入數(shù)字時(shí)顯示24小時(shí)時(shí)間功能。</p><p><b> 4)鬧鈴功能</b></p&g
23、t;<p> 設(shè)置好鬧鈴時(shí)間后.能按設(shè)置好的時(shí)間準(zhǔn)時(shí)鬧鈴。</p><p><b> 2.系統(tǒng)方案的確定</b></p><p> 根據(jù)以上各模塊并結(jié)合顯示屏的功能及元器件材料的情況,決定采用AT89S51為51內(nèi)核顯示設(shè)計(jì)方案。</p><p> 3.系統(tǒng)設(shè)計(jì)思路與步驟</p><p> 先進(jìn)行
24、系統(tǒng)的整體規(guī)劃確定整個(gè)系統(tǒng)的功能,然后按照每個(gè)功能的具體要求,進(jìn)行各個(gè)模塊的實(shí)物設(shè)計(jì)并逐個(gè)調(diào)試,待全部通過(guò)后,進(jìn)行整個(gè)系統(tǒng)的聯(lián)調(diào),最終實(shí)現(xiàn)一個(gè)完整的系統(tǒng),并制成印刷線路板。</p><p> 整個(gè)系統(tǒng)的設(shè)計(jì)步驟如下:</p><p> 在單片機(jī)最小系統(tǒng)的基礎(chǔ)上,完成按鍵電路和復(fù)位電路的設(shè)計(jì)。</p><p> 完成顯示電路、數(shù)字按鍵、復(fù)位電路。</p&g
25、t;<p> 具有3個(gè)功能按鍵:</p><p> 1、在復(fù)位后的待機(jī)狀態(tài)下,用于啟動(dòng)設(shè)定時(shí)間參數(shù)(對(duì)時(shí)或定鬧);</p><p> 2、在設(shè)定時(shí)間參數(shù)狀態(tài)而且不是設(shè)定最低位(即分個(gè)位)的狀態(tài)下,用于結(jié)束當(dāng)前位的設(shè)定,當(dāng)前設(shè)定位下移;</p><p> 3、在設(shè)定最低位(分個(gè)位)的狀態(tài)下,用于結(jié)束本次時(shí)間設(shè)定。</p><
26、p> 2)+1鍵,用于對(duì)當(dāng)前設(shè)定位(編輯位)進(jìn)行加1操作,根據(jù)12/24小時(shí)工作模式和正在編輯的當(dāng)前位的含義(時(shí)十位、時(shí)個(gè)位、分十位、分個(gè)位)自動(dòng)進(jìn)行數(shù)據(jù)的上限和下限判斷。例如,對(duì)12小時(shí)制,小時(shí)的十位只能是0、1,如果當(dāng)前值為0,則按+1鍵后為1,再按+1鍵則又回復(fù)到0。</p><p> 把以上各個(gè)模塊聯(lián)結(jié)起來(lái),整體調(diào)試功能。</p><p> 整個(gè)系統(tǒng)的原理框圖如圖2-1
27、所示</p><p> 圖1 整個(gè)系統(tǒng)的原理圖</p><p> ?。ǘ┬酒竟ぷ髟砑捌鋺?yīng)用</p><p> 1.AT89S51簡(jiǎn)介</p><p> AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存
28、儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。</p><p><b> 2.引腳介紹</b></p><p> AT89S51具有如下特點(diǎn):40個(gè)引腳,4
29、k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。</p><p><b> 圖2 引腳圖</b></p><p> 此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0H
30、z并可通過(guò)軟件設(shè)置省電模式。空閑模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。</p><p><b> 主要功能特性:</b></p><p> ·兼容MCS-51
31、指令系統(tǒng)</p><p> ·32個(gè)雙向I/O口</p><p> ·2個(gè)16位可編程定時(shí)/計(jì)數(shù)器</p><p> ·全雙工UART串行中斷口線</p><p><b> ·2個(gè)外部中斷源</b></p><p><b> ·
32、中斷喚醒省電模式</b></p><p> ·看門狗(WDT)電路</p><p> ·靈活的ISP字節(jié)和分頁(yè)編程</p><p> ·4k可反復(fù)擦寫(>1000次)ISP Flash ROM</p><p> ·4.5-5.5V工作電壓</p><p>
33、; ·時(shí)鐘頻率0-33MHz</p><p> ·128x8bit內(nèi)部RAM</p><p> ·低功耗空閑和省電模式</p><p><b> ·3級(jí)加密位</b></p><p> ·軟件設(shè)置空閑和省電功能</p><p><b
34、> ·雙數(shù)據(jù)寄存器指針</b></p><p><b> 3.電源</b></p><p> 89S51有很寬的工作電源電壓,電源范圍寬達(dá)4~5.5V.</p><p><b> 4.存儲(chǔ)器</b></p><p> 89S51支持ISP在線可編程寫入技術(shù)!串行
35、寫入、速度更快、穩(wěn)定性更好,燒寫電壓也僅僅需要4~5V即可.</p><p><b> 5.應(yīng)用</b></p><p> 就目前中國(guó)市場(chǎng)的情況來(lái)看,89S51有很大的市場(chǎng)。其原因有下列幾點(diǎn):(1)AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過(guò)軟件設(shè)置省電模式;(2)AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī);(3)芯片內(nèi)集成了通用8位中央處理器
36、和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。(4)同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。</p><p> ?。ㄈ㎜M386簡(jiǎn)介</p><p> LM386是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的音頻功率放大器,主要應(yīng)用于低電壓消費(fèi)類產(chǎn)品。為使外圍元件最少,電壓增益內(nèi)置為20。但在1
37、腳和8腳之間增加一只外接電阻和電容,便可將電壓增益調(diào)為任意值,直至200。輸入端以地位參考,同時(shí)輸出端被自動(dòng)偏置到電源電壓的一半,在6V電源電壓下,它的靜態(tài)功耗僅為 24mW,使得LM386特別適用于電池供電的場(chǎng)合。專為低損耗電源所設(shè)計(jì)的功率放大器。</p><p><b> 1.LM386介紹</b></p><p> LM386適用于電腦、儀器、汽車電子、電源
38、、通信、開(kāi)關(guān)電源等電子產(chǎn)品.</p><p><b> 2.LM386特點(diǎn)</b></p><p> 靜態(tài)功耗低,約為4mA,可用于電池供電。 </p><p> 工作電壓范圍寬,4-12V or 5-18V。 </p><p><b> 外圍元件少。 </b></p><
39、;p> 電壓增益可調(diào),20-200。 </p><p><b> 低失真度。</b></p><p> ?。ㄋ模?4HC245簡(jiǎn)介</p><p> 由于通過(guò)數(shù)碼管公共及的電流較大,因此用三極管來(lái)驅(qū)動(dòng)位碼。為了避免過(guò)多地使用分立元件,采用了一片74HC245來(lái)驅(qū)動(dòng)段碼。</p><p><b>
40、三、系統(tǒng)的設(shè)計(jì)</b></p><p> 一個(gè)完整的系統(tǒng),離不開(kāi)硬件和軟件的設(shè)計(jì)。硬件與軟件各有所長(zhǎng),如何合理的安排軟硬件的任務(wù)是系統(tǒng)設(shè)計(jì)的第一步。</p><p><b> ?。ㄒ唬┫到y(tǒng)硬件設(shè)計(jì)</b></p><p> 系統(tǒng)硬件的設(shè)計(jì)可以根據(jù)系統(tǒng)的各個(gè)功能,把整個(gè)系統(tǒng)劃分成若干個(gè)模塊,分別對(duì)這些模塊來(lái)進(jìn)行設(shè)計(jì),然后在通過(guò)單片
41、機(jī)程序來(lái)實(shí)現(xiàn)對(duì)各個(gè)硬件模塊功能的調(diào)度。</p><p> 本系統(tǒng)涉及到的硬件模塊有:按鍵電路、復(fù)位電路、顯示電路。</p><p> 1.單片機(jī)系統(tǒng)的設(shè)計(jì)</p><p> 單片機(jī)最小應(yīng)用系統(tǒng)實(shí)際上就是一個(gè)內(nèi)置程序存儲(chǔ)器的單片機(jī),可由單片機(jī)芯片,配以必要的外部器件構(gòu)成,這些外部功能器件無(wú)法集成到芯片內(nèi)部,主要有按鍵電路、顯示電路等。</p>&l
42、t;p><b> 圖3 單片機(jī)系統(tǒng)圖</b></p><p> 2. 按鍵電路的設(shè)計(jì)</p><p> 作為一個(gè)按鍵從沒(méi)有按下到按下以及釋放是一個(gè)完整的過(guò)程,也就是說(shuō)當(dāng)我們按下一個(gè)按鍵時(shí),總希望某個(gè)命令只執(zhí)行一次。而在按下的過(guò)程中不要有干擾進(jìn)來(lái),因?yàn)樵诎聪碌倪^(guò)程中,一旦有干擾過(guò)來(lái)可能造成誤觸發(fā)過(guò)程,因此我們?cè)谠O(shè)計(jì)按鍵電路的時(shí)候應(yīng)注意不要有干擾進(jìn)來(lái)以用在焊接
43、時(shí)應(yīng)注意:</p><p> 獨(dú)立式按鍵。如果設(shè)置過(guò)多按鍵,將會(huì)占用較多I/O口,而且會(huì)給布線帶來(lái)不便,因此,此方案適用于按鍵較少的情況。如果選擇此方案,由于按鍵較少,在修改時(shí)間或設(shè)置鬧鈴時(shí)間時(shí)就不能直接輸入,只能通過(guò)加或減完成,稍為麻煩一些,但其程序簡(jiǎn)單。</p><p> ?。?)執(zhí)錫補(bǔ)焊時(shí)應(yīng)按照從左到右,由上到下的順序,避免檢查時(shí)漏檢或焊接時(shí)漏修。</p><p
44、> (2)焊接時(shí)要經(jīng)常清洗烙鐵頭,防止烙鐵頭的雜物造成虛焊、針孔、加焊等不良發(fā)生。</p><p> ?。?) 不要在基板上給烙鐵頭加焊錫,生產(chǎn)過(guò)程中不能抖錫、敲錫、甩錫,防止焊錫渣、焊錫 、珠掉到基板上面。</p><p> ?。?)在壓件或拆件時(shí)要先在線路板的銅箔面上加焊錫,要求均勻加熱,避免松香失效或銅箔翹皮造成線路破壞。</p><p
45、> 考慮到電路不要復(fù)雜性,因而設(shè)計(jì)成3個(gè)按鍵,一個(gè)為復(fù)位,其它2個(gè)為按數(shù)字時(shí)間的按鍵和確定設(shè)好的時(shí)間確定.后2個(gè)按鍵要接89C2051端.若想設(shè)置鬧鈴,應(yīng)先按下復(fù)位按鍵,然后長(zhǎng)時(shí)間按下"設(shè)置"按鍵,第一個(gè)數(shù)碼管會(huì)顯示”C”,然后變?yōu)椤?0-00-00”,此時(shí)進(jìn)入鬧鈴設(shè)置狀態(tài),設(shè)置方法跟上面一樣,鬧鈴設(shè)置完后,下一步要設(shè)置當(dāng)前時(shí)間,調(diào)整方法跳到第一步。</p><p> 在復(fù)位后的待機(jī)
46、狀態(tài)下,用于啟動(dòng)設(shè)定時(shí)間參數(shù)(對(duì)時(shí)或定鬧);</p><p> 在設(shè)定時(shí)間參數(shù)狀態(tài)而且不是設(shè)定最低位(即分個(gè)位)的狀態(tài)下,用于結(jié)束當(dāng)前位的設(shè)定,當(dāng)前設(shè)定位下移;</p><p> 在設(shè)定最低位(分個(gè)位)的狀態(tài)下,用于結(jié)束本次時(shí)間設(shè)定。</p><p> 2)+1鍵,用于對(duì)當(dāng)前設(shè)定位(編輯位)進(jìn)行加1操作,根據(jù)12/24小時(shí)工作模式和正在編輯的當(dāng)前位的含義(時(shí)十
47、位、時(shí)個(gè)位、分十位、分個(gè)位)自動(dòng)進(jìn)行數(shù)據(jù)的上限和下限判斷。例如,對(duì)12小時(shí)制,小時(shí)的十位只能是0、1,如果當(dāng)前值為0,則按+1鍵后為1,再按+1鍵則又回復(fù)到0。</p><p><b> 3.復(fù)位電路的設(shè)計(jì)</b></p><p> 目前為止,單片機(jī)復(fù)位電路主要有四種類型:(1)微分型復(fù)位電路;(2)積分型復(fù)位電路;(3)比較器型復(fù)位電路;(4)看門狗型復(fù)位電路。
48、另外,Maxim等公司也推出了專用于復(fù)位的專用芯片復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號(hào)。為可靠起見(jiàn),電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號(hào),以防電源開(kāi)關(guān)或電源插頭分-合過(guò)程中引起的抖動(dòng)而影響復(fù)位。當(dāng)輸入的復(fù)位信號(hào)延續(xù)兩個(gè)機(jī)器周期以上的高電平時(shí)即為有效,用完成單片機(jī)的復(fù)位初始化操作。</p><p> 單片機(jī)目前已被廣泛地應(yīng)用于家電、醫(yī)療、儀器儀表、工業(yè)自動(dòng)化、航空航天
49、等領(lǐng)域。市場(chǎng)上比較流行的單片機(jī)種類主要有Intel公司、Atmel公司和Philip公司的8051系列單片機(jī),Motorola公司的M6800系列單片機(jī),Intel公司的MCS96系列單片機(jī)以及Microchip公司的PIC系列單片機(jī)。無(wú)論用戶使用哪種類型的單片機(jī),總要涉及到單片機(jī)復(fù)位電路的設(shè)計(jì)。而單片機(jī)復(fù)位電路設(shè)計(jì)的好壞,直接影響到整個(gè)系統(tǒng)工作的可靠性。許多用戶在設(shè)計(jì)完單片機(jī)系統(tǒng),并在實(shí)驗(yàn)室調(diào)試成功后,在現(xiàn)場(chǎng)卻出現(xiàn)了“死機(jī)”、“程序走
50、飛”等現(xiàn)象,這主要是單片機(jī)的復(fù)位電路設(shè)計(jì)不可靠引起的。圖1是一個(gè)單片機(jī)與大功率LED八段顯示器共享一個(gè)電源,并采用微分復(fù)位電路的實(shí)例。在這種情況下,系統(tǒng)有時(shí)會(huì)出現(xiàn)一些不可預(yù)料的現(xiàn)象,如無(wú)規(guī)律可循的“死機(jī)”、“程序走飛”等。而用仿真器調(diào)試時(shí)卻無(wú)此現(xiàn)象發(fā)生或極少發(fā)生此現(xiàn)象。又如圖2所示,在此圖中單片機(jī)復(fù)位采用另外一種復(fù)位電路。在此電路的應(yīng)用中,用戶有時(shí)會(huì)發(fā)現(xiàn)在關(guān)閉電源后的短時(shí)間內(nèi)再次開(kāi)啟電源,單片機(jī)可能會(huì)工作不正常。這些現(xiàn)象,都可認(rèn)為是由于
51、單片機(jī)復(fù)位電路的設(shè)計(jì)不當(dāng)引起的。</p><p><b> 圖4復(fù)位電路圖</b></p><p><b> 4.顯示電路的設(shè)計(jì)</b></p><p> 就時(shí)鐘而言,通??刹捎靡壕э@示或數(shù)碼管顯示。由于一般的段式液晶屏,需要專門的驅(qū)動(dòng)電路,而且液晶顯示作為一種被動(dòng)顯示,可視性相對(duì)較差;對(duì)于具有驅(qū)動(dòng)電路和微處理器接口
52、的液晶顯示模塊(字符或點(diǎn)陣),一般多采用并行接口,對(duì)微處理器的接口要求較高,占用資源多。另外,89C2051本身無(wú)專門的液晶驅(qū)動(dòng)接口,因此,本時(shí)鐘采用數(shù)碼管顯示方式。數(shù)碼管作為一種主動(dòng)顯示器件,具有亮度高、價(jià)格便宜等優(yōu)點(diǎn),而且市場(chǎng)上也有專門的時(shí)鐘顯示組合數(shù)碼管?;贏T89S51單片機(jī)的控制系統(tǒng)包括四部分:數(shù)據(jù)采集、控制系統(tǒng)、時(shí)鐘電路、語(yǔ)音錄音電路和報(bào)音提示信息電路。</p><p> 用數(shù)碼管作為顯示器。數(shù)碼
53、管的驅(qū)動(dòng)電路簡(jiǎn)單,使用方便,如果選擇了此方案,那么在夜間看時(shí)間的時(shí)候就不需要有光源,非常方便。其缺點(diǎn)是功耗較大。由于數(shù)碼管使用起來(lái)較為方便,在夜間看時(shí)間也很方便,因此我們選擇了數(shù)碼管作為顯示器.</p><p><b> 發(fā)音部分:</b></p><p> 用軟件方法產(chǎn)生方波輸出,通過(guò)三極管放大后驅(qū)動(dòng)蜂鳴器發(fā)音,這樣就可以省去硬件振蕩電路,降低成本。</p
54、><p> ?。ǘ┫到y(tǒng)軟件的設(shè)計(jì)</p><p> 系統(tǒng)軟件的設(shè)計(jì)方法與硬件設(shè)計(jì)的方法是相同的,也是根據(jù)系統(tǒng)的各個(gè)功能,劃分成各個(gè)子模塊,分別對(duì)每個(gè)模塊來(lái)進(jìn)行設(shè)計(jì),然后在通過(guò)各個(gè)模塊之間的調(diào)用來(lái)實(shí)現(xiàn)整個(gè)系統(tǒng)的功能。</p><p> 系統(tǒng)軟件部分的設(shè)計(jì)模塊有:按鍵電路的軟件設(shè)計(jì)、復(fù)位電路的軟件設(shè)計(jì)、顯示電路的軟件設(shè)計(jì)共3個(gè)模塊。</p><p&
55、gt;<b> 發(fā)音部分:</b></p><p> 用軟件方法產(chǎn)生方波輸出,通過(guò)三極管放大后驅(qū)動(dòng)蜂鳴器發(fā)音,這樣就可以省去硬件振蕩電路,降低成本。</p><p><b> 電源:</b></p><p> 如果是用電池供電,就比較方便攜帶,但是本系統(tǒng),采用了數(shù)碼管作為顯示器,功耗較大,需要經(jīng)常更換電池。況且,本
56、系統(tǒng)的體積較大,即使使用電池供電也不能隨身攜帶,因此,用電池供電不大合適,所以用外部穩(wěn)壓電源來(lái)供電。</p><p><b> 1.軟件設(shè)計(jì) </b></p><p><b> 軟件功能:</b></p><p> (1)檢測(cè)按鍵。當(dāng)系統(tǒng)檢測(cè)到某個(gè)案件被按下時(shí),轉(zhuǎn)到相應(yīng)子程序處理,可實(shí)現(xiàn)校時(shí)、設(shè)
57、定鬧鈴時(shí)間的功能。</p><p> (2) 顯示。系統(tǒng)通過(guò)調(diào)用顯示子程序,可將顯示緩沖區(qū)里的內(nèi)容通過(guò)動(dòng)態(tài)掃描方式輸出到數(shù)碼管顯示器。</p><p> (3) 計(jì)時(shí)。系統(tǒng)通過(guò)中斷和軟件計(jì)數(shù)器可產(chǎn)生秒信號(hào)。每到1s,系統(tǒng)將會(huì)調(diào)整時(shí)間存儲(chǔ)單元的內(nèi)容,從而實(shí)現(xiàn)計(jì)時(shí)功能。</p><p> (4) 比較。每當(dāng)秒存儲(chǔ)單元的內(nèi)容為0時(shí),系統(tǒng)通過(guò)調(diào)用比較子程序可判斷當(dāng)前時(shí)
58、間是否符合鬧鈴條件,若符合,則調(diào)用發(fā)音子程序使蜂鳴器發(fā)出鬧鈴聲音。</p><p> (5) 產(chǎn)生音頻方波輸出。系統(tǒng)通過(guò)軟件產(chǎn)生音頻方波輸出使蜂鳴器發(fā)聲,這樣可以省去硬件振蕩電路。</p><p> (6) 拆分。為了提高存儲(chǔ)單元的利用率,本系統(tǒng)將時(shí)間數(shù)據(jù)壓縮成壓縮BCD碼后再送入顯存才能顯示。</p><p> (7) 合并。為了提高修改時(shí)間的速度,可先對(duì)現(xiàn)
59、存內(nèi)容逐位修改,然后調(diào)用合并子程序把顯存內(nèi)容合并后送入指定存儲(chǔ)單元。</p><p> (8) 設(shè)定。系統(tǒng)進(jìn)入設(shè)定狀態(tài)后,可通過(guò)按“設(shè)定”鍵改變閃亮位位置和按“+”或“-”鍵來(lái)加1或減1閃亮位內(nèi)容,從而達(dá)到報(bào)時(shí)和設(shè)定鬧鈴時(shí)間的目的。</p><p><b> 軟件設(shè)計(jì):</b></p><p> 圖 5 T0中斷服務(wù)程序流程圖<
60、;/p><p><b> 圖6 電路流程圖</b></p><p> 系統(tǒng)功能及使用方法:</p><p> 系統(tǒng)上電后,自動(dòng)進(jìn)入時(shí)鐘狀態(tài)。若在此時(shí)按下“設(shè)定”鍵,顯示器上將出現(xiàn)閃亮位,再按“+”或“-”則可以加或減閃亮位內(nèi)容,修改完一位后再按“設(shè)定”可改變閃亮位位置繼續(xù)修改下一位。修改完成后按“確定”鍵即可退出設(shè)定狀態(tài)進(jìn)入正常顯示時(shí)鐘狀態(tài)。
61、</p><p> 在正常顯示時(shí)鐘狀態(tài)時(shí)按下“鬧鐘”鍵可進(jìn)入鬧鐘狀態(tài),此時(shí)按“+”或“-”可上下翻動(dòng)鬧鐘表;按“設(shè)定”鍵可修改當(dāng)前顯示的鬧鐘時(shí)間,修改方法與修改時(shí)鐘相同。在查看鬧鐘表狀態(tài)下按“鬧鐘”鍵可以開(kāi)/關(guān)當(dāng)前顯示的鬧鐘時(shí)間,當(dāng)顯示器第5位顯示“-”時(shí)表示鬧鈴已開(kāi)。按“時(shí)鐘”鍵返回正常顯示時(shí)鐘狀態(tài)。若想設(shè)置鬧鈴,應(yīng)先按下復(fù)位按鍵,然后長(zhǎng)時(shí)間按下"設(shè)置"按鍵,第一個(gè)數(shù)碼管會(huì)顯示”C”,然后
62、變?yōu)椤?0-00-00”,此時(shí)進(jìn)入鬧鈴設(shè)置狀態(tài),設(shè)置方法跟上面一樣,鬧鈴設(shè)置完后,下一步要設(shè)置當(dāng)前時(shí)間,調(diào)整方法跳到第一步。這樣設(shè)置好后,她就能按照主人的意思,定時(shí)的把你鬧醒啦!</p><p> 我們先了解簡(jiǎn)易鬧鐘的設(shè)計(jì)方法,并自己動(dòng)手設(shè)計(jì)電路和編寫實(shí)現(xiàn)鬧鐘功能的程序。簡(jiǎn)易鬧鐘要實(shí)現(xiàn)以下功能:1、、能正確顯示鬧鐘的走時(shí)2、可以進(jìn)行當(dāng)前時(shí)間的設(shè)置3、可以設(shè)置鬧鐘時(shí)間,并在時(shí)間到時(shí)發(fā)出響聲。</p>
63、<p> 設(shè)計(jì)中,我們利用儀器中所提供的以上提到的芯片和軟件編程結(jié)合的思路。本設(shè)計(jì)的軟件編程由四部分構(gòu)成,下面將對(duì)照程序的構(gòu)成來(lái)闡述我們組對(duì)簡(jiǎn)易鬧鐘的方案設(shè)計(jì),具體設(shè)計(jì)方案如下:(一)在主程序中,填寫中斷向量表,應(yīng)用8255A的IRQ7和IRQ5端。利用8253A和8259A完成計(jì)時(shí)一秒的功能,然后通過(guò)更新時(shí)間的子程序完成時(shí)間跳變的功能,待到新的時(shí)間判斷是否到達(dá)設(shè)定的鬧鐘的時(shí)間,如果是,則啟動(dòng)揚(yáng)聲器;如果否,則繼續(xù)進(jìn)行顯示
64、時(shí)間。(二)鬧鐘的時(shí)間是變化的,在更新時(shí)間的子程序中,首先判斷更改后的秒數(shù)是否小于10,如果是,則返回主程序;如果否,則秒的個(gè)位跳變成0,秒的十位加一;再次判斷秒的十位,過(guò)程同判斷秒的個(gè)位相同。(三)簡(jiǎn)易鬧鐘最重要的功能就是“It’s time to do something!”在這部分,主要要考慮的也是判斷當(dāng)前時(shí)間是不是設(shè)定的鬧鐘時(shí)間。如果跳變后的時(shí)間的四位完完全全的和設(shè)定的鬧鐘時(shí)間相同,則揚(yáng)聲器應(yīng)該響起,提示鬧鐘的主人“Time i
65、s up!”從鬧鐘的分鐘的十位開(kāi)始依次判斷,如果前一個(gè)鬧鐘位的顯示與設(shè)定的鬧鐘時(shí)間對(duì)應(yīng)位相同,則轉(zhuǎn)入判斷下一位;如果不相同,則返回主程序。都判斷</p><p> 2.整個(gè)系統(tǒng)軟件部分的總體設(shè)計(jì)</p><p> 在各個(gè)模塊的軟件設(shè)計(jì)完成后,便可以對(duì)整個(gè)系統(tǒng)進(jìn)行整體的軟件設(shè)計(jì)。其根本的</p><p> 設(shè)計(jì)思路是通過(guò)設(shè)置一些聯(lián)系信號(hào),把原本功能獨(dú)立的各個(gè)模塊
66、聯(lián)結(jié)在一起,從而實(shí)現(xiàn)整體系統(tǒng)的功能。</p><p> 四、 系統(tǒng)的調(diào)試和性能分析</p><p> (一)系統(tǒng)的調(diào)試方法</p><p> 整個(gè)系統(tǒng)調(diào)試的主要思想是:先每個(gè)模塊進(jìn)行調(diào)試,然后整個(gè)系統(tǒng)一起調(diào)試。先軟硬件分開(kāi)調(diào)試,然后一起調(diào)試。遵循先部分后整體的原則。</p><p> 系統(tǒng)的在調(diào)試過(guò)程中要注意以下幾點(diǎn):</p&g
67、t;<p> ?。?)硬件電路焊完之后,在上電之前一定要先用萬(wàn)用表檢測(cè)電源和地之間是否短路。</p><p> ?。?)上電之后要用示波器觀察信號(hào)的在電路中變化的情況,與設(shè)計(jì)當(dāng)初的情況相比較,找出差別,并進(jìn)行分析。</p><p> ?。?)軟件調(diào)試過(guò)程中可以使用斷點(diǎn)、單步執(zhí)行等常用的方法。</p><p> ?。?)軟硬件聯(lián)調(diào)時(shí),要注意軟件部分要一個(gè)
68、功能一個(gè)功能的調(diào)試。</p><p><b> 1.輸入按鍵的調(diào)試</b></p><p> 輸入按鍵的調(diào)試,只要按鍵按下去時(shí),按鍵有相應(yīng)的反應(yīng)就行,通過(guò)程序來(lái)判斷,單片機(jī)I/O是否能夠識(shí)別出。</p><p><b> 2.復(fù)位電路的調(diào)試</b></p><p> 當(dāng)電源剛接通時(shí),接通電源
69、就完成了系統(tǒng)的初始化。</p><p><b> 3.顯示電路的調(diào)試</b></p><p> 在本設(shè)計(jì)中,顯示電路只需完成,當(dāng)輸入數(shù)字時(shí)能正確顯示數(shù)字.</p><p><b> 4.整個(gè)系統(tǒng)的聯(lián)調(diào)</b></p><p> 在系統(tǒng)各個(gè)部分都調(diào)試完畢之后,即可以進(jìn)行整個(gè)系統(tǒng)的調(diào)試。由于前面
70、各個(gè)部分的調(diào)試做的都比較充分,所以在實(shí)際調(diào)試過(guò)程中,能夠較順利的實(shí)現(xiàn)整個(gè)系統(tǒng)預(yù)期的功能。</p><p> (二)系統(tǒng)的性能分析</p><p> 系統(tǒng)能在設(shè)定的時(shí)間內(nèi)鬧鈴,但聲音有點(diǎn)沙啞。這是因?yàn)榭刂品澍Q器的I/O口每次取反后,必須調(diào)用一次顯示子程序后才能再次取反,否則在發(fā)音期間不能顯示,而調(diào)用一次顯示子程序需要的時(shí)間大約為6ms(6位每位1ms),所以振蕩頻率f=1/T=1/(2*
71、6ms)≈83Hz,顯然這個(gè)頻率過(guò)低,這就是造成聲音沙啞的原因。經(jīng)測(cè)試,其時(shí)鐘誤差約為3秒/天,這是因?yàn)閺亩〞r(shí)器向CPU發(fā)出中斷申請(qǐng)信號(hào)到重裝定時(shí)初值的過(guò)程需要一定的時(shí)間。</p><p> 本系統(tǒng)通過(guò)測(cè)試,能夠?qū)崿F(xiàn)以下功能:</p><p><b> ?。?)按鍵輸入。</b></p><p><b> ?。?)鬧鈴聲音。<
72、/b></p><p><b> (3)LED顯示。</b></p><p><b> 結(jié) 論</b></p><p> 本次畢業(yè)設(shè)計(jì)我很早就開(kāi)始準(zhǔn)備,并且先自己買器件動(dòng)手制作,因此能夠較早的完成全部的設(shè)計(jì)任務(wù)。通過(guò)本次設(shè)計(jì),使自己在單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)方面的能力有了長(zhǎng)足進(jìn)步。本次畢業(yè)設(shè)計(jì)應(yīng)用單片機(jī)電子鬧鐘
73、的設(shè)計(jì)與制作,作為一種智能化產(chǎn)品,具有成本低,使用方便,可靠性高和可擴(kuò)展性強(qiáng)的特點(diǎn)。</p><p><b> 參考文獻(xiàn)</b></p><p> 1.李捷,陳典濤等,一種應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì)與制作設(shè)計(jì)[J],農(nóng)機(jī)化研 究,2005。</p><p> 2.陳明熒.8051單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教材 北京:清華大學(xué)出版社 200
74、43.胡漢才.單片機(jī)原理及其接口技術(shù) 北京:清華大學(xué)出版社 19954.徐淑華 程退安 姚萬(wàn)生 .單片機(jī)微型機(jī)原理及應(yīng)用 哈爾濱工業(yè)大學(xué)出版社1994</p><p> 5.丁元杰.《單片機(jī)原理與應(yīng)用》.機(jī)械工業(yè)出版社出版.2003年2月.58-67 </p><p> 6. 朱定華.《單片機(jī)原理及接口技術(shù)》.電子工業(yè)出版社出版.2004年5月.32-46 </p>
75、<p> 7. 何立民.《單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù)》.北京航空航天大學(xué)出版社出版.2005年2月.16-45 </p><p> 8. 江曉安、董秀峰.《模擬電子技術(shù)》.西安電子科技大學(xué)出版社.2003年 9月.46-110 </p><p> 9. 陸坤.《電子設(shè)計(jì)技術(shù)》. 成都電子科技大學(xué)出版社.1996年5月.31-76</p><p
76、><b> 致 謝</b></p><p> 在論文即將完成之際,我首先向關(guān)心幫助和指導(dǎo)我的導(dǎo)師王殿學(xué)老師表示衷心的感謝并致以崇高的敬意! 在論文工作中,一直得到王老師的悉心指導(dǎo)。王老師以其淵博的學(xué)識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、求實(shí)的工作作風(fēng)和她敏捷的思維、飽滿的工作熱情以及對(duì)我的耐心指導(dǎo)和嚴(yán)格要求給我留下了深刻的印象,使我在理論和實(shí)際應(yīng)用兩方面的能力都得到了很大的提高,使我受益匪淺。王
77、老師治學(xué)嚴(yán)謹(jǐn)、待人誠(chéng)懇,他高屋建瓴的學(xué)術(shù)眼光、對(duì)事業(yè)孜孜不倦地追求和勤奮不輟的精神將使我終生受益,是我終生學(xué)習(xí)的榜樣,在此向恩師致以最誠(chéng)摯的謝意。</p><p> 我還要感謝我的同學(xué)們,他們?cè)诋厴I(yè)設(shè)計(jì)期間給我了莫大的支持與幫助,為我提供了一個(gè)良好的學(xué)習(xí)和生活環(huán)境,并且對(duì)于我提出的任何難題都給予熱心、耐心的解答,使我受益頗深。</p><p> 感謝應(yīng)用電子技術(shù)專業(yè)的全體老師對(duì)我的諄諄
78、教導(dǎo),你們的教誨將使我受益終生。</p><p> 感謝全體同學(xué),你們的關(guān)心和友愛(ài)使我很感動(dòng)!</p><p> 感謝我的父母對(duì)我的養(yǎng)育之恩!</p><p> 感謝所有幫助過(guò)我的人們!</p><p> 最后,再次感謝王殿學(xué)老師對(duì)我的鼓勵(lì)、支持與關(guān)懷,這些我將永生難忘!</p><p><b>
79、附錄A 原理圖</b></p><p><b> 附錄B(程序)</b></p><p> ;;;;;;;;定義變量;;;;;;;;;</p><p> S1EQUP3.4;按鍵</p><p> JIAEQUP3.5</p><p> SECLEQU
80、24H;各個(gè)顯示單元</p><p> SECHEQU25H</p><p> HENGXIANEQU26H</p><p> MINULEQU27H</p><p> MINUHEQU28H</p><p> HENGEQU29H</p><p>
81、HOURLEQU2AH</p><p> HOURHEQU2BH</p><p> SECONDEQU2DH;秒變量單位</p><p> COUNTEQU2EH;溢出中斷計(jì)數(shù)器</p><p> SETFLAGEQU20H</p><p> HHEQU00
82、H;移位時(shí)用到的單元</p><p> HLEQU01H</p><p> MHEQU02H</p><p> MLEQU03H</p><p> WARNSLEQU2FH</p><p> WARNSHEQU30H</p><p> WARNML
83、EQU32H;報(bào)警分低位</p><p> WARNMHEQU33H;報(bào)警分高位</p><p> WARNHLEQU35H;報(bào)警時(shí)低位</p><p> WARNHHEQU36H;報(bào)警時(shí)高位</p><p> WARNCNTEQU37H;已設(shè)定鬧鈴時(shí)間標(biāo)志</p><
84、;p> WARNINGBIT0CH;鬧鈴標(biāo)志</p><p> WARNSETTEDBIT0DH;已設(shè)定鬧鈴時(shí)間標(biāo)志</p><p> ;;;;;;;誤差修正;;;;;;;;;;;;;;;</p><p> TFIXBIT0EH;開(kāi)始修正標(biāo)志</p><p> NEQU60;誤差值,單位:
85、1/10s,默認(rèn)為0,即不修正</p><p> ;;;;;;;;;;;;程序入口地址;;;;;;;;;;;;;;</p><p><b> ORG0000H</b></p><p><b> LJMPMAIN</b></p><p> ORG000BH;定時(shí)器T0溢出中斷入口&
86、lt;/p><p> LJMPTIMER0</p><p><b> ORG0030H</b></p><p> ;;;;;;;;主程序;;;;;;;;;;;;;;;</p><p><b> MAIN:</b></p><p> MOVSP,#60H;堆
87、棧設(shè)置</p><p> CLRTFIX;誤差開(kāi)始修正標(biāo)志初始化</p><p> MOVCOUNT,#0</p><p> LCALLSYS_INIT;系統(tǒng)初始化</p><p> LCALLT0_INIT;定時(shí)器初始化</p><p> LCALLSETTIME;等待設(shè)置當(dāng)前時(shí)間
88、</p><p><b> MAIN_0:</b></p><p> MOVIE,#80H;設(shè)置完后開(kāi)始走時(shí),啟動(dòng)定時(shí)器T0</p><p> SETBTR0;允許T0溢出中斷</p><p> ;LCALLDELAY10MS</p><p> LCALLDIS
89、PLAY1</p><p> ;;;;;;;;;;;系統(tǒng)初始化子程序;;;;;;;;;</p><p><b> SYS_INIT:</b></p><p> MOVIE,#00H;關(guān)中斷</p><p> MOVR0,#20;清變量</p><p> MOVR1,#10H
90、</p><p> MOVA,#00H</p><p><b> SYS_0:</b></p><p><b> MOV@R0,A</b></p><p><b> INCR0</b></p><p> DJNZR1,SYS_0
91、</p><p><b> RET</b></p><p> ;;;;;;;;定時(shí)器、串口初始化;;;;;;;;;;;;;</p><p><b> T0_INIT:</b></p><p> MOVTMOD,#01H</p><p> MOVTH0,#3CH&
92、lt;/p><p> MOVTL0,#0B0H</p><p><b> RET</b></p><p> ;;;;;;;;;;;;;鬧鈴時(shí)間設(shè)定;;;;;;;;;;;</p><p><b> SETWARN:</b></p><p> MOVWARNHH,#0&
93、lt;/p><p> MOVWARNHL,#0</p><p> MOVWARNMH,#0</p><p> MOVWARNML,#0</p><p> MOVWARNSH,#0</p><p> MOVWARNSL,#0</p><p> MOVSETFLAG,#00<
94、;/p><p><b> SETBHH</b></p><p> KAISHI_NAO:</p><p> LCALLDISPLAYNEW1</p><p><b> SETW_1:</b></p><p> JBS1,LOOP3</p><
95、;p> LCALLDELAY10MS</p><p> JBS1,LOOP3</p><p><b> JNBS1,$</b></p><p> JBML,LOOPW1</p><p> MOVA,SETFLAG </p><p> RLA ;當(dāng)前位右移 l 位
96、(標(biāo)志左移 1 位) </p><p> MOV SETFLAG,A ;回存</p><p> SJMP SET_W2</p><p><b> LOOP3:</b></p><p> LJMPSET_W2</p><p><b> LOOPW1:</b&g
97、t;</p><p> LJMPKAISHI1</p><p><b> SET_W2:</b></p><p> LCALLDISPLAYNEW1</p><p> JBJIA,SETW_1</p><p> LCALLDELAY10MS</p><p&
98、gt; JBJIA,SETW_1</p><p><b> JNBJIA,$</b></p><p> JNBHH,SHI_W2;為真,則當(dāng)前位滅</p><p> INCWARNHH</p><p> MOVA,WARNHH</p><p><b> XRLA
99、,#3</b></p><p> JZSET_W1_1</p><p> LJMPKAISHI_NAO</p><p> SET_W1_1:</p><p> MOVWARNHH,#0</p><p> LJMPKAISHI_NAO</p><p><b&
100、gt; SHI_W2:</b></p><p> JNBHL,FEN_W1</p><p> INCWARNHL</p><p> MOVA,WARNHH</p><p> CJNEA,#2,SHI_W2_1</p><p> MOVA,WARNHL</p><
101、p> XRLA,#05H;小時(shí)低位只能是0-4</p><p> JZSET_W21</p><p> LJMPKAISHI_NAO</p><p><b> SHI_W2_1:</b></p><p> MOVA,WARNHL</p><p> XRLA,#0AH
102、</p><p> JZSET_W21</p><p> LJMPKAISHI_NAO </p><p><b> SET_W21:</b></p><p> MOVWARNHL,#0</p><p> LJMPKAISHI_NAO</p><p>&l
103、t;b> FEN_W1:</b></p><p> JNBMH,FEN_W2</p><p> INCWARNMH</p><p> MOVA,WARNMH</p><p><b> XRLA,#6</b></p><p> JZSET_W22</p
104、><p> LJMPKAISHI_NAO</p><p> SET_W22:</p><p> MOVWARNMH,#0</p><p> LJMPKAISHI_NAO</p><p><b> FEN_W2:</b></p><p> INCWARNM
105、L</p><p> MOVA,WARNML</p><p> XRLA,#0AH</p><p> JZSET_W23</p><p> LJMPKAISHI_NAO</p><p><b> SET_W23:</b></p><p> MOVWAR
106、NML,#0</p><p> LJMPKAISHI_NAO</p><p> ;;;;;;;設(shè)置時(shí)間鬧鈴掃描;;;;;;;;;;</p><p> DISPLAYNEW1:</p><p> MOVA,#0AH</p><p><b> MOV31H,A</b></p>
107、;<p><b> MOV34H,A</b></p><p> MOVR0,#2FH</p><p> MOVR3,#0FEH</p><p> PLAYNEW1:</p><p><b> MOVA,R3</b></p><p><
108、b> MOVP2,A</b></p><p><b> MOVA,@R0</b></p><p> MOVDPTR,#TABLE</p><p> MOVCA,@A+DPTR</p><p><b> MOVP0,A</b></p><p&g
109、t; LCALLDELAY1MS</p><p><b> INCR0</b></p><p><b> MOVA,R3</b></p><p> JNBACC.7,LOOP2</p><p><b> RLA</b></p><p>
110、;<b> MOVR3,A</b></p><p> SJMPPLAYNEW1</p><p> LOOP2:RET</p><p> ;;;;;;;;;;;;;時(shí)間調(diào)整;;;;;;;;;;;</p><p><b> SETTIME:</b></p><p&g
111、t; MOVHOURH,#0</p><p> MOVHOURL,#0</p><p> MOVMINUH,#0;計(jì)時(shí)無(wú)保存,可能是鬧鈴沒(méi)進(jìn)去</p><p> MOVMINUL,#0</p><p> MOVSECH,#0</p><p> MOVSECL,#0</p>&l
112、t;p> MOVSETFLAG,#00</p><p><b> SETBHH</b></p><p><b> PANLING:</b></p><p> LCALLDISPLAYNEW</p><p> JBS1,PANLING</p><p>
113、; LCALLDELAY100MS</p><p> LCALLDELAY100MS</p><p> LCALLDELAY100MS</p><p> LCALLDELAY100MS</p><p> LCALLDELAY100MS</p><p> JBS1,KAISHI1</p>
114、;<p> ;LCALLDELAY10MS</p><p> JNBS1,SETC_1;;;;;;;;;;;;;;;;;;;;;;;;;;;;按住時(shí)間更長(zhǎng)為設(shè)置鬧鈴,第一個(gè)數(shù)碼管顯示為"C"</p><p><b> SETNAO:</b></p><p> SETBWARNSETTED<
115、;/p><p> LCALLSETWARN</p><p><b> SETC_1:</b></p><p> LCALLSETC</p><p><b> KAISHI1:</b></p><p> MOVHOURH,#0</p><
116、p> MOVHOURL,#0</p><p> MOVMINUH,#0</p><p> MOVMINUL,#0</p><p> MOVSECH,#0</p><p> MOVSECL,#0</p><p> MOVSETFLAG,#00</p><p><
117、b> SETBHH</b></p><p><b> KAISHI:</b></p><p> LCALLDISPLAYNEW</p><p><b> SET_1:</b></p><p> JBS1,SET_2</p><p> L
118、CALLDELAY10MS</p><p> JBS1,SET_2</p><p><b> JNBS1,$</b></p><p> JBML,LOOP1</p><p> MOVA,SETFLAG </p><p> RLA ;當(dāng)前位右移 l 位(標(biāo)志左移 1 位)
119、 </p><p> MOV SETFLAG,A ;回存</p><p> SJMP SET_2</p><p><b> LOOP1:</b></p><p> LJMPMAIN_0</p><p><b> SET_2:</b></p>
120、;<p> LCALLDISPLAYNEW</p><p> JBJIA,SET_1</p><p> LCALLDELAY10MS</p><p> JBJIA,SET_1</p><p><b> JNBJIA,$</b></p><p> JNBHH,S
121、HI_2;為真,則當(dāng)前位滅</p><p><b> INCHOURH</b></p><p> MOVA,HOURH</p><p><b> XRLA,#3</b></p><p> JZSET_1_1</p><p> LJMPKAISHI<
122、/p><p> SET_1_1:</p><p> MOVHOURH,#0</p><p> LJMPKAISHI</p><p><b> SHI_2:</b></p><p> JNBHL,FEN_1</p><p><b> INCH
123、OURL</b></p><p> MOVA,HOURH</p><p> CJNEA,#2,SHI_2_1</p><p> MOVA,HOURL</p><p> XRLA,#05H;小時(shí)低位只能是0-4</p><p><b> JZSET_21</b>&
124、lt;/p><p> LJMPKAISHI</p><p><b> SHI_2_1:</b></p><p> MOVA,HOURL</p><p> XRLA,#0AH</p><p><b> JZSET_21</b></p><p&g
125、t; LJMPKAISHI </p><p><b> SET_21:</b></p><p> MOVHOURL,#0</p><p> LJMPKAISHI</p><p><b> FEN_1:</b></p><p> JNBMH,FEN_2&
126、lt;/p><p><b> INCMINUH</b></p><p> MOVA,MINUH</p><p><b> XRLA,#6</b></p><p><b> JZSET_22</b></p><p> LJMPKAISHI&
127、lt;/p><p><b> SET_22:</b></p><p> MOVMINUH,#0</p><p> LJMPKAISHI</p><p><b> FEN_2:</b></p><p><b> INCMINUL</b>&l
128、t;/p><p> MOVA,MINUL</p><p> XRLA,#0AH</p><p><b> JZSET_23</b></p><p> LJMPKAISHI</p><p><b> SET_23:</b></p><p>
129、 MOVMINUL,#0</p><p> LJMPKAISHI</p><p> ;;;;;;;鬧鈴標(biāo)志;;;;;;;;;;</p><p><b> SETC:</b></p><p> MOVP2,#7FH</p><p> MOVP0,#39H</p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文——應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----基于單片機(jī)電子鬧鐘設(shè)計(jì)
- 畢業(yè)論文范文——應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)
- 畢業(yè)論文范文——應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)
- 應(yīng)用電子技術(shù)畢業(yè)論文-應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)
- 應(yīng)用電子技術(shù)畢業(yè)論文-應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)(電子鬧鐘)
- 單片機(jī)電子
- 單片機(jī)電子
- 應(yīng)用單片機(jī)設(shè)計(jì)的電子鬧鐘的畢業(yè)論文
- 應(yīng)用單片機(jī)設(shè)計(jì)的電子鬧鐘的畢業(yè)論文
- 單片機(jī)電子日歷設(shè)計(jì).doc
- 《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)—單片機(jī)電子琴設(shè)計(jì)
- 單片機(jī)電子.doc
- 單片機(jī)電子.doc
- 單片機(jī)課程設(shè)計(jì)---- lcd電子定時(shí)鬧鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)--- 單片機(jī)電子時(shí)鐘設(shè)計(jì)
- 單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)--基于單片機(jī)的電子鬧鐘設(shè)計(jì)
- ats單片機(jī)電子琴設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論