




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于 MCS-51 單片機(jī)的路燈檢測系統(tǒng)的設(shè)計 #學(xué)院信息工程系 自動化專業(yè) 2008 屆 姓名 學(xué)號 摘要 本設(shè)計對城市路燈自動檢測系統(tǒng)方法進(jìn)行了嘗試。采用單片機(jī)和PC機(jī)組 成上下位機(jī)結(jié)構(gòu)的路燈測試系統(tǒng)。單片機(jī)作為下位機(jī)采集小區(qū)各路燈好壞的狀 態(tài)信息,并通過RS-232將這些信息送到上位機(jī)。PC機(jī)作為上位機(jī)對下位機(jī)送來 的各路燈信息進(jìn)行顯示、保存。系統(tǒng)設(shè)計了路燈檢測電路、RS-232接口電路。 下位機(jī)采用匯編語言完成程序設(shè)計,上位機(jī)采用Visual Basic作為軟件開發(fā)平 臺設(shè)計監(jiān)控界面、文件管理等。實(shí)驗(yàn)表明, 系統(tǒng)設(shè)計可行,這種通信方案提高 了監(jiān)測路燈的效率可以提高了監(jiān)測路燈的效率。 關(guān)
2、鍵詞 實(shí)時監(jiān)控 MAX232 電路 串口調(diào)試 監(jiān)控界面 MCS-51 單片機(jī) MCS-51 based road detection system design ChenXiangmei ,Automation major,2008 Dept. of Automation major,Chengyi College of Jimei University Abstract: The system introduces a single chip microcomputer based on MCS-51street lamp monitoring system, analog streetli
3、ght cable communication mode. Aiming at the current lighting quality inspection is usually used artificial way to bring a lot of inconvenience to this problem, put forward PC machine real time monitoring lamp quality plan. System machine using MCS-51microcontroller as the main control chip, using as
4、sembly as the software development platform. In the hardware with LED lights to simulate the lamp, the relay coil is connected in series with the lamp, based on SCM P1 port has potential to judge the corresponding lamp quality. Software on the PC machine through the Visual Basic software to design a
5、 real-time monitoring interface, real-time monitoring the state of road lamp, records and stores the bad light information. Experimental results show that, the scheme improves the monitoring lamp efficiency. Key words: real-time monitoring ;MAX232circuit ;debugging serial; monitoring interface ;chip
6、 MCS-51 目錄 引言.1 第 1 章 緒論.2 1.1課題研究的背景、目的和意義.2 1.2國內(nèi)外的研究與發(fā)展概況.3 第 2 章 系統(tǒng)硬件的設(shè)計.4 2.1總體方案設(shè)計.4 2.2硬件設(shè)計.5 2.3串口電路的設(shè)計.6 第 3 章 系統(tǒng)軟件設(shè)計.8 3.1程序設(shè)計思路.8 3.2程序的設(shè)計.10 3.2.1串口通信程序 .10 3.2.2串口調(diào)試 .11 3.2.3上位機(jī)軟件設(shè)計.12 結(jié)論.15 致謝.16 參考文獻(xiàn).17 引言 現(xiàn)代的城市生活當(dāng)中路燈照明已經(jīng)成為人們生活中不可或缺的公共設(shè)施之 一,目前城市范圍在不斷的擴(kuò)大,城市道路的路燈數(shù)量也成倍的增長;而隨著人 們生活水平的提高,
7、人們對于居住環(huán)境要求也越來越高,許多高檔小區(qū)中的路 燈與景觀燈數(shù)量也達(dá)到了一定的規(guī)模。隨著燈具數(shù)量的成倍增長,傳統(tǒng)的人工 巡查檢測方式不僅耗費(fèi)人力物力,并且容易產(chǎn)生死角給不法分子以可趁之機(jī), 因此傳統(tǒng)的方式在現(xiàn)階段已經(jīng)不再適應(yīng)。對于現(xiàn)階段的路燈照明系統(tǒng)來說,基 于智能化照明的智能檢測系統(tǒng)是滿足人們生活要求、保障人身安全、顯示現(xiàn)代 化城市和小區(qū)風(fēng)景與形象的科學(xué)解決方法1。 第 1 章 緒論 1.1 課題研究的背景、目的和意義 隨著中國經(jīng)濟(jì)的快速、穩(wěn)定發(fā)展,中國城市進(jìn)入了一個日新月異、蓬勃發(fā) 展的時期,城市路燈照明作為城市建設(shè)的重要組成部分,不僅直接關(guān)系到人民 群眾的交通安全,而且直接關(guān)系到城市的
8、形象。隨著城市規(guī)模的不斷擴(kuò)大,城 市路燈數(shù)量也不斷增加,目前一些地區(qū)采用人工巡檢的方式檢查路燈的好壞已 經(jīng)不適合了。對于城市路燈的控制和管理迫切需要一種科學(xué)、合理和高效的方 法,對于路燈的開關(guān),特別是路燈好壞的檢測提出了更高的要求,城市路燈檢 測作為其中最主要的管理系統(tǒng)之一,目前已成為各城市路燈建設(shè)的必要內(nèi)容。 單片機(jī)自問世以來,在國內(nèi)外應(yīng)用日趨廣泛,其性能不斷提高和完善,性 能價格比不斷提高,體積、重量大為減小,除此之外,還具有穩(wěn)定性好,抗干 擾能力強(qiáng),溫度范圍寬等優(yōu)點(diǎn)。它廣泛用于工業(yè)控制、儀器儀表、數(shù)據(jù)處理、 通訊設(shè)備、節(jié)能應(yīng)用、制導(dǎo)和軍事、生活消費(fèi)等方面。本課題要求設(shè)計基于單 片機(jī)控制的
9、路燈檢測系統(tǒng),本系統(tǒng)采用用一個單片機(jī)對小區(qū)的多個燈桿的路燈 進(jìn)行檢修,并將本小區(qū)的燈桿狀態(tài)發(fā)送到上位機(jī)(PC機(jī)),上位機(jī)將小區(qū)的路 燈信息發(fā)送到路燈所的網(wǎng)站上,為路燈所的工作人員提供參考。上位機(jī)采用 Visual Basic作為軟件開發(fā)平臺,記錄并儲存壞燈信息。這樣該系統(tǒng)就能夠?qū)?時地監(jiān)測各個路燈的運(yùn)行情況,當(dāng)某個路燈出現(xiàn)故障時,能自動將路燈的標(biāo)號 信息送到小區(qū)的上位機(jī),上位機(jī)再送到網(wǎng)絡(luò),使路燈所工作人員及時派電工前 去更換路燈,完善控制功能,方便的管理,能高效可靠地實(shí)現(xiàn)路燈的檢測。 本課題的研究有利于鞏固所學(xué)的單片機(jī)的知識,特別是對單片機(jī)的硬件有 更進(jìn)一步地提升,不僅加強(qiáng)了Visual Ba
10、sic語言程序設(shè)計的理解和應(yīng)用,也進(jìn) 一步加強(qiáng)了我的編程能力和硬件的調(diào)試能力。為今后從事研究工作打下良好的 基礎(chǔ),具有較強(qiáng)的實(shí)用意義。 1.2國內(nèi)外的研究與發(fā)展概況 在市場經(jīng)濟(jì)的推動下,在招商引資的投資壞境中,城市的基礎(chǔ)建設(shè),備受 投資者的關(guān)注。在諸多的基礎(chǔ)建設(shè)硬件中,城市路燈、景觀燈城市照明設(shè)施, 無疑是整個城市夜晚的亮點(diǎn),為城市增添無窮魅力。 根據(jù)百度百科上查閱,目前國內(nèi)一些城市的路燈控制方式,還停留在原來 的手動、光控、鐘控模式。受季節(jié)、天氣和人為因素影響、自動化管理水平不 高,經(jīng)常該亮?xí)r不亮,該滅時不滅,極易造成極大的能源浪費(fèi)。主要是不具備 遠(yuǎn)程故障報警,現(xiàn)在有些地方照明設(shè)施管理工作主
11、要采用人工巡查模式,不僅 工作量大,還浪費(fèi)人力、物力、財力。故障依據(jù)主要來源于巡視人員上報和市 民投訴,缺乏主動性、及時性和可靠性,不能實(shí)時、準(zhǔn)確、全面地監(jiān)控全城的 路燈運(yùn)行狀況,缺乏有效的故障預(yù)警機(jī)制。不具備設(shè)備監(jiān)測:城市路燈覆蓋面 積大,管理手段落后,無法準(zhǔn)確發(fā)現(xiàn)電纜盜割、短路和斷路,一旦出現(xiàn)以上情 況,勢必給政府帶來巨大的經(jīng)濟(jì)損失,同時影響市民的正常生活。也不具備良 好的工作管理:設(shè)備的維護(hù)和員工的工作考核,主要依賴人工,缺乏對工作人 員的工作考核。 當(dāng)然隨著計算機(jī)網(wǎng)絡(luò)、信息、通訊和自動化技術(shù)的飛速發(fā)展,城市路燈控 制方式也逐漸步入到了自動化和信息化管理模式。路燈監(jiān)控系統(tǒng)已經(jīng)從傳統(tǒng)的 控
12、制方法(如手動控制、定時器控制與光敏控制等)發(fā)展到能在監(jiān)控室實(shí)現(xiàn)對單 條支路進(jìn)行自動檢測1。 路燈監(jiān)控系統(tǒng)在國外已經(jīng)非常成熟,采用電力線載波通信技術(shù)和數(shù)傳機(jī)電 臺通信技術(shù)實(shí)現(xiàn)對路燈的實(shí)時控制在國外得到了很好的應(yīng)用。所以我國的路燈 監(jiān)控系統(tǒng)技術(shù)是一項(xiàng)急需提高的項(xiàng)目。 第 2 章 系統(tǒng)硬件的設(shè)計 2.1 總體方案設(shè)計 將一座城市分成若干個小區(qū),每個小區(qū)為方圓 500 米左右,選擇具有電信 光纖網(wǎng)的地方放置本小區(qū)的燈桿檢測信息系統(tǒng)的上位機(jī),用一個單片機(jī)作為測 試系統(tǒng)的下位機(jī)。單片機(jī)檢測每個燈桿的好壞信息,并將信息送到上位機(jī)并存 儲記錄。上位機(jī)將本小區(qū)的燈桿信息送到路燈所的網(wǎng)站,為路燈所的工作人員 查
13、詢各燈桿狀態(tài)提供便利。當(dāng)路燈維修好后,系統(tǒng)通過人-機(jī)對話的方式記錄維 修時間,維修人員和維修說明,以備管理之用。各小區(qū)的燈桿信息匯集成整個 城市的路燈檢測、管理系統(tǒng)。 本次設(shè)計的總體設(shè)計步驟如下: 1)串口通信功能,主要完成數(shù)據(jù)有線傳輸,把轉(zhuǎn)化后的路燈狀態(tài)通過有線 的方式發(fā)送給 PC 機(jī),主要實(shí)現(xiàn)上下位機(jī)之間的通信,即單片機(jī)通過串口把相應(yīng) 的數(shù)據(jù)傳送到上位機(jī)中,進(jìn)行更進(jìn)一步數(shù)據(jù)處理; 2)在路燈電路中加入繼電器,通過繼電器得失電時相應(yīng)觸頭的動作,接通 或切斷送給 P1 口的電信號,從而來監(jiān)測出路燈的工作狀態(tài)。 3)信號采集,主要對路燈的工作狀態(tài)進(jìn)行采集; 4)在 PC 機(jī)能夠良好的接收到各個區(qū)
14、采集到的數(shù)據(jù)后,通過 VISUAL BASIC 軟件平臺實(shí)現(xiàn)上位機(jī)數(shù)據(jù)的存儲和顯示。 其系統(tǒng)框圖如圖 2-1 所示。 上位機(jī) 串 口 通 訊 單片機(jī) 路燈 1 路燈 n 網(wǎng) 絡(luò) 圖 2-1 一個小區(qū)的路燈檢測系統(tǒng)結(jié)構(gòu) 本設(shè)計主要完成一個小區(qū)的路燈狀態(tài)檢測,下位機(jī)信息傳送,上位機(jī)的信 息接收、存儲、維修信息記錄等功能。上圖中上位機(jī)到網(wǎng)絡(luò)過程本設(shè)計沒有涉 及。 2.2 硬件設(shè)計 本系統(tǒng)采用 MCS-51 單片機(jī)完成路燈系統(tǒng)的采集,假設(shè)本小區(qū)有 8 個燈桿, 用單片機(jī)的 P1 口進(jìn)行數(shù)據(jù)的采集。每個路燈均有路燈檢測電路,單片機(jī)系統(tǒng)還 將擴(kuò)展 RS-232 串行接口,實(shí)現(xiàn)單片機(jī)與 PC 機(jī)的串行通信。
15、 本設(shè)計只對一個路燈的檢測電路進(jìn)行設(shè)計與分析,其余的七盞路燈都使用 同樣的電路,通常路燈供電為 220V 的交流電,每個小區(qū)均有時間繼電器或其他 器件,來控制路燈的開與關(guān)(晚上與白天) ,以便在檢測電路時區(qū)分是路燈不帶 電熄滅和故障熄滅的的情況。 路燈與單片機(jī)之間的電路是由主電路與控制電路組成,如圖 2-2 所示,為 了區(qū)分白天晚上,在設(shè)計中用了兩個時間繼電器 T0 和 T1 來控制,在 18 點(diǎn)時閉 合開關(guān) SB1,使時間繼電器 T0 線圈得電,記時 24 小時后,T0 的常開觸點(diǎn)閉合, KM1 線圈得電,KM1 常開觸點(diǎn)閉合,表示晚上,P1.X 就可以讀取燈信息。其中, KM2 線圈與路燈
16、串聯(lián),當(dāng)路燈正常亮?xí)r,KM2 線圈得電,KM2 的常閉觸點(diǎn)斷開, P1.x 讀入高電平(即無壞燈信息) ;燈壞時,KM2 線圈失電,KM2 常閉觸點(diǎn)閉合, P1.x 接地,讀入低電平(即有壞燈信息) 。第二天 7 點(diǎn)閉合 SB2,T1 線圈得電, 記時 24 小時后,T1 常閉觸點(diǎn)斷開斷開,KM1 線圈失電,KM1 常開觸點(diǎn)斷開,表 示白天,P1.x 就無法讀取燈信息。 為了更好的理解控制硬件電路的工作原理,增加了電路工作過程的流程如 2-3 所示。 晚上 白天 按下開關(guān) SB1 按下開關(guān) SB2 T0 線圈得電 KM1 線圈得電,KM1 常開觸 點(diǎn)閉合,常閉觸點(diǎn)斷開 T0 記時到 P1.X
17、可讀取路燈狀態(tài) T1 線圈得電 T1 記時到 KM1 線圈得電,KM1 常開觸 點(diǎn)斷開,常閉觸點(diǎn)閉合 P1.X 口處于懸空狀 態(tài) 圖 2-2 硬件電路工作流程圖 +5 V 1K KM1 P1.x KM2 KM1 1 T0 T1 KM1 KM2 1 KM1 路燈 T0 SB1 T1 SB2 主電路 控制電路 圖 2-3 硬件電路圖 +220V 2.3 串口電路的設(shè)計 (1)MAX232 電路的設(shè)計原理 MAX232 外圍需要 4 個電解電容 C1、C2、C3、C4,是內(nèi)部電源轉(zhuǎn)換所需電 容,其取值為 10uF,宜選用電容并盡量靠近芯片。 MAX232 是 MAXIM 公司生產(chǎn) 的低功耗、單電源變
18、換器,可以把輸入的+5V 電源換成輸出電壓所需的10V 電 壓,所以采用此芯片接口的串口通訊系統(tǒng)只要單一的+5V 即可。MAX232 線驅(qū)動 器/接收器內(nèi)部含有 2 個驅(qū)動器、2 個接收器。每個發(fā)送器輸出端和接收器輸入 8KV 的接觸放電和15KV 的空氣間隙放電試驗(yàn)。 MAX232 芯片之所以需要電容,是因?yàn)?RS232 電平是工作在大約9V9V 之間,需要電容將 5V 電壓轉(zhuǎn)換成 Rs232 電平所需要的10V 和10V;電路上 叫電荷泵,很形象。在接線時圖中 TXIN 和 TXOUT 分別接 MCS-51 單片機(jī)的 P3.1(TXD) 和 P3.0(RXD),P3 口除了作為雙向 I/O
19、 接口使用外,沒一位具有獨(dú)特的第二功能, 即 P3.0 可作為串口輸入端,P3.1 可作為串行口輸出端。 對應(yīng)的原理圖如 2-3 所示。 (2)MAX232 電路正常工作的標(biāo)準(zhǔn) 1.將單片機(jī)和 MAX232 電路連好。 2.接著短接 P3.0 和 P3.1 跳針,給最小系統(tǒng)板上電,此時點(diǎn)擊手動發(fā)送, 接手區(qū)可以收到數(shù)據(jù)。 3.至此,可以說 MAX232 部分電路正常。 4.同時可以通過萬用表測試 MAX232 產(chǎn)生的電壓信號驗(yàn)證。MAX232 的 2 腳對地 是+10V 左右,6 腳對地是-10V 左右,16 腳對地是+5V 左右,15 腳接地, 圖 2.3 MAX232 電路原理圖 第 3
20、章 系統(tǒng)軟件設(shè)計 3.1 程序設(shè)計思路 本系統(tǒng)就是應(yīng)用單片機(jī)來檢測路燈的好壞,用白熾燈來模擬路燈,把繼 電器線圈與燈串聯(lián),燈完好時,繼電器得電,其對應(yīng)的常閉觸點(diǎn)斷開,高電 位送到單片機(jī)的 P1.x 口。反之,則把低電位送到單片機(jī)的 P1.X 口。PC 機(jī) 通過 Visual Basic 軟件來設(shè)計實(shí)時監(jiān)控界面,來實(shí)時地監(jiān)控路燈的狀態(tài), 并記錄存儲壞燈信息。這樣,只要有一個燈壞了,繼電器就動作,人們就能 得到相應(yīng)的信息后,人們同樣也能得到一個燈修好的信息。 1) 下位機(jī)的發(fā)送程序流程圖如圖 3-1 所示。發(fā)送模塊主程序首先初始 化程序,對單片機(jī)的 P1 口狀態(tài)讀入并放入寄存器 A 中,用異或指令
21、 來判斷有無壞燈,無則繼續(xù)讀取判斷,有則依次右移 8 次把八個燈 的狀態(tài)依次放入進(jìn)位標(biāo)志 C 中來判斷哪個燈桿壞,當(dāng)檢測到壞燈時 再把相應(yīng)的序號發(fā)送到上位機(jī)中。 2) 上位機(jī)的接收顯示流程圖如圖 3-2 所示。在 PC 機(jī)中應(yīng)用 Visual Basic 把壞燈的信息存儲在新建的文件中,并把信息顯示在界面上, 派維修員維修好后,把維修信息存在燈桿相應(yīng)的文件中,并改變現(xiàn) 在狀態(tài),把維修好后的信息顯示出來。通過這樣提高了路燈管理的 效率,也減少了城市交通出行的麻煩。 開始 串口初始 化 把燈信息放入寄存器 A 有無壞燈? 有 無 令燈個數(shù) R3=8,把進(jìn)位標(biāo)志 C 清 零 A 中的數(shù)帶進(jìn)位右移一位
22、 C=1 ? 把 R3 的內(nèi)容送到 PC 機(jī) R3 自減 1,R3=0 ? 結(jié)束 是 否 否 是 圖 3-1 單片機(jī)上的串口發(fā)送流程圖 開始 新建 8 個 txt 文件,并把初 始化的燈桿信息放入其中 從 TXT 文件中讀燈信息并顯示 串口初始化 接收壞燈信息并顯示 把之前的燈信息顯示為歷史狀態(tài) 派人維修 顯示維修后的各種信 息 結(jié)束 圖 3-2 信息接收與顯示程序的流程圖 3.2 程序的設(shè)計 .1 串口通信程序串口通信程序 串口通信按信息的格式又可分為異步通信和同步通信兩種方式,在本設(shè)計 中使用的是異步通信,其特點(diǎn)是數(shù)據(jù)在線路上傳送時是以一個字符(字節(jié))為 單位,在程序中 S
23、CON 為 50H(即串行口工作方式 1,8 為異步通信方式) 。波特 率是串口通信中的一個重要概念,它用于衡量串口通信速度的快慢。波特率是 指串行通信中,單位時間傳送的二進(jìn)制位數(shù),單位為 bps。已知 MCS-51 單片機(jī) 的震蕩頻率 fosc 為 12MHZ,程序中用到定時器 1,并工作于方式 1,初始值為 F3H(243) ,SMOD=1。本設(shè)計中波特率的計算如下: 定時器 1 的溢出率=(focs/12)/(28-X)(其中 X 為 T1 的初值) =(/12)/(28-243) =76923 方式 1 波特率 =2SMOD/32*(T1 的溢出率) =21/32*76923 =480
24、0 串口函數(shù)主要包括:串口初始化函數(shù)、串口發(fā)送函數(shù),下面對各函數(shù) 做相應(yīng)的介紹。 串口初始化程序: ORG 0000H LJMP MAIN ORG 0100H MAIN:MOV SCON,#50H /REN=1 允許串行接受狀態(tài),串口工作方式 1 MOV TMOD,#20H /定時器 1 的工作方式 2 MOV PCON,#80H /波特率提高一倍 MOV TH1,#0F3H /baud*2 /* 波特率 4800、數(shù)據(jù)位 8 /停止位 1。效驗(yàn)位無 (12 M) MOV TL1,#0F3H SETB TR1 /開啟定時器 1 SETB ES /開串口中斷 SETB EA / 開總中斷 在發(fā)送
25、程序中 TI 為發(fā)送中斷標(biāo)志位,本次設(shè)計用的是串行口工作方 式 1,在停止位發(fā)送時由硬件置位。 串口數(shù)據(jù)發(fā)送程序如下: START: MOV SBUF,P1 /讀取 P1 口的數(shù)據(jù) LOOP: JNB TI,LOOP /判斷上個數(shù)據(jù)是否發(fā)送完 CLR TI ACALL DELAY SJMP START DELAY: MOV R5,#30 /延遲程序 LOOP2: MOV R7,#0FFH LOOP1: MOV R6,#0FFH DJNZ R6,$ DJNZ R7,LOOP1 DJNZ R5,LOOP2 RET END .2 串口調(diào)試串口調(diào)試 本實(shí)驗(yàn)下位機(jī)、MAX232 電路與上
26、位機(jī)的接線圖如 3-3 所示,其中單片機(jī) 的 P3.0(RXT)為串口輸入端,P3.1(TXT)為串口輸出端,分別與 MAX232 芯片 的第 9 針和第十針相接通。電源和地也對應(yīng)連接。 圖 3-3 接收模塊與 PC 連接示意圖 串口調(diào)試工具接收結(jié)果示意圖如圖 3-4 所示,在工具上設(shè)置波特率為 4800,COM 口為第 3 個口。所有準(zhǔn)備設(shè)置好后開始進(jìn)行實(shí)驗(yàn),由圖上收到的 數(shù)據(jù)可以看出,串口調(diào)試工具能夠良好的循環(huán)接收到十六進(jìn)制的 FF,為實(shí) 現(xiàn)單片機(jī)與 PC 機(jī)通信打下基礎(chǔ)。 圖 3-4 串口調(diào)試工具接收結(jié)果示意圖 .3 上位機(jī)軟件設(shè)計上位機(jī)軟件設(shè)計 單片機(jī)接收到數(shù)據(jù)后經(jīng)過處
27、理,通過串口發(fā)送到上位機(jī),上位機(jī)使用 VB 進(jìn)行串口數(shù)據(jù)接收,并將相應(yīng)的路燈狀態(tài)顯示。監(jiān)控界面如圖 3-5。 進(jìn)入工作狀態(tài)界面后,開始接收來自串口的數(shù)據(jù),當(dāng)路燈出現(xiàn)故障時,工 作狀態(tài)欄會顯示相應(yīng)的路燈故障以及發(fā)生故障的日期。工作人員要進(jìn)行維修時 可在姓名欄選擇自己的名字或通過鍵盤輸入并點(diǎn)擊維修確定按鈕,系統(tǒng)會將故 障的日期、維修人名子保存到文件夾(E:各種習(xí)題資料VB 習(xí)題燈信息)里 其格式為 text。 圖 3-5 上位機(jī)監(jiān)控界面 其中右下角的 Text 空格用來顯示壞燈序號。由于白熾燈是使用高壓 220v 的電源,考慮到安全的問題,本設(shè)計通過把 P1 口的電位拉低來模擬路燈故障, 單片機(jī)采
28、集到 P1 口狀態(tài)信息,判斷有低電位后,就把信息送到上位機(jī)并顯示出 來。運(yùn)行時,不能看到燈桿運(yùn)行界面,先看到登錄界面如圖 4-6 所示。 圖 4-6 登錄界面 輸入正確的用戶名、密碼,點(diǎn)擊“確定”按鈕后,進(jìn)入工作狀態(tài)界面,其 界面如圖 3-7 所示。當(dāng)輸入錯誤時,在 Text3 中就會顯示“輸入用戶名或密碼 錯誤” 。也就無法看到燈桿的狀態(tài)信息。 在設(shè)計時,把 P1.0、P1.4 和 P1.5 端接地,模擬路燈故障其硬件圖如下所 示。 單片機(jī)檢測到路燈故障后馬上把信息發(fā)送到上位機(jī),從路燈監(jiān)控界面的標(biāo) 號可以清楚看出,哪些路燈壞了,并能快速地派維修人員去維修,接到維修好 的信息后,把維修員的名字
29、填入后點(diǎn)擊維修按鈕,1,、5 和 6 燈桿的狀態(tài)自動 更新為 1(即路燈正常時的狀態(tài)) ,同時也可以清楚地看到修好的時間。 圖 3-7 上位機(jī)運(yùn)行時的監(jiān)控界面 在該工作界面中接收來自串口的數(shù)據(jù),并將相應(yīng)的路燈工作狀態(tài)顯示出來, 若有路燈損壞,將會顯示相應(yīng)的故障日期。并會將維修人員、維修日期記錄到 text 文件中,其記錄如圖 3-8 所示。 圖 3-8 信息記錄保存示意圖 結(jié)論 本文以有線通信為基礎(chǔ),對路燈系統(tǒng)做故障檢測。簡要分析了路燈故障檢 測的原理,并詳細(xì)介紹了下位機(jī)系統(tǒng)設(shè)計及上位機(jī)數(shù)據(jù)接收及工作方式。下位 機(jī)系統(tǒng)設(shè)計主要使用了MCS-51單片機(jī)硬件平臺,下位機(jī)用匯編來實(shí)現(xiàn)串口發(fā)送 和上位
30、機(jī)用Visual Basic 語言來處理接收到的路燈信息。所設(shè)計的系統(tǒng)實(shí)現(xiàn)了 實(shí)時監(jiān)控路燈狀態(tài)的目的,可方便地應(yīng)用于城市路燈的管理方面。目前,實(shí)時 監(jiān)控系統(tǒng)在很多城市都已使用。實(shí)踐證明,該系統(tǒng)還有有一定的可行性。 系統(tǒng)還需改進(jìn)的地方: 1、由于經(jīng)濟(jì)的限制,系統(tǒng)采用的是有線通信,無線通信較通用; 2、系統(tǒng)檢測的還只是路燈回路故障,檢測范圍還不夠全面; 3、在上位機(jī)進(jìn)行信息存儲時過于繁瑣,還不能實(shí)現(xiàn)用 excel 表格記錄; 致謝 本設(shè)計是在導(dǎo)師江小霞教授悉心指導(dǎo)下完成的。在整個設(shè)計的過程中,老 師時刻關(guān)心著我設(shè)計的進(jìn)展,并且在我遇到問題的時候及時的給予我?guī)椭?,?我在設(shè)計的過程中少走了不少彎路。
31、江老師不僅在學(xué)業(yè)上給我以精心指導(dǎo),同 時還在思想、生活上給我以無微不至的關(guān)懷。老師淵博的專業(yè)知識,嚴(yán)謹(jǐn)?shù)闹?學(xué)態(tài)度,精益求精的工作作風(fēng)以及樸實(shí)無華、平易近人的人格魅力對我影響深 遠(yuǎn)。老師不僅教我掌握了基本的研究方法,還使我明白了許多待人接物與為人 處世的道理。本設(shè)計從選題到完成,每一步都是在江老師的指導(dǎo)下完成的,傾 注了老師大量的心血。在此,謹(jǐn)向江老師表示崇高的敬意和衷心的感謝! 本設(shè)計最終能夠順利完成,也離不開自動化各位老師的關(guān)心和幫助。老師 們課堂上的激情洋溢,課堂下的諄諄教誨,不僅使我很好地掌握了大量的專業(yè) 知識,也促使我養(yǎng)成積極地人生態(tài)度 。 同時,本設(shè)計的完成也得到了生變同學(xué)的熱情幫
32、助。感謝他們在整個設(shè)計 期間給我的鼓勵和幫助。在此,我再一次真誠地向幫助過我的老師和同學(xué)表示 感謝! 參考文獻(xiàn) 1 徐超群.高明煜. 低壓電力載波通信技術(shù)在城市路燈遠(yuǎn)程智能監(jiān)控中的應(yīng)J.杭州電子科技大 學(xué)電子信息學(xué)院,2006,(6):145-149. 2 萬力,孫超.基于 Lonworks 的路燈智能檢測系統(tǒng)的設(shè)計 3 P.-C.Tseng.W.-C. Teng,The design of a sing-chip tool monitoring system for on- lineturning operationJ.Springer-var lag Londom.2004,24:204-
33、214. 4 Bin Guangfu,Huang Zhenvu,ZhuGuanghui,LiXueXueiun.Gas concentration monitoring system for small and medium-sized coal mines based on gas-sensingJ.China Academic Journal Electronic Publishing House.2010,8(6):47-51. P.-C. Tseng W.-C. Teng Springer-Verlag London 5 安雙利.錢銳.陸翔宇.陸園.基于單片機(jī)智能控制的路燈節(jié)能系統(tǒng)的研
34、制 J.上海第二工業(yè)大 學(xué)機(jī)電工程學(xué)院,2011,28(1):49-53. 6 王玉巧.胡玉璽.基于單片機(jī)的路燈智能控制系統(tǒng) J.山東輕工業(yè)學(xué)院學(xué)報,2010,24(4): 70-72. 7 李立宗.VB 程序設(shè)計教程M.南開大學(xué)出版社,2009. 8 季寶杰.鄒彩虹.王永田.基于單片機(jī)的溫室自動控制系統(tǒng)設(shè)計J.計算機(jī)測量與控制, 2007,15(1):73-76. 9 潘清明.劉啟新.基于單片機(jī)路燈網(wǎng)絡(luò)控制系統(tǒng)的設(shè)計J.南京工程學(xué)院,2007,36(21):53- 56. 10 劉銀.廖志鑫.賈良茂.曾立文.基于單片機(jī)的粉塵檢測系統(tǒng)的設(shè)計J.煤礦機(jī)械,2011,32(07): 240-243
35、. 附錄附錄 1 單片機(jī)上的發(fā)送程序單片機(jī)上的發(fā)送程序 ORG 0000H LJMP MAIN ORG 0100H MAIN:MOV SCON,#50H /REN=1 允許串行接收狀態(tài),串口工作方式 1 MOV TMOD,#20H /定時器 1 的工作方式 2 MOV PCON,#80H /波特率提高一倍 MOV TH1,#0F3H /baud*2 /* 波特率 4800、數(shù)據(jù)位 8/停止位 1。效驗(yàn)位無 (12M) MOV TL1,#0F3H SETB TR1 /開啟定時器 1 SETB ES /開串口中斷 SETB EA / 開總中斷 START: MOV A,P1 XRL A,#0FFH
36、 /判斷有沒有壞燈 JZ START/無壞燈信息跳回 START,有壞燈 則往下執(zhí)行 MOV R3,#8 CLR C LOOP3: RLC A JNC LOOP4 /判斷是哪個燈壞了 MOV SBUF,R3 LOOP:JNB TI,LOOP CLR TI ACALL DELAY LOOP4:DJNZ R3,LOOP3 DELAY: MOV R5,#10 /延遲程序 LOOP2:MOV R7,#0FFH LOOP1:MOV R6,#0FFH DJNZ R6,$ DJNZ R7,LOOP1 DJNZ R5,LOOP2 RET END 附錄附錄 2 上位機(jī)登錄界面的程序上位機(jī)登錄界面的程序 Priv
37、ate Sub cancel_Click() End End Sub Private Sub certain_Click() Dim x As String, y As String x = Text1.Text y = Text2.Text If (x = 陳香梅 And y = ) Then 登錄界面.Hide 路燈監(jiān)控界面.Show Else: Text3.Text = 輸入密碼或用戶名錯誤,請重新輸入 End If End Sub Private Sub delete_Click() Text1.Text = Text2.Text = Text3.Text = End Sub 附錄附錄
38、 3 上位機(jī)的接收以及界面的顯示程序上位機(jī)的接收以及界面的顯示程序 Private Sub Form_Load() Open E:各種習(xí)題資料VB 習(xí)題燈信息infor1.txt For Output As #1 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor2.txt For Output As #2 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor3.txt For Output As #3 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor4.txt For Output As #4 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor5.txt For Output As
39、#5 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor6.txt For Output As #6 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor7.txt For Output As #7 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor8.txt For Output As #8 For i = 1 To 8 Write #i, 1 Write #i, Now Next i Close #1, #2, #3, #4, #5, #6, #7, #8 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor1.txt For Input As #1 8 個燈桿狀態(tài)和時間的初始化 Op
40、en E:各種習(xí)題資料VB 習(xí)題燈信息infor2.txt For Input As #2 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor3.txt For Input As #3 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor4.txt For Input As #4 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor5.txt For Input As #5 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor6.txt For Input As #6 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor7.txt For Input As #7 Open E:各種習(xí)題資料V
41、B 習(xí)題燈信息infor8.txt For Input As #8 Input #1, nowstate, nowtime 燈桿 1 狀態(tài)和時間的讀取和顯示 nowstate1.Text = nowstate nowtime1.Text = nowtime Input #2, nowstate, nowtime 燈桿 2 狀態(tài)和時間的讀取和顯示 nowstate2.Text = nowstate nowtime2.Text = nowtime Input #3, nowstate, nowtime 燈桿 3 狀態(tài)和時間的讀取和顯示 nowstate3.Text = nowstate nowti
42、me3.Text = nowtime Input #4, nowstate, nowtime 燈桿 4 狀態(tài)和時間的讀取和顯示 nowstate4.Text = nowstate nowtime4.Text = nowtime Input #5, nowstate, nowtime 燈桿 5 狀態(tài)和時間的讀取和顯示 nowstate5.Text = nowstate nowtime5.Text = nowtime Input #6, nowstate, nowtime 燈桿 6 狀態(tài)和時間的讀取和顯示 nowstate6.Text = nowstate nowtime6.Text = nowt
43、ime Input #7, nowstate, nowtime 燈桿 7 狀態(tài)和時間的讀取和顯示 nowstate7.Text = nowstate nowtime7.Text = nowtime Input #8, nowstate, nowtime 燈桿 8 狀態(tài)和時間的讀取和顯示 nowstate8.Text = nowstate nowtime8.Text = nowtime Close #1, #2, #3, #4, #5, #6, #7, #8 開始接收數(shù)據(jù) Dim rcvlenth 定義模塊級變量接收字符的數(shù)組下 標(biāo) With MSComm1 .CommPort = 3 使用串口
44、 3 .Settings = 4800,n,8,1 4.8Kbps,無校驗(yàn),8 位數(shù)據(jù)位,1 位 停止位 .InputMode = comInputModeBinary 以二進(jìn)制格式讀取接收緩沖區(qū) .RThreshold = 1 接收到的字符大于等于 1 就會產(chǎn)生接 收事件 .InputLen = 0 讀緩沖區(qū)所有內(nèi)容 .OutBufferCount = 0 清空發(fā)送緩沖區(qū) .InBufferCount = 0 清空接收緩沖區(qū) End With If Not MSComm1.PortOpen Then 打開串口 MSComm1.PortOpen = True End If End Sub Pr
45、ivate Sub MSComm1_OnComm() Dim rcv() As Byte 定義接受字的動態(tài)數(shù)組 Dim rcvtemp() As Byte 定義存放每次接收的數(shù)據(jù)的暫存數(shù)組 ReDim Preserve rcv(100) As Byte 預(yù)設(shè)接收字符的數(shù)組 rec(最大 101 字節(jié)) Text1 = 清除文本框 MsgBox rcvlenth1 MsgBox MSComm1.CommEvent Select Case MSComm1.CommEvent Case comEvReceive 如果接收到字符 rcvtemp = MSComm1.Input 將接收區(qū)的內(nèi)容放入暫存數(shù)
46、組 rcv For i = LBound(rcvtemp) To UBound(rcvtemp) rcvlenth = rcvlenth + 1 rcv(rcvlenth) = rcvtemp(i) Next i ReDim Preserve rcv(rcvlenth) As Byte 得到接收字節(jié)數(shù)組的實(shí)際大小 MsgBox rcvlenth For i = LBound(rcv) To UBound(rcv) inpt.Text = Text1 & Str(rcv(i) 在文本框 text1 中顯示接收 到的數(shù)據(jù) Next i End Select 壞燈信息顯示在窗口中 Dim linfo
47、r As Integer linfor = inpt.Text Select Case linfor Case 1 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor1.txt For Append As #1 把壞燈狀態(tài)和時間存入文件中 Write #1, 0 Write #1, Now Close #1 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor1.txt For Input As #1 Input #1, histstate, histtime, nowstate, nowtime nowstate1.Text = nowstate 讀取壞燈信息并顯示出來 nowtime1.
48、Text = nowtime histstate1.Text = histstate 讀歷史燈桿的信息 histtime1.Text = histtime Close #1 Case 2 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor2.txt For Append As #2 把壞燈狀態(tài)和時間存入文件中 Write #2, 0 Write #2, Now Close #2 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor2.txt For Input As #2 Input #2, histstate, histtime, nowstate, nowtime nowstate2.T
49、ext = nowstate 讀取壞燈信息并顯示出來 nowtime2.Text = nowtime histstate2.Text = histstate 讀歷史燈桿的信息 histtime2.Text = histtime Close #2 Case 3 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor3.txt For Append As #3 把壞燈狀態(tài)和時間存入文件中 Write #3, 0 Write #3, Now Close #3 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor3.txt For Input As #3 Input #3, histstate, his
50、ttime, nowstate, nowtime nowstate3.Text = nowstate 讀取壞燈信息并顯示出來 nowtime3.Text = nowtime histstate3.Text = histstate 讀歷史燈桿的信息 histtime3.Text = histtime Close #3 Case 4 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor4.txt For Append As #4 把壞燈狀態(tài)和時間存入文件中 Write #4, 0 Write #4, Now Close #4 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor4.txt For
51、Input As #4 Input #4, histstate, histtime, nowstate, nowtime nowstate4.Text = nowstate 讀取壞燈信息并顯示出來 nowtime4.Text = nowtime histstate4.Text = histstate 讀歷史燈桿的信息 histtime4.Text = histtime Close #4 Case 5 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor5.txt For Append As #5 把壞燈狀態(tài)和時間存入文件中 Write #5, 0 Write #5, Now Close #5 Open E:各種習(xí)題資料VB 習(xí)題燈信息infor5.txt For Input As #5 Input #5, histstate, histtime, nowstate, nowtime n
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 用人單位勞動合同經(jīng)典案例
- 賺差價合同范本
- 11《爸爸媽媽在我心中》教學(xué)設(shè)計-2023-2024學(xué)年道德與法治三年級上冊統(tǒng)編版
- 2023-2024學(xué)年粵教版(2019)高中信息技術(shù)必修一《數(shù)據(jù)與計算》第二章第二節(jié)《數(shù)字化學(xué)習(xí)與創(chuàng)新》教學(xué)設(shè)計
- 工地鉆孔合同范本
- 2025高考生物備考教學(xué)設(shè)計:動物和人體生命活動的調(diào)節(jié)之興奮傳導(dǎo)與傳遞的相關(guān)實(shí)驗(yàn)探究教學(xué)設(shè)計
- 6《拉拉手交朋友》教學(xué)設(shè)計-2024-2025學(xué)年道德與法治一年級上冊統(tǒng)編版
- Module 4 短語句子(教學(xué)設(shè)計)-2023-2024學(xué)年外研版英語八年級下冊
- 定制風(fēng)管銷售合同范本
- 小學(xué)生代表開學(xué)典禮演講稿
- 2025小學(xué)道德與法治開學(xué)第一課(思想政治理論教育課)
- 江蘇省成人高等教育畢業(yè)生登記表
- 促銷主管工作計劃
- 2024年管理學(xué)理論考核試題及答案
- 手術(shù)體位相關(guān)周圍神經(jīng)損傷及預(yù)防課件
- 《介入放射學(xué)》電子教材
- 紡織材料學(xué)課件第二章-植物纖維(棉)
- 續(xù)修家譜倡議書
- 成立項(xiàng)目部紅頭文件
- 《鑄造用珍珠巖除渣劑》
- 幼兒教師口語(學(xué)前教育專業(yè)高職)PPT完整全套教學(xué)課件
評論
0/150
提交評論