模擬路燈控制系統(tǒng)附硬件圖及c程序_第1頁(yè)
模擬路燈控制系統(tǒng)附硬件圖及c程序_第2頁(yè)
模擬路燈控制系統(tǒng)附硬件圖及c程序_第3頁(yè)
模擬路燈控制系統(tǒng)附硬件圖及c程序_第4頁(yè)
模擬路燈控制系統(tǒng)附硬件圖及c程序_第5頁(yè)
已閱讀5頁(yè),還剩29頁(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、摘 要本文介紹了一個(gè)模擬路燈控制系統(tǒng)的應(yīng)用方案,用以實(shí)現(xiàn)模擬路燈的智能控制。本方案以宏晶公司的MCU芯片STC12C5410AD為核心,加以簡(jiǎn)單的外圍電路,實(shí)現(xiàn)了模擬路燈控制系統(tǒng)所要求的全部技術(shù)內(nèi)容。STC單片機(jī)在最近幾年應(yīng)用越來(lái)越廣泛,因其抗干擾能力強(qiáng)、穩(wěn)定性好,性價(jià)比高,因此是低成本路燈控制解決方案的首選。該控制系統(tǒng)除了選用廉價(jià)的單片機(jī)芯片,還采用了廉價(jià)的紅外對(duì)射傳感器,大大降低了系統(tǒng)成本。整個(gè)系統(tǒng)的電路簡(jiǎn)單,結(jié)構(gòu)緊湊,電源驅(qū)動(dòng)僅采用變壓器與三端穩(wěn)壓器相結(jié)合,附加少許濾波電容便實(shí)現(xiàn)了穩(wěn)定的電源輸出。經(jīng)過(guò)多次測(cè)試,證實(shí)該系統(tǒng)能長(zhǎng)時(shí)間穩(wěn)定工作,完全滿足設(shè)計(jì)要求指標(biāo)。關(guān)鍵詞:模擬控制;LED照明

2、;單片機(jī) ABSTRACTThis paper introduces a simulation control system application scheme street, to simulate the street lamp of intelligent control. This plan to macro crystal company MCU, STC12C5410AD as the core, to chip the periphery of the simple circuit, realize the simulation street lamp control syst

3、em all of the requested technology content. STC SCM in recent years more and more wide application, because of its strong anti-interference ability, good stability, high performance/price ratio, and so is the low cost street lamp control solutions of choice. The control system in addition to choose

4、cheap single-chip microcomputer chip, also adopted the cheap infrared mutual illuminate sensor, and greatly reduce the cost of system. The whole system of the circuit is simple, compact structure, power drive only used three transformer and the regulators, and the combination of a few additional fil

5、ter capacitance will realize the stable power output. After many test, and confirm that the system can work stably for a long time, fully meet the design requirements index.Keywords: Simulate controlling; LED lighting; Single-chip microcomputer 30目 錄1 系統(tǒng)設(shè)計(jì)11.1 設(shè)計(jì)要求11.1.1 基本要求11.1.2 發(fā)揮部分21.2 總體設(shè)計(jì)方案21

6、.2.1 功能分解及設(shè)計(jì)思路21.2.2 方案論證與比較21.2.3 系統(tǒng)各模塊的最終方案51.3 系統(tǒng)功能說(shuō)明書(shū)(用戶使用說(shuō)明書(shū))51.3.1 路燈的工作模式51.3.2 按鍵操作說(shuō)明62 單元電路設(shè)計(jì)62.1 電源供電電路62.2 單片機(jī)最小系統(tǒng)72.3 輸入與輸出72.4 電流源驅(qū)動(dòng)83 軟件設(shè)計(jì)93.1系統(tǒng)主程序流程圖93.1.1系統(tǒng)流程圖93.1.2 定時(shí)器溢出中斷處理函數(shù)流程圖103.1.3 按鍵掃描流程圖113.2 系統(tǒng)子程序114 系統(tǒng)測(cè)試124.1 測(cè)試儀器124.2 指標(biāo)測(cè)試134.2.1 各部分測(cè)試的指標(biāo)134.2.2 系統(tǒng)實(shí)現(xiàn)的功能135 結(jié)論15參考文獻(xiàn)16附錄 1

7、程序代碼17附錄 2 硬件原理圖28附錄 3 PCB圖(部分)291 系統(tǒng)設(shè)計(jì)1.1 設(shè)計(jì)要求設(shè)計(jì)并制作一套模擬路燈控制系統(tǒng)??刂葡到y(tǒng)結(jié)構(gòu)如圖1.1所示:圖1.1 模擬路燈控制系統(tǒng)路燈布置如圖1.2所示:圖1.2 路燈布置示意圖(單位:cm) 1.1.1 基本要求(1)支路控制器有時(shí)鐘功能,能設(shè)定、顯示開(kāi)關(guān)燈時(shí)間,并控制整條支路按時(shí)開(kāi)燈和關(guān)燈。(2)支路控制器應(yīng)能根據(jù)環(huán)境明暗變化,自動(dòng)開(kāi)燈和關(guān)燈。(3)支路控制器應(yīng)能根據(jù)交通情況自動(dòng)調(diào)節(jié)亮燈狀態(tài):當(dāng)可移動(dòng)物體M(在物體前端標(biāo)出定位點(diǎn),由定位點(diǎn)確定物體位置)由左至右到達(dá)S點(diǎn)時(shí)(見(jiàn)圖2),燈1亮;當(dāng)物體M到達(dá)B點(diǎn)時(shí),燈1滅,燈2亮;若物體M由右至左

8、移動(dòng)時(shí),則亮燈次序與上相反。(4)支路控制器能分別獨(dú)立控制每只路燈的開(kāi)燈和關(guān)燈時(shí)間。(5)當(dāng)路燈出現(xiàn)故障時(shí)(燈不亮),支路控制器應(yīng)發(fā)出聲光報(bào)警信號(hào),并顯示有故障路燈的地址編號(hào)。1.1.2 發(fā)揮部分(1)自制單元控制器中的LED燈恒流驅(qū)動(dòng)電源。(2)單元控制器具有調(diào)光功能,路燈驅(qū)動(dòng)電源輸出功率能在規(guī)定時(shí)間按設(shè)定要求自動(dòng)減小,該功率應(yīng)能在20%100%范圍內(nèi)設(shè)定并調(diào)節(jié),調(diào)節(jié)誤差2%。(3)性價(jià)比高,工作穩(wěn)定,符合電磁兼容(EMC)方面的要求,無(wú)對(duì)外干擾或干擾小。1.2 總體設(shè)計(jì)方案1.2.1 功能分解及設(shè)計(jì)思路本模擬路燈控制系統(tǒng)的設(shè)計(jì)方案要實(shí)現(xiàn)的主要功能主要分解為以下五個(gè)方面:(1)是時(shí)鐘功能及定

9、時(shí)開(kāi)關(guān)燈。(2)是根據(jù)環(huán)境明暗變化,自動(dòng)開(kāi)燈和關(guān)燈。(3)是根據(jù)交通情況自動(dòng)調(diào)節(jié)亮燈狀態(tài):當(dāng)汽車靠近路燈時(shí),路燈能自動(dòng)點(diǎn)亮;當(dāng)汽車遠(yuǎn)離時(shí),路燈自動(dòng)熄滅。(4)聲光報(bào)警功能,當(dāng)路燈出現(xiàn)故障時(shí)而不亮?xí)r,控制器發(fā)出信號(hào),并顯示有故障路燈的地址編號(hào)。(5)是根據(jù)綠色節(jié)能照明要求,采用恒流源驅(qū)動(dòng)LED路燈發(fā)亮且能調(diào)光,路燈驅(qū)動(dòng)電源輸出功率能在20%100%范圍內(nèi)設(shè)定并調(diào)節(jié),調(diào)節(jié)誤差2%。以上功能的實(shí)現(xiàn),都是以單片機(jī)為核心,在單片機(jī)系統(tǒng)實(shí)現(xiàn)的輸入輸出和顯示功能的基礎(chǔ)上,由單片機(jī)的內(nèi)置邏輯和運(yùn)算功能,加上一定的外圍電路得以實(shí)現(xiàn)。針對(duì)以上的五個(gè)功能,采用模塊化的設(shè)計(jì)思想,以下分別敘述之。1.2.2 方案論證與

