欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: WORD格式可編輯 單片機(jī)太陽能路燈設(shè)計(jì)及proteus仿真 [打印本頁]

作者: 51黑電子迷    時(shí)間: 2017-5-3 22:31
標(biāo)題: WORD格式可編輯 單片機(jī)太陽能路燈設(shè)計(jì)及proteus仿真

     在本文中,我們計(jì)劃了含有單片機(jī)STC12C2051和時(shí)鐘芯片DS1302的一個(gè)結(jié)合時(shí)鐘控制和光線控制的太陽能路燈控制系統(tǒng)(此句不通)。使用常見的存儲(chǔ)器AT24C02存儲(chǔ)路燈開關(guān)時(shí)間,光敏電阻來實(shí)現(xiàn)光開關(guān)。傍晚天黑時(shí)光敏電阻控制路燈開啟,行人稀少的凌晨按照預(yù)先設(shè)定的時(shí)間熄滅街燈,早上行人增加時(shí)按照預(yù)先設(shè)定的時(shí)間點(diǎn)亮街燈,早上根據(jù)照明水平日出自動(dòng)切斷電路的。本文描述了整個(gè)系統(tǒng)的的工作原理和大部分電路,描述了單片機(jī)的優(yōu)化設(shè)計(jì)和研究。

太陽能路燈的部分構(gòu)成如下:光能電池、鉛酸免維護(hù)電池、超亮LED, LED路燈系統(tǒng)等。太陽能是一種取之不盡、用之不竭的能源,是人類最有發(fā)展前途的能源。當(dāng)今世界能源短缺,環(huán)境污染日益嚴(yán)重。盡可能多地發(fā)展太陽能技術(shù)已成為世界各國政府在可持續(xù)發(fā)展的主要方法。與白熾燈等照明方法相比,超高亮度LED燈體積小,重量輕,可靠性高,方向性好,并在各種惡劣的環(huán)境下工作穩(wěn)定等優(yōu)點(diǎn)。而且除了太陽能LED燈超節(jié)能外還有安裝方便等優(yōu)點(diǎn)。



第一章 緒論            

1.1研究背景

1.2國內(nèi)外研究現(xiàn)狀和發(fā)展趨勢

1.3本文的主要研究內(nèi)容

第二章 方案論證              2

2.1 設(shè)計(jì)要求              2

2.2 方案選擇              2

第三章 系統(tǒng)總體框圖              3

第四章 系統(tǒng)硬件設(shè)計(jì)              4

4.1 電源電路              4

4.2 太陽能電池板組件              4

4.3 蓄電池              5

4.4 照明負(fù)載              6

4.5 蓄電池和太陽能板的選用              7

4.6 顯示電路              8

4.7 過充、過放控制電路              9

4.8 DS1302的結(jié)構(gòu)及工作原理              10

4.9 存儲(chǔ)器AT24C02簡介1

第五章 系統(tǒng)軟件設(shè)計(jì)及仿真3

5.1 系統(tǒng)軟件設(shè)計(jì)              13

5.2 系統(tǒng)的仿真              16

結(jié)束語及致謝              21

參考文獻(xiàn)2

附錄3




第一章 緒論
1.1研究背景

太陽能路燈,因?yàn)槠湎冗M(jìn)的技術(shù),穩(wěn)定的控制,成熟的節(jié)能效果,突出景觀技術(shù),被眾人作為一種投資回報(bào)周期短,易于維護(hù)特征的推廣。隨著快速發(fā)展規(guī)模的太陽能街燈的擴(kuò)大和大量應(yīng)用,各種實(shí)際項(xiàng)目和施工質(zhì)量差別很大。因此,我們應(yīng)分析原因,不斷總結(jié)經(jīng)驗(yàn),繼續(xù)規(guī)范市場秩序,讓LED路燈市場穩(wěn)步發(fā)展。太陽能作為一種綠色能源是非常有價(jià)值的。每日的地球表面受到的的陽光照射能量約等于 250000000 桶石油。

太陽能 LED 燈具的使用應(yīng)該引起全世界的注意,太陽能 LED 燈有重要的現(xiàn)實(shí)意義,特別是依靠火力發(fā)電或水力發(fā)電的其他偏遠(yuǎn)地區(qū),因火力發(fā)電和水力發(fā)電無法連入國家大電網(wǎng)而造成自身的浪費(fèi),這些地區(qū)應(yīng)加大開發(fā)太陽能電力的力度。這是利國利民可持續(xù)發(fā)展的好事。

1.2國內(nèi)外研究現(xiàn)狀和發(fā)展趨勢

如今能源日益緊張,太陽能照明已迅速發(fā)展。在太陽能照明體系的成長中,人們不間斷的的對(duì)照明系統(tǒng)經(jīng)常使用的控制方法進(jìn)行剖析,設(shè)計(jì)出了許多方便可行的控制方式,蓄電池充電效率不斷進(jìn)步,有效利用方面和充電時(shí)間是越來越理想。協(xié)調(diào)發(fā)展的太陽能組件、 太陽能照明技術(shù)使其越來越有價(jià)值。太陽能照明的電能,是真正的綠色照明,政府方面,自動(dòng)省心還不用付電費(fèi),百姓方面,太陽能燈可免費(fèi)提供能源和每晚的照明。道路照明在城市街道中占大部分。作為一種新能源和工業(yè)技術(shù)、一種新的成熟技術(shù),與其他行業(yè)相比,有優(yōu)勢但仍有不完善的地方如發(fā)展時(shí)間短,技術(shù)不成熟。特別是性能、價(jià)格、安全、標(biāo)準(zhǔn)、售后、耐用等。

