基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)_第1頁(yè)
基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)_第2頁(yè)
基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)_第3頁(yè)
基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)_第4頁(yè)
基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(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)介

基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第1頁(yè)。摘要:本設(shè)計(jì)是單片機(jī)定時(shí)鬧鐘系統(tǒng),不僅能實(shí)現(xiàn)系統(tǒng)要求的功能,而且還有附加功能,即還能設(shè)定和修改當(dāng)前所顯示的時(shí)間。

本次設(shè)計(jì)的定時(shí)鬧鐘在硬件方面就采用了AT89C51芯片,用6位LED數(shù)碼管來(lái)進(jìn)行顯示。LED用P0口進(jìn)行驅(qū)動(dòng),采用的是動(dòng)態(tài)掃描顯示,能夠比較準(zhǔn)確顯示時(shí)時(shí)—分分—秒秒。通過(guò)S1、S2、S3、和S4四個(gè)功能按鍵可以實(shí)現(xiàn)對(duì)時(shí)間的修改和定時(shí),定時(shí)時(shí)間到喇叭可以發(fā)出報(bào)警聲。在軟件方面采用匯編語(yǔ)言編程。整個(gè)定時(shí)鬧鐘系統(tǒng)能完成時(shí)間的顯示,調(diào)時(shí)和定時(shí)鬧鐘、復(fù)位等功能,并經(jīng)過(guò)系統(tǒng)仿真后得到了正確的結(jié)果。基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第1頁(yè)。關(guān)鍵詞:?jiǎn)纹瑱C(jī)、AT89C51、定時(shí)鬧鐘、仿真

