版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 本科畢業(yè)設(shè)計(jì)</b></p><p><b> ?。?0 屆)</b></p><p> 基于單片機(jī)的路燈控制系統(tǒng)設(shè)計(jì)</p><p> 所在學(xué)院 </p><p> 專業(yè)班級 通信工程
2、 </p><p> 學(xué)生姓名 學(xué)號 </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘要</b><
3、/p><p> 為解決城市路燈照明系統(tǒng)存在的燈光控制方法和管理手段落后,所用燈具科技含量低等問題,設(shè)計(jì)了一個(gè)基于單片機(jī)的路燈控制系統(tǒng)。它采用AT89S52單片機(jī)作為控制中心,利用傳感器模塊、光控路燈模塊、時(shí)控路燈模式來實(shí)現(xiàn)的。根據(jù)環(huán)境、交通等因素,單片機(jī)采集光敏電阻或光電開關(guān)的信號控制路燈的亮滅。采用切換多種模式方法來實(shí)現(xiàn)路燈控制功能,能按規(guī)定時(shí)間對路燈進(jìn)行開關(guān)燈操作。</p><p>
4、該系統(tǒng)可設(shè)置控制模式,在一種白天模式下,可隨時(shí)設(shè)定路燈的開關(guān)時(shí)間,也可配合光敏電組一起使用。當(dāng)陽光變暗時(shí),光敏接到信號送到控制中心,來處理開路燈操作。在另一種夜晚模式下,通過紅外線檢測技術(shù)來檢測是否有車通過,在來決定開關(guān)燈操作。</p><p> 關(guān)鍵詞:路燈控制;單片機(jī);紅外檢測</p><p><b> Abstract</b></p><
5、p> To solve the backward of street lighting control system in control method and management means, and low technique features of lamps, the paper provide a design of street light control system. It used at89s52 as a
6、control core circuit. Other modules includes optical sensor module timing module and field traffic condition detector.</p><p> System operate at two different control mode, in daytime mode lights will be tu
7、rn on according to signal from optic sensor, while in nighttime lamps will be turn on according to signal from moving object detector.</p><p> Keywords: Light control; MCU; Infrared detect</p><p&
8、gt;<b> 目 錄</b></p><p><b> 1引言1</b></p><p><b> 1.1課題概述1</b></p><p> 1.1.1課題的研究背景1</p><p> 1.1.2課題研究的目的與意義1</p><p
9、> 1.2課題的國內(nèi)外的研究現(xiàn)狀2</p><p> 1.2.1國內(nèi)研究現(xiàn)狀2</p><p> 1.2.2國外的研究現(xiàn)狀2</p><p> 1.3論文的主要研究內(nèi)容3</p><p> 2路燈控制系統(tǒng)的總體設(shè)計(jì)4</p><p> 2.1路燈控制系統(tǒng)的構(gòu)思4</p>&l
10、t;p> 2.1.1傳統(tǒng)的節(jié)能方式4</p><p> 2.1.2 智能控制的節(jié)能方式4</p><p> 2.2路燈控制系統(tǒng)的方案設(shè)計(jì)5</p><p> 2.2.1路燈控制方案選擇5</p><p> 2.2.2路燈信號檢測的選擇5</p><p> 2.2.3移動物體檢測的選擇5&l
11、t;/p><p> 2.3路燈控制系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)6</p><p> 3 路燈控制系統(tǒng)的硬件模塊設(shè)計(jì)7</p><p> 3.1主控芯片的設(shè)計(jì)7</p><p> 3.2輸入與顯示設(shè)計(jì)8</p><p> 3.3 時(shí)鐘模塊設(shè)計(jì)8</p><p> 3.4 光控模塊設(shè)計(jì)9<
12、;/p><p> 3.5 紅外檢測模塊設(shè)計(jì)10</p><p> 4 路燈控制系統(tǒng)的軟件模塊設(shè)計(jì)12</p><p><b> 5系統(tǒng)測試20</b></p><p><b> 6 結(jié)論21</b></p><p> 致謝錯(cuò)誤!未定義書簽。</p>
13、<p><b> 參考文獻(xiàn)22</b></p><p> 附錄1 原理圖電路總圖23</p><p> 附錄2 路燈控制系統(tǒng)實(shí)物圖24</p><p> 附錄3 主要源程序代碼25</p><p><b> 1引言</b></p><p>&l
14、t;b> 1.1課題概述</b></p><p> 1.1.1課題的研究背景</p><p> 隨著社會的發(fā)展,能源問題己經(jīng)成為全球最為關(guān)注的問題之一,能源危機(jī)己經(jīng)成為全人類所面臨的主要危機(jī),特別是我國的電力能源近年來顯得十分吃緊,電力緊張阻礙著我們的日常生產(chǎn)、生活,甚至嚴(yán)重影響到我國經(jīng)濟(jì)的發(fā)展與社會文明的進(jìn)步。</p><p> 而在我
15、國的整體用電中,照明用電又占有很大的比例。城市路燈是現(xiàn)代城市建設(shè)中重要的組成部分,它服務(wù)于交通安全和人們的生產(chǎn)、生話,美化了城市容貌,為創(chuàng)造良好的投資環(huán)境起著舉足輕重的作用。隨著我國經(jīng)濟(jì)的快速發(fā)展,照明路燈的數(shù)量越來越多,其用電量占城市的總用量的比例也在不斷增加。據(jù)統(tǒng)計(jì)顯示,我國在路燈照明方面每年消耗超過 1000億元的電費(fèi),其發(fā)展速度十分驚人。在城市亮化、美化大潮的趨勢下,城市景觀照明耗電也吞噬著我們的電力資源。而發(fā)電企業(yè)投資和建設(shè)需
16、要一個(gè)較長的周期,快速的經(jīng)濟(jì)發(fā)展需要更多更充足的電力供應(yīng)和消耗,電力的供求之間矛盾重重。電力供應(yīng)缺口很難在短期內(nèi)得以緩解,發(fā)展與節(jié)約并重,己經(jīng)成為經(jīng)濟(jì)建設(shè)的必然選擇。此時(shí),燈光照明行業(yè)節(jié)電也成為了我們的必然選擇。</p><p> 1.1.2課題研究的目的與意義</p><p> 路燈照明建設(shè)不僅僅存在電能消耗過度的問題,路燈直接全壓起動時(shí)所產(chǎn)生的大電流及沖擊力也會對路燈、電網(wǎng)及電網(wǎng)中
17、的其它設(shè)備都會造成影響,因此,路燈的節(jié)能、環(huán)??刂萍夹g(shù)己成為熱門的研究課題。</p><p> 路燈是我國經(jīng)濟(jì)發(fā)展和國家建設(shè)中必需的用電設(shè)備,它在我國的整體用電量中所占比例巨大,如果通過基于單片機(jī)的路燈控制系統(tǒng)裝置對其進(jìn)行有效控制,就能夠降低電力損耗,達(dá)到節(jié)約能源,降低生產(chǎn)安裝成本,有助于我國經(jīng)濟(jì)的快速發(fā)展。</p><p> 本文研究的路燈控制系統(tǒng)是基于單片機(jī)的控制系統(tǒng),通過光敏傳感
18、器件采集光照數(shù)據(jù),并將其做為電信號,傳輸?shù)絾纹瑱C(jī)中作為控制路燈開啟的依據(jù)。設(shè)計(jì)單片機(jī)控制電路、傳輸電路等裝置,使路燈開啟達(dá)到自動控制的目的。控制路燈從而改變了路燈在不同時(shí)段的耗電量,改善了功率因素,達(dá)到了節(jié)約電能的目的。</p><p> 1.2課題的國內(nèi)外的研究現(xiàn)狀</p><p> 1.2.1國內(nèi)研究現(xiàn)狀</p><p> 隨著全國逐步進(jìn)入小康社會和城市化
19、建設(shè)的發(fā)展,中小城鎮(zhèn)將越來越多。路燈控制和管理將是一個(gè)普遍問題。由于中小城鎮(zhèn)街道數(shù)量較少,一般只有數(shù)十條街道,路燈的控制和管理問題比較簡單。但是,當(dāng)前路燈的控制和管理還存在有待改進(jìn)和提高的地方。目前,大多數(shù)城市道路、街道路燈控制,是在每條街道的路燈控制點(diǎn)設(shè)一個(gè)開關(guān),進(jìn)行人工控制。這種方法浪費(fèi)人力、操作繁瑣且每天早晚路燈開閉時(shí)間不準(zhǔn),人為因素影響太大。</p><p> 有的城鎮(zhèn)設(shè)置光電控制電路,利用控制器件光電
20、阻的變化,控制路燈在晚上天黑之后自動點(diǎn)亮、早上天亮之后自動關(guān)閉。這種方法存在可靠性較低、易受干擾、后半夜路燈照明太亮和浪費(fèi)電能等問題。</p><p> 據(jù)政府有關(guān)部門調(diào)查,我國小型城市在夜晚10點(diǎn)后,大中城市在午夜12點(diǎn)后,道路上幾乎空無一人;即便是北京、上海、廣州這樣的繁華大都市,凌晨2點(diǎn)以后,道路上也是罕見行人、車輛;這種情形一直持續(xù)到清晨6點(diǎn)路燈熄滅。在各級城市市政開支極度緊張的今天,國內(nèi)絕大部分的城市
21、和地區(qū)幾乎都采用了國外在20世紀(jì)70、80年代就拋棄了的路燈單邊亮燈、隔柱關(guān)燈的節(jié)電方法,這種節(jié)電方法會導(dǎo)致路面照度分布不均,形成塊狀陰影;同時(shí)給治安及交通安全埋下了很大隱患,對路燈照明設(shè)備而言不能避免后半夜電網(wǎng)電壓升高對路燈壽命的減損,不能算是真正意義上的節(jié)電。因此這種節(jié)電方法,達(dá)不到構(gòu)建和諧社會要求。</p><p> 1.2.2國外的研究現(xiàn)狀</p><p> 近20年來,美國和
22、日本照明節(jié)能集中在使用緊湊型熒光燈(CFL)和熒光燈采用鎮(zhèn)流器兩個(gè)方面,兩個(gè)國家中用新技術(shù)替換老產(chǎn)品的過程有點(diǎn)不同:2001年美國銷售的鎮(zhèn)流器中電子的占53%,而日本只有36%。而兩個(gè)國家在銷售CFL燈占白熾燈的比例中,美國只占3%,日本占了15%。兩個(gè)國家的國家、省和地方都在立法,鼓勵(lì)和普及活動這三方面做文章,旨在推動節(jié)能產(chǎn)品的廣泛使用。國外照明節(jié)能技術(shù)的發(fā)展具有以下特點(diǎn).(1)大力推動綠色照明,在光源的材料,使用規(guī)范上加以有效管
23、理,出臺了一系列的標(biāo)準(zhǔn)和管理要求,將照明節(jié)能推廣到全民范圍;</p><p> ?。?)不斷提高功率器件性能要求,主要體現(xiàn)在鎮(zhèn)流裝置上技術(shù)提高。通過對鎮(zhèn)流器技術(shù)改進(jìn)來提高照明設(shè)備的功率因素。</p><p> 根據(jù)上面所示內(nèi)容,本課題研究的目的是設(shè)計(jì)出一種路燈控制系統(tǒng),能夠有效解決現(xiàn)階段路燈照明存在的幾點(diǎn)不足,其意義在于:第一,為城市交通提供一種科學(xué)有效地路燈控制方案,保證道路照明的有效
24、性與安全性;第二,有效利用電力資源,盡量避免電力資源的浪費(fèi);第三,提高了城市基礎(chǔ)設(shè)施管理水平,在改善城市道路照明質(zhì)量的同時(shí),節(jié)省人力財(cái)力物力。</p><p> 1.3論文的主要研究內(nèi)容</p><p> 采用時(shí)控、光控、紅外線技術(shù),對路燈控制電路及其路燈控制系統(tǒng)進(jìn)行研究和設(shè)計(jì),實(shí)現(xiàn)路燈照明控制功能強(qiáng),實(shí)用價(jià)值高,安裝使用方便,易于推廣和應(yīng)用,可實(shí)現(xiàn)路燈的智能化管理和控制,有效的節(jié)約電
25、力能源。</p><p> 了解當(dāng)前國內(nèi)外路燈控制的研究與其產(chǎn)品市場;熟悉紅外線技術(shù),為將來從事制作路燈控制系統(tǒng)方面工作打下基礎(chǔ)。</p><p> 課題研究的主要內(nèi)容是:</p><p> 設(shè)計(jì)制作一個(gè)路燈節(jié)能控制系統(tǒng)。</p><p> 系統(tǒng)總體指標(biāo)及功能要求是:</p><p> ?。?)在交通流量大的上
26、半夜和交通流量小的下半夜采用兩種不同的控制策略。</p><p> (2)上半夜自動根據(jù)光線明暗開燈,下半夜采用有車輛經(jīng)過時(shí)照明的原則,利用紅外檢測經(jīng)過車輛點(diǎn)亮前方一定距離內(nèi)的燈,并且定時(shí)開關(guān)路燈。</p><p> ?。?)控制器基于單片機(jī)設(shè)計(jì),來控制路燈。</p><p> 2路燈控制系統(tǒng)的總體設(shè)計(jì)</p><p> 2.1路燈控制
27、系統(tǒng)的構(gòu)思</p><p> 2.1.1傳統(tǒng)的節(jié)能方式</p><p> 長期以來,我國大多數(shù)城市的路燈照明系統(tǒng)都是采用傳統(tǒng)的控制方式,其中節(jié)能的方法主要有以下幾種:</p><p> 人工控制的節(jié)能方法:管理路燈的值班人員根據(jù)路燈的開關(guān)時(shí)間表來進(jìn)行手動的開關(guān)路燈操作。</p><p> 時(shí)控的節(jié)能方法:路燈控制器通過規(guī)定的時(shí)間對路燈
28、進(jìn)行開關(guān)燈操作,當(dāng)季節(jié)變更時(shí),通過管理路燈的值班人員進(jìn)行手動調(diào)整路燈的開關(guān)時(shí)間。</p><p> 光控的節(jié)能方法:路燈控制器通過路燈那端光敏電阻采集的光強(qiáng)度信號來進(jìn)行對路燈的開關(guān)操作。</p><p> 這些傳統(tǒng)的路燈控制方法存在著明顯的缺點(diǎn),因?yàn)閲鴥?nèi)大多數(shù)城市路燈的開關(guān)燈控制由各變壓器分散控制,只有控制功能而沒有監(jiān)控功能。又由于室外的光照強(qiáng)度不能嚴(yán)格的進(jìn)行控制,不僅實(shí)時(shí)性差,而且造
29、成很大的浪費(fèi)。</p><p> 另外,傳統(tǒng)的路燈控制方法必須要求人員不能離開崗位,必須及時(shí)對路燈的特殊情況進(jìn)行開關(guān)操作。這樣不僅浪費(fèi)了人力資源,而且也有可能因工作人員的調(diào)整不及時(shí)而造成能源浪費(fèi)。</p><p> 2.1.2 智能控制的節(jié)能方式</p><p> 該節(jié)能方式是通過智能控制器對路燈進(jìn)行智能的控制和管理。當(dāng)白天到前半夜的時(shí)候,采用時(shí)控和光控的節(jié)能
30、方式對路燈進(jìn)行智能的開光控制。如設(shè)定早上6:00進(jìn)行關(guān)燈,晚上6:00進(jìn)行開燈的同時(shí),再讓光敏電阻時(shí)刻對光照強(qiáng)度進(jìn)行測定,如發(fā)現(xiàn)晚上6:00前已經(jīng)天黑,則根據(jù)光敏電阻測定的信號對路燈進(jìn)行開燈操作。當(dāng)晚上半夜的時(shí)候,關(guān)掉路燈,采用紅外線技術(shù),對路上的車輛進(jìn)行檢測,當(dāng)檢測到有車輛經(jīng)過時(shí),開啟幾百米的路燈對車輛進(jìn)行照明。車輛開走以后,關(guān)掉剛開啟的路燈,以達(dá)到電能資源的節(jié)約。使用該節(jié)能方式,不僅大大節(jié)約了電能,而且減少了人力資源。</p&
31、gt;<p> 2.2路燈控制系統(tǒng)的方案設(shè)計(jì)</p><p> 2.2.1路燈控制方案選擇</p><p> 方案一:選用數(shù)字電路進(jìn)行控制,但整個(gè)系統(tǒng)電路制作復(fù)雜,實(shí)現(xiàn)題目發(fā)揮部分的指標(biāo)有困難。</p><p> 方案二:選用AT89S52單片機(jī)為控制器,易于編程控制,外圍控制資源豐富,整個(gè)控制系統(tǒng)操作更加靈活,電路制作簡單、方便、性價(jià)比高。因
32、此,我們選擇方案二。</p><p> 2.2.2路燈信號檢測的選擇</p><p> 方案一:選用金屬傳感器,該傳感器精度高,反應(yīng)靈敏,但是金屬傳感器價(jià)格較高。</p><p> 方案二:選用紅外反射式光電傳感器和光敏三極管,該傳感器反應(yīng)靈敏且價(jià)格便宜,外圍檢測電路簡單??紤]到系統(tǒng)檢測電路和性價(jià)比,我們選擇方案二。</p><p>
33、 2.2.3移動物體檢測的選擇</p><p> 方案一:采用普通發(fā)光二極管發(fā)射和光敏二極管接受的方案。這種方案在實(shí)際使用中,很容易受到外界光源的干擾,有時(shí)甚至檢測不到,不利于檢測。因此,不采用此方案。</p><p> 方案二:利用超聲波檢測。在每個(gè)LED燈上放一個(gè)超聲波檢測模組,在移動物體通過紅外線探頭時(shí),系統(tǒng)探測到,把信息傳遞給控制器。但由于超聲波檢測散射較大,不能準(zhǔn)確檢測到物體
34、的位置,且外圍電路復(fù)雜,不易實(shí)現(xiàn)。因此,不采用此方案。</p><p> 方案三:用紅外線傳感器進(jìn)行檢測,利用物體對紅外線光束的反射,有同步回路選通而檢測物體的有無,對所有的能反射的物體均能檢測。紅外線傳感器的工作原理是利用投光器發(fā)出的光束,光束被物體阻斷達(dá)到全反射或部分反射,通過接收器作出判斷反應(yīng),操作簡單,使用方便。因此,采用方案三。</p><p> 2.3路燈控制系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)
35、</p><p> 本系統(tǒng)的主要結(jié)構(gòu)由控制器、時(shí)鐘系統(tǒng)、顯示控制、數(shù)據(jù)采集以及紅外檢測模塊組成??刂破髦饕?2單片機(jī)芯片,它的作用主要是對采集的數(shù)據(jù)進(jìn)行分析和處理并作出相應(yīng)的結(jié)果返回。時(shí)鐘系統(tǒng)主要是由時(shí)鐘專用芯片DS1302組成,單片機(jī)通過控制專用時(shí)鐘芯片來產(chǎn)生時(shí)間,讀時(shí)間以及顯示時(shí)間,利用外部中斷服務(wù)程序來控制鍵盤設(shè)置修改時(shí)間。顯示控制主要是顯示時(shí)間、模式信息等情況。</p><p>
36、; 數(shù)據(jù)采集主要是通過光敏電阻感應(yīng)光強(qiáng)的變化,來采集產(chǎn)生的微弱電信號的過程。紅外檢測主要是用來檢測移動的物體的。以下就是路燈控制系統(tǒng)的結(jié)構(gòu)示意圖圖2-1:</p><p> 圖2-1 路燈控制系統(tǒng)的結(jié)構(gòu)示意圖</p><p> 3 路燈控制系統(tǒng)的硬件模塊設(shè)計(jì)</p><p> 3.1主控芯片的設(shè)計(jì)</p><p> 本系統(tǒng)控制芯片采
37、用AT89S52單片機(jī),它是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)F
38、lash,256字節(jié)RAM,32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。圖3-1為AT89S5
39、2的引腳圖。</p><p> 圖3-1 AT89S52的引腳圖</p><p> 3.2輸入與顯示設(shè)計(jì)</p><p> 圖3-2所示為鍵盤輸入和液晶顯示電路。K1為菜單功能鍵,相對應(yīng)的菜單有時(shí)控和光控模式、單元時(shí)控模式、檢測定位模式以及時(shí)間的設(shè)定等;K2為移位鍵;K3為加減鍵;K4為確定鍵。LCD數(shù)據(jù)線與單片機(jī)P1口相連;RS寄存器選擇信號端與P2.0相連
40、;RW讀寫端與P2.1相連;E使能端與P2.2相連。</p><p> 圖3-2 輸入與顯示電路圖</p><p> 3.3 時(shí)鐘模塊設(shè)計(jì)</p><p> 基于DS1302的時(shí)鐘電路設(shè)計(jì)采用24 h計(jì)時(shí)方式,時(shí)、分、秒并用LCD顯示。采用AT89S52單片機(jī)和DS1302實(shí)時(shí)時(shí)鐘芯片,使用5 V電源供電,采用按鍵控制,可以進(jìn)行時(shí)間校正,并且可對路燈的開關(guān)時(shí)間
41、進(jìn)行控制和調(diào)節(jié)。DS1302的VCC2加入3 V鋰可充電電池實(shí)現(xiàn)時(shí)鐘掉電保護(hù)。通過AT24C02存儲時(shí)鐘信息實(shí)現(xiàn)程序掉電保護(hù)功能。</p><p> 使用時(shí)鐘專芯片DS1302進(jìn)行時(shí)鐘控制,通過外加很少電路就可實(shí)現(xiàn)高精度的時(shí)鐘信號。外圍電路簡單可靠,時(shí)間精度高,采用串口通信可以節(jié)省I/O口的資源,通過外接鋰電池后可以實(shí)現(xiàn)時(shí)間的信息儲存。</p><p> 時(shí)鐘模塊的電路圖如圖3-3所示
42、:</p><p><b> 圖3-3時(shí)鐘電路圖</b></p><p> 為實(shí)現(xiàn)精確的時(shí)鐘功能并節(jié)省單片機(jī)IO口資源,該設(shè)計(jì)使用了專用的接口方式為串行的時(shí)鐘芯片DS1302,該芯片線路簡單、體積小,易于操作,且價(jià)格低廉。DS1302與單片機(jī)之間能簡單的采用同步串行方式進(jìn)行通信,僅需用到三個(gè)口線:(1)RES(復(fù)位),(2)I/O(數(shù)據(jù)線),(3)SCLK(串行時(shí)
43、鐘)。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。DS1302可以用于數(shù)據(jù)記錄,特別是對某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄,能實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時(shí)間同時(shí)記錄。這
44、種記錄對長時(shí)間的連續(xù)測控系統(tǒng)結(jié)果的分析及對異常數(shù)據(jù)出現(xiàn)的原因的查找具有重要意義。</p><p> 3.4 光控模塊設(shè)計(jì)</p><p> 光控模塊主要是由光敏電阻和比較器LM393組成的。光敏電阻是半導(dǎo)體的光電效應(yīng)制成的一種電阻值隨光的強(qiáng)弱而改變的電阻器。入射光增強(qiáng),電阻值減??;入射光減弱,電阻值增大。</p><p> 比較器LM393為雙電壓比較器,采用
45、單電源操作設(shè)計(jì),適用電壓范圍大。LM393可直接與TTL及CMOS邏輯電路接口。LM393的引腳圖如下圖3-4所示:</p><p> 圖3-4 LM393的引腳圖</p><p> 光敏電阻一般用于光的測量和控制以及光電轉(zhuǎn)換。光敏電阻把采集的信息經(jīng)過比較器與控制人員設(shè)置的參數(shù)進(jìn)行比較,作出相應(yīng)的操作,再把信息送到控制中心,讓控制中心進(jìn)行分析以及處理,從而實(shí)現(xiàn)光控目的。</p&g
46、t;<p> 用光敏電阻檢測光線的強(qiáng)度是否應(yīng)該開關(guān)路燈。光敏檢測電路主要是利用用光敏電阻的感光特性來進(jìn)行檢測工作。當(dāng)白天太陽光照射到用光敏電阻上時(shí),用光敏電阻的阻值就會降低,反向輸入端電壓隨之降低,當(dāng)?shù)陀诜聪嗥?4HC04的門檻電壓時(shí),反相器發(fā)生翻轉(zhuǎn),提供給單片機(jī)一高電平,控制器根據(jù)提供的信息來控制路燈關(guān)閉。當(dāng)弱光或無光照的時(shí)候(即晚上),由于用光敏電阻的暗電阻很大,反向輸入端電壓較高,使得反相器輸出為低電平,單片機(jī)控制
47、路燈燈的自動開啟。光控系統(tǒng)原理圖如下圖3-5所示:</p><p> 圖3-5 光控系統(tǒng)原理圖</p><p> 3.5 紅外檢測模塊設(shè)計(jì)</p><p> 紅外線檢測模塊在路燈控制中的應(yīng)用是利用一對紅外傳感器對管,來檢測道路上是否有行人或機(jī)動車通過此段路。當(dāng)檢測到有行人或機(jī)動車路過時(shí),紅外傳感器會發(fā)送信號到控制器,讓控制器來處理相對應(yīng)的信息。最后,在通過控制
48、器把相應(yīng)控制指令發(fā)送到路燈上,即是否開關(guān)燈的命令。當(dāng)路燈接受到來自控制器的相關(guān)指令時(shí),實(shí)現(xiàn)開關(guān)燈的操作。</p><p> 紅外檢測模塊在本系統(tǒng)當(dāng)中,具體的現(xiàn)實(shí)道路設(shè)計(jì)是:在一條長幾公里的道路上,以指定幾百米為一單位放置一對紅外傳感器,來檢測道路上是否有行人或機(jī)動車移動,當(dāng)檢測到有移動物體的時(shí)候,會開啟指定幾百米為一單位的路燈。當(dāng)移動的物體移出這一單位路燈,到達(dá)下一單位時(shí),前一單位的路燈會及時(shí)關(guān)閉,當(dāng)前單位的路
49、燈會開啟來供移動物體照明。</p><p> 紅外傳感器檢測的原理圖,如下圖3-6所示:</p><p> 圖3-6 紅外線檢測電路</p><p> 4 路燈控制系統(tǒng)的軟件模塊設(shè)計(jì)</p><p> 下圖圖4-1為選擇模式流程圖:</p><p> 圖4-1 選擇模式流程圖</p><p
50、> 選擇模式這塊的主要功能是根據(jù)液晶顯示器上顯示的菜單,通過按鍵來實(shí)現(xiàn)菜單上功能模式的選取。菜單上的主要模式分為時(shí)控和光控模式、單元時(shí)控模式和檢測定位模式。</p><p> 下圖圖4-2為時(shí)間的采集與顯示的流程圖,圖4-3為時(shí)間超時(shí)中斷的流程圖。</p><p> 圖4-2 時(shí)間的采集與顯示的流程圖 圖4-3 時(shí)間超時(shí)中斷的流程圖</p><
51、;p> 以上兩個(gè)圖是采集、顯示時(shí)間和判斷超時(shí)的時(shí)鐘模塊流程圖。在時(shí)鐘模塊,我們可以直接開啟顯示器,讀取時(shí)鐘芯片里的時(shí)間,也可以通過手動設(shè)置時(shí)間的方式來設(shè)置以及讀取時(shí)間。至于超時(shí)這塊,是通過兩次設(shè)置時(shí)間,通過時(shí)間差來控制路燈的開關(guān)操作。</p><p> 下圖圖4-4為時(shí)控和光控的模式組成圖。</p><p> 圖4-4 時(shí)控和光控的模式組成圖</p><p&
52、gt; 時(shí)控和光控模式是由時(shí)控模式和光控模式一起組成的,他們同步進(jìn)行,一起對路燈的開關(guān)操作進(jìn)行控制。這種模式比單獨(dú)的時(shí)控模式或光控模式節(jié)約了很多寶貴的電能。時(shí)控和光控模式的主要工作原理是:首先,控制人員通過每年季節(jié)的太陽光照情況,算出最佳路燈開關(guān)時(shí)間;然后,控制人員再通過把每個(gè)季節(jié)相應(yīng)的路燈開關(guān)時(shí)間輸入控制器,讓控制器根據(jù)相應(yīng)時(shí)間來控制路燈的開關(guān)操作。最后,在這基礎(chǔ)上,加入光控設(shè)置,即在路燈上放置光敏電阻,對路燈附近的光強(qiáng)進(jìn)行檢測。光
53、控設(shè)置的優(yōu)先級設(shè)置高于時(shí)控設(shè)置,即當(dāng)天黑的比設(shè)置的時(shí)間早的時(shí)候,以光控設(shè)置為主,通過光敏電阻的檢測,發(fā)信息到控制器,讓控制器來開啟路燈操作。</p><p> 下圖圖4-5為光控模式實(shí)現(xiàn)路燈開關(guān)燈流程圖。</p><p> 圖4-5 光控模式實(shí)現(xiàn)路燈開關(guān)燈流程圖</p><p> 光控模式的主要功能是通過路燈上的光敏電阻來檢測路燈附近的光照情況。當(dāng)天變暗的時(shí)候
54、,光敏電阻會采集信號發(fā)送到比較器進(jìn)行判斷,然后再發(fā)送到控制器,讓控制器對信號進(jìn)行分析和處理,并返回相應(yīng)是否開燈操作。</p><p> 下圖圖4-6為時(shí)控模式實(shí)現(xiàn)路燈開關(guān)燈流程圖。</p><p> 圖4-6 時(shí)控模式實(shí)現(xiàn)路燈開關(guān)燈流程圖</p><p> 時(shí)控模式的主要功能是控制器通過控制人員設(shè)定的時(shí)間來智能化實(shí)現(xiàn)控制路燈的開關(guān)路燈的操作處理。</p&
55、gt;<p> 下圖圖4-7為單元路燈開關(guān)的流程圖。</p><p> 圖4-7 單元路燈開關(guān)的流程圖</p><p> 單元時(shí)控模式的主要功能是把指定的幾百米里的路燈當(dāng)做一個(gè)單元來處理,這樣就把幾公里的路燈分為成了幾個(gè)單元模塊。當(dāng)晚上天黑人少的時(shí)候,采用這種模式來進(jìn)行開關(guān)燈操作。比如,在半夜里,行人和機(jī)動車很少的時(shí)候,路燈處于關(guān)閉狀態(tài),當(dāng)機(jī)動車移動到一個(gè)單元路燈里的時(shí)
56、候,當(dāng)前這單元路燈就會變亮,以供機(jī)動車行駛需要。當(dāng)機(jī)動車駛出以后,再關(guān)閉這一單元路燈,開啟另一單元路燈以供需要,這樣循環(huán)進(jìn)行,知道不在有單元路燈為止。</p><p> 下圖圖4-8為檢測定位模式實(shí)現(xiàn)路燈控制的流程圖。</p><p> 圖4-8 檢測定位模式實(shí)現(xiàn)路燈控制的流程圖</p><p> 檢測定位模式的主要功能是在天黑的時(shí)候,通過紅外線檢測技術(shù)來檢測
57、車輛的位置。比如當(dāng)紅外檢測裝置在路燈前的A點(diǎn)檢測到有車輛時(shí),檢測裝置會發(fā)送信號到控制器,讓控制器來對信號進(jìn)行分析和處理。最后,控制器會發(fā)出對單位1開啟路燈的指令,讓單元1路燈進(jìn)行開燈操作。當(dāng)車輛駛過A點(diǎn),到達(dá)B點(diǎn)時(shí),控制中心會關(guān)掉A點(diǎn)附近單元1的路燈,開啟B點(diǎn)附近單元2的路燈。當(dāng)車輛駛出B點(diǎn),到達(dá)C點(diǎn)??刂茣P(guān)閉單元2的路燈,開啟單元3的路燈。如果還有單元,會一次執(zhí)行下去。</p><p><b>
58、5 系統(tǒng)測試</b></p><p> (1)在液晶屏幕上能夠顯示時(shí)鐘、顯示菜單。設(shè)定、顯示開關(guān)燈時(shí)間,控制整條支路(測試用早上6:00關(guān)燈,晚上7:OO開燈)或獨(dú)立控制路燈1及路燈2的開燈和關(guān)燈。</p><p> ?。?)環(huán)境明暗變化自動開關(guān)燈地模擬測試。當(dāng)環(huán)境的光照度小于0.1(用手遮擋光敏電阻),自動點(diǎn)亮路燈,手松開自動關(guān)閉路燈。 (3)在環(huán)境黑暗的情況下,用
59、紅外線檢測技術(shù)測試移動的物體,能夠?qū)崿F(xiàn)開關(guān)燈。</p><p><b> 6 結(jié)論</b></p><p> 本設(shè)計(jì)的創(chuàng)新點(diǎn)在于詳細(xì)設(shè)計(jì)了基于單片機(jī)AT89252的路燈控制系統(tǒng),通過對功率參數(shù)的實(shí)際測量,達(dá)到精確控制路燈的輸出功率;系統(tǒng)能夠根據(jù)光線的強(qiáng)弱進(jìn)行自動開關(guān)路燈;還能夠根據(jù)控制系統(tǒng)來設(shè)定定時(shí)開關(guān)路燈;能根據(jù)紅外線檢測技術(shù)來檢測是否有車,來進(jìn)行是否開關(guān)燈操
60、作。多種控制方式起到節(jié)能和智能控制作用。所設(shè)計(jì)程序已經(jīng)在模擬路燈控制系統(tǒng)硬件平臺上成功運(yùn)行。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 賀一嗚,王崇貴,劉進(jìn)宇.智能路燈控制系統(tǒng)設(shè)計(jì)與應(yīng)用研究[J]. 現(xiàn)代電子 技術(shù),2010,(1).</p><p> [2] 甘金明,鄧明建.路燈智能數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J]
61、. 微計(jì)算機(jī)信息( 測控自動化)2008,24(2-1).</p><p> [3] 張三,AT89C52高性能8位單片機(jī)[EB/OL],[2009-5-15].</p><p> [4] 紀(jì)玲玲.路燈控制系統(tǒng)控制方法研究[J].廣西物理,2009,30(3).</p><p> [5] 賴惠鴿,朱學(xué)軍.基于MELSEC-FX2N的節(jié)能型路燈控制程序設(shè)計(jì)[J]
62、.重慶科技學(xué)院學(xué)報(bào)(自然科學(xué)版),2009.10,11(5).</p><p> [6] 王彥,樊祥春.基于低壓電器的路燈節(jié)能控制方式的應(yīng)用研究[J].建筑電氣,2010,29(15).</p><p> [7] 肖麗仙.基于單片機(jī)的網(wǎng)絡(luò)化路燈控制系統(tǒng)設(shè)計(jì)[J]. 楚雄應(yīng)用技術(shù)學(xué)院,2006.2,25(2).</p><p> [8] 陳宏偉,張少鋒,陳治川.
63、電力載波技術(shù)在路燈控制系統(tǒng)中的應(yīng)用[J].微計(jì)算機(jī)信息(測控自動化),2010,26(5-1).</p><p> [9] 李曉高,張儒,陳昌虎.一種電力載波式模型在校園節(jié)能路燈控制系統(tǒng)中的應(yīng)用[J].科技傳播,2010.7.</p><p> [10]周芳,劉美根.電力載波技術(shù)在景觀路燈控制中的應(yīng)用[J].煤炭工程,2007,(8).</p><p> [1
64、1]王宏軍,潘晶瑩,王航宇.路燈控制電路設(shè)計(jì)[J].科技廣場,2010.5.</p><p> [12]張毅剛等.MCS-51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2006年. </p><p> 附錄1 原理圖電路總圖</p><p> 附錄2 路燈控制系統(tǒng)實(shí)物圖</p><p> 附錄3 主要源程序代碼</p&
65、gt;<p> /***************1602控制位的宏定義**************************/</p><p> #define LCD_OUT DDRC=0XFF //數(shù)據(jù)端設(shè)為輸出</p><p> #define LCD_C_DDR DDRD|=0XE0 //控制端設(shè)為輸出
66、 </p><p> #define LCD_DATA PORTC //發(fā)送數(shù)據(jù)端</p><p> #define LCD_RS_H PORTD|=BIT(PD5); //操作的是命令</p><p> #define LCD_RS_L PORTD&=~BIT(PD5); //操作的是數(shù)
67、據(jù)</p><p> #define LCD_RW_H PORTD|=BIT(PD6); //從1602讀</p><p> #define LCD_RW_L PORTD&=~BIT(PD6); //向1602寫</p><p> #define LCD_OE_H PORTD|=BIT(PD7); //1602使能<
68、;/p><p> #define LCD_OE_L PORTD&=~BIT(PD7); //1602不使能</p><p> #define LCDa_CURON0x0E// 顯示光標(biāo)</p><p> #define LCDa_CURFLA0x0F// 打開光標(biāo)閃爍</p><p> /*****
69、*************RTC常量******************/ </p><p> #define RTC_CLK PB7</p><p> #define RTC_DATA PB5</p><p> #define RTC_CS PC7</p><p> #define RD 0x0
70、1</p><p> #define WR 0x00</p><p> #define C_SEC0x80//秒</p><p> #define C_MIN0x82//分</p><p> #define C_HR0x84//時(shí)</p><p> #define C_WP
71、0x8E//控制(寫保護(hù))</p><p> #define C_BURST0xBE//時(shí)鐘多字節(jié)</p><p> #define CLK_HALT0x80//停止時(shí)鐘控制位 </p><p> #define CLK_START0x00//啟動時(shí)鐘 </p><p> #define PROTECT
72、0x80//寫保護(hù)控制位 </p><p> #define UPROTECT0x00//寫保護(hù)控制位 </p><p> /***************按鍵常量控制位的宏定義**************************/</p><p> #define KEY_OUT DDRA|=0XF8//按鍵方向定義輸出</p&
73、gt;<p> #define KEY_IN DDRA&=0X07//按鍵方向定義輸入</p><p> #define KEY_DATA PINA //讀按鍵端口</p><p> #define KEY_OUT_H PORTA|=0XF8 //按鍵端口輸出高電平</p><p> #pra
74、gma data:code </p><p> const uchar table[]={0x30,0x31,0x32,0x33,0x34,</p><p> 0x35,0x36,0x37,0x38,</p><p><b> 0x39}; </b></p><p> /*********************
75、***全局變量宏定義**********/</p><p> uchar hour,hourshi,hourge,minute,minuteshi,minutege,</p><p> second,secondshi,secondge,haomiao,haomiaoshi,haomiaoge;</p><p> uchar chucun[];//存儲設(shè)置時(shí)間
76、時(shí)的當(dāng)前值</p><p> void delayns(uint US) </p><p><b> {</b></p><p><b> uint i;</b></p><p> US=US*5/4; //5/4是在8MHz晶振下,通過軟件仿真反復(fù)實(shí)驗(yàn)得到的數(shù)值</p
77、><p> for( i=0;i<US;i++); </p><p><b> }</b></p><p> void delay(uint MS) </p><p><b> {</b></p><p><b> uint i,j;</b&
78、gt;</p><p> for( i=0;i<MS;i++)</p><p> for(j=0;j<1141;j++);//1141是在8MHz晶振下,通過軟件仿真反復(fù)實(shí)驗(yàn)得到的數(shù)值</p><p><b> }</b></p><p> /****************************
79、***************</p><p> 函數(shù)名稱: LCD1602_write_com(uchar com)</p><p> 功 能: 向1602液晶寫入一個(gè)字節(jié)指令</p><p> 參 數(shù): com是指令</p><p><b> 返回值 : 無</b></p><
80、;p> /********************************************/</p><p> void LCD1602_write_com(uchar com)</p><p><b> {</b></p><p><b> LCD_RS_L;</b></p><
81、p><b> LCD_RW_L;</b></p><p> LCD_DATA=com;</p><p><b> delay(5);</b></p><p><b> LCD_OE_H;</b></p><p><b> delay(5);</b
82、></p><p><b> LCD_OE_L;</b></p><p><b> }</b></p><p> /*******************************************</p><p> 函數(shù)名稱: LCD1602_write_dat(uchar da
83、t)</p><p> 功 能: 向1602液晶寫入一個(gè)字節(jié)數(shù)據(jù)</p><p> 參 數(shù): dat是數(shù)據(jù)</p><p><b> 返回值 : 無</b></p><p> /**********************************************/</p>&l
84、t;p> void LCD1602_write_dat(uchar dat)</p><p><b> { </b></p><p><b> LCD_RS_H;</b></p><p><b> LCD_RW_L;</b></p><p> LCD_D
85、ATA=dat;</p><p><b> delay(5);</b></p><p><b> LCD_OE_H;</b></p><p><b> delay(5);</b></p><p><b> LCD_OE_L;</b></p&g
86、t;<p><b> }</b></p><p> /*******************************************</p><p> 函數(shù)名稱: LCD1602_init()</p><p> 功 能: 初始化1602液晶</p><p><b> 參
87、 數(shù): 無</b></p><p><b> 返回值 : 無</b></p><p> /**********************************************/</p><p> void LCD1602_init()</p><p><b> {</b&g
88、t;</p><p><b> LCD_OUT;</b></p><p> LCD_C_DDR;</p><p><b> LCD_OE_L;</b></p><p> LCD1602_write_com(0X38);//設(shè)置16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口</p>&l
89、t;p><b> delay(5);</b></p><p> LCD1602_write_com(0X0C);//設(shè)置開顯示,不顯示光標(biāo)</p><p><b> delay(5);</b></p><p> LCD1602_write_com(0X01);//顯示清0,數(shù)據(jù)指針清0</p>
90、<p><b> delay(5);</b></p><p> LCD1602_write_com(0X06);//寫一個(gè)字符后地址指針加1</p><p><b> delay(5);</b></p><p> //LCD1602_write_com(0X80+0x0f);//將數(shù)據(jù)指針定位到第一行第一
91、個(gè)字處:LCD1602_write_com(0X80)</p><p> ///delay(5); //寫第二行時(shí)要重新定位數(shù)據(jù)指針</p><p> //write_com(0X80+0x40) </p><p><b> }</b></p><p> /********
92、***********************************</p><p> 函數(shù)名稱: DS1302_init</p><p> 功 能: 初始化DS1302的數(shù)據(jù)接口</p><p><b> 參 數(shù): 無</b></p><p><b> 返回值 : 無</b>
93、;</p><p> /********************************************/</p><p> void DS1302_portinit(void) </p><p><b> {</b></p><p> DDRB|=BIT(RTC_CLK)|BIT(RTC_DATA
94、)|BIT(RTC_CS);//將時(shí)鐘端(RTC_CLK)數(shù)據(jù)端(RTC_DATA)片選端(RTC_CS)設(shè)置為輸出</p><p> DS1302_writeD(C_WP|WR,UPROTECT); //寫入寫允許命令</p><p> DS1302_writeD(C_SEC|WR,CLK_START);//啟動振蕩器,DS1302開始工作</p><p
95、> DS1302_writeD(C_WP|WR,PROTECT); //控制命令,WP位為1,不允許寫操作</p><p><b> } </b></p><p> /*******************************************</p><p> 函數(shù)名稱: DS1302_writeB</p&g
96、t;<p> 功 能: 向DS1302寫入一個(gè)字節(jié)數(shù)據(jù)(沒有RST操作)</p><p> 參 數(shù): byte--要寫入的數(shù)據(jù)</p><p><b> 返回值 : 無</b></p><p> /********************************************/</p>
97、<p> void DS1302_writeB(uchar byte)</p><p><b> {</b></p><p><b> uchar i;</b></p><p> for(i=0;i<8;i++) //8位數(shù)據(jù)計(jì)數(shù)</p><p><b>
98、; {</b></p><p> PORTB&=~BIT(RTC_CLK); //拉低時(shí)鐘端</p><p> if(byte&0x01) //當(dāng)前位是否是1</p><p><b> {</b></p><p> PORTB|=BIT(RTC_DATA); //
99、當(dāng)前位是1,拉高數(shù)據(jù)端</p><p><b> }</b></p><p> else </p><p><b> {</b></p><p> PORTB&=~BIT(RTC_DATA); //當(dāng)前位是0,拉低數(shù)據(jù)端</p><p>&l
100、t;b> } </b></p><p> delayns(10); //調(diào)整時(shí)鐘和脈沖寬度</p><p> PORTB|=BIT(RTC_CLK); //時(shí)鐘上升沿(DS1302采樣數(shù)據(jù))</p><p> byte>>=1; //數(shù)據(jù)右移1位,為送出新數(shù)據(jù)位做準(zhǔn)備</p><
101、p><b> }</b></p><p><b> }</b></p><p> /*******************************************</p><p> 函數(shù)名稱: DS1302_writeD</p><p> 功 能: 向DS1302的某個(gè)
102、地址寫入一個(gè)字節(jié)數(shù)據(jù)</p><p> 參 數(shù): addr--地址值(寄存器或RAM)</p><p> data--要寫入的地址</p><p><b> 返回值 : 無</b></p><p> /********************************************/</p&
103、gt;<p> void DS1302_writeD(uchar addr,uchar data)</p><p><b> {</b></p><p> PORTC&=~BIT(RTC_CS); //拉低片選端</p><p> PORTB&=~BIT(RTC_CLK); //拉低時(shí)鐘端</p&
104、gt;<p> delayns(10);</p><p> PORTC|=BIT(RTC_CS); //拉高片選端</p><p> delayns(10); //調(diào)整片選脈沖</p><p> DS1302_writeB(addr); //寫入操作命令(地址)</p><p> delayns(10);&
105、lt;/p><p> PORTB&=~BIT(RTC_CLK); //拉低時(shí)鐘端</p><p> delayns(10);</p><p> DS1302_writeB(data); //寫入數(shù)據(jù)</p><p> PORTB&=~BIT(RTC_CLK); //拉低時(shí)鐘端</p><p>
106、 delayns(10); //調(diào)整片選脈沖</p><p> PORTC&=~BIT(RTC_CS); //拉低片選端</p><p><b> }</b></p><p> /*******************************************</p><p> 函數(shù)名稱:
107、 DS1302_setT</p><p> 功 能: 設(shè)置DS1302的時(shí)間</p><p> 參 數(shù): ptTimeD--設(shè)置時(shí)間數(shù)組指針</p><p><b> 返回值 : 無</b></p><p> /********************************************
108、/</p><p> void DS1302_setT(uchar ptTimeD[])</p><p><b> {</b></p><p><b> uchar i;</b></p><p> uchar addr = 0x80; //寫入地址從秒寄存器開始</p&g
109、t;<p> DS1302_writeD(C_WP|WR,UPROTECT); //控制命令,WP位為0,允許寫操作</p><p><b> delay(5);</b></p><p> for(i=0;i<7;i++)</p><p><b> {</b></p><p&
110、gt; DS1302_writeD(addr|WR,ptTimeD[i]); // 秒 分 時(shí) 日 月 星期 年 </p><p><b> addr+=2;</b></p><p><b> delay(1);</b></p><p><b> }</b></p&g
111、t;<p> DS1302_writeD(C_WP|WR,PROTECT); //控制命令,WP位為1,不允許寫操作</p><p><b> } </b></p><p> /*******************************************</p><p> 函數(shù)名稱: DS1302_read
112、B</p><p> 功 能: 從DS1302讀出一個(gè)字節(jié)數(shù)據(jù)(沒有RST操作)</p><p><b> 參 數(shù): 無</b></p><p> 返回值 : byte--讀出的數(shù)據(jù)</p><p> /********************************************/<
113、;/p><p> uchar DS1302_readB(void)</p><p><b> {</b></p><p> uchar i,byte=0;</p><p> DDRB&=~BIT(RTC_DATA); //將數(shù)據(jù)端口設(shè)置為輸入 </p><p> PORTB
114、&=~BIT(RTC_DATA); //無上拉電阻</p><p> for(i=0;i<8;i++) //8位數(shù)據(jù)計(jì)數(shù)</p><p><b> {</b></p><p> byte>>=1; //保存讀入的數(shù)據(jù)位</p><p> PORTB|=BIT(RTC
115、_CLK); //時(shí)鐘上升沿</p><p> delayns(10); //延時(shí),調(diào)整時(shí)鐘脈沖寬度</p><p> PORTB&=~BIT(RTC_CLK); //時(shí)鐘下降沿,DS1302輸出數(shù)據(jù)位</p><p> delayns(10); //等待數(shù)據(jù)變化(MEGA16太快,必須等待DS1302的數(shù)據(jù)位輸出,否則不能正確
116、讀出)</p><p> if(PINB&BIT(RTC_DATA)) //當(dāng)前位是否是高電平</p><p><b> {</b></p><p> byte|=BIT(PB7); //是高電平就將返回?cái)?shù)據(jù)的當(dāng)前位置1</p><p><b> }</b></p>
117、;<p><b> else</b></p><p><b> {</b></p><p> byte&=~BIT(PB7); //是低電平就將返回?cái)?shù)據(jù)的當(dāng)前位置0</p><p><b> }</b></p><p><b>
118、}</b></p><p> DDRB|=BIT(RTC_DATA); //最后將數(shù)據(jù)端口設(shè)置為輸出</p><p> return byte; //返回讀出的數(shù)據(jù)</p><p><b> } </b></p><p> /********************************
119、***********</p><p> 函數(shù)名稱: DS1302_readD</p><p> 功 能: 從DS1302的某個(gè)地址讀出一個(gè)字節(jié)數(shù)據(jù)</p><p> 參 數(shù): addr--地址值(寄存器或RAM)</p><p> 返回值 : data--讀出的數(shù)據(jù)</p><p> /***
120、*****************************************/</p><p> uchar DS1302_readD(uchar addr)</p><p><b> {</b></p><p> uchar data;</p><p> PORTC&=~BIT(RTC_CS);
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)路燈控制系統(tǒng)設(shè)計(jì)【畢業(yè)論文】
- 基于單片機(jī)的太陽能路燈控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 單片機(jī)路燈控制系統(tǒng)設(shè)計(jì)畢業(yè)論文 文獻(xiàn)綜述 開題報(bào)告
- 基于單片機(jī)模擬路燈控制系統(tǒng)畢業(yè)設(shè)計(jì)
- 單片機(jī)路燈控制系統(tǒng)設(shè)計(jì)【畢業(yè)論文+文獻(xiàn)綜述+開題報(bào)告】
- 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)溫度控制系統(tǒng)的設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)單片機(jī)路燈控制系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 基于51單片機(jī)路燈控制系統(tǒng)設(shè)計(jì)
- 畢業(yè)論文設(shè)計(jì)基于單片機(jī)溫度控制系統(tǒng)的設(shè)計(jì)
- 畢業(yè)論文(設(shè)計(jì))基于單片機(jī)的水位控制系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的溫度控制系統(tǒng)畢業(yè)論文
- 畢業(yè)論文--基于單片機(jī)的溫度控制系統(tǒng)
評論
0/150
提交評論