目前,太陽能路燈在城市路燈路燈中仍然沒有得到廣泛使用,但體積小、 可靠性強(qiáng)、 維修簡便、 良好的指向性,相信未來的發(fā)展前景將是非常理想的,很值得被推廣應(yīng)用在城市路燈照明系統(tǒng)。


1.3本文的主要研究內(nèi)容

    本文主要研究太陽能路燈控制系統(tǒng)的應(yīng)用。太陽能控制器即太陽能充電放電控制器。控制太陽電池陣電源自動(dòng)控制設(shè)備的負(fù)載和電池充電。自動(dòng)防止蓄電池過充電和過放電。它對(duì)蓄電池的充、放電條件加以規(guī)定和控制,并根據(jù)太陽能電池模塊的負(fù)荷控制電池向負(fù)載輸出功率的電力需求,是整個(gè)系統(tǒng)的核心控制部分[1]。

太陽能路燈太陽能控制器是它的最重要組成部分。太陽能控制系統(tǒng)的作用是避免過充電和過放電, 使電池充電和放電條件通過設(shè)置以便電池不會(huì)深度充電和放電。當(dāng)存在較大的溫差,太陽能控制器將彌補(bǔ)電池溫度。能量控制器完成過充電保護(hù),過放電保護(hù),設(shè)計(jì),燈光控制,時(shí)間控制,甚至反接保護(hù)功能。如果注重成本控制,可以實(shí)現(xiàn)其高性價(jià)比。

控制系統(tǒng)在照明系統(tǒng)中有核心充電、過充電和過放電保護(hù)、進(jìn)行系統(tǒng)控制、時(shí)間控制和逆變器的功能。

第二章 方案論證
2.1 設(shè)計(jì)要求

(1)電池板功率的計(jì)算和選用;(要求功率多大?)

(2)蓄電池電池容量,充電和放電控制和狀態(tài)顯示;

(3)連續(xù)陰雨天三天路燈仍能照明;

(4)光線暗時(shí)路燈自動(dòng)點(diǎn)亮;

(5)晚上24點(diǎn)熄滅;

(6)早上5點(diǎn)路燈點(diǎn)亮;

(7)早上光線強(qiáng)時(shí)路燈自動(dòng)熄滅;

(8)系統(tǒng)斷電時(shí)后下次使用依然有數(shù)據(jù)存在。
2.2 方案選擇(寫清楚方案,功率如何滿足等,要寫出結(jié)算過程)

太陽能 LED 燈和其他路燈光一樣,必須在早上熄燈在晚上亮光。并且24小時(shí)管理蓄電池電量。今天的世界上通用的控制器: 時(shí)鐘類型、 經(jīng)緯類型等,但因?yàn)椴煌墓こ蹋總(gè)都有優(yōu)點(diǎn)和缺點(diǎn)。  

光敏感探頭的時(shí)候會(huì)在光線微弱的晚上自動(dòng)打開;早晨的光線變強(qiáng)時(shí),自動(dòng)斷電。為節(jié)約用電,原來的光控開關(guān),是半導(dǎo)體分立器件,電路復(fù)雜,組件多,體積大,失敗率高。隨著現(xiàn)代技術(shù)的不斷發(fā)展,出現(xiàn)了以NE555為代表的時(shí)基集成電路,光控開關(guān)電路開始大幅度地簡化高效。光開關(guān)特性的感光部件中探頭的安裝位置是關(guān)鍵,也是需要技巧避免光的干涉,但在實(shí)際使用中,很難判斷。產(chǎn)生誤動(dòng)作是經(jīng)常發(fā)生也是不可避免的。

采用時(shí)鐘控制器的路燈控制器,可以提前選好開關(guān)燈的時(shí)間。路燈將根據(jù)設(shè)定的時(shí)間定時(shí)亮燈、熄燈。也就實(shí)現(xiàn)了自動(dòng)控制的效果。優(yōu)點(diǎn):因?yàn)槭翘崆霸O(shè)定的開關(guān)時(shí)間控制路燈,這樣就不會(huì)收到外界較大干擾,只要本身沒故障就不會(huì)有誤動(dòng)作的現(xiàn)象。缺點(diǎn):因?yàn)槿粘鋈章涞臅r(shí)間每天都不同。無法根據(jù)日期變化和陰雨天氣自動(dòng)更改開關(guān)時(shí)間,如果找專人定期更改每天開關(guān)時(shí)間,就無法達(dá)到自動(dòng)控制的效果了。定時(shí)開關(guān)有機(jī)械鐘和電子鐘兩種,石英鐘的機(jī)械手表,走時(shí)準(zhǔn)確,但由于在核心溫度高的塑料齒輪會(huì)變形,會(huì)造成關(guān)機(jī)現(xiàn)象。以LR6818、LM8650為代表的電子鐘的定時(shí)開關(guān)的代表也開始廣泛地使用。近年來,現(xiàn)有的電子時(shí)鐘 LED 液晶顯示器具有體積小、 外圍元件少等優(yōu)點(diǎn),可以設(shè)置 6 組開關(guān),許多制造商對(duì)于大批量生產(chǎn)的產(chǎn)品,現(xiàn)在主要用于路燈控制系統(tǒng)。

利用計(jì)算機(jī)技術(shù),在陽光下的仿真技術(shù),經(jīng)緯控制器自動(dòng)的夜燈,早上可以自動(dòng)關(guān)燈。它的優(yōu)點(diǎn)是時(shí)間敏感的開關(guān)、 光學(xué)開關(guān)不容易受到干涉,控制時(shí)間準(zhǔn)確。 能克服計(jì)時(shí)器無法自動(dòng)切換開關(guān)時(shí)間的弱點(diǎn)。目前,路燈控制系統(tǒng)經(jīng)常使用這種控制方法,但價(jià)格較高,街道照明會(huì)增加不必要的成本[2]。