Abstract:Thisdesignisasingle-chiptimingalarmsystem,cannotonlyrealizethefunctionofsystemrequirements,andthereareadditionalfunctions,whichcansetupandmodifythedisplaytime.TimingalarmclockthisdesignadoptstheAT89C51chiponthehardwareside,with6LEDdigitaltubetodisplay.LEDP0exportdriven,byusingdynamicscanningdisplay,canaccuratelydisplayalways-sub-secondsseconds.ThroughtheS1,S2,S3,andS4fourfunctionkeyscanbeachievedonthetimechangesandtiming,timingtothehorncansendoutalarmsound.Usingassemblylanguageprogramminginthesoftware.Thetimingclocksystemhasfunctionsoftimedisplay,timingandtimingalarmclock,resetandotherfunctions,andthesystemsimulationtoobtaincorrectresults.Keywords:singlechipmicrocomputer,AT89C51,alarmclock,simulatioPAGE2基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第2頁(yè)?;贏T89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第2頁(yè)。目錄TOC\o"1-4"\h\z\u1緒論 21.1課題背景及研究意義 21.2國(guó)內(nèi)外現(xiàn)狀 21.3課題的設(shè)計(jì)目的 21.4課題的主要任務(wù) 21.5課題的主要功能 22系統(tǒng)概述 32.1方案論證 32.2系統(tǒng)設(shè)計(jì)原理 33系統(tǒng)硬件設(shè)計(jì) 43.1單片機(jī)AT89C51簡(jiǎn)介 43.2數(shù)碼管顯示電路 63.3時(shí)鐘電路 73.4喇叭:SPEAKER 84系統(tǒng)軟件設(shè)計(jì) 84.1系統(tǒng)軟件設(shè)計(jì)說(shuō)明 84.2程序調(diào)試 84.3程序流程圖 94.3仿真步驟 104.4仿真結(jié)果 10結(jié)論 12參考文獻(xiàn) 13附錄A系統(tǒng)整體電路 14附錄B全部程序清單 14附錄C:PCB圖和3D圖 23基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第3頁(yè)。1緒論基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第3頁(yè)。1.1課題背景及研究意義進(jìn)入信息時(shí)代,計(jì)算機(jī)的影子無(wú)處不在,帶有像單片機(jī)一類(lèi)嵌入式處理器的小型智能化電子產(chǎn)品,已經(jīng)成為家用電器的主流,市場(chǎng)需求前景廣闊,因此,掌握小型單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)方法,已成為當(dāng)今電子應(yīng)用工程師所必備的技能,定時(shí)鬧鐘具備小型單片機(jī)應(yīng)用系統(tǒng)的一切要素,其結(jié)構(gòu)簡(jiǎn)單、成本低廉、走時(shí)精確、設(shè)置方便,所以智能化方面有廣泛的用途。1.2國(guó)內(nèi)外現(xiàn)狀單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。同時(shí)集成諸如通訊接口、定時(shí)器,實(shí)時(shí)時(shí)鐘等外圍設(shè)備。而現(xiàn)在最強(qiáng)大的單片機(jī)系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片。在單片機(jī)(Microcontroller)出現(xiàn)后,計(jì)算機(jī)才真正地從科學(xué)的神圣殿堂走入尋常百姓家,成為廣大工程技術(shù)人員現(xiàn)代化技術(shù)革新,技術(shù)革命的有利武器。目前,單片機(jī)在民用和工業(yè)測(cè)控領(lǐng)域得到最廣泛的應(yīng)用。彩電,冰箱,空調(diào),錄像機(jī),VCD,鬧鐘,遙控器,游戲機(jī),電飯煲等無(wú)處不見(jiàn)單片機(jī)的影子,單片機(jī)早已深深地溶入我們每個(gè)人的生活之中。單片機(jī)能大大地提高這些產(chǎn)品的智能性,易用性及節(jié)能性等主要性能指標(biāo),給我們的生活帶來(lái)舒適和方便的同時(shí),在工農(nóng)業(yè)生產(chǎn)上也極大地提高了生產(chǎn)效率和產(chǎn)品質(zhì)量。1.3課題的設(shè)計(jì)目的本設(shè)計(jì)是一個(gè)定時(shí)鬧鐘,它僅使用單片的20引腳單片機(jī)完成鬧鐘的全部功能。設(shè)計(jì)目的是為了學(xué)習(xí)和鞏固單片機(jī)知識(shí),使對(duì)已學(xué)過(guò)的基礎(chǔ)知識(shí)能有更深入的理解,學(xué)會(huì)獨(dú)立思考、獨(dú)立思考、獨(dú)立工作,以及提高對(duì)所學(xué)應(yīng)用基本理論分析和解決實(shí)際問(wèn)題的能力。1.4課題的主要任務(wù)本文設(shè)計(jì)的定時(shí)鬧鐘采用AT89C51芯片,用匯編語(yǔ)言進(jìn)行編程,時(shí)、分、秒用6位LED數(shù)碼管顯示。在電路中通過(guò)四個(gè)按鍵S1、S2、S3和S4來(lái)進(jìn)行定時(shí)時(shí)間和定時(shí)鬧鐘,定時(shí)時(shí)間到通過(guò)喇叭發(fā)出報(bào)警聲。1.5課題的主要功能1)能顯示:時(shí)時(shí)—分分—秒秒。2)能夠設(shè)定定時(shí)時(shí)間、修改定時(shí)時(shí)間?;贏T89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第4頁(yè)。3)定時(shí)時(shí)間到能發(fā)出報(bào)警聲?;贏T89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第4頁(yè)。設(shè)計(jì)的部分分為軟件及硬件,軟件部分寫(xiě)出鬧鐘的工作方式以及它是如何工作的,而硬件部分是軟件的載體,畫(huà)出正確的電路圖然后在軟件的控制下才能使設(shè)計(jì)的定時(shí)鬧鐘正常工作。2系統(tǒng)概述2.1方案論證顯示器的選擇方案論證:方案一:液晶顯示器。如果選擇此方案,將會(huì)降低系統(tǒng)的功耗,這樣就可以用電池供電,便于攜帶。但液晶顯示器的驅(qū)動(dòng)電路復(fù)雜,使用起來(lái)有一定的難度。

