農(nóng)機(jī)四組定時(shí)鬧鐘設(shè)計(jì)方案報(bào)告文件_第1頁(yè)
農(nóng)機(jī)四組定時(shí)鬧鐘設(shè)計(jì)方案報(bào)告文件_第2頁(yè)
農(nóng)機(jī)四組定時(shí)鬧鐘設(shè)計(jì)方案報(bào)告文件_第3頁(yè)
農(nóng)機(jī)四組定時(shí)鬧鐘設(shè)計(jì)方案報(bào)告文件_第4頁(yè)
農(nóng)機(jī)四組定時(shí)鬧鐘設(shè)計(jì)方案報(bào)告文件_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGE1基于單片機(jī)的定時(shí)鬧鐘設(shè)計(jì)摘要:本設(shè)計(jì)是定時(shí)鬧鐘的設(shè)計(jì),由單片機(jī)AT89C51芯片和LED數(shù)碼管為核心,輔以必要的電路,構(gòu)成的一個(gè)單片機(jī)電子定時(shí)鬧鐘。電子鐘設(shè)計(jì)可采用數(shù)字電路實(shí)現(xiàn),也可以采用單片機(jī)來(lái)完成。數(shù)字電子鐘是用數(shù)字集成電路構(gòu)成的,用數(shù)碼管顯示“時(shí)",“分",“秒"的現(xiàn)代計(jì)時(shí)裝置。若用數(shù)字電路完成,所設(shè)計(jì)的電路相當(dāng)復(fù)雜,大概需要十幾片數(shù)字集成塊,其功能也主要依賴于數(shù)字電路的各功能模塊的組合來(lái)實(shí)現(xiàn),焊接的過(guò)程比較復(fù)雜,成本也非常高。若用單片機(jī)來(lái)設(shè)計(jì)制作完成,由于其功能的實(shí)現(xiàn)主要通過(guò)軟件編程來(lái)完成,那么就降低了硬件電路的復(fù)雜性,而且其成本也有所降低,所以在該設(shè)計(jì)中采用單片機(jī)利AT89C51,它是低功耗、高性能的CMOS型8位單片機(jī)。片內(nèi)帶有4KB的Flash存儲(chǔ)器,且允許在系統(tǒng)內(nèi)改寫(xiě)或用編程器編程。另外,AT89C51的指令系統(tǒng)和引腳與8051完全兼容,片內(nèi)有128B的RAM、32條I/O口線、2個(gè)16位定時(shí)計(jì)數(shù)器、5個(gè)中斷源、一個(gè)全雙工串行口等。AT89C51單片機(jī)結(jié)合七段顯示器設(shè)計(jì)的簡(jiǎn)易定時(shí)鬧鈴時(shí)鐘,可以設(shè)置現(xiàn)在的時(shí)間及顯示鬧鈴設(shè)置時(shí)間,若時(shí)間到則發(fā)出一陣聲響,進(jìn)-步可以擴(kuò)充控制電器的啟停關(guān)鍵詞:?jiǎn)纹瑱C(jī)時(shí)鐘鬧鈴1、總體方案設(shè)計(jì)電子鬧鐘應(yīng)包括復(fù)位電路、時(shí)鐘電路、時(shí)間顯示電路、按鍵電路、供電電源以及鬧鈴指示電路等幾部分。CPU復(fù)位、時(shí)鐘等電CPU復(fù)位、時(shí)鐘等電路按鈕電路6位數(shù)碼管顯示電路鬧鈴聲指示電路電源圖1電子鬧鐘的主電路指的是圖1中虛線框內(nèi)部分,主要涉及到CPU電路和按鍵按鈕電路。主機(jī)的設(shè)計(jì)具體地說(shuō)有:1)系統(tǒng)時(shí)鐘電路設(shè)計(jì);2)系統(tǒng)復(fù)位電路設(shè)計(jì);3)按鍵與按鈕電路設(shè)計(jì);4)鬧鈴聲指示電路設(shè)計(jì)。設(shè)計(jì)內(nèi)容包括了時(shí)間顯示電路、按鍵電路、供電電源以及鬧鈴指示電路等幾部分的設(shè)計(jì).采用五個(gè)開(kāi)關(guān)來(lái)控制定時(shí)鬧鐘的工作狀態(tài),按鍵功能說(shuō)明:K1、調(diào)整時(shí)間的小時(shí);K2、調(diào)整鬧鐘的小時(shí);K3、調(diào)整時(shí)鐘分鐘和鬧鐘的分鐘;K4、調(diào)整確認(rèn)及查看鬧鐘設(shè)定的時(shí)間;K5、復(fù)位鍵。課程設(shè)計(jì)準(zhǔn)備中我們根據(jù)具體的要求,查找資料,然后按要求根據(jù)已學(xué)過(guò)的時(shí)鐘程序用KEILC編寫(xiě)定時(shí)鬧鐘的程序,依據(jù)程序利用proteus7.3軟件進(jìn)行了仿真試驗(yàn),對(duì)出現(xiàn)的問(wèn)題進(jìn)行分析和反復(fù)修改源程序,最終得到正確并符合要求的結(jié)果。設(shè)計(jì)完成的定時(shí)鬧鐘達(dá)到課程設(shè)計(jì)的要求,在到達(dá)定時(shí)的時(shí)間便立即發(fā)出蜂鳴聲音,持續(xù)一分鐘,顯示采用的六位陽(yáng)極數(shù)碼管電路.2、硬件設(shè)計(jì)2。1系統(tǒng)時(shí)鐘電路設(shè)計(jì)對(duì)于時(shí)間要求不是很高的系統(tǒng),只要按圖進(jìn)行設(shè)計(jì)就能使系統(tǒng)可靠起振并穩(wěn)定運(yùn)行。但由于原理圖中的C1、C2電容起著系統(tǒng)時(shí)鐘頻率微調(diào)和穩(wěn)定的作用,因此,在本鬧鐘系統(tǒng)的實(shí)際應(yīng)用中一定要注意正確選擇參數(shù)(30±10PF),并保證對(duì)稱性(盡可能匹配),選用正牌廠家生產(chǎn)的瓷片或云母電容,如果可能的話,溫度系數(shù)要盡可能低。實(shí)驗(yàn)表明,這2個(gè)電容元件對(duì)鬧鐘的走時(shí)誤差有較大關(guān)系。2.2系統(tǒng)復(fù)位電路的設(shè)計(jì)智能系統(tǒng)一般應(yīng)有手動(dòng)或上電復(fù)位電路.復(fù)位電路的實(shí)現(xiàn)通常有兩種方式:1)RC上電復(fù)位電路;2)專用μP監(jiān)控電路.前者實(shí)現(xiàn)簡(jiǎn)單,成本低,但復(fù)位可靠性相對(duì)較低;后者成本較高,但復(fù)位可靠性高,尤其是高可靠重復(fù)復(fù)位。對(duì)于復(fù)位要求高、并對(duì)電源電壓進(jìn)行監(jiān)視的場(chǎng)合,大多采用這種方式。本次課程設(shè)計(jì)采用了上電按鈕電平復(fù)位電路。2。3鬧鐘指示電路設(shè)計(jì)鬧鈴指示可以有聲或光兩種形式。本系統(tǒng)采用聲音指示。關(guān)鍵元件是蜂鳴器。蜂鳴器有無(wú)源和有源兩種,前者需要輸入聲音頻率信號(hào)才能正常發(fā)聲,后者則只需外加適當(dāng)直流電源電壓即可,元件內(nèi)部已封裝了音頻振蕩電路,在得電狀態(tài)下即起振發(fā)聲。市場(chǎng)上的有源蜂鳴器分為3V、5V、6V等系列,以適應(yīng)不同的應(yīng)用需要。鬧鐘電路是用比較器來(lái)比較計(jì)時(shí)系統(tǒng)和定時(shí)系統(tǒng)的輸出狀態(tài),如果計(jì)時(shí)系統(tǒng)和定時(shí)系統(tǒng)的輸出狀態(tài)相同,則發(fā)出一個(gè)脈沖信號(hào),再和一個(gè)高頻信號(hào)混合,送到放大電路驅(qū)動(dòng)揚(yáng)聲器發(fā)聲,從而實(shí)現(xiàn)定時(shí)鬧響的功能。其電路設(shè)計(jì)參見(jiàn)系統(tǒng)原理圖。2.4電子鬧鐘的顯示電路設(shè)計(jì)本次課程設(shè)計(jì)采用了6位數(shù)碼管顯示電路.在6位LED顯示時(shí),為了簡(jiǎn)化電路,降低成本,采用動(dòng)態(tài)顯示的方式,6個(gè)LED顯示器共用一個(gè)8位的I/O,6位LED數(shù)碼管的位選線分別由相應(yīng)的P2。0~P2。5控制,而將其相應(yīng)的段選線并聯(lián)在一起,由一個(gè)8位的I/O口控制,即P0口。譯碼顯示電路將“時(shí)”,“分”、“秒”計(jì)數(shù)器的輸出狀態(tài)七段顯示譯碼器譯碼,通過(guò)6位LED七段顯示器顯示出來(lái)。到達(dá)定時(shí)電路時(shí)根據(jù)計(jì)時(shí)系統(tǒng)的輸出狀態(tài)產(chǎn)生一脈沖信號(hào),然后去觸發(fā)一蜂鳴器實(shí)現(xiàn)鬧鈴。校時(shí)電路時(shí)用來(lái)對(duì)“時(shí)”、“分”顯示數(shù)字進(jìn)行校對(duì)調(diào)整的.3軟件設(shè)計(jì)3.1概述軟件設(shè)計(jì)的重點(diǎn)在于秒脈沖信號(hào)的產(chǎn)生、顯示的實(shí)現(xiàn)、以及按鍵的處理等方面。基于軟件的秒脈沖信號(hào)通常有延時(shí)法和定時(shí)中斷法.延時(shí)法一般采用查詢方式,在延時(shí)子程序前后必然需要查詢和處理的程序,導(dǎo)致誤差的產(chǎn)生,因此其秒脈沖的精度不高;中斷法的原理是,利用單片機(jī)內(nèi)部的定時(shí)器溢出中斷來(lái)實(shí)現(xiàn)。例如,設(shè)定某定時(shí)器每100ms中斷1次,則10次的周期為1s.本系統(tǒng)中所使用的晶振頻率為12MHZ。3.2系統(tǒng)軟件主模塊的設(shè)計(jì)主模塊是系統(tǒng)軟件的主框架.結(jié)構(gòu)化程序設(shè)計(jì)一般有“自上而下”和“自下而上”兩種方式,“自上而下"法的核心就是主框架的構(gòu)建。它的合理與否關(guān)系到程序最終的功能的多少和性能的好壞。本系統(tǒng)的主模塊的程序框圖如下圖2所示:CPU初CPU初始化定時(shí)0初始化中斷初始化串口初始化顯示待機(jī)指示符設(shè)定鬧鈴時(shí)間判設(shè)置鬧鈴時(shí)間否?顯示刷新啟動(dòng)走時(shí)有關(guān)變量初始化刷新顯示判時(shí)或分變化否?秒指示判1秒到否?鬧鈴判是否到鬧鈴時(shí)間?延時(shí)YYYY圖23.3基本顯示模塊設(shè)計(jì)基本顯示模塊設(shè)計(jì)的重點(diǎn)是由顯示代碼取得相應(yīng)的段碼,顯示段碼數(shù)據(jù)的并行發(fā)送,高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術(shù),因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計(jì)時(shí)時(shí),譯碼代替機(jī)械式傳動(dòng),用LED顯示器代替顯示器代替指針顯示進(jìn)而顯示時(shí)間,減小了計(jì)時(shí)誤差,這種表具有時(shí),分,秒顯示時(shí)間的功能,還可以進(jìn)行時(shí)和分的校對(duì),片選的靈活性好。程序流程如圖3所示。將16進(jìn)制時(shí)分秒數(shù)據(jù)轉(zhuǎn)化為BCD顯示代碼將16進(jìn)制時(shí)分秒數(shù)據(jù)轉(zhuǎn)化為BCD顯示代碼關(guān)顯示以免顯示抖動(dòng)關(guān)顯示以免顯示抖動(dòng)通過(guò)串口將時(shí)分秒數(shù)據(jù)傳入數(shù)碼管通過(guò)串口將時(shí)分秒數(shù)據(jù)傳入數(shù)碼管打開(kāi)顯示打開(kāi)顯示圖33。4時(shí)間設(shè)定模塊設(shè)計(jì)設(shè)置鍵嗎?設(shè)置模塊初始化將在編參數(shù)送顯示緩沖區(qū)閃爍標(biāo)志為真?將當(dāng)前位的顯示代碼置暗代碼調(diào)基本顯示模塊刷新顯示設(shè)置鍵嗎?設(shè)置鍵嗎?設(shè)置模塊初始化將在編參數(shù)送顯示緩沖區(qū)閃爍標(biāo)志為真?將當(dāng)前位的顯示代碼置暗代碼調(diào)基本顯示模塊刷新顯示設(shè)置鍵嗎?當(dāng)前編輯位下移(下一位)當(dāng)前編輯的是分各位?結(jié)束設(shè)定+鍵嗎?根據(jù)當(dāng)前位的性質(zhì)分別進(jìn)行+1處理(含上下限判斷)NNNNN圖43.5鬧鈴功能的實(shí)現(xiàn)鬧鈴功能的實(shí)現(xiàn)涉及到兩個(gè)方面:鬧鈴時(shí)間設(shè)定和是否鬧鈴判別與相應(yīng)處理。鬧鈴時(shí)間設(shè)定模塊的設(shè)計(jì)可參照時(shí)間設(shè)定模塊,這里著重闡述鬧鈴判別與處理模塊的設(shè)計(jì)問(wèn)題.鬧鈴判別與鬧鈴處理的關(guān)鍵在于判別何時(shí)要進(jìn)行鬧鈴.當(dāng)時(shí)十位、時(shí)個(gè)位、分十位、分個(gè)位中任一位發(fā)生改變(進(jìn)位)時(shí),就必須進(jìn)行鬧鈴判別。譯碼顯示電路將“時(shí)”、“分”、“秒”計(jì)數(shù)器的輸出送到七段顯示譯碼驅(qū)動(dòng)器譯碼驅(qū)動(dòng),通過(guò)六個(gè)七段LED顯示器顯示出來(lái).鬧鈴電路根據(jù)計(jì)時(shí)系統(tǒng)的輸出狀態(tài)產(chǎn)生一脈沖信號(hào),然后加上一個(gè)高頻或低頻信號(hào)送到放大電路驅(qū)動(dòng)蜂鳴器發(fā)聲實(shí)現(xiàn)報(bào)時(shí)。校時(shí)電路是直接加一個(gè)脈沖信號(hào)到時(shí)計(jì)數(shù)器或者分計(jì)數(shù)器或者秒計(jì)數(shù)器來(lái)對(duì)“時(shí)”、“分”、“秒”顯示數(shù)字進(jìn)行校對(duì)調(diào)整。其流程圖如下所示:時(shí)十位、個(gè)位,分十位時(shí)十位、個(gè)位,分十位、個(gè)位改變了設(shè)置鬧鈴標(biāo)志是否設(shè)置了鬧鈴清除鬧鈴標(biāo)志判當(dāng)前時(shí)間是設(shè)定時(shí)間中斷返回中斷返回YNY鬧鈴判別處理圖5圖6在編程上,首先進(jìn)行了初始化定義了程序的入口地址以及中斷的入口地址,在主程序的開(kāi)始定義了一組固定單元用來(lái)存儲(chǔ)計(jì)數(shù)的秒,分,時(shí)以及定時(shí)時(shí)間的序號(hào)等。在顯示程序段中主要進(jìn)行了閃爍的處理,采用定時(shí)器中斷置標(biāo)志位,再與位選相互結(jié)合的方法來(lái)控制調(diào)時(shí)或定時(shí)中的閃爍。時(shí),分,秒顯示則是用了軟件譯碼(查表)的方式,再用了一段固定的程序段進(jìn)行進(jìn)制轉(zhuǎn)化.初始化之后,用中斷方式對(duì)其計(jì)數(shù),計(jì)數(shù)的同時(shí)采用了定時(shí)器比較的方法,比較當(dāng)前計(jì)數(shù)時(shí)間與定時(shí)時(shí)間是否相等,若相等則將鬧鈴標(biāo)志位置數(shù)。由于定義了定時(shí)鬧鐘組,在這里采用中斷組次,每中斷一次比較一組鬧鐘,避免了一次比較中斷時(shí)間過(guò)長(zhǎng),影響下次中斷時(shí)間.顯示之后查詢鬧鈴標(biāo)志位是否與前面所置數(shù)相等,若相等則響鈴。為了避免響鈴影響顯示,采用了每顯示幾屏以后在顯示程序中出現(xiàn)脈沖,驅(qū)動(dòng)喇叭,不會(huì)影響顯示.之后用查詢方式對(duì)按鍵進(jìn)行判斷,若有鍵按下,則進(jìn)行軟件延時(shí)消抖,避免了抖動(dòng)引起的干擾,執(zhí)行相應(yīng)的定時(shí),選時(shí)或調(diào)時(shí)程序段。對(duì)當(dāng)前時(shí)間或定時(shí)時(shí)間修改后又返回到最初的顯示程序段,如此循環(huán)下去。參考文獻(xiàn)【1】林潔.單片機(jī)應(yīng)用實(shí)例開(kāi)發(fā).西安電子科技大學(xué)出版社,2009【2】張毅剛。單片機(jī)原理及應(yīng)用。北京高等教育出版社,2005【3】李法春.單片機(jī)原理及接口技術(shù)案例教程.北京機(jī)械工業(yè)出版社,2008【4】李全利.單片機(jī)原理及應(yīng)用技術(shù)。北京高等教育出版社,2001【5】徐江海.單片機(jī)實(shí)用教程。北京機(jī)械工業(yè)出版社,20064附錄4.1元件清單:六位共陽(yáng)極數(shù)碼管1個(gè)7404反向器1個(gè)AT89C511個(gè)按鈕5個(gè)晶振1個(gè)30pF電容2個(gè)10pF電容1個(gè)上拉電阻A102G1個(gè)NPN三極管1個(gè)1KΩ電阻2個(gè)喇叭1個(gè)4。2程序附錄: ORG0000HLJMPSTARTORG000BHLJMPTIMESTART:MOVSP,#50H MOV20H,#00H;定義秒 MOV21H,#00H;定義分MOV22H,#00H;定義時(shí)MOV23H,#01H;定義鬧鐘分鐘MOV24H,#01H ;定義鬧鐘小時(shí)MOV25H,#00H MOV26H,#01HMOV30H,#00H;BCDSECONDMOV31H,#00HMOV32H,#00H;BCDMINUTEMOV33H,#00HMOV34H,#00H;BCDHOURMOV35H,#00HMOV36H,#01HMOV37H,#00HMOV38H,#01HMOV39H,#00H MOV50H,#00H;按鍵次數(shù) MOVTMOD,#01H;16位計(jì)數(shù)器MOVTH0,#03CH;賦初值MOVTL0,#0B0HMOVIE,#87H;中斷允許SETBTR0;啟動(dòng)T0MOVR2,#14HMOVP2,#0FFH CLRP3.7MAIN:LCALLTIMEPRO ;調(diào)用鬧鐘判斷GB: LCALLDISPLAY1 ;調(diào)用時(shí)間顯示JBP1.3,M1;P1。3=1時(shí)轉(zhuǎn)移S4沒(méi)有按下LCALLSETTIME;調(diào)用SETTIME調(diào)時(shí)子程序LJMPMAINM1:JBP1.2,M2;P1g。2=1時(shí)轉(zhuǎn)移S3LCALLSETATIME;調(diào)用SETATIME子程序LJMPMAINM2:JBP1。0,M4;P1.0=1時(shí)轉(zhuǎn)移S1LCALLLOOKATIME;調(diào)用LOOKATIME顯示鬧鐘子程序M4:LJMPMAIN;;;;;;;;延時(shí)子程序;;;;;;;;DELAY:MOVR4,#030HDL00:MOVR5,#0FFHDL11:MOVR6,#9HDL12:DJNZR6,DL12DJNZR5,DL11DJNZR4,DL00RET ;;;;;;;時(shí)間調(diào)整;;;;;;;;;SETTIME: ;設(shè)置時(shí)間L0:LCALLDISPLAY1MM1:JBP1.3,L1;P1。3=1時(shí)轉(zhuǎn)移MOVC,P1。3JCMM1LCALLDELAY1;延時(shí)JCMM1MSTOP1:MOVC,P1。3 ;P1.3為0時(shí)轉(zhuǎn)移JNCMSTOP1LCALLDELAY1 ;延時(shí) MOVA,50H INC50H CJNEA,#00H,HJ1 LJMPL0HJ1:MOVC,P1。3JNCMSTOP1INC22H;小時(shí)自加一MOVA,22HCJNEA,#18H,GO12;小時(shí)計(jì)數(shù)循環(huán)MOV22H,#00H;復(fù)位MOV34H,#00HMOV35H,#00HLJMPL0L1:JBP1.1,L2;P1。1=1時(shí)轉(zhuǎn)移MOVC,P1.1JCL1LCALLDELAY1;延時(shí)JCL1MSTOP2:MOVC,P1。1 ;P1。1=0時(shí)轉(zhuǎn)移JNCMSTOP2LCALLDELAY1;延時(shí)MOVC,P1。1JNCMSTOP2INC21H;分鐘加一MOVA,21HCJNEA,#3CH,GO11;分鐘計(jì)數(shù)循環(huán)MOV21H,#00H;復(fù)位MOV32H,#00HMOV33H,#00HLJMPL0GO11:MOVB,#0AHDIVABMOV32H,B;將A的低4位存入32單元MOV33H,A;將A的高4位存入33單元LJMPL0GO12:MOVB,#0AHDIVABMOV34H,B;將A的低4位存入34單元MOV35H,A;將A的高4位存入35單元LJMPL0L2:JBP1.0,L0;P1。0=1時(shí)轉(zhuǎn)移MOVC,P1。0JCL2LCALLDELAY1;延時(shí)MOVC,P1。0JCL2STOP1:MOVC,P1。0 ;P1.0=0時(shí)轉(zhuǎn)移JNCSTOP1LCALLDELAY1;延時(shí)MOVC,P1。0JNCSTOP1 MOV50H,#00HLJMPMAIN;;;;;;設(shè)置鬧鐘;;;;;;;;SETATIME:LCALLDISPLAY2;調(diào)用DISPLAY2顯示鬧鐘N0:LCALLDISPLAY2MM2:JBP1.2,N1;P1。2=1時(shí)轉(zhuǎn)移MOVC,P1。2JCMM2LCALLDELAY1;延時(shí)JCMM2MSTOP3:MOVC,P1。2 ;P1。2=0時(shí)轉(zhuǎn)移JNCMSTOP3LCALLDELAY1;延時(shí) MOVA,50H INC50H CJNEA,#00H,HJ2 LJMPN0HJ2:MOVC,P1。2JNCMSTOP3INC24H;小時(shí)加一MOVA,24HCJNEA,#24,GO22;小時(shí)計(jì)數(shù)循環(huán)MOV24H,#00H;復(fù)位MOV38H,#00HMOV39H,#00HLJMPN0N1:JBP1.1,N2;P1。1=1時(shí)轉(zhuǎn)移MOVC,P1。1JCN1LCALLDELAY1;延時(shí)JCN1MSTOP4:MOVC,P1。1 ;P1。1=0時(shí)轉(zhuǎn)移JNCMSTOP4LCALLDELAY1;延時(shí)MOVC,P1。1JNCMSTOP4INC23H;分鐘加一MOVA,23HCJNEA,#60,GO21;分鐘計(jì)數(shù)循環(huán)MOV23H,#00H;復(fù)位MOV36H,#00HMOV37H,#00HLJMPN0GO21:MOVB,#0AHDIVABMOV36H,B;將A的低4位存入36單元MOV37H,A;將A的高4位存入37單元LJMPN0GO22:MOVB,#0AHDIVABMOV38H,B;將A的低4位存入38單元MOV39H,A;將A的高4位存入39單元LJMPN0N2:JBP1.0,N0;P1.0=1時(shí)轉(zhuǎn)移MOVC,P1。0JCN2LCALLDELAY1;延時(shí)MOVC,P1.0JCN2STOP2:MOVC,P1。0JNCSTOP2LCALLDELAY1MOVC,P1。0JNCSTOP2 MOV50H,#00HLJMPMAINTIMEPRO:MOVA,21HMOVB,23HCJNEA,B,BK;判斷定時(shí)鬧鐘的分鐘MOVA,22HMOVB,24HCJNEA,B,BK;判斷定時(shí)鬧鐘的小時(shí)SETB25H。0MOVC,25H。0LCALLTIMEOUT;調(diào)用TIMEOUTBK:RETTIMEOUT:X1:LCALLBZ;調(diào)用喇叭響應(yīng)程序LCALLDISPLAY2;延時(shí)CLR25H.0;調(diào)用喇叭響應(yīng)程序結(jié)束JBP1.0,X1;P1。0=1時(shí)轉(zhuǎn)移LCALLDELAY ;延時(shí)CLR25H.0LJMPDISPLAY1BZ:CLRP3。7MOVR7,#250;喇叭響應(yīng)時(shí)間T2:MOVR6,#124T3:DJNZR6,T3DJNZR7,T2SETBP3。7RETLOOKATIME:LCALLDISPLAY2MM:JNBP1。0,LOOKATIMELCALLDELAY1LJMPMAINDELAY1:MOVR4,#14H;時(shí)間延時(shí)DL001:MOVR5,#0FFHDL111:DJNZR5,DL111DJNZR4,DL001RET;;;;;;;;;;;;定時(shí);;;;;;;;;;;;TIME:PUSHACC;保護(hù)現(xiàn)場(chǎng)PUSHPSWMOV TH0,#03CH;初值 MOV TL0,#0B0H DJNZR2,RET0 MOV R2,#14H MOVA,20H CLRC INCA;秒自加一 CJNE A,#3CH,GO1;秒計(jì)數(shù)循環(huán) MOV20H,#0;復(fù)位MOV30H,#0MOV31H,#0 MOV A,21H INCA;分鐘自加一CJNEA,#3CH,GO2;分鐘計(jì)數(shù)循環(huán)MOV21H,#0H;復(fù)位MOV32H,#0MOV33H,#0 MOV A,22H INC A;小時(shí)自加一 CJNEA,#18H,GO3;小時(shí)計(jì)數(shù)循環(huán) MOV22H,#00H;復(fù)位MOV34H,#0MOV35H,#0 AJMPRET0GO1: MOV 20H,AMOVB,#0AHDIVABMOV31H,A;將A的低4位存入31單元MOV30H,B;將A的高4位存入30單元 AJMPRET0GO2:MOV21H,AMOVB,#0AHDIVABMOV33H,A;將A的低4位存入33單元MOV32H,B;將A的高4位存入32單元 AJMP RET0GO3: MOV 22H,AMOVB,#0AHDIVABMOV35H,A;將A的低4位存入35單元MOV34H,B;將A的高4位存入34單元 AJMP RET0RET0:POPPSW;恢復(fù)現(xiàn)場(chǎng)POPACCRETI;;;;;;;;;;;顯示子程序;;;;;;;;;;;DISPLAY1: MOV R0,#30HMOVR3,#0FEHMOVA,R3PLAY1:MOVP2,AMOVA,@R0;取要顯示的數(shù)據(jù)MOVDPTR,#DSEG1;指向字形段碼首地址MOVCA,@A+DPTR CPLA;查表取字形段碼MOVP0,A;指向P0口

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論