精品資料(2021-2022年收藏)模擬路燈控制系統(tǒng)報(bào)告_第1頁
精品資料(2021-2022年收藏)模擬路燈控制系統(tǒng)報(bào)告_第2頁
精品資料(2021-2022年收藏)模擬路燈控制系統(tǒng)報(bào)告_第3頁
精品資料(2021-2022年收藏)模擬路燈控制系統(tǒng)報(bào)告_第4頁
精品資料(2021-2022年收藏)模擬路燈控制系統(tǒng)報(bào)告_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、模擬路燈控制系統(tǒng)摘要:本文設(shè)計(jì)了一個(gè)以AT89C51為控制核心通過多級(jí)通信控制的模擬路燈控制系統(tǒng),本路燈由光電開關(guān)實(shí)現(xiàn)對(duì)定位點(diǎn)處經(jīng)過物體的精確定位,并將檢測的信號(hào)經(jīng)單片機(jī)分析處理后控制LED燈的亮滅;LED的電源采用自制的恒流源驅(qū)動(dòng);由光敏電阻根據(jù)環(huán)境光線的變化實(shí)現(xiàn)路燈的自動(dòng)開關(guān);通過調(diào)節(jié)PWM脈沖占空比實(shí)現(xiàn)功率的調(diào)節(jié),以此達(dá)到調(diào)光效果。由DS1302完成控制器的時(shí)鐘功能,并通過鍵盤設(shè)定和調(diào)整時(shí)間。本作品有五總工作模式,其中四種模式可以群控和獨(dú)立分控甲乙兩燈。經(jīng)檢測本路燈可以正常工作。關(guān)鍵詞:AT89C51;光電開關(guān);DS1302;光敏電阻;恒流源;PWM脈寬調(diào)制脈沖;工作模式Abstract

2、: this paper designs a USES AT89C51 as the core to control the simulation street light control system, the street lamp photoelectric switch to achieve by locating points after the precise orientation in objects, and the detection signal analysis and processing of SCM control LED lights after the lig

3、ht put out, The power of the LED self-made constant current source drive; According to the environment by photoconductive resistance changes of light realize the automatic switch street; By adjusting the PWM pulse of empty the adjustment of the power than implement, to move light effect. By DS1302 c

4、omplete controller clock function, and through the keyboard and the adjustment of the set time. This work has five total working mode, including four models to group control and independent control points and party b two lights. Via detecting the street lamp can work normally.Keywords: AT89C51; Phot

