版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、定時(shí)鬧鐘設(shè)計(jì)摘要:本設(shè)計(jì)目的是利用單片機(jī)設(shè)計(jì)制作一個(gè)簡易的定時(shí)鬧鈴時(shí)鐘,可以放在宿舍或教室使用,在夜晚或黑暗的場合也可以使用。可以設(shè)置現(xiàn)在的時(shí)間以及鬧鈴的時(shí)間并且顯示出來,若時(shí)間到則發(fā)出一陣聲響。本次設(shè)計(jì)的定時(shí)鬧鐘在硬件方面就采用了AT89C52E片,用6位LEDR碼管進(jìn)行顯示。LED用P0口進(jìn)行驅(qū)動(dòng),采用的是動(dòng)態(tài)掃描顯示,能夠比較準(zhǔn)確顯示時(shí)時(shí)一分分秒秒。通過五個(gè)功能按鍵可以實(shí)現(xiàn)對時(shí)間的修改、定時(shí)和鬧鈴終止,鬧鐘設(shè)置的時(shí)問到時(shí)蜂鳴器可以發(fā)出聲響。在軟件方面用C51編程。整個(gè)定時(shí)鬧鐘系統(tǒng)能完成時(shí)間的顯示,調(diào)時(shí)和設(shè)置鬧鐘、停止響鈴等功能,并經(jīng)過系統(tǒng)仿真后得到了正確的結(jié)果。關(guān)鍵詞:定時(shí)鬧鐘;蜂鳴器;
2、AT89C52;74HC245;目錄第1章緒論設(shè)計(jì)目的本次課程設(shè)計(jì)的主題是定時(shí)鬧鐘,其基礎(chǔ)部分是一個(gè)數(shù)字鐘。電路系統(tǒng)由秒信號發(fā)生器、“時(shí)、分、秒”計(jì)數(shù)器、顯示器組成。其中秒信號產(chǎn)生器是整個(gè)系統(tǒng)的時(shí)基信號,它直接決定計(jì)時(shí)系統(tǒng)的精度,這里用51單片機(jī)的定時(shí)器來實(shí)現(xiàn)。利用定時(shí)器獲得每一秒的時(shí)刻,然后在程序中,我們就可以給秒進(jìn)行逐秒賦值,滿60秒則進(jìn)位為1分,滿60分則進(jìn)位為1小時(shí),滿24小時(shí)則時(shí)間重置實(shí)現(xiàn)一天24小時(shí)的循環(huán)。譯碼顯示電路將“時(shí)”、“分”、“秒”計(jì)數(shù)器的輸出狀態(tài)送到七段顯示譯碼器譯碼,通過一個(gè)六位八段數(shù)碼管顯示出來。這里利用51單片機(jī)的相關(guān)知識,來實(shí)現(xiàn)電子鬧鐘的相關(guān)功能。實(shí)驗(yàn)使用了AT
3、89C5274HC24野芯片,通過單片機(jī)的P0、P3管腳來驅(qū)動(dòng)數(shù)碼管顯示出相應(yīng)的時(shí)刻。本文將講述AT89C5274HC245I?芯片的基本功能原理,并重點(diǎn)介紹該電子鬧鐘的設(shè)計(jì)。設(shè)計(jì)要求和任務(wù)使用6位七段LED顯示器來顯示現(xiàn)在的時(shí)間;顯示格式為“時(shí)時(shí)分分秒秒”;具有4個(gè)按鍵來做功能設(shè)置,可以設(shè)置現(xiàn)在的時(shí)間及顯示鬧鈴設(shè)置時(shí)間;時(shí)間到則發(fā)出一陣聲響,可通過按鍵復(fù)位;對單片機(jī)系統(tǒng)設(shè)計(jì)的過程進(jìn)行總結(jié),認(rèn)真書寫課程設(shè)計(jì)報(bào)告并按時(shí)上交。利用51單片機(jī)結(jié)合七段LED顯示器設(shè)計(jì)一個(gè)簡易的定時(shí)鬧鈴時(shí)鐘,可以放在宿舍或教室使用,由于用七段LED顯示器顯示數(shù)據(jù),在夜晚或黑暗的場合也可以使用??梢栽O(shè)置現(xiàn)在的時(shí)間及顯示鬧
4、鈴設(shè)置時(shí)間,若時(shí)間到則發(fā)出一陣聲響。論文主要內(nèi)容論文分別敘述從硬件和軟件上實(shí)現(xiàn)該設(shè)計(jì)的過程。第2章為總體設(shè)計(jì)方案。第3章主要介紹設(shè)計(jì)實(shí)現(xiàn)需要解決的硬件問題。依次介紹所使用的各種硬件的使用方法,并附上仿真電路圖和文字說明。第4章從軟件的角度說明實(shí)現(xiàn)該設(shè)計(jì)需要解決的問題。第2章系統(tǒng)總體設(shè)計(jì)系統(tǒng)設(shè)計(jì)需求系統(tǒng)要求實(shí)現(xiàn)以下功能:1當(dāng)電源接通時(shí),系統(tǒng)能正確顯示當(dāng)前時(shí)間。2當(dāng)前時(shí)間與實(shí)時(shí)時(shí)間有誤差時(shí),可以通過鍵盤調(diào)整當(dāng)前時(shí)間。3系統(tǒng)允許進(jìn)行鬧鐘設(shè)置,開啟鬧鐘功能時(shí),當(dāng)設(shè)置的鬧鐘時(shí)間與當(dāng)前時(shí)間一致的時(shí)候,系統(tǒng)通過蜂鳴器發(fā)出警報(bào)聲并且可以通過按鍵停止。總體設(shè)計(jì)方案功能組成:本次設(shè)計(jì)中的計(jì)時(shí)功能很容易實(shí)現(xiàn),難點(diǎn)在
5、于時(shí)鐘功能和鬧鐘功能的切換和時(shí)間的設(shè)置。該電子鬧鐘設(shè)計(jì)對51單片機(jī)定時(shí)器0裝初值,使其初值對應(yīng)50ms定時(shí)器0的中斷次數(shù)達(dá)到20次就剛好為1s,當(dāng)秒部分計(jì)數(shù)到60時(shí)置零,并向分部分進(jìn)一;當(dāng)分部分計(jì)數(shù)到60時(shí)置零,并向時(shí)部分進(jìn)一,當(dāng)時(shí)部分計(jì)數(shù)到24時(shí)置零,從而滿足時(shí)鐘的正常工作。在設(shè)計(jì)過程中,我發(fā)現(xiàn)通過4個(gè)按鍵來完成一個(gè)鬧鐘的基礎(chǔ)功能雖然可以實(shí)現(xiàn),但是用戶用起來就會很麻煩,因?yàn)橛械逆I必須有多種功能和不同的觸發(fā)方式,我認(rèn)為可以增加少許按鍵來方便用戶快速了解到我們的鬧鐘是如何進(jìn)行控制的。所以本次設(shè)計(jì)設(shè)置5個(gè)鍵依次對其進(jìn)行“時(shí)間校準(zhǔn)”、“鬧鐘設(shè)置”、“秒分時(shí)切換/終止警報(bào)”、“加1按鈕”、“減1按鈕”
6、?!懊敕謺r(shí)切換/終止報(bào)警”鍵在調(diào)時(shí)狀態(tài)中,起時(shí)分秒切換的作用,在非調(diào)試狀態(tài)下,起鬧鐘終止的作用。當(dāng)用戶按下“時(shí)間校準(zhǔn)”的按鈕后,程序會關(guān)閉T0定時(shí)器,之后時(shí)鐘停止工作,此時(shí)數(shù)碼管會顯示當(dāng)前靜止的時(shí)間,說明已經(jīng)進(jìn)入時(shí)間校準(zhǔn)的界面了。在完成時(shí)間校準(zhǔn)后,打開T0定時(shí)器,時(shí)鐘會在設(shè)置好的時(shí)間上繼續(xù)工作走秒。當(dāng)用戶按下“鬧鐘設(shè)置”按鈕后,會將當(dāng)前時(shí)間復(fù)制出來提供給定時(shí)界面,注意此時(shí)我們的時(shí)鐘仍然在繼續(xù)工作,只是數(shù)碼管顯示的是定時(shí)模式的靜止時(shí)間。當(dāng)設(shè)置好后,此時(shí)用戶設(shè)置的時(shí)間只要沒有觸發(fā)過鬧鈴,再次按“鬧鐘設(shè)置”按鈕就能查看并修改,即鬧鐘會保存下用戶最后一次未被觸發(fā)的鬧鐘時(shí)間。當(dāng)正常工作的時(shí)鐘時(shí)刻到達(dá)了預(yù)
7、設(shè)的鬧鈴時(shí)刻,蜂鳴器發(fā)出警報(bào)聲,屏幕會閃爍并顯示當(dāng)前時(shí)間??紤]到用戶可能已經(jīng)被提醒而不想繼續(xù)被鬧鈴聲干擾,還提供了一個(gè)能夠終止鬧鈴的功能,此功能與“時(shí)分秒切換”功能共用同一按鍵,按下后時(shí)鐘繼續(xù)正常工作,且鬧鐘功能又可以重新設(shè)置。系統(tǒng)軟件本設(shè)計(jì)在Keil編程環(huán)境下,使用C語言進(jìn)行編程的編輯。編輯成功后,通過仿真軟件Proteus進(jìn)行仿真測試。系統(tǒng)硬件LED顯示屏X1主控芯片:AT89C52鬧鐘提示:蜂鳴器人機(jī)交互:按鍵X5晶振:12KHzX1排阻:RESPACK-81電容:10nfX2總線收發(fā)器:74HC245<2第3章系統(tǒng)硬件設(shè)計(jì)系統(tǒng)硬件模塊及功能系統(tǒng)硬件模塊主要分為以下幾個(gè)模塊:1主控
8、模塊:控制其他子模塊。2時(shí)鐘模塊:為系統(tǒng)提供實(shí)時(shí)時(shí)間。3顯示模塊:顯示系統(tǒng)時(shí)間信息。4按鍵模塊:用戶通過按鍵進(jìn)行人機(jī)交互,修改實(shí)時(shí)時(shí)間、設(shè)置鬧鐘時(shí)間和終止鬧鐘報(bào)警。5鬧鐘模塊:在所設(shè)鬧鐘時(shí)間發(fā)出警報(bào)聲。主控模塊主芯片AT89C52(1).AT89C52簡介AT89C52g一個(gè)低電壓,高性能CMOS8單片機(jī),片內(nèi)含8kbytes的可反復(fù)擦寫的Flash只讀程序存儲器和256bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM,器彳采用ATME公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,AT89C52II片機(jī)在電子行業(yè)中有著廣泛的應(yīng)用。AT89
9、C52t40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫口線,AT89C52<以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。AT89C52WPDIP、PQFP/TQFPtPLCC?三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。AT89C52圖工作原理AT89C5刻8位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52相同,其主要用于會聚調(diào)整時(shí)的功能控制。功能包括對會聚主IC內(nèi)部寄存器、數(shù)據(jù)
10、RAMR外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU!信等。主要管腳有:XTAL1(19腳)和XTAL2(18腳)為振蕩器輸入輸出端口,外接12MH磊振。RST/Vpd(9腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40腳)和VSS(20腳)為供電端口,分別接+5V電源的正負(fù)端。P0P3為可編程通用I/O腳,其功能用途由軟件定義,在本設(shè)計(jì)中,P0端口(3239腳)被定義為N1功能控制端口,分別與N1的相應(yīng)功能管腳相連接,13腳定義為IR輸入端,10腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(1
11、9腳)端口,12腳、27腳及28腳定義為握手信號功能端口,連接主板CPU勺相應(yīng)功能端,用于當(dāng)前制式的檢測及會聚調(diào)整狀態(tài)進(jìn)入的控制功能。P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對端口P0寫“1”時(shí),可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。P1口:P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(dòng)(吸收
12、或輸出電流)4個(gè)TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會輸出一個(gè)電流(IIL)。與AT89C51不同之處是,和還可分別作為定時(shí)/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(T2)和輸入(T2EX,Flash編程和程序校驗(yàn)期間,P1接收低8位地址。P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對端口P2寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會輸出一個(gè)電流
13、(IIL)。在訪問外部程序存儲器或16位地?cái)?shù)據(jù)存儲器(例如執(zhí)行MOVXDPTR)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX陪令)時(shí),P2口輸出P2鎖存器的內(nèi)容。Flash編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號。P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對P3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能P3口還接收一些用于Flash閃速存儲器編程和程序校
14、驗(yàn)的控制信號。RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時(shí)將跳過一個(gè)ALE脈沖。對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(PROGo如有必要,可通過對特殊功能寄存器(SFR區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX口MOV鑿令才能將ALE激活。止匕外,該引腳會被微弱拉
15、高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無效。PSEN:程序儲存允許(PSEN輸出是外部程序存儲器的讀選通信號,當(dāng)AT89C5的外部程序存儲器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSENt效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSENB號。EA/VPP:外部訪問允許。欲使CPK訪問外部程序存儲器(地址為0000H-FFFFH,EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPUTCJ執(zhí)行內(nèi)部程序存儲器中的指令。Flash存儲器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該
16、器件是使用12V編程電壓Vpp。XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。時(shí)鐘電路設(shè)計(jì)晶振可以在12MH之間任選,甚至可以達(dá)到24MHz但是頻率越高功耗也就越大。和晶振并聯(lián)的電容C1、C2的大小對振蕩頻率有微小影響,可以起到頻率微調(diào)作用。圖芯片電路中用74HC245E片充當(dāng)總線收發(fā)器,作用是放大信號,它具有典型的CMO型三態(tài)緩沖門電路。由于單片機(jī)或CPU勺數(shù)據(jù)/地址/控制總線端口都有一定的負(fù)載能力,如果負(fù)載超過其負(fù)載能力,一般應(yīng)加驅(qū)動(dòng)器。引腳定義:1引腳DIR:未輸入輸出端口轉(zhuǎn)換用,當(dāng)它為高電平“1”時(shí),信號由“A端口輸入“B'端口輸出
17、;當(dāng)它為低電平“0”時(shí),信號由“B”端口卒&入“A端口輸出。2-9引腳:“A”端口輸入輸出端,每個(gè)端口與“B”端口對應(yīng)。11-18弓I腳:“B”端口輸入輸出端,每個(gè)端口與“A”端口對應(yīng)。10引腳:GUD電源地。20引腳:VCC電源正極。74HC245:圖圖顯示模塊本次課程設(shè)計(jì)采用了6位數(shù)碼管顯示電路。在6位LED顯示時(shí),為了簡化電路,降低成本,采用動(dòng)態(tài)顯示的方式,?6個(gè)LED顯示器共用一個(gè)8位的I/O,?6位LED數(shù)碼管的位選線分別由相應(yīng)的P2.?0P2.?5控制,而將其相應(yīng)的段選線并聯(lián)在一起,由一個(gè)8位的I/O口控制,即P0口。譯碼顯示電路將“時(shí)”、“分”、“秒”計(jì)數(shù)器的輸出狀態(tài)經(jīng)七
18、段顯示譯碼器譯碼,通過6位LED七段顯示器顯示出來。到達(dá)定時(shí)電路時(shí)根據(jù)計(jì)時(shí)系統(tǒng)的輸出狀態(tài)產(chǎn)生脈沖信號,然后去觸發(fā)音頻發(fā)生器實(shí)現(xiàn)鬧鈴。校時(shí)電路時(shí)用來對“時(shí)”、“分”、“秒”顯示數(shù)字進(jìn)行校對調(diào)整的。LED仿真電路圖如圖:按鍵模塊圖按鍵模塊共設(shè)置了五個(gè)按鍵,功能分別如下:(1) .時(shí)間校準(zhǔn)鍵“CLOCK”:自鎖開關(guān),按下后進(jìn)入校準(zhǔn)設(shè)置,再次按下后退出。(2) .鬧鐘設(shè)置鍵"ALARMCLOCK”:自鎖開關(guān),按下后進(jìn)入鬧鐘設(shè)置,再次按下后退出。另外可供用戶對已經(jīng)設(shè)置的鬧鐘時(shí)間進(jìn)行查看或修改。(3) .秒分時(shí)切換/終止報(bào)警鍵"SWITCH/STOP":按鈕開關(guān),在按下“CL
19、OCK”或“ALARMCLOCK”鍵時(shí),為時(shí)分秒切換功能,默認(rèn)是“秒”,再次按下是“分”,然后是“時(shí)”之后是“秒”,以此類推。在“CLOCK”或“ALARMCLOCK”鍵未按下時(shí),為終止報(bào)警功能。(4) .時(shí)間增加鍵“+”:按鈕開關(guān),可以在進(jìn)入校準(zhǔn)設(shè)置和鬧鐘設(shè)置后,進(jìn)行加一操作。(5) .時(shí)間減少鍵“-":按鈕開關(guān),可以在進(jìn)入校準(zhǔn)設(shè)置和鬧鐘設(shè)置后,進(jìn)行減一操作。按鍵模塊仿真電路圖如圖:圖警報(bào)模塊鬧鈴指示設(shè)置有聲和光兩種形式。聲音形式的關(guān)鍵元件是蜂鳴器。蜂鳴器有無源和有源兩種,前者需要輸入聲音頻率信號才能正常發(fā)聲,后者則只需外加適當(dāng)直流電源電壓即可,本次設(shè)計(jì)我們使用的是后者。鬧鐘電路是
20、用比較器來比較計(jì)時(shí)系統(tǒng)和定時(shí)系統(tǒng)的輸出狀態(tài),如果計(jì)時(shí)系統(tǒng)和定時(shí)系統(tǒng)的輸出狀態(tài)相同,則發(fā)出一個(gè)脈沖信號,冉和一個(gè)高頻信號混合,送到放大電路驅(qū)動(dòng)揚(yáng)聲器發(fā)聲,從而實(shí)現(xiàn)定時(shí)鬧響的功能。蜂鳴器仿真電路圖如圖:圖第4章系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)概述該部分主要分為實(shí)時(shí)時(shí)鐘模塊、LED顯示模塊、鍵盤中斷模塊、鬧鐘模塊。實(shí)時(shí)時(shí)鐘部分主要包括實(shí)時(shí)時(shí)間的讀寫,時(shí)間的修改。LED顯示模塊主要包括顯示屏的初始化,顯示的命令字。鍵盤中斷模塊包括各鍵的定義和作用,按鍵的消抖,各按鍵跳轉(zhuǎn)的子程序分配。鬧鐘模塊包括鬧鐘時(shí)間的設(shè)置,以及對蜂鳴器啟動(dòng)和停止條件的設(shè)置和處理。主程序設(shè)計(jì)主程序包含三個(gè)部分。一是主函數(shù)部分,負(fù)責(zé)系統(tǒng)的初始
21、化操作;從中斷服務(wù)取得實(shí)時(shí)時(shí)間;判斷鬧鐘時(shí)間是否與實(shí)時(shí)時(shí)間相等并在相等時(shí)發(fā)出警報(bào)聲。第二部分是定時(shí)中斷部分,分兩種情況:負(fù)責(zé)處理從中斷服務(wù)獲得的時(shí)間數(shù)據(jù)并送至LED顯示緩沖顯示,或者顯示鬧鐘設(shè)置界面并顯示鬧鐘時(shí)間的設(shè)置過程。第三部分是外部中斷,主要定義5個(gè)按鍵的作用,分配每一個(gè)按鍵跳轉(zhuǎn)的子程序。第三部分負(fù)責(zé)時(shí)間和日期的修改,鬧鐘時(shí)間的設(shè)置,停止蜂鳴器鳴叫的功能。單片機(jī)的中斷系統(tǒng)斷系統(tǒng)在單片機(jī)應(yīng)用系統(tǒng)中起著十分重要的作用,是現(xiàn)代嵌入式控制系統(tǒng)廣泛采用的一種適時(shí)控制技術(shù),能對突發(fā)事件進(jìn)行及時(shí)處理,從而大大提高系統(tǒng)對外部事件的處理能力。正是有了中斷技術(shù),單片機(jī)才得以能夠普及。因此,中斷技術(shù)是單片機(jī)的
22、一項(xiàng)重要技術(shù),掌握中斷技術(shù)能開發(fā)出靈活、高效的單機(jī)片應(yīng)用系統(tǒng)。要讓單機(jī)片停止當(dāng)前的程序去執(zhí)行其他程序,需要向它發(fā)出請求信號,CPU接收到中斷請求信號后才能產(chǎn)生中斷。讓CPU產(chǎn)生中斷的信號稱為中斷源(又稱中斷請求源)。單片機(jī)提供5個(gè)中斷源,其中兩個(gè)為外部中斷請求源INTO()和INT1(),兩個(gè)片內(nèi)定時(shí)器/計(jì)數(shù)器T0和T1的溢出請求中斷源TF0和TF1,1個(gè)片內(nèi)用行口發(fā)送或接收中斷請求源T1和R1。單片機(jī)內(nèi)的CPUX作時(shí),如果一個(gè)中斷源向它發(fā)出中斷請求信號,它就會產(chǎn)生中斷。但是,如果同時(shí)有兩個(gè)中斷源發(fā)出中斷請求信號,CPU會優(yōu)先接收級別高的中斷請求源,然后再接收優(yōu)先級別低的中斷請求。表列出5個(gè)獨(dú)
23、立中斷請求源由其硬件結(jié)構(gòu)決定的自然優(yōu)先級排列順序。中斷源自然優(yōu)先級中斷入口地址中斷編p外部中斷INTO高低0003H0定時(shí)器TOOOOBH1外部中斷INT10013H2定時(shí)器T1001BH3用行口通信中斷R1或T10023H4表單片機(jī)中斷源的自然優(yōu)先級、入口地址及中斷編號對應(yīng)于單片機(jī)的5個(gè)獨(dú)立中斷源,應(yīng)有相應(yīng)的中斷服務(wù)程序。這些中斷服務(wù)程序有專門規(guī)定的存放位置,即表的中斷入口地址。當(dāng)有了中斷請求后,CPIM以根據(jù)入口地址迅速找到中斷服務(wù)程序并開始執(zhí)行,大大提高執(zhí)行效率。主程序主程序見附錄。第5章系統(tǒng)測試測試內(nèi)容1. 顯示部分2. 按鍵部分測試環(huán)境Proteus仿真模擬軟件。測試步驟測試環(huán)境的構(gòu)
24、建(1)在Proteus軟件中繪制好定時(shí)鬧鐘仿真模擬電路圖。(2) .將Keil編譯器生成的.hex文件載入AT89C52E片。圖載入.hex文件(3)在Proteus軟件中,點(diǎn)擊左下角的“play”按鈕啟動(dòng)定時(shí)鬧鐘。如下圖,“play”按鈕在第一個(gè)。圖仿真電路運(yùn)行控制按鈕測試內(nèi)容詳細(xì)測試內(nèi)容如下:定時(shí)鬧鐘是否能正確顯示時(shí)間;是否能正確顯示鬧鐘設(shè)置時(shí)的界面;是否能正確顯示時(shí)間調(diào)整時(shí)的界面。(1) .顯示時(shí)間點(diǎn)擊“play”圖1)經(jīng)測試,顯示結(jié)果達(dá)到預(yù)期要求。(2) .時(shí)間調(diào)整測試如果用戶發(fā)現(xiàn)時(shí)間運(yùn)行不對,要對時(shí)間進(jìn)行修改和調(diào)整,就需要進(jìn)入時(shí)間修改的界面。預(yù)期可以對時(shí)、分、秒進(jìn)行調(diào)整和修改。系統(tǒng)
25、能正確顯示時(shí)間修改的界面。用戶可以完成時(shí)間的修改。經(jīng)測試,該部分運(yùn)行正常。(3) .鬧鐘設(shè)置測試在系統(tǒng)能正確顯示時(shí)間之后,用戶若想設(shè)置鬧鐘,可以通過按鍵完成鬧鐘時(shí)間的設(shè)置。設(shè)置時(shí)間到后蜂鳴器報(bào)警,按下“STOP鍵后警報(bào)停止經(jīng)測試,該部分能正常運(yùn)行。結(jié)論:通過以上對仿真項(xiàng)目的全面測試,可知仿真部分運(yùn)行正常。測試結(jié)果通過以上測試,證明本設(shè)計(jì)基本實(shí)現(xiàn)系統(tǒng)所有要求,即能夠正確顯示時(shí)間信息,能夠?qū)Ξ?dāng)前時(shí)間進(jìn)行調(diào)整和修改,并且能夠設(shè)定鬧鐘并在所設(shè)置的鬧鐘時(shí)間發(fā)出警報(bào)聲,通過按鍵可以停止警報(bào)。結(jié)論該系統(tǒng)采用單機(jī)片AT89C52乍為核心芯片,結(jié)合一些其他外圍設(shè)備,一起構(gòu)成了一款能夠顯示時(shí)間并且能夠?qū)ζ溥M(jìn)行修改
26、和設(shè)置定時(shí)鬧鐘的定時(shí)鬧鐘系統(tǒng)。該系統(tǒng)采用數(shù)碼管顯示屏,能夠清晰顯示時(shí)間信息,并且能夠友好的引導(dǎo)用戶進(jìn)行時(shí)間的修改以及鬧鐘的設(shè)置??梢酝ㄟ^各個(gè)寄存地址對時(shí)間進(jìn)行讀寫操作,即讀取時(shí)間和修改時(shí)間。利用蜂鳴器為用戶提供鬧鈴功能,能夠在設(shè)定時(shí)間發(fā)出警報(bào)聲提醒用戶。采用按鍵較少的獨(dú)立式鍵盤供人機(jī)交互,操作簡單方便??梢酝ㄟ^鍵盤修改時(shí)間,也可以設(shè)置鬧鈴時(shí)間和修改鬧鈴時(shí)間,另外,在鬧鈴時(shí)間與系統(tǒng)時(shí)間一致,蜂鳴器鳴叫時(shí),可以通過按鍵中斷警報(bào)聲。總之,該定時(shí)鬧鐘系統(tǒng)完成了市場上一般鬧鐘應(yīng)有的功能,能夠顯示時(shí)間和設(shè)置鬧鐘,可以給用戶提供時(shí)間信息。該設(shè)計(jì)也存在一些缺點(diǎn),就是實(shí)際生產(chǎn)時(shí)投入資金會比市場上一般鬧鐘價(jià)格昂貴
27、,如果進(jìn)行包裝,價(jià)格還會上升一些。另外,外觀不如市場銷售的鬧鐘美觀。致謝衷心感謝雷俊紅老師的指導(dǎo)。參考文獻(xiàn)1李強(qiáng),51系列單片機(jī)應(yīng)用軟件編程技術(shù)M.北京:北京航空航天大學(xué)出版社,:134-138.2薛慧芳.MCS-51單機(jī)片用行口的一口多用J.南京化工大學(xué)學(xué)報(bào)(自然科學(xué)版),1998,S1:84-86.3 王東鋒,王會良,董冠強(qiáng).單機(jī)片C語言應(yīng)用100例M.北京:電子工業(yè)出版社,:218-219,148-152.4 樓然苗,李光飛.單片機(jī)課程設(shè)計(jì)指導(dǎo)(第2版)M.北京:北京航空航天大學(xué)出版社,:285-289.附錄:系統(tǒng)電路圖如下:系統(tǒng)電路圖系統(tǒng)程序如下:#include<>sbi
28、tbtnTime=P1A0;sbitbtnClock=P1A1;sbitbtnSwitch=P1A2;sbitbtnUp=P1A3;sbitbtnDown=P1A4;sbitpin1=P2A0;sbitpin2=P2A1;sbitpin3=P2A2;sbitpin4=P2A3;sbitpin5=P2A4;sbitpin6=P2A5;sbitpinBuz=P2A6;unsignedchartimer=0,sec,min,hour,count=0,s=60,m=60,h=24,flag=0;unsignedcharcodenumbers=0xc0,0xf9,0xa4,0xb0,0x99,0x92,
29、0x82,0xf8,0x80,0x90;voiddelayMs(unsignedintk)unsignedinti,j;for(i=k;i>0;i-)for(j=110;j>0;j-);voidtimeChange()sec+;if(sec=60)sec=0;min+;if(min=60)min=0;hour+;if(hour=24)hour=0;voidshowTime(unsignedcharzs,unsignedcharzm,unsignedcharzh)pin1=1;P0=numberszh/10;delayMs(5);pin1=0;pin2=1;P0=numberszh%
30、10&0x7f;delayMs(5);pin2=0;pin3=1;P0=numberszm/10;delayMs(5);pin3=0;pin4=1;P0=numberszm%10&0x7f;delayMs(5);pin4=0;pin5=1;P0=numberszs/10;delayMs(5);pin5=0;pin6=1;P0=numberszs%10;delayMs(5);pin6=0;voidsetTime()unsignedcharst,mt,ht;if(btnTime=0)delayMs(10);if(btnTime=0)st=sec,mt=min,ht=hour;TR0
31、=0;while(btnTime=0)showTime(st,mt,ht);if(btnSwitch=0)delayMs(10);if(btnSwitch=0)while(!btnSwitch);count+;if(count=3)count=0;if(btnUp=0)delayMs(10);if(btnUp=0)while(!btnUp);switch(count)case0:st+;if(st=60)st=0;break;case1:mt+;if(mt=60)mt=0;break;case2:ht+;if(ht=24)ht=0;break;default:;if(btnDown=0)delayMs(10);if(btnDown=0)while(!btnDown);switch(count)case0:if(st>0)st-;elsest=0;break;case1:if(mt>0)mt-;elsemt=0;break;case2:if(ht>0)ht-;elseht=0;break;default:;TR0=1;sec
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度餐飲行業(yè)智能點(diǎn)餐系統(tǒng)采購合同3篇
- 《勞務(wù)派遣合同》模板 3篇
- 2024年金融服務(wù)與投資理財(cái)咨詢合同
- 2024年酒水銷售合同
- 2024建筑勞務(wù)分包合同范本
- 2024年版簡單家用電器買賣合同
- 2024年股權(quán)轉(zhuǎn)讓協(xié)議(限售股權(quán))
- 2024年股權(quán)轉(zhuǎn)讓預(yù)合同范本版B版
- 2024社保代繳業(yè)務(wù)合作協(xié)議范本3篇
- 2024年校園空氣凈化新風(fēng)系統(tǒng)采購與租賃合同范本3篇
- 食品研發(fā)調(diào)研報(bào)告范文
- 2024-2030年國家甲級資質(zhì):中國干熱巖型地?zé)豳Y源融資商業(yè)計(jì)劃書
- 2024-2030年中國MVR蒸汽機(jī)械行業(yè)競爭格局及投資發(fā)展前景分析報(bào)告
- 【MOOC】人因工程學(xué)-東北大學(xué) 中國大學(xué)慕課MOOC答案
- 食材配送服務(wù)方案投標(biāo)文件(技術(shù)方案)
- 高中政治統(tǒng)編版選擇性必修二《法律與生活》綜合測試卷(一)(原卷版)
- 帶狀皰疹后神經(jīng)痛的診治課件教案
- 淺談風(fēng)電機(jī)組偏航制動(dòng)器故障原因及案例分析
- 急性胰腺炎護(hù)理查房-5
- 2024-2025部編版語文一年級上冊語文園地八
- 門窗幕墻密封條培訓(xùn)
評論
0/150
提交評論