10、比較(1)時(shí)鐘功能及定時(shí)開(kāi)關(guān)機(jī)【方案一】采用專用時(shí)鐘芯片 現(xiàn)在流行的串行時(shí)鐘電路很多,如DS1302、 DS1307、PCF8485等。其優(yōu)勢(shì)是可以單獨(dú)使用,直接連接到單片機(jī)外圍,有自己獨(dú)立的時(shí)鐘晶振,精度較高。單片機(jī)通過(guò)串行接口讀取和寫(xiě)入當(dāng)前的時(shí)鐘值,時(shí)鐘芯片的運(yùn)行受單片機(jī)死機(jī)的影響少。其缺點(diǎn)一是消耗了單片機(jī)IO口資源。二是在編程時(shí)需要增加讀寫(xiě)串行口的內(nèi)容,消耗了單片機(jī)的運(yùn)行時(shí)間。三是增加了成本。增加了時(shí)鐘芯片及其外圍電路的開(kāi)支。DS1302的典型應(yīng)用電路如圖1.3所示: 圖1.3 DS1302的典型應(yīng)用電路【方案二】采用單片機(jī)內(nèi)置時(shí)鐘本方案直接利用單片機(jī)的內(nèi)置定時(shí)器,通過(guò)定時(shí)器的中斷和簡(jiǎn)單