5、oelectric switch; DS1302; Photoconductive resistance; Constant current source; PWM pulse width modulation pulse; Work mode1 系統(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.2 基本要求(1)支路控制器有時(shí)鐘功能,能設(shè)定、顯示開關(guān)燈時(shí)間,并控制整條支路按時(shí)開燈和關(guān)燈。(2)支路控制器應(yīng)能根據(jù)環(huán)境明暗變化,自動(dòng)開燈和關(guān)燈。(3)支路控制器應(yīng)能根據(jù)交

6、通情況自動(dòng)調(diào)節(jié)亮燈狀態(tài):當(dāng)可移動(dòng)物體M(在物體前端標(biāo)出定位點(diǎn),由定位點(diǎn)確定物體位置)由左至右到達(dá)S點(diǎn)時(shí)(見圖2),燈1亮;當(dāng)物體M到達(dá)B點(diǎn)時(shí),燈1滅,燈2亮;若物體M由右至左移動(dòng)時(shí),則亮燈次序與上相反。(4)支路控制器能分別獨(dú)立控制每只路燈的開燈和關(guān)燈時(shí)間。(5)當(dāng)路燈出現(xiàn)故障時(shí)(燈不亮),支路控制器應(yīng)發(fā)出聲光報(bào)警信號(hào),并顯示有故障路燈的地址編號(hào)。發(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)方面的要

7、求,無對(duì)外干擾或干擾小。1.3 總體設(shè)計(jì)方案 功能分解及設(shè)計(jì)思路本模擬路燈控制系統(tǒng)的設(shè)計(jì)方案要實(shí)現(xiàn)的主要功能主要分解為以下五個(gè)方面:(1)是時(shí)鐘功能及定時(shí)開關(guān)燈。(2)是根據(jù)環(huán)境明暗變化,自動(dòng)開燈和關(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)的輸入輸出和顯示

8、功能的基礎(chǔ)上,由單片機(jī)的內(nèi)置邏輯和運(yùn)算功能,加上一定的外圍電路得以實(shí)現(xiàn)。針對(duì)以上的五個(gè)功能,采用模塊化的設(shè)計(jì)思想,以下分別敘述之。2 方案的比較與論證 2.1 各2.1穩(wěn)壓電源模塊恒流源驅(qū)動(dòng)LED及20到100范圍內(nèi)可調(diào)亮度。方案一:采用恒流源驅(qū)動(dòng)芯片,目前市場上成品的恒流源驅(qū)動(dòng)芯片比較多,一般采用使用取樣電阻調(diào)節(jié)輸出電流的方式。這些芯片使用方便,性能較好,但價(jià)格較貴。方案二:采用PWM方式驅(qū)動(dòng)功率場效應(yīng)管輸出驅(qū)動(dòng)電流,用電流取樣電阻串入LED供電回路,用AD口讀取當(dāng)前的電流值,實(shí)現(xiàn)閉環(huán)控制。方案二利用了單片機(jī)的AD變換資源,同時(shí)采用PWM方式,可以使LED工作在斷斷續(xù)續(xù)的狀態(tài),可以延長LED

9、的使用壽命。本系統(tǒng)采用方案二。22顯示模塊方案一:用LED數(shù)碼顯示,控制起來比較簡單,編程也不是很難,可以明了的顯示數(shù)字,但在實(shí)際電路當(dāng)中,焊接比較煩瑣,占用空間大,性價(jià)比不高,對(duì)人眼有一定的損害,還要有相應(yīng)的蕊片(如74HC573N蕊片等)組合,占用資源。若要同時(shí)顯示多個(gè)字符,所用的LED數(shù)量大,占用面廣,卻接口也多。方案二:采用5110液晶顯示,其顯示是采用背光照亮,對(duì)人眼損害很弱,再次LCD又是一種節(jié)能燈,功耗小,使用壽命長等優(yōu)點(diǎn),不需要外加蕊片組合,可以直接與單片機(jī)連接。單片機(jī)可以通過軟件編程,來實(shí)現(xiàn)對(duì)液晶的顯示的控制與設(shè)定。使用起來十分方便,有長遠(yuǎn)的價(jià)值。所以我們采用此方案 。23根

10、據(jù)環(huán)境明暗變化,自動(dòng)開燈和關(guān)燈功能。方案一:采用比較器的解決方案。光敏電阻與固定電阻串聯(lián),加一級(jí)電壓跟隨器后輸入比較器,與比較器負(fù)輸入端的電壓值進(jìn)行比較,得到一個(gè)高電平或低電平輸出,進(jìn)入單片機(jī)的IO口。優(yōu)點(diǎn)是電路比較直觀,操作比較方便,可直接通過電位器調(diào)節(jié)路燈的開啟亮度。對(duì)維護(hù)人員的要求不高。缺點(diǎn)是不方便進(jìn)行數(shù)碼控制。方案二:采用AD變換。光敏電阻與固定電阻串聯(lián),由單片機(jī)內(nèi)置的AD變換接口讀入當(dāng)前的電壓值,然后根據(jù)讀取的電壓值判斷當(dāng)前的環(huán)境亮度。路燈的開啟電平由內(nèi)部的變量控制。方案二的優(yōu)點(diǎn)在于可以方便以實(shí)現(xiàn)對(duì)路燈開啟電平的數(shù)碼控制和遠(yuǎn)程控制。本系統(tǒng)采用方案二。2.4紅外發(fā)射模塊方案:可見光發(fā)光

11、二極管與光敏三極管組成的發(fā)射接收電路。這種方案的缺點(diǎn)在于其他環(huán)境光源會(huì)對(duì)光敏三極管的工作產(chǎn)生很大干擾,一旦外界光亮條件改變,很可能造成誤判和漏判;雖然采取超高亮發(fā)光管可以降低一定的干擾,但這又將增加額外的功率損耗。方案二:采用工業(yè)級(jí)的光電開關(guān)。這種光電傳感器普遍運(yùn)用于電梯、生產(chǎn)線等工業(yè)場所。優(yōu)點(diǎn)是使用方便,型號(hào)很多,輸出量是開關(guān)量,不需調(diào)理電路。本系統(tǒng)采用方案二。2.5核心控制模塊:方案1:我們采用STC單片機(jī)作為主控器,其算術(shù)功能強(qiáng),軟件編程簡潔靈活、自由度大 ,可用軟件編程實(shí)現(xiàn)各種邏輯控制功能,且其功耗低、技術(shù)成熟,成本低廉。但我們對(duì)于STC的技術(shù)不成熟。方案2:我們采用51單片機(jī)作為主控

12、器,軟件編程簡潔靈活、自由度大 ,可用軟件編程實(shí)現(xiàn)各種邏輯控制功能,且其功耗低、技術(shù)成熟,成本低廉。而且我們已經(jīng)學(xué)習(xí)了一年,有了一定的基礎(chǔ),故我們采用方案二。2.6聲光報(bào)警功能方案:采用光敏電阻檢測路燈的亮度,同時(shí)排除環(huán)境光的干擾。利用單片機(jī)的AD口,讀入光敏電阻上檢測到的路燈亮度值。但此方案不穩(wěn)定因素太多。方案二:利用光敏電阻檢測路燈的亮度,然后送入比較器進(jìn)行比較,此方案簡單易行,故我們采用方案二。種方案比較與選擇2.2 方案論證2.2.1系統(tǒng)各模塊的最終方案 單元控制器甲AT89C51單元控制器乙光敏傳感器繼電器繼電器恒流源從S到S'到方向從到S'到S方向LED1LED2屏

13、幕顯示恒流源光電對(duì)管光電對(duì)管聲音報(bào)警光電報(bào)警2.2.2 系統(tǒng)功能介紹 路燈的工作模式本模擬路燈控制系統(tǒng)具備5種工作模式,分別是自動(dòng)群控模式、自動(dòng)分控模式、根據(jù)照度自動(dòng)控制模式、根據(jù)交通情況自動(dòng)控制模式、手動(dòng)控制模式,下面對(duì)每種工作模式簡單介紹如下:(1)自動(dòng)群控模式在該模式下,支路控制器根據(jù)設(shè)定好的定時(shí)信息,自動(dòng)地同時(shí)打開或者關(guān)閉兩盞路燈。(2)自動(dòng)分控模式在該模式下,支路控制器根據(jù)設(shè)定好的定時(shí)信息,分別控制兩盞路燈的開關(guān),例如,當(dāng)系統(tǒng)的時(shí)間和路燈甲開燈的時(shí)間相等時(shí),開啟路燈甲;當(dāng)系統(tǒng)的時(shí)間和路燈乙關(guān)燈的時(shí)間相等時(shí)開啟路燈乙。(3)根據(jù)照度自動(dòng)控制模式在該模式下,當(dāng)環(huán)境照度低于一定的值時(shí)開啟兩

14、盞路燈,當(dāng)環(huán)境照度高于一定的值時(shí)關(guān)閉兩盞路燈。系統(tǒng)啟動(dòng)后默認(rèn)進(jìn)入此模式。(4)根據(jù)交通情況自動(dòng)控制模式在該模式下,當(dāng)可移動(dòng)物體M由左到右到達(dá)S點(diǎn)時(shí)(見圖××),燈甲亮;當(dāng)物體M到達(dá)B點(diǎn)時(shí),燈甲滅,燈乙亮。(5)手動(dòng)控制模式在手動(dòng)模式時(shí),兩盞路燈只能由支路控制器用增加和減少鍵手動(dòng)的調(diào)整亮度,路燈的亮度可以在0100自由的上下調(diào)整,步進(jìn)為20。另外,該路燈控制系統(tǒng)還具備故障檢測功能,當(dāng)路燈出現(xiàn)無法正常工作的狀況時(shí),該控制系統(tǒng)能夠判定是哪一環(huán)節(jié)出現(xiàn)問題,并將故障通過聲光警報(bào)顯示告知用戶。按鍵操作說明本作品共需八個(gè)按鍵,其中五種工作模式共需六個(gè)按鍵,分別為模式選擇鍵、燈的選擇鍵、調(diào)

15、時(shí)鍵、調(diào)分鍵、調(diào)節(jié)亮度鍵、開/關(guān)鍵模式選擇鍵:按模式選擇鍵可以切換路燈工作模式。燈的選擇鍵:此鍵有三種選擇即甲燈、乙燈、甲乙,在當(dāng)前工作模式下,如選甲或乙,則此時(shí)為獨(dú)立控制甲或乙,若選擇甲乙,則在當(dāng)前模式下群控甲乙。調(diào)時(shí)、調(diào)分鍵:在不同的屏幕下來調(diào)節(jié)當(dāng)前的時(shí)間包括時(shí)鐘DS1302的調(diào)時(shí),開關(guān)燈的調(diào)時(shí)。調(diào)節(jié)亮度鍵:可以在手動(dòng)控制模式下通過此鍵調(diào)節(jié)LED的亮度。開/關(guān)鍵:如為開則在當(dāng)前頁面下調(diào)的是開燈時(shí)間,否則為關(guān)燈時(shí)間。3系統(tǒng)硬件設(shè)計(jì)3.1系統(tǒng)總體設(shè)計(jì)本作品是以AT89C51為控制核心,用DS1302時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘功能,顯示開燈和關(guān)燈時(shí)間,控制各支路按時(shí)開燈和關(guān)燈,并能根據(jù)環(huán)境明暗變化,自動(dòng)開

16、燈和關(guān)燈。支路控制器分別能控制每只路燈的開燈和關(guān)燈時(shí)間。支路控制器可以根據(jù)交通情況自動(dòng)開燈和關(guān)燈。并能在路燈出現(xiàn)故障時(shí)發(fā)出聲光報(bào)警。其主流程見圖3-1。 S2S1S1S2S2S1S1開始按鍵設(shè)置模式1LED2模式2模式3模式4LED1定時(shí)開燈定時(shí)關(guān)燈開啟關(guān)閉開啟關(guān)閉手動(dòng)控制光敏電阻控制交通控制燈的模式5S13.2單元電路鍵盤電路系統(tǒng)使用了8個(gè)鍵盤,控制液晶顯示菜單的時(shí)間模式,及工作模式的切換。光敏控制電路用一個(gè)精密可調(diào)電阻和一個(gè)光敏電阻串聯(lián),光敏電阻通過向光、遮光的電壓與1/2Vcc經(jīng)過比較器比較,再加個(gè)電壓跟隨器輸出穩(wěn)定電壓。向光輸出低電平,遮光輸出高電平,使其輸出信號(hào)輸入單片機(jī)。電路圖如下

17、:最小系統(tǒng)版電路單片機(jī)ATT89C51組成一個(gè)最小系統(tǒng),其中有三個(gè)按鍵,一個(gè)復(fù)位鍵,兩個(gè)中斷鍵。通過I/O口與外圍電路銜接。功能實(shí)現(xiàn)4 系統(tǒng)實(shí)現(xiàn)的功能1基本要求序號(hào)功能是否實(shí)現(xiàn)1支路控制器有時(shí)鐘功能,能設(shè)定、顯示開關(guān)燈時(shí)間,并控制整條支路按時(shí)開燈和關(guān)燈。是2支路控制器應(yīng)能根據(jù)環(huán)境明暗變化,自動(dòng)開燈和關(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í)(見圖2),燈1亮;當(dāng)物體M到達(dá)B點(diǎn)時(shí),燈1滅,燈2亮;若物體M由右至左移動(dòng)時(shí),則亮燈次序與上相反。實(shí)現(xiàn)50%4支路控制器能分別獨(dú)立控制每只路燈的開燈和關(guān)燈時(shí)間。是5當(dāng)

18、路燈出現(xiàn)故障時(shí)(燈不亮),支路控制器應(yīng)發(fā)出聲光報(bào)警信號(hào),并顯示有故障路燈的地址編號(hào)。是2發(fā)揮部分序號(hào)功能是否實(shí)現(xiàn)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%。實(shí)現(xiàn)50%5采用PWM與電壓取樣方式,實(shí)現(xiàn)閉環(huán)的恒流源控制是5心得體會(huì)電子方面: 通過本次設(shè)計(jì),深深感到理論與實(shí)踐之間的差距。在學(xué)習(xí)單片課程時(shí),很多知識(shí)點(diǎn)在理論完全理解了,但到具體的電路設(shè)計(jì)與實(shí)現(xiàn)中,會(huì)出現(xiàn)很多一時(shí)無法理解的現(xiàn)象,要通過不斷的通過強(qiáng)化自身的實(shí)踐動(dòng)手能力的培養(yǎng),才能用理論來指導(dǎo)實(shí)踐,通過實(shí)踐來進(jìn)

19、一步深入理解理論。此次試驗(yàn)我最大的感受就是我對(duì)于很多知識(shí)停留在知與不知之間,了解的只是表面含義,并沒有深入了解,而且我感覺自己的動(dòng)手能力有待提高,不能眼高手低,不能滿足現(xiàn)狀,也不能灰心泄氣,停歇不前。這次實(shí)驗(yàn)我也學(xué)到了很多,明白了很多,以后我會(huì)更加努力,去學(xué)習(xí),去探索。機(jī)械方面:此次路燈作品,我和閆偉負(fù)責(zé)了燈架的部分。在這次作品中我對(duì)車工的學(xué)習(xí)又加深了許多。首先,我們自己做出的東西可以使用了(這是比較有成就感的)。以前先是車了一些東西但卻沒有實(shí)用過,之后給其他同學(xué)做過一個(gè)類似聯(lián)軸器的東西,但是因?yàn)榇虻目變啥瞬煌亩荒苁褂?。做出的東西不能用使我很有受挫感。這次能夠做出并且還可以使用又增添我對(duì)學(xué)

