基于AT89C51控制的定時(shí)鬧鐘設(shè)計(jì)說(shuō)明書(shū)_第1頁(yè)
基于AT89C51控制的定時(shí)鬧鐘設(shè)計(jì)說(shuō)明書(shū)_第2頁(yè)
基于AT89C51控制的定時(shí)鬧鐘設(shè)計(jì)說(shuō)明書(shū)_第3頁(yè)
基于AT89C51控制的定時(shí)鬧鐘設(shè)計(jì)說(shuō)明書(shū)_第4頁(yè)
基于AT89C51控制的定時(shí)鬧鐘設(shè)計(jì)說(shuō)明書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(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)介

單位代碼 學(xué)號(hào) 分 類(lèi) 號(hào) 密 級(jí) 單片機(jī)應(yīng)用技術(shù)課程設(shè)計(jì)基于AT89C51單片機(jī)的定時(shí)鬧鐘設(shè)計(jì) 院(系)名稱(chēng) 專(zhuān)業(yè)名稱(chēng) 學(xué)生姓名 指導(dǎo)教師2015 年 月 日第 頁(yè)黃河科技學(xué)院課程設(shè)計(jì) 目 錄1 概述11.1 課程設(shè)計(jì)的目的和意義11.2 設(shè)計(jì)要求12 系統(tǒng)總體方案及硬件設(shè)計(jì)22.1 系統(tǒng)設(shè)計(jì)原理22.2 硬件設(shè)計(jì)22.2.1 單片機(jī)AT89C5122.2.2 顯示器的選擇42.2.3 控制按鍵的選擇52.2.4 時(shí)鐘電路62.2.5 喇叭:SPEAKER63 系統(tǒng)軟件設(shè)計(jì)83.1 系統(tǒng)軟件設(shè)計(jì)說(shuō)明83.2 程序流程圖93.2.1 程序主流程圖93.2.2 時(shí)間設(shè)定設(shè)計(jì)93.3 程序調(diào)試103.4 仿真步驟113.5 仿真結(jié)果114 課程設(shè)計(jì)體會(huì)14參考文獻(xiàn)15附1源程序代碼16附2系統(tǒng)原理圖29第 29 頁(yè)黃河科技學(xué)院課程設(shè)計(jì) 1概述1.1課程設(shè)計(jì)的目的和意義課程設(shè)計(jì)是在學(xué)完單片機(jī)原理及接口技術(shù)課程之后綜合利用所學(xué)單片機(jī)知識(shí)完成一個(gè)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)并在實(shí)驗(yàn)室實(shí)現(xiàn),從而加深對(duì)單片機(jī),軟硬知識(shí)的理解,獲得初步的應(yīng)用經(jīng)驗(yàn),使對(duì)已學(xué)過(guò)的基礎(chǔ)知識(shí)能有更深入的理解,學(xué)會(huì)獨(dú)立思考、獨(dú)立思考、獨(dú)立工作,以及提高對(duì)所學(xué)應(yīng)用基本理論分析和解決實(shí)際問(wèn)題的能力。為走出校門(mén)從事單片機(jī)應(yīng)用的相關(guān)工作打下基礎(chǔ).1.2 設(shè)計(jì)要求1)能顯示:時(shí)時(shí)分分秒秒。2)能夠設(shè)定定時(shí)時(shí)間、修改定時(shí)時(shí)間。3)定時(shí)時(shí)間到能發(fā)出報(bào)警聲。設(shè)計(jì)的部分分為軟件及硬件,軟件部分寫(xiě)出鬧鐘的工作方式以及它是如何工作的,而硬件部分是軟件的載體,畫(huà)出正確的電路圖然后在軟件的控制下能使設(shè)計(jì)的定時(shí)鬧鐘正常工作。2系統(tǒng)總體方案及硬件設(shè)計(jì)2.1系統(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ù)位、時(shí)鐘等電路按鈕電路AT89C51單片機(jī)6位數(shù)碼管顯示電路鬧鈴聲指示電路電源系統(tǒng)圖2-1 系統(tǒng)框圖2.2硬件設(shè)計(jì)2.2.1單片機(jī)AT89C51AT89C51是一個(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ǔ)器鎖定1288位內(nèi)部RAM32可編程I/O線(xiàn)兩個(gè)16位定時(shí)器/計(jì)數(shù)器5個(gè)中斷源 可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路 振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度. 圖2-2是單片機(jī)AT89C51的引腳圖:圖2-2單片機(jī)AT89C51引腳圖2.2.2顯示器的選擇方案一:液晶顯示器。如果選擇此方案,將會(huì)降低系統(tǒng)的功耗,這樣就可以用電池供電,便于攜帶。但液晶顯示器的驅(qū)動(dòng)電路復(fù)雜,使用起來(lái)有一定的難度。方案二:點(diǎn)陣顯示,是由八行八列的發(fā)光二極管集成在一塊電路上組成,主要用來(lái)顯示漢字,同時(shí)也能顯示數(shù)字和少量圖象,但它的焊接較麻煩,價(jià)格高,鑒于所設(shè)計(jì)的題目要求它不切實(shí)際。所以排除此方案。方案三:用數(shù)碼管作為顯示器。數(shù)碼管的驅(qū)動(dòng)電路簡(jiǎn)單,使用方便,如果選擇了此方案,那么在夜間看時(shí)間的時(shí)候就不需要有光源,非常方便。其缺點(diǎn)是功耗較大。由于數(shù)碼管使用起來(lái)較為方便,在夜間看時(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ù)碼管的引腳圖如圖2-3所示:圖2-3 6位數(shù)碼管的引腳2.2.3控制按鍵的選擇方案一: 選取陣列式按鍵,減少了I/O口的使用,且掃描MN個(gè)按鍵只需占用M+N個(gè)I/O口即可實(shí)現(xiàn),但給編程帶來(lái)了一定的困難,雖然節(jié)省了很多的口線(xiàn),降低了成本,但在此設(shè)計(jì)中所用的按鍵要盡量少,因此排除此方案。方案二: 獨(dú)立式按鍵,每個(gè)按鍵實(shí)現(xiàn)一個(gè)功能,易于控制且編寫(xiě)程序簡(jiǎn)單,容易理解,雖然會(huì)占用一定的單片機(jī)I/O口資源,但是題目中要求使用的按鍵要盡量少。通過(guò)以上兩種方案比較,采用方案二。2.2.4時(shí)鐘電路單片機(jī)的時(shí)鐘產(chǎn)生方法有兩種:內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。本系統(tǒng)中AT89C51單片機(jī)采用內(nèi)部時(shí)鐘方式。最常用的內(nèi)部時(shí)鐘方式是采用外接晶體和電容組成的并聯(lián)諧振回路。振蕩晶體可在1.2MHz12MHz之間。電容值無(wú)嚴(yán)格要求,但電容取值對(duì)振蕩頻率輸出的穩(wěn)定性、大小和振蕩電路起振速度有少許影響,一般可在20pF100pF之間取值。AT98C51單片機(jī)的時(shí)鐘電路。如圖2-4所示:圖2-4 時(shí)鐘電路圖上拉電阻:RESPACK8控制按鍵:BUTTON ACTIVE SPST PushButton本系統(tǒng)要進(jìn)行時(shí)間的調(diào)整和定時(shí),因此用4個(gè)手動(dòng)按鍵對(duì)其進(jìn)行控制。2.2.5喇叭:SPEAKER由P3.7口控制喇叭,使其定時(shí)時(shí)間到能發(fā)出報(bào)警聲。如圖2-5所示:圖2-5 喇叭引腳圖經(jīng)過(guò)方案論證與比較,選擇AT89C51作為主控,采用獨(dú)立式按鍵控制,LED數(shù)碼管動(dòng)態(tài)掃描顯示,喇叭:SPEAKER,其中AT89C51單片機(jī)采用內(nèi)部時(shí)鐘方式。3 系統(tǒng)軟件設(shè)計(jì)3.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.0相連,S2與p1.1相連,S3與p1.2相連,S4與p1.3相連。當(dāng)需要設(shè)定當(dāng)前時(shí)間時(shí),按一下S1鍵,進(jìn)入時(shí)間設(shè)定狀態(tài),按一下S3,分鐘加1;按一下S2,小時(shí)加1。如此反復(fù)來(lái)設(shè)定當(dāng)前時(shí)間。調(diào)好時(shí)間后按S4退出當(dāng)前時(shí)間設(shè)定狀態(tài);當(dāng)要設(shè)定定時(shí)時(shí)間時(shí),按下S2,進(jìn)入定時(shí)時(shí)間設(shè)定狀態(tài),按一下S3,小時(shí)加1;按一下S1,分鐘加1。如此反復(fù)來(lái)設(shè)定要設(shè)定的定時(shí)時(shí)間。設(shè)好后,按下S4退出定時(shí)時(shí)間設(shè)定狀態(tài)。3.2 程序流程圖3.2.1程序主流程圖圖3-1 程序流程圖 3.2.2時(shí)間設(shè)定設(shè)計(jì)時(shí)間設(shè)定模塊的設(shè)計(jì)要點(diǎn)是按鍵的去抖處理與“一鍵多態(tài)”的處理。即只涉及4個(gè)鍵完成了6位時(shí)間參數(shù)的設(shè)定。軟件法去抖動(dòng)的實(shí)質(zhì)是軟件延時(shí),即檢測(cè)到某一鍵狀態(tài)變化后延時(shí)一段時(shí)間,再檢測(cè)該按鍵的狀態(tài)是否還保持著,如是則作為按鍵處理,否則,視為抖動(dòng),不予理睬。去抖中的延時(shí)時(shí)間一般參考資料多描述為10ms左右,實(shí)際應(yīng)用中,應(yīng)大于20ms,否則,會(huì)導(dǎo)致按一次作多次處理,影響程序正常執(zhí)行。“一鍵多態(tài)”即多功能鍵的實(shí)現(xiàn)思想是,根據(jù)按鍵時(shí)刻的系統(tǒng)狀態(tài),決定按鍵采取何種動(dòng)作,即何種功能其流程圖如下圖3-2所示:圖3-2 時(shí)間設(shè)定流程3.3程序調(diào)試1)將程序輸入到keil uvision4的環(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)工作正常。3.4仿真步驟第一步:用keil uvision4軟件對(duì)程序進(jìn)行編譯,編譯通過(guò)后,會(huì)自動(dòng)生成HEX文件。第二步:在Proteus的元件庫(kù)中找到AT89C51以及相應(yīng)的元件,按照硬件設(shè)計(jì)中的說(shuō)明把各部件連接起來(lái)組成一個(gè)定時(shí)鬧鐘的硬件系統(tǒng)。第三步:把在keil uvision4環(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ò)誤。3.5仿真結(jié)果通過(guò)S1、S2、S3和S4四個(gè)按鍵,對(duì)時(shí)間進(jìn)行修改和鬧鐘的設(shè)置。定時(shí)時(shí)間到能發(fā)出報(bào)警聲,使用keil uvision4軟件編輯程序然后進(jìn)行proteus進(jìn)行仿真,其仿真圖如下:開(kāi)始仿真時(shí),顯示如圖3-3所示:圖3-3 仿真圖(1)設(shè)定當(dāng)前時(shí)間當(dāng)需要設(shè)定當(dāng)前時(shí)間時(shí),按一下S1鍵,進(jìn)入時(shí)間設(shè)定狀態(tài),按一下S3,分鐘加1;按一下S2,小時(shí)加1。如此反復(fù)來(lái)設(shè)定當(dāng)前時(shí)間。調(diào)好時(shí)間后按S4退出當(dāng)前時(shí)間設(shè)定狀態(tài)。如圖3-4所示:圖3-4 設(shè)定樣式圖如圖3-5:設(shè)定當(dāng)前時(shí)間是06:06:06圖3-5 仿真時(shí)間設(shè)定圖(2)設(shè)定定時(shí)時(shí)間當(dāng)要設(shè)定定時(shí)時(shí)間時(shí),按下S2,進(jìn)入定時(shí)時(shí)間設(shè)定狀態(tài),按一下S3,小時(shí)加1;按一下S1,分鐘加1。如此反復(fù)來(lái)設(shè)定要設(shè)定的定時(shí)時(shí)間。設(shè)好后,按下S4退出定時(shí)時(shí)間設(shè)定狀態(tài)。如圖3-6所示圖:設(shè)定定時(shí)時(shí)間為06:06圖3-6 設(shè)定定時(shí)時(shí)間如圖3-7所示當(dāng)?shù)竭_(dá)時(shí)間06:06時(shí),喇叭發(fā)出報(bào)警聲。圖3-7 鬧鐘響起圖4課程設(shè)計(jì)體會(huì) 通過(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ò)誤,要不斷地修改,不斷的改進(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é)一切的辛苦和艱難都是值得的。參考文獻(xiàn)1.張毅剛,單片機(jī)原理及應(yīng)用,高等教育出版社.2014.2.皮大熊.單片機(jī)課程設(shè)計(jì)指導(dǎo)書(shū).北京理工大學(xué)出版社.2010.3.吳金戌.8051單片機(jī)實(shí)踐與應(yīng)用.清華大學(xué)出版社.2003.4.樓然苗.51系列單片機(jī)設(shè)計(jì)實(shí)例.北京航空航天出版社.2004.5.黃仁欣.單片機(jī)原理及應(yīng)用技術(shù).清華大學(xué)出版社.2005.6.趙曉安. MCS-51單片機(jī)原理及應(yīng)用.天津大學(xué)出版社.2001.3.7.凌玉華,單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì),中南大學(xué)出版社.2006.8.胡漢才,單片機(jī)原理及應(yīng)用,清華大學(xué)出版社 .2004.9.徐江海.單片機(jī)實(shí)用教程.機(jī)械工業(yè)出版社.2007.附1源程序代碼 ORG 0000H LJMP MAIN ORG 000BH LJMP TIME ORG 0100H MAIN:MOV SP,#50H MOV 20H,#00H ;時(shí)間 BIN SECOND MOV 21H,#00H ; BIN MINUTE MOV 22H,#00H ; BIN HOUR MOV 23H,#01H ;鬧鈴 BIN MINUTE MOV 24H,#01H ; BIN HOUR MOV 25H,#00H ;定義一個(gè)標(biāo)志位 MOV 30H,#00H ;時(shí)間 BCD SECOND MOV 31H,#00H ; MOV 32H,#00H ; BCD MINUTE MOV 33H,#00H ; MOV 34H,#00H ; BCD HOUR MOV 35H,#00H ; MOV 36H,#01H ;鬧鈴 BCD MINUTE MOV 37H,#00H ; MOV 38H,#01H ; BCD HOUR MOV 39H,#00H ; MOV TMOD,#01H ;16位計(jì)數(shù)器 T0,方式1 MOV TH0,#03CH ;賦初值 MOV TL0,#0B0H MOV IE,#B ;開(kāi)中斷 T0,EA=1 SETB TR0 ;T0啟動(dòng)計(jì)數(shù) MOV R2,#14H ;計(jì)數(shù)器 MOV P2,#0FFH LOOP:LCALL TIMEPRO ; 調(diào)用現(xiàn)在時(shí)間與鬧鈴時(shí)間比較程序 LCALL DISPLAY1 ; 調(diào)用現(xiàn)在時(shí)間顯示子程序 JB P1.0,M1 ; 判斷按鍵是否按下 LCALL XIAOZHEN1 ; 調(diào)用消抖程序 MOV C,25H.0 JC A1 A1:CLR 25H.0 LCALL SETTIME ; 調(diào)用設(shè)置現(xiàn)在時(shí)間子程序 LJMP LOOP M1:JB P1.1,M2 LCALL XIAOZHEN2 MOV C,25H.0 JC A2 A2:CLR 25H.0 LCALL SETATIME ; 調(diào)用設(shè)置鬧鐘的程序 LJMP LOOP M2:JB P1.3,M3 A3:LCALL XIAOZHEN3 MOV C,25H.0 JC A4 A4:CLR 25H.0 M3:LJMP LOOPSETTIME: L0:LCALL DISPLAY1 JB P1.1,L1 LCALL XIAOZHEN4 MOV C,25H.0 JC A5 A5:CLR 25H.0 INC 22H MOV A,22H CJNE A,#18H,GO12 MOV 22H,#00H MOV 34H,#00H MOV 35H,#00H LJMP L0 L1:JB P1.2,L2 LCALL XIAOZHEN5 MOV C,25H.0 JC A6 A6:CLR 25H.0 INC 21H MOV A,21H CJNE A,#3CH,GO11 MOV 21H,#00H MOV 32H,#00H MOV 33H,#00H LJMP L0 GO11:MOV B,#0AH DIV AB MOV 32H,B MOV 33H,A LJMP L0 GO12:MOV B,#0AH DIV AB MOV 34H,B MOV 35H,A LJMP L0 L2:JB P1.3,L0 LCALL XIAOZHEN3 MOV C,25H.0 JC AX AX:CLR 25H.0 RETSETATIME:LCALL DISPLAY2 ;調(diào)用鬧鐘設(shè)置,鬧鈴響時(shí)的顯示程序 N0:LCALL DISPLAY2 JB P1.2,N1 LCALL XIAOZHEN6 MOV C,25H.0 JC A7 A7:CLR 25H.0 INC 24H MOV A,24H CJNE A,#24,GO22 MOV 24H,#00H MOV 38H,#00H MOV 39H,#00H LJMP N0 N1:JB P1.0,N2 LCALL XIAOZHEN7 MOV C,25H.0 JC A8 A8:CLR 25H.0 INC 23H MOV A,23H CJNE A,#60,GO21 MOV 23H,#00H MOV 36H,#00H MOV 37H,#00H LJMP N0 GO21:MOV B,#0AH DIV AB MOV 36H,B MOV 37H,A LJMP N0 GO22:MOV B,#0AH DIV AB MOV 38H,B MOV 39H,A LJMP N0 N2:JB P1.3,N0 LCALL XIAOZHEN3 MOV C,25H.0 JC A9 A9:CLR 25H.0 RETTIMEPRO:MOV A,21H MOV B,23H CJNE A,B,BK MOV A,22H MOV B,24H CJNE A,B,BK SETB 25H.0 MOV C,25H.0 JC XX XX:LCALL TIMEOUT BK:RET TIMEOUT: X1:LCALL BZ LCALL DISPLAY2 CLR 25H.0 JB P1.3, X1 RET BZ:CLR P3.7 MOV R7,#250 T2:MOV R6,#124 T3:DJNZ R6,T3 DJNZ R7,T2 SETB P3.7 JB P1.3,XY LCALL XIAOZHEN3 MOV C,25H.0 JC XY1 XY:RET XY1:LJMP LOOPXIAOZHEN1:LCALL DISPLAY1 JB P1.0,XIAOZHEN1 MOV C,P1.0 JC XIAOZHEN1 LCALL DELAY MOV C,P1.0 JC XIAOZHEN1 STOP1:MOV C,P1.0 JNC STOP1 LCALL DELAY MOV C,P1.0 JNC STOP1 SETB 25H.0 RET XIAOZHEN2:LCALL DISPLAY2 JB P1.1,XIAOZHEN2 MOV C,P1.1 JC XIAOZHEN2 LCALL DELAY MOV C,P1.1 JC XIAOZHEN2 STOP2:MOV C,P1.1 JNC STOP2 LCALL DELAY MOV C,P1.1 JNC STOP2 SETB 25H.0 RET XIAOZHEN3:LCALL DISPLAY1 JB P1.3,XIAOZHEN3 MOV C,P1.3 JC XIAOZHEN3 LCALL DELAY MOV C,P1.3 JC XIAOZHEN3 STOP3:MOV C,P1.3 JNC STOP3 LCALL DELAY MOV C,P1.3 JNC STOP3 SETB 25H.0 RET XIAOZHEN4:LCALL DISPLAY1 JB P1.1,XIAOZHEN4 MOV C,P1.1 JC XIAOZHEN4 LCALL DELAY MOV C,P1.1 JC XIAOZHEN4 STOP4:MOV C,P1.1 JNC STOP4 LCALL DELAY MOV C,P1.1 JNC STOP4 SETB 25H.0 RET XIAOZHEN5:LCALL DISPLAY1 JB P1.2,XIAOZHEN5 MOV C,P1.2 JC XIAOZHEN5 LCALL DELAY MOV C,P1.2 JC XIAOZHEN5 STOP5:MOV C,P1.2 JNC STOP5 LCALL DELAY MOV C,P1.2 JNC STOP5 SETB 25H.0 RET XIAOZHEN6:LCALL DISPLAY2 JB P1.2,XIAOZHEN6 MOV C,P1.2 JC XIAOZHEN6 LCALL DELAY MOV C,P1.2 JC XIAOZHEN6 STOP6:MOV C,P1.2 JNC STOP6 LCALL DELAY MOV C,P1.2 JNC STOP6 SETB 25H.0 RET XIAOZHEN7:LCALL DISPLAY2 JB P1.0,XIAOZHEN7 MOV C,P1.0 JC XIAOZHEN7 LCALL DELAY MOV C,P1.0 JC XIAOZHEN7 STOP7:MOV C,P1.0 JNC STOP7 LCALL DELAY MOV C,P1.0 JNC STOP7 SETB 25H.0 RETDELAY:MOV R4,#14H DL00:MOV R5,#0FFH DL11:DJNZ R5,DL11 DJNZ R4,DL00 RETTIME:PUSH ACC PUSH PSW MOV TH0,#03CH MOV TL0,#0B0H DJNZ R2,

溫馨提示

  • 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)論