關(guān)于這一主題的路燈智能控制一直有研究者,但還不是一個(gè)成熟的產(chǎn)品。本文會(huì)結(jié)合上面幾種方法的優(yōu)點(diǎn),減少缺點(diǎn)。節(jié)約能源,從成本和環(huán)境保護(hù)等方面的設(shè)計(jì),使定時(shí)控制和光電控制相結(jié)合,以實(shí)現(xiàn)智能設(shè)計(jì)的太陽能燈。

第三章 系統(tǒng)總體框圖

總體電路部分組成如下:太陽能電池板、防止過充過放電路、51單片機(jī)、蓄電池、時(shí)間控制電路、光控光敏電路、照明負(fù)載LED燈與時(shí)間顯示電路[3]。系統(tǒng)總體方框圖如圖3.1所示。

太陽能發(fā)電的單片機(jī)電池電壓低時(shí),電池的使用壽命將會(huì)減少,所以要防止電池過充和過放,以上的充電和放電控制電路必須有。要介紹該工作原理第四章 系統(tǒng)硬件設(shè)計(jì)4.1 電源電路

電源電路如圖4.1所示。太陽能發(fā)電系統(tǒng),電池電壓24V電壓5V輸出電壓,作為主電源控制器。電容器C2,C3作為高頻旁路電容器。電容器C1,C4是濾波電容器。為什么這么設(shè)計(jì)

圖4.1  電源電路

4.2 太陽能電池板組件

  太陽能發(fā)電分為熱能發(fā)電和光能發(fā)電兩種。

(1) 太陽能熱發(fā)電:太陽輻射的第一吸收的熱能轉(zhuǎn)換成電能,有兩個(gè)類別:一種是直接轉(zhuǎn)換為熱能發(fā)電作為太陽能熱發(fā)電的代表,但功率很小[4]。有的還處于原理實(shí)驗(yàn)階段;其他的是太陽能熱發(fā)電,太陽能發(fā)電機(jī)由發(fā)動(dòng)機(jī)驅(qū)動(dòng),其基本結(jié)構(gòu)包括集熱器,儲(chǔ)能系統(tǒng),發(fā)動(dòng)機(jī)和發(fā)電機(jī)。一些國家正在研制的大電網(wǎng)設(shè)備,已達(dá)到實(shí)際應(yīng)用的水平。因?yàn)樘柲軣岚l(fā)電技術(shù)的復(fù)雜性,業(yè)務(wù)應(yīng)用程序僅適用于大容量,所以其發(fā)展緩慢、 不是很多的應(yīng)用程序。   

(2) 太陽能光發(fā)電:不發(fā)熱,光是太陽光轉(zhuǎn)化為電能,太陽能,風(fēng)力發(fā)電機(jī),光化學(xué)和光生物發(fā)電發(fā)電四類。目前廣泛用于周圍世界光伏、 光照到該單元格,利用光伏效應(yīng)直接可以產(chǎn)生直流電,太陽能電池的一部分,蓄電池,控制器,逆變器和模擬的其他部分。目前世界上廣泛使用太陽能電池的應(yīng)用,從而生產(chǎn)成本開始放緩。目前情況下。光伏發(fā)電在世界主要用于三個(gè)方面:為無電場合提供電源;太陽能日用電子產(chǎn)品。

太陽能電池的基本特性:電壓特性具有較強(qiáng)的非線性。S=l050W/m2;太陽能電池溫度T=24℃;大氣質(zhì)量AM=1.52。在這種條件下的最大輸出功率就是太陽能電池陣列的額定功率[5]。其額定輸出功率單位是“峰瓦”,簡記為“Wp”。

在365天太陽電池組件接受太陽輻射能量,選擇最佳角度是很重要的。

通過計(jì)算模型可以計(jì)算太陽輻射在不同的角度要從中選擇最合適的角度斜平面作為最后一種選擇的平均輻射劑量的月度變化。
    太陽能電池板分為多晶硅和單晶硅,多晶硅區(qū)域,發(fā)電比單晶效率高,所以使用 70 W 將單個(gè)晶體硅太陽能電池組件符合設(shè)計(jì)要求[6]。

4.3 蓄電池

蓄電池是將太陽能電池的能量轉(zhuǎn)化存儲(chǔ)到自身的裝置,其作用是儲(chǔ)存陽光發(fā)出的多余的電力負(fù)荷矩陣,用于在夜間。總的要求是沒有陽光的日子里仍然滿足用戶要求的電源性能指標(biāo)。最常用的鉛酸電池經(jīng)常用在重要的場合,也可用于鎘鎳電池,但價(jià)格較高,相對(duì)沒有廣泛應(yīng)用。

電池可以把直流電動(dòng)能量轉(zhuǎn)化為化學(xué)能,化學(xué)材料將其及時(shí)和有效地存儲(chǔ)。光電轉(zhuǎn)換系統(tǒng)有電池蓄電和調(diào)理作用。每個(gè)光伏系統(tǒng)將是不同的,沒有陽光發(fā)電,電池可以提供穩(wěn)定的電。

光伏發(fā)電系統(tǒng),電池正在放電周期浮動(dòng)狀態(tài), 夏天, 太陽能電池板充電電池;冬天陽光不足,儲(chǔ)存的電能開始慢慢輸出。日循環(huán)的次數(shù)比季節(jié)性循環(huán)要多得多:白天時(shí)儲(chǔ)存的能量轉(zhuǎn)換為電池電量,晚上,充的電開始緩慢輸出。因此電池泄漏少,充放電效率盡可能高,最后,考慮的因素,如價(jià)格性能。