11、運(yùn)算實(shí)現(xiàn)時(shí)鐘功能。例如: STC單片機(jī),在4M時(shí)鐘時(shí),單個(gè)指令的運(yùn)行時(shí)間是1微秒,設(shè)置定時(shí)器1每125個(gè)指令周期產(chǎn)生一個(gè)中斷,即125微秒,8個(gè)中斷后,時(shí)間平臺(tái)是1毫秒,設(shè)置以下時(shí)間計(jì)數(shù)變量分別為:uchar To1mS = 0x00; /當(dāng)該變量增加到某個(gè)數(shù)值時(shí),表示經(jīng)過(guò)了1毫秒uchar To2mS = 0x00; /當(dāng)該變量增加到某個(gè)數(shù)值時(shí),表示經(jīng)過(guò)了2毫秒uchar Is2mS = 0; /到達(dá)2毫秒時(shí)刻uchar To20mS = 0x00; /當(dāng)該變量增加到某個(gè)數(shù)值時(shí),表示經(jīng)過(guò)了20毫秒uchar Is20mS = 0; /到達(dá)20毫秒時(shí)刻uchar To1S = 0x00; /當(dāng)

12、該變量增加到某個(gè)數(shù)值時(shí),表示經(jīng)過(guò)了1秒uchar Is1S = 0; /到達(dá)1秒時(shí)刻在秒時(shí)間平臺(tái),用ToMIN變量,計(jì)數(shù)60秒后進(jìn)入分鐘平臺(tái),計(jì)數(shù)60分鐘后,進(jìn)入小時(shí)平臺(tái)。方案二沒(méi)有增加外置電路,充分利用了單片機(jī)的定時(shí)器功能,實(shí)施簡(jiǎn)潔方便,主要的缺點(diǎn)是當(dāng)控制系統(tǒng)斷電或死機(jī)以后,需要人工重新定時(shí)。本系統(tǒng)的時(shí)鐘功能實(shí)現(xiàn)采用方案二。(2)根據(jù)環(huán)境明暗變化,自動(dòng)開(kāi)燈和關(guān)燈功能?!痉桨敢弧坎捎帽容^器的解決方案。光敏電阻與固定電阻串聯(lián),加一級(jí)電壓跟隨器后輸入比較器,與比較器負(fù)輸入端的電壓值進(jìn)行比較,得到一個(gè)高電平或低電平輸出,進(jìn)入單片機(jī)的IO口。優(yōu)點(diǎn)是電路比較直觀,操作比較方便,可直接通過(guò)電位器調(diào)節(jié)路燈的

13、開(kāi)啟亮度。對(duì)維護(hù)人員的要求不高。缺點(diǎn)是不方便進(jìn)行數(shù)碼控制?!痉桨付坎捎肁D變換。光敏電阻與固定電阻串聯(lián),由單片機(jī)內(nèi)置的AD變換接口讀入當(dāng)前的電壓值,然后根據(jù)讀取的電壓值判斷當(dāng)前的環(huán)境亮度。路燈的開(kāi)啟電平由內(nèi)部的變量控制。方案二的優(yōu)點(diǎn)在于可以方便以實(shí)現(xiàn)對(duì)路燈開(kāi)啟電平的數(shù)碼控制和遠(yuǎn)程控制。本系統(tǒng)采用方案二。(3)根據(jù)交通情況自動(dòng)調(diào)節(jié)亮燈狀態(tài)。當(dāng)汽車靠近路燈時(shí),路燈能自動(dòng)點(diǎn)亮;當(dāng)汽車遠(yuǎn)離時(shí),路燈自動(dòng)熄滅?!痉桨敢弧坎捎霉I(yè)級(jí)的光電傳感器。這種光電傳感器普遍運(yùn)用于電梯、生產(chǎn)線等工業(yè)場(chǎng)所。優(yōu)點(diǎn)是使用方便,型號(hào)很多,輸出量是開(kāi)關(guān)量,不需調(diào)理電路。缺點(diǎn)是價(jià)格較貴?!痉桨付坎捎昧畠r(jià)的紅外對(duì)射傳感器。紅外對(duì)

14、射的特點(diǎn)是傳輸距離較遠(yuǎn),能量集中。當(dāng)沒(méi)有物體遮擋時(shí),紅外光直射到紅外探頭上,紅外接收管連續(xù)輸出低電平到單片機(jī),當(dāng)有物體經(jīng)過(guò)時(shí),紅外光被遮住,此時(shí)紅外探頭輸出高電平到單片機(jī)。由于紅外光的發(fā)射有一定的偏角,本設(shè)計(jì)利用了黑色套管遮擋紅外發(fā)射燈頭,以減少紅外光的散失。本系統(tǒng)采用方案二。(4)故障報(bào)警功能采用光敏電阻檢測(cè)路燈的亮度,同時(shí)排除環(huán)境光的干擾。利用單片機(jī)的AD口,讀入光敏電阻上檢測(cè)到的路燈亮度值。(5) 恒流源驅(qū)動(dòng)LED及20到100范圍內(nèi)可調(diào)亮度?!痉桨敢弧坎捎煤懔髟打?qū)動(dòng)芯片,目前市場(chǎng)上成品的恒流源驅(qū)動(dòng)芯片比較多,一般采用使用取樣電阻調(diào)節(jié)輸出電流的方式。這些芯片使用方便,性能較好,但價(jià)格較貴

