基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)_第1頁(yè)
基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)_第2頁(yè)
基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)_第3頁(yè)
基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)_第4頁(yè)
基于AT89C51單片機(jī)定時(shí)鬧鐘設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩21頁(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)介

1、塔里木大學(xué)信息工程學(xué)院?jiǎn)纹瑱C(jī)原理與外圍電路課程論文題目:?jiǎn)纹瑱C(jī)定時(shí)鬧鐘設(shè)計(jì) 姓名: 海熱古麗依馬木 學(xué)號(hào): 5011110115 班級(jí): 計(jì)算機(jī)15-1班 摘要:本設(shè)計(jì)是單片機(jī)定時(shí)鬧鐘系統(tǒng),不僅能實(shí)現(xiàn)系統(tǒng)要求的功能,而且還有附加功能,即還能設(shè)定和修改當(dāng)前所顯示的時(shí)間。本次設(shè)計(jì)的定時(shí)鬧鐘在硬件方面就采用了AT89C51芯片,用6位LED數(shù)碼管來(lái)進(jìn)行顯示。LED用P0口進(jìn)行驅(qū)動(dòng),采用的是動(dòng)態(tài)掃描顯示,能夠比較準(zhǔn)確顯示時(shí)時(shí)分分秒秒。通過(guò)S1、S2、S3、和S4四個(gè)功能按鍵可以實(shí)現(xiàn)對(duì)時(shí)間的修改和定時(shí),定時(shí)時(shí)間到喇叭可以發(fā)出報(bào)警聲。在軟件方面采用匯編語(yǔ)言編程。整個(gè)定時(shí)鬧鐘系統(tǒng)能完成時(shí)間的顯示,調(diào)時(shí)和定時(shí)

2、鬧鐘、復(fù)位等功能,并經(jīng)過(guò)系統(tǒng)仿真后得到了正確的結(jié)果。關(guān)鍵詞:?jiǎn)纹瑱C(jī)、AT89C51、定時(shí)鬧鐘、仿真Abstract :This design is a single-chip timing alarm system, can not only realize the function of system requirements, and there are additional functions, which can set up and modify the display time. Timing alarm clock this design adopts the AT89C51 c

3、hip on the hardware side, with 6 LED digital tube to display. LED P0 export driven, by using dynamic scanning display, can accurately display always - sub - seconds seconds. Through the S1, S2, S3, and S4 four function keys can be achieved on the time changes and timing, timing to the horn can send

4、out alarm sound. Using assembly language programming in the software. The timing clock system has functions of time display, timing and timing alarm clock, reset and other functions, and the system simulation to obtain correct results.Keywords: single chip microcomputer, AT89C51, alarm clock, simula

5、tio目錄1緒論21.1課題背景及研究意義21.2國(guó)內(nèi)外現(xiàn)狀21.3課題的設(shè)計(jì)目的21.4課題的主要任務(wù)21.5課題的主要功能22系統(tǒng)概述32.1方案論證32.2系統(tǒng)設(shè)計(jì)原理33系統(tǒng)硬件設(shè)計(jì)43.1單片機(jī)AT89C51簡(jiǎn)介43.2數(shù)碼管顯示電路63.3時(shí)鐘電路73.4喇叭:SPEAKER84系統(tǒng)軟件設(shè)計(jì)84.1系統(tǒng)軟件設(shè)計(jì)說(shuō)明84.2 程序調(diào)試84.3 程序流程圖94.3仿真步驟104.4仿真結(jié)果10結(jié)論12參考文獻(xiàn)13附錄A 系統(tǒng)整體電路14附錄B 全部程序清單14附錄C:PCB圖和3D圖231緒論1.1課題背景及研究意義進(jìn)入信息時(shí)代,計(jì)算機(jī)的影子無(wú)處不在,帶有像單片機(jī)一類嵌入式處理器的小型

