版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
-.z單片機(jī)課程設(shè)計(jì)設(shè)計(jì)題目:數(shù)字鐘校時電路設(shè)計(jì)專題題目:單片機(jī)系統(tǒng)設(shè)計(jì)設(shè)計(jì)主要內(nèi)容:制作數(shù)字鐘校時電路設(shè)計(jì)要求:根本要求制作單片機(jī)數(shù)字鐘,利用紅外控制,可根據(jù)自己的需要任意定時。先按定時按鍵把當(dāng)前時間鎖存起來,該時刻即為定時時間,定時到會自動播放音樂。把當(dāng)前時間鎖存好之后要退出定時。2、創(chuàng)新局部插入音樂,定時到了會自動播放。指導(dǎo)教師簽字:摘要近年來隨著計(jì)算機(jī)在社會領(lǐng)域的滲透和大規(guī)模集成電路的開展,單片機(jī)的應(yīng)用越來越普及了,并且由于它具有功能強(qiáng),體積小,功耗低,價格廉價,工作可靠,使用方便等特點(diǎn),使單片機(jī)在電子和一些自動化行業(yè)中應(yīng)用也越來越廣泛了,利用單片機(jī)實(shí)現(xiàn)的電子鐘具有編程靈活,并便于功能的擴(kuò)展,很準(zhǔn)確。數(shù)字鐘的組成模塊主要由一個AT89C51單片機(jī)模塊、用于顯示時間的數(shù)碼管顯示模塊等其他組成局部。紅外線遙控是目前使用很廣泛的一種通信和遙控技術(shù)。由于紅外線遙控裝置具有體積小、功耗低、功能強(qiáng)、本錢低等特點(diǎn),因而,繼彩電、錄像機(jī)之后,在錄音機(jī)、音響設(shè)備、空凋機(jī)以及玩具等其它小型電器裝置上也紛紛采用紅外線遙控。工業(yè)設(shè)備中,在高壓、輻射、有毒氣體、粉塵等環(huán)境下,采用紅外線遙控不僅完全可靠而且能有效地隔離電氣干擾。關(guān)鍵詞:單片機(jī)、紅外控制、KEIL軟件、C語言編程目錄1緒論…………………………11.1系統(tǒng)概述……………1設(shè)計(jì)性質(zhì)、目的、任務(wù)………11.2系統(tǒng)設(shè)計(jì)方案………………………1系統(tǒng)設(shè)計(jì)原理框圖……………12程序設(shè)計(jì)………………………12.1定時程序設(shè)計(jì)…………12.2實(shí)時時鐘實(shí)現(xiàn)的根本方法……………22.3實(shí)時時鐘程序設(shè)計(jì)步驟………………23紅外遙控………………………23.1紅外接收與發(fā)射………………………23.2紅外解碼………………34程序執(zhí)行方案…………………44.1子函數(shù)順序構(gòu)造方案…………………44.2中斷加順序方案………………………45設(shè)計(jì)工作及設(shè)計(jì)報(bào)告評分表………………46系統(tǒng)調(diào)試……………………56.1硬件局部……………56.2軟件局部……………57自我總結(jié)……………………58結(jié)論與展望……………………58.1結(jié)論……………………58.2單片機(jī)的開展趨勢……………………58.2.1.采用先進(jìn)構(gòu)造以實(shí)現(xiàn)高性能…………………58.2.2.進(jìn)一步降低功耗、……………58.2.3.采用FlashMemory……………68.2.4.集成更多功能及兼容性………68.2.5.強(qiáng)抗干擾能力…………………68.2.6.朝系列化、全面化方向開展…………………69參考文獻(xiàn)………………………6附錄一單片機(jī)板電路原理圖……………………8附錄二單片機(jī)數(shù)字鐘……………9附錄三程序………………………101緒論1.1系統(tǒng)概述1.1.1設(shè)計(jì)性質(zhì)、目的、任務(wù)?單片機(jī)系統(tǒng)設(shè)計(jì)?是在學(xué)習(xí)?模擬電子技術(shù)?、?數(shù)字電子技術(shù)?、?單片機(jī)原理及應(yīng)用?等相關(guān)理論課程之后,所設(shè)置的重要的綜合性實(shí)踐教學(xué)環(huán)節(jié),課程的任務(wù)是通過選題的設(shè)計(jì)、安裝和調(diào)試,穩(wěn)固已學(xué)的理論知識,綜合應(yīng)用所學(xué)知識,進(jìn)展電子系統(tǒng)的設(shè)計(jì),從而培養(yǎng)工程實(shí)踐能力、創(chuàng)新能力,培養(yǎng)嚴(yán)肅認(rèn)真的工作作風(fēng)和科學(xué)態(tài)度。通過查閱資料、選定方案、設(shè)計(jì)電路、安裝調(diào)試、寫報(bào)告等過程,得到一次科學(xué)研究工作的啟蒙訓(xùn)練,也為以后利用單片機(jī)開發(fā)電子產(chǎn)品奠定堅(jiān)實(shí)的根底。1.2系統(tǒng)設(shè)計(jì)方案系統(tǒng)設(shè)計(jì)原理框圖開場開場初始化:定時器0定時器1中斷0走時模塊按鍵掃描模塊按鍵中斷顯示模塊計(jì)數(shù)模塊報(bào)時模塊2程序設(shè)計(jì)2.1定時程序設(shè)計(jì)單片機(jī)的定時功能也是通過計(jì)數(shù)器的計(jì)數(shù)來實(shí)現(xiàn)的,此時的計(jì)數(shù)脈沖來自單片機(jī)的內(nèi)部,即每個機(jī)器周期產(chǎn)生一個計(jì)數(shù)脈沖,也就是每經(jīng)過1個機(jī)器周期的時間,計(jì)數(shù)器加1。如果MCS-51采用的12MHz晶體,則計(jì)數(shù)頻率為1MHz,即每過1us的時間計(jì)數(shù)器加1。這樣可以根據(jù)計(jì)數(shù)值計(jì)算出定時時間,也可以根據(jù)定時時間的要求計(jì)算出計(jì)數(shù)器的初值。MCS-51單片機(jī)的定時器/計(jì)數(shù)器具有4種工作方式,其控制字均在相應(yīng)的特殊功能存放器中,通過對特殊功能存放器的編程,可以方便的選擇定時器/計(jì)數(shù)器兩種工作模式和4種工作方式。定時器/計(jì)數(shù)器工作在方式0時,為13位的計(jì)數(shù)器,由TL*(*=0、1)的低5位和TH*的高8位所構(gòu)成。TL*低5位溢出則向TH*進(jìn)位,TH*計(jì)數(shù)溢出則置位TCON中的溢出標(biāo)志位TF*.當(dāng)定時器/計(jì)數(shù)器工作于方式1,為16位的計(jì)數(shù)器。本設(shè)計(jì)師單片機(jī)多功能定時器,所以MCS-51內(nèi)部的定時器/計(jì)數(shù)器被選定為定時器工作模式,計(jì)數(shù)輸入信號是內(nèi)部時鐘脈沖,每個機(jī)器周期產(chǎn)生一個脈沖使計(jì)數(shù)器增1。2.2實(shí)時時鐘實(shí)現(xiàn)的根本方法時鐘的最小計(jì)時單位是秒,但使用定時器的方式1,最大的定時時間也只能到達(dá)131ms。我們可把定時器的定時時間定為50ms。這樣,計(jì)數(shù)溢出20次即可得到時鐘的最小計(jì)時單位:秒。而計(jì)數(shù)20次可以用軟件實(shí)現(xiàn)。秒計(jì)時是采用中斷方式進(jìn)展溢出次數(shù)的累積,計(jì)滿20次,即得到秒計(jì)時。從秒到分,從分到時是通過軟件累加并進(jìn)展比擬的方法來實(shí)現(xiàn)的。要求每滿1秒,則“秒〞單元中的內(nèi)容加1;“秒〞單元滿60,則“分〞單元中的內(nèi)容加1;“分〞單元滿60,則“時〞單元中的內(nèi)容加1;“時〞單元滿24,則將時、分、秒的內(nèi)容全部清零。2.3實(shí)時時鐘程序設(shè)計(jì)步驟〔1〕選擇工作方式,計(jì)算初值;〔2〕采用中斷方式進(jìn)展溢出次數(shù)累計(jì);〔3〕從秒——分——時的計(jì)時是通過累加和數(shù)值比擬實(shí)現(xiàn)的;〔4〕時鐘顯示緩沖區(qū):時鐘時間在方位數(shù)碼管上進(jìn)展顯示,為此在內(nèi)部RAM中要設(shè)置顯示緩沖區(qū),共6個地址單元。顯示緩沖區(qū)從左到右依次存放時、分、秒數(shù)值;〔5〕主程序:主要進(jìn)展定時器/計(jì)數(shù)器的初始化編程,然后反復(fù)調(diào)用顯示子程序的方法等待中斷的到來?!?〕中斷效勞程序:進(jìn)展計(jì)時操作〔7〕加1子程序:用于完成對時、分、秒的加操作,中斷效勞程序在秒、分、時加1時共有三種條調(diào)用加1子程序,包括三項(xiàng)內(nèi)容:合字、加1并進(jìn)展十進(jìn)制調(diào)整、分字。3紅外遙控3.1紅外接收與發(fā)射通用紅外遙控系統(tǒng)由發(fā)射和接收兩大局部組成,應(yīng)用編/解碼專用集成電路芯片來進(jìn)展控制操作,如圖1所示。發(fā)射局部包括鍵盤矩陣、編碼調(diào)制、LED紅外發(fā)送器;接收局部包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼電路。圖1a?紅外發(fā)射原理圖?圖1b?紅外承受原理圖?3.2紅外解碼紅外遙控發(fā)射器專用芯片很多,根據(jù)編碼格式可以分成兩大類,這里我們以運(yùn)用比擬廣泛,解碼比擬容易的一類來加以說明,現(xiàn)以日本NEC的uPD6121G組成發(fā)射電路為例說明編碼原理。當(dāng)發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征:采用脈寬調(diào)制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進(jìn)制的“0〞;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進(jìn)制的“1〞,其波形如圖2所示。4程序執(zhí)行方案4.1子函數(shù)順序構(gòu)造方案將各個模塊放入main〔〕函數(shù)順序執(zhí)行優(yōu)點(diǎn):構(gòu)造簡單,代碼量少,層次清晰。缺點(diǎn):實(shí)時性差,用戶體驗(yàn)較差,4.2中斷加順序方案關(guān)鍵模塊采用中斷構(gòu)造,如顯示模塊,以保證其實(shí)時性,對于實(shí)時性要求不高的模塊采用循環(huán)構(gòu)造嵌套順序構(gòu)造。優(yōu)點(diǎn):實(shí)時性好,運(yùn)行穩(wěn)定,抗干擾性能好缺點(diǎn):構(gòu)造復(fù)雜5設(shè)計(jì)工作及設(shè)計(jì)報(bào)告評分表項(xiàng)目內(nèi)容測試結(jié)果走時準(zhǔn)確性程序走時準(zhǔn)確,誤差小于1s/分鐘正確性秒、分、時進(jìn)位正確。優(yōu)良程度走時完全符合設(shè)計(jì)要求。鬧鈴?fù)瓿沙潭饶軌螋[鈴,能夠設(shè)置鬧鈴時間和整點(diǎn)報(bào)時。正確性能夠準(zhǔn)時鬧鈴和整點(diǎn)報(bào)時電路圖及設(shè)計(jì)文件完整性所要求功能完全實(shí)現(xiàn)。規(guī)*程度電路符合設(shè)計(jì)規(guī)*,軟件符合軟件設(shè)計(jì)要求。抗干擾設(shè)計(jì)顯示抗干擾顯示正常,未發(fā)現(xiàn)受按鍵干擾和其他干擾。按鍵抗干擾按鍵及時、有效、正確響應(yīng)。系統(tǒng)抗干擾系統(tǒng)穩(wěn)定運(yùn)行4小時未見異常。6系統(tǒng)調(diào)試系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試兩局部,介紹一下我在這兩方面遇到一些問題,以及如何解決的。6.1硬件局部硬件焊接為單片機(jī)板,因?yàn)槭且郧昂负玫?,所以不存在問題。6.2軟件局部開場對單片機(jī)C語言很陌生,看程序很困難,自己編寫不出程序。通過教師的講解,和以前學(xué)過的C語言的知識,與單片機(jī)C語言根本一樣,有些區(qū)別,把其中的區(qū)別搞懂了,能夠編寫簡單的程序了。通過程序調(diào)試各個局部的功能,完成各功能模塊,把程序下載到單片機(jī)中,最終實(shí)現(xiàn)報(bào)時的功能。7自我總結(jié)這次課程設(shè)計(jì),我學(xué)到了許多,無論是硬件焊接還是軟件編程,都有了進(jìn)一步的提高。初步掌握了單片機(jī)C語言的編程。對紅外控制,單片機(jī)顯示等有了更深入的了解。這些離不開教師的指導(dǎo)和同學(xué)的互相幫助。我還有許多缺乏,這些還遠(yuǎn)遠(yuǎn)不夠,在今后我還要不斷的練習(xí)。8結(jié)論與展望8.1結(jié)論單片機(jī)多功能定時系統(tǒng)理論上能很好的到達(dá)了學(xué)校教學(xué)要求,發(fā)揮了單片機(jī)在智能化方面的應(yīng)用。該系統(tǒng)的設(shè)計(jì)很好的滿足當(dāng)前學(xué)校教學(xué)的需要,是一個理想的智能化的設(shè)計(jì)。它具有一個走時準(zhǔn)確的實(shí)時鐘,可以任意設(shè)置時間,可以控制時間表的轉(zhuǎn)換,時鐘的顯示功能等??梢酝ㄟ^按鍵操作和數(shù)字顯示。該系統(tǒng)規(guī)模小,但是功能較多,操作簡單,造價低,應(yīng)用非常廣泛。該系統(tǒng)的設(shè)計(jì)為向家庭數(shù)字化方向開展又前進(jìn)了一步。同時又?jǐn)U大了單片機(jī)的應(yīng)用領(lǐng)域。8.2單片機(jī)的開展趨勢自單片機(jī)出現(xiàn)至今,單片機(jī)技術(shù)已走過了幾十年的開展路程??v觀幾十年來單片機(jī)開展歷程可以看出,單片機(jī)技術(shù)的開展以微處理器〔MPU〕技術(shù)及超大規(guī)模集成電路技術(shù)的開展為先導(dǎo),拉動廣泛的應(yīng)用領(lǐng)域,表現(xiàn)出比微處理器更具個性的開展趨勢:8.2.1.采用先進(jìn)構(gòu)造以實(shí)現(xiàn)高性能在過去的一段時間內(nèi),單片機(jī)的指令運(yùn)行速度一直在10MIPS以下,這對于應(yīng)用在工業(yè)控制領(lǐng)域內(nèi)的單片機(jī)來說是足夠了,但當(dāng)單片機(jī)被應(yīng)用在通訊及DSP領(lǐng)域作為高速運(yùn)算、編碼或解碼時,就會出現(xiàn)因指令運(yùn)行速度不夠而限制單片機(jī)應(yīng)用的情形,因此提高單片機(jī)指令運(yùn)行速度已經(jīng)成為迫切需要解決的問題。8.2.2.進(jìn)一步降低功耗基于80C51的飛利浦低功率、低系統(tǒng)本錢微控制器51LPC系列是業(yè)界推動單片機(jī)向低功耗方向開展的主導(dǎo)單片機(jī)系列之一。51LPC系列單片機(jī)采用以下三種方法降低功耗:〔1〕使系統(tǒng)進(jìn)入空閑模式,在空閑模式下,只有外圍器件在工作,任意的復(fù)位及中斷均可完畢空閑模式;〔2〕使系統(tǒng)進(jìn)入低功耗模式,在低功耗模式下,振蕩器停頓工作,是功耗降到最小〔3〕使系統(tǒng)進(jìn)入低電壓EPROM操作;EPROM包含了模擬電路,當(dāng)Vcc高于4V時,可通過軟件使這些模擬電路掉電以降低功耗,在上電情況下可使系統(tǒng)退出該模式。8.2.3.采用FlashMemory隨著半導(dǎo)體工藝技術(shù)的不斷進(jìn)步,MPU的Flash版本逐漸替代了原有的OTP版本。FlashMPU具有以下優(yōu)點(diǎn):與屢次可編程的窗口式EPROM相比,F(xiàn)lashMPU的本錢要低得多;在系統(tǒng)編程能力以及產(chǎn)品生產(chǎn)方面提供了靈活性,因?yàn)镕lashMPU可在編程后面再次以新代碼重新編程;可減少已編程器件的報(bào)廢和庫存;有助于生產(chǎn)廠商縮短設(shè)計(jì)周期,使終端用戶產(chǎn)品和、更具有競爭力。8.2.4.集成更多功能及兼容性目前單片機(jī)的另一個開展趨勢是在芯片上集成更多的功能。如模擬功能,包括模擬比擬器、A/D和D/A轉(zhuǎn)換器等。具體表現(xiàn)在:兼容性作為設(shè)計(jì)的第一考慮;額外的新的特點(diǎn)是透明的;使用同一種編程器;OTP使器件快速提升及標(biāo)準(zhǔn)化成為可能。8.2.5.強(qiáng)抗干擾能力不斷加強(qiáng)抗干擾能力是單片機(jī)進(jìn)一步開展的必然趨勢。STMicroelectronics公司推出的ST62系列單片機(jī)在這方面是佼佼者,其優(yōu)良的抗干擾能力使得許多大公司將其應(yīng)用在系統(tǒng)中的關(guān)鍵部件上。許多單片機(jī)開發(fā)商也正朝著這個方向努力。8.2.6.朝系列化、全面化方向開展各大單片機(jī)開發(fā)商在增加產(chǎn)品功能的同時效力于形成產(chǎn)品的系列化=全面化,以滿足各種控制領(lǐng)域的要求,這也是單片機(jī)開展的趨勢之一。日本TOSHBA公司開發(fā)了從4位到64位的多系列單片機(jī),日立公司也有從4.位到32位的單片機(jī),目前還沒有哪個廠家生產(chǎn)的單片機(jī)比東芝公司的種類多。隨著單片機(jī)性能的不斷提高,不斷的克制和彌補(bǔ)自身的缺乏。在各種控制領(lǐng)域,單片機(jī)將擁有更加廣闊的使用天地。在很長的一段時間內(nèi),它將一直是工程設(shè)計(jì)人員的首選控制芯片之一9參考文獻(xiàn)[1]*專成趙懷勛.單片機(jī)測控系統(tǒng)中的監(jiān)視定時器.武警技術(shù)學(xué)院.Mar1997[2]*景元.基于單片機(jī)的多用途定時器的設(shè)計(jì)與實(shí)現(xiàn).電子工程師2000年第8期[3]李洪濤.一種單片機(jī)控制的定時打鈴器.電子世界.1990年第2期[4]何業(yè)軍李超.基于單片機(jī)控制的高精度定時打鈴器的設(shè)計(jì).電子技術(shù).2001年第7期[5]關(guān)宗安仲叢久.基于單片機(jī)實(shí)現(xiàn)的多路定時控制器的設(shè)計(jì).**航空工業(yè)學(xué)院學(xué)報(bào).2004年6月.第21卷第3期[6]ATMEL.MicrocontrollerDatabook.2002[7]Mark1.Montrose.PRINTEDCircuitBoardDesignTechniquesforEMCpliance.IEEPressseries.2000[8]*立南.單片微機(jī)接口與控制技術(shù).**:**大學(xué).1996[9]*友德.單片微型機(jī)原理、應(yīng)用與實(shí)踐.**:復(fù)旦大學(xué).1992[10]李華.MCS-51系列單片機(jī)實(shí)用接口技術(shù),:航空航天大學(xué)出版社.1993[11]何希慶,高偉.MCS-51單片機(jī)原理、實(shí)驗(yàn)、實(shí)例[M].**:**大學(xué)出版社.1989[12]*毅剛,彭喜源,潭曉昀.MCS-51單片機(jī)應(yīng)用設(shè)計(jì)[M].**:**工業(yè)大學(xué).1997[13]胡漢才.單片機(jī)原理及接口技術(shù)[M],:清華大學(xué).1996[14]余永權(quán),單片機(jī)與家用電器智能化設(shè)計(jì)[M].:電子工業(yè).1995[15]房小翠,王金鳳.單片微型計(jì)算機(jī)與機(jī)電接口技術(shù)[M].國防工業(yè)出版社.2002[16]皮紅梅,李英順.單片機(jī)開發(fā)中的定時方法.**石油化工高等??茖W(xué)校學(xué)報(bào).2002年12月[17]Ma*im公司.NewreleasesDataBook1996附錄一:單片機(jī)板電路原理圖附錄二:單片機(jī)數(shù)字鐘//*include<REG*51.H>*include<intrins.h>*include"delay.h" *include"decode.h"sbitspeaker=P2^5;unsignedinti;unsignedintk;unsignedchartimer0h,timer0l,time;//世上只有媽媽好數(shù)據(jù)表codeunsignedcharsszymmh[]={6,2,3,5,2,1,3,2,2,5,2,2,1,3,2,6,2,1,5,2,1,6,2,4,3,2,2,5,2,1,6,2,1,5,2,2,3,2,2,1,2,1,6,1,1,5,2,1,3,2,1,2,2,4,2,2,3,3,2,1,5,2,2,5,2,1,6,2,1,3,2,2,2,2,2,1,2,4,5,2,3,3,2,1,2,2,1,1,2,1,6,1,1,1,2,1,5,1,6,0,0,0};//音階頻率表高八位codeunsignedcharFREQH[]={0*F2,0*F3,0*F5,0*F5,0*F6,0*F7,0*F8,0*F9,0*F9,0*FA,0*FA,0*FB,0*FB,0*FC,0*FC,//1,2,3,4,5,6,7,8,i0*FC,0*FD,0*FD,0*FD,0*FD,0*FE,0*FE,0*FE,0*FE,0*FE,0*FE,0*FE,0*FF,};//音階頻率表低八位codeunsignedcharFREQL[]={0*42,0*C1,0*17,0*B6,0*D0,0*D1,0*B6,0*21,0*E1,0*8C,0*D8,0*68,0*E9,0*5B,0*8F,//1,2,3,4,5,6,7,8,i0*EE,0*44,0*6B,0*B4,0*F4,0*2D,0*47,0*77,0*A2,0*B6,0*DA,0*FA,0*16,};*defineucharunsignedchar*defineuintunsignedint*defineFont_codeP0//字符碼寫地址*definereg_codeP2//字位碼寫地址unsignedintn;unsignedcharmin;unsignedcharhour;unsignedcharsecond;unsignedcharmin*;unsignedcharhour*;bitflag;codeunsignedchartab[]={0*3f,0*06,0*5b,0*4f,0*66,0*6d,0*7d,0*07,0*7f,0*6f};//共陰數(shù)碼管0-9unsignedcharsDis_Shiwei=0*c0;//定義十位unsignedcharsDis_Gewei=0*c0;//定義個位unsignedcharmDis_Shiwei=0*c0;//定義十位unsignedcharmDis_Gewei=0*c0;//定義個位unsignedcharhDis_Shiwei=0*c0;//定義十位unsignedcharhDis_Gewei=0*c0;//定義個位codeucharShow_Tab[]={0*C0,/*0*/0*F9,/*1*/0*A4,/*2*/0*B0,/*3*/0*99,/*4*/0*92,/*5*/0*82,/*6*/0*F8,/*7*/0*80,/*8*/0*90,/*9*/0*88,/*A*/0*83,/*b*/0*C6,/*C*/0*A1,/*d*/0*86,/*E*/0*8E/*F*/};codeucharS_Tab[8]={0*fe,0*fd,0*fb,0*f7,0*ef,0*df,0*bf,0*7f};unsignedcharDisplay_Buffer[8];//顯示緩沖區(qū)ucharbit_con;//字位碼掃描計(jì)數(shù)器e*ternucharkey_value; //鍵值e*ternbitkey_flg;//按鈕按下標(biāo)志e*ternbitcycle_flg;//循環(huán)標(biāo)志voiddelay(unsignedintt){while(--t);}voiddelay*(unsignedchart){unsignedchart1;unsignedlongt2;for(t1=0;t1<t;t1++){for(t2=0;t2<8000;t2++){;}}TR2=0;}voidsong(){RCAP2H=timer0h;RCAP2L=timer0l;TR2=1;delay*(time);}voidmain(){delay_nus(1);delay_nms(1);reg_code=0*ff; //關(guān)閉顯示for(bit_con=0;bit_con<8;bit_con++)Display_Buffer[bit_con]=Show_Tab[0];bit_con=0;Timer0init();//定時器0初始化E*0init();//外部中斷初始化while(1){P0=sDis_Shiwei;//顯示十位P2=0*bf;delay(300);//短暫延時P0=sDis_Gewei;//顯示個位P2=0*7f;delay(300);P0=mDis_Shiwei;//顯示十位P2=0*ef;delay(300);//短暫延時P0=mDis_Gewei;//顯示個位P2=0*df;delay(300); if(key_value==0*09) //如果讀到K1為0 { key_value=0; min++; if(min==60) min=0; }P0=hDis_Shiwei;//顯示十位P2=0*fb;delay(300);//短暫延時P0=hDis_Gewei;//顯示個位P2=0*f7;delay(300); if(key_value==0*43) //如果讀到K1為0 {key_value=0; hour++; if(hour==24) hour=0; } if(key_value==0*40) //如果讀到K1為0 {key_value=0; hour--; if(hour==0) hour=23; }sDis_Shiwei=~tab[second/10];//十位顯示值處理sDis_Gewei=~tab[second%10];//個位顯示處理mDis_Shiwei=~tab[min/10];//十位顯示值處理mDis_Gewei=~tab[min%10];//個位顯示處理hDis_Shiwei=~tab[hour/10];//十位顯示值處理hDis_Gewei=~tab[hour%10];//個位顯示處理if(key_value==0*45) //如果讀到K1為0 {key_value=0; min*=min; hour*=hour; flag=0; } if(key_value==0*15) //如果讀到K1為0 {key_value=0; min--; if(min==0) min=59; } if((min==(min*+1))&&(hour==hour*)) {flag=0;} if((min==min*)&&(hour==hour*) &&flag==0) { while(1) { TR2=1; //啟動定時器 ET2=1;//翻開定時器2中斷 i=0; while(i<100) //音樂數(shù)組長度,唱完從頭再來 { k=sszymmh[i]+7*sszymmh[i+1]-1; timer0h=FREQH[k]; timer0l=FREQL[k]; RCAP2H=timer0h; RCAP2L=timer0l; time=sszymmh[i+2]; i=i+3; song(); if(key_value==0*47) //如果讀到K1為0 { key_value=0; flag=1; TR2=0; //啟動定時器 ET2=0;//翻開定時器2中斷 break; } } break; } }}}timer1()interrupt3{unsignedcharcount;TH1=0*d8;//重新賦值TL1=0*f0;count++;if(count==100){count=0;second++;//秒加1 if(second==60) { second=0; min=min+1; } if(min==60) {min=0; hour=hour+1; } if(hour==24) { hour=0; second=0; min=0; }}}voidt2int()interrupt5{TR2=0; TF2=0;speaker=!speaker;TR2=1;}Decode.c/******************************************************************//*紅外遙控解碼*//*CPU&*TAL:89c5212Mhz*//*支持的紅外編碼方案:NEC6121*//*編碼格式:引導(dǎo)信號(或連發(fā)信號)+地址碼+地址碼+控制碼+控制碼反碼*//******************************************************************/*include"decode.h"http://*include"display.c"*include<ABSACC.h>*include<intrins.h>*defineucharunsignedchar*defineuintunsignedint/******************************************************************//*變量保存區(qū)*//******************************************************************/staticunsignedcharTimer0_t; //定時器計(jì)數(shù)值staticunsignedcharTimer0_t_bk;staticbittimeout; //超時標(biāo)志staticbitGuide; //引導(dǎo)碼有效staticbitContinuous;//連發(fā)碼staticunsignedcharIR_time[33]; //保存每兩個下降沿之間的時間間隔/******************************************************************//*結(jié)構(gòu)體區(qū)*//*保存一次解碼后承受到的四字節(jié)數(shù)據(jù)*//******************************************************************/staticstructIR_data //紅外接收數(shù)據(jù)存放{unsignedcharaddr1; //地址1(客戶碼1)unsignedcharaddr2; //地址2(客戶碼2)unsignedchardata1; //數(shù)據(jù)1(數(shù)據(jù)碼)unsignedchardata2; //數(shù)據(jù)2(數(shù)據(jù)碼反碼)}IR_data;ucharkey_value; //鍵值bitkey_flg;//按鈕按下標(biāo)志bitcycle_flg;//循環(huán)標(biāo)志/******************************************************************//*定時器0初始化*//*定時值:225us*//*方式2自動重載*//******************************************************************/voidTimer0init(void)//定時器0初始化{//定時值225usTMOD=0*12;//定時器0工作方式2自動重載TH0=TIMER0_COUNT;//重載值TL0=TIMER0_COUNT;//初始化值ET0=1;//定時器0中斷有效TR0=1;//定時開場ET1=1;TR1=1;//// RCAP2H=0*F3;//賦T2的預(yù)置值,溢出1次是1/1200秒鐘// RCAP2L=0*98; // TR2=1; //啟動定時器// ET2=1;//翻開定時器2中斷// EA=1;}/******************************************************************//*外部中斷初始化*//*中斷端口:外部中斷0P3.2*//*觸發(fā)方式:下降沿*//******************************************************************/voidE*0init(void){EA=1;//總中斷開IT0=1;//指定外部中斷0下降沿觸發(fā),INT0(P3.2)E*0=1;//外部中斷有效}/******************************************************************//*Timer0中斷子程序*//******************************************************************/voidTimer0(void)interrupt1using1{Timer0_t++;if(Timer0_t>Timeout_t)timeout=1; //超時標(biāo)志}/******************************************************************//*外部中斷0函數(shù)*//*下降沿觸發(fā) *//******************************************************************/voide*0_isr(void)interrupt0using0{staticunsignedcharm=0;Timer0_t_bk=Timer0_t;//備份時間計(jì)數(shù)值,即前一個下降沿到本下降沿的時間間隔Timer0_t=0*00; //清空時間計(jì)數(shù)值if(timeout) //如果超時{TL0=TIMER0_COUNT;//初始化定時器0Timer0_t=0*00;//清空時間計(jì)數(shù)值timeout=0; //去除超時標(biāo)志Guide=0;//去除引導(dǎo)標(biāo)志Continuous=0;//去除連發(fā)標(biāo)志m=0; //復(fù)位數(shù)據(jù)位}else{if(Guide|Continuous) //如果引導(dǎo)碼有效{IR_time[m++]=Timer0_t_bk; //保存時間間隔if(m==32) //接收夠32數(shù)據(jù)后{m=0; Guide=0; //去除引導(dǎo)標(biāo)志Decode(); //解碼 };}; if(Timer0_t_bk>Guide_timer) //如果時間間隔>引導(dǎo)碼時長{Guide=1; //使能引
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年物流園區(qū)運(yùn)營管理承包合同模板3篇
- 社區(qū)勞動保障工作總結(jié)范文三篇
- 甲醇課程設(shè)計(jì)
- 簡單的vhdl課程設(shè)計(jì)
- 機(jī)電畢業(yè)課程設(shè)計(jì)書
- 物流園消防培訓(xùn)課程設(shè)計(jì)
- 簡單網(wǎng)課程設(shè)計(jì)
- 輸變電工程施工合同(2020版)
- 紀(jì)念方法微課程設(shè)計(jì)
- 市場部門拓展新市場并提升品牌影響力
- 常用截面慣性矩與截面系數(shù)的計(jì)算
- 行車工考試試題
- 小兒頭皮靜脈輸液課件
- 宇電溫控器ai 500 501用戶手冊s 6中文說明書
- 電力電纜高頻局放試驗(yàn)報(bào)告
- 肺病科主任年度述職匯報(bào)
- 2023年福建省晉江市數(shù)學(xué)七年級第一學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 水利水電工程基礎(chǔ)坑隱蔽工程驗(yàn)收證書
- 余熱發(fā)電工程總施工組織設(shè)計(jì)方案
- 建設(shè)工程監(jiān)理費(fèi)計(jì)算器(免費(fèi))
- 希望點(diǎn)-列舉法
評論
0/150
提交評論