基于AT89C51單片機定時鬧鐘設(shè)計_第1頁
基于AT89C51單片機定時鬧鐘設(shè)計_第2頁
基于AT89C51單片機定時鬧鐘設(shè)計_第3頁
基于AT89C51單片機定時鬧鐘設(shè)計_第4頁
基于AT89C51單片機定時鬧鐘設(shè)計_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

..塔里木大學信息工程學院"單片機原理與外圍電路"課程論文題目:單片機定時鬧鐘設(shè)計:海熱古麗·依馬木學號:5011110115班級:計算機15-1班摘要:本設(shè)計是單片機定時鬧鐘系統(tǒng),不僅能實現(xiàn)系統(tǒng)要求的功能,而且還有附加功能,即還能設(shè)定和修改當前所顯示的時間。本次設(shè)計的定時鬧鐘在硬件方面就采用了AT89C51芯片,用6位LED數(shù)碼管來進展顯示。LED用P0口進展驅(qū)動,采用的是動態(tài)掃描顯示,能夠比擬準確顯示時時—分分—秒秒。通過S1、S2、S3、和S4四個功能按鍵可以實現(xiàn)對時間的修改和定時,定時時間到喇叭可以發(fā)出報警聲。在軟件方面采用匯編語言編程。整個定時鬧鐘系統(tǒng)能完成時間的顯示,調(diào)時和定時鬧鐘、復位等功能,并經(jīng)過系統(tǒng)仿真后得到了正確的結(jié)果。關(guān)鍵詞:單片機、AT89C51、定時鬧鐘、仿真Abstract:Thisdesignisasingle-chiptimingalarmsystem,cannotonlyrealizethefunctionofsystemrequirements,andthereareadditionalfunctions,whichcansetupandmodifythedisplaytime.TimingalarmclockthisdesignadoptstheAT89C51chiponthehardwareside,with6LEDdigitaltubetodisplay.LEDP0exportdriven,byusingdynamicscanningdisplay,canaccuratelydisplayalways-sub-secondsseconds.ThroughtheS1,S2,S3,andS4fourfunctionkeyscanbeachievedonthetimechangesandtiming,timingtothehorncansendoutalarmsound.Usingassemblylanguageprogramminginthesoftware.Thetimingclocksystemhasfunctionsoftimedisplay,timingandtimingalarmclock,resetandotherfunctions,andthesystemsimulationtoobtaincorrectresults.Keywords:singlechipmicroputer,AT89C51,alarmclock,simulatio..目錄TOC\o"1-4"\h\z\u1緒論21.1課題背景及研究意義21.2國外現(xiàn)狀21.3課題的設(shè)計目的21.4課題的主要任務(wù)21.5課題的主要功能22系統(tǒng)概述22.1方案論證22.2系統(tǒng)設(shè)計原理23系統(tǒng)硬件設(shè)計23.1單片機AT89C51簡介23.2數(shù)碼管顯示電路23.3時鐘電路23.4喇叭:SPEAKER24系統(tǒng)軟件設(shè)計24.1系統(tǒng)軟件設(shè)計說明24.2程序調(diào)試24.3程序流程圖24.3仿真步驟24.4仿真結(jié)果2結(jié)論2參考文獻2附錄A系統(tǒng)整體電路2附錄B全部程序清單2附錄C:PCB圖和3D圖21緒論1.1課題背景及研究意義進入信息時代,計算機的影子無處不在,帶有像單片機一類嵌入式處理器的小型智能化電子產(chǎn)品,已經(jīng)成為家用電器的主流,市場需求前景廣闊,因此,掌握小型單片機應用系統(tǒng)設(shè)計方法,已成為當今電子應用工程師所必備的技能,定時鬧鐘具備小型單片機應用系統(tǒng)的一切要素,其構(gòu)造簡單、本錢低廉、走時準確、設(shè)置方便,所以智能化方面有廣泛的用途。1.2國外現(xiàn)狀單片機是指一個集成在一塊芯片上的完整計算機系統(tǒng)。同時集成諸如通訊接口、定時器,實時時鐘等外圍設(shè)備。而現(xiàn)在最強大的單片機系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復雜的輸入輸出系統(tǒng)集成在一塊芯片。在單片機〔Microcontroller)出現(xiàn)后,計算機才真正地從科學的神圣殿堂走入尋常百姓家,成為廣闊工程技術(shù)人員現(xiàn)代化技術(shù)革新,技術(shù)革命的有利武器。目前,單片機在民用和工業(yè)測控領(lǐng)域得到最廣泛的應用。彩電,冰箱,空調(diào),錄像機,VCD,鬧鐘,遙控器,游戲機,電飯煲等無處不見單片機的影子,單片機早已深深地溶入我們每個人的生活之中。單片機能大提高這些產(chǎn)品的智能性,易用性及節(jié)能性等主要性能指標,給我們的生活帶來舒適和方便的同時,在工農(nóng)業(yè)生產(chǎn)上也極提高了生產(chǎn)效率和產(chǎn)品質(zhì)量。1.3課題的設(shè)計目的本設(shè)計是一個定時鬧鐘,它僅使用單片的20引腳單片機完成鬧鐘的全部功能。設(shè)計目的是為了學習和穩(wěn)固單片機知識,使對已學過的根底知識能有更深入的理解,學會獨立思考、獨立思考、獨立工作,以及提高對所學應用根本理論分析和解決實際問題的能力。1.4課題的主要任務(wù)本文設(shè)計的定時鬧鐘采用AT89C51芯片,用匯編語言進展編程,時、分、秒用6位LED數(shù)碼管顯示。在電路過四個按鍵S1、S2、S3和S4來進展定時時間和定時鬧鐘,定時時間到通過喇叭發(fā)出報警聲。1.5課題的主要功能1〕能顯示:時時—分分—秒秒。2〕能夠設(shè)定定時時間、修改定時時間。3〕定時時間到能發(fā)出報警聲。設(shè)計的局部分為軟件及硬件,軟件局部寫出鬧鐘的工作方式以及它是如何工作的,而硬件局部是軟件的載體,畫出正確的電路圖然后在軟件的控制下才能使設(shè)計的定時鬧鐘正常工作。2系統(tǒng)概述2.1方案論證顯示器的選擇方案論證:方案一:液晶顯示器。如果選擇此方案,將會降低系統(tǒng)的功耗,這樣就可以用電池供電,便于攜帶。但液晶顯示器的驅(qū)動電路復雜,使用起來有一定的難度。方案二:用數(shù)碼管作為顯示器。數(shù)碼管的驅(qū)動電路簡單,使用方便,如果選擇了此方案,那么在夜間看時間的時候就不需要有光源,非常方便。其缺點是功耗較大。由于數(shù)碼管使用起來較為方便,在夜間看時間也很方便,因此我選擇了方案二。2.2系統(tǒng)設(shè)計原理本設(shè)計使用的是單片機作為核心的控制元件,使得電路的可靠性比擬高,功能也比擬強大,而且可以隨時的更新系統(tǒng),進展不同狀態(tài)的組合。本系統(tǒng)采用單片機AT89C51作為本設(shè)計的核心元件,利用6位共陰數(shù)碼管作為顯示器件。接入共陰LED顯示器,可顯示時,分鐘,秒,單片機外圍接有定時報警系統(tǒng),時間的定時用時鐘電路,修改時間和定時用手動按鍵控制,報警聲通過喇叭發(fā)出。提示預先設(shè)定時間電器的起停時間到,從而控制電器的起停。電路由以下局部組成:時鐘電路、復位電路、控制電路、LED顯示,報警電路,芯片選用AT89C51單片機。系統(tǒng)框圖如圖2-1所示:晶振及復位晶振及復位單片機AT89C51RESPACK-87SEG-MPX6-CC-BLUE7SEG-MPX6-CC-BLUE數(shù)碼管顯示鍵盤鍵盤〔按鈕〕SPEAKER喇叭SPEAKER喇叭圖2-1系統(tǒng)框圖..3系統(tǒng)硬件設(shè)計3.1單片機AT89C51簡介AT89C51是一個低電壓,高性能CMOS型8位單片機,片含4KB的可反復擦寫的Flash只讀程序存儲器〔ROM〕和128B的隨機存取數(shù)據(jù)存儲器〔RAM〕,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片置通用8位中央處理器和Flash存儲單元,置功能強大的微型計算機的AT89C51為用戶提供了許多高性價比應用場合,可靈活應用于各種控制領(lǐng)域。AT89C51是一個低功耗高性能單片機,40個引腳,32個外部雙向輸入/輸出〔I/O〕端口,同時含2個外中斷口,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,AT89C51可以按照常規(guī)方法進展編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發(fā)本錢。主要特性:·與MCS-51兼容·4K字節(jié)可編程閃爍存儲器·壽命:1000寫/擦循環(huán)·數(shù)據(jù)保存時間:10年·全靜態(tài)工作:0Hz-24Hz