15、?!痉桨付坎捎肞WM方式驅(qū)動(dòng)功率三極管輸出驅(qū)動(dòng)電流,用電流取樣電阻串入LED供電回路,用AD口讀取當(dāng)前的電流值,實(shí)現(xiàn)閉環(huán)控制。方案二利用了單片機(jī)的AD變換資源,同時(shí)采用PWM方式,可以使LED工作在斷斷續(xù)續(xù)的狀態(tài),可以延長(zhǎng)LED的使用壽命。本系統(tǒng)采用方案二。1.2.3 系統(tǒng)各模塊的最終方案 圖1.41.3 系統(tǒng)功能說(shuō)明書(shū)(用戶使用說(shuō)明書(shū))1.3.1 路燈的工作模式本模擬路燈控制系統(tǒng)具備5種工作模式,分別是自動(dòng)群控模式、自動(dòng)分控模式、根據(jù)照度自動(dòng)控制模式、根據(jù)交通情況自動(dòng)控制模式、手動(dòng)控制模式,下面對(duì)每種工作模式簡(jiǎn)單介紹如下:(1)自動(dòng)群控模式在該模式下,支路控制器根據(jù)設(shè)定好的定時(shí)信息,自動(dòng)地

16、同時(shí)打開(kāi)或者關(guān)閉兩盞路燈。系統(tǒng)啟動(dòng)后默認(rèn)進(jìn)入該模式。(2)自動(dòng)分控模式在該模式下,支路控制器根據(jù)設(shè)定好的定時(shí)信息,分別控制兩盞路燈的開(kāi)關(guān),例如,當(dāng)系統(tǒng)的時(shí)間和路燈1開(kāi)燈的時(shí)間相等時(shí),開(kāi)啟路燈1;當(dāng)系統(tǒng)的時(shí)間和路燈2關(guān)燈的時(shí)間相等時(shí)開(kāi)啟路燈2。(3)根據(jù)照度自動(dòng)控制模式在該模式下,當(dāng)環(huán)境照度低于一定的值時(shí)開(kāi)啟兩盞路燈,當(dāng)環(huán)境照度高于一定的值時(shí)關(guān)閉兩盞路燈。(4)根據(jù)交通情況自動(dòng)控制模式在該模式下,當(dāng)可移動(dòng)物體M由左到右到達(dá)S點(diǎn)時(shí)(見(jiàn)圖××),燈1亮;當(dāng)物體M到達(dá)B點(diǎn)時(shí),燈1滅,燈2亮;若物體M由右到左移動(dòng)時(shí),則亮燈的次序與上相反。(5)手動(dòng)控制模式在手動(dòng)模式時(shí),兩盞路燈只能由

17、支路控制器用增加和減少鍵手動(dòng)的調(diào)整亮度,路燈的亮度可以在0100自由的上下調(diào)整,步進(jìn)為10。(1)(4)等四種工作模式是互斥的,即在某一時(shí)刻只能具有其中的一種功能,不過(guò)各種模式可以手動(dòng)的切換,手動(dòng)調(diào)整路燈亮度的功能在這四種模式中都是有效的。另外,該路燈控制系統(tǒng)還具備故障檢測(cè)功能,當(dāng)路燈出現(xiàn)無(wú)法正常工作的狀況時(shí),該控制系統(tǒng)能夠判定是哪一環(huán)節(jié)出現(xiàn)問(wèn)題,并將故障通過(guò)聲音警報(bào)及數(shù)碼管顯示告知用戶。1.3.2 按鍵操作說(shuō)明支路控制器具備5個(gè)按鍵,分別為時(shí)間調(diào)整鍵、模式選擇鍵、增加鍵、減少鍵、確認(rèn)鍵。(1)時(shí)間調(diào)整鍵:按時(shí)間調(diào)整鍵時(shí),可以循環(huán)地選擇系統(tǒng)時(shí)間、路燈1和2共同的開(kāi)關(guān)燈時(shí)間、路燈1的開(kāi)關(guān)燈時(shí)間和

18、路燈2的開(kāi)關(guān)燈時(shí)間。(2)模式選擇鍵:按模式選擇鍵可以進(jìn)行系統(tǒng)工作模式的切換,順序?yàn)樽詣?dòng)群控模式;自動(dòng)分控模式;根據(jù)照度自動(dòng)控制模式;根據(jù)交通情況自動(dòng)控制模式;手動(dòng)控制模式。(3)增加、減少鍵:按這兩個(gè)鍵可以對(duì)時(shí)間或者亮度進(jìn)行增減,長(zhǎng)按時(shí)時(shí)間或者亮度可以連續(xù)變換。(4)確認(rèn)鍵:確認(rèn)鍵只在時(shí)間調(diào)整時(shí)有效,分別確認(rèn)小時(shí)、分鐘、秒的輸入。 2 單元電路設(shè)計(jì)2.1 電源供電電路 圖2.1該電路采用變壓器與三端穩(wěn)壓器相結(jié)合。使220V電壓經(jīng)變壓器變壓,降為12V。過(guò)整流橋并利用兩個(gè)容量較大的電容濾波,從而得到較為穩(wěn)定的直流電壓。通過(guò)7805型號(hào)的三端穩(wěn)壓器穩(wěn)壓之后,輸出一個(gè)電壓為5V,電流為750mA的