6、智能化電子產(chǎn)品,已經(jīng)成為家用電器的主流,市場(chǎng)需求前景廣闊,因此,掌握小型單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)方法,已成為當(dāng)今電子應(yīng)用工程師所必備的技能,定時(shí)鬧鐘具備小型單片機(jī)應(yīng)用系統(tǒng)的一切要素,其結(jié)構(gòu)簡(jiǎn)單、成本低廉、走時(shí)精確、設(shè)置方便,所以智能化方面有廣泛的用途。1.2國(guó)內(nèi)外現(xiàn)狀單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。同時(shí)集成諸如通訊接口、定時(shí)器,實(shí)時(shí)時(shí)鐘等外圍設(shè)備。而現(xiàn)在最強(qiáng)大的單片機(jī)系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片。在單片機(jī)(Microcontroller)出現(xiàn)后,計(jì)算機(jī)才真正 地從科學(xué)的神圣殿堂走入尋常百姓家,成為廣大工程技術(shù)人員現(xiàn)代 化技術(shù)革新,技術(shù)革命的有利武器

7、。目前,單片機(jī)在民用和工業(yè)測(cè) 控領(lǐng)域得到最廣泛的應(yīng)用。彩電,冰箱,空調(diào),錄像機(jī),VCD,鬧鐘,遙控器,游戲機(jī),電飯煲等無(wú)處不見單片機(jī)的影子,單片機(jī)早已深深 地溶入我們每個(gè)人的生活之中。 單片機(jī)能大大地提高這些產(chǎn)品的智能性,易用性及節(jié)能性等主要性能指標(biāo),給我們的生活帶來(lái)舒適和方便的同時(shí),在工農(nóng)業(yè)生產(chǎn) 上也極大地提高了生產(chǎn)效率和產(chǎn)品質(zhì)量。1.3課題的設(shè)計(jì)目的本設(shè)計(jì)是一個(gè)定時(shí)鬧鐘,它僅使用單片的20引腳單片機(jī)完成鬧鐘的全部功能。設(shè)計(jì)目的是為了學(xué)習(xí)和鞏固單片機(jī)知識(shí),使對(duì)已學(xué)過(guò)的基礎(chǔ)知識(shí)能有更深入的理解,學(xué)會(huì)獨(dú)立思考、獨(dú)立思考、獨(dú)立工作,以及提高對(duì)所學(xué)應(yīng)用基本理論分析和解決實(shí)際問題的能力。1.4課題的主

8、要任務(wù)本文設(shè)計(jì)的定時(shí)鬧鐘采用AT89C51芯片,用匯編語(yǔ)言進(jìn)行編程,時(shí)、分、秒用6位LED數(shù)碼管顯示。在電路中通過(guò)四個(gè)按鍵S1、S2、S3和S4來(lái)進(jìn)行定時(shí)時(shí)間和定時(shí)鬧鐘,定時(shí)時(shí)間到通過(guò)喇叭發(fā)出報(bào)警聲。1.5課題的主要功能1)能顯示:時(shí)時(shí)分分秒秒。2)能夠設(shè)定定時(shí)時(shí)間、修改定時(shí)時(shí)間。3)定時(shí)時(shí)間到能發(fā)出報(bào)警聲。設(shè)計(jì)的部分分為軟件及硬件,軟件部分寫出鬧鐘的工作方式以及它是如何工作的,而硬件部分是軟件的載體,畫出正確的電路圖然后在軟件的控制下才能使設(shè)計(jì)的定時(shí)鬧鐘正常工作。2系統(tǒng)概述2.1方案論證顯示器的選擇方案論證:方案一:液晶顯示器。如果選擇此方案,將會(huì)降低系統(tǒng)的功耗,這樣就可以用電池供電,便于攜