·三級程序存儲器鎖定·128×8位部RAM

·32可編程I/O線·兩個16位定時器/計數(shù)器·5個中斷源·可編程串行通道·低功耗的閑置和掉電模式·片振蕩器和時鐘電路引腳使用說明:VCC:供電電壓。

GND:接地。

P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進展校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口:P2口為一個部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫"1〞時,其管腳被部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進展存取時,P2口輸出地址的高八位。在給出地址"1〞時,它利用部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進展讀寫時,P2口輸出其特殊功能存放器的容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入"1〞后,它們被部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流〔ILL〕這是由于上拉的緣故。

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

清華大學,2003[4]樓然苗.51系列單片機設(shè)計實例.:

航空航天,2004[5]黃仁欣.單片機原理及應用技術(shù).:清華大學,2005[6]何立民.單片機高級教程.第1版.:航空航天大學,2001[7]曉安.MCS-51單片機原理及應用.XX:XX大學,2001.3[8]夏繼強.單片機實驗與實踐教程.:航空航天大學,2001[9]凌玉華,單片機原理及應用系統(tǒng)設(shè)計[M],:中南大學,2006[10]全利、遲榮強,單片機原理及接口技術(shù)[M],:高等教育,2004[11]胡漢才,單片機原理及應用[M],:清華大學,2004[12]凌陽科技。凌陽16位單片機開發(fā)實例。航空航天大學。2006年[13]