20、習(xí)機(jī)械的信心。其次,在做燈架時(shí)學(xué)到了許多車工方面的知識(shí):1,加工零件前需對(duì)零件有整體的把握,清楚加工的先后順序。2,切斷、螺紋用低速。3,車長軸要先用中心鉆打孔(打孔時(shí)要夾短),并且需用中心鉆定心。4,鋁料質(zhì)軟加工時(shí)要加入冷卻液,并在打孔時(shí)及時(shí)排屑。5,磨出的刀是沒有具體很細(xì)的規(guī)定的,它是依據(jù)所要加工物體的形狀去磨刀。6,錐度也不見得全是調(diào)小刀件也可用45、60度的刀直接去加工。7,軟料加工、鉆孔用高速。8,零件如何在車床上保持平衡。9,如何在不損壞零件表面的前提下完成零件。10,車刀的鋒利度。以上8點(diǎn)是在這次做燈架時(shí)所總結(jié)。但在作品的整體把握上不是太好,使得燈架與作品整體配合不是那么的如意。

21、6 軟件設(shè)計(jì)#include<reg51.h>#include"發(fā)送.c"#include"接受.c"#include"按鍵.c"#include"ds1302.c"#include"zifu.c" #include <intrins.h>#include"18b20.c"void keyscan();#define uint unsigned int#define uchar unsigned charsbit f=P17;sbit g1=P12;s