19、直流電源。2.2 單片機(jī)最小系統(tǒng)圖2.2該控制系統(tǒng)的核心芯片采用的是STC12C5404AD,它的最小系統(tǒng)由STC單片機(jī),電容和晶振組成。上電瞬間,電源經(jīng)復(fù)位電容向單片機(jī)發(fā)送一個(gè)高電平信號(hào),使單片機(jī)復(fù)位。同時(shí)晶振起振,使單片機(jī)工作。晶振的大小可根據(jù)實(shí)際需要進(jìn)行選擇,常用的晶振有4M,6M,11.0592M,12M,24M等。2.3 輸入與輸出圖2.3 按鍵輸入按鍵輸出采用AD變換,節(jié)省了IO口資源。通過(guò)不同大小的電阻進(jìn)行分壓,按下不同的按鍵就會(huì)向單片機(jī)發(fā)送不同的電壓值。如:按下s1是0V;按下s2,電壓=2K/(2K+10K)*5V=0.83V。經(jīng)過(guò)單片機(jī)AD變換之后,就可以判斷是哪個(gè)按鍵按下

20、去,從而執(zhí)行相應(yīng)的功能。 圖2.4 顯示輸出該控制系統(tǒng)采用LED數(shù)碼管顯示輸出。LED數(shù)碼管最突出的特點(diǎn)是使用簡(jiǎn)單,價(jià)格低廉。在該系統(tǒng)中主要用來(lái)顯示數(shù)字時(shí)鐘,顯示模式設(shè)定等。2.4 電流源驅(qū)動(dòng) 圖2.5電流源驅(qū)動(dòng)電路,是為驅(qū)動(dòng)1W 大功率LED燈而設(shè)計(jì)的。LED燈屬于電流源驅(qū)動(dòng),根據(jù)計(jì)算,每個(gè)1W的LED燈至少需要200mA的驅(qū)動(dòng)電流才能點(diǎn)亮,而單片機(jī)的IO輸出電流實(shí)際只有20mA到30mA,所以必須經(jīng)過(guò)電流放大才能使其工作。因此在該電路中采用了一個(gè)9013對(duì)電流進(jìn)行放大。3 軟件設(shè)計(jì)3.1 系統(tǒng)主程序流程圖3.1.1 系統(tǒng)流程圖圖3.1 系統(tǒng)流程圖3.1.2 定時(shí)器溢出中斷處理函數(shù)流程圖圖3

21、.2 定時(shí)器溢出中斷處理函數(shù)流程圖3.1.3 按鍵掃描流程圖圖3.3 按鍵掃描流程圖3.2 系統(tǒng)子程序 本系統(tǒng)包含以下子程序/鍵盤(pán)處理-void KeyboardScan(void);/鍵盤(pán)掃描函數(shù)void KeyboardOperate(uchar KeyNum);/按鍵處理函數(shù)/定時(shí)器處理-void InitTimer(void);/定時(shí)器參數(shù)設(shè)定及啟動(dòng)/路燈控制-void BrightnessSet(uchar LightNum, uchar Brightness);/亮度調(diào)整/延時(shí)函數(shù)-void delay(uint i);/AD采樣-void InitADC();/ADC轉(zhuǎn)換初始化u

22、char GetADCResult(uchar ch);/取ADC轉(zhuǎn)換初值uint get_adc(uchar ch);/對(duì)ADC取值進(jìn)行操作/顯示函數(shù)-void display();/蜂鳴器發(fā)生函數(shù)-void speak();/* 亮度調(diào)整函數(shù) */void BrightnessSet(uchar LightNum, uchar Brightness);/* 中斷處理程序 */ void t0() interrupt 1 using 1 void t1() interrupt 3 4 系統(tǒng)測(cè)試4.1 測(cè)試儀器數(shù)字示波器: 該系統(tǒng)采用紅外對(duì)射傳感器,因?yàn)樗恼9ぷ餍枰饧?8KHz的觸發(fā)頻率

23、。數(shù)字示波器主要用來(lái)測(cè)量頻率。萬(wàn) 用 表: 在該系統(tǒng)中用來(lái)測(cè)量電壓、電流、電阻等。4.2 指標(biāo)測(cè)試4.2.1 各部分測(cè)試的指標(biāo)表12 功能測(cè)試序號(hào)指標(biāo)(目標(biāo)值)實(shí)測(cè)值1故障指示(編號(hào))LED上顯示正確2過(guò)中點(diǎn)后前燈亮后燈滅,試驗(yàn)成功率(100)1003自動(dòng)開(kāi)關(guān)燈功能,試驗(yàn)成功率1004實(shí)時(shí)誤差,采用時(shí)間加速方法(誤差小于5MIN)誤差<1MIN5單元控制器具有調(diào)光功能,路燈驅(qū)動(dòng)電源輸出功率能在規(guī)定時(shí)間按設(shè)定要求自動(dòng)減小,該功率應(yīng)能在20%100%范圍內(nèi)設(shè)定并調(diào)節(jié),調(diào)節(jié)誤差2%。電流從0mA至750mAm變化平緩穩(wěn)定4.2.2 系統(tǒng)實(shí)現(xiàn)的功能表21 基本要求序號(hào)功能是否實(shí)現(xiàn)1支路控制器有時(shí)

