




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于STC芯片的模擬路燈控制系統(tǒng)摘要:本文介紹了一個模擬路燈控制系統(tǒng)的解決方案。本方案以宏晶公司的MCU芯片STC12C5410AD為核心,加以簡單的外圍電路,實現(xiàn)了模擬路燈控制系統(tǒng)所要求的全部技術(shù)內(nèi)容。STC單片機(jī)在最近幾年應(yīng)用越來越廣泛,其可靠性、抗干擾能力和溫度穩(wěn)定性強,性價比高。這是一個低成本的路燈控制解決方案,除了選用廉價的單片機(jī)芯片,還采用了廉價的紅外對射傳感器,大大降低了系統(tǒng)成本。整個系統(tǒng)的電路簡單,結(jié)構(gòu)緊湊,經(jīng)過多次測試,證實該系統(tǒng)能長時間穩(wěn)定工作,滿足設(shè)計指標(biāo)要求。關(guān)鍵詞:模擬控制、LED照明、單片機(jī)AbstractThis paper presents a simulati
2、on of the control system of street solution. 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 system all of the requested technology content. STC SCM in recent years more and more wide applicatio
3、n, the reliability and anti-interference ability and temperature stability strong, cost-effective. This is a low cost control solutions, in addition to street choose cheap single-chip microcomputer chip, also adopted the cheap infrared DuiShe sensor, and greatly reduce the cost of system. The whole
4、system of the circuit is simple, compact structure. After DuoCi test, and confirm that the system can work stably for a long time, meet the design requirement index.Keywords: simulation control, LED lighting and single-chip microcomputer目 錄基于STC芯片的模擬路燈控制系統(tǒng)11. 系統(tǒng)設(shè)計31.1 設(shè)計要求31.2 總體設(shè)計方案41.2.1 功能分解及設(shè)計思路
5、41.2.2 方案論證與比較41.2.3 系統(tǒng)各模塊的最終方案71.3 系統(tǒng)功能說明書(用戶使用說明書)71.3.1 路燈的工作模式71.3.2 按鍵操作說明82. 單元電路設(shè)計92.1 每部分模塊的電路設(shè)計92.1.1 電源供電電路92.1.2 單片機(jī)最小系統(tǒng)92.1.3 輸入與輸出92.1.4 電流源驅(qū)動及電流檢測102.1.5 光電檢測電路113. 軟件設(shè)計123.1 -子程序123.2 -系統(tǒng)主程序流程圖133.2.1 系統(tǒng)流程圖13定時器溢出中斷處理函數(shù)流程圖14按鍵掃描流程圖154. 系統(tǒng)測試164.1 測試儀器164.2 指標(biāo)測試16各部分測試的指標(biāo)164.2.2 系統(tǒng)實現(xiàn)的功能
6、165. 結(jié)論19附錄21附錄 1 程序代碼21附錄 2 硬件原理圖63附錄 3 PCB圖(部分)651. 系統(tǒng)設(shè)計1.1 設(shè)計要求一、任務(wù)(來自原題)設(shè)計并制作一套模擬路燈控制系統(tǒng)。控制系統(tǒng)結(jié)構(gòu)如圖1所示,路燈布置如圖2所示。圖1 路燈控制系統(tǒng)示意圖圖2 路燈布置示意圖(單位:cm)二、設(shè)計要求1基本要求(1)支路控制器有時鐘功能,能設(shè)定、顯示開關(guān)燈時間,并控制整條支路按時開燈和關(guān)燈。(2)支路控制器應(yīng)能根據(jù)環(huán)境明暗變化,自動開燈和關(guān)燈。(3)支路控制器應(yīng)能根據(jù)交通情況自動調(diào)節(jié)亮燈狀態(tài):當(dāng)可移動物體M(在物體前端標(biāo)出定位點,由定位點確定物體位置)由左至右到達(dá)S點時(見圖2),燈1亮;當(dāng)物體M
7、到達(dá)B點時,燈1滅,燈2亮;若物體M由右至左移動時,則亮燈次序與上相反。(4)支路控制器能分別獨立控制每只路燈的開燈和關(guān)燈時間。(5)當(dāng)路燈出現(xiàn)故障時(燈不亮),支路控制器應(yīng)發(fā)出聲光報警信號,并顯示有故障路燈的地址編號。2發(fā)揮部分(1)自制單元控制器中的LED燈恒流驅(qū)動電源。(2)單元控制器具有調(diào)光功能,路燈驅(qū)動電源輸出功率能在規(guī)定時間按設(shè)定要求自動減小,該功率應(yīng)能在20%100%范圍內(nèi)設(shè)定并調(diào)節(jié),調(diào)節(jié)誤差2%。(3)性價比高,工作穩(wěn)定,符合電磁兼容(EMC)方面的要求,無對外干擾或干擾小。1.2 總體設(shè)計方案 功能分解及設(shè)計思路本模擬路燈控制系統(tǒng)的設(shè)計方案要實現(xiàn)的主要功能主要分解為以下五個方
8、面:一是時鐘功能及定時開關(guān)燈。二是根據(jù)環(huán)境明暗變化,自動開燈和關(guān)燈。三是根據(jù)交通情況自動調(diào)節(jié)亮燈狀態(tài):當(dāng)汽車靠近路燈時,路燈能自動點亮;當(dāng)汽車遠(yuǎn)離時,路燈自動熄滅。四聲光報警功能,當(dāng)路燈出現(xiàn)故障時而不亮?xí)r,控制器發(fā)出信號,并顯示有故障路燈的地址編號。五是根據(jù)綠色節(jié)能照明要求,采用恒流源驅(qū)動LED路燈發(fā)亮且能調(diào)光,路燈驅(qū)動電源輸出功率能在20%100%范圍內(nèi)設(shè)定并調(diào)節(jié),調(diào)節(jié)誤差2%。以上功能的實現(xiàn),都是以單片機(jī)為核心,在單片機(jī)系統(tǒng)實現(xiàn)的輸入輸出和顯示功能的基礎(chǔ)上,由單片機(jī)的內(nèi)置邏輯和運算功能,加上一定的外圍電路得以實現(xiàn)。針對以上的五個功能,采用模塊化的設(shè)計思想,以下分別敘述之。 方案論證與比較.
9、1 時鐘功能及定時開關(guān)機(jī)。方案一:采用專用時鐘芯片。 現(xiàn)在流行的串行時鐘電路很多,如DS1302、 DS1307、PCF8485等。其優(yōu)勢是可以單獨使用,直接連接到單片機(jī)外圍,有自己獨立的時鐘晶振,精度較高。單片機(jī)通過串行接口讀取和寫入當(dāng)前的時鐘值,時鐘芯片的運行受單片機(jī)死機(jī)的影響少。其缺點一是消耗了單片機(jī)IO口資源。二是在編程時需要增加讀寫串行口的內(nèi)容,消耗了單片機(jī)的運行時間。三是增加了成本。增加了時鐘芯片及其外圍電路的開支。DS1302的典型應(yīng)用電路如圖3所示:圖3 DS1302的典型應(yīng)用電路方案二:采用單片機(jī)內(nèi)置時鐘振蕩電路及定時器構(gòu)建時間平臺。本方案直接利用單片機(jī)的內(nèi)置定時器,通過定時
10、器的中斷和簡單運算實現(xiàn)時鐘功能。例如: STC單片機(jī),在4M時鐘時,單個指令的運行時間是1微秒,設(shè)置定時器1每125個指令周期產(chǎn)生一個中斷,即125微秒,8個中斷后,時間平臺是1毫秒,設(shè)置以下時間計數(shù)變量分別為:uchar To1mS = 0x00; /當(dāng)該變量增加到某個數(shù)值時,表示經(jīng)過了1毫秒uchar To2mS = 0x00; /當(dāng)該變量增加到某個數(shù)值時,表示經(jīng)過了2毫秒uchar Is2mS = 0; /到達(dá)2毫秒時刻uchar To20mS = 0x00; /當(dāng)該變量增加到某個數(shù)值時,表示經(jīng)過了20毫秒uchar Is20mS = 0; /到達(dá)20毫秒時刻uchar To1S = 0
11、x00; /當(dāng)該變量增加到某個數(shù)值時,表示經(jīng)過了1秒uchar Is1S = 0; /到達(dá)1秒時刻在秒時間平臺,用ToMIN變量,計數(shù)60秒后進(jìn)入分鐘平臺,計數(shù)60分鐘后,進(jìn)入小時平臺。方案二沒有增加外置電路,充分利用了單片機(jī)的定時器功能,實施簡潔方便,主要的缺點是當(dāng)控制系統(tǒng)斷電或死機(jī)以后,需要人工重新定時。本系統(tǒng)的時鐘功能實現(xiàn)采用方案二。.2 根據(jù)環(huán)境明暗變化,自動開燈和關(guān)燈功能。方案一:采用比較器的解決方案。光敏電阻與固定電阻串聯(lián),加一級電壓跟隨器后輸入比較器,與比較器負(fù)輸入端的電壓值進(jìn)行比較,得到一個高電平或低電平輸出,進(jìn)入單片機(jī)的IO口。優(yōu)點是電路比較直觀,操作比較方便,可直接通過電位
12、器調(diào)節(jié)路燈的開啟亮度。對維護(hù)人員的要求不高。缺點是不方便進(jìn)行數(shù)碼控制。方案二:采用AD變換。光敏電阻與固定電阻串聯(lián),由單片機(jī)內(nèi)置的AD變換接口讀入當(dāng)前的電壓值,然后根據(jù)讀取的電壓值判斷當(dāng)前的環(huán)境亮度。路燈的開啟電平由內(nèi)部的變量控制。方案二的優(yōu)點在于可以方便以實現(xiàn)對路燈開啟電平的數(shù)碼控制和遠(yuǎn)程控制。本系統(tǒng)采用方案二。.3 根據(jù)交通情況自動調(diào)節(jié)亮燈狀態(tài)。當(dāng)汽車靠近路燈時,路燈能自動點亮;當(dāng)汽車遠(yuǎn)離時,路燈自動熄滅。方案一:采用工業(yè)級的光電傳感器。這種光電傳感器普遍運用于電梯、生產(chǎn)線等工業(yè)場所。優(yōu)點是使用方便,型號很多,輸出量是開關(guān)量,不需調(diào)理電路。缺點是價格較貴。方案二:采用廉價的紅外對射傳感器。
13、紅外對射的特點是傳輸距離較遠(yuǎn),能量集中。當(dāng)沒有物體遮擋時,紅外光直射到紅外探頭上,紅外接收管連續(xù)輸出低電平到單片機(jī),當(dāng)有物體經(jīng)過時,紅外光被遮住,此時紅外探頭輸出高電平到單片機(jī)。由于紅外光的發(fā)射有一定的偏角,本設(shè)計利用了黑色套管遮擋紅外發(fā)射燈頭,以減少紅外光的散失。本系統(tǒng)采用方案二。.4 故障報警功能采用光敏電阻檢測路燈的亮度,同時排除環(huán)境光的干擾。利用單片機(jī)的AD口,讀入光敏電阻上檢測到的路燈亮度值。.5 恒流源驅(qū)動LED及20到100范圍內(nèi)可調(diào)亮度。方案一:采用恒流源驅(qū)動芯片,目前市場上成品的恒流源驅(qū)動芯片比較多,一般采用使用取樣電阻調(diào)節(jié)輸出電流的方式。這些芯片使用方便,性能較好,但價格較
14、貴。方案二:采用PWM方式驅(qū)動功率三極管輸出驅(qū)動電流,用電流取樣電阻串入LED供電回路,用AD口讀取當(dāng)前的電流值,實現(xiàn)閉環(huán)控制。方案二利用了單片機(jī)的AD變換資源,同時采用PWM方式,可以使LED工作在斷斷續(xù)續(xù)的狀態(tài),可以延長LED的使用壽命。本系統(tǒng)采用方案二。 系統(tǒng)各模塊的最終方案 1.3 系統(tǒng)功能說明書(用戶使用說明書) 路燈的工作模式本模擬路燈控制系統(tǒng)具備5種工作模式,分別是自動群控模式、自動分控模式、根據(jù)照度自動控制模式、根據(jù)交通情況自動控制模式、手動控制模式,下面對每種工作模式簡單介紹如下:(1) 自動群控模式在該模式下,支路控制器根據(jù)設(shè)定好的定時信息,自動地同時打開或者關(guān)閉兩盞路燈。
15、系統(tǒng)啟動后默認(rèn)進(jìn)入該模式。(2) 自動分控模式在該模式下,支路控制器根據(jù)設(shè)定好的定時信息,分別控制兩盞路燈的開關(guān),例如,當(dāng)系統(tǒng)的時間和路燈1開燈的時間相等時,開啟路燈1;當(dāng)系統(tǒng)的時間和路燈2關(guān)燈的時間相等時開啟路燈2。(3) 根據(jù)照度自動控制模式在該模式下,當(dāng)環(huán)境照度低于一定的值時開啟兩盞路燈,當(dāng)環(huán)境照度高于一定的值時關(guān)閉兩盞路燈。(4) 根據(jù)交通情況自動控制模式在該模式下,當(dāng)可移動物體M由左到右到達(dá)S點時(見圖××),燈1亮;當(dāng)物體M到達(dá)B點時,燈1滅,燈2亮;若物體M由右到左移動時,則亮燈的次序與上相反。(5) 手動控制模式在手動模式時,兩盞路燈只能由支路控制器用增加和
16、減少鍵手動的調(diào)整亮度,路燈的亮度可以在0100自由的上下調(diào)整,步進(jìn)為10。(1)(4)等四種工作模式是互斥的,即在某一時刻只能具有其中的一種功能,不過各種模式可以手動的切換,手動調(diào)整路燈亮度的功能在這四種模式中都是有效的。另外,該路燈控制系統(tǒng)還具備故障檢測功能,當(dāng)路燈出現(xiàn)無法正常工作的狀況時,該控制系統(tǒng)能夠判定是哪一環(huán)節(jié)出現(xiàn)問題,并將故障通過聲音警報及數(shù)碼管顯示告知用戶。 按鍵操作說明n 支路控制器具備5個按鍵,分別為時間調(diào)整鍵、模式選擇鍵、增加鍵、減少鍵、確認(rèn)鍵。n 時間調(diào)整鍵:按時間調(diào)整鍵時,可以循環(huán)地選擇系統(tǒng)時間、路燈1和2共同的開關(guān)燈時間、路燈1的開關(guān)燈時間和路燈2的開關(guān)燈時間。n 模
17、式選擇鍵:按模式選擇鍵可以進(jìn)行系統(tǒng)工作模式的切換,順序為自動群控模式à自動分控模式à根據(jù)照度自動控制模式à根據(jù)交通情況自動控制模式à手動控制模式。nn 增加、減少鍵:按這兩個鍵可以對時間或者亮度進(jìn)行增減,長按時時間或者亮度可以連續(xù)變換。l 確認(rèn)鍵:確認(rèn)鍵只在時間調(diào)整時有效,分別確認(rèn)小時、分鐘、秒的輸入。2. 單元電路設(shè)計2.1 每部分模塊的電路設(shè)計 電源供電電路采用變壓器與三端穩(wěn)壓器相結(jié)合 單片機(jī)最小系統(tǒng)其核心芯片是STC12C5404AD。 輸入與輸出鍵盤:采用AD變換輸入口為鍵盤輸入口,節(jié)省了IO口資源。LED顯示: 電流源驅(qū)動3. 軟件設(shè)計軟件采用
18、C語言編寫,可移植性和可讀性強。軟件編寫體現(xiàn)了模塊化的任務(wù)驅(qū)動方式。代碼盡量符合變量定義規(guī)范。3.1 -子程序本系統(tǒng)包含以下子程序/鍵盤處理-void KeyboardScan(void);/鍵盤掃描函數(shù)void KeyboardOperate(uchar KeyNum);/按鍵處理函數(shù)/定時器處理-void InitTimer(void);/定時器參數(shù)設(shè)定及啟動/路燈控制-void BrightnessSet(uchar LightNum, uchar Brightness);/亮度調(diào)整/AD采樣-void ADExchange(uchar Num);/AD采樣/* 亮度調(diào)整函數(shù) */voi
19、d BrightnessSet(uchar LightNum, uchar Brightness);/* 溢出中斷處理程序 */ void interrupt 6 TimerInterrupt(void);3.2 -系統(tǒng)主程序流程圖 系統(tǒng)流程圖定時器溢出中斷處理函數(shù)流程圖按鍵掃描流程圖4. 系統(tǒng)測試4.1 測試儀器流明計數(shù)字示波器功率計萬用表直流電源等4.2 指標(biāo)測試4.2.1 各部分測試的指標(biāo)功率測試設(shè)置功率/W路燈兩端電壓/V路燈電流/A實際功率/W誤差/%0.25.580.0360.2010.40.35.710.0530.3030.90.45.810.0680.3951.20.55.91
20、0.0840.4960.70.66.020.1010.6081.30.76.060.1150.6970.40.86.090.1320.8040.50.96.120.1470.9000.016.170.1631.0060.6功能測試序號指標(biāo)(目標(biāo)值)實測值1故障指示(編號)LCD上顯示正確2過中點后前燈亮后燈滅,試驗成功率(100)1003自動開關(guān)燈功能,試驗成功率1004實時誤差,采用時間加速方法(誤差小于5MIN)誤差<1MIN5單元控制器具有調(diào)光功能,路燈驅(qū)動電源輸出功率能在規(guī)定時間按設(shè)定要求自動減小,該功率應(yīng)能在20%100%范圍內(nèi)設(shè)定并調(diào)節(jié),調(diào)節(jié)誤差2%。電流從0mA至850mA
21、m變化平緩穩(wěn)定 系統(tǒng)實現(xiàn)的功能1基本要求序號功能是否實現(xiàn)1支路控制器有時鐘功能,能設(shè)定、顯示開關(guān)燈時間,并控制整條支路按時開燈和關(guān)燈。是2支路控制器應(yīng)能根據(jù)環(huán)境明暗變化,自動開燈和關(guān)燈。是3支路控制器應(yīng)能根據(jù)交通情況自動調(diào)節(jié)亮燈狀態(tài):當(dāng)可移動物體M(在物體前端標(biāo)出定位點,由定位點確定物體位置)由左至右到達(dá)S點時(見圖2),燈1亮;當(dāng)物體M到達(dá)B點時,燈1滅,燈2亮;若物體M由右至左移動時,則亮燈次序與上相反。是4支路控制器能分別獨立控制每只路燈的開燈和關(guān)燈時間。是5當(dāng)路燈出現(xiàn)故障時(燈不亮),支路控制器應(yīng)發(fā)出聲光報警信號,并顯示有故障路燈的地址編號。是2發(fā)揮部分序號功能是否實現(xiàn)1自制單元控制器
22、中的LED燈恒流驅(qū)動電源是2單元控制器具有調(diào)光功能,路燈驅(qū)動電源輸出功率能在規(guī)定時間按設(shè)定要求自動減小,該功率應(yīng)能在20%100%范圍內(nèi)設(shè)定并調(diào)節(jié),調(diào)節(jié)誤差2%。是3特色功能序號功能是否實現(xiàn)1自制微型紅外光發(fā)射與光敏電阻組合替代工業(yè)光電傳感器是2利用單片機(jī)的AD變換功能,實現(xiàn)用一個IO口讀多個按鍵是3使用單片機(jī)內(nèi)部的定時器代替時鐘芯片,實現(xiàn)時鐘功能和定時開關(guān)機(jī)功能是4采用PWM與電流取樣方式,實現(xiàn)閉環(huán)的恒流源控制是5. 結(jié)論本方案的系統(tǒng)設(shè)計符合本次試題的要求,經(jīng)過功率擴(kuò)大、電網(wǎng)通訊等方面的改良,可以用于實際路燈控制,是一個低成本,高可靠性的合理方案。參考文獻(xiàn)1 閻石. 數(shù)字電子技術(shù)基礎(chǔ)(第四版
23、). 北京: 高等教育出版社,1997年.2 鄭學(xué)堅,周斌. 微型計算機(jī)原理及應(yīng)用(第三版). 北京: 清華大學(xué)出版社,2000年.附錄附錄 1 程序代碼/* 程序主要功能:模擬路燈控制系統(tǒng) * 完成時間: * 作者: */#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
24、,0x7f,0x6f,0x3e,0x77,0x40,0x00,0x76,0x71,0x37;/10_V,A,-,熄滅,H,F_15,N,/sfr ADC_RES = 0xC6; /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_S
25、PEEDL 0x20 /280 clocks#define ADC_SPEEDH 0x40 /140 clocks#define ADC_SPEEDHH 0x60 /70 clocks/ISP/#define ENABLE_ISP 0x83 /系統(tǒng)工作時鐘<12MHz 時,對IAP_CONTR 寄存器設(shè)置此值/sbit k1=P10;/按鈕sbit k2=P11;sbit k3=P12;sbit k4=P13;sbit k5=P14;/sbit en1=P34;/373使能端 端碼sbit en2=P35;/373使能端 位碼/sbit feng=P37;/sbit pwm_out=P3
26、2;sbit led2=P33;/函數(shù)定義部分uchar d8;char shi=0,fen=0,miao=0,set_miao=0,pwm,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;uint sum2=0,shi_count=0;/void IAP_Disable();uchar Byte_Read(uchar addh,uchar addl);void Sector_Erase(uchar addh,uchar addl);void Byt
27、e_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();/延時1MS/void delay(uint i)/延時函數(shù)uint a,b;for(a=0;a<i;a+)for(b=0;b<120;b+);/void display(
28、)/顯示函數(shù)uchar i,s=0x01;for(i=0;i<8;i+)P2=disdi;en1=1;en1=0;P2=s;en2=1;en2=0;delay(7);P2=0xff;en2=1;en2=0;delay(1);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;void speak()/蜂鳴器發(fā)生函數(shù)feng=0;delay(500);feng=1;void t1() interrupt 3TH1=0xff;TL1=0
29、xb2;void t0() interrupt 1 using 1 TH0=0Xfc;TL0=0X18;if(pwm_count>=10) pwm_count=0;else pwm_count+;if(pwm_count<=pwm) pwm_out=1;else pwm_out=0; if(shijian_bit)if(shi_count<1000) shi_count+; elsemiao+;shi_count=0;if(miao>=60)miao=0;fen+; if(fen>=60)fen=0;shi+;if(shi>23)shi=0;if(light
30、_bit)sum2=get_adc(5);/電壓采集sum2=sum2*48/1000;if(sum2<5) pwm_out=1;else if(sum2<20) pwm=6;else if(sum2<35) pwm=3;else if(sum2<50) pwm=0;else pwm=5;/*if(count>=20)count=0;sum2=get_adc(0);/電壓采集sum2=sum2*48/1000;else count+;*/*key_num=get_adc(7);/電壓采集key_num=key_num*48/1000;if(key_num>=
31、0) key1=0;else key1=1;if(key_num>=20) key1=0;else key1=1;if(key_num>=30) key2=0;else key2=1;if(key_num>=35) key3=0;else key3=1;if(key_num>=38) key4=0;else key4=1;if(key_num>=40) key5=0;else key5=1;*/void set_time()/設(shè)置時間while(1)shijian_bit=0;d5=12;d6=miao/10;d7=miao%10;d0=d1=d2=d3=d4=1
32、3;display();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)dis
33、play();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 s
34、hi=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()/存儲函數(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(
35、10);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);d
36、elay(10);void set_on_off()/設(shè)置開關(guān)燈時間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_
37、shi=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
38、;if(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ù)P1M0=0x06;P1M1=0xff;P2M0=0x00;P2M1=0xff;TMOD=0x11;TH0=0Xfc;TL0=0X18;EA=1;ET0=1;TR0=1;P3M0=0x00;P3M1=0xff;InitADC();delay(10);read_jiyi();loop:if(k1=0)while(!k1)display();speak();se
39、t_time();/設(shè)置時間if(k2=0)while(!k2)display();speak();set_on_off();/設(shè)置開關(guān)燈時間if(shi>=set_on_shi)led2=0;if(shi>=set_off_shi)led2=1;chaizi();display();goto loop;/uint get_adc(uchar ch)uint adc_r;adc_r=GetADCResult(ch)*4+ADC_LOW2;return(adc_r);/uchar GetADCResult(uchar ch) ADC_CONTR = ADC_POWER | ADC_S
40、PEEDLL | ch | ADC_START; _nop_(); /Must wait before inquiry _nop_(); _nop_(); _nop_(); while (!(ADC_CONTR & ADC_FLAG);/Wait complete flag ADC_CONTR &= ADC_FLAG; /Close ADC return ADC_RES; /Return ADC result/void InitADC() P1 = P1M1 =P1M0 =0xff; /Set all P1 as Open-Drain mode ADC_RES = 0; /Cl
41、ear previous result ADC_CONTR = ADC_POWER | ADC_SPEEDLL; delay(2); /ADC power-on and delay/uchar Byte_Read(uchar addh,uchar addl) IAP_DATA = 0x00; IAP_CONTR = ENABLE_ISP; /打開IAP 功能, 設(shè)置Flash 操作等待時間 IAP_CMD = 0x01; /IAP/ISP/EEPROM 字節(jié)讀命令 IAP_ADDRH = addh; /設(shè)置目標(biāo)單元地址的高8 位地址 IAP_ADDRL = addl; /設(shè)置目標(biāo)單元地址的低8 位地址 EA = 0; IAP_TRIG = 0x46; /先送 5Ah
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度投資理財代理服務(wù)合同
- 二零二五年度吊車安全操作規(guī)程制定及執(zhí)行合同
- 二零二五年度冬季勞務(wù)掃雪環(huán)境保護(hù)協(xié)議
- 2025年度正規(guī)貨車駕駛員勞動合同及貨運業(yè)務(wù)操作規(guī)范合同
- 二零二五年度扶貧項目風(fēng)險防范與應(yīng)急處理合作協(xié)議
- 二零二五年度合同糾紛賠償調(diào)解服務(wù)協(xié)議
- 二零二五年度名人房產(chǎn)銷售代理合同范本
- 2025年度智能制造股權(quán)抵押貸款合同
- 2025年度電子商務(wù)平臺合作解除終止范本
- 二零二五年度企業(yè)勞動合同解除與離職員工就業(yè)援助服務(wù)協(xié)議
- 2024屆遼寧省沈陽市名校中考四?;瘜W(xué)試題含答案解析
- 2024年4月自考00431教學(xué)設(shè)計試題
- JTGT F20-2015 公路路面基層施工技術(shù)細(xì)則
- 7S培訓(xùn)管理教材課件(-28張)
- 產(chǎn)學(xué)研合作的模式和成效
- 新綱要云南省實驗教材第二版三年級信息技術(shù)第二冊教案-
- 公安基礎(chǔ)知識900題庫
- GB/T 15558.2-2023燃?xì)庥寐竦鼐垡蚁?PE)管道系統(tǒng)第2部分:管材
- YB-4001.1-2007鋼格柵板及配套件-第1部分:鋼格柵板(中文版)
- 慢病管理課件-高血壓、糖尿病等慢性病的護(hù)理和管理
- 267條表情猜成語【動畫版】
評論
0/150
提交評論