22、bit g2=P14;sbit g3=P16;sbit xinh=P13;uchar aa=0,bb=0,dd=0,qq,kg,xz=0,r=30,e=15,guzhang;/*/端口定義 /*uint k;sbit res = P00; /復(fù)位,0復(fù)位 sbit sce = P01; /片選 sbit dc = P02; /1寫數(shù)據(jù),0寫指令 sbit sdin = P03; /數(shù)據(jù) sbit sclk = P04; /時(shí)鐘 void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);/*-write_byte: 使用S

23、PI接口寫數(shù)據(jù)到LCD輸入?yún)?shù):dt:寫入的數(shù)據(jù);command :寫數(shù)據(jù)/命令選擇;-*/write_byte(uchar dt, uchar command)uchar i; sce=0;dc=command;for(i=0;i<8;i+) if(dt&0x80)sdin=1;elsesdin=0;dt=dt<<1;sclk=0; sclk=1; dc=1;sce=1;sdin=1;/*-init: 5110LCD初始化 - */void init(void)res=0; delay(1); res=1; write_byte(0x21,0); /初始化Lcd,功

24、能設(shè)定使用擴(kuò)充指令write_byte(0xd0,0); /設(shè)定液晶偏置電壓write_byte(0x20,0); /使用基本指令write_byte(0x0c,0); /設(shè)定顯示模式,正常顯示/*-LCD_set_XY: 設(shè)置LCD坐標(biāo)函數(shù)輸入?yún)?shù):X:083 Y:05-*/void set_XY(uchar X, uchar Y)write_byte(0x40 | Y, 0);/ columnwrite_byte(0x80 | X, 0);/ row /*-LCD_clear: LCD清屏函數(shù) -*/void clear(void)uchar t;uchar k;set_XY(0,0);f