徐江海。單片機實用教程。機械工業(yè)。2007年[14]余發(fā)山編著.單片機原理及應用技術(shù).中國礦業(yè)大學,2003[15]建澤編著。MCS-51單片機應用設(shè)計.工業(yè)大學,2006附錄A系統(tǒng)整體電路系統(tǒng)電路圖附錄B全部程序清單ORG0000H LJMPMAIN ORG000BH LJMPTIME;×××××主程序局部:××××× ORG0100H MAIN:MOVSP,#50HMOV20H,#00H;秒鐘BIN MOV21H,#00H;分鐘BIN MOV22H,#00H;小時BIN MOV23H,#01H MOV24H,#01H MOV25H,#00H MOV30H,#00H MOV31H,#00H MOV32H,#00H MOV33H,#00H MOV34H,#00H MOV35H,#00H MOV36H,#01H MOV37H,#00H MOV38H,#01H MOV39H,#00H MOVTMOD,#01H;16位計數(shù)器 MOVTH0,#03CH;賦計數(shù)初值 MOVTL0,#0B0H MOVIE,#10000111B SETBTR0;T0啟動計數(shù)MOVR2,#14HMOVP2,#0FFHLOOP:LCALLTIMEPRO LCALLDISPLAY1 P1.1,M1 LCALLSETTIME;調(diào)用設(shè)定時間程序 LJMPLOOPM1:P1.2,M2 LCALLSETATIME;調(diào)用設(shè)定時間程序 LJMPLOOP M2:P1.4,M4 LCALLLOOKATIME;調(diào)用設(shè)定鬧鐘時間程序M4:LJMPLOOPDELAY:MOVR4,#030H;延時時間DL00:MOVR5,#0FFHDL11:MOVR6,#9HDL12:DJNZR6,DL12 DJNZR5,DL11 DJNZR4,DL00 RET;×××××設(shè)定時間程序:×××××SETTIME:L0:LCALLDISPLAY1;調(diào)用時間允許程序MM1:P1.2,L1 MOVC,P1.2 JCMM1 LCALLDELAY1;調(diào)用延時 JCMM1MSTOP1:MOVC,P1.2 JNCMSTOP1;判斷P1.2是否釋放?釋放那么繼續(xù) LCALLDELAY1;調(diào)用延時 MOVC,P1.2 JNCMSTOP1 INC22H;小時增加1 MOVA,22H CJNEA,#18H,GO12;判斷小時是否到24時?未到繼續(xù)循環(huán) MOV22H,#00H;小時復位 MOV34H,#00H MOV35H,#00H LJMPL0 L1:P1.3,L2 MOVC,P1.3 JCL1 LCALLDELAY1;延時 JCL1 MSTOP2:MOVC,P1.3 JNCMSTOP2;判斷P1.3是否釋放?釋放那么繼續(xù) LCALLDELAY1;調(diào)用延時 MOVC,P1.3 JNCMSTOP2 INC21H;分鐘增加一 MOVA,21H CJNEA,#3CH,GO11 MOV21H,#00H;分鐘復位 MOV32H,#00H MOV33H,#00H LJMPL0 GO11:MOVB,#0AH;將A中的容分成上下兩局部 DIVAB MOV32H,B MOV33H,A LJMPL0 GO12:MOVB,#0AH DIVAB MOV34H,B MOV35H,A LJMPL0 L2:P1.4,L0 MOVC,P1.4 JCL2 LCALLDELAY1;調(diào)用延時 MOVC,P1.4 JCL2 STOP1:MOVC,P1.4;判斷按鍵P1.4是否釋放? JNCSTOP1 LCALLDELAY1;調(diào)用延時 MOVC,P1.4 JNCSTOP1 LJMPLOOP ;×××××設(shè)置鬧鐘時間××××× SETATIME:LCALLDISPLAY2;調(diào)用時間運行 N0:LCALLDISPLAY2 MM2:P1.3,N1;判斷P1.3是否按下? MOVC,P1.3 JCMM2 LCALLDELAY1 JCMM2 MSTOP3:MOVC,P1.3;判斷P1.3是否釋放? JNCMSTOP3 LCALLDELAY1 MOVC,P1.3 JNCMSTOP3 INC24H;設(shè)定小時增加1 MOVA,24H CJNEA,#24,GO22 MOV24H,#00H;時鐘復位 MOV38H,#00H MOV39H,#00H LJMPN0 N1:P1.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;分鐘復位 MOV36H,#00H MOV37H,#00H LJMPN0 GO21:MOVB,#0AH;將A中的容分成上下兩局部 DIVAB MOV36H,B MOV37H,A LJMPN0 GO22:MOVB,#0AH DIVAB MOV38H,B MOV39H,A LJMPN0 N2:P1.4,N0;判斷P1.4是否按下? MOVC,P1.4 JCN2 LCALLDELAY1 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;判斷分鐘是否運行到設(shè)定的鬧鐘的分鐘? MOVA,22H MOVB,24H CJNEA,B,BK;判斷時鐘是否運行到設(shè)定的鬧鐘的時鐘? SETB25H.0 MOVC,25H.0 JCXX XX:LCALLTIMEOUT;調(diào)用時間鬧鐘響應程序 BK:RET TIMEOUT: X1:LCALLBZ;調(diào)用喇叭響應程序 LCALLDISPLAY2 CLR25H.0 P1.4,X1;判斷P1.4是否按下? LCALLDELAY CLR25H.0 LJMPDISPLAY1 BZ:CLRP3.7;喇叭響應程序 MOVR7,#250;響應延時時間 T2:MOVR6,#124 T3:DJNZR6,T3 DJNZR7,T2 SETBP3.7 RET LOOKATIME:LCALLDISPLAY2;調(diào)用時間運行程序 MM:P1.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;時間延時 DL001:MOVR5,#0FFH DL111:DJNZR5,DL111 DJNZR4,DL001 RET ;×××××時間運行程序××××× TIME:PUSHACC;現(xiàn)場保護 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秒復位 MOV30H,#0 MOV31H,#0 MOV A,21H INC A;分鐘自加1 CJNE A,#3CH,GO2;判斷分鐘是否到60分? MOV21H,#0H;到60分復位 MOV32H,#0 MOV33H,#0 MOV A,22H INC A;時鐘自加1 CJNE A,#18H,GO3;判斷時鐘是否到24時? MOV22H,#00H;到24時復位

溫馨提示

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

評論

0/150

提交評論