9、帶。但液晶顯示器的驅(qū)動(dòng)電路復(fù)雜,使用起來(lái)有一定的難度。 方案二:用數(shù)碼管作為顯示器。數(shù)碼管的驅(qū)動(dòng)電路簡(jiǎn)單,使用方便,如果選擇了此方案,那么在夜間看時(shí)間的時(shí)候就不需要有光源,非常方便。其缺點(diǎn)是功耗較大。由于數(shù)碼管使用起來(lái)較為方便,在夜間看時(shí)間也很方便,因此我選擇了方案二。2.2系統(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í)間和

10、定時(shí)用手動(dòng)按鍵控制,報(bào)警聲通過(guò)喇叭發(fā)出。提示預(yù)先設(shè)定時(shí)間電器的起停時(shí)間到,從而控制電器的起停。電路由下列部分組成:時(shí)鐘電路、復(fù)位電路、控制電路、LED顯示,報(bào)警電路,芯片選用AT89C51單片機(jī)。系統(tǒng)框圖如圖 2-1所示:晶振及復(fù)位 單片機(jī)AT89C51RESPACK-87SEG-MPX6-CC-BLUE 數(shù)碼管顯示鍵盤(按鈕)SPEAKER喇叭圖2-1 系統(tǒng)框圖243系統(tǒng)硬件設(shè)計(jì)3.1單片機(jī)AT89C51簡(jiǎn)介AT89C51是一個(gè)低電壓,高性能CMOS型8位單片機(jī),片內(nèi)含4KB的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器(ROM)和128B的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密

11、度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,內(nèi)置功能強(qiáng)大的微型計(jì)算機(jī)的AT89C51為用戶提供了許多高性價(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)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本。主要特性:與MCS-51 兼容 4K字節(jié)可編程閃爍存儲(chǔ)器 壽命:1000寫

12、/擦循環(huán)數(shù)據(jù)保留時(shí)間:10年全靜態(tài)工作:0Hz-24Hz三級(jí)程序存儲(chǔ)器鎖定1288位內(nèi)部RAM32可編程I/O線兩個(gè)16位定時(shí)器/計(jì)數(shù)器5個(gè)中斷源 可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路引腳使用說(shuō)明:VCC:供電電壓。GND:接地。 P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1

13、口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2

14、口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下所示:管腳備選功能:P3.0RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(記時(shí)器0外部輸入)P3.5T1(記時(shí)器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫選通

15、)P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。ST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引

16、腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。振蕩器特性:X

17、TAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度. 圖2是單片機(jī)AT89C51的引腳圖:圖3-1 單片機(jī)AT89C51引腳圖3.2數(shù)碼管顯示電路單片機(jī)中通常使用7段LED,LED是發(fā)光二極管顯示器的縮寫。LED顯示器由于結(jié)構(gòu)簡(jiǎn)單,價(jià)格便宜,體積小,亮度高,電壓低,可靠性高,壽命長(zhǎng),響應(yīng)速度快,配置靈活,與單片機(jī)接口方便而得到廣泛應(yīng)用。LED顯示器是由若干個(gè)發(fā)光二極管組成顯示

18、字段的顯示部件,當(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)電流是分開的,在單片機(jī)進(jìn)行動(dòng)態(tài)掃描的時(shí)候不會(huì)影響彼此的

19、電流,故該系統(tǒng)中的6位LED數(shù)碼管均用共陰極的數(shù)碼管。6位數(shù)碼管的引腳圖如圖3-2所示:圖3-2 6位數(shù)碼管的引腳3.3時(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í)鐘電路。如圖3-3所示:圖3-3 時(shí)鐘電路圖上拉電阻:RESPACK8控制按鍵:BUTTON ACTIVE SPST Pus

