版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢 業(yè) 設(shè) 計(jì) </b></p><p> 題 目 基于單片機(jī)的電子鬧鐘設(shè)計(jì)1</p><p> 英文題目 The electronic clock </p><p> design based on MCU </p><p> 院 系 機(jī)械與材
2、料工程學(xué)院 </p><p> 專 業(yè) 機(jī)電一體化技術(shù) </p><p> 姓 名 </p><p> 年 級(jí) 2011() </p><p> 指導(dǎo)教師 </p><p><b>
3、二零一三年十二月</b></p><p><b> 摘 要</b></p><p> 單片機(jī)自20世紀(jì)問世以來,以其極高的性能價(jià)格比,受到人們的重視和關(guān)注,應(yīng)用很廣、發(fā)展很快。而51單片機(jī)是各單片機(jī)中最為典型和最具代表性的一種。本文設(shè)計(jì)以AT89S51芯片為核心。輔以必要的外圍電路。設(shè)計(jì)了一個(gè)結(jié)構(gòu)簡單,功能齊全的電子時(shí)鐘,它由5v直流電源供電。在硬件
4、方面 ,除了cpu外使用六個(gè)七段LED數(shù)碼管來進(jìn)行顯示,LED采用的是動(dòng)態(tài)掃描顯示 ,使用74s14芯片進(jìn)行驅(qū)動(dòng)。通過LED能夠比較準(zhǔn)確顯示時(shí)、分。兩個(gè)簡單的按鍵實(shí)現(xiàn)對(duì)時(shí)間的調(diào)整。軟件方面采用匯編語言編程。整個(gè)電子時(shí)鐘系統(tǒng)能完成時(shí)間的顯示、調(diào)整、定時(shí)鬧鐘和復(fù)位等功能。</p><p> 選用單片機(jī)最小系統(tǒng)應(yīng)用程序,添加比較程序、時(shí)間調(diào)整程序及蜂鳴程序,通過時(shí)間比較程序觸發(fā)蜂鳴,實(shí)現(xiàn)鬧鐘功能,完成設(shè)計(jì)所需的軟件環(huán)
5、境。介紹并使用keil單片機(jī)模擬調(diào)試軟件,測試程序的可行性。</p><p> 【關(guān)鍵詞】單片機(jī)技術(shù);AT89S51;液晶驅(qū)動(dòng);電子鬧鐘</p><p><b> Abstract</b></p><p> Becase of its extremely high performance-price ratio,the single-ch
6、ip computer(SCC) has been paid great attention to ever since it came to in 1970 of 20 th century ,and has gained an extensive applicable field and fast development .</p><p> This design ,adopting AT89S51 ch
7、ip as the core part with some necessary peripheral circuits, is a simple electronic clock which uses 5v DC as the power supply .in hardware aspect .beside the CPU ,six seven-segment LED digi-tubes are used for display ,w
8、hich work in a dynamically scanning display mode and driven by74SL14 chip .the LED can accurately indicate hour and minute and two bottons can be used to adjust the time .while in the softwar aspect ,the programming lang
9、uage is assembly language . </p><p> Choose the smallest SCM system applications, ,add comparison procedures ,times to adjust procedures and faint buzzing procedures, as through relatively faint buzzing tri
10、gger procedures to achieve alarm clock function ,.completed design needs of the software environment.</p><p> 【Key words】technology of the one-chip computer;AT89S51; the liquid crystal is driven; Electronic
11、 alarm clock</p><p><b> 目 錄</b></p><p><b> 前言1</b></p><p><b> 第一章 概論2</b></p><p><b> 1.1概述2</b></p><
12、p> 1.1.1 51電子鬧鐘發(fā)展趨勢2</p><p> 1.1.2 本課題研究的主要內(nèi)容2</p><p> 1.2電子鬧鐘簡介3</p><p> 1.2.1 開發(fā)的目的和意義3</p><p> 1.2.2 51電子鬧鐘的優(yōu)點(diǎn)3</p><p> 1.2.3 51電子鬧鐘的特點(diǎn)3&
13、lt;/p><p> 第二章 系統(tǒng)方案的設(shè)計(jì)4</p><p><b> 2.1系統(tǒng)概述4</b></p><p> 2.1.1系統(tǒng)功能描述4</p><p> 2.1.2系統(tǒng)方案的確定4</p><p> 2.1.3系統(tǒng)設(shè)計(jì)思路與步驟5</p><p>
14、 2.2芯片基本工作原理及其應(yīng)用5</p><p> 2.2.1 AT89S51簡介6</p><p> 2.2.2引腳介紹6</p><p><b> 2.2.3電源7</b></p><p> 2.2.4存儲(chǔ)器7</p><p> 2.2.5 應(yīng)用7</p>
15、<p> 2.3 LM386簡介8</p><p> 2.3.1 LM386介紹8</p><p> 2.3.2 LM386特點(diǎn)8</p><p> 第三章 系統(tǒng)的設(shè)計(jì)8</p><p> 3.1系統(tǒng)硬件設(shè)計(jì)8</p><p> 3.1.1單片機(jī)系統(tǒng)的設(shè)計(jì)9</p>
16、<p> 3.1.2 按鍵電路的設(shè)計(jì)9</p><p> 3.1.3復(fù)位電路的設(shè)計(jì)10</p><p> 3.1.4顯示電路的設(shè)計(jì)12</p><p> 3.2系統(tǒng)軟件的設(shè)計(jì)13</p><p> 3.2.1軟件設(shè)計(jì)13</p><p> 3.2.2整個(gè)系統(tǒng)軟件部分的總體設(shè)計(jì)33&l
17、t;/p><p> 第四章 系統(tǒng)的調(diào)試和性能分析33</p><p> 4.1系統(tǒng)的調(diào)試方法33</p><p> 4.1.1輸入按鍵的調(diào)試34</p><p> 4.1.2復(fù)位電路的調(diào)試34</p><p> 4.1.3顯示電路的調(diào)試34</p><p> 4.1.4整個(gè)系
18、統(tǒng)的聯(lián)調(diào)34</p><p> 4.2系統(tǒng)的性能分析34</p><p> 第五章 結(jié)論36</p><p><b> 參考文獻(xiàn)37</b></p><p><b> 謝辭38</b></p><p><b> 前 言</b><
19、;/p><p> 20時(shí)間末,電子技術(shù)獲得了飛速的發(fā)展。在其推動(dòng)下,現(xiàn)在電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域‘有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高。同時(shí)也使現(xiàn)代電子產(chǎn)品性能的進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。時(shí)間對(duì)人們來說總是那么的寶貴,工作的忙碌和繁雜性容易使人忘記當(dāng)前的時(shí)間。所以提醒人們當(dāng)前的時(shí)間是那么的重要,而鐘表的數(shù)字化帶給人們的生活帶來了極大的便利,并且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸
20、如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、定時(shí)廣播、甚至各種定時(shí)電氣的自動(dòng)啟動(dòng)等。所有的這些都以鐘表的數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非常的意義。</p><p> 數(shù)字鐘表通過數(shù)字電路實(shí)現(xiàn)時(shí)、分、秒的顯示。數(shù)字顯示的計(jì)時(shí)裝置,廣泛應(yīng)用于個(gè)人家庭、車站碼頭、辦公室等公共場所。多功能數(shù)字鐘的應(yīng)用非常的普遍。由單片機(jī)作為數(shù)字時(shí)鐘的核心控制器,通過它的時(shí)鐘信號(hào)來實(shí)現(xiàn)計(jì)時(shí)功能,將其時(shí)間數(shù)據(jù)經(jīng)單片機(jī)輸出,利用顯示器
21、顯示出來。通過鍵盤可以進(jìn)行校時(shí)、定時(shí)等功能。使出設(shè)備顯示器可以用液晶顯示技術(shù)和數(shù)碼管來顯示。</p><p> 本系統(tǒng)利用單片機(jī)來實(shí)現(xiàn)具有計(jì)時(shí)、校時(shí)等功能的數(shù)字時(shí)鐘,是以單片機(jī)AT89C51單片機(jī)為核心元件同時(shí)采用LED數(shù)碼管顯示器動(dòng)態(tài)顯示時(shí)、分、秒的現(xiàn)代計(jì)時(shí)裝置。另外具有校時(shí)功能和定時(shí)功能,利用單片機(jī)實(shí)現(xiàn)的數(shù)字時(shí)鐘具有編程靈活,便于功能的。擴(kuò)充等優(yōu)點(diǎn)。</p><p><b>
22、; 第一章 概論</b></p><p><b> 1.1 概論</b></p><p> 電子鬧鐘在科學(xué)技術(shù)高度發(fā)展的今天,千家萬戶都少不了它,所以很多家庭個(gè)人都需要有一個(gè)電子鬧鐘,為人們提供報(bào)時(shí)方便,但普通電子鬧鐘不夠方便實(shí)用。本文給出了一種以51芯片電子鬧鐘設(shè)計(jì)方法,從而給人們帶來更為方便的工作與生活。</p><p>
23、 1.1.1 51電子鬧鐘發(fā)展趨勢</p><p> 現(xiàn)代的快節(jié)奏生活給人們的精神上帶來了很大壓力。如何排解或緩解這些壓力已經(jīng)成為很多人關(guān)心的問題。單片機(jī)電子鬧鐘是具發(fā)前鬧鐘創(chuàng)新性的系統(tǒng),它代表了時(shí)代的發(fā)展趨勢。2007年,無論從國內(nèi)外行業(yè)發(fā)展趨勢,還是從鬧鐘市場準(zhǔn)入的要求來看,節(jié)能、環(huán)保、創(chuàng)新都已成為中國家電企業(yè)無法回避的大問題。在原材料價(jià)格不斷上漲、下游渠道商實(shí)力膨脹、價(jià)格戰(zhàn)越來越激烈、行業(yè)利潤日趨微薄的
24、背景下,日前,中國的電子鬧鐘在節(jié)能化、環(huán)?;?、創(chuàng)新型轉(zhuǎn)變過程中,正進(jìn)行新一輪鬧鐘賽跑。</p><p> 目前,國內(nèi)專業(yè)51電子鬧鐘廠家的數(shù)量正在迅速增長。51電子鬧鐘市場在未來的三五年內(nèi)會(huì)高速增長,新技術(shù)、新產(chǎn)品也會(huì)不斷出現(xiàn)并投入應(yīng)用。</p><p> 1.1.2本課題研究的主要內(nèi)容</p><p> 設(shè)計(jì)一個(gè)51電子鬧鐘:</p><
25、p> ?。?)能隨意設(shè)定走時(shí)起始時(shí)間。</p><p> ?。?)12小時(shí)/24小時(shí)兩種制式可選,以適應(yīng)不同的需要。</p><p> (3)能指示秒節(jié)奏,即秒指示</p><p> ?。?)采用交直流供電電源。與石英鐘不同的是,電子鐘一般采用數(shù)碼管等顯示介質(zhì),因而必須以交流供電為主,以直流電源為后備輔助電源,并能自動(dòng)切換。該設(shè)計(jì)主要包括:按鍵、顯示程序單元
26、部分。AT89S51單片機(jī)芯片、74HC245驅(qū)動(dòng)LED顯示電路,集成電路74HC245和LM386各1個(gè)。</p><p><b> 1.2電子鬧鐘簡介</b></p><p> 1.2.1 開發(fā)的目的和意義</p><p> 目的: 設(shè)計(jì)一個(gè)51電子鬧鐘的,該鬧鐘可由使用者自己設(shè)定一個(gè)時(shí)間,若想設(shè)置鬧鈴,應(yīng)先按下復(fù)位按鍵,然后長時(shí)間按
27、下"設(shè)置"按鍵,第一個(gè)數(shù)碼管會(huì)顯示”C”,然后變?yōu)椤?0-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ī)做的
28、.只要簡單的設(shè)置好后,她就能按照主人的意思,定時(shí)的把你鬧醒啦!也能給人們的生活帶來方便。</p><p> 1.2.2 51電子鬧鐘的優(yōu)點(diǎn)</p><p> ?。?)、簡單好用、美觀、體積小、實(shí)用。</p><p> ?。?)、用電量少、電壓低,節(jié)能、環(huán)保、創(chuàng)新。</p><p> 按鍵、顯示程序單元部分。AT89S51單片機(jī)芯片、74H
29、C245驅(qū)動(dòng)LED顯示電路。外接3個(gè)按鈕組成鍵盤,AT89S51為51內(nèi)核。另外,AT89S51本身無專門的液晶驅(qū)動(dòng)接口,因此,本時(shí)鐘采用數(shù)碼管顯示方式。數(shù)碼管作為一種主動(dòng)顯示器件,具有亮度高、價(jià)格便宜等優(yōu)點(diǎn),而且市場上也有專門的時(shí)鐘顯示組合數(shù)碼管。 </p><p> 51電子鬧鐘的用途:我設(shè)計(jì)的電子鬧鐘是用單片機(jī)做的.只要簡單的設(shè)置好后,她就能按照主人的意思,定時(shí)的把你鬧醒啦!也能給人們的生活、工作學(xué)習(xí)帶
30、來方便。</p><p> 1.2.3 51電子鬧鐘的特點(diǎn)</p><p> 1.幫助您排解或緩解那些來自現(xiàn)實(shí)生活的壓力</p><p> 2.數(shù)碼管作為一種主動(dòng)顯示器件,亮度高、價(jià)格便宜等,顯示數(shù)字清晰。</p><p> 3.簡單好用,可任意設(shè)24式時(shí)間。</p><p> 4.使用LED發(fā)光,省電,燈
31、泡壽命長。</p><p> 第二章 系統(tǒng)方案的設(shè)計(jì)</p><p><b> 2.1 系統(tǒng)概述</b></p><p> 2.1.1 系統(tǒng)功能描述</p><p> 本系統(tǒng)是利用AT89S51為51內(nèi)核,集成電路74HC245和LM386各1個(gè).制作完成一個(gè)電子鬧鐘,該設(shè)計(jì)中采用液晶顯示或數(shù)碼管顯示,因此,本時(shí)
32、鐘采用數(shù)碼管顯示方式。充分體現(xiàn)系統(tǒng)的簡易性。使我們了解簡易鬧鐘的設(shè)計(jì)方法,并自己動(dòng)手設(shè)計(jì)電路和編寫實(shí)現(xià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> 保
33、證數(shù)字的輸入。</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)鬧鈴功能<
34、;/b></p><p> 設(shè)置好鬧鈴時(shí)間后.能按設(shè)置好的時(shí)間準(zhǔn)時(shí)鬧鈴。</p><p> 2.1.2 系統(tǒng)方案的確定</p><p> 根據(jù)以上各模塊并結(jié)合顯示屏的功能及元器件材料的情況,決定采用AT89S51為51內(nèi)核顯示設(shè)計(jì)方案。</p><p> 2.1.3 系統(tǒng)設(shè)計(jì)思路與步驟</p><p>
35、 先進(jìn)行系統(tǒng)的整體規(guī)劃確定整個(gè)系統(tǒng)的功能,然后按照每個(gè)功能的具體要求,進(jìn)行各個(gè)模塊的實(shí)物設(shè)計(jì)并逐個(gè)調(diào)試,待全部通過后,進(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ù)位電路。<
36、/p><p><b> 具有3個(gè)功能按鍵:</b></p><p> 在復(fù)位后的待機(jī)狀態(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> 3.在設(shè)定最低位(分個(gè)位)的狀態(tài)下,用于結(jié)束本次時(shí)間設(shè)
37、定。</p><p> +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é)起來,整體調(diào)試功能。</p><p>
38、 整個(gè)系統(tǒng)的原理框圖如圖2-1所示</p><p> 圖2-1 整個(gè)系統(tǒng)的原理圖</p><p> 2.2 芯片基本工作原理及其應(yīng)用</p><p> 2.2.1 AT89S51簡介</p><p> AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable
39、)的可反復(fù)擦寫1000次的Flash只讀程序存儲(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> 2.2.2 引腳介紹</p><p> AT89S51具有如下特點(diǎn)
40、:40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/2)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。</p><p><b> 圖2-2 引腳圖</b></p><p> 此外,AT89S51設(shè)計(jì)和配
41、置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,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> 1.兼容
42、MCS-51指令系統(tǒng)</p><p> 2.32個(gè)雙向I/O口</p><p> 3.2個(gè)16位可編程定時(shí)/計(jì)數(shù)器</p><p> 4.全雙工UART串行中斷口線</p><p><b> 5.2個(gè)外部中斷源</b></p><p> 6.中斷喚醒省電模式</p><
43、;p> 7.看門狗(WDT)電路</p><p> 8.靈活的ISP字節(jié)和分頁編程</p><p> 9.4k可反復(fù)擦寫(>1000次)ISP Flash ROM</p><p> 10.4.5-5.5V工作電壓</p><p> 11.時(shí)鐘頻率0-33MHz</p><p> 12.128x8
44、bit內(nèi)部RAM</p><p> 13.低功耗空閑和省電模式</p><p><b> 14.3級(jí)加密位</b></p><p> 15.軟件設(shè)置空閑和省電功能</p><p> 16.雙數(shù)據(jù)寄存器指針</p><p><b> 2.2.3 電源</b></
45、p><p> 89S51有很寬的工作電源電壓,電源范圍寬達(dá)4~5.5V.</p><p><b> 2.2.4 存儲(chǔ)器</b></p><p> 89S51支持ISP在線可編程寫入技術(shù)!串行寫入、速度更快、穩(wěn)定性更好,燒寫電壓也僅僅需要4至5V即可.</p><p><b> 2.2.5應(yīng)用</b&g
46、t;</p><p> 就目前中國市場的情況來看,89S51有很大的市場。其原因有下列幾點(diǎn):(1)AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式;(2)AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī);(3)芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。(4)同時(shí)該芯片還具有PDIP、
47、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。</p><p> 2.3 LM386簡介</p><p> LM386是美國國家半導(dǎo)體公司生產(chǎn)的音頻功率放大器,主要應(yīng)用于低電壓消費(fèi)類產(chǎn)品。為使外圍元件最少,電壓增益內(nèi)置為20。但在1腳和8腳之間增加一只外接電阻和電容,便可將電壓增益調(diào)為任意值,直至200。輸入端以地位參考,同時(shí)輸出端被自動(dòng)偏置到電源電壓的一半,在6V電源電壓下
48、,它的靜態(tài)功耗僅為 24mW,使得LM386特別適用于電池供電的場合。專為低損耗電源所設(shè)計(jì)的功率放大器。</p><p> 2.3.1 LM386介紹</p><p> LM386適用于電腦、儀器、汽車電子、電源、通信、開關(guān)電源等電子產(chǎn)品.</p><p> 2.3.2 LM386特點(diǎn)</p><p> 靜態(tài)功耗低,約為4mA,可用于
49、電池供電。 </p><p> 工作電壓范圍寬,4-12V or 5-18V。 </p><p><b> 外圍元件少。 </b></p><p> 電壓增益可調(diào),20-200。 </p><p><b> 低失真度。</b></p><p><b> 第
50、三章 系統(tǒng)的設(shè)計(jì)</b></p><p> 一個(gè)完整的系統(tǒng),離不開硬件和軟件的設(shè)計(jì)。硬件與軟件各有所長,如何合理的安排軟硬件的任務(wù)是系統(tǒng)設(shè)計(jì)的第一步。</p><p> 3.1 系統(tǒng)硬件設(shè)計(jì)</p><p> 系統(tǒng)硬件的設(shè)計(jì)可以根據(jù)系統(tǒng)的各個(gè)功能,把整個(gè)系統(tǒng)劃分成若干個(gè)模塊,分別對(duì)這些模塊來進(jìn)行設(shè)計(jì),然后在通過單片機(jī)程序來實(shí)現(xiàn)對(duì)各個(gè)硬件模塊功能的調(diào)
51、度。</p><p> 本系統(tǒng)涉及到的硬件模塊有:按鍵電路、復(fù)位電路、顯示電路。</p><p> 3.1.1 單片機(jī)系統(tǒng)的設(shè)計(jì)</p><p> 單片機(jī)最小應(yīng)用系統(tǒng)實(shí)際上就是一個(gè)內(nèi)置程序存儲(chǔ)器的單片機(jī),可由單片機(jī)芯片,配以必要的外部器件構(gòu)成,這些外部功能器件無法集成到芯片內(nèi)部,主要有按鍵電路、顯示電路等。</p><p> 圖3-1
52、 單片機(jī)系統(tǒng)圖</p><p> 3.1.2 按鍵電路的設(shè)計(jì)</p><p> 作為一個(gè)按鍵從沒有按下到按下以及釋放是一個(gè)完整的過程,也就是說當(dāng)我們按下一個(gè)按鍵時(shí),總希望某個(gè)命令只執(zhí)行一次。而在按下的過程中不要有干擾進(jìn)來,因?yàn)樵诎聪碌倪^程中,一旦有干擾過來可能造成誤觸發(fā)過程,因此我們?cè)谠O(shè)計(jì)按鍵電路的時(shí)候應(yīng)注意不要有干擾進(jìn)來以用在焊接時(shí)應(yīng)注意:</p><p>
53、 獨(dú)立式按鍵。如果設(shè)置過多按鍵,將會(huì)占用較多I/O口,而且會(huì)給布線帶來不便,因此,此方案適用于按鍵較少的情況。如果選擇此方案,由于按鍵較少,在修改時(shí)間或設(shè)置鬧鈴時(shí)間時(shí)就不能直接輸入,只能通過加或減完成,稍為麻煩一些,但其程序簡單。</p><p> ?。?)執(zhí)錫補(bǔ)焊時(shí)應(yīng)按照從左到右,由上到下的順序,避免檢查時(shí)漏檢或焊接時(shí)漏修。</p><p> (2)焊接時(shí)要經(jīng)常清洗烙鐵頭,防止烙鐵頭的
54、雜物造成虛焊、針孔、加焊等不良發(fā)生。</p><p> ?。?) 不要在基板上給烙鐵頭加焊錫,生產(chǎn)過程中不能抖錫、敲錫、甩錫,防止焊錫渣、焊錫 、珠掉到基板上面。</p><p> ?。?)在壓件或拆件時(shí)要先在線路板的銅箔面上加焊錫,要求均勻加熱,避免松香失效或銅箔翹皮造成線路破壞。</p><p> 考慮到電路不要復(fù)雜性,因而設(shè)計(jì)成3個(gè)按鍵,
55、一個(gè)為復(fù)位,其它2個(gè)為按數(shù)字時(shí)間的按鍵和確定設(shè)好的時(shí)間確定.后2個(gè)按鍵要接89C2051端.若想設(shè)置鬧鈴,應(yīng)先按下復(fù)位按鍵,然后長時(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ī)狀態(tài)下,用于啟動(dòng)設(shè)定時(shí)間參數(shù)(對(duì)時(shí)或定鬧);&l
56、t;/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> +1鍵,用于對(duì)當(dāng)前設(shè)定位(編輯位)進(jìn)行加1操作,根據(jù)12/24小時(shí)工作模式和正在編輯的當(dāng)前位的含義(時(shí)十位、時(shí)個(gè)位、分十位、分個(gè)位)自動(dòng)進(jìn)行數(shù)據(jù)
57、的上限和下限判斷。例如,對(duì)12小時(shí)制,小時(shí)的十位只能是0、1,如果當(dāng)前值為0,則按+1鍵后為1,再按+1鍵則又回復(fù)到0。</p><p> 3.1.3 復(fù)位電路的設(shè)計(jì)</p><p> 目前為止,單片機(jī)復(fù)位電路主要有四種類型:(1)微分型復(fù)位電路;(2)積分型復(fù)位電路;(3)比較器型復(fù)位電路;(4)看門狗型復(fù)位電路。另外,Maxim等公司也推出了專用于復(fù)位的專用芯片復(fù)位電路的基本功能是
58、:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號(hào)。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號(hào),以防電源開關(guān)或電源插頭分-合過程中引起的抖動(dòng)而影響復(fù)位。當(dāng)輸入的復(fù)位信號(hào)延續(xù)兩個(gè)機(jī)器周期以上的高電平時(shí)即為有效,用完成單片機(jī)的復(fù)位初始化操作。</p><p> 單片機(jī)目前已被廣泛地應(yīng)用于家電、醫(yī)療、儀器儀表、工業(yè)自動(dòng)化、航空航天等領(lǐng)域。市場上比較流行的單片機(jī)種類主要有Intel公司、Atmel公司
59、和Philip公司的8051系列單片機(jī),Motorola公司的M6800系列單片機(jī),Intel公司的MCS96系列單片機(jī)以及Microchip公司的PIC系列單片機(jī)。無論用戶使用哪種類型的單片機(jī),總要涉及到單片機(jī)復(fù)位電路的設(shè)計(jì)。而單片機(jī)復(fù)位電路設(shè)計(jì)的好壞,直接影響到整個(gè)系統(tǒng)工作的可靠性。許多用戶在設(shè)計(jì)完單片機(jī)系統(tǒng),并在實(shí)驗(yàn)室調(diào)試成功后,在現(xiàn)場卻出現(xiàn)了“死機(jī)”、“程序走飛”等現(xiàn)象,這主要是單片機(jī)的復(fù)位電路設(shè)計(jì)不可靠引起的。圖1是一個(gè)單片機(jī)
60、與大功率LED八段顯示器共享一個(gè)電源,并采用微分復(fù)位電路的實(shí)例。在這種情況下,系統(tǒng)有時(shí)會(huì)出現(xiàn)一些不可預(yù)料的現(xiàn)象,如無規(guī)律可循的“死機(jī)”、“程序走飛”等。而用仿真器調(diào)試時(shí)卻無此現(xiàn)象發(fā)生或極少發(fā)生此現(xiàn)象。又如圖2所示,在此圖中單片機(jī)復(fù)位采用另外一種復(fù)位電路。在此電路的應(yīng)用中,用戶有時(shí)會(huì)發(fā)現(xiàn)在關(guān)閉電源后的短時(shí)間內(nèi)再次開啟電源,單片機(jī)可能會(huì)工作不正常。這些現(xiàn)象,都可認(rèn)為是由于單片機(jī)復(fù)位電路的設(shè)計(jì)不當(dāng)引起的。</p><p&g
61、t; 圖3-2 復(fù)位電路圖</p><p> 3.1.4 顯示電路的設(shè)計(jì)</p><p> 就時(shí)鐘而言,通??刹捎靡壕э@示或數(shù)碼管顯示。由于一般的段式液晶屏,需要專門的驅(qū)動(dòng)電路,而且液晶顯示作為一種被動(dòng)顯示,可視性相對(duì)較差;對(duì)于具有驅(qū)動(dòng)電路和微處理器接口的液晶顯示模塊(字符或點(diǎn)陣),一般多采用并行接口,對(duì)微處理器的接口要求較高,占用資源多。另外,89C2051本身無專門的液晶驅(qū)動(dòng)接口
62、,因此,本時(shí)鐘采用數(shù)碼管顯示方式。數(shù)碼管作為一種主動(dòng)顯示器件,具有亮度高、價(jià)格便宜等優(yōu)點(diǎn),而且市場上也有專門的時(shí)鐘顯示組合數(shù)碼管?;贏T89S51單片機(jī)的控制系統(tǒng)包括四部分:數(shù)據(jù)采集、控制系統(tǒng)、時(shí)鐘電路、語音錄音電路和報(bào)音提示信息電路。</p><p> 用數(shù)碼管作為顯示器。數(shù)碼管的驅(qū)動(dòng)電路簡單,使用方便,如果選擇了此方案,那么在夜間看時(shí)間的時(shí)候就不需要有光源,非常方便。其缺點(diǎn)是功耗較大。由于數(shù)碼管使用起來較
63、為方便,在夜間看時(shí)間也很方便,因此我們選擇了數(shù)碼管作為顯示器.</p><p><b> 發(fā)音部分:</b></p><p> 用軟件方法產(chǎn)生方波輸出,通過三極管放大后驅(qū)動(dòng)蜂鳴器發(fā)音,這樣就可以省去硬件振蕩電路,降低成本。</p><p> 3.2 系統(tǒng)軟件的設(shè)計(jì)</p><p> 系統(tǒng)軟件的設(shè)計(jì)方法與硬件設(shè)計(jì)的
64、方法是相同的,也是根據(jù)系統(tǒng)的各個(gè)功能,劃分成各個(gè)子模塊,分別對(duì)每個(gè)模塊來進(jìn)行設(shè)計(jì),然后在通過各個(gè)模塊之間的調(diào)用來實(shí)現(xiàn)整個(gè)系統(tǒng)的功能。</p><p> 系統(tǒng)軟件部分的設(shè)計(jì)模塊有:按鍵電路的軟件設(shè)計(jì)、復(fù)位電路的軟件設(shè)計(jì)、顯示電路的軟件設(shè)計(jì)共3個(gè)模塊。</p><p><b> 發(fā)音部分:</b></p><p> 用軟件方法產(chǎn)生方波輸出,通
65、過三極管放大后驅(qū)動(dòng)蜂鳴器發(fā)音,這樣就可以省去硬件振蕩電路,降低成本。</p><p><b> 電源:</b></p><p> 如果是用電池供電,就比較方便攜帶,但是本系統(tǒng),采用了數(shù)碼管作為顯示器,功耗較大,需要經(jīng)常更換電池。況且,本系統(tǒng)的體積較大,即使使用電池供電也不能隨身攜帶,因此,用電池供電不大合適,所以用外部穩(wěn)壓電源來供電。</p><
66、;p> 3.2.1 軟件設(shè)計(jì) </p><p><b> 軟件功能:</b></p><p> ?。?)檢測按鍵。當(dāng)系統(tǒng)檢測到某個(gè)案件被按下時(shí),轉(zhuǎn)到相應(yīng)子程序處理,可實(shí)現(xiàn)校時(shí)、設(shè)定鬧鈴時(shí)間的功能。</p><p> (2) 顯示。系統(tǒng)通過調(diào)用顯示子程序,可將顯示緩沖區(qū)里的內(nèi)容通過動(dòng)態(tài)掃描方式輸出到數(shù)碼管顯示器。
67、</p><p> (3) 計(jì)時(shí)。系統(tǒng)通過中斷和軟件計(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)通過調(diào)用比較子程序可判斷當(dāng)前時(shí)間是否符合鬧鈴條件,若符合,則調(diào)用發(fā)音子程序使蜂鳴器發(fā)出鬧鈴聲音。</p><p> (5) 產(chǎn)生音頻方波輸出。系統(tǒng)通過軟件產(chǎn)生音頻方
68、波輸出使蜂鳴器發(fā)聲,這樣可以省去硬件振蕩電路。</p><p> (6) 拆分。為了提高存儲(chǔ)單元的利用率,本系統(tǒng)將時(shí)間數(shù)據(jù)壓縮成壓縮BCD碼后再送入顯存才能顯示。</p><p> (7) 合并。為了提高修改時(shí)間的速度,可先對(duì)現(xiàn)存內(nèi)容逐位修改,然后調(diào)用合并子程序把顯存內(nèi)容合并后送入指定存儲(chǔ)單元。</p><p> (8) 設(shè)定。系統(tǒng)進(jìn)入設(shè)定狀態(tài)后,可通過按“設(shè)
69、定”鍵改變閃亮位位置和按“+”或“-”鍵來加1或減1閃亮位內(nèi)容,從而達(dá)到報(bào)時(shí)和設(shè)定鬧鈴時(shí)間的目的。</p><p><b> 流程圖設(shè)計(jì):</b></p><p> 圖3-3 T0中斷服務(wù)程序流程圖</p><p> 圖3-4 電路流程圖</p><p><b> 軟件設(shè)計(jì):</b><
70、/p><p><b> ;定義變量</b></p><p> S1EQUP3.4 ;按鍵</p><p> JIAEQUP3.5</p><p> SECLEQU24H;各個(gè)顯示單元</p><p> SECHEQU25H</p><
71、;p> HENGXIANEQU26H</p><p> MINULEQU27H</p><p> MINUHEQU28H</p><p> HENGEQU29H</p><p> HOURLEQU2AH</p><p> HOURHEQU2BH</p>
72、<p> SECONDEQU2DH ;秒變量單位</p><p> COUNTEQU2EH ;溢出中斷計(jì)數(shù)器</p><p> SETFLAGEQU20H</p><p> HHEQU00H ;移位時(shí)用到的單元</p><p> HLEQU01H</
73、p><p> MHEQU02H</p><p> MLEQU03H</p><p> WARNSLEQU2FH</p><p> WARNSHEQU30H</p><p> WARNMLEQU32H;報(bào)警分低位</p><p> WARNMHEQU
74、33H;報(bào)警分高位</p><p> WARNHLEQU35H;報(bào)警時(shí)低位</p><p> WARNHHEQU36H;報(bào)警時(shí)高位</p><p> WARNCNTEQU37H;已設(shè)定鬧鈴時(shí)間標(biāo)志</p><p> WARNINGBIT0CH ;鬧鈴標(biāo)志</p><
75、p> WARNSETTEDBIT0DH ;已設(shè)定鬧鈴時(shí)間標(biāo)志</p><p><b> ;誤差修正</b></p><p> TFIXBIT0EH ;開始修正標(biāo)志</p><p> NEQU60 ;誤差值,單位:1/10s,默認(rèn)為0,即不修正</p><
76、p><b> ;程序入口地址</b></p><p><b> ORG0000H</b></p><p><b> LJMPMAIN</b></p><p> ORG000BH ;定時(shí)器T0溢出中斷入口</p><p> LJMPTIMER0<
77、;/p><p><b> ORG0030H</b></p><p><b> ;主程序</b></p><p><b> MAIN:</b></p><p> MOVSP,#60H;堆棧設(shè)置</p><p> CLRTFIX
78、 ;誤差開始修正標(biāo)志初始化</p><p> MOVCOUNT,#0</p><p> LCALLSYS_INIT ;系統(tǒng)初始化</p><p> LCALLT0_INIT ;定時(shí)器初始化</p><p> LCALLSETTIME ;等待設(shè)置當(dāng)前時(shí)間</p><p><b> M
79、AIN_0:</b></p><p> MOVIE,#80H ;設(shè)置完后開始走時(shí),啟動(dòng)定時(shí)器T0</p><p> SETBTR0 ;允許T0溢出中斷</p><p> LCALLDELAY10MS</p><p> LCALLDISPLAY1</p><p>&
80、lt;b> ;系統(tǒng)初始化子程序</b></p><p><b> SYS_INIT:</b></p><p> MOVIE,#00H ;關(guān)中斷</p><p> MOVR0,#20 ;清變量</p><p> MOVR1,#10H</p><p&g
81、t; 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</p><p>
82、<b> RET</b></p><p> ;定時(shí)器、串口初始化</p><p><b> T0_INIT:</b></p><p> MOVTMOD,#01H</p><p> MOVTH0,#3CH</p><p> MOVTL0,#0B0H</p
83、><p><b> RET</b></p><p><b> ;鬧鈴時(shí)間設(shè)定</b></p><p><b> SETWARN:</b></p><p> MOVWARNHH,#0</p><p> MOVWARNHL,#0</p>
84、<p> MOVWARNMH,#0</p><p> MOVWARNML,#0</p><p> MOVWARNSH,#0</p><p> MOVWARNSL,#0</p><p> MOVSETFLAG,#00</p><p><b> SETBHH</b>
85、;</p><p> KAISHI_NAO:</p><p> LCALLDISPLAYNEW1</p><p><b> SETW_1:</b></p><p> JBS1,LOOP3</p><p> LCALLDELAY10MS</p><p>
86、 JBS1,LOOP3</p><p><b> JNBS1,$</b></p><p> JBML,LOOPW1</p><p> MOVA,SETFLAG </p><p> RLA ;當(dāng)前位右移 l 位(標(biāo)志左移 1 位) </p><p> MO
87、V SETFLAG,A ;回存</p><p> SJMP SET_W2</p><p><b> LOOP3:</b></p><p> LJMPSET_W2</p><p><b> LOOPW1:</b></p><p> LJMPKAISH
88、I1</p><p><b> SET_W2:</b></p><p> LCALLDISPLAYNEW1</p><p> JBJIA,SETW_1</p><p> LCALLDELAY10MS</p><p> JBJIA,SETW_1</p><p
89、><b> JNBJIA,$</b></p><p> JNBHH,SHI_W2 ;為真,則當(dāng)前位滅</p><p> INCWARNHH</p><p> MOVA,WARNHH</p><p><b> XRLA,#3</b></p><
90、p> JZSET_W1_1</p><p> LJMPKAISHI_NAO</p><p> SET_W1_1:</p><p> MOVWARNHH,#0</p><p> LJMPKAISHI_NAO</p><p><b> SHI_W2:</b></
91、p><p> JNBHL,FEN_W1</p><p> INCWARNHL</p><p> MOVA,WARNHH</p><p> CJNEA,#2,SHI_W2_1</p><p> MOVA,WARNHL</p><p> XRLA,#05H ;小時(shí)低位只能是
92、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</p><p> JZS
93、ET_W21</p><p> LJMPKAISHI_NAO </p><p><b> SET_W21:</b></p><p> MOVWARNHL,#0</p><p> LJMPKAISHI_NAO</p><p><b> FEN_W1:</b>
94、</p><p> JNBMH,FEN_W2</p><p> INCWARNMH</p><p> MOVA,WARNMH</p><p><b> XRLA,#6</b></p><p> JZSET_W22</p><p> LJMPKAISH
95、I_NAO</p><p> SET_W22:</p><p> MOVWARNMH,#0</p><p> LJMPKAISHI_NAO</p><p><b> FEN_W2:</b></p><p> INCWARNML</p><p> MOV
96、A,WARNML</p><p> XRLA,#0AH</p><p> JZSET_W23</p><p> LJMPKAISHI_NAO</p><p><b> SET_W23:</b></p><p> MOVWARNML,#0</p><p>
97、 LJMPKAISHI_NAO</p><p><b> ;設(shè)置時(shí)間鬧鈴掃描</b></p><p> DISPLAYNEW1:</p><p> MOVA,#0AH</p><p><b> MOV31H,A</b></p><p><b> M
98、OV34H,A</b></p><p> MOVR0,#2FH</p><p> MOVR3,#0FEH</p><p> PLAYNEW1:</p><p><b> MOVA,R3</b></p><p><b> MOVP2,A</b>
99、;</p><p><b> MOVA,@R0</b></p><p> MOVDPTR,#TABLE</p><p> MOVCA,@A+DPTR</p><p><b> MOVP0,A</b></p><p> LCALLDELAY1MS</p
100、><p><b> INCR0</b></p><p><b> MOVA,R3</b></p><p> JNBACC.7,LOOP2</p><p><b> RLA</b></p><p><b> MOVR3,A<
101、/b></p><p> SJMPPLAYNEW1</p><p> LOOP2:RET</p><p><b> ;時(shí)間調(diào)整</b></p><p><b> SETTIME:</b></p><p> MOVHOURH,#0</p>
102、<p> MOVHOURL,#0</p><p> MOVMINUH,#0 ;計(jì)時(shí)無保存,可能是鬧鈴沒進(jìn)去</p><p> MOVMINUL,#0</p><p> MOVSECH,#0</p><p> MOVSECL,#0</p><p> MOVSETFLAG,#00<
103、;/p><p><b> SETBHH</b></p><p><b> PANLING:</b></p><p> LCALLDISPLAYNEW</p><p> JBS1,PANLING</p><p> LCALLDELAY100MS</p&g
104、t;<p> LCALLDELAY100MS</p><p> LCALLDELAY100MS</p><p> LCALLDELAY100MS</p><p> LCALLDELAY100MS</p><p> JBS1,KAISHI1</p><p> LCALLDELAY10
105、MS</p><p> JNBS1,SETC_1 ;按住時(shí)間更長為設(shè)置鬧鈴,第一個(gè)數(shù)碼管顯示</p><p><b> SETNAO:</b></p><p> SETBWARNSETTED</p><p> LCALLSETWARN</p><p&g
106、t;<b> SETC_1:</b></p><p> LCALLSETC</p><p><b> KAISHI1:</b></p><p> MOVHOURH,#0</p><p> MOVHOURL,#0</p><p> MOVMINUH,
107、#0</p><p> MOVMINUL,#0</p><p> MOVSECH,#0</p><p> MOVSECL,#0</p><p> MOVSETFLAG,#00</p><p><b> SETBHH</b></p><p><b&g
108、t; KAISHI:</b></p><p> LCALLDISPLAYNEW</p><p><b> SET_1:</b></p><p> JBS1,SET_2</p><p> LCALLDELAY10MS</p><p> JBS1,SET_2<
109、/p><p><b> JNBS1,$</b></p><p> JBML,LOOP1</p><p> MOVA,SETFLAG </p><p> RLA ;當(dāng)前位右移 l 位(標(biāo)志左移 1 位) </p><p> MOV SETFLAG,A
110、;回存</p><p> SJMP SET_2</p><p><b> LOOP1:</b></p><p> LJMPMAIN_0</p><p><b> SET_2:</b></p><p> LCALLDISPLAYNEW</p>
111、<p> JBJIA,SET_1</p><p> LCALLDELAY10MS</p><p> JBJIA,SET_1</p><p><b> JNBJIA,$</b></p><p> JNBHH,SHI_2 ;為真,則當(dāng)前位滅</p><p&
112、gt;<b> INCHOURH</b></p><p> MOVA,HOURH</p><p><b> XRLA,#3</b></p><p> JZSET_1_1</p><p> LJMPKAISHI</p><p> SET_1_1:<
113、;/p><p> MOVHOURH,#0</p><p> LJMPKAISHI</p><p><b> SHI_2:</b></p><p> JNBHL,FEN_1</p><p><b> INCHOURL</b></p><p&
114、gt; 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></p><p> LJMPK
115、AISHI</p><p><b> SHI_2_1:</b></p><p> MOVA,HOURL</p><p> XRLA,#0AH</p><p><b> JZSET_21</b></p><p> LJMPKAISHI </p>
116、<p><b> SET_21:</b></p><p> MOVHOURL,#0</p><p> LJMPKAISHI</p><p><b> FEN_1:</b></p><p> JNBMH,FEN_2</p><p><b>
117、; INCMINUH</b></p><p> MOVA,MINUH</p><p><b> XRLA,#6</b></p><p><b> JZSET_22</b></p><p> LJMPKAISHI</p><p><b>
118、; SET_22:</b></p><p> MOVMINUH,#0</p><p> LJMPKAISHI</p><p><b> FEN_2:</b></p><p><b> INCMINUL</b></p><p> MOVA,M
119、INUL</p><p> XRLA,#0AH</p><p><b> JZSET_23</b></p><p> LJMPKAISHI</p><p><b> SET_23:</b></p><p> MOVMINUL,#0</p>&l
120、t;p> LJMPKAISHI</p><p><b> ;鬧鈴標(biāo)志</b></p><p><b> SETC:</b></p><p> MOVP2,#7FH</p><p> MOVP0,#39H</p><p> JNBS1,SETC<
121、;/p><p> LJMPSETNAO</p><p><b> ;設(shè)置時(shí)間掃描</b></p><p> DISPLAYNEW:</p><p> MOVA,#0AH</p><p><b> MOV29H,A</b></p><p>
122、<b> MOV26H,A</b></p><p> MOVR0,#24H</p><p> MOVR3,#0FEH</p><p> PLAYNEW:</p><p><b> MOVA,R3</b></p><p><b> MOVP2
123、,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> LCALLDEL
124、AY1MS</p><p><b> INCR0</b></p><p><b> MOVA,R3</b></p><p> JNBACC.7,LOOP</p><p><b> RLA</b></p><p><b> MO
125、VR3,A</b></p><p> SJMPPLAYNEW</p><p> LOOP:RET</p><p><b> ;走時(shí)掃描</b></p><p><b> DISPLAY1:</b></p><p> MOVA,#0AH</
126、p><p><b> MOV29H,A</b></p><p><b> MOV26H,A</b></p><p> MOVR0,#24H</p><p> MOVR4,#0FEH</p><p> JNBP3.4,BAOHU</p><p
127、> LCALLDELAY5</p><p><b> PLAY:</b></p><p> JNBWARNING,LING</p><p> JNBP3.5,QINGLING </p><p><b> CPLP1.0</b></p><p>
128、<b> LJMPLING</b></p><p> LCALLDELAY10MS</p><p> LCALLDELAY10MS</p><p><b> QINGLING:</b></p><p> CLRWARNING</p><p><b&
129、gt; LING:</b></p><p> LCALLDELAY10MS</p><p> LCALLDELAY5MS</p><p> JNBP3.4,BAOHU</p><p><b> MOVA,R4</b></p><p><b> MOVP2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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īng)用單片機(jī)設(shè)計(jì)的電子鬧鐘的畢業(yè)論文
- 應(yīng)用單片機(jī)設(shè)計(jì)的電子鬧鐘的畢業(yè)論文終極版
- 畢業(yè)論文——應(yīng)用單片機(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ù)字鬧鐘設(shè)計(jì)【畢業(yè)論文】
- 畢業(yè)論文——單片機(jī)定時(shí)鬧鐘
- 應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)
- 單片機(jī)設(shè)計(jì)電子點(diǎn)餐系統(tǒng)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的電子鬧鐘的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----基于單片機(jī)電子鬧鐘設(shè)計(jì)
- 基于單片機(jī)定時(shí)鬧鐘畢業(yè)論文.doc
- 基于單片機(jī)設(shè)計(jì)的數(shù)字時(shí)鐘畢業(yè)論文
- 電子鬧鐘設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)設(shè)計(jì)的畢業(yè)論文--基于單片機(jī)的的智能晾衣系統(tǒng)設(shè)計(jì)
- 單片機(jī)的電子時(shí)鐘設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文基于單片機(jī)設(shè)計(jì)的最小系統(tǒng)
- 基于單片機(jī)的挖掘機(jī)設(shè)計(jì)-畢業(yè)論文
評(píng)論
0/150
提交評(píng)論