24、鐘功能,能設(shè)定、顯示開(kāi)關(guān)燈時(shí)間,并控制整條支路按時(shí)開(kāi)燈和關(guān)燈。是2支路控制器應(yīng)能根據(jù)環(huán)境明暗變化,自動(dòng)開(kāi)燈和關(guān)燈。是3支路控制器應(yīng)能根據(jù)交通情況自動(dòng)調(diào)節(jié)亮燈狀態(tài):當(dāng)可移動(dòng)物體M(在物體前端標(biāo)出定位點(diǎn),由定位點(diǎn)確定物體位置)由左至右到達(dá)S點(diǎn)時(shí)(見(jiàn)圖2),燈1亮;當(dāng)物體M到達(dá)B點(diǎn)時(shí),燈1滅,燈2亮;若物體M由右至左移動(dòng)時(shí),則亮燈次序與上相反。是4支路控制器能分別獨(dú)立控制每只路燈的開(kāi)燈和關(guān)燈時(shí)間。是5當(dāng)路燈出現(xiàn)故障時(shí)(燈不亮),支路控制器應(yīng)發(fā)出聲光報(bào)警信號(hào),并顯示有故障路燈的地址編號(hào)。是表22 發(fā)揮部分序號(hào)功能是否實(shí)現(xiàn)1自制單元控制器中的LED燈恒流驅(qū)動(dòng)電源是2單元控制器具有調(diào)光功能,路燈驅(qū)動(dòng)電源輸

25、出功率能在規(guī)定時(shí)間按設(shè)定要求自動(dòng)減小,該功率應(yīng)能在20%100%范圍內(nèi)設(shè)定并調(diào)節(jié),調(diào)節(jié)誤差2%。是表23 特色功能序號(hào)功能是否實(shí)現(xiàn)1自制微型紅外光發(fā)射與光敏電阻組合替代工業(yè)光電傳感器是2利用單片機(jī)的AD變換功能,實(shí)現(xiàn)用一個(gè)IO口讀多個(gè)按鍵是3使用單片機(jī)內(nèi)部的定時(shí)器代替時(shí)鐘芯片,實(shí)現(xiàn)時(shí)鐘功能和定時(shí)開(kāi)關(guān)機(jī)功能是4采用PWM與電流取樣方式,實(shí)現(xiàn)閉環(huán)的恒流源控制是 5 結(jié)論該系統(tǒng)調(diào)試最終結(jié)果,符合本次設(shè)計(jì)的全部要求。經(jīng)過(guò)功率擴(kuò)大、電網(wǎng)通訊等方面的改良,就能用于實(shí)際路燈控制。以其超低成本,高可靠性的特點(diǎn),與其他現(xiàn)有成品相比,具有一定的競(jìng)爭(zhēng)優(yōu)勢(shì)。該控制系統(tǒng)在調(diào)試過(guò)程中,遇到過(guò)一些與理論相差很大的實(shí)際問(wèn)題。

26、比如紅外對(duì)射傳感器的對(duì)焦問(wèn)題,因?yàn)榧t外線是不可見(jiàn)光,對(duì)焦比較麻煩,但是借用其他輔助工具就會(huì)簡(jiǎn)單很多。最簡(jiǎn)便的方法是利用帶攝像頭的手機(jī)來(lái)獲取紅外光,從而能順利完成對(duì)紅外對(duì)射傳感器的對(duì)焦。紅外對(duì)射的接收部分,因受頻率限制,只能接收頻率在38KHz的紅外信號(hào),所以在調(diào)試過(guò)程中有一定的難度。經(jīng)方案論證,采用PWM脈寬調(diào)制輸出,是切實(shí)可行的最有效方案。程序書(shū)寫(xiě)如下:#include<reg51.h>sbit pwmout=P11; /定義PWM輸出端口void init() interrupt 1 /中斷方式1TH0=0xff;TL0=0xf3;/定時(shí)器初值 pwmout=pwmout; /

27、對(duì)PWM輸出取反,產(chǎn)生一高一低的脈沖信號(hào)void main() TMOD=0X11; /定時(shí)計(jì)數(shù)器工作在1方式 TH0=0xff;TL0=0xf3; /初始化初值 EA=1;ET0=1;TR0=1;/開(kāi)總中斷,允許定時(shí)器1中斷,開(kāi)定時(shí)器1中斷 while(1);參考文獻(xiàn)1 于殿泓,王新年單片機(jī)原理與程序設(shè)計(jì)實(shí)驗(yàn)教程M西安:西安電子科技大學(xué)出版社,2007,82 趙文博,劉文濤單片機(jī)語(yǔ)言C51程序設(shè)計(jì)M北京:人民郵電出版社,2005,103 李愛(ài)秋紅外線遙控12位電子密碼鎖的設(shè)計(jì)J 溫州職業(yè)技術(shù)學(xué)院學(xué)報(bào)第8卷第一期,20084 陳杰,黃鴻傳感器與檢測(cè)技術(shù)M北京:高等教育出版社,2010,85 周