方案二:用數(shù)碼管作為顯示器。數(shù)碼管的驅(qū)動(dòng)電路簡(jiǎn)單,使用方便,如果選擇了此方案,那么在夜間看時(shí)間的時(shí)候就不需要有光源,非常方便。其缺點(diǎn)是功耗較大。由于數(shù)碼管使用起來(lái)較為方便,在夜間看時(shí)間也很方便,因此我選擇了方案二。2.2系統(tǒng)設(shè)計(jì)原理本設(shè)計(jì)使用的是單片機(jī)作為核心的控制元件,使得電路的可靠性比較高,功能也比較強(qiáng)大,而且可以隨時(shí)的更新系統(tǒng),進(jìn)行不同狀態(tài)的組合。本系統(tǒng)采用單片機(jī)AT89C51作為本設(shè)計(jì)的核心元件,利用6位共陰數(shù)碼管作為顯示器件。接入共陰LED顯示器,可顯示時(shí),分鐘,秒,單片機(jī)外圍接有定時(shí)報(bào)警系統(tǒng),時(shí)間的定時(shí)用時(shí)鐘電路,修改時(shí)間和定時(shí)用手動(dòng)按鍵控制,報(bào)警聲通過(guò)喇叭發(fā)出。提示預(yù)先設(shè)定時(shí)間電器的起停時(shí)間到,從而控制電器的起停。電路由下列部分組成:時(shí)鐘電路、復(fù)位電路、控制電路、LED顯示,報(bào)警電路,芯片選用AT89C51單片機(jī)。系統(tǒng)框圖如圖2-1所示:晶振及復(fù)位晶振及復(fù)位單片機(jī)AT89C51RESPACK-8 7SEG-MPX6-CC-BLUE7SEG-MPX6-CC-BLUE數(shù)碼管顯示鍵盤(pán)(按鈕)鍵盤(pán)(按鈕)SPEAKER喇叭SPEAKER喇叭圖2-1系統(tǒng)框圖基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第5頁(yè)。3系統(tǒng)硬件設(shè)計(jì)基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第5頁(yè)。3.1單片機(jī)AT89C51簡(jiǎn)介AT89C51是一個(gè)低電壓,高性能CMOS型8位單片機(jī),片內(nèi)含4KB的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器(ROM)和128B的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,內(nèi)置功能強(qiáng)大的微型計(jì)算機(jī)的AT89C51為用戶(hù)提供了許多高性?xún)r(jià)比應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。AT89C51是一個(gè)低功耗高性能單片機(jī),40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,AT89C51可以按照常規(guī)方法進(jìn)行編程,也可以在線(xiàn)編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。主要特性:·與MCS-51兼容

·4K字節(jié)可編程閃爍存儲(chǔ)器

·壽命:1000寫(xiě)/擦循環(huán)

·數(shù)據(jù)保留時(shí)間:10年

·全靜態(tài)工作:0Hz-24Hz

·三級(jí)程序存儲(chǔ)器鎖定

·128×8位內(nèi)部RAM

·32可編程I/O線(xiàn)

·兩個(gè)16位定時(shí)器/計(jì)數(shù)器

·5個(gè)中斷源

·可編程串行通道

·低功耗的閑置和掉電模式

·片內(nèi)振蕩器和時(shí)鐘電路引腳使用說(shuō)明:VCC:供電電壓。

GND:接地。

P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第6頁(yè)。為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)?;贏T89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第6頁(yè)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。