20、hButton本系統(tǒng)要進(jìn)行時(shí)間的調(diào)整和定時(shí),因此用4個(gè)手動(dòng)按鍵對(duì)其進(jìn)行控制。3.4喇叭:SPEAKER由P3.7口控制喇叭,使其定時(shí)時(shí)間到能發(fā)出報(bào)警聲。如圖3-4所示:圖3-4 喇叭引腳圖4系統(tǒng)軟件設(shè)計(jì)4.1系統(tǒng)軟件設(shè)計(jì)說(shuō)明該系統(tǒng)軟件程序主要有主程序模塊,定時(shí)中斷服務(wù)程序,中斷等待服務(wù)程序,鍵盤服務(wù)程序,顯示子程序服務(wù)程序等六大模塊組成。在AT89C51外圍的一個(gè)17管腳即P3.7管口上加喇叭器,通過(guò)軟件與硬件的結(jié)合可實(shí)現(xiàn)定時(shí)報(bào)警功能。圖中按鍵從上往下設(shè)定為S1,S2,S3,S4,S1與p1.4相連,S2與p1.3相連,S3與p1.2相連,S4與p1.1相連。當(dāng)需要設(shè)定當(dāng)前時(shí)間時(shí),按一下S4鍵

21、,進(jìn)入時(shí)間設(shè)定狀態(tài),按一下S2,分鐘加1;按一下S3,小時(shí)加1。如此反復(fù)來(lái)設(shè)定當(dāng)前時(shí)間。調(diào)好時(shí)間后按S1退出當(dāng)前時(shí)間設(shè)定狀態(tài);當(dāng)要設(shè)定定時(shí)時(shí)間時(shí),按下S3,進(jìn)入定時(shí)時(shí)間設(shè)定狀態(tài),按一下S2,小時(shí)加1;按一下S4,分鐘加1。如此反復(fù)來(lái)設(shè)定要設(shè)定的定時(shí)時(shí)間。設(shè)好后,按下S1退出定時(shí)時(shí)間設(shè)定狀態(tài)。4.2 程序調(diào)試1)將程序輸入到偉福的環(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)試顯示

22、程序; 5)調(diào)試主程序,使鬧鐘走時(shí)系統(tǒng)工作正常。4.3 程序流程圖本設(shè)計(jì)程序流程圖如4-1所示:判斷鬧鐘時(shí)間到否程序初始化調(diào)用顯示程序開始P1.1是否按下?調(diào)用時(shí)間設(shè)定程序P1.2是否按下?Y調(diào)用鬧鐘時(shí)間設(shè)定程序NNY圖4-1 程序流程圖4.3仿真步驟第一步:用偉褔軟件對(duì)程序進(jìn)行編譯,編譯通過(guò)后,會(huì)自動(dòng)生成HEX文件。第二步:在Proteus的元件庫(kù)中找到AT89C51以及相應(yīng)的元件,按照硬件設(shè)計(jì)中的說(shuō)明把各部件連接起來(lái)組成一個(gè)定時(shí)鬧鐘的硬件系統(tǒng)。第三步:把在偉福環(huán)境調(diào)試下生成的.HEX文件裝入到AT89C51里,點(diǎn)擊運(yùn)行符號(hào)就可以使軟硬件的配套設(shè)施在Proteus的環(huán)境下仿真實(shí)現(xiàn)。第四步:驗(yàn)

23、證系統(tǒng)能否實(shí)現(xiàn)所要求的功能,并檢驗(yàn)錯(cuò)誤。4.4仿真結(jié)果通過(guò)S1、S2、S3和S4四個(gè)按鍵,對(duì)時(shí)間進(jìn)行修改和鬧鐘的設(shè)置。定時(shí)時(shí)間到能發(fā)出報(bào)警聲,使用偉福軟件編輯程序然后進(jìn)行proteus進(jìn)行仿真,其仿真圖如下:開始仿真時(shí),顯示如圖4-2所示:圖4-2(1)設(shè)定當(dāng)前時(shí)間當(dāng)需要設(shè)定當(dāng)前時(shí)間時(shí),按一下S4鍵,進(jìn)入時(shí)間設(shè)定狀態(tài),按一下S2,分鐘加1;按一下S3,小時(shí)加1。如此反復(fù)來(lái)設(shè)定當(dāng)前時(shí)間。調(diào)好時(shí)間后按S1退出當(dāng)前時(shí)間設(shè)定狀態(tài)。先按S4,再按S2時(shí),如圖4-3所示:圖4-3先按S4,再按S2,再按S3時(shí),如圖4-4所示:圖4-4如圖4-5:設(shè)定當(dāng)前時(shí)間是01:02:15圖4-5(2)設(shè)定定時(shí)時(shí)間當(dāng)要