25、or(t=0;t<6;t+) for(k=0;k<84;k+) write_byte(0x00,1); /*-LCD_write_shu: 顯示8(寬)*16(高)點(diǎn)陣列數(shù)字字母符號(hào)等半角類輸入?yún)?shù):c:顯示的字符;-*/void write_shuzi(uchar row, uchar page,uchar c) /row:列 page:頁 dd:字符uchar i; set_XY(row*5, page); / 列,頁 for(i=0; i<6;i+) write_byte(shuzic*12+i,1); set_XY(row*5, page+1); / 列,頁 for(

26、i=6; i<12;i+) write_byte(shuzic*12+i,1); /*-LCD_write_shu: 顯示8(寬)*16(高)-*/void write_shuzi1(uchar row, uchar page,uchar c) /row:列 page:頁 dd:字符uchar i; set_XY(row*3, page); / 列,頁 for(i=0; i<6;i+) write_byte(shuzic*12+i,1); set_XY(row*3, page+1); / 列,頁 for(i=6; i<12;i+) write_byte(shuzic*12+i

27、,1); /*-write_hanzi: 顯示12(寬)*12(高)點(diǎn)陣列漢字等半角類輸入?yún)?shù):c:顯示的字符; -*/void write_hanzi(uchar row, uchar page,uchar c) /row:列 page:頁 dd:字符uchar i; set_XY(row*8, page); / 列,頁 for(i=0; i<12;i+) write_byte(hanzic*24+i,1); set_XY(row*8, page+1); / 列,頁 for(i=12; i<24;i+) write_byte(hanzic*24+i,1);/*-write_han

28、zi: 顯示12(寬)*12(高)點(diǎn)陣列漢字等半角類輸入?yún)?shù):c:顯示的字符; -*/void write_zifu(uchar row, uchar page,uchar c) /row:列 page:頁 dd:字符uchar i; set_XY(row*2, page); / 列,頁 for(i=0; i<4;i+) write_byte(zifuc*8+i,1); set_XY(row*2, page+1); / 列,頁 for(i=4; i<8;i+) write_byte(zifuc*8+i,1);/*-write_hanzi: 顯示12(寬)*12(高)點(diǎn)陣列漢字等半角

29、類輸入?yún)?shù):c:顯示的字符; -*/void write_hanzi1(uchar row, uchar page,uchar c) /row:列 page:頁 dd:字符uchar i; set_XY(row*6, page); / 列,頁 for(i=0; i<12;i+) write_byte(hanzic*24+i,1); set_XY(row*6, page+1); / 列,頁 for(i=12; i<24;i+) write_byte(hanzic*24+i,1);/*"模擬路燈控制系統(tǒng)"顯示*/void show0()write_hanzi(0,0

30、,12); /模write_hanzi(2,0,13); /擬write_hanzi(4,0,14); /路write_hanzi(6,0,15); /燈write_hanzi(0,2,16); /控write_hanzi(2,2,17); /制write_hanzi(4,2,18); /系write_hanzi(6,2,19); /統(tǒng)write_hanzi1(4,4,20); /無write_hanzi1(6,4,21); /線write_hanzi1(8,4,22); /電write_hanzi1(10,4,23); /協(xié)write_hanzi1(12,4,24); /會(huì)/*-ds1302

31、時(shí)鐘顯示-*/void show1() write_shuzi(0,0,year/16); /年份 十位 write_shuzi(1,0,year%16); / 年份個(gè)位 write_hanzi(2,0,8); / 年 write_shuzi(6,0,month/16); /月十位 write_shuzi(7,0,month%16); /月個(gè)位 write_hanzi(5,0,7); / 月write_shuzi(11,0,day/16); / 日十位 write_shuzi(12,0,day%16); / 日個(gè)位 write_hanzi(9,0,9); / 日 write_hanzi(0,2

32、,10); / 星 write_hanzi(2,2,11); /期 write_hanzi(4,2,week); /week=3,周三 write_shuzi1(19,2,zhen/10);/溫度十位write_shuzi1(21,2,zhen%10);/溫度個(gè)位write_zifu(35,2,0);/句號(hào)write_shuzi(15,2,11);/Cwrite_shuzi(1,4,hour/16); /小時(shí)十位 write_shuzi(3,4,hour%16); /小時(shí)個(gè)位 write_shuzi(5,4,10); /冒號(hào) write_shuzi(7,4,minute/16); /分鐘十位