蓄電池的壽命的影響因素有制造質(zhì)量的結(jié)構(gòu)和工藝。還有一些是使用過程和維護(hù)工作。首先,徹底的影響電池放電深度的循環(huán)壽命,電池深度放電,往往會(huì)縮短生命周期。其次,電池的標(biāo)稱容量通常用于高電流充電放電,影響電池壽命。大電流充電,活性物質(zhì),特別是板不易脫落,短路正負(fù)極板嚴(yán)重;大電流放電,產(chǎn)生大的硫酸鹽顆粒,板活性物質(zhì)不能充分利用長電池的實(shí)際容量會(huì)逐漸減少,這樣生活也會(huì)受到影響[7]。

這個(gè)電路使用免維護(hù)鉛酸電池,不用特別的維修 ;即使傾倒也不溢出電解質(zhì)的氫和空氣的霧,更好的安全性能。但是充電電池是更敏感,所以過充電保護(hù)的要求;當(dāng)長時(shí)間反復(fù)充電后,電池板變形。

4.4 照明負(fù)載

LED被加上電壓后在內(nèi)部會(huì)產(chǎn)生躍遷光輻射。不同類型的半導(dǎo)體材料,光的波長產(chǎn)生自然不同。發(fā)光二極管的基本構(gòu)成是 P N 交界處,少數(shù)載體將積極當(dāng)前 P N 交界,復(fù)合載體是光的發(fā)射發(fā)光二極管的一個(gè)基本原則。P N 半導(dǎo)體結(jié)燈發(fā)光固態(tài)照明材料和電子轉(zhuǎn)型固體結(jié)果中不同國家的各種固體發(fā)光。半導(dǎo)體材料的工作原理決定了不連續(xù)的白光LED,但使用其他的合成方法。氮化銦鎵結(jié)合熒光材料發(fā)射藍(lán)光變成了白光LED ,藍(lán)光,熒光材料發(fā)出黃光時(shí)的激勵(lì),合成為藍(lán)色,黃色和白色。

超亮白光LED用太陽能照明,單梁式超高亮度LED燈管方向太強(qiáng)了,有不好的綜合視覺效果,所以應(yīng)該首選平面型超級(jí)明亮的單位類型和超級(jí)明亮的LED照明燈類型結(jié)合使用,集中了一批LED , LED光源布置有超高亮白光的某些規(guī)則的LED光源,以確保光效的發(fā)光強(qiáng)度是必要的,但也有了更高的,但是電流的增大,流量雖然增加了,但另一方面,目前的增加將導(dǎo)致增加熱損失的來源,通常會(huì)導(dǎo)致溫度升高,結(jié)合效果是減少的光,光通量和相交的最佳工作發(fā)光效率的影響,通常17.5ma。   

超亮白光LED光源具有以下優(yōu)點(diǎn):

(1)壽命長。LED 的壽命至少 100000 小時(shí)、 白熾燈燈具的一般是 2000 小時(shí),熒光燈通常約 5000 小時(shí)。

   (2)效率高。LED耗電只有白熾燈的10%至20%。   

(3)綠色環(huán)保。日光燈不含汞,無頻閃,環(huán)境友好。

    (4)耐低溫。LED 的溫度可在零下 40 ℃ ~ 80 ℃ 的溫度中工作,范圍是非常廣泛。

這個(gè)電路的電壓是關(guān)鍵特征點(diǎn),一個(gè)充電和放電的電池更好的設(shè)計(jì),和充電狀態(tài)指示電路,發(fā)光二極管智能控制器已成為一種實(shí)用的功能,功能,防止電池過放電,充電。在太陽輻射不足的一個(gè)月,因?yàn)殡妷旱停姵氐某潆姷碾姵貭顟B(tài)的低排放,所以負(fù)載電流很小,功率小、 系統(tǒng)可以工作有較長的時(shí)間。每月的太陽輻射是不夠的,因?yàn)殡姵仉妷旱碾姵爻潆姞顟B(tài)為低,低排放,因此負(fù)載電流小,小系統(tǒng)可較長時(shí)間工作。

太陽能LED路燈, LED光源的數(shù)量范圍是從1到幾千的一批LED光源組成,排列組合是非常重要的一點(diǎn)。不同的排列組合的整體亮度的影響。

    這種設(shè)計(jì)使用,超級(jí)光亮管正常工作電壓為 3.3 V,即 28 個(gè)1 W 超高亮管,四組每七個(gè)超亮MOSFET為一組,即使在電路中,這也減少了影響,超亮管其他明管的電路故障,由于超亮管井的直接影響,所以的燈去嘗試的體積更小,曝光范圍,這樣就可以使超光管大,超亮管選擇較大的管道明亮的燈光。

4.5 蓄電池和太陽能板的選用

路燈電壓為24V ,電流約1.2A。路燈大約在一天內(nèi)要工作8小時(shí),陰天3天時(shí)系統(tǒng)也要正常工作,后備電源要有80%的放電率并堅(jiān)持24h供電[8]。則蓄電池的容量如公式(1)為:

       Qx=(Tx×Is)=(24×1.2)/0.8=36(Ah)                     (1)

    式中:

       Qx——蓄電池容量;

       Tx——蓄電池放電時(shí)間;

       Is——設(shè)備工作電流。

最終選擇了24V/36Ah蓄電池。有陽光時(shí),16小時(shí)充滿電。


