![基于單片機(jī)的作息時(shí)間控制鐘系統(tǒng)設(shè)計(jì)_第1頁](http://file4.renrendoc.com/view/95ebf7e8b4ec236f048ca1d8d012a199/95ebf7e8b4ec236f048ca1d8d012a1991.gif)
![基于單片機(jī)的作息時(shí)間控制鐘系統(tǒng)設(shè)計(jì)_第2頁](http://file4.renrendoc.com/view/95ebf7e8b4ec236f048ca1d8d012a199/95ebf7e8b4ec236f048ca1d8d012a1992.gif)
![基于單片機(jī)的作息時(shí)間控制鐘系統(tǒng)設(shè)計(jì)_第3頁](http://file4.renrendoc.com/view/95ebf7e8b4ec236f048ca1d8d012a199/95ebf7e8b4ec236f048ca1d8d012a1993.gif)
![基于單片機(jī)的作息時(shí)間控制鐘系統(tǒng)設(shè)計(jì)_第4頁](http://file4.renrendoc.com/view/95ebf7e8b4ec236f048ca1d8d012a199/95ebf7e8b4ec236f048ca1d8d012a1994.gif)
![基于單片機(jī)的作息時(shí)間控制鐘系統(tǒng)設(shè)計(jì)_第5頁](http://file4.renrendoc.com/view/95ebf7e8b4ec236f048ca1d8d012a199/95ebf7e8b4ec236f048ca1d8d012a1995.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
課程設(shè)計(jì)任務(wù)書單片機(jī)作息時(shí)間控制系統(tǒng)設(shè)計(jì)的目的和意義:隨著計(jì)算機(jī)技術(shù)的發(fā)展和在控制系統(tǒng)中的廣泛應(yīng)用,以及設(shè)備向小型化、智能化發(fā)展,作為高新技術(shù)之一的單片機(jī)以其體積小、功能強(qiáng)、價(jià)格低廉、使用靈活等優(yōu)勢,顯示出了很強(qiáng)的生命力。進(jìn)入21世紀(jì)以來,開發(fā)推出單片機(jī)的公司很多,各種高性能單片機(jī)芯片市場也異常活躍,新技術(shù)的不斷采用,更加使單片機(jī)的種類、性能以及應(yīng)用領(lǐng)域不斷擴(kuò)大和提高。因其功耗低,超高型,低成本,功能完整,在國內(nèi)越來越受到用戶的重視和廣泛使用。隨著科技的進(jìn)步和技術(shù)不斷的提升。一塊大而復(fù)雜的模擬電路花費(fèi)了您巨大的精力,繁多的元器件增加了您的成本。而現(xiàn)在,只需要一塊幾厘米見方的單片機(jī),寫入簡單的程序,就可以使您以前的電路簡單很多。相信您在使用并掌握了單片機(jī)技術(shù)后,不管在您今后開發(fā)或是工作上,一定會(huì)帶來意想不到的驚喜。以AT89S52為核心控制器件的作息時(shí)間控制鐘,由鍵盤、聲音輸出模塊、電源轉(zhuǎn)換模塊和存儲模塊四部分組成。它利用AT89S52的定時(shí)/計(jì)數(shù)器來計(jì)算時(shí)間,并用存儲器記錄數(shù)據(jù),保證了系統(tǒng)的可靠性。AT89S52單片機(jī)是整個(gè)設(shè)計(jì)的核心控制器件,根據(jù)從鍵盤接受的數(shù)據(jù)控制整個(gè)系統(tǒng)的工作流程。整體性好,人性化強(qiáng)、可靠性高,實(shí)現(xiàn)了對時(shí)間控制的智能化,擺脫了傳統(tǒng)由人來控制時(shí)間的長短的不便,是現(xiàn)代學(xué)校必不可少的設(shè)備。本次校園作息時(shí)間控制系統(tǒng)主要用于學(xué)校,對一些以24小時(shí)為周期的開關(guān)量進(jìn)行自動(dòng)控制。如上下課打鈴及擴(kuò)音設(shè)備的開與關(guān)。采用AT89S52單片機(jī)來實(shí)現(xiàn)對上述開關(guān)量的控制,利用24C02芯片來存儲數(shù)據(jù),設(shè)有六位數(shù)碼管、可以實(shí)時(shí)顯示時(shí)間、系統(tǒng)還設(shè)有輸入鍵盤,用以修改實(shí)時(shí)時(shí)鐘,體現(xiàn)了系統(tǒng)簡單、工作穩(wěn)定可靠、價(jià)廉、控制時(shí)間精確及系統(tǒng)體積小等優(yōu)點(diǎn)。關(guān)鍵詞:作息時(shí)間控制;AT89S52;24C021緒論..............................................................11.1背景介紹.................................................................錯(cuò)誤!未定義書簽。1.2作息時(shí)間控制鐘概述...............................................................................12硬件介紹....................................................................................................................22.1硬件仿真環(huán)境介紹...................................................................................22.2系統(tǒng)整體設(shè)計(jì)...........................................................................................22.3控制鐘硬件設(shè)計(jì).......................................................................................32.4系統(tǒng)整體電路圖......................................................................................43作息時(shí)間控制鐘軟件設(shè)計(jì).........................................................................................63.1總體介紹...................................................................................................63.2軟件環(huán)境介紹...........................................................................................63.3流程圖介紹...............................................................................................63.3.1系統(tǒng)主程序.......................................................................................63.3.2系統(tǒng)數(shù)據(jù)讀寫子程序.....................................................................103.3.3顯示子程序.....................................................................................143.3.4報(bào)警掃描子程序.............................................................................193.3.5鍵盤掃描子程序.............................................................................203.3.6設(shè)置時(shí)鐘子程序.............................................................................223.3.7T1定時(shí)器中斷子程序...................................................................254系統(tǒng)調(diào)試..................................................................................................................285結(jié)論...........................................................................................................................296附錄...........................................................................................................................246.1參考文獻(xiàn).........................................................................................306.2主要元件列表..................................................................................311緒論1.1背景介紹隨著計(jì)算機(jī)技術(shù)的發(fā)展和在控制系統(tǒng)中的廣泛應(yīng)用,以及設(shè)備向小型化、智能化發(fā)展,作為高新技術(shù)之一的單片機(jī)以其體積小、功能強(qiáng)、價(jià)格低廉、使用靈活等優(yōu)勢,顯示出了很強(qiáng)的生命力。進(jìn)入21世紀(jì)以來,開發(fā)推出單片機(jī)的公司很多,各種高性能單片機(jī)芯片市場也異?;钴S,新技術(shù)的不斷采用,更加使單片機(jī)的種類、性能以及應(yīng)用領(lǐng)域不斷擴(kuò)大和提高。16位單片機(jī)的問世,使得單片機(jī)的科技含量及應(yīng)用躍上一個(gè)新的臺階。因其功耗低,超高型,低成本,功能完整,在國內(nèi)越來越受到用戶的重視和廣泛使用。本設(shè)計(jì)是一個(gè)具有報(bào)時(shí)功能的作息時(shí)間控制鐘。它利用AT89S52單片機(jī)的定時(shí)器計(jì)時(shí),進(jìn)行時(shí)間計(jì)算;在進(jìn)行時(shí)間計(jì)算,分每加一時(shí),都與規(guī)定的作息時(shí)間比較,如果相等則進(jìn)行相應(yīng)的控制或動(dòng)作。由鍵盤和顯示部分組成,系統(tǒng)擴(kuò)展八個(gè)按鍵用于報(bào)時(shí)及校正時(shí)間?,F(xiàn)代機(jī)關(guān)企業(yè),特別是學(xué)校要求對時(shí)間加以控制,要按時(shí)打鈴及播放廣播,以保證學(xué)習(xí)與工作的正常運(yùn)行。本設(shè)計(jì)實(shí)現(xiàn)了這些功能,給學(xué)校及其他機(jī)關(guān)企業(yè)帶來方便,整體性好,人性化強(qiáng)、可靠性高,實(shí)現(xiàn)了對時(shí)間控制的智能化。1.2作息時(shí)間控制鐘概述科技的進(jìn)步需要技術(shù)不斷的提升。一塊大而復(fù)雜的模擬電路花費(fèi)了您巨大的精力,繁多的元器件增加了您的成本。而現(xiàn)在,只需要一塊幾厘米見方的單片機(jī),寫入簡單的程序,就可以使您以前的電路簡單很多。相信您在使用并掌握了單片機(jī)技術(shù)后,不管在您今后開發(fā)或是工作上,一定會(huì)帶來意想不到的驚喜。該系統(tǒng)以AT89S52為主體的設(shè)計(jì),整體性好,人性化強(qiáng)、可靠性高,實(shí)現(xiàn)了對時(shí)間控制的智能化,擺脫了傳統(tǒng)由人來控制時(shí)間的長短的不便,是現(xiàn)代學(xué)校必不可少的設(shè)備。2硬件介紹2.1硬件仿真環(huán)境介紹:Protues軟件是英國Labcenterelectronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件,從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺,其處理器模型支持8051、HC11、PIC10/DsPIC33、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。支持當(dāng)前的主流單片機(jī),如51系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、68000系列等。1)提供軟件調(diào)試功能2)提供豐富的外圍接口器件及其仿真RAM,ROM,鍵盤,馬達(dá),LED,LCD,AD/DA,部分SPI器件,部分IIC器件。這樣很接近實(shí)際。在訓(xùn)練學(xué)生時(shí),可以選擇不同的方案,這樣更利于培養(yǎng)學(xué)生。3)提供豐富的虛擬儀器利用虛擬儀器在仿真過程中可以測量外圍電路的特性,培養(yǎng)學(xué)生實(shí)際硬件的調(diào)試能力。4)具有強(qiáng)大的原理圖繪制功能2.2系統(tǒng)整體設(shè)計(jì)根據(jù)設(shè)計(jì)要求畫出系統(tǒng)框圖,如圖1.1所示:圖2.1系統(tǒng)總體框圖該系統(tǒng)是由微處理器、存儲器、數(shù)碼顯示部分以及鍵盤輸入部分所組成。該控制系統(tǒng)用LED數(shù)碼管顯示時(shí)、分、秒時(shí)間,可以顯示實(shí)時(shí)時(shí)鐘,顯示鬧鈴時(shí)間,盡量減少時(shí)間積累誤差,具有秒閃功能。顯示電路采用了7407芯片來完成驅(qū)的功能,利用上拉電阻共同驅(qū)動(dòng)數(shù)碼管顯示時(shí)間。系統(tǒng)采用AT89S52作為處理器,利用24C02芯片作為數(shù)據(jù)存儲器,打鈴時(shí)間點(diǎn)數(shù)據(jù)存儲于非易失存儲器存儲24C02中,防止掉電丟失數(shù)據(jù);能逐個(gè)檢查、修改、刪除已設(shè)置的打鈴時(shí)間點(diǎn)和增加打鈴時(shí)間點(diǎn)。系統(tǒng)還設(shè)有輸入鍵盤,用以校正實(shí)時(shí)時(shí)鐘,設(shè)定鬧鈴時(shí)間,鍵盤設(shè)計(jì)簡單、易于操作。輸出驅(qū)動(dòng)電路部分,利用220V電源為系統(tǒng)提供供電,利用繼電器驅(qū)動(dòng),便于控制220V的電鈴。同時(shí)利用直流——交流轉(zhuǎn)換模塊為整個(gè)系統(tǒng)提供電源,更方便實(shí)際應(yīng)用。2.3控制鐘硬件設(shè)計(jì)按系統(tǒng)框圖分五個(gè)部分設(shè)計(jì)如下圖2.1。圖2.2硬件系統(tǒng)框圖系統(tǒng)以單片機(jī)為基本核心,利用24C02芯片可以記錄40個(gè)鬧鈴時(shí)間,并且可以長時(shí)間記錄時(shí)間,不會(huì)造成時(shí)間混亂,可以滿足正常的作息時(shí)間設(shè)置,簡單實(shí)用,可以滿足正常的生活。根據(jù)學(xué)校作息時(shí)間,可以得到需要打鈴的時(shí)間如下表所示:表2.1作息時(shí)間控制表2.4系統(tǒng)整體電路圖系統(tǒng)的整體的電路圖如下圖所示:圖2.3作息時(shí)間控制鐘系統(tǒng)整體電路圖3作息時(shí)間控制鐘軟件設(shè)計(jì)3.1總體介紹硬件平臺結(jié)構(gòu)一旦確定,大的功能框架即形成。軟件在硬件平臺上構(gòu)筑,完成各部分硬件的控制和協(xié)調(diào)。系統(tǒng)功能是由軟硬件共同實(shí)現(xiàn)的,由于軟件的可伸縮性,最終實(shí)現(xiàn)的系統(tǒng)功能可強(qiáng)可弱,差別可能很大。因此,軟件是本系統(tǒng)的靈魂。軟件采用模塊化設(shè)計(jì)方法,不僅易于編程和調(diào)試,也可減小軟件故障率和提高軟件的可靠性。同時(shí),對軟件進(jìn)行全面測試也是檢驗(yàn)錯(cuò)誤排除故障的重要手段。本程序用匯編語言設(shè)計(jì)。3.2軟件環(huán)境介紹:KeiluVision2是美國KeilSoftware公司出品的51語言軟件開發(fā)系統(tǒng),使用接近于傳統(tǒng)C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用,而且大大的提高了工作效率和項(xiàng)目開發(fā)周期,他還能嵌入?yún)R編,您可以在關(guān)鍵的位置嵌入,使程序達(dá)到接近于匯編的工作效率。KeilC51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全會(huì)使用keilc51來開發(fā)您的單片機(jī)應(yīng)用程序。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。3.3流程圖介紹軟件設(shè)計(jì)以定時(shí)器T1、T2定時(shí)、內(nèi)存讀取、時(shí)鐘顯示、鍵盤掃描、報(bào)警程序?yàn)橹鞒绦颉T谠O(shè)計(jì)中利用單片機(jī)時(shí)鐘計(jì)時(shí)集成電路完成計(jì)時(shí)的任務(wù),并500ms向單片機(jī)發(fā)一個(gè)中斷,中斷子程序有時(shí)鐘顯示及時(shí)間比較,如比較相等,則說明作息時(shí)間已到,發(fā)出指令控制電鈴開、關(guān)操作。3.3.1系統(tǒng)主程序根據(jù)控制鐘的設(shè)計(jì)要求,設(shè)計(jì)的程序的主流程圖如圖所示:圖3.1主程序流程圖流程圖程序如下:TF2EQU0CFH;T2中斷標(biāo)志控制位TR2EQU0CAH;T2啟動(dòng)/停止控制位ET2EQU0ADH;T2允許中斷控制位PT2EQU0BDH;T2優(yōu)先級控制位RCAP2LEQU0CAH;T2自動(dòng)重載低位RCAP2HEQU0CBH;T2自動(dòng)重載高位TL2EQU0CCH;T2計(jì)數(shù)器低位TH2EQU0CDH;T2計(jì)數(shù)器高位I2cStartEQU55H;I2C開始標(biāo)志I2cStopEQU0AAH;I2C結(jié)束標(biāo)志SDAEQU0B2H;I2C數(shù)據(jù)線SCLEQU0B3H;I2C時(shí)鐘線SHOW_CODEEQU80H;顯示段碼SHOW_BITEQU0A0H;顯示位碼KeyFlagEQU00H;按鍵標(biāo)志位S_FlashEQU01H;秒閃標(biāo)志位LED_FLAGEQU02H;LDE顯示模式標(biāo)志位BeforKeyEQU22H;上次采樣鍵值NowKeyEQU23H;現(xiàn)在次采樣鍵值LS_SEQU24H;臨時(shí)變量1LS_MEQU25H;臨時(shí)變量2LS_HEQU26H;臨時(shí)變量3CLOCK_DATA0EQU27H;時(shí)鐘秒CLOCK_DATA1EQU28H;時(shí)鐘分CLOCK_DATA2EQU29H;時(shí)鐘時(shí)SHOW_MOUDEEQU2AH;顯示模式SHOW_PCEQU2BH;顯示數(shù)據(jù)指針RingCountEQU2CH;報(bào)警數(shù)據(jù)個(gè)數(shù)ShowRingEQU2DH;顯示報(bào)警數(shù)據(jù)地址RINGDATAHEQU2EH;報(bào)警數(shù)據(jù)高位起始地址RINGDATALEQU57H;報(bào)警數(shù)據(jù)低位起始地址ORG0000HMOVSP,#10HSJMPSTARTORG0001BHAJMPINT_T1ORG0002BHCPLP3.5CLRTF2RETIORG00035HSTART:MOVTH2,#3CH;設(shè)置T2定時(shí)50msMOVTL2,#0B0HMOVRCAP2H,#3CHMOVRCAP2L,#0B0HSETBPT2SETBET2MOVTMOD,#60H;設(shè)置T1定時(shí)500ms(T2中斷10次,T1中斷5次MOVTH1,#0FBHMOVTL1,#0FBHSETBET1ACALLREAD_DATASETBEASETBTR2SETBTR1MOVCLOCK_DATA0,#0MOVCLOCK_DATA1,#0MOVCLOCK_DATA2,#12SETBLED_FLAGCLRP3.4AGAIN:MOVSHOW_MOUDE,#0;顯示模式0MOVSHOW_PC,#CLOCK_DATA0;顯示時(shí)鐘(傳時(shí)鐘地址指針ACALLDISPLAY;調(diào)用動(dòng)態(tài)掃描子程序ACALLCOMP_DATA;調(diào)用報(bào)警掃描子程序MOVBeforKey,NowKeyACALLGETKEY;調(diào)用鍵盤掃描子程序MOVNowKey,ACJNEA,BeforKey,AGAINCJNEA,#0,NEXT_KEY0SETBKeyFlagSJMPAGAINNEXT_KEY0:JNBKeyFlag,AGAINCLRKeyFlagCJNEA,#1,NEXT_KEY2ACALLSetTimer;調(diào)用設(shè)置時(shí)鐘子程序SJMPAGAINNEXT_KEY2:CJNEA,#2,AGAINACALLSetRing;調(diào)用設(shè)置報(bào)警子程序SJMPAGAIN;--------------------//主程序結(jié)束//3.3.2系統(tǒng)數(shù)據(jù)讀寫子程序系統(tǒng)中利用24C02存儲系統(tǒng)數(shù)據(jù),該芯片為單電源供電,工作電壓范圍為1.8-5.5V,低功耗CMOS技術(shù),自定時(shí)寫周期,頁面寫周期的典型值為2ms,具有硬件寫保護(hù)。通過串行I2C總線擴(kuò)展技術(shù)對數(shù)據(jù)進(jìn)行讀寫操作,節(jié)省了接口引腳數(shù),只利用兩根傳輸總線就可以實(shí)現(xiàn)全雙工同步數(shù)據(jù)傳送。其程序流程圖如下:24C02圖3.2數(shù)據(jù)讀寫子程序流程圖程序如下:I2C_START:;I2C開始SETBSDASETBSCLNOPCLRSDANOPCLRSCLRETI2C_STOP:;I2C結(jié)束CLRSDANOPSETBSCLNOPSETBSDARETI2C_SEND:;I2C發(fā)送一個(gè)字節(jié)MOVR7,#08CLRCSEND_BIT:RLCAMOVSDA,CNOPSETBSCLNOPCLRSCLDJNZR7,SEND_BITSETBSDANOPSETBSCLNOPCLRSCLRETI2C_RECEIVE:;I2C接收一個(gè)字節(jié)MOVR7,#08RECEIVE_BIT:SETBSCLNOPMOVC,SDARLCACLRSCLDJNZR7,RECEIVE_BITSETBSDANOPSETBSCLNOPCLRSCLRETREAD_24C02:;讀24C02ACALLI2C_STARTMOVA,#0A0HACALLI2C_SENDMOVA,R0ACALLI2C_SENDACALLI2C_STARTMOVA,#0A1HACALLI2C_SENDACALLI2C_RECEIVEACALLI2C_STOPRETWRITE_24C02:;寫24C02ACALLI2C_STARTMOVA,#0A0HACALLI2C_SENDMOVA,R0ACALLI2C_SENDMOVA,R1ACALLI2C_SENDACALLI2C_STOPRETREAD_DATA:;--------------------從24C02中讀取數(shù)據(jù)更新內(nèi)存MOVR2,#10READ_START_AGAIN:;讀開始標(biāo)志位MOVR0,#0CLREAACALLREAD_24C02SETBEACJNEA,#I2cSTART,READ_SUBSJMPWRITE_STOPREAD_SUB:DJNZR2,READ_START_AGAIN;讀開始位錯(cuò)誤刷新24C02WRITE_STOP:XRLA,#I2cSTARTJZREAD_NEXT1MOVR0,#0MOVR1,#I2cStartCLREAACALLWRITE_24C02;寫開始字節(jié)SETBEAMOVR7,#5ACALLDelay1msMOVR0,#1MOVR1,#I2cStopCLREAACALLWRITE_24C02;寫結(jié)束字節(jié)SETBEAMOVR7,#5ACALLDelay1msREAD_NEXT1:MOVR0,#1;讀數(shù)據(jù)地址;R1為間地址尋址寄存器MOVR3,#0;讀數(shù)據(jù)總數(shù);R2為數(shù)據(jù)緩存器READ_DATA_AGAIN:CLREAACALLREAD_24C02;讀高位SETBEAINCR0CJNEA,#I2cStop,READ_NEXT2;判斷是否是結(jié)束標(biāo)志SJMPREAD_EXITREAD_NEXT2:MOVR2,AMOVA,#RINGDATAHADDA,R3MOVR1,AMOVA,R2MOV@R1,ACLREAACALLREAD_24C02;讀低位SETBEAINCR0MOVR2,AMOVA,#RINGDATALADDA,R3MOVR1,AMOVA,R2MOV@R1,AINCR3CJNER3,#40,READ_DATA_AGAINREAD_EXIT:MOVRingCount,R3;更新報(bào)警數(shù)據(jù)個(gè)數(shù)RET3.3.3顯示子程序?qū)Χ辔籐ED顯示器的動(dòng)態(tài)顯示,通常都是采用動(dòng)態(tài)掃描的方法進(jìn)行顯示,即逐個(gè)循環(huán)點(diǎn)亮各位顯示器。這樣雖然在任一時(shí)刻只有一位顯示器被點(diǎn)亮,但是由于間隔時(shí)間較短,且人眼具有視覺殘留效應(yīng),看起來與全部顯示器持續(xù)點(diǎn)亮一樣。為了實(shí)現(xiàn)LED顯示器的動(dòng)態(tài)掃描,除了要給顯示器提供的輸入之外,還要對顯示器加位選擇控制,這就是通常所說的段控和位控。因此多位LED顯示器接口電路需要有兩個(gè)輸出口,其中一個(gè)用于輸出8位信號;另一個(gè)用于輸出段控制信號。其顯示模式有五種:0:正常顯示數(shù)據(jù);1:顯示調(diào)試模式(0,1位閃爍);2:顯示調(diào)試模式(2,3位閃爍);3:顯示調(diào)試模式(4,5位閃爍);4:顯示特殊字符模式。其程序流程圖如下:圖3.3顯示子程序流程圖程序如下:SHOW_NUMBER:;段碼DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDB40HSHOW_NULL:;空碼DB00H,38H,38H,3EH,37H,00HSHOW_BIT_CODE:;位碼DB0DFH,0EFH,0F7H,0FBH,0FDH,0FEH;------------------DISPLAY:;顯示子程序MOVR1,#6SHOW_AGAIN:MOVA,SHOW_MOUDEXRLA,#4JZSHOW_CHARMOVA,R1ACALLGETCODE;調(diào)用得到位數(shù)據(jù)子程序MOVDPTR,#SHOW_NUMBERMOVCA,@A+DPTRSJMPSHOW_TO_CODESHOW_CHAR:;顯示模式為4則顯示字符NULLMOVDPTR,#SHOW_NULLMOVA,R1DECAMOVCA,@A+DPTRSHOW_TO_CODE:MOVSHOW_BIT,#0FFH;-------顯示數(shù)據(jù)屏蔽MOVSHOW_CODE,AMOVA,R1MOVDPTR,#SHOW_BIT_CODE-1MOVCA,@A+DPTRMOVSHOW_BIT,AMOVR7,#1ACALLDelay1msDJNZR1,SHOW_AGAINMOVSHOW_BIT,#0FFH;--------顯示數(shù)據(jù)屏蔽RETDelay1ms:;-----------延時(shí)1MSMOVR5,#2DELAY:MOVR6,#0DJNZR6,$DJNZR5,DELAYDJNZR7,Delay1msRETGETCODE:;得到位數(shù)據(jù)子程序MOVB,#10DECARLAMOVDPTR,#FIND_BITJMP@A+DPTRFIND_BIT:;位散轉(zhuǎn)SJMPSHOW_0SJMPSHOW_1SJMPSHOW_2SJMPSHOW_3SJMPSHOW_4SJMPSHOW_5SHOW_0:;得到位0數(shù)據(jù)MOVR0,SHOW_MOUDECJNER0,#1,SHOW_LED_0JBS_Flash,SHOW_LED_0MOVA,#10RETSHOW_LED_0:MOVR0,SHOW_PCMOVA,@R0DIVABMOVA,BRET;得到位1數(shù)據(jù)SHOW_1:MOVR0,SHOW_MOUDECJNER0,#1,SHOW_LED_1JBS_Flash,SHOW_LED_1MOVA,#10RETSHOW_LED_1:MOVR0,SHOW_PCMOVA,@R0DIVABRETSHOW_2:;得到位2數(shù)據(jù)MOVR0,SHOW_MOUDECJNER0,#2,SHOW_LED_2JBS_Flash,SHOW_LED_2MOVA,#10RETSHOW_LED_2:MOVR0,SHOW_PCINCR0MOVA,@R0DIVABMOVA,BRETSHOW_3:;得到位3數(shù)據(jù)MOVR0,SHOW_MOUDECJNER0,#2,SHOW_LED_3JBS_Flash,SHOW_LED_3MOVA,#10RETSHOW_LED_3:MOVR0,SHOW_PCINCR0MOVA,@R0DIVABRET;得到位4數(shù)據(jù)SHOW_4:MOVR0,SHOW_MOUDECJNER0,#3,SHOW_LED_4JBS_Flash,SHOW_LED_4MOVA,#10RETSHOW_LED_4:MOVR0,SHOW_PCINCR0INCR0MOVA,@R0DIVABMOVA,BRETSHOW_5:;得到位5數(shù)據(jù)MOVR0,SHOW_MOUDECJNER0,#3,SHOW_LED_5JBS_Flash,SHOW_LED_5MOVA,#10RETSHOW_LED_5:MOVR0,SHOW_PCINCR0INCR0MOVA,@R0DIVABRET3.3.4報(bào)警掃描子程序通過掃描時(shí)鐘與定時(shí)時(shí)間是否相同來控制電鈴,其程序流程圖如下:圖3.4報(bào)警掃描子程序流程圖程序如下:COMP_DATA:;報(bào)警掃描子程序MOVA,RingCountJZCOMP_EXITMOVA,CLOCK_DATA0JNZCOMP_EXITMOVR2,RingCountCOMP_LOOP:MOVA,RINGDATAHCJNEA,CLOCK_DATA2,NEXT_COMPMOVA,RINGDATALCJNEA,CLOCK_DATA1,NEXT_COMPSETBP3.4SJMPCOMP_EXITNEXT_COMP:INCR0INCR1DJNZR2,COMP_LOOPCOMP_EXIT:RET3.2.5鍵盤掃描子程序系統(tǒng)利用獨(dú)立式鍵盤,作為系統(tǒng)的輸入設(shè)備,可以實(shí)現(xiàn)對時(shí)鐘的調(diào)整,以及對響鈴報(bào)警時(shí)間的設(shè)置,具有設(shè)計(jì)簡單,方便,使用的特點(diǎn)。程序如下:GETKEY:;掃描鍵盤得到鍵值子程序MOVA,P1CJNEA,#0FEH,GOTO_KEY2MOVA,#1RETGOTO_KEY2:CJNEA,#0FDH,GOTO_KEY3MOVA,#2RETGOTO_KEY3:CJNEA,#0FBH,GOTO_KEY4MOVA,#3RETGOTO_KEY4:CJNEA,#0F7H,GOTO_KEY5MOVA,#4RETGOTO_KEY5:CJNEA,#0EFH,GOTO_KEY6MOVA,#5RETGOTO_KEY6:CJNEA,#0DFH,GOTO_KEY7MOVA,#6RETGOTO_KEY7:CJNEA,#0BFH,GOTO_KEY8MOVA,#7RETGOTO_KEY8:CJNEA,#07FH,KEY_EXITMOVA,#8RETKEY_EXIT:MOVA,#0RET3.3.6設(shè)置時(shí)鐘子程序:利用鍵盤設(shè)置,通過模式左移右移來實(shí)現(xiàn)對時(shí)間的修改設(shè)置以及保存。其程序流程圖如下:等圖3.6設(shè)置時(shí)鐘子程序流程圖程序如下:SetTimer:;時(shí)鐘設(shè)置子程序MOVLS_S,CLOCK_DATA0;時(shí)鐘數(shù)據(jù)放臨時(shí)變量MOVLS_M,CLOCK_DATA1MOVLS_H,CLOCK_DATA2MOVSHOW_MOUDE,#1;顯示模式1MOVSHOW_PC,#LS_S;顯示數(shù)據(jù)指針轉(zhuǎn)臨時(shí)變量SetTimer_Again:ACALLDISPLAY;調(diào)用顯示掃描子程序ACALLCOMP_DATA;調(diào)用報(bào)警掃描子唾棄MOVBeforKey,NowKeyACALLGETKEY;調(diào)用鍵值掃描子程序MOVNowKey,ACJNEA,BeforKey,SetTimer_AgainCJNEA,#0,SetTimer_KEY0SETBKeyFlagSJMPSetTimer_AgainSetTimer_KEY0:JNBKeyFlag,SetTimer_AgainCLRKeyFlag;健值控制CJNEA,#03,SetTimer_KEY4;模式左移MOVA,SHOW_MOUDECJNEA,#3,SHOW_MOUDE_ADDMOVSHOW_MOUDE,#1AJMPSetTimer_AgainSHOW_MOUDE_ADD:INCSHOW_MOUDEAJMPSetTimer_AgainSetTimer_KEY4:CJNEA,#04,SetTimer_KEY5MOVA,SHOW_MOUDECJNEA,#1,ADD_M;秒加MOVA,LS_SCJNEA,#59,NOT_RESET_SMOVLS_S,#0AJMPSetTimer_AgainNOT_RESET_S:INCLS_SAJMPSetTimer_AgainADD_M:;分加CJNEA,#2,ADD_HMOVA,LS_MCJNEA,#59,NOT_RESET_MMOVLS_M,#0AJMPSetTimer_AgainNOT_RESET_M:INCLS_MAJMPSetTimer_AgainADD_H:;時(shí)加MOVA,LS_HCJNEA,#23,NOT_RESET_HMOVLS_H,#0AJMPSetTimer_AgainNOT_RESET_H:INCLS_HAJMPSetTimer_AgainSetTimer_KEY5:CJNEA,#05,SetTimer_KEY6MOVA,SHOW_MOUDECJNEA,#1,SUB_M;秒減MOVA,LS_SCJNEA,#0,NOT_SET_SMOVLS_S,#59AJMPSetTimer_AgainNOT_SET_S:DECLS_SAJMPSetTimer_AgainSUB_M:;分減CJNEA,#2,SUB_HMOVA,LS_MCJNEA,#0,NOT_SET_MMOVLS_M,#59AJMPSetTimer_AgainNOT_SET_M:DECLS_MAJMPSetTimer_AgainSUB_H:;時(shí)減MOVA,LS_HCJNEA,#0,NOT_SET_HMOVLS_H,#23AJMPSetTimer_AgainNOT_SET_H:DECLS_HAJMPSetTimer_AgainSetTimer_KEY6:;模式右移CJNEA,#06,SetTimer_KEY7MOVA,SHOW_MOUDECJNEA,#1,SHOW_MOUDE_SUBMOVSHOW_MOUDE,#3AJMPSetTimer_AgainSHOW_MOUDE_SUB:DECSHOW_MOUDEAJMPSetTimer_Again;退出SetTimer_KEY7:CJNEA,#07,SetTimer_KEY8SJMPEXIT_SetTimerSetTimer_KEY8:;保存退出CJNEA,#08,RETURN_SetTimerMOVCLOCK_DATA0,LS_SMOVCLOCK_DATA1,LS_MMOVCLOCK_DATA2,LS_HSJMPEXIT_SetTimerRETURN_SetTimer:AJMPSetTimer_AgainEXIT_SetTimer:RET3.3.7T1定時(shí)器中斷子程序主程序利用T1定時(shí)器的中斷來修改時(shí)間值,同時(shí)修改秒閃狀態(tài)、數(shù)碼管的閃爍,同時(shí)修改響鈴的狀態(tài),當(dāng)響鈴經(jīng)過20S后斷電。其流程圖如下:圖3.7T1定時(shí)器中斷子程序流程圖程序如下:INT_T1:;T1中斷子程序PUSHPSWPUSHACCCPLS_FlashJBLED_FLAG,NOT_CONTROL0SETBP3.1SJMPNOT_CONTROLNOT_CONTROL0:MOVC,S_FlashMOVP3.1,CNOT_CONTROL:JBS_Flash,INT_TI_EXITMOVA,CLOCK_DATA0CJNEA,#59,INC_CLOCK_DATA0MOVCLOCK_DATA0,#0MOVA,CLOCK_DATA1CJNEA,#59,INC_CLOCK_DATA1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- LY/T 3412-2024細(xì)表面人造板
- 統(tǒng)編版八年級歷史上冊《第6課 戊戌變法》聽課評課記錄
- 湘教版數(shù)學(xué)九年級上冊4.4《解直角三角形的應(yīng)用》聽評課記錄2
- 瓦匠施工安全責(zé)任協(xié)議書(2篇)
- 生活技能培訓(xùn)服務(wù)合同(2篇)
- 粵人版地理七年級上冊《第三節(jié) 世界的主要?dú)夂蝾愋汀仿犝n評課記錄1
- 北京課改版歷史七年級下冊第9課《經(jīng)濟(jì)重心的南移》聽課評課記錄
- 五年級下冊數(shù)學(xué)聽評課記錄《 -2、5倍數(shù) 》人教版
- 人教版數(shù)學(xué)七年級上冊4.4《課題學(xué)習(xí) 設(shè)計(jì)制作長方體形狀的包裝紙盒》聽評課記錄2
- 人教版七年級數(shù)學(xué)下冊 聽評課記錄 9.2 第1課時(shí)《一元一次不等式》
- 一年級二年級奧數(shù)暑期培優(yōu)題庫
- 室內(nèi)裝飾拆除專項(xiàng)施工方案
- 老年癡呆癥患者生活陪護(hù)協(xié)議
- 2024年-急診氣道管理共識課件
- 鋼筋工程精細(xì)化管理指南(中建內(nèi)部)
- 小學(xué)語文中段整本書閱讀的指導(dǎo)策略研究 中期報(bào)告
- 2024年山西省高考考前適應(yīng)性測試 (一模)英語試卷(含答案詳解)
- 浙教版2023-2024學(xué)年數(shù)學(xué)八年級上冊期末復(fù)習(xí)卷(含答案)
- 2024年中國鐵路投資集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 運(yùn)動(dòng)訓(xùn)練與康復(fù)治療培訓(xùn)資料
- 經(jīng)營開發(fā)部工作目標(biāo)責(zé)任書
評論
0/150
提交評論