33、write_shuzi(9,4,minute%16); /分鐘個(gè)位 write_shuzi(11,4,10); /冒號(hào) write_shuzi(13,4,second/16); /秒十位 write_shuzi(15,4,second%16); /秒個(gè)位 /*設(shè)定時(shí)間界面*/void show2()write_hanzi(2,0,25); /設(shè)write_hanzi(4,0,26); /定write_hanzi(6,0,27); /時(shí)write_hanzi(8,0,28); /間write_hanzi1(0,2,29); /開write_hanzi1(2,2,31); /燈write_shuz

34、i(5,2,10); /:write_shuzi1(11,2,ks/10);/0write_shuzi1(13,2,ks%10);/0write_shuzi(9,2,10); /:write_shuzi1(17,2,kf/10);/0write_shuzi1(19,2,kf%10);/0write_shuzi1(21,2,10); /:write_shuzi1(23,2,km/10);/0write_shuzi1(25,2,km%10);/0write_hanzi1(0,4,30); /關(guān)write_hanzi1(2,4,31); /燈write_shuzi(5,4,10); /:write_

35、shuzi1(11,4,gs/10);/0write_shuzi1(13,4,gs%10);/0write_shuzi(9,4,10); /:write_shuzi1(17,4,gf/10);/0write_shuzi1(19,4,gf%10);/0write_shuzi1(21,4,10); /:write_shuzi1(23,4,gm/10);/0write_shuzi1(25,4,gm%10);/0/*工作模式*/void show3()write_hanzi(2,0,32); /工write_hanzi(4,0,33); /作write_hanzi(6,0,34); /模write_h