(2)是用來計(jì)算的太陽能電池板功率如公式:

       P=24Ic

       =Vg〔Qx+Qs ×(D-1)〕/(Tc ×D)

                  =24Qx/Tc=24*(36+9.6)/16=68.4W               (2)

    式中:

       Qx——蓄電池容量;

       D——充滿電需要的天數(shù);

       Qs——日耗蓄電池容量;

       Vg——設(shè)備工作電壓;

       Tc——充電滿電所用時(shí)間。

    則太陽能板取24V/70W。

    太陽能各項(xiàng)性能指標(biāo)如表所示:

太陽能電池

70W ,24 V

LED發(fā)光源

28個(gè)LED、每個(gè)1 W

工作溫度

-40℃ +80℃

過充保護(hù)電壓

26 V

過放保護(hù)電壓

22 V

蓄電池

24 V,36Ah


照明時(shí)間

光敏電阻來實(shí)現(xiàn)光開關(guān)。 傍晚天黑時(shí)光敏電阻控制路燈開啟,行人稀少的凌晨按照預(yù)先設(shè)定的時(shí)間熄滅街燈,早上行人增加時(shí)按照預(yù)先設(shè)定的時(shí)間點(diǎn)亮街燈, 早上根據(jù)照明水平日出自動(dòng)切斷電路的。

陰雨天保證時(shí)間

3個(gè)陰雨天也能正常工作

表4.1 太陽能LED的各種性能指標(biāo)

4.6 顯示電路(為啥這么設(shè)計(jì),寫清楚)

單片機(jī)的串行顯示電路,由74 LS164為數(shù)碼管驅(qū)動(dòng)電路,二極管D1 , D2和D3 可降壓,保護(hù)數(shù)碼管,共顯示四個(gè)數(shù)字,1.2顯示小時(shí),3.4顯示分鐘[9]。

      

圖4.2 顯示電路

可以為同步移位寄存器使用雙工串行通信端口,模式 0、 RXD (P3.0) 是一種串行輸入或輸出 ;通過數(shù)據(jù)同步的時(shí)鐘(P3.1)終端串行輸出,在時(shí)鐘的同步功能,實(shí)現(xiàn)串行數(shù)據(jù)通信。允許低電平輸出電流,不增加驅(qū)動(dòng)電路的原因,亮度是可取的。4.7 過充、過放控制電路

過度充電的控制,在電池的充滿狀態(tài)時(shí),充電電路保護(hù),該控制電路是為電池放電的放電電路。過充和過放電保護(hù)電池,延長電池使用壽命。充放電控制電路如圖4.3所示。:

過充電,過放電的判斷主要是基于電池的電壓水平,其工作原理如下:過載繼電器開關(guān)控制電路的充電顯示的運(yùn)動(dòng)范圍的電路時(shí),白天電荷狀態(tài)正常,太陽熱吸收從常閉繼電器切換到電池當(dāng)電池電壓超過,電池的充電狀態(tài), U1 A”-”端電壓大于“+”端的電壓輸出 U1 A,”“低水平的 Q1,接通和斷開,繼電器線圈通電時(shí),繼電器的常閉,常開觸點(diǎn)斷開充電電路,充電指示燈,停止對(duì)電池進(jìn)行充電,過充電保護(hù)功能實(shí)現(xiàn)[10]。

繼電器 J2 控制電路的串聯(lián)電路,放電電路工作正常。晚上當(dāng)蓄電池從電池到負(fù)載,當(dāng)電池電壓低于22 v,認(rèn)為電池處于放電狀態(tài), U1 B電壓的電壓下面的“+”“-”,輸出”“低,和打開和關(guān)閉,繼電器線圈電源繼電器開關(guān)從封閉走向開放,過放電指示燈停止向負(fù)載供電。達(dá)到過放保護(hù)功能。

4.8 DS1302的結(jié)構(gòu)及工作原理

時(shí)序電路的功能是普遍使用的軟件定時(shí)器,定時(shí)器的設(shè)計(jì),但缺點(diǎn)是定時(shí)誤差,不時(shí)修正時(shí)間的需要;另一個(gè)是電路硬件定時(shí)器,現(xiàn)在許多流行的串行時(shí)鐘,如DS1302,DS1307等,該接口電路簡單,價(jià)格低廉,使用方便,廣泛應(yīng)用[11]。DS1302是一家達(dá)拉斯的公司可以持續(xù)慢充電能力的電路,主要特征是串行數(shù)據(jù)傳輸?shù)氖褂茫梢蕴峁┛删幊屉娫闯潆姡娫幢Wo(hù),并且可以關(guān)閉充電功能[12]。

DS1302工作電壓為2.5V~5.5V。接口與CPU同步線,三字節(jié)的RAM使用突發(fā)數(shù)據(jù)傳輸。DS1302內(nèi)部有RAM寄存器。

表4.2是DS1302的引腳功能,連接圖如圖4.4與單片機(jī), VCC1 , VCC2作為備用電源的主電源[13]。在一般情況下,電源由主電源供電,而備用電源充電主電源,在主電源關(guān)閉,連續(xù)操作,可以保持時(shí)鐘運(yùn)行。Vcc1與Vcc2較大者供電DS1302。X1和X2為振蕩源,外部的32.768kHz振蕩器。RST是片選線,輸入高電平來傳送數(shù)據(jù)。


表4.2  DS1302的管腳介紹

