




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于AT89C51單片機定時鬧鐘設計基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第1頁。摘要:本設計是單片機定時鬧鐘系統,不僅能實現系統要求的功能,而且還有附加功能,即還能設定和修改當前所顯示的時間。
本次設計的定時鬧鐘在硬件方面就采用了AT89C51芯片,用6位LED數碼管來進行顯示。LED用P0口進行驅動,采用的是動態掃描顯示,能夠比較準確顯示時時—分分—秒秒。通過S1、S2、S3、和S4四個功能按鍵可以實現對時間的修改和定時,定時時間到喇叭可以發出報警聲。在軟件方面采用匯編語言編程。整個定時鬧鐘系統能完成時間的顯示,調時和定時鬧鐘、復位等功能,并經過系統仿真后得到了正確的結果。基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第1頁。關鍵詞:單片機、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:singlechipmicrocomputer,AT89C51,alarmclock,simulatioPAGE2基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第2頁。基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第2頁。目錄TOC\o"1-4"\h\z\u1緒論 21.1課題背景及研究意義 21.2國內外現狀 21.3課題的設計目的 21.4課題的主要任務 21.5課題的主要功能 22系統概述 32.1方案論證 32.2系統設計原理 33系統硬件設計 43.1單片機AT89C51簡介 43.2數碼管顯示電路 63.3時鐘電路 73.4喇叭:SPEAKER 84系統軟件設計 84.1系統軟件設計說明 84.2程序調試 84.3程序流程圖 94.3仿真步驟 104.4仿真結果 10結論 12參考文獻 13附錄A系統整體電路 14附錄B全部程序清單 14附錄C:PCB圖和3D圖 23基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第3頁。1緒論基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第3頁。1.1課題背景及研究意義進入信息時代,計算機的影子無處不在,帶有像單片機一類嵌入式處理器的小型智能化電子產品,已經成為家用電器的主流,市場需求前景廣闊,因此,掌握小型單片機應用系統設計方法,已成為當今電子應用工程師所必備的技能,定時鬧鐘具備小型單片機應用系統的一切要素,其結構簡單、成本低廉、走時精確、設置方便,所以智能化方面有廣泛的用途。1.2國內外現狀單片機是指一個集成在一塊芯片上的完整計算機系統。同時集成諸如通訊接口、定時器,實時時鐘等外圍設備。而現在最強大的單片機系統甚至可以將聲音、圖像、網絡、復雜的輸入輸出系統集成在一塊芯片。在單片機(Microcontroller)出現后,計算機才真正地從科學的神圣殿堂走入尋常百姓家,成為廣大工程技術人員現代化技術革新,技術革命的有利武器。目前,單片機在民用和工業測控領域得到最廣泛的應用。彩電,冰箱,空調,錄像機,VCD,鬧鐘,遙控器,游戲機,電飯煲等無處不見單片機的影子,單片機早已深深地溶入我們每個人的生活之中。單片機能大大地提高這些產品的智能性,易用性及節能性等主要性能指標,給我們的生活帶來舒適和方便的同時,在工農業生產上也極大地提高了生產效率和產品質量。1.3課題的設計目的本設計是一個定時鬧鐘,它僅使用單片的20引腳單片機完成鬧鐘的全部功能。設計目的是為了學習和鞏固單片機知識,使對已學過的基礎知識能有更深入的理解,學會獨立思考、獨立思考、獨立工作,以及提高對所學應用基本理論分析和解決實際問題的能力。1.4課題的主要任務本文設計的定時鬧鐘采用AT89C51芯片,用匯編語言進行編程,時、分、秒用6位LED數碼管顯示。在電路中通過四個按鍵S1、S2、S3和S4來進行定時時間和定時鬧鐘,定時時間到通過喇叭發出報警聲。1.5課題的主要功能1)能顯示:時時—分分—秒秒。2)能夠設定定時時間、修改定時時間。基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第4頁。3)定時時間到能發出報警聲。基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第4頁。設計的部分分為軟件及硬件,軟件部分寫出鬧鐘的工作方式以及它是如何工作的,而硬件部分是軟件的載體,畫出正確的電路圖然后在軟件的控制下才能使設計的定時鬧鐘正常工作。2系統概述2.1方案論證顯示器的選擇方案論證:方案一:液晶顯示器。如果選擇此方案,將會降低系統的功耗,這樣就可以用電池供電,便于攜帶。但液晶顯示器的驅動電路復雜,使用起來有一定的難度。
方案二:用數碼管作為顯示器。數碼管的驅動電路簡單,使用方便,如果選擇了此方案,那么在夜間看時間的時候就不需要有光源,非常方便。其缺點是功耗較大。由于數碼管使用起來較為方便,在夜間看時間也很方便,因此我選擇了方案二。2.2系統設計原理本設計使用的是單片機作為核心的控制元件,使得電路的可靠性比較高,功能也比較強大,而且可以隨時的更新系統,進行不同狀態的組合。本系統采用單片機AT89C51作為本設計的核心元件,利用6位共陰數碼管作為顯示器件。接入共陰LED顯示器,可顯示時,分鐘,秒,單片機外圍接有定時報警系統,時間的定時用時鐘電路,修改時間和定時用手動按鍵控制,報警聲通過喇叭發出。提示預先設定時間電器的起停時間到,從而控制電器的起停。電路由下列部分組成:時鐘電路、復位電路、控制電路、LED顯示,報警電路,芯片選用AT89C51單片機。系統框圖如圖2-1所示:晶振及復位晶振及復位單片機AT89C51RESPACK-8 7SEG-MPX6-CC-BLUE7SEG-MPX6-CC-BLUE數碼管顯示鍵盤(按鈕)鍵盤(按鈕)SPEAKER喇叭SPEAKER喇叭圖2-1系統框圖基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第5頁。3系統硬件設計基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第5頁。3.1單片機AT89C51簡介AT89C51是一個低電壓,高性能CMOS型8位單片機,片內含4KB的可反復擦寫的Flash只讀程序存儲器(ROM)和128B的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,片內置通用8位中央處理器和Flash存儲單元,內置功能強大的微型計算機的AT89C51為用戶提供了許多高性價比應用場合,可靈活應用于各種控制領域。AT89C51是一個低功耗高性能單片機,40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內含2個外中斷口,2個16位可編程定時計數器,2個全雙工串行通信口,AT89C51可以按照常規方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發成本。主要特性:·與MCS-51兼容
·4K字節可編程閃爍存儲器
·壽命:1000寫/擦循環
·數據保留時間:10年
·全靜態工作:0Hz-24Hz
·三級程序存儲器鎖定
·128×8位內部RAM
·32可編程I/O線
·兩個16位定時器/計數器
·5個中斷源
·可編程串行通道
·低功耗的閑置和掉電模式
·片內振蕩器和時鐘電路引腳使用說明:VCC:供電電壓。
GND:接地。
P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在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”時,其管腳被內部上拉電阻拉高,且作基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第6頁。為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第6頁。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(外部數據存儲器寫選通)P3.7……/RD(外部數據存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。ST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度.基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第7頁。圖2是單片機AT89C51的引腳圖:基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第7頁。圖3-1單片機AT89C51引腳圖3.2數碼管顯示電路單片機中通常使用7段LED,LED是發光二極管顯示器的縮寫。LED顯示器由于結構簡單,價格便宜,體積小,亮度高,電壓低,可靠性高,壽命長,響應速度快,配置靈活,與單片機接口方便而得到廣泛應用。LED顯示器是由若干個發光二極管組成顯示字段的顯示部件,當發光二極管導通時,相應的一個點或一個筆劃發光,控制不同組合的二極管導通,就能顯示出各種字符。LED顯示器有多種形式,如:“米”字型顯示器,點陣顯示器和七段數碼顯示器等,在單片機系統中使用最多的是七段數碼顯示器。本系統利用7SEG-MPX6-CC-BLUE數字顯示器,7SEG-MPX6-CC-BLUE數字顯示器的1-6引腳連接AT89C51單片機P2.0–P2.5接口,其他8個引腳分別與AT89C51單片機的P0.0-P0.7和共陽極管RESPACK-8排阻的2-9引腳分別連接。因為共陰極的LED數碼管它的驅動電流是分開的,在單片機進行動態掃描的時候不會影響彼此的電流,故該系統中的6位LED數碼管均用共陰極的數碼管。6位數碼管的引腳圖如圖3-2所示:基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第8頁。基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第8頁。圖3-26位數碼管的引腳3.3時鐘電路單片機的時鐘產生方法有兩種:內部時鐘方式和外部時鐘方式。本系統中AT89C51單片機采用內部時鐘方式。最常用的內部時鐘方式是采用外接晶體和電容組成的并聯諧振回路。振蕩晶體可在1.2MHz~12MHz之間。電容值無嚴格要求,但電容取值對振蕩頻率輸出的穩定性、大小和振蕩電路起振速度有少許影響,一般可在20pF~100pF之間取值。AT98C51單片機的時鐘電路。如圖3-3所示:圖3-3時鐘電路圖上拉電阻:RESPACK-8控制按鍵:BUTTONACTIVESPSTPushButton本系統要進行時間的調整和定時,因此用4個手動按鍵對其進行控制。基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第9頁。3.4喇叭:SPEAKER基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第9頁。由P3.7口控制喇叭,使其定時時間到能發出報警聲。如圖3-4所示:圖3-4喇叭引腳圖4系統軟件設計4.1系統軟件設計說明該系統軟件程序主要有主程序模塊,定時中斷服務程序,中斷等待服務程序,鍵盤服務程序,顯示子程序服務程序等六大模塊組成。在AT89C51外圍的一個17管腳即P3.7管口上加喇叭器,通過軟件與硬件的結合可實現定時報警功能。圖中按鍵從上往下設定為S1,S2,S3,S4,S1與p1.4相連,S2與p1.3相連,S3與p1.2相連,S4與p1.1相連。當需要設定當前時間時,按一下S4鍵,進入時間設定狀態,按一下S2,分鐘加1;按一下S3,小時加1。如此反復來設定當前時間。調好時間后按S1退出當前時間設定狀態;當要設定定時時間時,按下S3,進入定時時間設定狀態,按一下S2,小時加1;按一下S4,分鐘加1。如此反復來設定要設定的定時時間。設好后,按下S1退出定時時間設定狀態。4.2程序調試1)將程序輸入到偉福的環境下;2)用單步運行和斷點運行方式調試程序;3)調試T0中斷服務程序,首先在記數單元39H、3AH、3BH、3CH單元中預置數,調試秒單元向分單元進位及分單元向時單元的進位,最后將T0中斷服務程序統調通過;4)在39H、3AH、3BH、3CH單元中預置數,調試顯示程序;5)調試主程序,使鬧鐘走時系統工作正常。 基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第10頁。4.3程序流程圖基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第10頁。本設計程序流程圖如4-1所示:判斷鬧鐘時間到否程序判斷鬧鐘時間到否程序初始化調用顯示程序開始P1.1是否按下?調用時間設定程序P1.2是否按下?Y調用鬧鐘時間設定程序NNY圖4-1程序流程圖基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第11頁。4.3仿真步驟基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第11頁。第一步:用偉褔軟件對程序進行編譯,編譯通過后,會自動生成HEX文件。第二步:在Proteus的元件庫中找到AT89C51以及相應的元件,按照硬件設計中的說明把各部件連接起來組成一個定時鬧鐘的硬件系統。第三步:把在偉福環境調試下生成的.HEX文件裝入到AT89C51里,點擊運行符號就可以使軟硬件的配套設施在Proteus的環境下仿真實現。第四步:驗證系統能否實現所要求的功能,并檢驗錯誤。4.4仿真結果通過S1、S2、S3和S4四個按鍵,對時間進行修改和鬧鐘的設置。定時時間到能發出報警聲,使用偉福軟件編輯程序然后進行proteus進行仿真,其仿真圖如下:開始仿真時,顯示如圖4-2所示:圖4-2(1)設定當前時間當需要設定當前時間時,按一下S4鍵,進入時間設定狀態,按一下S2,分鐘加1;按一下S3,小時加1。如此反復來設定當前時間。調好時間后按S1退出當前時間設定狀態。先按S4,再按S2時,如圖4-3所示:基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第12頁。基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第12頁。圖4-3先按S4,再按S2,再按S3時,如圖4-4所示:圖4-4如圖4-5:設定當前時間是01:02:15圖4-5(2)設定定時時間基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第13頁。當要設定定時時間時,按下S3,進入定時時間設定狀態,按一下S2,小時加1;按一下S4,分鐘加1。如此反復來設定要設定的定時時間。設好后,按下S1退出定時時間設定狀態。基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第13頁。如圖4-6所示圖:設定定時時間為01:06圖4-6如圖4-7所示當到達時間01:06時,喇叭發出報警聲。圖4-7結論通過這次設計讓我更深入了解在設計程序之前,務必要對所學單片機課程的內容有一個系統的了解,知道單片機片內片外的內容及其功能。設計程序采用什么編程語言并不是非常重要,關鍵要有一個清晰的思路和一個完整的軟件流程圖。在設計程序時,不能妄想一次就將整個程序設計好,"反復修改,不斷改進"是程序設計的必經之路。程序剛開始編好時,一般情況下會存在很多錯誤,要不斷地修基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第14頁。改,不斷的改進才能達到預期的目的,編寫程序的時間并不是很長,主要是修改程序會花很多時間。總之,通過這次設計讓我更深入了解單片機基本電路、如何控制和定時器和中斷編程的基本方法,從而鍛煉了我學習、設計和開發軟、硬件的能力。并且使我鞏固了本課程所學的基本知識,還使我具有了撰寫設計報告的初步訓練能力,我相信這些能力在我以后的工作或者是再學習中一定會起到不小的作用,看到自己幾周的小成果,感覺一切的辛苦和艱難都是值得的。基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第14頁。參考文獻[1].余發山主編,單片機原理及應用技術,中國礦業大學出版社2003.12[2]康華光.數字電子技術.北京:高等教育出版社,2003[3]吳金戌.8051單片機實踐與應用.北京:
清華大學出版社,2003[4]樓然苗.51系列單片機設計實例.北京:
北京航空航天出版社,2004[5]黃仁欣.單片機原理及應用技術.
北京:清華大學出版社,2005[6]何立民.單片機高級教程.第1版.北京:北京航空航天大學出版社,2001[7]趙曉安.MCS-51單片機原理及應用.天津:天津大學出版社,2001.3[8]夏繼強.單片機實驗與實踐教程.北京:北京航空航天大學出版社,2001[9]凌玉華,單片機原理及應用系統設計[M],長沙:中南大學出版社,2006[10]李全利、遲榮強,單片機原理及接口技術[M],北京:高等教育出版社,2004[11]胡漢才,單片機原理及應用[M],北京:清華大學出版社,2004[12]凌陽科技。凌陽16位單片機開發實例。北京航空航天大學出版社。2006年
[13]
徐江海。單片機實用教程。機械工業出版社。2007年[14]余發山編著.單片機原理及應用技術.中國礦業大學出版社,2003[15]陳建澤編著。MCS-51單片機應用設計.哈爾濱工業大學出版社,2006基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第15頁。附錄A系統整體電路基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第15頁。系統電路圖附錄B全部程序清單ORG0000H LJMPMAIN ORG000BH LJMPTIME;×××××主程序部分:××××× ORG0100H MAIN:MOVSP,#50HMOV20H,#00H;秒鐘BIN MOV21H,#00H;分鐘BIN MOV22H,#00H;小時BIN MOV23H,#01H MOV24H,#01H基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第16頁。 MOV25H,#00H基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第16頁。 MOV30H,#00H MOV31H,#00H MOV32H,#00H MOV33H,#00H MOV34H,#00H MOV35H,#00H MOV36H,#01H MOV37H,#00H MOV38H,#01H MOV39H,#00H MOVTMOD,#01H;16位計數器 MOVTH0,#03CH;賦計數初值 MOVTL0,#0B0H MOVIE,#10000111B SETBTR0;T0啟動計數MOVR2,#14HMOVP2,#0FFHLOOP:LCALLTIMEPRO LCALLDISPLAY1 JBP1.1,M1 LCALLSETTIME;調用設定時間程序 LJMPLOOPM1:JBP1.2,M2 LCALLSETATIME;調用設定時間程序 LJMPLOOP M2:JBP1.4,M4 LCALLLOOKATIME;調用設定鬧鐘時間程序M4:LJMPLOOPDELAY:MOVR4,#030H;延時時間DL00:MOVR5,#0FFHDL11:MOVR6,#9HDL12:DJNZR6,DL12 DJNZR5,DL11 DJNZR4,DL00 RET;×××××設定時間程序:×××××SETTIME:基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第17頁。基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第17頁。L0:LCALLDISPLAY1;調用時間允許程序MM1:JBP1.2,L1 MOVC,P1.2 JCMM1 LCALLDELAY1;調用延時 JCMM1MSTOP1:MOVC,P1.2 JNCMSTOP1;判斷P1.2是否釋放?釋放則繼續 LCALLDELAY1;調用延時 MOVC,P1.2 JNCMSTOP1 INC22H;小時增加1 MOVA,22H CJNEA,#18H,GO12;判斷小時是否到24時?未到繼續循環 MOV22H,#00H;小時復位 MOV34H,#00H MOV35H,#00H LJMPL0 L1:JBP1.3,L2 MOVC,P1.3 JCL1 LCALLDELAY1;延時 JCL1 MSTOP2:MOVC,P1.3 JNCMSTOP2;判斷P1.3是否釋放?釋放則繼續 LCALLDELAY1;調用延時 MOVC,P1.3 JNCMSTOP2 INC21H;分鐘增加一 MOVA,21H CJNEA,#3CH,GO11 MOV21H,#00H;分鐘復位 MOV32H,#00H MOV33H,#00H LJMPL0 GO11:MOVB,#0AH;將A中的內容分成高低兩部分 DIVAB基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第18頁。 MOV32H,B基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第18頁。 MOV33H,A LJMPL0 GO12:MOVB,#0AH DIVAB MOV34H,B MOV35H,A LJMPL0 L2:JBP1.4,L0 MOVC,P1.4 JCL2 LCALLDELAY1;調用延時 MOVC,P1.4 JCL2 STOP1:MOVC,P1.4;判斷按鍵P1.4是否釋放? JNCSTOP1 LCALLDELAY1;調用延時 MOVC,P1.4 JNCSTOP1 LJMPLOOP ;×××××設置鬧鐘時間××××× SETATIME:LCALLDISPLAY2;調用時間運行 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;設定小時增加1基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第19頁。 MOVA,24H基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第19頁。 CJNEA,#24,GO22 MOV24H,#00H;時鐘復位 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;設定鬧鐘分鐘增加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:JBP1.4,N0;判斷P1.4是否按下? MOVC,P1.4 JCN2基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第20頁。 LCALLDELAY1基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第20頁。 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;判斷分鐘是否運行到設定的鬧鐘的分鐘? MOVA,22H MOVB,24H CJNEA,B,BK;判斷時鐘是否運行到設定的鬧鐘的時鐘? SETB25H.0 MOVC,25H.0 JCXX XX:LCALLTIMEOUT;調用時間鬧鐘響應程序 BK:RET TIMEOUT: X1:LCALLBZ;調用喇叭響應程序 LCALLDISPLAY2 CLR25H.0 JBP1.4,X1;判斷P1.4是否按下? LCALLDELAY CLR25H.0 LJMPDISPLAY1 BZ:CLRP3.7;喇叭響應程序 MOVR7,#250;響應延時時間 T2:MOVR6,#124 T3:DJNZR6,T3 DJNZR7,T2 SETBP3.7 RET基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第21頁。 LOOKATIME:LCALLDISPLAY2;調用時間運行程序基于AT89C51單片機定時鬧鐘設計全文共24頁,當前為第21頁。 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;時間延時 DL001:MOVR5,#0FFH DL111:DJNZR5,DL111 DJNZR4,DL001 RET ;×××××時間運行程序××××× TIME:PUSHACC;現場保護 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基于AT89C51單片機定時鬧鐘設計全文共
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 部編版語文學科期末復習計劃總結
- 2024年度江蘇省二級建造師之二建市政工程實務綜合練習試卷B卷附答案
- 關于我的重陽節作文10篇
- 描寫爺爺的作文800字15篇
- 2024年度江蘇省二級建造師之二建公路工程實務考前自測題及答案
- 2025年高果糖漿項目市場調查研究報告
- 農貿市場防疫物資申請書范文
- 2025美麗的春天作文150字10篇范文
- 混凝土路面工程質量提升的創新措施
- 2025年臺式蒸氣電熨機項目市場調查研究報告
- GRR表格MSA第四版完整版
- 京滬高速公路施工組織設計
- 陜西全過程工程咨詢服務合同示范文本
- 公路水運工程施工企業(主要負責人和安全生產管理人員)考核大綱及模擬題庫
- 1KV送配電調試報告
- GB/T 5801-2020滾動軸承機制套圈滾針軸承外形尺寸、產品幾何技術規范(GPS)和公差值
- FZ/T 93029-2016塑料粗紗筒管
- 2022年12月山東省普通高中學業水平合格性考試語文仿真模擬試卷C(答題卡)
- 塑膠原料來料檢驗指導書
- 人教版音樂三年級下冊知識總結
- 共點力平衡的應用-完整版PPT
評論
0/150
提交評論