24、設(shè)定定時(shí)時(shí)間時(shí),按下S3,進(jìn)入定時(shí)時(shí)間設(shè)定狀態(tài),按一下S2,小時(shí)加1;按一下S4,分鐘加1。如此反復(fù)來(lái)設(shè)定要設(shè)定的定時(shí)時(shí)間。設(shè)好后,按下S1退出定時(shí)時(shí)間設(shè)定狀態(tài)。如圖4-6所示圖:設(shè)定定時(shí)時(shí)間為01:06圖4-6如圖4-7所示當(dāng)?shù)竭_(dá)時(shí)間01:06時(shí),喇叭發(fā)出報(bào)警聲。圖4-7結(jié)論通過(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)之路。程序剛開始編好時(shí),一般情況下

25、會(huì)存在很多錯(cuò)誤,要不斷地修改,不斷的改進(jìn)才能達(dá)到預(yù)期的目的,編寫程序的時(shí)間并不是很長(zhǎng),主要是修改程序會(huì)花很多時(shí)間??傊ㄟ^(guò)這次設(shè)計(jì)讓我更深入了解單片機(jī)基本電路、如何控制和定時(shí)器和中斷編程的基本方法,從而鍛煉了我學(xué)習(xí)、設(shè)計(jì)和開發(fā)軟、硬件的能力。并且使我鞏固了本課程所學(xué)的基本知識(shí),還使我具有了撰寫設(shè)計(jì)報(bào)告的初步訓(xùn)練能力,我相信這些能力在我以后的工作或者是再學(xué)習(xí)中一定會(huì)起到不小的作用,看到自己幾周的小成果,感覺一切的辛苦和艱難都是值得的。參考文獻(xiàn)1.余發(fā)山主編,單片機(jī)原理及應(yīng)用技術(shù),中國(guó)礦業(yè)大學(xué)出版社2003.12 2康華光.數(shù)字電子技術(shù).北京: 高等教育出版社,20033吳金戌.8051單片機(jī)實(shí)

26、踐與應(yīng)用. 北京: 清華大學(xué)出版社,20034樓然苗.51系列單片機(jī)設(shè)計(jì)實(shí)例. 北京: 北京航空航天出版社,20045黃仁欣.單片機(jī)原理及應(yīng)用技術(shù). 北京: 清華大學(xué)出版社, 20056 何立民. 單片機(jī)高級(jí)教程 第1版北京:北京航空航天大學(xué)出版社,2001 7趙曉安. MCS-51單片機(jī)原理及應(yīng)用. 天津:天津大學(xué)出版社,2001.3 8夏繼強(qiáng). 單片機(jī)實(shí)驗(yàn)與實(shí)踐教程. 北京:北京航空航天大學(xué)出版社, 2001 9凌玉華,單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì)M,長(zhǎng)沙:中南大學(xué)出版社,200610李全利、 遲榮強(qiáng),單片機(jī)原理及接口技術(shù)M,北京:高等教育出版社,200411胡漢才,單片機(jī)原理及應(yīng)用M,北京:

27、清華大學(xué)出版社,200412凌陽(yáng)科技。凌陽(yáng)16位單片機(jī)開發(fā)實(shí)例。北京航空航天大學(xué)出版社。2006年13徐江海。單片機(jī)實(shí)用教程。機(jī)械工業(yè)出版社。2007年14余發(fā)山編著.單片機(jī)原理及應(yīng)用技術(shù). 中國(guó)礦業(yè)大學(xué)出版社,200315陳建澤編著。MCS-51 單片機(jī)應(yīng)用設(shè)計(jì).哈爾濱工業(yè)大學(xué)出版社,2006附錄A 系統(tǒng)整體電路系統(tǒng)電路圖附錄B 全部程序清單ORG 0000H LJMP MAIN ORG 000BH LJMP TIME ;主程序部分: ORG 0100H MAIN:MOV SP,#50H MOV 20H,#00H ;秒鐘BIN MOV 21H,#00H ;分鐘BIN MOV 22H,#00H

28、 ;小時(shí)BIN MOV 23H,#01H MOV 24H,#01H MOV 25H,#00H MOV 30H,#00H MOV 31H,#00H MOV 32H,#00H MOV 33H,#00H MOV 34H,#00H MOV 35H,#00H MOV 36H,#01H MOV 37H,#00H MOV 38H,#01H MOV 39H,#00H MOV TMOD,#01H ;16位計(jì)數(shù)器 MOV TH0,#03CH ;賦計(jì)數(shù)初值 MOV TL0,#0B0H MOV IE,#10000111B SETB TR0 ;T0啟動(dòng)計(jì)數(shù) MOV R2,#14H MOV P2,#0FFH LOOP:

29、LCALL TIMEPRO LCALL DISPLAY1 JB P1.1,M1 LCALL SETTIME ;調(diào)用設(shè)定時(shí)間程序 LJMP LOOP M1:JB P1.2,M2 LCALL SETATIME ;調(diào)用設(shè)定時(shí)間程序 LJMP LOOP M2:JB P1.4,M4 LCALL LOOKATIME ;調(diào)用設(shè)定鬧鐘時(shí)間程序 M4:LJMP LOOP DELAY:MOV R4,#030H ;延時(shí)時(shí)間 DL00:MOV R5,#0FFH DL11:MOV R6,#9H DL12:DJNZ R6,DL12 DJNZ R5,DL11 DJNZ R4,DL00 RET ;設(shè)定時(shí)間程序: SETTIM

30、E: L0:LCALL DISPLAY1 ;調(diào)用時(shí)間允許程序 MM1: JB P1.2,L1 MOV C,P1.2 JC MM1 LCALL DELAY1 ;調(diào)用延時(shí) JC MM1 MSTOP1: MOV C,P1.2 JNC MSTOP1 ;判斷P1.2是否釋放?釋放則繼續(xù) LCALL DELAY1 ;調(diào)用延時(shí) MOV C,P1.2 JNC MSTOP1 INC 22H ;小時(shí)增加1 MOV A,22H CJNE A,#18H,GO12 ;判斷小時(shí)是否到24時(shí)?未到繼續(xù)循環(huán) MOV 22H,#00H ;小時(shí)復(fù)位 MOV 34H,#00H MOV 35H,#00H LJMP L0 L1:JB

31、P1.3,L2 MOV C,P1.3 JC L1 LCALL DELAY1 ;延時(shí) JC L1MSTOP2: MOV C,P1.3 JNC MSTOP2 ;判斷P1.3是否釋放?釋放則繼續(xù) LCALL DELAY1 ;調(diào)用延時(shí) MOV C,P1.3 JNC MSTOP2 INC 21H ;分鐘增加一 MOV A,21H CJNE A,#3CH,GO11 MOV 21H,#00H ;分鐘復(fù)位 MOV 32H,#00H MOV 33H,#00H LJMP L0 GO11:MOV B,#0AH ;將A中的內(nèi)容分成高低兩部分 DIV AB MOV 32H,B MOV 33H,A LJMP L0 GO1