36、anzi(8,0,35); /式/*燈的開標(biāo)志*/void show4()write_hanzi(0,0,29);/"開"/*燈的關(guān)標(biāo)志*/void show5()write_hanzi(0,0,30);/"關(guān)"/*亮度自動(dòng)控制*/void show6()write_hanzi(2,3,42);/亮write_hanzi(4,3,43);/度write_hanzi(6,3,46);/自write_hanzi(8,3,38);/控/*自動(dòng)分控*/void show7()write_hanzi(2,3,46);/自write_hanzi(4,3,36);/動(dòng)

37、write_hanzi(6,3,39);/分write_hanzi(8,3,38);/控/write_shuzi1(1,)/*手動(dòng)控制*/void show8()write_hanzi(2,3,44);/手write_hanzi(4,3,36);/動(dòng)write_hanzi(6,3,38);/控write_hanzi(8,3,45);/制/*自動(dòng)群控*/void show9()write_hanzi(2,3,46);/自write_hanzi(4,3,36);/動(dòng)write_hanzi(6,3,37);/群write_hanzi(8,3,38);/控/*交通自控*/void show16()wr

38、ite_hanzi(2,3,58);/交write_hanzi(4,3,59);/通write_hanzi(6,3,46);/自write_hanzi(8,3,38);/控/*燈的選擇*/void show10()write_hanzi(1,0,49);/燈write_hanzi(3,0,50);/的write_hanzi(5,0,51);/選write_hanzi(7,0,52);/擇/*甲燈*/void show11()write_hanzi(4,3,47);/甲write_hanzi(6,3,49);/燈/*乙燈*/void show12()write_hanzi(4,3,48);/乙w

