![LED燈智能控制系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)_第1頁(yè)](http://file4.renrendoc.com/view/00599471bf39112a965f080487d8fc53/00599471bf39112a965f080487d8fc531.gif)
![LED燈智能控制系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)_第2頁(yè)](http://file4.renrendoc.com/view/00599471bf39112a965f080487d8fc53/00599471bf39112a965f080487d8fc532.gif)
![LED燈智能控制系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)_第3頁(yè)](http://file4.renrendoc.com/view/00599471bf39112a965f080487d8fc53/00599471bf39112a965f080487d8fc533.gif)
![LED燈智能控制系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)_第4頁(yè)](http://file4.renrendoc.com/view/00599471bf39112a965f080487d8fc53/00599471bf39112a965f080487d8fc534.gif)
![LED燈智能控制系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)_第5頁(yè)](http://file4.renrendoc.com/view/00599471bf39112a965f080487d8fc53/00599471bf39112a965f080487d8fc535.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
LELEwasfinallyrevisedonthemorningofDecember16,2020LELEwasfinallyrevisedonthemorningofDecember16,2020LED燈智能控制系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)LED燈智能控制系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)摘要該LED燈智能控制系統(tǒng)采用STC89C52RC單片機(jī)為核心,利用單片機(jī)的端口分別控制數(shù)碼管和DS1302實(shí)時(shí)時(shí)鐘系統(tǒng)、ADC0832,DAC0832智能操控照明系統(tǒng)。我們常見(jiàn)的路燈、過(guò)道燈、草坪燈、廣告箱燈、霓虹燈和廁所等公共場(chǎng)所用的一些照明燈往往徹夜通明,這不僅浪費(fèi)能源,在某種程度上也造成了光污染。在今天電力能源供應(yīng)比較緊張的情況下,在沒(méi)有人員活動(dòng)的深夜讓這些燈自動(dòng)關(guān)掉,不僅可以節(jié)約能源,也能夠節(jié)約一些開(kāi)支。本文主要介紹系統(tǒng)的開(kāi)發(fā)背景,意義,并重點(diǎn)介紹了硬件設(shè)計(jì)和軟件設(shè)計(jì)的過(guò)程。在硬件方面,從元件,模塊,系統(tǒng)逐級(jí)闡述,特別是系統(tǒng)的核心部分STC89C52RC,并用ALTIUMDESIGNER軟件對(duì)原理圖和電路板的制作。軟件方面,用現(xiàn)階段比較流行的單片機(jī)C語(yǔ)言編程,利用定時(shí)器中斷控制標(biāo)準(zhǔn)時(shí)鐘。其中介紹了單片機(jī)仿真軟件KEILC51的使用。關(guān)鍵詞:STC89C52RC光敏電阻pwmAbstractThisnightflaresystemisansystembasedontheSTC89C52RCmonolithicintegratedcircuit,itmakesuseoftheportofmonolithicintegratedtocontroltheLEDstandardclocksystem,thesilicon-controlledrectifierandtheelectricbellseparatelyandthenthelightingsystemwascontrolledbyintelligence.Somecommonstreetswhichareinpublicplaces,suchas:theaislewaylight,thelawnlamp,theadvertisementboxlamp,theneonlightandtherestroomandsoonthepublicplaceusessomeflaresoftenallnightarebrightlylit,thisisnotonlywastingofenergy,butalsomaketheraypollutioninsomekindofprocedure.Nowaday,theelectricpowerenergyisinshortsupply,soifweturnoffsomewhenthereisnopeople,itisnotexpenses.Inthisarticle,itintroducesthesystematicdevelopmentbackground,thesignificanceandespeciallytheprocessofthehardwaredesignandthesoftwaredesign.Inthehardwareaspect,thisarticleelaboratesthepart,themodule,thesystemonebyone,especiallythecoreofthesystemSTC89C52RC,andusestheALTIUMDESIGNER.Softwaretotheschematicdiagramandtheelectriccircuitboardmanufacture.InthesoftwareaspectwiththepresentstagequitepopularmonolithicintegratedcircuitClanguageprogramming,usesthetimerinterruptcontrolstandardclock.Finallyitwasthesoftwareandhardwaredebugging,inwhichintroducedtheinstatonsofthestationsofmonolithicintegratedcircuitsimulationsoftwareKEILC51use.Keyword:silicon-controlledrectifierSTC89C52RCpwm目錄摘要 IAbstract II第一章緒論 1課題研究的背景 1開(kāi)發(fā)的意義 1課題研究的方案 1第二章芯片選用說(shuō)明 2STC89C52RC 2相關(guān)芯片及其引腳分析 2ADC0832 6 7LED數(shù)碼管 10LED數(shù)碼管編碼方式 11LED數(shù)碼管顯示方式和典型應(yīng)用電路 12DS1302數(shù)字時(shí)鐘芯片 13DS1302的控制字節(jié) 14數(shù)據(jù)輸入輸出(I/O) 14DS1302與CPU的連接 14光敏電阻 15第三章方案論證及部分電路分析 16方案論證和比較 16單片機(jī)的最小應(yīng)用系統(tǒng) 17單片機(jī)的時(shí)鐘電路 17復(fù)位電路和復(fù)位狀態(tài) 18總線(xiàn)結(jié)構(gòu) 21標(biāo)準(zhǔn)時(shí)鐘顯示部分設(shè)計(jì): 22光敏接收電路 22接鍵可調(diào)部分 26系統(tǒng)照明 27第四章系統(tǒng)的軟件設(shè)計(jì) 28總結(jié) 33致謝 34參考文獻(xiàn): 35附錄一:原理圖 36附錄三:程序清單 39第一章緒論課題研究的背景隨著現(xiàn)代科技的飛速發(fā)展,單片機(jī)已經(jīng)在各個(gè)領(lǐng)域得到越來(lái)越廣泛的應(yīng)用。單片機(jī)由于體積小,功耗低兩個(gè)基本特征,在通訊,家電,工業(yè)控制,儀器儀表,汽車(chē)等產(chǎn)品中都可以看到單片機(jī)的身影。單片機(jī)技術(shù)也隨著集成電路技術(shù)的進(jìn)步在近幾年飛速的發(fā)展,這種發(fā)展可以分為兩方面:一方面在硬件上單片機(jī)內(nèi)部集成了越來(lái)越多的功能部件,如A/D,D/A,PWM,WATCHDOG,LCD驅(qū)動(dòng),串行口,大容量FLASH存儲(chǔ)器等;另一方面在開(kāi)發(fā)手段上從匯編語(yǔ)言向高級(jí)C語(yǔ)言過(guò)度,計(jì)算機(jī)仿真調(diào)試,IAP,ISP技術(shù)的應(yīng)用使單片機(jī)開(kāi)發(fā)周期大大的縮短,為各類(lèi)產(chǎn)品更新,軟件的升級(jí)提供了可靠的技術(shù)保障。在設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)時(shí),由于歷史的原因,目前在國(guó)內(nèi)仍然以8051系列單片機(jī)為主。作為電子專(zhuān)業(yè)的學(xué)生,非常有必要通過(guò)實(shí)際產(chǎn)品的設(shè)計(jì)和制作,了解現(xiàn)代IT產(chǎn)品的開(kāi)發(fā)全流程。全面提高機(jī),電,光,算知識(shí)的綜合應(yīng)用能力,掌握從系統(tǒng)級(jí),電路級(jí),到芯片級(jí)各個(gè)層次的設(shè)計(jì)和實(shí)現(xiàn)手段。基于上述原因,選擇此設(shè)計(jì)課題,在此設(shè)計(jì)過(guò)程中,我們將會(huì)用到多門(mén)學(xué)科的理論知識(shí),將對(duì)以前所學(xué)的知識(shí)做一個(gè)全面的復(fù)習(xí)和鞏固,更重要的是培養(yǎng)了發(fā)現(xiàn)問(wèn)題,分析問(wèn)題,解決問(wèn)題的能力,還有動(dòng)手能力,也是一次很好的實(shí)踐,對(duì)以后的學(xué)習(xí)和工作也會(huì)有所幫助。開(kāi)發(fā)的意義科技的進(jìn)步帶動(dòng)了產(chǎn)品的智能化,單片機(jī)的應(yīng)用更是加快了發(fā)展的步伐,它的應(yīng)用范圍日益廣泛,已遠(yuǎn)遠(yuǎn)超出了計(jì)算機(jī)科學(xué)的領(lǐng)域。小到玩具、信用卡,大到航天器、機(jī)器人,從實(shí)現(xiàn)數(shù)據(jù)采集、過(guò)程控制、模糊控制等智能系統(tǒng)到人類(lèi)的日常生活,到處都離不開(kāi)單片機(jī),此設(shè)計(jì)正是單片機(jī)的一個(gè)典型應(yīng)用。而此設(shè)計(jì)可以通過(guò)實(shí)現(xiàn)智能照明控制,通過(guò)對(duì)環(huán)境有無(wú)需要光照的檢測(cè),由單片機(jī)來(lái)控制其反應(yīng)情況,使其變得智能化,使人的手解放出來(lái),此系統(tǒng)還可以應(yīng)用到道路檢測(cè),安全巡邏中,能滿(mǎn)足社會(huì)的需要。課題研究的方案本選題是用單片機(jī)介紹一種使用STC89C52RC單片機(jī)制作的夜用照明燈智能控制器,采用智能節(jié)電工作模式,即在天黑后自動(dòng)開(kāi)燈,到晚上0點(diǎn)后到第二天6點(diǎn)根據(jù)熱釋紅外探測(cè)的周?chē)h(huán)境有沒(méi)有人來(lái)控制燈亮并延時(shí)關(guān)閉,由于本系統(tǒng)采用單片機(jī)對(duì)環(huán)境照度進(jìn)行測(cè)試判斷并進(jìn)行計(jì)算,因此電路能隨著季節(jié)的變化自動(dòng)調(diào)節(jié)每天的開(kāi)關(guān)燈的時(shí)間,從而達(dá)到自動(dòng)節(jié)約電能的目的。第二章芯片選用及功能闡述STC89C52RC2.1.1相關(guān)芯片及其引腳分析由于Intel公司的單片機(jī)問(wèn)世早、產(chǎn)品系列齊全、兼容性強(qiáng),得到了廣泛的應(yīng)用,目前我國(guó)主要使用MCS-51系列的產(chǎn)品,尤以8031為多。這是因?yàn)?031無(wú)片內(nèi)ROM、應(yīng)用靈活、價(jià)格便宜。MCS-51是Intel公司的8位系列單片機(jī),包括51和
52兩個(gè)子系列。51子系列有8031、8051、8751;52子系列有8032、8052。52子系列的不同在于它多具有定時(shí)/計(jì)數(shù)器2及具有256B的內(nèi)部數(shù)據(jù)存儲(chǔ)器。MCS-51結(jié)構(gòu)框圖1)主要性能[2] 內(nèi)部程序存儲(chǔ)器:4KB 內(nèi)部數(shù)據(jù)存儲(chǔ)器:128B 外部程序存儲(chǔ)器:可擴(kuò)展到64KB。 外部數(shù)據(jù)存儲(chǔ)器:可擴(kuò)展到64KB。 輸入/輸出口線(xiàn):32根(4個(gè)端口, 每個(gè)端口8根)。 定時(shí)/計(jì)數(shù)器:2個(gè)16位可編程的定時(shí)計(jì)數(shù)器。 串行口:全雙工,二根。 寄存器區(qū):在內(nèi)部數(shù)據(jù)存儲(chǔ)器的128B中劃出一部分作為寄存器區(qū), 分為四個(gè)區(qū), 每個(gè)區(qū)8個(gè)通用寄存器。 中斷源:5個(gè)中斷源,2個(gè)優(yōu)先級(jí)別。 堆棧:最深128B。 布爾處理機(jī):即位處理機(jī), 對(duì)某些單元的某位做單獨(dú)處理。 指 令系統(tǒng)(系統(tǒng)時(shí)鐘為12MHZ時(shí)):大部分指令執(zhí)行時(shí)間為1us;少部分指 令,執(zhí)行時(shí)間為2us;只有乘、除指令的執(zhí)行時(shí)間為4us。2)引腳功能說(shuō)明圖2-2是MCS-51的引腳結(jié)構(gòu)圖,有雙列直插封裝(DIP)方式和方形封裝方式。下面分別敘述這些引腳的功能。(1)主電源引腳1 VCC:電源端。2 GND:接地端。(2)外接晶體引腳XTAL1和XTAL2①XTAL1:晶體振蕩器接入的一個(gè)引腳。當(dāng)采用外部振蕩器時(shí),此引腳接地。②XTAL2:晶體振蕩器接入的另一個(gè)引腳。采用外部振蕩器時(shí),此引腳作為外部振蕩信號(hào)的輸入端。(3)控制或與其他電源復(fù)用引腳RST,ALE/,/Vpp1 RST:復(fù)2 位輸H入端。當(dāng)振蕩器運(yùn)行時(shí),3 在該引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)4 位。5 ALE/:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),6 ALE(地址鎖存允許)的輸出用于鎖存地址的低位字節(jié)。即使不7 訪問(wèn)外部存儲(chǔ)器,8 ALE端仍以不9 變的頻率(此頻率為振蕩器頻率的1/6)周期性地出現(xiàn)正脈沖信號(hào)。因此,10 它可用作對(duì)外輸出的時(shí)鐘,11 或用于定時(shí)目的。然而12 注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),13 將跳過(guò)一個(gè)ALE脈沖。在對(duì)Flash存儲(chǔ)器編程期間,14 該引腳還用于輸入編程脈沖()。如果需要的話(huà),通過(guò)對(duì)專(zhuān)用寄存器(SFR)區(qū)中8EH單元的D0位置數(shù),可禁止ALE操作。該位置數(shù)后,只有在執(zhí)行一條MOVX或MOVC指令期間,ALE才會(huì)被激活。另外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),該設(shè)定禁止ALE位無(wú)效。③:程序存儲(chǔ)允許()輸出是外部程序存儲(chǔ)器的讀選通信號(hào)。當(dāng)80C51由外部程序存儲(chǔ)器取指令(或常數(shù))時(shí),每個(gè)機(jī)器周期兩次有效(即輸出2個(gè)脈沖)。但在此期間內(nèi),每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的信號(hào)將不出現(xiàn)。④/Vpp:外部訪問(wèn)允許端。要使CPU只訪問(wèn)外部程序存儲(chǔ)器(地址為0000H~FFFFH),則端必須保持低電平(接到GND端)。然而要注意的是,如果保密位LB1被編程,復(fù)位時(shí)在內(nèi)部會(huì)鎖存端的狀態(tài)。當(dāng)端保持高電平(接Vcc端)時(shí),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的程序。在Flash存儲(chǔ)器編程期間,該引腳也用于施加12V的編程允許電源Vpp(如果選用12V編程)。(4)輸入/輸出引腳~,~,~和~。①P0端口(~):P0是一個(gè)8位漏極開(kāi)路型雙向I/O端口。作為輸出口用時(shí),每位能以吸收電流的方式驅(qū)動(dòng)8個(gè)TTL輸入,對(duì)端口寫(xiě)1時(shí),又可作高阻抗輸入端用。在訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),它是分時(shí)多路轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線(xiàn),在訪問(wèn)期間激活了內(nèi)部的上拉電阻。在Flash編程時(shí),P0端口接收指令字節(jié);而在校驗(yàn)程序時(shí),則輸出指令字節(jié)。驗(yàn)證時(shí),要求外接上拉電阻②P1端口(~):P1是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流(IIL)。在對(duì)Flash編程和程序校驗(yàn)時(shí),P1接收低8位地址。③P2端口(~):P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫(xiě)1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P2作輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流(IIL)。在訪問(wèn)外部程序存儲(chǔ)器和16位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX@DPTR指令)時(shí),P2送出高8位地址。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX@RI指令)時(shí),P2口引腳上的內(nèi)容(就是專(zhuān)用寄存器(SFR)區(qū)中P2寄存器的內(nèi)容),在整個(gè)訪問(wèn)期間不會(huì)改變。在對(duì)Flash編程和程序校難期間,P2也接收高位地址和一些控制信號(hào)。④P3端口(~):P3是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O端口。P3的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫(xiě)1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P3作輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流(IIL)。在STC89C52RC中,P3端口還用于一些復(fù)用功能。復(fù)用功能如表2-1所列。在對(duì)Flash編程或程序校驗(yàn)地,P3還接收一些控制信號(hào)。表2-1P3各端口引腳與復(fù)用功能表端口引腳復(fù)用功能RXD(串行輸入口)TXD(串行輸出口)P(外部中斷0)P(外部中斷1)T0(定時(shí)器0的外部輸入)PT1(定時(shí)器1的外部輸入)P(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P(外部數(shù)據(jù)存儲(chǔ)器讀選通)MCS-51的引腳結(jié)構(gòu)ADC0832的功能及設(shè)置說(shuō)明ADC0832是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的一種8位分辨率、雙通道A/D轉(zhuǎn)換芯片。由于它體積小,兼容性,性?xún)r(jià)比高而深受單片機(jī)愛(ài)好者及企業(yè)歡迎,其目前已經(jīng)有很高的普及率。學(xué)習(xí)并使用ADC0832可是使我們了解A/D轉(zhuǎn)換器的原理,有助于我們單片機(jī)技術(shù)水平的提高。ADC0808管腳圖·8位分辨率;·雙通道A/D轉(zhuǎn)換;·輸入輸出電平與TTL/CMOS相兼容;·5V電源供電時(shí)輸入電壓在0~5V之間;·工作頻率為250KHZ,轉(zhuǎn)換時(shí)間為32μS;·一般功耗僅為15mW;·8P、14P—DIP(雙列直插)、PICC多種封裝;·商用級(jí)芯片溫寬為0°Cto+70°C,工業(yè)級(jí)芯片溫寬為?40°Cto+85°C;芯片接口說(shuō)明:·CS_片選使能,低電平芯片使能。·CH0模擬輸入通道0,或作為IN+/-使用?!H1模擬輸入通道1,或作為IN+/-使用?!ND芯片參考0電位(地)?!I數(shù)據(jù)信號(hào)輸入,選擇通道控制?!O數(shù)據(jù)信號(hào)輸出,轉(zhuǎn)換數(shù)據(jù)輸出?!LK芯片時(shí)鐘輸入?!cc/REF電源輸入及參考電壓輸入(復(fù)用)。ADC0832為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達(dá)256級(jí),可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在0~5V之間。芯片轉(zhuǎn)換時(shí)間僅為32μS,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。獨(dú)立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過(guò)DI數(shù)據(jù)輸入端,可以輕易的實(shí)現(xiàn)通道功能的選擇。2.3.3ADC0832的內(nèi)部結(jié)構(gòu)和時(shí)序圖:工作時(shí)序圖:由時(shí)序圖知ADC0832的工作過(guò)程如下:正常情況下ADC0832與單片機(jī)的接口應(yīng)為4條數(shù)據(jù)線(xiàn),分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時(shí)并未同時(shí)有效并與單片機(jī)的接口是雙向的,所以電路設(shè)計(jì)時(shí)可以將DO和DI并聯(lián)在一根數(shù)據(jù)線(xiàn)上使用。當(dāng)ADC0832未工作時(shí)其CS輸入端應(yīng)為高電平,此時(shí)芯片禁用,CLK和DO/DI的電平可任意。當(dāng)要進(jìn)行A/D轉(zhuǎn)換時(shí),須先將CS使能端置于低電平并且保持低電平直到轉(zhuǎn)換完全結(jié)束。此時(shí)芯片開(kāi)始轉(zhuǎn)換工作,同時(shí)由處理器向芯片時(shí)鐘輸入端CLK輸入,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號(hào)。在第1個(gè)時(shí)鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號(hào)。在第2、3個(gè)脈沖下沉之前DI端應(yīng)輸入2位數(shù)據(jù)用于選擇通道功能,其功能項(xiàng)見(jiàn)官方資料。程序如下:
;ADC0832簡(jiǎn)單測(cè)試(改)A_0832_CSEQU;CSA_0832_CLKEQU;CLKA_0832_DIEQU;DIA_0832_DEQU;DOA_0832_TEQU40H;讀取時(shí)的脈沖計(jì)數(shù)A_0832_DAEQU41H;數(shù)據(jù)所存位置ORG0LJMPMAINORG30HMAIN:LCALLADC_RDMOVA,A_0832_DAAJMP$ADC_RD:MOVA_0832_T,#8CLRA_0832_CLKCLRA_0832_CSSETBA_0832_DI;STARTSETBA_0832_CLK;第一個(gè)上升沿NOPNOPNOPCLRA_0832_CLKNOPNOPSETBA_0832_DI;選擇CH1,通過(guò)組合選取通道(SGL/DIF)NOPSETBA_0832_CLK;第二個(gè)上升沿NOPNOPNOPCLRA_0832_CLKNOPNOPSETBA_0832_DI;選擇CH1,通過(guò)組合選取通道(ODD/SIGN)NOPSETBA_0832_CLK;第三個(gè)上升沿NOPNOPNOPCLRA_0832_CLK;首個(gè)下降沿NOPNOPNOPSETBA_0832_CLKNOPNOPA_0832_RD:;讀取前,8位CLRA_0832_CLKNOPNOPNOPSETBA_0832_CLKMOVC,A_0832_DRLCADJNZA_0832_T,A_0832_RDMOVA_0832_DA,ARRAMOVA_0832_T,#7A_0832_RD1:;讀后7位,+前1位CLRA_0832_CLKNOPNOPNOPSETBA_0832_CLKMOVC,A_0832_DRRCADJNZA_0832_T,A_0832_RD1CJNEA,A_0832_DA,ADC_RDSETBA_0832_CSRETENDLED數(shù)碼管LED數(shù)碼管是由發(fā)光二極管作為顯示字段的數(shù)碼型顯示器件。圖4-3a為數(shù)碼管的外形和引腳圖,其中七只發(fā)光二極管分別對(duì)應(yīng)a~g筆段構(gòu)成“”字形另一只發(fā)光二極管Dp作為小數(shù)點(diǎn)。因此這種LED顯示器稱(chēng)為七段數(shù)碼管或八段數(shù)碼管。圖4-3LED數(shù)碼管LED數(shù)碼管按電路中的連接方式可以分為共陰型和共陽(yáng)型兩大類(lèi),如圖4-3示b、c所示。共陽(yáng)型是將各段發(fā)光二極管的正極連在一起,作為公共端COM,公共端COM接高電平,a~g、Dp各筆段通過(guò)限流電阻接控制端。某筆段控制端低電平時(shí),該筆段發(fā)光,高電平時(shí)不發(fā)光。控制這幾段筆段發(fā)光,就能顯示出某個(gè)數(shù)碼或字符。共陰型是將各數(shù)碼發(fā)光二極管的負(fù)極連在一起,作為公共端COM接地,某筆段通過(guò)限流電阻接高電平時(shí)發(fā)光。LED數(shù)碼管按其外形尺寸有多種形式,使用較多的是0.5in和0.8in;按顯示顏色也有多種形式,主要有紅色和綠色;按亮度強(qiáng)弱可分為高亮和普亮,指通過(guò)同樣的電流顯示亮度不一樣,這是因發(fā)光二極管的材料不一樣而引起的。LED數(shù)碼管的使用與發(fā)光二極管相同,根據(jù)其材料不同正向壓降一般為~2V額定電流為10mA,最大電流為40mA。靜態(tài)顯示時(shí)取10mA為宜,動(dòng)態(tài)掃描顯示可加大,加大脈沖電流,但一般不超過(guò)40mA。2.4.2LED數(shù)碼管編碼方式當(dāng)LED數(shù)碼管與單片機(jī)相連時(shí),一般將LED數(shù)碼管的各筆段引腳a、b、…、g、Dp按某一順序接到MCS-51型單片機(jī)某一個(gè)并行I/O口D0、D1、…、D7,當(dāng)該I/O口輸出某一特定數(shù)據(jù)時(shí),就能使LED數(shù)碼管顯示出某個(gè)字符。例如要使共陽(yáng)極LED數(shù)碼管顯示“0”,則a、b、c、d、e、f各筆段引腳為低電平,g和Dp為高電平,。表4-2共陽(yáng)極LED數(shù)碼管顯示數(shù)字“0”時(shí)各管段編碼D7D6D5D4D3D2D1D0字段碼顯示數(shù)Dpgfedcba11000000C0H0C0H稱(chēng)為共陽(yáng)極LED數(shù)碼管顯示“0”的字段碼,不計(jì)小數(shù)點(diǎn)的字段碼稱(chēng)為七段碼,包括小數(shù)點(diǎn)的字段稱(chēng)為八段碼。LED數(shù)碼管編碼方式有多種,按小數(shù)點(diǎn)計(jì)否可分為七段碼和八段碼;按共陰共陽(yáng)可分為共陰字段碼和共陽(yáng)字段碼,不計(jì)小數(shù)點(diǎn)的共陰字段碼與共陽(yáng)字段碼互為反碼;按a、b、…、g、Dp編碼順序是高位在前,還是低位在前,又可分為順序字段碼和逆序字段碼。甚至在某些特殊情況下將a、b、…、g、Dp順序打亂編碼。表4-2為共陰和共陽(yáng)LED數(shù)碼管幾種八段編碼表。[15]表4-3共陰和共陽(yáng)LED數(shù)碼管幾種八段編碼共陰順序小數(shù)點(diǎn)暗共陰逆序小數(shù)點(diǎn)暗共陽(yáng)順序小數(shù)點(diǎn)亮共陽(yáng)順序小數(shù)點(diǎn)暗Dpgfedcba16進(jìn)制abcdefgdp16進(jìn)制0001111113FH11111100FCH40HC0H10000011006H0110000060H79HF9H2010110115BH11011010DAH24HA4H3010011114FH11110010F2H30HB0H40110011066H0110011066H19H99H5011011016DH10110110B6H12H92H6011111017DH10111110BEH02H82H70000011107H11100000E0H78HF8H8011111117FH11111110FEH00H80H9011011116FH11110110F6H10H90H2.4.3LED數(shù)碼管顯示方式和典型應(yīng)用電路LED數(shù)碼管顯示電路在單片機(jī)應(yīng)用系統(tǒng)中可分為靜態(tài)顯示方式和動(dòng)態(tài)顯示方式。①靜態(tài)顯示方式在靜態(tài)顯示方式下,每一位顯示器的字段需要一個(gè)8位I/O口控制,而且該I/O口須有鎖存功能,N位顯示器就需要N個(gè)8位I/O口,公共端可直接接+5V(共陽(yáng))或接地(共陰)。顯示時(shí),每一位字段碼分別從I/O控制口輸出,保持不變直至CPU刷新顯示為止。也就是各字段的亮滅狀態(tài)不變。靜態(tài)顯示方式編程較簡(jiǎn)單,但占用I/O口線(xiàn)多,即軟件簡(jiǎn)單、硬件成本高,一般適用顯示位數(shù)較少的場(chǎng)合。②動(dòng)態(tài)掃描顯示方式當(dāng)要求顯示位數(shù)較多時(shí),為簡(jiǎn)化電路、降低硬件成本,常采用動(dòng)態(tài)掃描顯示電路。所謂動(dòng)態(tài)掃描顯示電路是將顯示各位的所有相同字段線(xiàn)連在一起,每一位的a段連在一起,b段連在一起…g段連在一起,共8段,由一個(gè)8位I/O口控制,而每一位的公共端(共陽(yáng)或共陰COM)由另一個(gè)I/O口控制,如圖4-4所示。這種連接方式由于將多位字段線(xiàn)連在一起,當(dāng)輸出字段碼時(shí),由于多門(mén)同時(shí)選通,每一位將顯示相同的內(nèi)容。因此要顯示不同的內(nèi)容,必須采取輪流顯示的方式。即在某一瞬間時(shí),只讓某一位的字位線(xiàn)處于選通狀態(tài)(共陰極LED數(shù)碼管為低電平,共陽(yáng)極為高電平),其他各位的字位線(xiàn)處于開(kāi)斷狀態(tài),同時(shí)字段線(xiàn)上輸出這一位相應(yīng)要顯示字符的字段碼。在這一瞬時(shí),只有這一位在顯示,其他幾位暗。同樣在下一瞬時(shí),單獨(dú)顯示下一位,這樣依次輪流顯示,循環(huán)掃描。由于人的視覺(jué)滯留效應(yīng),人們看到的是多位同時(shí)穩(wěn)定顯示。、圖4-4動(dòng)態(tài)顯示LED數(shù)碼管連接方式DS1302數(shù)字時(shí)鐘芯片DS1302是美國(guó)DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為~。采用三線(xiàn)接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31×8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級(jí)產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時(shí)提供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力。DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。X1和X2是振蕩源,外接晶振。RST是復(fù)位/片選線(xiàn),通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過(guò)程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc>之前,RST必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細(xì)說(shuō)明。SCLK為時(shí)鐘輸入端。下圖為DS1302的引腳功能圖:2.5.1DS1302的控制字節(jié)DS1302的控制字最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫(xiě)入DS1302中,位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫(xiě)操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開(kāi)始輸出。2.5.2數(shù)據(jù)輸入輸出(I/O)在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫(xiě)入DS1302,數(shù)據(jù)輸入從低位即位0開(kāi)始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7。DS1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時(shí)間寄存器及其控制字見(jiàn)表1。此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫(xiě)除充電寄存器外的所有寄存器內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類(lèi):一類(lèi)是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫(xiě)操作;另一類(lèi)為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫(xiě)所有的RAM的31個(gè)字節(jié),命令控制字為FEH(寫(xiě))、FFH(讀)。DS1302與CPU的連接需要三條線(xiàn),即SCLK(7)、I/O(6)、RST(5)。圖3示出DS1302與89C2051的連接圖,其中,時(shí)鐘的顯示用LCD。2.5.3DS1302與CPU的連接實(shí)際上,在調(diào)試程序時(shí)可以不加電容器,只加一個(gè)的晶振即可。只是選擇晶振時(shí),不同的晶振,誤差也較大。光敏電阻光敏電阻器(photovaristor)又叫電阻,是利用半導(dǎo)體的光電效應(yīng)制成的一種電阻值隨入射光的強(qiáng)弱而改變的電阻器;入射光強(qiáng),電阻減小,入射光弱,電阻增大。光敏電阻器一般用于光的測(cè)量、光的控制和光電轉(zhuǎn)換(將光的變化轉(zhuǎn)換為電的變化)。通常,光敏電阻器都制成薄片結(jié)構(gòu),以便吸收更多的光能。當(dāng)它受到光的照射時(shí),半導(dǎo)體片(光敏層)內(nèi)就激發(fā)出電子—空穴對(duì),參與導(dǎo)電,使電路中電流增強(qiáng)。一般光敏電阻器結(jié)構(gòu)如圖所示。本電路采用3K—5M的光敏電阻。74HC13874HC138是一款高速CMOS器件,74HC138引腳兼容低功耗肖特基TTL(LSTTL)系列。74HC138譯碼器可接受3位二進(jìn)制加權(quán)地址輸入(A0,A1和A2),并當(dāng)使能時(shí),提供8個(gè)互斥的低有效輸出(Y0至Y7)。74HC138特有3個(gè)使能輸入端:兩個(gè)低有效(E1和E2)和一個(gè)高有效(E3)。除非E1和E2置低且E3置高,否則74HC138將保持所有輸出為高。利用這種復(fù)合使能特性,僅需4片74HC138芯片和1個(gè)反相器,即可輕松實(shí)現(xiàn)并行擴(kuò)展,組合成為一個(gè)1-32(5線(xiàn)到32線(xiàn))譯碼器。任選一個(gè)低有效使能輸入端作為數(shù)據(jù)輸入,而把其余的使能輸入端作為選通端,則74HC138亦可充當(dāng)一個(gè)8輸出多路分配器,未使用的使能輸入端必須保持綁定在各自合適的高有效或低有效狀態(tài)。功能CD74HC138,CD74HC238和CD74HCT138,CD74HCT238是高速硅柵CMOS解碼器,適合內(nèi)存地址解碼或數(shù)據(jù)路由應(yīng)用。74HC138作用原理于高性能的存貯譯碼或要求傳輸延遲時(shí)間短的數(shù)據(jù)傳輸系統(tǒng),在高性能存貯器系統(tǒng)中,用這種譯碼器可以提高譯碼系統(tǒng)的效率。將快速賦能電路用于高速存貯器時(shí),譯碼器的延遲時(shí)間和存貯器的賦能時(shí)間通常小于存貯器的典型存取時(shí)間,這就是說(shuō)由肖特基鉗位的系統(tǒng)譯碼器所引起的有效系統(tǒng)延遲可以忽略不計(jì)。HC138按照三位二進(jìn)制輸入碼和賦能輸入條件,從8個(gè)輸出端中譯出一個(gè)低電平輸出。兩個(gè)低電平有效的賦能輸入端和一個(gè)高電平有效的賦能輸入端減少了擴(kuò)展所需要的外接門(mén)或倒相器,擴(kuò)展成24線(xiàn)譯碼器不需外接門(mén);擴(kuò)展成32線(xiàn)譯碼器,只需要接一個(gè)外接倒相器。在解調(diào)器應(yīng)用中,賦能輸入端可用作數(shù)據(jù)輸入端。譯碼/真值表第三章方案論證及部分電路分析3.1.1方案論證和比較采用STC89C52RC微處理芯片,來(lái)控制智能照明系統(tǒng),具體方框圖如圖5所示:本設(shè)計(jì)采用光敏電阻測(cè)試環(huán)境亮度經(jīng)放大后通過(guò)ADC0808轉(zhuǎn)換成數(shù)字信息傳送到STC89C52RC單片機(jī),經(jīng)處理后送給DAC0808通過(guò)功放和電壓比較控制LED燈的亮度。同時(shí)電路從實(shí)時(shí)時(shí)鐘獲得精確時(shí)間,配合紅外電路的是否有人來(lái)控制下半夜的燈亮滅,達(dá)到節(jié)電的目的。數(shù)碼管顯示按鍵設(shè)置部分?jǐn)?shù)碼管顯示按鍵設(shè)置部分光敏電阻接收電路光敏電阻接收電路AT89AT89c微處理器基本外圍基本外圍(晶振和復(fù)位)電路圖5由于本系統(tǒng)處理任務(wù)不復(fù)雜,所以在標(biāo)準(zhǔn)時(shí)鐘電路采用模擬口線(xiàn)方式。電源采用7805穩(wěn)壓集成芯片來(lái)提供穩(wěn)定單片機(jī)夜用照明系統(tǒng)的電源,從而能夠穩(wěn)定的工作。綜合以上三種設(shè)計(jì)方案,第一種精度較低,而且各部分全部采用模擬器件來(lái)組成部分,制作復(fù)雜;第二種采用CPLD元件來(lái)組成,要求對(duì)硬件描述語(yǔ)言(VHDL)要求較高,且控制時(shí)間準(zhǔn)確,電路工作穩(wěn)定;第三種方案采用單片機(jī)(AT89C/S52或者AT89C2051單片機(jī)的最小應(yīng)用系統(tǒng)單片計(jì)算機(jī)是一個(gè)最小的應(yīng)用系統(tǒng),但由于應(yīng)用系統(tǒng)中有一些功能器件無(wú)法集成到芯片內(nèi)部,如晶振、復(fù)位電路等,需要在片外加接相應(yīng)的電路。對(duì)于片內(nèi)無(wú)程序存儲(chǔ)器的單片機(jī),還應(yīng)該配置片外程序存儲(chǔ)器。3.2.1單片機(jī)的時(shí)鐘電路MCS-51單片機(jī)內(nèi)部的振蕩電路是一個(gè)高增益反相放大器,引線(xiàn)XTAL1和XTAL2分別是放大器的輸入端和輸出端。單片機(jī)內(nèi)部雖然有振蕩電路,但要形成時(shí)鐘,外部還需附加電路。MCS-51單片機(jī)的時(shí)鐘產(chǎn)生方式有兩種。(1)內(nèi)部時(shí)鐘方式利用其內(nèi)部的振蕩電路在XTAL1和XTAL2引線(xiàn)上外接定時(shí)元件,內(nèi)部振蕩電路便產(chǎn)生自激振蕩,用示波器可以觀察到XTAL2輸出的時(shí)鐘信號(hào)。最常用的是在XTAL1和XTAL2之間連接晶體振蕩器與電容構(gòu)成穩(wěn)定的自激震蕩器,如圖3-1所示。晶體可在~12MHz之間選擇。MCS-51單片機(jī)在通常應(yīng)用情況下,使用振蕩頻率為6MHz的石英晶體,而12Hz頻率的晶體主要是在高速串行通信情況下才使用。C1和C2可在20~100pF之間取值,一般取30pF左右。(2)外部時(shí)鐘方式在由單片機(jī)組成的系統(tǒng)中,為了各單片機(jī)之間時(shí)鐘信號(hào)的同步,應(yīng)當(dāng)引入惟一的合用外部振蕩脈沖作為各單自片機(jī)的時(shí)鐘。外部時(shí)鐘方式中是把外部振蕩信號(hào)源直接接入XTAL1或XTAL2。由于HMOS和CHMOS單片機(jī)外部時(shí)鐘進(jìn)入的引線(xiàn)不同,其外部振蕩信號(hào)源接入的方式也不同。HMOS型單片機(jī)由XTAL2進(jìn)入,外部振蕩信號(hào)接至XTAL2,而內(nèi)部反相放大器的輸入端XTAL1應(yīng)接地,如圖3-2所示。由于XTAL2端的邏輯電平不是TTL的,故還要接一上接電阻。CHMOS型單片機(jī)由XTAL1進(jìn)入,外部振蕩信號(hào)接至XTAL1,而XTAL2可不接地,如圖3-3所示。圖3-1內(nèi)部時(shí)鐘電路圖3-2HMOS型外部時(shí)鐘電路圖3-3外部時(shí)鐘電路3.2.2復(fù)位電路和復(fù)位狀態(tài)MCS-51單片機(jī)的復(fù)位是靠外部電路實(shí)現(xiàn)的。MCS-51單片機(jī)工作后,只要在它的RST引線(xiàn)上加載10ms以上的高電平,單片機(jī)就能夠有效地復(fù)位。(1)復(fù)位電路MCS-51單片機(jī)通常采用上電自動(dòng)復(fù)位和按鍵復(fù)位兩種方式。最簡(jiǎn)單的復(fù)位電路如圖3-4所示。上電瞬間,RC電路充電,RST引線(xiàn)端出現(xiàn)正脈沖,只要RST端保持10ms以上的高電平,就能使單片機(jī)有效地復(fù)位。圖3-4簡(jiǎn)單的復(fù)位電路(2)復(fù)位狀態(tài)復(fù)位電路的作用是使單片機(jī)執(zhí)行復(fù)位操作。復(fù)位操作主要是把PC初始化為0000H,使單片機(jī)從程序存儲(chǔ)器的0000H單元開(kāi)始執(zhí)行程序。程序存儲(chǔ)器的0003H單元即MCS-51單片機(jī)的外部中斷0的中斷處理程序的入口地址。留出的0000H~0002H3個(gè)單元地址,僅能夠放置一條轉(zhuǎn)移指令,因此,MCS-51單片機(jī)的主程序的第一條指令通常情況下是一條轉(zhuǎn)移指令。除PC之外,復(fù)位還對(duì)其他一些特殊功能的寄存器有影響,它們的復(fù)位狀態(tài)如表3-6所示。由表3-6可知,除SP=07H,P0~P34個(gè)鎖存器均為FFH外,其他所有的寄存器均為0。此外,單片機(jī)的復(fù)位不影響片內(nèi)RAM的狀態(tài)(包括通用寄存器Rn)。表3-6寄存器的復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)PC0000HTMOD00HACC00HTCONOOHPSW00HTL000HSP07HTH000HDPTR0000HTL100HP0~P3FFHTH100HIPXxx00000BSCON00HIE0xx00000BPCON0xx00000BP0、P1、P2、P3共有4個(gè)8位并行I/O口,它們引線(xiàn)為:~、~、~、~,共32條引線(xiàn)。這32條引線(xiàn)可以全部用做I/O線(xiàn),也可將其中部分用做單片機(jī)的片外總線(xiàn)。①控制線(xiàn)A、ALE地址鎖存允許當(dāng)單片機(jī)訪問(wèn)外部存儲(chǔ)器時(shí),輸出信號(hào)ALE用于鎖存P0口輸出的低8位地址A7~A0。ALE的輸出頻率為時(shí)鐘振蕩頻率的1/6。B、程序存儲(chǔ)器選擇=0,單片機(jī)只訪問(wèn)外部程序存儲(chǔ)器。對(duì)內(nèi)部無(wú)程序存儲(chǔ)器的單片機(jī)8031,必須接地。=1,單片機(jī)訪問(wèn)內(nèi)部程序存儲(chǔ)器,若地址超過(guò)內(nèi)部程序存儲(chǔ)器的范圍,單片機(jī)將自動(dòng)訪問(wèn)外部程序存儲(chǔ)器。對(duì)內(nèi)部有程序存儲(chǔ)器的單片機(jī),應(yīng)接高電平。C、片外程序存儲(chǔ)器的選通信號(hào)。此信號(hào)為讀外部程序存儲(chǔ)器的選通信號(hào)。D、RST復(fù)位信號(hào)輸入②電源及時(shí)鐘VSS地端接地線(xiàn),VCC電源端接+5V,XTAL1和XTAL2接晶振或外部振蕩信號(hào)源。圖3-7片外3總線(xiàn)結(jié)構(gòu)標(biāo)準(zhǔn)時(shí)鐘顯示部分設(shè)計(jì):設(shè)計(jì)采用DS1302作為實(shí)時(shí)時(shí)鐘芯片,配用備用電源保證時(shí)間準(zhǔn)確。DS1302采用的IIC總線(xiàn),在本系統(tǒng)中屬于核心部分,在設(shè)計(jì)中,我把他放在了單片機(jī)的旁邊,這樣的設(shè)計(jì)有助于提高系統(tǒng)的可靠性。光敏接收電路光敏接收電路是有分壓電阻和放大電路和ADC0832組成。光敏電阻的阻值隨光照強(qiáng)度的變化而變化結(jié)合分壓電阻完成對(duì)環(huán)境光強(qiáng)度的探測(cè),經(jīng)過(guò)AR2放大后送ADC032轉(zhuǎn)換成八位二進(jìn)制的數(shù)字量送單片機(jī)處理。照度檢測(cè)電路在硬件設(shè)計(jì)過(guò)程中要調(diào)節(jié)好它和led的位置,這樣有助于調(diào)光的準(zhǔn)確性。系統(tǒng)照明照明部分有DAC0808和LM324組成。單片機(jī)送來(lái)的數(shù)據(jù)經(jīng)過(guò)DA轉(zhuǎn)換后通過(guò)74LS373鎖存然后經(jīng)LM324放大,經(jīng)電阻R43分壓后驅(qū)動(dòng)高亮度LED形成照明電路。照明電路pwm控制方式脈沖寬度調(diào)制(PWM),是英文“PulseWidthModulation”的縮寫(xiě),簡(jiǎn)稱(chēng)脈寬調(diào)制,是利用微處理器的數(shù)字輸出來(lái)對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測(cè)量、通信到功率控制與變換的許多領(lǐng)域中。隨著電子技術(shù)的發(fā)展,出現(xiàn)了多種PWM技術(shù),其中包括:相電壓控制PWM、脈寬PWM法、隨機(jī)PWM、SPWM法、線(xiàn)電壓控制PWM等,而在鎳氫電池智能充電器中采用的脈寬PWM法,它是把每一脈沖寬度均相等的脈沖列作為PWM波形,通過(guò)改變脈沖列的周期可以調(diào)頻,改變脈沖的寬度或占空比可以調(diào)壓,采用適當(dāng)控制方法即可使電壓與頻率協(xié)調(diào)變化。可以通過(guò)調(diào)整PWM的周期、PWM的占空比而達(dá)到控制充電電流的目的。模擬信號(hào)的值可以連續(xù)變化,其時(shí)間和幅度的分辨率都沒(méi)有限制。9V電池就是一種模擬器件,因?yàn)樗妮敵鲭妷翰⒉痪_地等于9V,而是隨時(shí)間發(fā)生變化,并可取任何實(shí)數(shù)值。與此類(lèi)似,從電池吸收的電流也不限定在一組可能的取值范圍之內(nèi)。模擬信號(hào)與數(shù)字信號(hào)的區(qū)別在于后者的取值通常只能屬于預(yù)先確定的可能取值集合之內(nèi),例如在{0V,5V}這一集合中取值。通過(guò)以數(shù)字方式控制模擬電路,可以大幅度降低系統(tǒng)的成本和功耗。此外,許多微控制器和DSP已經(jīng)在芯片上包含了PWM控制器,這使數(shù)字控制的實(shí)現(xiàn)變得更加容易了。脈沖寬度調(diào)制優(yōu)點(diǎn)PWM的一個(gè)優(yōu)點(diǎn)是從處理器到被控系統(tǒng)信號(hào)都是數(shù)字形式的,無(wú)需進(jìn)行數(shù)模轉(zhuǎn)換。讓信號(hào)保持為數(shù)字形式可將噪聲影響降到最小。噪聲只有在強(qiáng)到足以將邏輯1改變?yōu)檫壿?或?qū)⑦壿?改變?yōu)檫壿?時(shí),也才能對(duì)數(shù)字信號(hào)產(chǎn)生影響。對(duì)噪聲抵抗能力的增強(qiáng)是PWM相對(duì)于模擬控制的另外一個(gè)優(yōu)點(diǎn),而且這也是在某些時(shí)候?qū)WM用于通信的主要原因。從模擬信號(hào)轉(zhuǎn)向PWM可以極大地延長(zhǎng)通信距離。在接收端,通過(guò)適當(dāng)?shù)腞C或LC網(wǎng)絡(luò)可以濾除調(diào)制高頻方波并將信號(hào)還原為模擬形式。總之,PWM既經(jīng)濟(jì)、節(jié)約空間、抗噪性能強(qiáng),是一種值得廣大工程師在許多設(shè)計(jì)應(yīng)用中使用的有效技術(shù)第四章系統(tǒng)的軟件設(shè)計(jì)主程序主要完成系統(tǒng)初始化(包括I/O口初始化、DS11302芯片讀寫(xiě))、按鍵檢測(cè)和處理、時(shí)鐘數(shù)據(jù)的讀取和顯示、環(huán)境數(shù)據(jù)的讀取和顯示,以完成人機(jī)交互的功能。系統(tǒng)主程序的流程圖如圖5-1所示。PWM生成法—光照調(diào)節(jié)由于微機(jī)技術(shù)的發(fā)展使得用軟件生成PWM波形變得比較容易,因此,軟件生成法也就應(yīng)運(yùn)而生.軟件生成法其實(shí)就是用軟件來(lái)實(shí)現(xiàn)調(diào)制的方法。本系統(tǒng)采用STC89C52RC單片機(jī)的定時(shí)器1來(lái)實(shí)現(xiàn)PWM的調(diào)光,通過(guò)給予TH1,TL1不同的數(shù)值來(lái)改變時(shí)間,從而達(dá)到控制LED亮度的目的。DS1302數(shù)據(jù)處理由于單片機(jī)從DS1302中讀取的數(shù)據(jù)位十六進(jìn)制數(shù)據(jù),所以我們要把這些數(shù)據(jù)變位十進(jìn)制數(shù)據(jù)來(lái)顯示,轉(zhuǎn)換程序如下。ucharhexTodec(unsignedcharhex){if(hex<0x0a)returnhex;else{hex=hex/10+6;returnhex}到凌晨了嗎?啟動(dòng)時(shí)鐘并顯示開(kāi)始到凌晨了嗎?啟動(dòng)時(shí)鐘并顯示開(kāi)始讀ADC0832初始化讀ADC0832初始化沒(méi)有,延時(shí)燈滅輸出DAC0832有燈亮沒(méi)有,延時(shí)燈滅輸出DAC0832有燈亮讀1302讀1302調(diào)節(jié)亮度調(diào)節(jié)亮度總結(jié)通過(guò)這次畢業(yè)設(shè)計(jì),我才明白學(xué)習(xí)是一個(gè)長(zhǎng)期積累的過(guò)程,在以后的工作、生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己知識(shí)和綜合素質(zhì)??傊?,不管學(xué)會(huì)的還是學(xué)不會(huì)的的確覺(jué)得困難比較多,真是萬(wàn)事開(kāi)頭難,不知道如何入手。最后終于做完了有種如釋重負(fù)的感覺(jué)。此外,還得出一個(gè)結(jié)論:知識(shí)必須通過(guò)應(yīng)用才能實(shí)現(xiàn)其價(jià)值!有些東西以為學(xué)會(huì)了,但真正到用的時(shí)候才發(fā)現(xiàn)是兩回事,所以我認(rèn)為只有到真正會(huì)用的時(shí)候才是真的學(xué)會(huì)了。通過(guò)本次的畢業(yè)設(shè)計(jì),從中我更加深刻的理解了書(shū)本上的知識(shí)。對(duì)于51單片機(jī)的使用更加熟練,一些基本的內(nèi)部模塊使用也趨于熟練,如I/O口操作,定時(shí)器,中斷。掌握了PWM調(diào)節(jié)照度的基本原理和實(shí)現(xiàn)方法,能夠較為熟練地使用。對(duì)于編程軟件KEIL的使用也得心應(yīng)手,此次軟件編寫(xiě)過(guò)程中,部分程序使用了KEIL的模擬仿真器調(diào)試,節(jié)省了很多時(shí)間,也提高了軟件的可靠性。這次設(shè)計(jì)因?yàn)閭€(gè)人能力有限,作品也存在著很多問(wèn)題,如沒(méi)有做好人體檢測(cè)部分,這說(shuō)明了在模擬電路方面我還有一些欠缺。PWM調(diào)光的調(diào)試時(shí)間過(guò)長(zhǎng),對(duì)于PWM的原理還不是完全通透,有待于提高。致謝在畢業(yè)設(shè)計(jì)期間,我得到了許多熱心的教師、同學(xué)的幫助,在此表示深深的謝意。首先,我衷心地感謝我的導(dǎo)師。他耐心的教誨和嚴(yán)謹(jǐn)?shù)膽B(tài)度使我受益匪淺,正是他在各方面的精心指導(dǎo)才使我最終完成了課題。最后,我不能不對(duì)在百忙之中抽出寶貴時(shí)間來(lái)參加參加論文評(píng)閱的各位教師表示由衷的謝意,他的的指導(dǎo)不但能修正論文中的錯(cuò)誤,而且也使我得以真知。由于本人學(xué)識(shí)有限,文中必有不妥之處,敬請(qǐng)各位教師批評(píng)指正。參考文獻(xiàn):[1]劉文濤單片機(jī)語(yǔ)言C51典型應(yīng)用設(shè)計(jì)[M]人民郵電出版社2005,1(1):5-8[2]求是科技單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航[M]人民郵電出版社1995,1(4):32-34[3]趙亮侯國(guó)銳單片機(jī)C語(yǔ)言編程與實(shí)例[M]人民郵電出版社1995,1(6):37-38[4]稻葉保[日]振蕩電路的設(shè)計(jì)與應(yīng)用[M]科學(xué)出版社1997,19(3):71-72[5]豬飼國(guó)夫本多中二[日]數(shù)字系統(tǒng)設(shè)計(jì)[M]科學(xué)出版社1998,1(2):122-124[6]鈴木雅臣[日]晶體管電路設(shè)計(jì)(上)(下)[M]科學(xué)出版社2003,1(6):92-93[7]岡村迪夫[日]OP放大電路設(shè)計(jì)[M]科學(xué)出版社2003,1(6):92-93[8]楊幫文應(yīng)用電路百例叢書(shū)新型集成器件實(shí)用電路[M]電子工業(yè)出版社,2004,1(34):13-14[9]求是科技李現(xiàn)通串口通信技術(shù)與工程實(shí)踐[M]人民郵電出版社2001,3(2):56-58[10]楊金巖8051單片機(jī)數(shù)據(jù)傳輸接口擴(kuò)展技術(shù)與應(yīng)用實(shí)例[M]人民郵電出版社1996,1(2):1-5[11]keilc51的使用[M]人民郵電出版社1998,1(2):122-124[12]STC公司STC89C52RC的技術(shù)手冊(cè)[J].[13]深圳市中源單片機(jī)發(fā)展有限公司[J]AT89C52Datasheets.[14][15]2004/06/08[16][17],Editor.ThePoint-to-PointProtocol,RFC1661[EB/OL].July1994[18]WAVECOM.ATCommandsInterfaceGuide,Revision002[EB/OL].6thNovember200附錄一:原理圖附錄3:程序清單/******************************************************************//*LED控制器程序*//******************************************************************/#include<>//包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義#include<>#include""voidmain(void){InitTIMER0();//初始化定時(shí)器0 Write_Ds1302(0x8E,0X00);//寫(xiě)入時(shí)鐘值,如果使用備用電池時(shí)候,不需要沒(méi)每次上電寫(xiě)入,此程序應(yīng)該屏蔽 Write_Ds1302(0x8E,0x80); //虛擬一次寫(xiě)1302 Set_RTC(); while(1) { if(ReadRTC_Flag)//是否讀1302 { ReadRTC_Flag=0;//清0 Read_RTC(); //讀時(shí)鐘函數(shù) l_tmpdisplay[0]=l_tmpdate[2]/16; //數(shù)據(jù)的轉(zhuǎn)換,因我們采用數(shù)碼管0~9的顯示,將數(shù)據(jù)分開(kāi) l_tmpdisplay[1]=l_tmpdate[2]&0x0f;//讀取小時(shí) l_tmpdisplay[2]=10; //加入"-" l_tmpdisplay[3]=l_tmpdate[1]/16; l_tmpdisplay[4]=l_tmpdate[1]&0x0f;//讀取分鐘 l_tmpdisplay[5]=10; l_tmpdisplay[6]=l_tmpdate[0]/16;//讀取秒 l_tmpdisplay[7]=l_tmpdate[0]&0x0f; } Set_Time();//是否需要調(diào)解時(shí)間? light_control();//照度檢測(cè)及亮度控制 }}/******************************************************************//*定時(shí)器中斷函數(shù)*//******************************************************************/voidtim(void)interrupt1using1//中斷,用于數(shù)碼管掃描{staticunsignedchari,num;TH0=0xf5;TL0=0xe0; P0=table[l_tmpdisplay[i]]; //查表法得到要顯示數(shù)字的數(shù)碼段switch(i) { case7:LS138A=0;LS138B=0;LS138C=0;break; case6:LS138A=1;LS138B=0;LS138C=0;break; case5:LS138A=0;LS138B=1;LS138C=0;break; case4:LS138A=1;LS138B=1;LS138C=0;break; case3:LS138A=0;LS138B=0;LS138C=1;break; case2:LS138A=1;LS138B=0;LS138C=1;break; case1:LS138A=0;LS138B=1;LS138C=1;break; case0:LS138A=1;LS138B=1;LS138C=1;break; } i++; if(i==8) { i=0; num++; if(10==num)//隔段時(shí)間讀取1302的數(shù)據(jù)。時(shí)間間隔可以調(diào)整 { ReadRTC_Flag=1;//使用標(biāo)志位判斷 num=0; } }}sbitSCK=P2^0; //時(shí)鐘 sbitSDA=P2^1; //數(shù)據(jù) sbitRST=P2^2;//DS1302復(fù)位sbitLS138A=P1^3;sbitLS138B=P1^4;sbitLS138C=P1^5;//74hc138端口定義sbitKey1=P3^7;sbitKey2=P3^6;sbitKey3=P3^5; //時(shí)間調(diào)節(jié)按鍵定義bitReadRTC_Flag;//定義讀DS1302標(biāo)志unsignedcharl_tmpdate[7]={0,53,7,15,5,3,8};//秒分時(shí)日月周年08-05-1512:00:00unsignedcharl_tmpdisplay[8];codeunsignedcharwrite_rtc_address[7]={0x80,0x82,0x84,0x86,0x88,0x8a,0x8c};//秒分時(shí)日月周年最低位讀寫(xiě)位codeunsignedcharread_rtc_address[7]={0x81,0x83,0x85,0x87,0x89,0x8b,0x8d};codeunsignedchartable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00}; //共陰數(shù)碼管0-9'-''熄滅‘表/******************************************************************//*函數(shù)聲明*//******************************************************************/ voidWrite_Ds1302_byte(unsignedchartemp);voidWrite_Ds1302(unsignedcharaddress,unsignedchardat);unsignedcharRead_Ds1302(unsignedcharaddress);voidRead_RTC(void);//readRTCvoidSet_RTC(void);//setRTCvoidInitTIMER0(void);//initaltimer0voidSet_Time(void);voiddelay(unsignedintz);/******************************************************************//*延時(shí)函數(shù)*//******************************************************************/voiddelay(unsignedintz){unsignedintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}/******************************************************************//*定時(shí)器0初始化*//******************************************************************/voidInitTIMER0(void){TMOD|=0x01;//定時(shí)器設(shè)置16位TH0=0xef;//初始化值TL0=0xf0;ET0=1;TR0=1;EA=1;}/******************************************************************//*寫(xiě)一個(gè)字節(jié)*//******************************************************************/voidWrite_Ds1302_Byte(unsignedchartemp){unsignedchari;for(i=0;i<8;i++) //循環(huán)8次寫(xiě)入數(shù)據(jù){SCK=0;SDA=temp&0x01;//每次傳輸?shù)妥止?jié)temp>>=1; //右移一位SCK=1;}}/******************************************************************//*寫(xiě)入DS1302*//******************************************************************/voidWrite_Ds1302(unsignedcharaddress,unsignedchardat){ RST=0; _nop_(); SCK=0; _nop_(); RST=1; _nop_();//啟動(dòng) Write_Ds1302_Byte(address); //發(fā)送地址 Write_Ds1302_Byte(dat); //發(fā)送數(shù)據(jù) RST=0; //恢復(fù)}/******************************************************************//*讀出DS1302數(shù)據(jù)*//******************************************************************/unsignedcharRead_Ds1302(unsignedcharaddress){ unsignedchari,temp=0x00; RST=0; _nop_(); _nop_(); SCK=0; _nop_(); _nop_(); RST=1; _nop_(); _nop_(); Write_Ds1302_Byte(address); for(i=0;i<8;i++) //循環(huán)8次讀取數(shù)據(jù) { if(SDA) temp|=0x80; //每次傳輸?shù)妥止?jié) SCK=0; temp>>=1; //右移一位 _nop_(); _nop_(); _nop_(); SCK=1; } RST=0; _nop_(); //以下為DS1302復(fù)位的穩(wěn)定時(shí)間 _nop_(); RST=0; SCK=0; _nop_(); _nop_(); _nop_(); _nop_(); SCK=1; _nop_(); _nop_(); SDA=0; _nop_(); _nop_(); SDA=1; _nop_(); _nop_(); return(temp); //返回}/******************************************************************//*讀時(shí)鐘數(shù)據(jù)*//******************************************************************/voidRead_RTC(void) //讀取日歷{unsignedchari,*p;p=read_rtc_address; //地址傳遞for(i=0;i<7;i++) //分7次讀取秒分時(shí)日月周年{l_tmpdate[i]=Read_Ds1302(*p);p++;}}/******************************************************************//*設(shè)定時(shí)鐘數(shù)據(jù)*//******************************************************************/voidSet_RTC(void) //設(shè)定日歷{ unsignedchari,*p,tmp; for(i=0;i<7;i++){//BCD處理 tmp=l_tmpdate[i]/10; l_tmpdate[i]=l_tmpdate[i]%10; l_tmpdate[i]=l_tmpdate[i]+tmp*16; } Write_Ds1302(0x8E,0X00); p=write_rtc_address; //傳地址 for(i=0;i<7;i++) //7次寫(xiě)入秒分時(shí)日月周年 { Write_Ds1302(*p,l_tmpdate[i]); p++; } Write_Ds1302(0x8E,0x80);}/******************************************************************//*調(diào)節(jié)時(shí)鐘數(shù)據(jù)*//******************************************************************/voidSet_Time(void){unsignedcharnumber=0; if(Key1==0) {delay(300); if(Key1==0) { while(!Key1);//按鍵檢測(cè) number++; while(number==1) { if(Key1==0) { delay(300);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 道德與法治七年級(jí)上冊(cè)8.1 《生命可以永恒嗎》聽(tīng)課評(píng)課記錄
- 湘教版數(shù)學(xué)七年級(jí)上冊(cè)《3.2 等式的性質(zhì)》聽(tīng)評(píng)課記錄
- 新北師大版數(shù)學(xué)一年級(jí)下冊(cè)《誰(shuí)的紅果多》聽(tīng)評(píng)課記錄
- 獨(dú)立住宅買(mǎi)賣(mài)協(xié)議書(shū)(2篇)
- 【2022年新課標(biāo)】部編版七年級(jí)上冊(cè)道德與法治7.3 讓家更美好 聽(tīng)課評(píng)課記錄
- 魯教版地理六年級(jí)下冊(cè)8.3《撒哈拉以南非洲》聽(tīng)課評(píng)課記錄1
- 湘教版數(shù)學(xué)七年級(jí)下冊(cè)《2.1.4多項(xiàng)式的乘法(2)》聽(tīng)評(píng)課記錄2
- 湘教版數(shù)學(xué)八年級(jí)下冊(cè)《2.3中心對(duì)稱(chēng)》聽(tīng)評(píng)課記錄
- 商務(wù)星球版地理八年級(jí)下冊(cè)活動(dòng)課《區(qū)際聯(lián)系對(duì)經(jīng)濟(jì)發(fā)展的影響》聽(tīng)課評(píng)課記錄
- 蘇科版數(shù)學(xué)八年級(jí)下冊(cè)11.3《用反比例函數(shù)解決問(wèn)題》聽(tīng)評(píng)課記錄2
- 知識(shí)產(chǎn)權(quán)保護(hù)執(zhí)法
- 手術(shù)安全管理之手術(shù)部位標(biāo)識(shí)安全
- 2022年版煤礦安全規(guī)程
- 高質(zhì)量社區(qū)建設(shè)的路徑與探索
- 數(shù)字化時(shí)代的酒店員工培訓(xùn):技能升級(jí)
- 足球守門(mén)員撲救技巧:撲救結(jié)合守護(hù)球門(mén)安全
- 《學(xué)術(shù)規(guī)范和論文寫(xiě)作》課件全套 第1-10章 知:認(rèn)識(shí)研究與論文寫(xiě)作 - 引文規(guī)范
- 帶式輸送機(jī)滾筒出廠檢驗(yàn)規(guī)范
- 起重機(jī)更換卷筒施工方案
- 《信息檢索基礎(chǔ)知識(shí)》課件
- 具有履行合同所必須的設(shè)備和專(zhuān)業(yè)技術(shù)能力的承諾函-設(shè)備和專(zhuān)業(yè)技術(shù)能力承諾
評(píng)論
0/150
提交評(píng)論