P3口也可作為AT89C51的一些特殊功能口,如下所示:管腳……備選功能:P3.0……RXD(串行輸入口)P3.1……TXD(串行輸出口)P3.2……/INT0(外部中斷0)P3.3……/INT1(外部中斷1)P3.4……T0(記時(shí)器0外部輸入)P3.5……T1(記時(shí)器1外部輸入)P3.6……/WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7……/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。ST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度.基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第7頁(yè)。圖2是單片機(jī)AT89C51的引腳圖:基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第7頁(yè)。圖3-1單片機(jī)AT89C51引腳圖3.2數(shù)碼管顯示電路單片機(jī)中通常使用7段LED,LED是發(fā)光二極管顯示器的縮寫(xiě)。LED顯示器由于結(jié)構(gòu)簡(jiǎn)單,價(jià)格便宜,體積小,亮度高,電壓低,可靠性高,壽命長(zhǎng),響應(yīng)速度快,配置靈活,與單片機(jī)接口方便而得到廣泛應(yīng)用。LED顯示器是由若干個(gè)發(fā)光二極管組成顯示字段的顯示部件,當(dāng)發(fā)光二極管導(dǎo)通時(shí),相應(yīng)的一個(gè)點(diǎn)或一個(gè)筆劃發(fā)光,控制不同組合的二極管導(dǎo)通,就能顯示出各種字符。LED顯示器有多種形式,如:“米”字型顯示器,點(diǎn)陣顯示器和七段數(shù)碼顯示器等,在單片機(jī)系統(tǒng)中使用最多的是七段數(shù)碼顯示器。本系統(tǒng)利用7SEG-MPX6-CC-BLUE數(shù)字顯示器,7SEG-MPX6-CC-BLUE數(shù)字顯示器的1-6引腳連接AT89C51單片機(jī)P2.0–P2.5接口,其他8個(gè)引腳分別與AT89C51單片機(jī)的P0.0-P0.7和共陽(yáng)極管RESPACK-8排阻的2-9引腳分別連接。因?yàn)楣碴帢O的LED數(shù)碼管它的驅(qū)動(dòng)電流是分開(kāi)的,在單片機(jī)進(jìn)行動(dòng)態(tài)掃描的時(shí)候不會(huì)影響彼此的電流,故該系統(tǒng)中的6位LED數(shù)碼管均用共陰極的數(shù)碼管。6位數(shù)碼管的引腳圖如圖3-2所示:基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第8頁(yè)?;贏T89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第8頁(yè)。圖3-26位數(shù)碼管的引腳3.3時(shí)鐘電路單片機(jī)的時(shí)鐘產(chǎn)生方法有兩種:內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。本系統(tǒng)中AT89C51單片機(jī)采用內(nèi)部時(shí)鐘方式。最常用的內(nèi)部時(shí)鐘方式是采用外接晶體和電容組成的并聯(lián)諧振回路。振蕩晶體可在1.2MHz~12MHz之間。電容值無(wú)嚴(yán)格要求,但電容取值對(duì)振蕩頻率輸出的穩(wěn)定性、大小和振蕩電路起振速度有少許影響,一般可在20pF~100pF之間取值。AT98C51單片機(jī)的時(shí)鐘電路。如圖3-3所示:圖3-3時(shí)鐘電路圖上拉電阻:RESPACK-8控制按鍵:BUTTONACTIVESPSTPushButton本系統(tǒng)要進(jìn)行時(shí)間的調(diào)整和定時(shí),因此用4個(gè)手動(dòng)按鍵對(duì)其進(jìn)行控制?;贏T89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第9頁(yè)。3.4喇叭:SPEAKER基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第9頁(yè)。由P3.7口控制喇叭,使其定時(shí)時(shí)間到能發(fā)出報(bào)警聲。如圖3-4所示:圖3-4喇叭引腳圖4系統(tǒng)軟件設(shè)計(jì)4.1系統(tǒng)軟件設(shè)計(jì)說(shuō)明該系統(tǒng)軟件程序主要有主程序模塊,定時(shí)中斷服務(wù)程序,中斷等待服務(wù)程序,鍵盤(pán)服務(wù)程序,顯示子程序服務(wù)程序等六大模塊組成。在AT89C51外圍的一個(gè)17管腳即P3.7管口上加喇叭器,通過(guò)軟件與硬件的結(jié)合可實(shí)現(xiàn)定時(shí)報(bào)警功能。圖中按鍵從上往下設(shè)定為S1,S2,S3,S4,S1與p1.4相連,S2與p1.3相連,S3與p1.2相連,S4與p1.1相連。當(dāng)需要設(shè)定當(dāng)前時(shí)間時(shí),按一下S4鍵,進(jìn)入時(shí)間設(shè)定狀態(tài),按一下S2,分鐘加1;按一下S3,小時(shí)加1。如此反復(fù)來(lái)設(shè)定當(dāng)前時(shí)間。調(diào)好時(shí)間后按S1退出當(dāng)前時(shí)間設(shè)定狀態(tài);當(dāng)要設(shè)定定時(shí)時(shí)間時(shí),按下S3,進(jìn)入定時(shí)時(shí)間設(shè)定狀態(tài),按一下S2,小時(shí)加1;按一下S4,分鐘加1。如此反復(fù)來(lái)設(shè)定要設(shè)定的定時(shí)時(shí)間。設(shè)好后,按下S1退出定時(shí)時(shí)間設(shè)定狀態(tài)。4.2程序調(diào)試1)將程序輸入到偉福的環(huán)境下;2)用單步運(yùn)行和斷點(diǎn)運(yùn)行方式調(diào)試程序;3)調(diào)試T0中斷服務(wù)程序,首先在記數(shù)單元39H、3AH、3BH、3CH單元中預(yù)置數(shù),調(diào)試秒單元向分單元進(jìn)位及分單元向時(shí)單元的進(jìn)位,最后將T0中斷服務(wù)程序統(tǒng)調(diào)通過(guò);4)在39H、3AH、3BH、3CH單元中預(yù)置數(shù),調(diào)試顯示程序;5)調(diào)試主程序,使鬧鐘走時(shí)系統(tǒng)工作正常。 基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第10頁(yè)。4.3程序流程圖基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第10頁(yè)。本設(shè)計(jì)程序流程圖如4-1所示:判斷鬧鐘時(shí)間到否程序判斷鬧鐘時(shí)間到否程序初始化調(diào)用顯示程序開(kāi)始P1.1是否按下?調(diào)用時(shí)間設(shè)定程序P1.2是否按下?Y調(diào)用鬧鐘時(shí)間設(shè)定程序NNY圖4-1程序流程圖基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第11頁(yè)。4.3仿真步驟基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第11頁(yè)。第一步:用偉褔軟件對(duì)程序進(jìn)行編譯,編譯通過(guò)后,會(huì)自動(dòng)生成HEX文件。第二步:在Proteus的元件庫(kù)中找到AT89C51以及相應(yīng)的元件,按照硬件設(shè)計(jì)中的說(shuō)明把各部件連接起來(lái)組成一個(gè)定時(shí)鬧鐘的硬件系統(tǒng)。第三步:把在偉福環(huán)境調(diào)試下生成的.HEX文件裝入到AT89C51里,點(diǎn)擊運(yùn)行符號(hào)就可以使軟硬件的配套設(shè)施在Proteus的環(huán)境下仿真實(shí)現(xiàn)。第四步:驗(yàn)證系統(tǒng)能否實(shí)現(xiàn)所要求的功能,并檢驗(yàn)錯(cuò)誤。4.4仿真結(jié)果通過(guò)S1、S2、S3和S4四個(gè)按鍵,對(duì)時(shí)間進(jìn)行修改和鬧鐘的設(shè)置。定時(shí)時(shí)間到能發(fā)出報(bào)警聲,使用偉福軟件編輯程序然后進(jìn)行proteus進(jìn)行仿真,其仿真圖如下:開(kāi)始仿真時(shí),顯示如圖4-2所示:圖4-2(1)設(shè)定當(dāng)前時(shí)間當(dāng)需要設(shè)定當(dāng)前時(shí)間時(shí),按一下S4鍵,進(jìn)入時(shí)間設(shè)定狀態(tài),按一下S2,分鐘加1;按一下S3,小時(shí)加1。如此反復(fù)來(lái)設(shè)定當(dāng)前時(shí)間。調(diào)好時(shí)間后按S1退出當(dāng)前時(shí)間設(shè)定狀態(tài)。先按S4,再按S2時(shí),如圖4-3所示:基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第12頁(yè)。基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第12頁(yè)。圖4-3先按S4,再按S2,再按S3時(shí),如圖4-4所示:圖4-4如圖4-5:設(shè)定當(dāng)前時(shí)間是01:02:15圖4-5(2)設(shè)定定時(shí)時(shí)間基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第13頁(yè)。當(dāng)要設(shè)定定時(shí)時(shí)間時(shí),按下S3,進(jìn)入定時(shí)時(shí)間設(shè)定狀態(tài),按一下S2,小時(shí)加1;按一下S4,分鐘加1。如此反復(fù)來(lái)設(shè)定要設(shè)定的定時(shí)時(shí)間。設(shè)好后,按下S1退出定時(shí)時(shí)間設(shè)定狀態(tài)?;贏T89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第13頁(yè)。如圖4-6所示圖:設(shè)定定時(shí)時(shí)間為01:06圖4-6如圖4-7所示當(dāng)?shù)竭_(dá)時(shí)間01:06時(shí),喇叭發(fā)出報(bào)警聲。圖4-7結(jié)論通過(guò)這次設(shè)計(jì)讓我更深入了解在設(shè)計(jì)程序之前,務(wù)必要對(duì)所學(xué)單片機(jī)課程的內(nèi)容有一個(gè)系統(tǒng)的了解,知道單片機(jī)片內(nèi)片外的內(nèi)容及其功能。設(shè)計(jì)程序采用什么編程語(yǔ)言并不是非常重要,關(guān)鍵要有一個(gè)清晰的思路和一個(gè)完整的軟件流程圖。在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,"反復(fù)修改,不斷改進(jìn)"是程序設(shè)計(jì)的必經(jīng)之路。程序剛開(kāi)始編好時(shí),一般情況下會(huì)存在很多錯(cuò)誤,要不斷地修基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第14頁(yè)。改,不斷的改進(jìn)才能達(dá)到預(yù)期的目的,編寫(xiě)程序的時(shí)間并不是很長(zhǎng),主要是修改程序會(huì)花很多時(shí)間??傊?,通過(guò)這次設(shè)計(jì)讓我更深入了解單片機(jī)基本電路、如何控制和定時(shí)器和中斷編程的基本方法,從而鍛煉了我學(xué)習(xí)、設(shè)計(jì)和開(kāi)發(fā)軟、硬件的能力。并且使我鞏固了本課程所學(xué)的基本知識(shí),還使我具有了撰寫(xiě)設(shè)計(jì)報(bào)告的初步訓(xùn)練能力,我相信這些能力在我以后的工作或者是再學(xué)習(xí)中一定會(huì)起到不小的作用,看到自己幾周的小成果,感覺(jué)一切的辛苦和艱難都是值得的?;贏T89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第14頁(yè)。參考文獻(xiàn)[1].余發(fā)山主編,單片機(jī)原理及應(yīng)用技術(shù),中國(guó)礦業(yè)大學(xué)出版社2003.12[2]康華光.數(shù)字電子技術(shù).北京:高等教育出版社,2003[3]吳金戌.8051單片機(jī)實(shí)踐與應(yīng)用.北京:

清華大學(xué)出版社,2003[4]樓然苗.51系列單片機(jī)設(shè)計(jì)實(shí)例.北京:

北京航空航天出版社,2004[5]黃仁欣.單片機(jī)原理及應(yīng)用技術(shù).

北京:清華大學(xué)出版社,2005[6]何立民.單片機(jī)高級(jí)教程.第1版.北京:北京航空航天大學(xué)出版社,2001[7]趙曉安.MCS-51單片機(jī)原理及應(yīng)用.天津:天津大學(xué)出版社,2001.3[8]夏繼強(qiáng).單片機(jī)實(shí)驗(yàn)與實(shí)踐教程.北京:北京航空航天大學(xué)出版社,2001[9]凌玉華,單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì)[M],長(zhǎng)沙:中南大學(xué)出版社,2006[10]李全利、遲榮強(qiáng),單片機(jī)原理及接口技術(shù)[M],北京:高等教育出版社,2004[11]胡漢才,單片機(jī)原理及應(yīng)用[M],北京:清華大學(xué)出版社,2004[12]凌陽(yáng)科技。凌陽(yáng)16位單片機(jī)開(kāi)發(fā)實(shí)例。北京航空航天大學(xué)出版社。2006年

[13]

徐江海。單片機(jī)實(shí)用教程。機(jī)械工業(yè)出版社。2007年[14]余發(fā)山編著.單片機(jī)原理及應(yīng)用技術(shù).中國(guó)礦業(yè)大學(xué)出版社,2003[15]陳建澤編著。MCS-51單片機(jī)應(yīng)用設(shè)計(jì).哈爾濱工業(yè)大學(xué)出版社,2006基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第15頁(yè)。附錄A系統(tǒng)整體電路基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第15頁(yè)。系統(tǒng)電路圖附錄B全部程序清單ORG0000H LJMPMAIN ORG000BH LJMPTIME;×××××主程序部分:××××× ORG0100H MAIN:MOVSP,#50HMOV20H,#00H;秒鐘BIN MOV21H,#00H;分鐘BIN MOV22H,#00H;小時(shí)BIN MOV23H,#01H MOV24H,#01H基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第16頁(yè)。 MOV25H,#00H基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第16頁(yè)。 MOV30H,#00H MOV31H,#00H MOV32H,#00H MOV33H,#00H MOV34H,#00H MOV35H,#00H MOV36H,#01H MOV37H,#00H MOV38H,#01H MOV39H,#00H MOVTMOD,#01H;16位計(jì)數(shù)器 MOVTH0,#03CH;賦計(jì)數(shù)初值 MOVTL0,#0B0H MOVIE,#10000111B SETBTR0;T0啟動(dòng)計(jì)數(shù)MOVR2,#14HMOVP2,#0FFHLOOP:LCALLTIMEPRO LCALLDISPLAY1 JBP1.1,M1 LCALLSETTIME;調(diào)用設(shè)定時(shí)間程序 LJMPLOOPM1:JBP1.2,M2 LCALLSETATIME;調(diào)用設(shè)定時(shí)間程序 LJMPLOOP M2:JBP1.4,M4 LCALLLOOKATIME;調(diào)用設(shè)定鬧鐘時(shí)間程序M4:LJMPLOOPDELAY:MOVR4,#030H;延時(shí)時(shí)間DL00:MOVR5,#0FFHDL11:MOVR6,#9HDL12:DJNZR6,DL12 DJNZR5,DL11 DJNZR4,DL00 RET;×××××設(shè)定時(shí)間程序:×××××SETTIME:基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第17頁(yè)?;贏T89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第17頁(yè)。L0:LCALLDISPLAY1;調(diào)用時(shí)間允許程序MM1:JBP1.2,L1 MOVC,P1.2 JCMM1 LCALLDELAY1;調(diào)用延時(shí) JCMM1MSTOP1:MOVC,P1.2 JNCMSTOP1;判斷P1.2是否釋放?釋放則繼續(xù) LCALLDELAY1;調(diào)用延時(shí) MOVC,P1.2 JNCMSTOP1 INC22H;小時(shí)增加1 MOVA,22H CJNEA,#18H,GO12;判斷小時(shí)是否到24時(shí)?未到繼續(xù)循環(huán) MOV22H,#00H;小時(shí)復(fù)位 MOV34H,#00H MOV35H,#00H LJMPL0 L1:JBP1.3,L2 MOVC,P1.3 JCL1 LCALLDELAY1;延時(shí) JCL1 MSTOP2:MOVC,P1.3 JNCMSTOP2;判斷P1.3是否釋放?釋放則繼續(xù) LCALLDELAY1;調(diào)用延時(shí) MOVC,P1.3 JNCMSTOP2 INC21H;分鐘增加一 MOVA,21H CJNEA,#3CH,GO11 MOV21H,#00H;分鐘復(fù)位 MOV32H,#00H MOV33H,#00H LJMPL0 GO11:MOVB,#0AH;將A中的內(nèi)容分成高低兩部分 DIVAB基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第18頁(yè)。 MOV32H,B基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第18頁(yè)。 MOV33H,A LJMPL0 GO12:MOVB,#0AH DIVAB MOV34H,B MOV35H,A LJMPL0 L2:JBP1.4,L0 MOVC,P1.4 JCL2 LCALLDELAY1;調(diào)用延時(shí) MOVC,P1.4 JCL2 STOP1:MOVC,P1.4;判斷按鍵P1.4是否釋放? JNCSTOP1 LCALLDELAY1;調(diào)用延時(shí) MOVC,P1.4 JNCSTOP1 LJMPLOOP ;×××××設(shè)置鬧鐘時(shí)間××××× SETATIME:LCALLDISPLAY2;調(diào)用時(shí)間運(yùn)行 N0:LCALLDISPLAY2 MM2:JBP1.3,N1;判斷P1.3是否按下? MOVC,P1.3 JCMM2 LCALLDELAY1 JCMM2 MSTOP3:MOVC,P1.3;判斷P1.3是否釋放? JNCMSTOP3 LCALLDELAY1 MOVC,P1.3 JNCMSTOP3 INC24H;設(shè)定小時(shí)增加1基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第19頁(yè)。 MOVA,24H基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第19頁(yè)。 CJNEA,#24,GO22 MOV24H,#00H;時(shí)鐘復(fù)位 MOV38H,#00H MOV39H,#00H LJMPN0 N1:JBP1.1,N2;判斷P1.1是否按下? MOVC,P1.1 JCN1 LCALLDELAY1 JCN1 MSTOP4:MOVC,P1.1;判斷P1.1是否釋放? JNCMSTOP4 LCALLDELAY1 MOVC,P1.1 JNCMSTOP4 INC23H;設(shè)定鬧鐘分鐘增加1 MOVA,23H CJNEA,#60,GO21;判斷A是否到60分? MOV23H,#00H;分鐘復(fù)位 MOV36H,#00H MOV37H,#00H LJMPN0 GO21:MOVB,#0AH;將A中的內(nèi)容分成高低兩部分 DIVAB MOV36H,B MOV37H,A LJMPN0 GO22:MOVB,#0AH DIVAB MOV38H,B MOV39H,A LJMPN0 N2:JBP1.4,N0;判斷P1.4是否按下? MOVC,P1.4 JCN2基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第20頁(yè)。 LCALLDELAY1基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第20頁(yè)。 MOVC,P1.4 JCN2 STOP2:MOVC,P1.4;判斷P1.4是否釋放? JNCSTOP2 LCALLDELAY1 MOVC,P1.4 JNCSTOP2 LJMPLOOP TIMEPRO:MOVA,21H MOVB,23H CJNEA,B,BK;判斷分鐘是否運(yùn)行到設(shè)定的鬧鐘的分鐘? MOVA,22H MOVB,24H CJNEA,B,BK;判斷時(shí)鐘是否運(yùn)行到設(shè)定的鬧鐘的時(shí)鐘? SETB25H.0 MOVC,25H.0 JCXX XX:LCALLTIMEOUT;調(diào)用時(shí)間鬧鐘響應(yīng)程序 BK:RET TIMEOUT: X1:LCALLBZ;調(diào)用喇叭響應(yīng)程序 LCALLDISPLAY2 CLR25H.0 JBP1.4,X1;判斷P1.4是否按下? LCALLDELAY CLR25H.0 LJMPDISPLAY1 BZ:CLRP3.7;喇叭響應(yīng)程序 MOVR7,#250;響應(yīng)延時(shí)時(shí)間 T2:MOVR6,#124 T3:DJNZR6,T3 DJNZR7,T2 SETBP3.7 RET基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第21頁(yè)。 LOOKATIME:LCALLDISPLAY2;調(diào)用時(shí)間運(yùn)行程序基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共24頁(yè),當(dāng)前為第21頁(yè)。 MM:JBP1.4,LOOKATIME;判斷按鍵P1.4是否按下 MOVC,P1.4 JCMM LCALLDELAY1 MOVC,P1.4 JCMM STOP3:MOVC,P1.4 JNCSTOP3 LCALLDELAY1 MOVC,P1.4 JNCSTOP3 LJMPLOOPDELAY1:MOVR4,#14H;時(shí)間延時(shí) DL001:MOVR5,#0FFH DL111:DJNZR5,DL111 DJNZR4,DL001 RET ;×××××?xí)r間運(yùn)行程序××××× TIME:PUSHACC;現(xiàn)場(chǎng)保護(hù) PUSHPSW MOV TH0,#03CH;賦初值 MOV TL0,#0B0H DJNZ R2,RET0 MOV R2,#14H MOV A,20H CLRC INCA;秒鐘自加1 CJNE A,#3CH,GO1;判斷秒鐘是否到60秒? MOV 20H,#0;到60秒復(fù)位 MOV30H,#0 MOV31H,#0 MOV A,21H INC A;分鐘自加1 CJNE A,#3CH,GO2;判斷分鐘是否到60分? MOV21H,#0H;到60分復(fù)位 MOV32H,#0 MOV33H,#0基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)全文共

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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)論