28、航慈. 單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)M. 北京:北京航空航天大學(xué)出版社,2011,26 李朝青. 單片機(jī)原理及接口技術(shù)M. 北京:北京航空航天大學(xué)出版社, 2005,107 孫育才. MCS-51系列單片微型計(jì)算機(jī)及其應(yīng)用M. 東南大學(xué)出版社, 2004,68 沈紅衛(wèi). 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)力與分析M. 北京:北京航空航天大學(xué)出版社,2003.9 徐愛(ài)鈞, 彭秀華. 單片機(jī)高級(jí)語(yǔ)言C51應(yīng)用程序設(shè)計(jì)M.北京航空航天大學(xué)出版社,200610 曾一江. 單片微機(jī)原理與接口技術(shù)M. 北京:科技出版社,2009,1211 康華光. 電子技術(shù)基礎(chǔ)(模擬部分)M. 北京:高等教育出版社, 2004,4附錄1 程

29、序代碼#include"STC12C5410AD.h"#include "intrins.h"#include <math.h>#define uint unsigned int#define uchar unsigned charuchar dis=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x3e,0x77,0x40,0x00,0x76,0x71,0x37,0x79,0x31,0x38;/10_V,A,-,熄滅,H,F_15,N,E,R,L/sfr ADC_RES = 0xC6;

30、/ADC high 8-bit result register/#define ADC_POWER 0x80 /ADC power control bit#define ADC_FLAG 0x10 /ADC complete flag#define ADC_START 0x08 /ADC start control bit#define ADC_SPEEDLL 0x00 /420 clocks#define ADC_SPEEDL 0x20 /280 clocks#define ADC_SPEEDH 0x40 /140 clocks#define ADC_SPEEDHH 0x60 /70 clo

31、cks/ISP/#define ENABLE_ISP 0x83 /系統(tǒng)工作時(shí)鐘<12MHz 時(shí),對(duì)IAP_CONTR 寄存器設(shè)置此值/sbit k1=P10;/按鈕sbit k2=P11;sbit k3=P12;sbit k4=P13;sbit k5=P14;sbit cgq_a=P13;sbit cgq_b=P14;sbit cgq_c=P30;sbit zishi=P31;/sbit en1=P34;/373使能端 端碼sbit en2=P35;/373使能端 位碼/sbit feng=P37;/sbit led1=P32;sbit led2=P33;/函數(shù)定義部分uchar d8;

32、char shi=0,fen=0,miao=0,set_miao=0,pwm,k3num=0,set_fen=0;set_on_shi=0,set_off_shi=0,light=0,pwm_count=0;bit shijian_bit=1,pwm_bit=1,light_bit=1,bad_deng1=0,bad_bit=0,bad_deng2=0,display_bit=0,auto_mode=1,sdong=1,sdong_bit=0;uint sum2=0,shi_count=0,sum_deng1,sum_deng2,kk,jj,ff,ii;/void IAP_Disable();

33、uchar Byte_Read(uchar addh,uchar addl);void Sector_Erase(uchar addh,uchar addl);void Byte_Program(uchar addh,uchar addl, uchar ch);/void InitADC();/ADC轉(zhuǎn)換初始化uchar GetADCResult(uchar ch);/取ADC轉(zhuǎn)換初值uint get_adc(uchar ch);/取ADC轉(zhuǎn)換數(shù)據(jù)10位void delay(uint i);void jiyi();void read_jiyi();void run_shijian();/延時(shí)1

34、MS/void delay(uint i)/延時(shí)函數(shù)uint a,b;for(a=0;a<i;a+)for(b=0;b<120;b+);/void display()/顯示函數(shù)uchar i,s=0x01;for(i=0;i<8;i+)P2=disdi;en1=1;en1=0;P2=s;en2=1;en2=0;delay(4);P2=0xff;en2=1;en2=0;s=s<<1;void chaizi()/拆字函數(shù)d0=shi/10;d1=shi%10;d2=12;d3=fen/10;d4=fen%10;d5=12;d6=miao/10;d7=miao%10;v

35、oid speak()/蜂鳴器發(fā)生函數(shù)feng=0;delay(10);feng=1;void t0() interrupt 1 using 1 TH0=0Xfc;TL0=0X18;if(light_bit)if(pwm_count>=10) pwm_count=0;else pwm_count+;if(pwm_count<=pwm) led1=led2=1;else led1=led2=0; /sum2=get_adc(7);sum2=sum2*48/1000;if(sum2<5) led1=led2=1;else if(sum2<15) pwm=9; else if

36、(sum2<35) pwm=0;else if(sum2<45) led1=led2=0;else ;if(shijian_bit)if(shi_count<500) shi_count+; elsemiao+;shi_count=0;if(miao>=60)miao=0;fen+; if(fen>=60)fen=0;shi+;if(shi>23)shi=0;/if(kk<=2000) kk+;else kk=0;bad_bit=1;if(ff<=1000) ff+;else ff=0;ii+;bad_bit=0;if(ii=6)ii=0;/su