39、rite_hanzi(6,3,49);/燈/*甲乙*/void show13()write_hanzi(4,3,47);/甲write_hanzi(6,3,48);/乙/*警告:甲燈故障*/void show14()write_hanzi(0,0,53);/警write_hanzi(2,0,54);/告write_hanzi(4,0,55);/:write_hanzi(2,2,47);/甲write_hanzi(4,2,49);/燈write_hanzi(6,2,56);/故write_hanzi(8,2,57);/障/*警告:乙燈故障*/void show15()write_hanzi(0,

40、0,53);/警write_hanzi(2,0,54);/告write_hanzi(4,0,55);/:write_hanzi(2,2,48);/乙write_hanzi(4,2,49);/燈write_hanzi(6,2,56);/故write_hanzi(8,2,57);/障/*-void main(void): 主函數(shù) 無返回值 -*/void main() initial_ds1302();/初始化DS1302子程序 init(); /初始化LCD模塊 init_f(); /發(fā)送與接受初始化clear(); while(1)keyscan();/鍵盤程序if(fy=1)send(0x1

41、8);if(dd=0)clear();show0();dd=1;aa=0;bb=0; if(fy=2)send(0x19);if(aa=0)clear();if(time4=0x09)time4=time4+7;/調(diào)時(shí)if(time4=0x19)time4=time4+7;if(time4=0x24)time4=0x00;if(time4=0x24)time4=0x00;if(time5=0x60)time5=0;/調(diào)分if(time2=0x09)time2=time2+7;/調(diào)日if(time2=0x19)time2=time2+6;if(time2=0x29)time2=0x30; if(

42、time2=0x32)time2=0x00;if(time3=0x17)time3=0x10;/調(diào)星期read_time();show1();getshow();aa=1;dd=0;if(fy=3)send(0x20);if(bb=0)clear();if(km=60)km=0;if(kf=60)kf=0;if(ks=24)ks=0;if(gm=60)gm=0;if(gf=60)gf=0;if(gs=24)gs=0;if(kg=0)show4();/開if(kg=1)show5();/關(guān)show2();bb=1;aa=0;qq=0;if(fy=4)if(qq=0)clear();show3()

43、;if(ms=0)show6();/亮度自控if(ms=1)show7();/自動(dòng)分控if(ms=2)show8();/手動(dòng)控制if(ms=3)show9();/自動(dòng)群控if(ms=4)show16();/交通自控if(ms=5)ms=0;qq=1;bb=0;xz=0;if(fy=5)if(xz=0)clear();show10();/燈的選擇if(dk=0)show11();/甲燈if(dk=1)show12();/乙燈if(dk=2)show13();/甲乙if(dk=3)dk=0;xz=1;qq=0;/*發(fā)送*/if(ms=1)/send(0x01);/qq=0;/if(ms=2)/send(0x02);/*自動(dòng)分控 控制甲燈*/if(ms=1&&dk=0)while(r-)if(hour/16=ks/10&&hour%16=ks%10&&minute/16=kf/10&&minute%16=kf%10&&second/16=km/10&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論