RST輸入有兩個(gè)功能:第一,通過控制邏輯,使移位寄存器的地址/命令序列;最后,RST提供終止字節(jié)數(shù)據(jù)傳送。如果RST設(shè)置為低電平的過程中傳播,可以終止數(shù)據(jù)傳輸,I / O針進(jìn)入一個(gè)高阻抗?fàn)顟B(tài)。運(yùn)行用電,在 VCC ≥ 2.5 v,首先必須保持低水平。只有在SCLK為低,RST可以設(shè)置為高的水平,圖4.4scl,I / O,用1302單片機(jī)讀寫控制RST連接[14]。

         


圖4.4 1302與單片機(jī)的連接圖

4.9 存儲(chǔ)器AT24C02簡介

AT2402的1,2,3腳為空,4腳接地,5腳數(shù)據(jù)端,6腳時(shí)鐘端,7腳寫保護(hù),8腳是電源。其與單片機(jī)的連接方法如圖4.5:







圖4.5 24C02與單片機(jī)連接方法

AT24C02角色在這個(gè)設(shè)計(jì)是電動(dòng)記憶,是防止電源突然斷開連接,用戶的信息不丟失,存儲(chǔ)當(dāng)前的一組信息。AT24C02是2 KB字節(jié)ATMEL公司的電力可刪除內(nèi)存芯片,由于數(shù)據(jù)和地址線AT24C02重用,使用串行數(shù)據(jù)傳輸模式,所以只有兩根電線 sci (shift 脈沖) 和 SDA 來傳輸數(shù)據(jù) (數(shù)據(jù) / 地址) 和微控制器。最低電壓為2.5 V,額定電流1 ma,靜態(tài)電流10 ua(5.5 V),芯片中的信息可以在有電源的情況下保存很長時(shí)間,并使用8英尺的保護(hù),易于使用。

  管腳名稱

     功    能

A0、A1、A2

器件地址選擇

SDA

串行數(shù)據(jù)/地址

SCL

串行時(shí)鐘

WP

寫保護(hù)

VCC

+1.8V~6.0V工作電壓

GND













表4.3  24C02的管腳介紹

R18,R19是上拉電阻,靜態(tài)功耗可降低AT24C02。設(shè)置一個(gè)時(shí)間的信息時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用存儲(chǔ)過程,存儲(chǔ)芯片中的信息;當(dāng)系統(tǒng)重新上電,自動(dòng)呼叫存儲(chǔ)器讀取程序,信息存儲(chǔ),讀取緩存單元,用于使用主程序。










5.1 系統(tǒng)軟件設(shè)計(jì)

軟件設(shè)計(jì)主要包括初始化程序,時(shí)間設(shè)置, 1302讀寫程序, 24 C02讀寫程序,子程序,按鈕,顯示刷新子例程,Program初始化[15]。該計(jì)劃將用當(dāng)前的系統(tǒng)時(shí)間相比較,時(shí)間設(shè)置,設(shè)置第二個(gè)時(shí)間間隔,并在同一時(shí)間,通過使用輸出控制信號(hào)的驅(qū)動(dòng)電路來驅(qū)動(dòng)。整體系統(tǒng)的程序流程圖如圖5.1所示。

如果想調(diào)整時(shí)間開關(guān)燈和1302的時(shí)間可以通過地圖按鈕手動(dòng)設(shè)置在S1,S2時(shí)間開關(guān)調(diào)整,S3分別顯示1302次關(guān)鍵,具體程序流程圖如圖5.2所示。(具體程序請?zhí)砑拥礁戒浝锩妫?/p>



5.2 系統(tǒng)仿真

圖5.3 顯示1302時(shí)間光線較亮,光敏電阻的電阻值較小,從而路燈斷路,路燈熄滅。


圖5.4 顯示1302時(shí)間光線較暗,光敏電阻的電阻值較大,從而路燈亮。

圖5.5 功能鍵標(biāo)志位為“1”時(shí),顯示1302時(shí)間“時(shí)”并閃爍。此時(shí)可調(diào)節(jié)時(shí)間“時(shí)”。

圖5.6 功能鍵標(biāo)志位為“2”時(shí),顯示1302時(shí)間“分”并閃爍。此時(shí)可調(diào)節(jié)時(shí)間“分”。

圖5.7 功能鍵標(biāo)志位為“3”時(shí),顯示關(guān)路燈時(shí)間點(diǎn)“時(shí)”并閃爍。此時(shí)可調(diào)節(jié)關(guān)路燈時(shí)間點(diǎn)“時(shí)”。存上次1302時(shí)間。

圖5.8 功能鍵標(biāo)志位為“4”時(shí),顯示關(guān)路燈時(shí)間點(diǎn)“分”并閃爍。此時(shí)可調(diào)節(jié)關(guān)路燈時(shí)間點(diǎn)“分”。



圖5.9 功能鍵標(biāo)志位為“5”時(shí),顯示開路燈時(shí)間點(diǎn)“時(shí)”并閃爍。此時(shí)可調(diào)節(jié)關(guān)開路燈時(shí)間點(diǎn)“時(shí)”。存上次關(guān)路燈時(shí)間。


圖5.10 功能鍵標(biāo)志位為“6”時(shí),顯示開路燈時(shí)間點(diǎn)“分”并閃爍。此時(shí)可調(diào)節(jié)關(guān)開路燈時(shí)間點(diǎn)“分”。確定后存開路燈時(shí)間。

以下是總體電路圖放在這章的開頭,并介紹每個(gè)模塊的功能


                 