37、m_deng1=get_adc(6);sum_deng1=sum_deng1*48/1000;/光敏檢測(cè)燈Aif(sum_deng1>=25) bad_deng1=1;else bad_deng1=0;/sum_deng2=get_adc(5);sum_deng2=sum_deng2*48/1000;/光敏檢測(cè)燈Bif(sum_deng2>=25) bad_deng2=1;else bad_deng2=0;void set_time()/設(shè)置時(shí)間while(1)shijian_bit=0;d5=12;d6=miao/10;d7=miao%10;d0=d1=d2=d3=d4=13;d

38、isplay();if(k4=0)while(!k4)display();speak();if(miao<59)miao=miao+1;else miao=0;if(k5=0)while(!k5)display();speak();miao=miao-1;if(miao<=0)miao=59;if(k1=0)while(!k1)display();speak();goto m1;m1:while(1)shijian_bit=0;d2=12;d3=fen/10;d4=fen%10;d0=d1=d5=d6=d7=13;display();if(k4=0)while(!k4)displa

39、y();speak();if(fen<59)fen=fen+1;else fen=0;if(k5=0)while(!k5)display();speak();fen=fen-1;if(fen<=0)fen=59;if(k1=0)while(!k1)display();speak();goto m2;m2:while(1)shijian_bit=0;d0=shi/10;d1=shi%10;d2=d3=d4=d5=d6=d7=13;display();if(k4=0)while(!k4)display();speak();if(shi<23)shi=shi+1;else shi=

40、0;if(k5=0)while(!k5)display();speak();shi=shi-1;if(shi<=0)shi=23;if(k1=0)while(!k1)display();speak();goto m3;m3:jiyi();shijian_bit=1;void jiyi()/存儲(chǔ)函數(shù)Sector_Erase(0x2a,0x00);delay(10);Byte_Program(0x2a,0x01,shi);delay(10);Byte_Program(0x2a,0x02,fen);delay(10);Byte_Program(0x2a,0x03,miao);delay(10)

41、;Byte_Program(0x2a,0x04,set_on_shi);delay(10);Byte_Program(0x2a,0x05,set_off_shi);delay(10);void read_jiyi()/讀出存人的值shi=Byte_Read(0x2a,0x01);delay(10);fen=Byte_Read(0x2a,0x02);delay(10);miao=Byte_Read(0x2a,0x03);delay(10);set_on_shi=Byte_Read(0x2a,0x04);delay(10);set_off_shi=Byte_Read(0x2a,0x05);dela

42、y(10);void set_on_off()/設(shè)置開(kāi)關(guān)燈時(shí)間while(1)d3=0;d4=16;d5=12;d6=set_on_shi/10;d7=set_on_shi%10;d0=d1=d2=13;display();if(k4=0)while(!k4)display();speak();if(set_on_shi<23)set_on_shi=set_on_shi+1;else set_on_shi=0;if(k5=0)while(!k5)display();speak();set_on_shi=set_on_shi-1;if(set_on_shi<=0)set_on_shi

43、=23;if(k2=0)while(!k2)display();speak();goto m1;m1:while(1)d2=0;d3=d4=15;d0=d1=13;d5=12;d6=set_off_shi/10;d7=set_off_shi%10;display();if(k4=0)while(!k4)display();speak();if(set_off_shi<23)set_off_shi=set_off_shi+1;else set_off_shi=0;if(k5=0)while(!k5)display();speak();set_off_shi=set_off_shi-1;if

44、(set_off_shi<=0)set_off_shi=23;if(k2=0)while(!k2)display();speak();goto m2;m2:jiyi();shijian_bit=1;void main()/主函數(shù)P2M0=0x00;P2M1=0xff;TMOD=0x11;TH0=0Xfc;TL0=0X18;/TH1=0xff;TL1=0x9c;EA=1;ET0=1;TR0=1;/EA=1;ET1=1;TR1=1;P3M0=0x00;P3M1=0xff;InitADC();delay(10);read_jiyi();zishi=1;loop:if(bad_bit)if(ba

45、d_deng1=1)bad_deng1=0;goto loop1;/1if(bad_deng2=1)bad_deng2=0;goto loop3;/2if(bad_deng1=1&&bad_deng2=1)bad_deng2=bad_deng1=0;goto loop2;/1.2if(k1=0)while(!k1)display();speak();set_time();/設(shè)置時(shí)間if(k2=0)while(!k2)display();speak();set_on_off();/設(shè)置開(kāi)關(guān)燈時(shí)間if(sdong_bit)if(shi>=set_on_shi)led1=led

46、2=0;sdong=1;if(shi>=set_off_shi)led1=led2=1;sdong=0;chaizi();display();/if(k3=0)while(!k3);speak();k3num+;switch(k3num%2)case 1:zishi=0;led1=led2=0;bad_bit=0;auto_mode=1;sdong=1;sdong_bit=0;light_bit=1;break;/自動(dòng)模式case 0:zishi=1;led1=led2=1;bad_bit=1;auto_mode=1;sdong=0;sdong_bit=1;light_bit=0;break;/手動(dòng)模式if(auto_mode)/自動(dòng)模式if(sdong)if(cgq_a=0&&cgq_b=1&&cgq_c=1)led1=0;led2=1;/3.2開(kāi) 3.3 關(guān)if(cgq_a=1&am

溫馨提示

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