32、2: MOV B,#0AH DIV AB MOV 34H,B MOV 35H,A LJMP L0 L2:JB P1.4,L0 MOV C,P1.4 JC L2 LCALL DELAY1 ;調(diào)用延時(shí) MOV C,P1.4 JC L2STOP1: MOV C,P1.4 ;判斷按鍵P1.4是否釋放? JNC STOP1 LCALL DELAY1 ;調(diào)用延時(shí) MOV C,P1.4 JNC STOP1 LJMP LOOP;設(shè)置鬧鐘時(shí)間 SETATIME:LCALL DISPLAY2 ;調(diào)用時(shí)間運(yùn)行 N0:LCALL DISPLAY2 MM2: JB P1.3,N1 ;判斷P1.3是否按下? MOV C,

33、P1.3 JC MM2 LCALL DELAY1 JC MM2MSTOP3: MOV C,P1.3 ;判斷P1.3是否釋放? JNC MSTOP3 LCALL DELAY1 MOV C,P1.3 JNC MSTOP3 INC 24H ;設(shè)定小時(shí)增加1 MOV A,24H CJNE A,#24,GO22 MOV 24H,#00H ;時(shí)鐘復(fù)位 MOV 38H,#00H MOV 39H,#00H LJMP N0 N1:JB P1.1,N2 ;判斷P1.1是否按下? MOV C,P1.1 JC N1 LCALL DELAY1 JC N1MSTOP4: MOV C,P1.1 ;判斷P1.1是否釋放? J

34、NC MSTOP4 LCALL DELAY1 MOV C,P1.1 JNC MSTOP4 INC 23H ;設(shè)定鬧鐘分鐘增加1 MOV A,23H CJNE A,#60,GO21 ;判斷A是否到60分? MOV 23H,#00H ;分鐘復(fù)位 MOV 36H,#00H MOV 37H,#00H LJMP N0 GO21:MOV B,#0AH ;將A中的內(nèi)容分成高低兩部分 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.4 ,N0 ;判斷P1.4是否按下?

35、 MOV C,P1.4 JC N2 LCALL DELAY1 MOV C,P1.4 JC N2STOP2: MOV C,P1.4 ;判斷P1.4是否釋放? JNC STOP2 LCALL DELAY1 MOV C,P1.4 JNC STOP2 LJMP LOOP TIMEPRO:MOV A,21H MOV B,23H CJNE A,B,BK ;判斷分鐘是否運(yùn)行到設(shè)定的鬧鐘的分鐘? MOV A,22H MOV B,24H CJNE A,B,BK ;判斷時(shí)鐘是否運(yùn)行到設(shè)定的鬧鐘的時(shí)鐘? SETB 25H.0 MOV C,25H.0 JC XX XX: LCALL TIMEOUT ;調(diào)用時(shí)間鬧鐘響應(yīng)

36、程序 BK:RET TIMEOUT: X1:LCALL BZ ;調(diào)用喇叭響應(yīng)程序 LCALL DISPLAY2 CLR 25H.0 JB P1.4, X1 ;判斷P1.4是否按下? LCALL DELAY CLR 25H.0 LJMP DISPLAY1 BZ: CLR P3.7 ;喇叭響應(yīng)程序 MOV R7,#250 ;響應(yīng)延時(shí)時(shí)間 T2: MOV R6,#124 T3: DJNZ R6,T3 DJNZ R7,T2 SETB P3.7 RET LOOKATIME:LCALL DISPLAY2 ;調(diào)用時(shí)間運(yùn)行程序 MM: JB P1.4,LOOKATIME ;判斷按鍵P1.4是否按下 MOV C,P1.4 JC MM LCALL DELAY1 MOV C,P1.4 JC MMSTOP3: MOV C,P1.4 JNC STOP3 LCALL DELAY1 MOV C,P1.4 JNC STOP3 LJMP LOOP DELAY1: MOV R4,#14H ;時(shí)間延時(shí)DL001: MOV R5,#0FFHDL111: DJNZ R5,DL111 DJNZ R4,

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論