附錄(寫清楚是什么內(nèi)容)
//頭文件


  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #include<math.h>
  4. #define uchar  unsigned char
  5. #define uint   unsigned int
  6. #define ulong  unsigned long
  7. #include "delay.h"
  8. #include "key.h"
  9. #include "ad.h"
  10. #include "24c02.h"
  11. #include "1602.h"
  12. #include "time.h"
  13. //功能按鍵變量
  14. uchar set=0;
  15. uint  shanshuo=0;
  16. uint light;
  17. //-------
  18. uchar openh=18;
  19. uchar openm=18;
  20. uchar closh=23;
  21. uchar closm=18;

  22. uchar cun[]={0,0,0,0};
  23. //顯示函數(shù)
  24. void xianshi0()
  25. {
  26.    num[0]=SEG7[time[2]%100/10];
  27.    num[1]=SEG7[time[2]%10]&0X7F;
  28.    num[2]=SEG7[time[1]%100/10];
  29.    num[3]=SEG7[time[1]%10];
  30. }
  31. //---------------------------------------------------------------------
  32. //---------------------------------------------------------------------
  33. //顯示設(shè)置時(shí)--1=00
  34. void xianshi1()
  35. {
  36.    num[0]=SEG7[1];
  37.    num[1]=0xb7;
  38.    shanshuo=(shanshuo+1)%80;
  39.    if(shanshuo>40){num[2]=SEG7[time[2]%100/10];num[3]=SEG7[time[2]%10];}
  40.    if(shanshuo<40){num[2]=0xff;num[3]=0xff;}
  41. }
  42. //顯示設(shè)置分--2=00
  43. void xianshi2()
  44. {
  45.    num[0]=SEG7[2];
  46.    num[1]=0xb7;
  47.    shanshuo=(shanshuo+1)%80;
  48.    if(shanshuo>40){num[2]=SEG7[time[1]%100/10];num[3]=SEG7[time[1]%10];}
  49.    if(shanshuo<40){num[2]=0xff;num[3]=0xff;}
  50. }
  51. //---------------------------------------------------------------------
  52. //---------------------------------------------------------------------
  53. //顯示設(shè)置打開時(shí)--3=00
  54. void xianshi3()
  55. {
  56.    num[0]=SEG7[3];
  57.    num[1]=0xb7;
  58.    shanshuo=(shanshuo+1)%80;
  59.    if(shanshuo>40){num[2]=SEG7[openh%100/10];num[3]=SEG7[openh%10];}
  60.    if(shanshuo<40){num[2]=0xff;num[3]=0xff;}
  61. }

  62. //顯示設(shè)置打開時(shí)--4=00
  63. void xianshi4()
  64. {
  65.    num[0]=SEG7[4];
  66.    num[1]=0xb7;
  67.    shanshuo=(shanshuo+1)%80;
  68.    if(shanshuo>40){num[2]=SEG7[openm%100/10];num[3]=SEG7[openm%10];}
  69.    if(shanshuo<40){num[2]=0xff;num[3]=0xff;}
  70. }
  71. //---------------------------------------------------------------------
  72. //---------------------------------------------------------------------
  73. //顯示設(shè)置關(guān)閉時(shí)--5=00
  74. void xianshi5()
  75. {
  76.    num[0]=SEG7[5];
  77.    num[1]=0xb7;
  78.    shanshuo=(shanshuo+1)%80;
  79.    if(shanshuo>40){num[2]=SEG7[closh%100/10];num[3]=SEG7[closh%10];}
  80.    if(shanshuo<40){num[2]=0xff;num[3]=0xff;}
  81. }

  82. //顯示設(shè)置關(guān)閉時(shí)--6=00
  83. void xianshi6()
  84. {
  85.    num[0]=SEG7[6];
  86.    num[1]=0xb7;
  87.    shanshuo=(shanshuo+1)%80;
  88.    if(shanshuo>40){num[2]=SEG7[closm%100/10];num[3]=SEG7[closm%10];}
  89.    if(shanshuo<40){num[2]=0xff;num[3]=0xff;}
  90. }
  91. //按鍵處理函數(shù)
  92. void ctrl_key()
  93. {
  94.   if(key1==0)set=(set+1)%8;              while(key1==0);
  95.   //----------------
  96.   if(set==1){if(key2==0)time[2]=(time[2]+1)%24;while(key2==0);if(key3==0)time[2]=(time[2]-1)%24;while(key3==0);}
  97.   if(set==2){if(key2==0)time[1]=(time[1]+1)%60;while(key2==0);if(key3==0)time[1]=(time[1]-1)%60;while(key3==0);}
  98.   //----------------
  99.   if(set==3){if(key2==0)openh=(openh+1)%24;while(key2==0);    if(key3==0)openh=(openh-1)%24;while(key3==0);}
  100.   if(set==4){if(key2==0)openm=(openm+1)%60;while(key2==0);    if(key3==0)openm=(openm-1)%60;while(key3==0);}
  101.   //----------------
  102.   if(set==5){if(key2==0)closh=(closh+1)%24;while(key2==0);    if(key3==0)closh=(closh-1)%24;while(key3==0);}
  103.   if(set==6){if(key2==0)closm=(closm+1)%60;while(key2==0);    if(key3==0)closm=(closm-1)%60;while(key3==0);}
  104.   //----------------

  105. }

  106. void  chuli()
  107. {
  108.   //------------------------------
  109.   //------------------------------
  110.   if(set==7)
  111.   {
  112.    ds1302_settime();
  113.    cun[0]=openh;
  114.    cun[1]=openm;
  115.    cun[2]=closh;
  116.    cun[3]=closm;
  117.    WrToROM(cun,1,4); set=0;
  118.   }
  119.   //------------------------------
  120.   //-光線-----------
  121.   if(light<60)out=led=0;else out=led=1;
  122.   //------------------------------
  123.    if((time[2]==openh)&&(time[1]==openm))out=led=0;
  124.   if((time[2]==closh)&&(time[1]==closm))out=led=1;


  125. }                                                                                                                                                                                    
  126. //主函數(shù)
  127. void main()
  128. {
  129.   //初始化
  130.   ds1302_int();

  131.   RdFromROM(cun,1,4);
  132.    openh=cun[0];
  133.    openm=cun[1];
  134.    closh=cun[2];
  135.    closm=cun[3];
  136.   //-------定時(shí)器0配置
  137.   TMOD=0x01;              //方式1
  138.   //使能定時(shí)器0
  139.   ET0=1;
  140.   //定時(shí)器的初值
  141.   TH0=(65536-30000)/256;
  142.   TL0=(65536-30000)%256;
  143.   //停止開啟定時(shí)器0
  144.   TR0=1;
  145.   EA=1;
  146.   //延時(shí)函數(shù)ms
  147.   _delay_ms(1);
  148.   _delay_us(1);
  149.   while(1)
  150.   {
  151.   if(set==0)xianshi0();
  152.   if(set==1)xianshi1();
  153.   if(set==2)xianshi2();
  154.   if(set==3)xianshi3();
  155.   if(set==4)xianshi4();
  156.   if(set==5)xianshi5();
  157.   if(set==6)xianshi6();
  158.   dispaly();
  159.   ctrl_key();
  160.   chuli();
  161.   }
  162. }

  163. //----T0 計(jì)數(shù)                           
  164. void  Time0() interrupt 1
  165. {
  166.   //重裝初值30ms;
  167.   TH0=(65536-30000)/256;
  168.   TL0=(65536-30000)%256;
  169.   if(set==0)ds1302_readtime();
  170.   light=adc0832(0);
  171.   }


  172. sbit  CS= P3^2;
  173. sbit  Clk= P3^4;
  174. sbit  DATI=P3^3;
  175. sbit  DATO= P3^3;
  176. uint  dat = 0x00;      //AD值
  177. //AD轉(zhuǎn)換子程序
  178. uint adc0832(unsigned char CH)
  179. {
  180.   uchar i,test,adval;
  181.   adval = 0x00;
  182.   test = 0x00;
  183.   Clk = 0;       //初始化
  184.   DATI = 1;
  185.   _nop_();   _nop_();

  186.   CS = 0;
  187.   _nop_();
  188.   Clk = 1;
  189.   _nop_();  _nop_();

  190. if ( CH == 0x00 )      //通道選擇
  191.    {
  192.        Clk = 0;
  193.        DATI = 1;      //通道0的第一位
  194.        _nop_();
  195.        Clk = 1;
  196.        _nop_();  _nop_();

  197.        Clk = 0;
  198.        DATI = 0;      //通道0的第二位
  199.        _nop_();  _nop_();

  200.        Clk = 1;
  201.        _nop_();
  202.     }
  203.     else
  204.     {
  205.        Clk = 0;
  206.        DATI = 1;      //通道1的第一位
  207.         _nop_();  _nop_();

  208.        Clk = 1;
  209.         _nop_();  _nop_();

  210.        Clk = 0;
  211.        DATI = 1;      //通道1的第二位
  212.       _nop_();
  213.       Clk = 1;
  214.       _nop_();
  215.     }
  216.       Clk = 0;   _nop_();

  217.       DATI = 1;
  218.    for( i = 0;i < 8;i++ )      //讀取前8位的值
  219.     {
  220.        _nop_();
  221.        adval <<= 1;
  222.        Clk = 1;
  223.        _nop_();  _nop_();

  224.        Clk = 0;                 _nop_();

  225.        if (DATO)
  226.           adval |= 0x01;
  227.       else
  228.           adval |= 0x00;
  229.     }
  230.   for (i = 0; i < 8; i++)      //讀取后8位的值
  231.       {
  232.            test >>= 1;
  233.            if (DATO)
  234.               test |= 0x80;
  235.            else
  236.               test |= 0x00;
  237.           _nop_();
  238.           Clk = 1;
  239.           _nop_();  _nop_();

  240.           Clk = 0;   _nop_();

  241.       }
  242. //比較前8位與后8位的值,如果不相同舍去。
  243.   if (adval == test)   
  244.      dat = test;
  245.      _nop_();  _nop_();

  246.      CS = 1;        //釋放ADC0832
  247.      DATO = 1;
  248.      Clk = 1;

  249.      return dat;

  250. }


  251. //------------------------------------
  252. #define at89c_51
  253. //-----------------------------------
  254. //--------------at89c_51-------------
  255. #ifdef  at89c_51
  256. #define at89c_51
  257. sbit     SDA=P1^7 ;
  258. sbit     SCL=P1^6 ;
  259. #define  SCL_1          SCL=1
  260. #define  SCL_0                       SCL=0

  261. #define  SDA_1          SDA=1
  262. #define  SDA_0          SDA=0

  263. #define  AddWr        0xa0                    //器件地址選擇及寫標(biāo)志
  264. #define  AddRd        0xa1                              //器件地址選擇及讀標(biāo)志
  265. void Nop()                              //空操作
  266. {
  267.   _nop_();
  268.   _nop_();
  269.   _nop_();
  270.   _nop_();
  271. }
  272. #endif
  273. //延時(shí)函數(shù)ms
  274. #ifdef  atmega_16
  275. #define atmega_16
  276. void Nop()                              //空操作

  277. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼


word格式的完整文檔下載地址:http://www.raoushi.com/bbs/dpj-83421-1.html

作者: sxdz86    時(shí)間: 2018-3-25 23:32
有源程序嗎

作者: 檸de檬    時(shí)間: 2018-4-8 14:37
感謝樓主分享




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1