定時鬧鐘的設(shè)計.doc_第1頁
定時鬧鐘的設(shè)計.doc_第2頁
定時鬧鐘的設(shè)計.doc_第3頁
定時鬧鐘的設(shè)計.doc_第4頁
定時鬧鐘的設(shè)計.doc_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余21頁可下載查看

下載本文檔

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

文檔簡介

河南理工大學(xué)本科課程設(shè)計報告摘要單片機(jī)是一種特殊的計算機(jī),它是在一塊半導(dǎo)體上集成了CPU ,RAM ,ROM ,定時器和輸入輸出接口電路,這種芯片在習(xí)慣上被稱為單片微型計算機(jī),簡稱計算機(jī)。由于它的集成度高,功能強(qiáng),通用性好,特別是它具有體積小,重量輕,成本低,功能強(qiáng)等優(yōu)點(diǎn),廣泛應(yīng)用于智能產(chǎn)業(yè)和工業(yè)自動化上。而51系列單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。這次課程設(shè)計通過對它的使用,讓我們對單片機(jī)能固有初步的了解,并能夠設(shè)計簡單的與單片機(jī)應(yīng)用有關(guān)的電路,從而在實(shí)踐中鞏固所學(xué)的知識。目前單片機(jī)滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實(shí)時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄象機(jī)、攝象機(jī)、全自動洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說自動控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。單片機(jī)是應(yīng)工業(yè)測控系統(tǒng)數(shù)字化,智能化的迫切要求而提出的。超大規(guī)模集成電路的出現(xiàn),通用CPU及外圍電路技術(shù)的發(fā)展成熟,為單片機(jī)的誕生與發(fā)展提供了可能單片機(jī)的發(fā)展完全從工業(yè)測控對象,環(huán)境,接口等特點(diǎn)出發(fā),其接口界面也是按照能靈活方便地構(gòu)成工業(yè)測控用計算機(jī)系統(tǒng)而設(shè)計的,他的出現(xiàn)標(biāo)志著計算機(jī)技術(shù)在工業(yè)領(lǐng)域的應(yīng)用開始走向成熟.本設(shè)計主要通過軟件編程來完成,降低了硬件電路的復(fù)雜性,而且其成本也有所降低,在該設(shè)計與制作中采用單片機(jī)AT89C51,它是低功耗、高性能的CMOS型8位單片機(jī)。 片內(nèi)帶有4KB的Flash存儲器,且允許在系統(tǒng)內(nèi)改寫或用編程器編程。另外, AT89C51的指令系統(tǒng)和引腳與8051完全兼容,片內(nèi)有128B 的RAM、32條I/O口線、2個16位定時計數(shù)器、5個中斷源、一個全雙工串行口等。本定時鬧鐘使用12MHZ晶振與單片機(jī)AT89C51相連接,通過軟件編程的方法實(shí)現(xiàn)了以了校時、定時功能。文章后附有電路原理圖、PCB板圖和程序清單,因本人在單片機(jī)編程方面是弱項,肯定有很多疏落不足之處,敬請老師能給與批評指正,從而使本人去的明顯的提高。目錄1 概述4 1.1各種設(shè)計方案的對比4 1.2定時鬧鐘設(shè)計的實(shí)現(xiàn)過程4 1.3定時鬧鐘實(shí)現(xiàn)的功能42 系統(tǒng)總體方案及硬件設(shè)計 5 2.1 鬧鐘定是系統(tǒng)的構(gòu)成 52.2 鬧鐘定時控制系統(tǒng)設(shè)計52.3 單片機(jī)最小系統(tǒng)設(shè)計62.4 定時鬧鐘顯示器設(shè)置83 軟件設(shè)計 93.1 程序流程圖93.2 主程序部分93.3 時間控制部分介紹113.4 顯示程序介紹133.5 調(diào)時與判斷部分介紹114 Proteus軟件仿真 184.1 故障狀態(tài)仿真圖184.2 工作狀態(tài)仿真圖18 5 課程設(shè)計體會 19參考文獻(xiàn)附1:源程序代碼附2:系統(tǒng)原理圖1 概述1.1 各種設(shè)計方案的比較定時鬧鐘設(shè)計與制作可采用數(shù)字電路實(shí)現(xiàn),也可以采用單片機(jī)來完成。若用數(shù)字電路完成,所設(shè)計的電路相當(dāng)復(fù)雜,大概需要十幾片數(shù)字集成塊,其功能也主要依賴于數(shù)字電路的各功能模塊的組合來實(shí)現(xiàn),焊接的過程比較復(fù)雜,成本也非常高。若用單片機(jī)來設(shè)計制作完成,由于其功能的實(shí)現(xiàn)主要通過軟件編程來完成,那么就降低了硬件電路的復(fù)雜性,而且其成本也有所降低,所以在本設(shè)計與制作中采用單片機(jī)AT89C51,它是低功耗、高性能的CMOS型8位單片機(jī)。片內(nèi)帶有4KB的Flash存儲器,且允許在系統(tǒng)內(nèi)改寫或用編程器編程。1.2 定時設(shè)計的實(shí)現(xiàn)過程 本設(shè)計主要通過軟件編程來完成,降低了硬件電路的復(fù)雜性,而且其成本也有所降低,在該設(shè)計與制作中采用單片機(jī)AT89C51,它是低功耗、高性能的CMOS型8位單片機(jī)。片內(nèi)帶有4KB的Flash存儲器,且允許在系統(tǒng)內(nèi)改寫或用編程器編程。另外, AT89C51的指令系統(tǒng)和引腳與8051完全兼容,片內(nèi)有128B 的RAM、32條I/O口線、2個16位定時計數(shù)器、5個中斷源、一個全雙工串行口等。1.3 定時鬧鐘實(shí)現(xiàn)的功能本定時鬧鐘使用12MHZ晶振與單片機(jī)AT89C51相連接,通過軟件編程的方法實(shí)現(xiàn)了以24小時為一個周期同時顯示小時,分鐘和秒的要求,并在計時過程中具有報時功能,當(dāng)時間到達(dá)整點(diǎn)進(jìn)行蜂鳴報時。該定時鐘設(shè)有三個按鍵: S1, S2和S3鍵,使之具備了校時、定時功能。2 系統(tǒng)總體方案及硬件設(shè)計2.1 鬧鐘定時系統(tǒng)的構(gòu)成本定時鬧鐘使用12MHZ晶振與單片機(jī)AT89C51相連接, 以單片機(jī)AT89C51為核心來完成的,在硬件電路中采用P0口作為6位LED數(shù)碼管的驅(qū)動接口,這是由于P0口輸出驅(qū)動電路工作處于開漏狀態(tài),它的驅(qū)動能力強(qiáng),故只需外接上拉電阻便可以把LED數(shù)碼管點(diǎn)亮。因?yàn)楣碴幍腖ED數(shù)碼管它的驅(qū)動電流是分開的,在單片機(jī)進(jìn)行動態(tài)掃描的時候不會影響彼此的電流,故該電路中的6位LED數(shù)碼管均用共陰極的數(shù)碼管。在6位LED顯示時,為了簡化電路,降低成本, 6個LED顯示器共用一個8位的I/O, 6位LED數(shù)碼管的位選線分別由相應(yīng)的P2. 0P2. 5控制,而將其相應(yīng)的段選線并聯(lián)在一起,由一個8位的I/O口控制,即P0口。在電路中還設(shè)有三個按鍵S1,S2和S3用來進(jìn)行定時,選時和調(diào)時的選擇,他們分別與單片機(jī)的P1. 2, P1. 4, P1. 6口相連接。P1. 7口與蜂鳴器相連接。2.2 鬧鐘定時控制系統(tǒng)設(shè)計定時控制部件是在規(guī)定的時刻發(fā)出各種操作所需的全部內(nèi)部和外部控制信號,使各功能元件協(xié)調(diào)工作,完成指令所規(guī)定的功能。主要任務(wù)是產(chǎn)生一個工作時序,其工作需要時鐘電路提供一個工作頻率。MCS-51內(nèi)部有一個用于構(gòu)成震蕩器的高增益反向放大器,此放大器的輸入端和輸出端分別是XTAL1和XTAL2,在XTAL1和XTAL2上外接時鐘源可構(gòu)成時鐘電路。單片機(jī)的生產(chǎn)工藝不同,時鐘的產(chǎn)生方式也不同。有內(nèi)部和外部時鐘產(chǎn)生兩種時鐘方式,本系統(tǒng)采用的是內(nèi)部時鐘產(chǎn)生方式圖1 內(nèi)部時鐘原理圖在XTAL1和XTAL2兩端跨接晶體或陶瓷諧振器,于內(nèi)部反向器構(gòu)成穩(wěn)定的自激振蕩器。其發(fā)出的脈沖直接送入片內(nèi)的定時控制部件。XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。2.3 單片機(jī)最小系統(tǒng)設(shè)計 圖2 單片機(jī)AT89C1單片機(jī)選擇AT89C51,時鐘系統(tǒng)通過將XTAL1與XTAL2分別接1u的電容,并將一晶振與兩電容分別并聯(lián)最后引出接地。復(fù)位電路通過引腳RST接出,此系統(tǒng)采用上電加按鈕電平復(fù)位方式。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效將EA接高電平作為掉電保護(hù),P0、P1、P2、P3分別與外圍器件相連。VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時,P1口作為第八位地址接收。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,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口同時為閃爍編程和編程校驗(yàn)接收一些控制信號。2.4 定時鬧鐘顯示器設(shè)計圖3 顯示屏相關(guān)電路圖4 定時鬧鐘顯示屏3軟件設(shè)計3.1 程序流程圖圖5 鬧鐘程序流程3.2 主程序部分首先將緩存區(qū)內(nèi)容清零,設(shè)開關(guān)和喇叭為高電平有效,賦查表首地址以及棧初值,設(shè)定定時器1的初始狀態(tài)并開中斷。MAIN:MOV 10H, #0MOV 11H, #0MOV 12H, #0MOV 13H, #0MOV 14H, #0MOV 15H, #0MOV 20H, #0MOV 21H, #0MOV 22H, #0MOV 23H, #1MOV 26H, #2MOV 29H, #3MOV 2CH, #4MOV 2FH, #5MOV 32H, #6MOV 35H, #7MOV 38H, #8MOV 3BH, #9MOV 3EH, #10MOV 41H, #11MOV 44H, #12MOV 47H, #13MOV 4AH, #14MOV 4DH, #15MOV 50H, #16MOV 53H, #17MOV 56H, #18MOV 59H, #19MOV 5CH, #20MOV 16H, #23CLR P1. 2CLR P1. 4CLR P1. 6CLR P1. 7MOV SP, #60HMOV DPTR, #TABMOV R1, #20H ; R1作為拆分地址首MOV R4, #11000000BMOV R2, #5 ; R2作為定時,調(diào)時選擇MOV R5, #00111100B ; R5作為鬧鈴開關(guān)MOV 1BH, #0MOV 18H, #20MOV P0, #0MOV P2, #0MOV IE, #87HSETB IT0SETB IT1MOV IP, #2 ;設(shè)T0優(yōu)先級最高M(jìn)OV TMOD, #1 ;定時器模式1MOV TH0, #3CHMOV TL0, #0B8HSETB TR0CLR EX0CLR EX13.3 時間控制部分介紹時間控制部分首先等待,時間到后將定時器關(guān)斷,然后再將定時器送初值,啟動定時器,將秒位進(jìn)行控制加一,每當(dāng)秒位加到60時,相應(yīng)的分位加一,然后等待分循環(huán)到60,將時加一。然后進(jìn)入循環(huán)。TIME: CLR TR0MOV TH0, #3CHMOV TL0, #0B8HSETB TR0MOV 09H, R0INC 16HMOV R0, 16HMOV A, R0CLR CCJNE A, 21H, TMMINC 16HMOV R0, 16HINC 16HMOV A, R0CLR CCJNE A, 22H, TTMMOV 19H, #45H ; 19H作為時間到標(biāo)志AJMP TTMTMM: INC 16HINC 16HTTM:MOV R0, 09HDJNZ 18H,OUT0MOV 18H, #20MOV 16H, #23HMOV A, R2 ;控制閃爍CLR CSUBB A, #5JZ TMMOV A, 1BHCPL AMOV 1BH,AANL A, R4MOV 1AH,ATM:MOV A, 17HCLR CSUBB A, #23HJZ OUT0SEC: INC 20HMOV A, 20HCLR CCJNE A, #60,OUT0MOV 20H, #0M IN: INC 21HMOV 19H, #0 ;一分鐘到關(guān)鬧鈴CLR P1. 7MOV A, 21HCLR CCJNE A, #60,OUT0MOV 21H, #0HOUR: INC 22HMOV A, 22HCLR CCJNE A, #24,OUT0MOV 22H, #0OUT0: RETI3.4顯示程序介紹首先送入地址偏移量,然后送入要顯示的數(shù)值,通過P0、P2口顯示 ,顯示部分通過除指令與動態(tài)查表顯示。D ISP: MOV R0, #10H ; 10H作為顯存首址MOV R7, #7FHMOV R6, #7TO:MOV A, R0MOVC A, A +DPTRORL A, #80HPUSH ACCMOV A, R7RL AMOV R7,AORL A, 1AH ; 1AH控制閃爍MOV P0, #0MOV P2,A ; P2為位選POP ACCMOV P0,A ; P0作為段選INC R0DJNZ R6, TORETCHA I:MOV A, R1MOV B, #10D IV ABMOV 10H,BMOV 11H,AINC R1MOV A, R1MOV B, #10D IV ABMOV 12H,BMOV 13H,AINC R1MOV A, R1MOV B, #10D IV ABMOV 14H,BMOV 15H,ADEC R1DEC R1RET3.5 調(diào)時與判斷部分介紹通過判斷按鍵,進(jìn)入鬧鐘調(diào)時部分,在次判斷SW1返回時間程序,通過與時間比較判斷定時時間到否,如果到則啟動報警,不到則返回。TSH I:MOV A, R2 ; R2作為調(diào)時與定時的標(biāo)志CLR CSUBB A, #0F0HJZ GO2MOV R2, #0FHMOV A, R4RR ARR AMOV R4,ACLR CCJNE A, #00110000B, GOMOV R3, #22HGO: CLR CCJNE A, #00001100B, GO1MOV R3, #21HGO1: CLR CCJNE A, #00000011B, GO3MOV R3, #20HGO3: CLR CCJNE A, #11000000B, GO2MOV A, 17HCLR CCJNE A, #23H, GO4CLR TR0MOV TH0, #3CHMOV TL0, #0B8HSETB TR0MOV 17H, #0GO4: MOV R2, #0GO2: RETDSH I:MOV A, R2 ; R2作為調(diào)時與定時的標(biāo)志CLR CSUBB A, #0FHJZ DSOUT1MOV R2, #0F0HMOV A, R4RL ARL AMOV R4,ACLR CCJNE A, #00001100B,DSOUT2INC R1MOV A, R1MOV R3,ADEC R1DSOUT2: MOV A, R4CLR CCJNE A, #00110000B,DSOUT3INC R1INC R1MOV A, R1MOV R3,ADEC R1DEC R1DSOUT3:MOV A, R4CLR CCJNE A, #00000011B,DSOUT4INC R1INC R1INC R1DSOUT4: MOV A, R4CLR CCJNE A, #11000000B,DSOUT1MOV R4, #00000011BMOV R3, #0FHINC R1INC R1INC R1DSOUT1: RETXSH I:MOV A, R2CLR CSUBB A, #5JZ XSOUT3MOV A, R3MOV R0,AINC R0MOV A, R4CLR CCJNE A, #00000011B, XSOUTMOV A, R2 ; R2作為調(diào)時與定時的標(biāo)志CLR CCJNE A, #0FH, XSOUT4MOV R0, #0MOV 17H, #23HXSOUT4:MOV A, R2 ; R2作為調(diào)時與定時的標(biāo)志CLR CCJNE A, #0F0H, XSOUTMOV 17H, #0MOV R4, #11000000BMOV R1, #20HMOV R2, #5XSOUT:MOV A, R4CLR CCJNE A, #00110000B, XSOUT2MOV A, R0CLR CSUBB A, #24JC XSOUT1MOV R0, #0XSOUT2:MOV A, R4CLR CCJNE A, #00001100B, XSOUT1MOV A, R0CLR CSUBB A, #60JC XSOUT1MOV R0, #0AJMP XSOUT1XSOUT3:MOV A, R5CPL AMOV R5,ACPL P1. 0 ; P1. 0鬧鈴開關(guān)指示燈XSOUT1: RET4 Proteus軟件仿真 圖6 工作狀態(tài)仿真圖 打開proteus軟件,按照原理圖在該軟件上畫圖,畫好以后效果如圖以后如圖6所示,然后輸入源稱序,按下proteus左下方的開始鍵就進(jìn)入仿真狀態(tài),單片機(jī)AX89C51某些引腳上的小方塊不斷閃爍,說明該引腳有信號通過,按鈕開關(guān)SW1,SW2,SW3,可以對鬧鐘進(jìn)行修改,開始鬧鐘默認(rèn)定時時間為零時零分零秒,在仿真軟件中進(jìn)入仿真狀態(tài)后,就可以聽到鬧鐘的響聲,時間為一分鐘,然后按動SW3可切換到時,分,秒,按動SW2可調(diào)整選中的項目的大小,按動SW1可以在顯示時間預(yù)定時時間之間切換,然后用SW2,SW3,對它們進(jìn)行修改,當(dāng)顯示時間與鬧鐘時間一樣時,喇叭就發(fā)出響聲,持續(xù)時間為一分鐘, 當(dāng)一分鐘的時間過去時,蜂鳴報時結(jié)束,聽不到鬧鐘的響聲響聲。5課程設(shè)計體會單片機(jī)課程設(shè)計的時間為一星期,開始一看老師給定課程設(shè)計的題目及要求,不知道該怎樣開始,以前學(xué)的知識也用不上,于是開始從網(wǎng)上,圖書館搜集相關(guān)的資料,確定做定時鬧鐘的設(shè)計,并了解定時鬧鐘的工作原理及所需要的相關(guān)單片機(jī)方面的原件,這些元件的都是第一次用,對它們各個接口的接法及作用也是不了解,又重新了解這些元件的特點(diǎn)與作用,從而確定鬧鐘工作的流程圖,畫出相應(yīng)的原理圖,并在proteus軟件上進(jìn)行相應(yīng)的模擬與仿真,開始不知哪的故障出正常的結(jié)果,最后經(jīng)過艱苦的查找,原來在原理圖上有條線沒聯(lián)好,修改以后,仿真軟件上終于顯示出了正確的結(jié)果,看到自己的心苦與努力有了結(jié)果,心里也美滋滋的! 這次課程設(shè)計使我們重新鞏固復(fù)習(xí)了這學(xué)期所學(xué)的單片機(jī)內(nèi)容,通過查詢相關(guān)的資料,簡要知道了雖然老師上課講過,但并非聽懂了的8155芯片的有關(guān)知識。根據(jù)課程設(shè)計的要求和自己通過參考有關(guān)資料擬的方案,寫好程序流程圖,在程序流程圖的基礎(chǔ)上,根據(jù)芯片的功能寫出相應(yīng)的程序,達(dá)到能夠?qū)崿F(xiàn)所要求的功能的目的。 在寫程序時,在每條指令后都寫好注釋,以便在程序出錯的檢查過程中可以更容易查找得到。這次的單片機(jī)課程設(shè)計是我認(rèn)識到自己在編程及設(shè)計等實(shí)際操作方面缺陷,重點(diǎn)是理論與實(shí)際的相結(jié)合,不單單只是書上的一條條分離的指令,還要能把書上的一條條指令靈活用到實(shí)際中,增強(qiáng)創(chuàng)新能力與在學(xué)習(xí)能力,這才是我們參加課程設(shè)計的目的吧。 由于本人單片機(jī)學(xué)的不是太好,在編程設(shè)計方面的知識也了解的很少,對定時鬧鐘的原理也不是太了解,所以這個定時鬧鐘可能在某些方面存在著某些缺陷,請指導(dǎo)老師批評指正。參考文獻(xiàn)1余發(fā)山編著.單片機(jī)原理及應(yīng)用技術(shù). 中國礦業(yè)大學(xué)出版社,20032陳建澤編著。MCS-51 單片機(jī)應(yīng)用設(shè)計.哈爾濱工業(yè)大學(xué)出版社,20063何立敏編著。單片微型計算機(jī)原理及應(yīng)用.北京師范大學(xué)出版社, 19914張毅剛 彭喜源等編著。北京航空航天大學(xué)出版社,19965張振榮,晉明武,王毅平編著.CS51單片機(jī)原理及實(shí)用技術(shù)。人民郵電出版社,20006李勛,李新民編著.CS5196系列8089單微型計算機(jī).北京航空航天大學(xué)出版社,19917曹巧媛著.片機(jī)原理及應(yīng)用.電子工業(yè)出版社,19978蔡美琴,張為民編.CS51系列單片機(jī)系統(tǒng)及其應(yīng)用.高等教育出版社,1994附1 源程序代碼ORG 0AJMP MAINORG 000BHAJMP TIMETIME: CLR TR0MOV TH0, #3CHMOV TL0, #0B8HSETB TR0MOV 09H, R0INC 16HMOV R0, 16HMOV A, R0CLR CCJNE A, 21H, TMMINC 16HMOV R0, 16HINC 16HMOV A, R0CLR CCJNE A, 22H, TTMMOV 19H, #45H ; 19H作為時間到標(biāo)志AJMP TTMTMM: INC 16HINC 16HTTM:MOV R0, 09HDJNZ 18H,OUT0MOV 18H, #20MOV 16H, #23HMOV A, R2 ;控制閃爍CLR CSUBB A, #5JZ TMMOV A, 1BHCPL AMOV 1BH,AANL A, R4MOV 1AH,ATM:MOV A, 17HCLR CSUBB A, #23HJZ OUT0SEC: INC 20HMOV A, 20HCLR CCJNE A, #60,OUT0MOV 20H, #0M IN: INC 21HMOV 19H, #0 ;一分鐘到關(guān)鬧鈴CLR P1. 7MOV A, 21HCLR CCJNE A, #60,OUT0MOV 21H, #0HOUR: INC 22HMOV A, 22HCLR CCJNE A, #24,OUT0MOV 22H, #0OUT0: RETIDISP: MOV R0, #10H ; 10H作為顯存首址MOV R7, #7FHMOV R6, #7TO:MOV A, R0MOVC A, A +DPTRORL A, #80HPUSH ACCMOV A, R7RL AMOV R7,AORL A, 1AH ; 1AH控制閃爍MOV P0, #0MOV P2,A ; P2為位選POP ACCMOV P0,A ; P0作為段選INC R0DJNZ R6, TORETCHA I:MOV A, R1MOV B, #10D IV ABMOV 10H,BMOV 11H,AINC R1MOV A, R1MOV B, #10D IV ABMOV 12H,BMOV 13H,AINC R1MOV A, R1MOV B, #10D IV ABMOV 14H,BMOV 15H,ADEC R1DEC R1RETTSH I:MOV A, R2 ; R2作為調(diào)時與定時的標(biāo)志CLR CSUBB A, #0F0HJZ GO2MOV R2, #0FHMOV A, R4RR ARR AMOV R4,ACLR CCJNE A, #00110000B, GOMOV R3, #22HGO: CLR CCJNE A, #00001100B, GO1MOV R3, #21HGO1: CLR CCJNE A, #00000011B, GO3MOV R3, #20HGO3: CLR CCJNE A, #11000000B, GO2MOV A, 17HCLR CCJNE A, #23H, GO4CLR TR0MOV TH0, #3CHMOV TL0, #0B8HSETB TR0MOV 17H, #0GO4: MOV R2, #0GO2: RETDSH I:MOV A, R2 ; R2作為調(diào)時與定時的標(biāo)志CLR CSUBB A, #0FHJZ DSOUT1MOV R2, #0F0HMOV A, R4RL ARL AMOV R4,ACLR CCJNE A, #00001100B,DSOUT2INC R1MOV A, R1MOV R3,ADEC R1DSOUT2: MOV A, R4CLR CCJNE A, #00110000B,DSOUT3INC R1INC R1MOV A, R1MOV R3,ADEC R1DEC R1DSOUT3:MOV A, R4CLR CCJNE A, #00000011B,DSOUT4INC R1INC R1INC R1DSOUT4: MOV A, R4CLR CCJNE A, #11000000B,DSOUT1MOV R4, #00000011BMOV R3, #0FHINC R1INC R1INC R1DSOUT1: RETXSH I:MOV A, R2CLR CSUBB A, #5JZ XSOUT3MOV A, R3MOV R0,AINC R0MOV A, R4CLR CCJNE A, #00000011B, XSOUTMOV A, R2 ; R2作為調(diào)時與定時的標(biāo)志CLR CCJNE A, #0FH, XSOUT4MOV R0, #0MOV 17H, #23HXSOUT4:MOV A, R2 ; R2作為調(diào)時與定時的標(biāo)志CLR CCJNE A, #0F0H, XSOUTMOV 17H, #0MOV R4, #11000000BMOV R1, #20HMOV R2, #5XSOUT:MOV A, R4CLR CCJNE A, #00110000B, XSOUT2MOV A, R0CLR CSUBB A, #24JC XSOUT1MOV R0, #0XSOUT2:MOV A, R4CLR CCJNE A, #00001100B, XSOUT1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論