版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 引言</b></p><p> 1.1 課題背景 </p><p> 近十幾年來,隨著我國城市建設的快速發(fā)展,樓宇照明也相應飛速發(fā)展。在樓宇的照明數(shù)量與質(zhì)量兩個方面均有顯著的變化與提高,特別是隨著人民生活水平進入小康水平,樓宇照明水平提高很快,追求人工照明光環(huán)境的舒適性、個性化、安全、節(jié)能等方面日見突出。樓宇中人工光環(huán)境對于滿足人們
2、的生活、學習、娛樂以及工作方面有著重要的意義。</p><p><b> 1.2 課題思路</b></p><p> 照明控制系統(tǒng)傳統(tǒng)是以照明配電箱通過手動開關(guān)來控制照明燈具的通斷,或通過回路中串入接觸器,實現(xiàn)遠距離控制。而今出現(xiàn)的樓宇自控系統(tǒng),是以電氣觸點來實現(xiàn)區(qū)域控制、定時通斷、中央監(jiān)控等功能。由于照明控制系統(tǒng)在樓宇自控系統(tǒng)中并非獨立,同時控制功能簡單,因此
3、使用上有一定的局限性。故當樓宇自控系統(tǒng)出現(xiàn)故障時,照明系統(tǒng)亦受到影響。</p><p> 隨著微電子技術(shù)與數(shù)字化技術(shù)的發(fā)展,開發(fā)出了智能化水平更高的專業(yè)照明控制的獨立系統(tǒng),從而能節(jié)約能源、延長燈具壽命、提高照明質(zhì)量。根據(jù)使用客戶的經(jīng)驗,不僅使照明管理與設備維修簡單及降低費用外,還對環(huán)境改善、提高工作效率都有著顯著的效果。</p><p> 本系統(tǒng)是以單片機為控制器的核心,其中上位機是以
4、AT89C51為基礎,下位機是以AT89C2051為基礎,再連接外圍電路,通過現(xiàn)場總線RS485通信方式實現(xiàn)照明燈具的智能控制,也可以通過無線數(shù)傳模塊實現(xiàn)無線通信,從而達到照明燈具的智能控制。</p><p> 1.3 有線通信技術(shù)</p><p> 在數(shù)據(jù)通信、計算機網(wǎng)絡以及工業(yè)上的分布式控制系統(tǒng)中,經(jīng)常需要采用串行通信來達到遠程信息交換的目的。目前,有多種接口標準可用于串行通信,
5、最常用的接口有RS-232、RS-422、RS-485。RS232是最早的串行接口標準,在短距離、較低波特率串行通信中得到了廣泛應用。其后發(fā)展起來的RS-422、RS-485是平衡傳送的電氣標準,比起RS-232非平衡的傳送方式在電氣指標上有了大幅度的提高。但總的來說,RS-232、RS-422與RS-485最初都是由電子工業(yè)協(xié)會(EIA)制訂并發(fā)布的, EIA于1983年在RS-422基礎上制定了RS-485標準,增加了多點、雙向通信
6、能力,即允許多個發(fā)送器連接到同一條總線上,同時增加了發(fā)送器的驅(qū)動能力和沖突保護特性,擴展了總線共模范圍,后命名為TIA/EIA-485-A標準。RS-232、RS-422與RS-485標準只對接口的電氣特性做出規(guī)定,而不涉及接插件、電纜或協(xié)議,在此基礎上用戶可以建立自己的高層通信協(xié)議。正因為RS-485的遠距離、多節(jié)點(32個)、可以自行定義協(xié)議以及傳輸線成本低的特性,使得EIA RS-485成為工業(yè)應用中數(shù)據(jù)傳輸?shù)氖走x標</p&
7、gt;<p> 1.4 無線數(shù)傳技術(shù)</p><p> 有線傳輸?shù)姆绞诫m然使用非常廣泛且可靠性較高,但由于各方面的局限性,已經(jīng)在眾多方面被無線傳輸方式所取代。無線數(shù)字傳輸技術(shù)日益完善,其重要性也被人們所認識,相應的基于無線數(shù)字傳輸?shù)漠a(chǎn)品也隨處可見。無線數(shù)字傳輸系統(tǒng)安裝簡便、使用效率高,可應用于各個領(lǐng)域,例如,無線數(shù)據(jù)傳輸、無線數(shù)據(jù)采集、無線抄表、工業(yè)遙控、樓宇自動化、高檔玩具等等。</p
8、><p> 無線數(shù)傳技術(shù)是通過單片機的串口與無線數(shù)傳模塊連接,將要發(fā)送的數(shù)據(jù)由無線數(shù)傳模塊向空中發(fā)出,然后由另一個終端設備的無線數(shù)傳模塊從空中接收數(shù)據(jù),這樣就實現(xiàn)了預期的任務。</p><p> 1.5 單片機的應用技術(shù)</p><p> 電子技術(shù)和微型計算機的迅速發(fā)展,促進微型計算機測量和控制技術(shù)的迅速發(fā)展和廣泛應用,單片機(單片微型計算機)的應用已經(jīng)滲透到國民
9、經(jīng)濟的各個部門和領(lǐng)域,它起到了越來越重要的作用。</p><p> 單片微型計算機就是將中央處理單元、存儲器、定時/計數(shù)器和多種接口都集成到一塊集成電路芯片上的微型計算機。因此一塊芯片就構(gòu)成了一臺計算機。它已成為工業(yè)控制領(lǐng)域、智能儀器儀表、尖端武器、日常生活中最廣泛使用的計算機。</p><p> 單片機由硬件系統(tǒng)與軟件系統(tǒng)組成。硬件系統(tǒng)是指構(gòu)成微機系統(tǒng)的實體與裝置,通常由運算器、控制
10、器、存儲器、輸入接口電路和輸入設備、輸出接口電路和輸出設備等組成。其中運算器和控制器一般做在一個集成芯片上,統(tǒng)稱中央處理單元(Central Processing Unit),簡稱CPU,是微機的核心部件。CPU配上存放程序和數(shù)據(jù)的存儲器、輸入/輸出(Input/Output,簡稱I/O)接口電路以及外部設備即構(gòu)成單片機的硬件系統(tǒng)。軟件系統(tǒng)是微機系統(tǒng)所使用的各種程序的總稱,人們通過它對微機進行控制并與微機系統(tǒng)進行信息交換,使微機按照人的
11、意圖完成預定的任務。軟件系統(tǒng)與硬件系統(tǒng)共同構(gòu)成完整的單片微型計算機系統(tǒng),兩者相輔相成,缺一不可。</p><p> 2 基于單片機的照明控制系統(tǒng)的設計框架與性能</p><p> 2.1 系統(tǒng)設計要點</p><p> 系統(tǒng)設計主要包括硬件和軟件兩大部分,依據(jù)控制系統(tǒng)的工作原理和技術(shù)性能,將硬件和軟件分開設計。硬件設計部分包括電路原理圖、合理選擇元器件、繪
12、制線路圖,然后對硬件進行調(diào)試、測試,以達到設計要求。軟件設計部分,首先在總體設計中完成系統(tǒng)總框圖和各模塊的功能設計,擬定詳細的工作計劃;然后進行具體設計,包括各模塊的流程圖,選擇合適的編程語言和工具,進行代碼設計等;最后是對軟件進行調(diào)試、測試,達到所需功能要求。</p><p> 在系統(tǒng)設計中設計方法的選用是系統(tǒng)設計能否成功的關(guān)鍵。硬件電路是采用結(jié)構(gòu)化系統(tǒng)設計方法,該方法保證設計電路的標準化、模塊化。硬件電路的
13、設計最重要的選擇用于控制的單片機,并確定與之配套的外圍芯片,使所設計的系統(tǒng)既經(jīng)濟又高性能。硬件電路設計還包括輸入輸出接口設計,畫出詳細電路圖,標出芯片的型號、器件參數(shù)值,根據(jù)電路圖在仿真機上進行調(diào)試,發(fā)現(xiàn)設計不當及時修改,最終達到設計目的。軟件設計的方法與開發(fā)環(huán)境的選取有著直接的關(guān)系,本系統(tǒng)由于是采用51系列單片機,因此使用Keil C語言進行開發(fā)。此編程工具相比匯編語言具有結(jié)構(gòu)化、適用范圍大、可移植性好等特點。本系統(tǒng)軟件設計采用模塊化
14、系統(tǒng)設計方法,先編寫各個功能模塊子程序,然后進行組合與調(diào)整,經(jīng)過調(diào)試后,達到設計功能要求。</p><p> 2.2 系統(tǒng)的結(jié)構(gòu)</p><p> 系統(tǒng)的結(jié)構(gòu)主要由三部分組成:a)上位機系統(tǒng);b)下位機系統(tǒng);c)通信系統(tǒng)。這三部分共同完成了主控制器通過有線、無線通信方式與分控制器進行信息交換,達到控制照明燈具的目的。有線通信系統(tǒng)的結(jié)構(gòu)框圖如圖2.1所示。</p><
15、;p> 該多機通信系統(tǒng)采用RS-485半雙工主從式通信系統(tǒng),主機可以發(fā)送數(shù)據(jù)或命令到從機,從機主要負責對分布的照明燈具進行控制,用中斷的方式接收主機發(fā)來的命令或數(shù)據(jù)并做出回應。</p><p> 圖2.1 有線通信系統(tǒng)結(jié)構(gòu)框圖</p><p> 無線數(shù)據(jù)傳輸系統(tǒng)也是由主控制器和分控制器兩部分組成,系統(tǒng)結(jié)構(gòu)框圖如圖2.2所示。主控制器是發(fā)送遙控指令、發(fā)送數(shù)據(jù)信息、接收應答信息等,
16、分控制器接收數(shù)據(jù)與遙控指令,完成對照明燈具的控制。</p><p> 圖2.2 無線數(shù)傳系統(tǒng)結(jié)構(gòu)框圖</p><p> 系統(tǒng)的主控制器通過RS-485總線或無線數(shù)傳模塊將數(shù)據(jù)或命令發(fā)送給分控制器,同時將信息送給數(shù)碼顯示單元進行顯示,并有看門狗電路對運行程序進行有效監(jiān)視。主控制器硬件電路結(jié)構(gòu)如圖2.3所示。分控制器接收主控制器的發(fā)來的數(shù)據(jù)和命令,通過可控硅電路對照明燈具進行開關(guān)、亮度控
17、制,并且利用實時時鐘芯片對照明燈具進行定時開關(guān)控制。分控制器硬件電路結(jié)構(gòu)如圖2.4所示。</p><p> 系統(tǒng)在單片機的控制之下完成數(shù)據(jù)的通信、顯示,同時能夠控制照明燈具,其硬件電路只是系統(tǒng)的實施工具,大量的工作是由軟件來完成的。這些程序是系統(tǒng)的靈魂,是負責完成硬件電路實現(xiàn)功能和與用戶交互的橋梁,是維護系統(tǒng)正常工作的工具。</p><p> 2.3 系統(tǒng)性能指標及技術(shù)要求</
18、p><p> a)照明啟??刂葡到y(tǒng)</p><p> 1) 全開 2) 全關(guān) 3) 單獨開 4) 單獨關(guān)</p><p> b)照明亮度控制系統(tǒng)</p><p> 1) 全部亮度調(diào)節(jié) 2) 單獨亮度調(diào)節(jié)</p><p><b> c)定時控制系統(tǒng)</b></p><
19、;p> 1) 對全部照明燈進行定時控制 2) 對每個照明燈進行定時控制</p><p> 圖2.3 主控制器硬件電路結(jié)構(gòu)框圖</p><p> 圖2.4 分控制器硬件電路結(jié)構(gòu)框圖</p><p> 3 基于單片機的照明控制系統(tǒng)的硬件電路設計</p><p> 3.1 主控制器的電路設計</p><p&g
20、t; 主控制器采用AT89C51單片機作為微處理器,AT89C51是美國ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片機,片內(nèi)含4K bytes的可反復擦寫的Flash只讀程序存儲器和128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash 存儲單元。</p><p> 主控制器系
21、統(tǒng)的外圍接口電路由鍵盤、數(shù)碼顯示及驅(qū)動電路、晶振、看門狗電路、通信接口電路等幾部分組成。主控制器系統(tǒng)的硬件電路原理圖如圖3.1所示。</p><p> 圖3.1 主控制器系統(tǒng)的硬件電路原理圖</p><p> 3.1.1 鍵盤的接口設計</p><p> 鍵盤的結(jié)構(gòu)形式有兩種,即獨立式按鍵和矩陣式鍵盤。本系統(tǒng)使用的是4×4矩陣式鍵盤,第一行從左到右
22、為1、2、3、4,第二行為5、6、7、8,第三行為9、0、開、關(guān),第四行為增值、減值、定時、確認。該形式的鍵盤,每個按鍵開關(guān)位于行列的交叉處,采用逐行掃描的方法識別鍵碼。矩陣鍵盤的列線從左到右分別與單片機的P1.0、P1.1、P1.2、P1.3相連,矩陣鍵盤的行線從上到下分別與P1.4、P1.5、P1.6、P1.7相連。每當按下一個鍵時,對應的行線與列線就會連通,這樣單片機就能檢測出信號,并通過鍵盤掃描程序?qū)︽I盤進行掃描,以識別被按鍵的
23、行、列位置。</p><p> 3.1.2 LED數(shù)碼顯示的接口設計</p><p> 數(shù)碼顯示與驅(qū)動電路由74LS138譯碼器、7447 TTL BCD-7段高有效譯碼器/驅(qū)動器、4個數(shù)碼管以及5個A1015三極管組成。由單片機的P0.0~P0.3口輸出的四位BCD碼,經(jīng)7447芯片后,翻譯成7段數(shù)碼管a、b、c、d、e、f、g相應的段,并輸出點亮數(shù)碼管相應的段。單片機的P0.4、
24、P0.5口輸出的信號經(jīng)74LS138譯碼器后產(chǎn)生的高電平信號加在A1015三極管的基極,控制三極管的導通,從而起到對相應數(shù)碼管的選通作用。4個7段數(shù)碼管都被接成共陽極方式。</p><p> 3.1.3 看門狗監(jiān)控電路的設計</p><p> 本系統(tǒng)采用MAXIM公司的低成本微處理器監(jiān)控芯片MAX813L構(gòu)成硬件狗,與AT89C51的接口電路如圖3.1所示。MR與WDO經(jīng)過一個二極管
25、連接起來,WDI接單片機的P2.7口,RESET接單片機的復位輸入腳RESET,MR經(jīng)過一個復位按鈕接地。該監(jiān)控電路的主要功能如下:</p><p> a)系統(tǒng)正常上電復位:電源上電時,當電源電壓超過復位門限電壓4.65V,RESET端輸出200ms的復位信號,使系統(tǒng)復位。</p><p> b)對+5V電源進行監(jiān)視:當+5V電源正常時,RESET為低電平,單片機正常工作;當+5V電源
26、電壓降至+4.65V以下時,RESET輸出高電平,對單片機進行復位。</p><p> c)看門狗定時器被清零,WDO維持高電平;當程序跑飛或死機時,CPU不能在1.6s內(nèi)給出“喂狗”信號,WDO跳變?yōu)榈碗娖?,由于MR端有一個內(nèi)部250mA的上拉電流,D導通MR獲得有效低電平,RESET端輸出復位脈沖,單片機復位,看門狗定時器清零,WDO又恢復成高電平。</p><p> d)手動復位
27、:如果需要對系統(tǒng)進行手動復位,只要按下手動復位按鈕,就能對系統(tǒng)進行有效的復位。</p><p> 3.2 分控制器的電路設計</p><p> 分控制器采用低檔型的AT89C2051單片機作為微處理器,AT89C2051也是美國ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片機,片內(nèi)含2K bytes的可反復擦寫的Flash只讀程序存儲器和128 bytes的隨機存取數(shù)據(jù)存儲器(
28、RAM),兼容標準MCS-51指令系統(tǒng),具有15線可編程I/O口,該單片機具有體積小、成本低、結(jié)構(gòu)簡單、性價比較高等特點。</p><p> 分控制器系統(tǒng)的外圍接口電路由晶振、實時時鐘芯片、可控硅控制電路、零點檢測電路、看門狗電路、通信接口電路等組成。分控制器系統(tǒng)的硬件電路原理圖如圖3.2所示。</p><p> 圖3.2 分控制器系統(tǒng)的硬件電路原理圖</p><
29、p> 3.2.1 時鐘芯片的接口設計</p><p> 本系統(tǒng)利用單片機89C2051和時鐘芯片DS1302進行串行數(shù)據(jù)通信,讀取和寫入實時數(shù)據(jù),用于定時控制照明燈具的啟停。DS1302是美國Dallas公司推出的一種高性能、低功耗的實時時鐘芯片,附加31字節(jié)靜態(tài)RAM,采用SPI三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。實時時鐘可提供秒、分、時、日、星期、
30、月和年,一個月小于31日時可自動調(diào)整。</p><p> DS1302與單片機的連接僅需要3根線,即SCLK、I/O、RST。RST接在P1.7上,此引腳為高電平時,選中該芯片,可對其進行操作。串行數(shù)據(jù)線I/O與串行時鐘線SCLK分別接在P1.5和P1.6上,所有的單片機地址、命令及數(shù)據(jù)均通過這兩條線傳輸。在本系統(tǒng)中,89C2051為主器件,DS1302為從器件,主器件在總線上產(chǎn)生時鐘脈沖、尋址信號、數(shù)據(jù)信號等
31、,而從器件則相應接收數(shù)據(jù)、送出數(shù)據(jù)。對DS1302的每一次讀寫需16個時鐘脈沖,前8個脈沖輸入操作地址和讀寫命令。其中位7必須為1;位0為0時向芯片寫入數(shù)據(jù),為1時從芯片讀出數(shù)據(jù);位6~位1選定芯片中的地址。后8個脈沖寫入或讀出數(shù)據(jù)。</p><p> DS1302采用雙電源系統(tǒng)供電,VCC1在雙電源系統(tǒng)中提供主電源,在這種運用方式下VCC2連接到備份電源,以便在沒有主電源的情況下能保存時間信息以及數(shù)據(jù)。DS1
32、302由兩者中的較大者供電。當VCC1大于VCC2+0.2V時,VCC1給DS1302供電。當VCC1小于VCC2時,DS1302由VCC2供電。</p><p> 3.2.2 零點檢測與可控硅控制電路的設計</p><p> 這部分電路的設計采用單片機的I/O口灌電流的方法控制可控硅實現(xiàn)開關(guān)與調(diào)光控制,用光電耦合器M0C3021作為可控硅的驅(qū)動器,同時實現(xiàn)強、弱電的隔離。光電耦合器
33、M0C3021通過一個非門與89C2051的P3.7口連接,當此腳輸出低電平時,將會封鎖住MOC3021,使雙向可控硅BT131不導通,這樣就會使照明燈關(guān)閉;當P3.7腳輸出高電平時,使光電耦合器MOC3021打開驅(qū)動雙向可控硅,從而將雙向可控硅觸發(fā)導通,這樣就開啟了所要控制的照明燈。對于照明燈的亮度調(diào)節(jié),這里采用PWM(Pulse Width Modulation)方式,即脈沖寬度調(diào)制的簡稱,PWM是一種周期一定而高低電平的占空比可以
34、調(diào)制的方波信號,當輸出脈沖周期一定時,輸出脈沖的占空比越大相對應的輸出有效電壓越大。在一個周期內(nèi)的脈沖寬度(導通時間)為T1,周期為T,波形如圖3.3所示。</p><p> 圖3.3 脈沖波形圖</p><p> 則輸出電壓的平均值為:</p><p> U=VCC×T1/T=αVCC</p><p> 其中α=T1/T(
35、正脈沖的持續(xù)時間與脈沖周期的比值)稱為占空比,α的變化范圍為</p><p> 0≤α≤1,VCC為電源電壓。</p><p> 當電源電壓VCC不變的情況下,輸出電壓的平均值U取決與占空比α的大小,改變α的大小就可以改變輸出電壓的平均值,這就是PWM的工作原理。燈泡的亮度與加在燈泡兩端的電壓成比例,而燈泡兩端的電壓與可控硅的導通角成比例,這樣通過調(diào)節(jié)PWM信號的占空比來控制可控硅的導
36、通角。因此占空比越大,燈泡就越亮,當占空比α=1時,燈泡的亮度最高。</p><p> 由于89C2051單片機沒有PWM信號輸出功能,所以在這里采用單片機定時器配合軟件的方法來實現(xiàn)PWM信號的輸出。</p><p> 使用PWM方法進行可控硅控制時,調(diào)制頻率不能低于市電頻率,因為當頻率低于50Hz時,超過了人眼視覺暫留效應,用于調(diào)光將產(chǎn)生閃爍的現(xiàn)象。當調(diào)制頻率大于市電頻率,可控硅將處
37、于連續(xù)導通狀態(tài)而不能達到調(diào)壓的目的,因此必須使用過零檢測作為觸發(fā)可控硅的基點。在本系統(tǒng)中所使用的過零檢測電路如圖3.2所示,先由一個變壓器將市電電壓轉(zhuǎn)換成10V左右的電壓,經(jīng)過整流、穩(wěn)壓后可作為系統(tǒng)工作電源,同時將變壓器次級的同名端引出一根線連接到比較器LM311的正輸入端,用以檢測交流電的過零點,然后將過零信號送給單片機的P1.3口上。當檢測到交流電的過零點時,就去觸發(fā)雙向可控硅,同時通過PWM信號的輸出控制雙向可控硅的導通時間,最終
38、達到控制燈泡亮度的目的。</p><p> 3.3 RS485通信電路的設計</p><p> 本系統(tǒng)的有線通信方式采用RS485總線進行通信,RS485標準支持半雙工通信,只需三根線就可以進行數(shù)據(jù)的發(fā)送和接收,同時具有抑制共模干擾的能力,接收靈敏度可達±200mV,大大提高了通信距離,在100K bps速率下通信距離可達1200m,如果通信距離縮短,最大速率可達10M b
39、ps。在這里使用的是主從式通信方式,主機由主控制器充當,從機為分控制器。主機處于主導和支配地位,從機以中斷方式接收和發(fā)送數(shù)據(jù),主機發(fā)送的信息可以傳送到所有的從機或指定的從機,從機發(fā)送的信息只能為主機接收,從機之間不能直接通信。主機與從機的通信電路圖分別如圖3.4與圖3.5所示。</p><p> 主機與從機選用的RS485通信收發(fā)器芯片為MAX485,它是MAXIM公司生產(chǎn)的用于RS 485通信的低功率收發(fā)器件
40、,采用單一電源+5 V工作,額定電流為300 μA,采用半雙工通信方式。它完成將TTL電平轉(zhuǎn)換為RS485電平的功能。MAX485芯片內(nèi)部含有一個驅(qū)動器和接收器。RO和DI端分別為接收器的輸出和驅(qū)動器的輸入端,與單片機連接時只需分別與單片機的RXD和TXD相連即可;RE和DE端分別為接收和發(fā)送的使能端,當RE端為邏輯0時,器件處于接收狀態(tài);當DE端為邏輯1時,器件處于發(fā)送狀態(tài),因為MAX485工作在半雙工狀態(tài),所以只需用單片機的一個管腳
41、控制這兩個引腳即可,主機與從機分別使用P2.6與P1.0腳進行控制;A端和B端分別為接收和發(fā)送的差分信號端,當A引腳的電平高于B時,代表發(fā)送的數(shù)據(jù)為1;當A的電平低于B端時,代表發(fā)送的數(shù)據(jù)為0。在進行通信時只需要一個信號控制MAX485的接收和發(fā)送即可。同時將A和B端之間加匹配電阻,這里選用120Ω的電阻。 </p><p> 圖3.4 主機通信電路圖</p><p> 圖3.5
42、從機通信電路圖</p><p> 為了提高系統(tǒng)的抗干擾能力,采用光電耦合器TLP521對通信系統(tǒng)進行光電隔離。從機使用單片機的P1.0控制通信收發(fā)器MAX485的工作狀態(tài),平時置P1.0為低電平,使從機串行口處于偵聽狀態(tài)。當有串行中斷產(chǎn)生時判別是否是本機號,若為本機地址則置P1.0為高電平,發(fā)送應答信息,然后再置P1.0為低電平接收控制指令,繼續(xù)保持P1.0為低電平,使串行收發(fā)器處于接收狀態(tài);若不是本機地址,使
43、P1.0為低電平,使串行收發(fā)器處于接收偵聽狀態(tài)。</p><p> 3.4 無線數(shù)傳電路的設計</p><p> 無線數(shù)據(jù)傳輸需要通過無線數(shù)傳模塊來實現(xiàn)。本系統(tǒng)選用的是上海桑銳電子科技有限公司生產(chǎn)的SRWF-1型微功率無線數(shù)傳模塊。該模塊的通信信道是半雙工的,最適合點對多點的通信方式。單片機與無線數(shù)傳模塊之間可以進行信息的傳送與回饋,即所謂的雙向通信。</p><
44、p> 3.4.1 無線數(shù)傳電路的連接</p><p> 主控制器與分控制器各使用一個無線數(shù)傳模塊,形成發(fā)送與接收的無線通信通道。模塊的數(shù)據(jù)輸入和輸出端與單片機的串行口連接,即模塊的串行數(shù)據(jù)發(fā)射端TXD與單片機的串行數(shù)據(jù)輸入端RXD連接;模塊的串行數(shù)據(jù)接收端RXD與單片機的串行數(shù)據(jù)輸出端TXD連接。單片機與無線數(shù)傳模塊SRWF-1的電路連接如圖3.6所示。</p><p> 圖
45、3.6 單片機與無線數(shù)傳模塊的連接</p><p> 3.4.2 SRWF-1模塊的特性</p><p> a) 微發(fā)射功率:最大10dbm(10mW)的發(fā)射功率。 </p><p> b).ISM頻段工作頻率,無需申請頻點。 載頻頻率429-438MHz,也可提供315/868/915MHz等載頻 。</p>
46、<p> c) 高抗干擾能力和低誤碼率?;贔SK的調(diào)制方式,采用高效無線通信協(xié)議,在信道誤碼率為10-2時,可得到實際誤碼率10-5~10-6。</p><p> d) 完善的通訊協(xié)議。</p><p> e) 傳輸距離遠。在視距情況下,天線高度>3米,可靠傳輸距離>300m。</p><p> f) 透明的數(shù)據(jù)傳輸。 提供
47、透明的數(shù)據(jù)接口,能適應任何標準或非標準的用戶協(xié)議。自動過濾掉空中產(chǎn)生的噪音信號及假數(shù)據(jù)(所發(fā)即所收)。</p><p> g) 多信道,多速率。 SRWF-1型模塊標準配置提供8個信道,根據(jù)用戶需要,可擴展到16/32信道,滿足用戶多種通信組合方式的需求。SRWF-1型模塊可提供1200bps、2400bps、4800bps、9600bps、19200bps等多種通信波特率,并且無線傳輸速率與接口波特
48、率成正比,以滿足客戶設備對多種波特率的需要。 </p><p> h) 雙串口,3種接口方式。 SRWF-1型模塊提供2個串口3種接口方式,COM1為TTL電平UART接口。COM2由用戶自定義為標準的RS-232/RS-485接口(用戶只需要拔/插短路器再上電即可改變接口類型)。</p><p> i) 高速無線通訊和大的數(shù)據(jù)緩沖區(qū)。 可1次傳輸無限長度
49、的數(shù)據(jù),用戶編程更加靈活。</p><p> j) 智能數(shù)據(jù)控制,用戶無需編制多余的程序 。即使是半雙工通信,用戶也無需編制多余的程序,只要從接口收/發(fā)數(shù)據(jù)即可,其它如空中收/發(fā)轉(zhuǎn)換,網(wǎng)絡連接,控制等操作,SRWF-1型模塊能夠自動完成。</p><p> k) 低功耗及休眠功能。 接收電流<20mA,發(fā)射電流<40mA,休眠時電流僅為<20uA。
50、</p><p> l) 高可靠性,體積小、重量輕。 采用高性能單片處理器ATMega8L,外圍電路少,可靠性高,故障率低。 </p><p> m) 兩種接口收發(fā)等待時間。 可設置的接口等待時間使模塊既能用于高速用戶設備(如DSP系統(tǒng))也可適用低速系統(tǒng)(如51系統(tǒng))。 </p><p> n) 看門狗實時監(jiān)控。ATMe
51、ga8L的看門狗監(jiān)控內(nèi)部功能,改變了傳統(tǒng)產(chǎn)品的組織結(jié)構(gòu),提高了產(chǎn)品的可靠性。</p><p> 基于單片機的照明控制系統(tǒng)的軟件設計</p><p> 軟件是計算機系統(tǒng)的靈魂,沒有軟件計算機不能充分發(fā)揮其功能,這是軟件在計算機中的地位,而在計算機控制系統(tǒng)中,軟件也是非常重要的。在照明控制系統(tǒng)中,硬件設備的功能是由軟件來定義的,如系統(tǒng)要控制分布的照明燈具,通過有線與無線串行通信程序來完成控
52、制功能,通過軟件定義鍵盤功能,通過編程完成LED數(shù)碼顯示等等,由此可見,軟件是控制系統(tǒng)中的一個重要組成部分。</p><p> 該照明控制系統(tǒng)的軟件程序包括:照明啟??刂瞥绦?、照明亮度控制程序、照明定時控制程序、人機交互程序以及RS485串行通信與無線數(shù)傳通信程序等。本著軟件設計的基本方法,照明控制程序的軟件設計方法是利用傳統(tǒng)的結(jié)構(gòu)化分析與設計方法來完成的。結(jié)構(gòu)化程序設計方法雖然是早期的程序設計方法,但該方法還
53、一直被廣泛地使用。結(jié)構(gòu)化系統(tǒng)分析與設計貫穿整個軟件設計過程,遵循“自頂向下,逐步求精”的基本原則。本照明控制系統(tǒng)軟件程序總體結(jié)構(gòu)如圖4.1所示。</p><p> 圖4.1 照明控制系統(tǒng)軟件程序總體結(jié)構(gòu)圖</p><p> 4.1 人機交互程序設計</p><p> 系統(tǒng)的人機交互程序設計,主要是解決按鍵的掃描與信息的顯示,讓操作者能夠靈活地控制系統(tǒng)工作。
54、鍵盤用來輸入指令,發(fā)光數(shù)碼管用來顯示單片機的狀態(tài),這是一個比較簡單的人機交互形式。</p><p> 4.1.1 鍵盤掃描程序設計</p><p> 本系統(tǒng)的鍵盤采用的是4×4矩陣式鍵盤,矩陣式鍵盤由行線和列線組成,按鍵位于行、列線的交叉點上。一個4×4的行、列結(jié)構(gòu)可以構(gòu)成一個含有16個按鍵的鍵盤,顯然,在按鍵數(shù)量較多時,矩陣式鍵盤較之獨立式按鍵鍵盤要節(jié)省很多I/
55、O口。</p><p> 矩陣式鍵盤中,行、列線分別連接到按鍵開關(guān)的兩端,采用編程掃描工作方式的行掃描法,步驟如下:</p><p> a)判斷是否有鍵按下。其實現(xiàn)方法是使端口P1的高四位所有的行輸出均為低電平,然后從端口P1的低四位讀入列值。如果沒有鍵值按下,讀入的列值為FH,如果有鍵按下,則不為FH。</p><p> b)若有鍵按下,則延時10ms,再判
56、斷是否確實有鍵按下。</p><p> c)若確實有鍵按下,則求出按下鍵的鍵值。其實現(xiàn)方法是對鍵盤進行逐行掃描。即先令P1.4為0,然后讀入列值,若列值等于FH,說明該行無鍵按下,再令P1.5為0,對下一行進行掃描;若掃描某一行讀入的列值不等于FH,則說明該行有鍵按下,求出鍵值。求鍵值時需要設置行值寄存器和列值寄存器。每掃完一行后,若無鍵按下,則行值寄存器加上04H;若有鍵按下,行值寄存器保存原值,轉(zhuǎn)而求相應的
57、列值。求列值的方法是,將列值右移,每移位一次列值寄存器加1,直至移出位為低電平為止。最后將行值和列值相加即得十六進制的鍵值,每個十六進制鍵值對應相應的操作功能,如表4-1所示</p><p> 表4-1 鍵值對應表</p><p> 系統(tǒng)的按鍵定義除了基本的數(shù)字鍵(0~9)外,將其它的鍵依次定義為開、關(guān)、增值、減值、定時、確認六個命令鍵,其控制的基本功能是:</p>&l
58、t;p> a) 通過數(shù)字鍵、確認鍵輸入分控制器的地址以及定時功能的時間設置。</p><p> b) 利用開、關(guān)鍵控制照明燈具的啟停。</p><p> c) 利用增值、減值鍵控制照明燈具的亮度。</p><p> d) 通過定時鍵來對照明燈具進行定時控制的設置。</p><p> 系統(tǒng)通過軟件方法實現(xiàn)該功能,即定義開、關(guān)、增
59、值、減值、定時、確認等命令鍵,利用鍵盤掃描程序獲取對應命令鍵的鍵值,然后執(zhí)行相應的子程序,實現(xiàn)所要求的控制功能。</p><p> 4.1.2 LED數(shù)碼顯示程序設計</p><p> 本系統(tǒng)采用了四位共陽極七段數(shù)碼管,共陽極數(shù)碼管的8個發(fā)光二極管的陽極(二極管正端)連接在一起,通常,公共陽極接高電平(一般接電源),其它管腳接段驅(qū)動電路輸出端。當某段驅(qū)動電路的輸出端為低電平時,則該端
60、所連接的字段導通并點亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能吸收額定的段導通電流,還需根據(jù)外接電源及額定段導通電流來確定相應的限流電阻,這里的限流電阻選為100Ω。</p><p> 這里選用的7447芯片是從BCD碼到SEG7段碼的轉(zhuǎn)換器,而74LS138是一個地址譯碼器,通過74LS138選通某個數(shù)碼管,然后根據(jù)7447傳送過來的SEG7段碼的數(shù)據(jù)進行顯示,而在非選通的時候,
61、數(shù)碼管能夠保持原有的顯示數(shù)據(jù)。LED數(shù)碼顯示程序的流程圖如圖4.2所示。</p><p> 圖4.2 LED數(shù)碼顯示程序流程圖</p><p> 4.2 照明啟??刂瞥绦蛟O計</p><p> 照明的啟停控制主要是由主控制器發(fā)出指令,通過RS485通信方式或無線數(shù)傳方式控制全部或部分分控制器所控制照明燈具的啟停,因此照明啟停控制程序由兩部分組成,即全部啟停
62、控制與單獨啟??刂苾刹糠帧?lt;/p><p> 4.2.1 全部啟??刂瞥绦蛟O計</p><p> 全部照明啟??刂葡到y(tǒng)是利用主控制器上的開、關(guān)按鍵來控制全部照明燈的啟停,控制命令是通過串口通信方式傳達到分控制器,分控制器再依據(jù)命令向P3.7口輸出高低電平,來達到控制燈泡亮和滅的目的。</p><p> 在這個多機系統(tǒng)中采用的是主從式通信方式,主機即主控制器處
63、于主導和支配地位,從機即分控制器一般以中斷方式來接收和發(fā)送數(shù)據(jù)。在主從式多機系統(tǒng)中主機發(fā)送的信息可以傳送到所有的從機或指定的從機,在這里是要發(fā)送給所有的從機,來控制照明燈的啟停。在本系統(tǒng)中采用廣播式命令,不需要從機返回信息,從機之間也不能直接通信。主機由AT89C51單片機充當,從機為AT89C2051單片機。主機與從機的數(shù)據(jù)通信波特率定為9600波特,每個從機都有唯一的地址號,用來區(qū)分各從機。單片機的數(shù)據(jù)通信由串口完成,定時器T1為波
64、特發(fā)生器,數(shù)據(jù)傳送格式為1位起始位,8位數(shù)據(jù)位,1位停止位,1位可編程位(TB8)。工作方式:定時器T1設置為方式2,串口設置為工作方式3。</p><p> 本系統(tǒng)的通信原理為:從機在建立與主機通信之前所有分機的SM2都置1,即隨時處于對通信線路偵聽的狀態(tài),只能收到主機發(fā)送來的機號信息。主機向從機發(fā)送廣播地址信息時,廣播地址為00H,所有分機都接收到廣播地址信息,然后進入正常通信狀態(tài),清除SM2位,開始接收主
65、機發(fā)送來的命令。從機收到的命令是開燈時,向P3.7口輸出高電平,打開MOC3021驅(qū)動雙向可控硅,從而就點亮了燈泡;同理,如果收到的命令是關(guān)燈時,向P3.7口輸出低電平,封閉MOC3021使雙向可控硅截止,也就達到了關(guān)閉燈泡的目的。該系統(tǒng)的主機和從機的控制程序流程圖如圖4.3和圖4.4所示。</p><p> 4.2.2 單獨啟??刂瞥绦蛟O計</p><p> 單獨照明啟??刂葡到y(tǒng)是
66、通過主機發(fā)送給指定的從機命令信息,來實現(xiàn)照明燈的啟??刂啤V鳈C首先發(fā)送從機地址,被叫到的從機向主機發(fā)送本機地址,然后主機向從機傳送數(shù)據(jù),從機根據(jù)接收的數(shù)據(jù)信息執(zhí)行相應的命令。單片機的工作方式同全部照明啟??刂葡到y(tǒng)。其具體的工作過程是:所有的從機在通信之前都把SM2位置1,隨時處于偵聽狀態(tài)。當主機發(fā)送從機的地址信息時,每幀數(shù)據(jù)的第9位都為1,所有從機都接收到地址信息,然后判斷主機是否呼叫本機。如果呼叫本機則進入正式通信狀態(tài),清除SM2,并
67、把本機地址號發(fā)送給主機作為應答,然后才開始接收主機發(fā)送來的信息。而其它從機由于地址號不符,他們的SM2位仍然為1,仍處于偵聽狀態(tài),無法接收主機發(fā)送來的數(shù)據(jù)信息。主機收到從機發(fā)送來的回應信息后,比較主機已發(fā)送的地址號與剛接收的地址號是否相符,如果不符,則發(fā)出錯誤信息;如果相符,則正式發(fā)送數(shù)據(jù)信息,這時發(fā)送的每幀的第9位都為0。只有SM2=0的從機才能接收到主機發(fā)送的信息。從機根據(jù)命令執(zhí)行相應的動作,如果為打開命令,則輸出高電平驅(qū)動可控硅動
68、作,開啟照明燈;如果為關(guān)閉命令,則輸出低電平使可控硅截止,停掉照明燈。該系統(tǒng)的主機和從機控制程序流</p><p> 4.3 照明亮度控制程序設計</p><p> 照明亮度控制系統(tǒng)是利用主控制器鍵盤上的增值與減值鍵,通過串口通信方式來控制分控制器所控制的照明燈的亮度。在這里對于燈泡亮度的調(diào)節(jié)是通過PWM方式來進行的,分控制器選用的是AT89C2051單片機,這種單片機本身沒有PWM
69、輸出,只能通過軟件方法實現(xiàn)。在一定頻率的方波中,調(diào)整高電平和低電平的占空比,即可實現(xiàn)。假設把一個周期分為10個時間等份,如果方波中的高低電平占空比是1:9,這時就是一個比較暗的亮度,如果占空比是5:5,就是一個中間亮度,如果高低電平占空比是9:1,這時就是一個比較亮的亮度,高低電平占空比為0:10時,燈泡是滅的,高低電平占空比為10:0時,燈泡最亮。在進行實驗中,將定時器1的溢出定為1/20000秒,每10次脈沖輸出一個2KHz頻率。這
70、每10次脈沖再用來控制高低電平的10個比值。這樣,在每個1/2000秒的方波周期中,都可以改變方波的輸出占空比,從而控制燈泡的10個亮度級別。在主控制器鍵盤上每次按增值與減值鍵改變占空比的值就可以控制燈泡的亮度。</p><p> 4.3.1 全部亮度控制程序設計</p><p> 全部照明亮度控制系統(tǒng)就是主機向從機發(fā)送廣播地址,所有從機都接收主機發(fā)送來的數(shù)據(jù)信息,然后根據(jù)命令是調(diào)亮
71、還是調(diào)暗來進行相應的燈泡亮度控制。該系統(tǒng)的主機控制程序流程圖同圖4.3 所示,從機控制程序流程圖如圖4.7所示。</p><p> 4.3.2 單獨亮度控制程序設計</p><p> 單獨照明亮度控制系統(tǒng)通信原理基本上與單獨照明啟??刂葡到y(tǒng)相同,也是開始時所有從機處于偵聽狀態(tài),等待主機的呼叫,當主機發(fā)出某一從機的地址時,所有從機將接收到的地址與本機地址相比較,如果相符,說明主機在呼叫
72、自己,然后發(fā)回應答信號,表示準備好開始接收后面的命令,否則不予理睬,繼續(xù)偵聽呼叫地址。主機收到從機的應答后,則開始一次通信,通信完畢,從機繼續(xù)處于偵聽狀態(tài),等待呼叫。從機在收到調(diào)亮或調(diào)暗的命令后,利用零點檢測電路檢測電源過零點,一旦單片機的P1.3口檢測到過零點脈沖,就會向P1.3口輸出PWM信號以調(diào)高或調(diào)低燈泡的亮度。該系統(tǒng)的主機控制程序流程圖同圖4.5所示,從機控制程序流程圖如圖4.8所示。</p><p>
73、 圖4.3 全部啟??刂浦鳈C程序流程圖</p><p> 圖4.4 全部啟??刂茝臋C程序流程圖</p><p> 圖4.5 單獨啟??刂浦鳈C程序流程圖</p><p> 圖4.6 單獨啟停控制從機程序流程圖</p><p> 圖4.7 全部亮度控制從機程序流程圖</p><p> 圖4.8 單獨亮度控制
74、從機程序流程圖</p><p> 照明定時控制程序設計</p><p> 照明定時控制系統(tǒng)是利用從機即單片機AT89C2051和時鐘芯片DS1302進行數(shù)據(jù)通信,讀取和寫入實時數(shù)據(jù),主機采用串口通信方式對從機進行定時時間的設置,從機然后根據(jù)設定的時間進行照明燈的啟??刂啤S1302的控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中;位6如果為0,
75、則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5~位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。DS1302的控制字如表4-2所示。</p><p> 表4-2 DS1302的控制字</p><p> 在DS1302芯片中,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控
76、制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供了終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中置RST為低電平,則會終止此次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。在控制指令字輸入后的下一個SCLK時鐘的上升沿時數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從
77、低位0位至高位7。</p><p> 4.4.1 全部定時控制程序設計</p><p> 在全部定時控制系統(tǒng)中是通過主控制器向所有的分控制器發(fā)送廣播地址,分控制器在收到廣播地址后,使自己處于接收數(shù)據(jù)狀態(tài),然后主控制器向網(wǎng)絡中發(fā)送時間數(shù)據(jù)信息,分控制器在收到時間數(shù)據(jù)后寫入DS1302芯片,等到設定時間到達后,單片機發(fā)出命令關(guān)閉照明燈。該系統(tǒng)的主機控制流程圖同圖4.3所示,從機的控制流程
78、圖如圖4.9所示。</p><p> 4.4.2 單獨定時控制程序設計</p><p> 主控制器使用鍵盤輸入被呼叫分控制器的地址,并通過網(wǎng)絡向所有分控制器傳送,在分控制器將該地址與本機地址進行比較后,判斷是否是呼叫自己,如果是呼叫本機,就將本機地址傳送給主控制器,進一步接收傳送的數(shù)據(jù),然后分控制器就將數(shù)據(jù)寫入DS1302芯片,等到設定的時間到達時就執(zhí)行關(guān)閉照明燈的命令。單獨定時控制
79、的主機程序流程圖同圖4.5所示,從機程序流程圖如圖4.10所示。</p><p> 4.5 RS485通信程序設計</p><p> 由于RS485總線是異步半雙工的通信總線,在某一個時刻總線只可能呈現(xiàn)一種狀態(tài),所以這種方式一般適用于主機對從機的查詢方式通信。在通信中,主機與各個從機進行通信,必須能對各個從機進行識別,這一識別功能是利用串口控制寄存器SCON的SM2位實現(xiàn)的。當串口以
80、方式3工作時,發(fā)送和接收的每一幀信息都是11位,其中第9位數(shù)據(jù)位是可編程的,通過對SCON寄存器的TB8位置1或置0,以區(qū)別發(fā)送的是地址幀還是數(shù)據(jù)幀(規(guī)定地址幀的第9位為1,數(shù)據(jù)幀的第9位為0)。若從機的控制位SM2被設為1,則當接收的是地址幀時,數(shù)據(jù)裝入SBUF,并置RI=1,向CPU發(fā)出中斷申請,若接收的是數(shù)據(jù)幀,則不產(chǎn)生中斷,信息被拋棄。若SM2被設為0,則無論是地址幀還是數(shù)據(jù)幀都將產(chǎn)生RI=1中斷標志,數(shù)據(jù)裝入SBUF。利用這一
81、功能,可以按照如下步驟進行數(shù)據(jù)通信</p><p> 圖4.9 全部定時控制從機程序流程圖</p><p> 圖4.10 單獨定時控制從機控制程序流程圖</p><p> a) 將所有SM2位置1,使其處于只接收地址幀的狀態(tài)。</p><p> b) 主機發(fā)送一幀地址信息,其中前8位數(shù)據(jù)位表示通信的從機地址,第9位為1,表示當前幀為地
82、址幀。</p><p> c) 從機接收到地址幀后,如果是廣播地址幀,則所有從機都將其SM2位置0,準備接收主機發(fā)送的數(shù)據(jù)或命令;如果不是廣播地址幀,則將本機地址與幀中地址進行比較。如果地址相同,則將其SM2位置0,并發(fā)送本機地址幀,然后準備接收數(shù)據(jù)。如果地址不同,則丟棄當前數(shù)據(jù),SM2位不變。</p><p> d) 主機發(fā)送數(shù)據(jù)幀,相應的從機接收,其他從機則不受影響。</p&
83、gt;<p> e) 當主機需要與其他從機通信時,可以再次發(fā)出地址幀尋呼從機,重復這一過程。</p><p> 主機在發(fā)送數(shù)據(jù)時,按照表4-3的數(shù)據(jù)格式進行傳輸。</p><p> 表4-3 數(shù)據(jù)傳輸格式 </p><p> 在程序中,第9位發(fā)送數(shù)據(jù)位SCON中的TB8位,第9位接收數(shù)據(jù)位為SCON的RB8位,因此,發(fā)送數(shù)據(jù)前,可以通過對TB
84、8位置1或0來確定要發(fā)送的是地址幀還是數(shù)據(jù)幀。而接收數(shù)據(jù)時,對地址幀的判斷則是通過讀取RB8位來獲得的,RB8=1,當前幀為地址幀,RB8=0,當前幀為數(shù)據(jù)幀。</p><p> 單片機的串口工作在方式3下,其波特率由定時器1(T1)的溢出率決定,計算公式為:</p><p> 波特率=T1的溢出率</p><p> 定時器T1的溢出率的計算公式為:</
85、p><p> 溢出率=(-T1的初始值)</p><p> 則波特率的公式變?yōu)椋?lt;/p><p> 波特率=(-T1的初始值)</p><p> 系統(tǒng)所采用的晶振頻率為11.0592MHz,T1工作在模式3下,波特率=9600b/s。</p><p> 4.5.1 主機部分通信程序設計</p>&
86、lt;p> 系統(tǒng)中的主機通信程序分為4個部分,分別為預定義及全局變量部分、程序初始化部分、數(shù)據(jù)通信流程和發(fā)送數(shù)據(jù)部分。主機的數(shù)據(jù)通信的基本流程如下:</p><p> a) 主機首先向所有從機發(fā)送地址幀對要通信的從機進行呼叫,發(fā)送地址幀時需將TB8位置1。</p><p> b) 發(fā)送地址幀后,如果發(fā)送的是廣播地址幀,則不需要從機應答,待延遲一段時間后,調(diào)用發(fā)送函數(shù)發(fā)送數(shù)據(jù);如
87、果發(fā)送的是非廣播地址幀,主機則要接收應答,若應答信號中的地址與前面發(fā)送的地址并不相同,主機將重新發(fā)送地址幀呼叫,否則調(diào)用發(fā)送函數(shù)發(fā)送數(shù)據(jù)。</p><p> c) 發(fā)送完數(shù)據(jù)后,主機等待從機的校驗信號,如果接收到0X0F數(shù)據(jù),表示發(fā)送成功,通信結(jié)束,否則主機將重新發(fā)送數(shù)據(jù),直至發(fā)送成功。</p><p> 該部分程序?qū)牧鞒虉D如圖4.11所示。</p><p>
88、; 圖4.11 主機數(shù)據(jù)通信流程圖</p><p> 4.5.2 從機部分通信程序設計</p><p> 從機通信程序也被分為預定義及全局變量部分、程序初始化部分、數(shù)據(jù)通信流程和接收數(shù)據(jù)部分4個部分。從機部分的數(shù)據(jù)通信過程受主機控制,其基本的流程如下:</p><p> a) 初始化完成后,從機設置SM2位為1,串口只接收第9位數(shù)據(jù)位為1的地址幀,數(shù)據(jù)幀將
89、被直接拋棄。</p><p> b) 如果串口有數(shù)據(jù)接收(收到地址幀),則從機會將該幀中的地址信息先與廣播地址進行比較,如果是廣播地址,則做好接收數(shù)據(jù)的準備,如果是其它地址,則與本機地址比較,如果相同,則發(fā)送應答信息,應答信息內(nèi)容應為本機地址,否則丟棄當前數(shù)據(jù),從機繼續(xù)處于等待呼叫狀態(tài)。</p><p> c) 程序調(diào)用接收函數(shù)接收主機發(fā)送的數(shù)據(jù)部分并作出應答,接收到的數(shù)據(jù)保存至Buf
90、指向的緩沖區(qū)中。如果接收函數(shù)返回0xff,表示數(shù)據(jù)校驗失敗,程序等待主機重新發(fā)送數(shù)據(jù)。如果函數(shù)返回值為0xfe,表示從機在數(shù)據(jù)接收過程中發(fā)現(xiàn)主機發(fā)送地址幀,程序?qū)⒎艞壆斍敖邮者^程,將SM2位重新置1,開始下一通信過程。如果函數(shù)返回0,表示數(shù)據(jù)被成功接收,向主機發(fā)送成功信號,隨后,程序?qū)M2位置1,重新開始下一個數(shù)據(jù)通信流程。</p><p> 該部分程序?qū)牧鞒虉D如圖4.12所示。</p>&
91、lt;p> 4.6 無線數(shù)傳通信程序設計</p><p> 這里所設計的無線數(shù)據(jù)傳輸系統(tǒng)是采用主從式通信方式,主控制器設為主站,所有分控制器設為從站,所有從站都編一個唯一的地址。通信的協(xié)調(diào)完全由主站控制,主站先發(fā)送地址幀,所有從站都接收,如果是接收的是廣播地址碼,則所有從站都做好接收主機發(fā)送數(shù)據(jù)或命令的準備,然后主機發(fā)送數(shù)據(jù)或命令;如果接收的是其它地址碼,則從站將接收到的地址幀與本地地址碼相比較,若不
92、同則將數(shù)據(jù)全部丟掉,不做任何響應;若地址碼相同,則證明是呼叫本站,從站將自己的地址碼發(fā)送回去,主站收到自己剛發(fā)出去的地址碼后,接著發(fā)送數(shù)據(jù)或命令。這些工作都需要通信協(xié)議來完成,可保證在任何一個瞬間,通信網(wǎng)中只有一個模塊處于發(fā)送狀態(tài),避免相互干擾。</p><p> SRWF-1模塊在使用之前要進行無線信道、接口類型、接口速率、接口參數(shù)等的設定,在設置完成后便可以進行數(shù)據(jù)傳輸,當模塊收到單片機發(fā)來的第一個數(shù)據(jù)后自
93、動進行無線網(wǎng)絡連接、數(shù)據(jù)同步等工作,因此第一個數(shù)據(jù)將在5個字節(jié)時間延遲后從接收方串口輸出。如要傳送1個數(shù)據(jù)幀,此時間延遲將逐漸減少。當最后一個數(shù)據(jù)被發(fā)送后,模塊將處于等待狀態(tài)直到模塊所設置的接收等待時間延遲之后,模塊將自動通知所有接收設備斷開無線網(wǎng)絡連接、轉(zhuǎn)入空閑狀態(tài)。</p><p> 當發(fā)送方最后一個數(shù)據(jù)被發(fā)送后需延遲6-8個字節(jié)才能接收空中其他模塊的數(shù)據(jù)。其他模塊在此時間內(nèi)也不能向空中發(fā)射數(shù)據(jù),即使有用戶
94、數(shù)據(jù)輸入也是被緩沖在模塊中,而沒有發(fā)送到無線鏈路中,以避免引起數(shù)據(jù)通訊混亂。</p><p> 無線數(shù)傳的通信協(xié)議與流程基本上與RS485通信程序相同,因此主機和從機的數(shù)據(jù)通信程序流程圖分別如圖4.11與4.12所示。</p><p> 圖4.12 從機數(shù)據(jù)通信流程圖</p><p><b> 結(jié)論</b></p><
95、p> 本文研究了基于AT89C51與AT89C2051單片機的智能照明控制系統(tǒng)的設計原理與實現(xiàn)方法,包括硬件設計與軟件設計。首先根據(jù)設計要求用Protel DXP軟件繪制出原理圖,然后依據(jù)原理圖選擇元器件,在實驗板上布置元器件并連接線路,對硬件電路進行測試,檢查串行口是否選錯,測量電源是否正常,復位電平是否正確,單片機是否起振等等。接著就要按照功能要求編制程序,這里采用Keil C編程工具,需先根據(jù)要求劃分模塊,優(yōu)化結(jié)構(gòu);再根據(jù)
96、各模塊特點確定何為主程序,何為子程序,何為中斷服務程序,相互間如何調(diào)用;再根據(jù)各模塊性質(zhì)和功能將各模塊細化,設計出程序流程圖;最后才根據(jù)各模塊流程圖編制具體程序。調(diào)試時應先調(diào)主程序,實現(xiàn)最基本最主要的功能,在此基礎上再將各模塊功能往主程序上堆砌,直至各模塊聯(lián)調(diào)、統(tǒng)調(diào),實現(xiàn)全部功能。</p><p><b> 參考文獻</b></p><p> 1 王幸之,鐘愛琴
97、等. AT89 系列單片機原理與接口技術(shù). 北京:北京航空航天大學出版社,2005</p><p> 2 孫涵芳,徐愛卿. 單片機原理及應用. 北京:北京航空航天大學出版社, 1996</p><p> 3 陽憲惠. 現(xiàn)場總線技術(shù)及其應用. 北京:清華大學出版社,1999</p><p> 4 求是科技. 8051 系列單片機 C 程序設計完全手冊. 北
98、京:人民郵電出版社, 2006</p><p> 5 房小翠,王金鳳. 單片機使用系統(tǒng)設計技術(shù). 北京:國防工業(yè)出版社,1999</p><p> 6 李華. MCS-51系列單片機實用接口技術(shù). 北京:北京航空航天大學出版社, 2003</p><p> 7 吳金戎,沈慶陽等. 8051 單片機實踐與應用. 北京:清華大學出版社,2002</p&
99、gt;<p> 8 陳新忠. 基于 RS485 總線的單片機多機通信軟件設計. 現(xiàn)代電子技術(shù),2002.(3) P8~10</p><p> 9 樊宇,程全. 基于 RS485 總線實現(xiàn)的遠距離多機主從式通信技術(shù). 工業(yè)控制計算機, 2006. 19(7) P71~73</p><p> 10 SRWF-1型微功率無線數(shù)傳模塊使用說明書. 上海桑銳電子科技有限公司
100、, 2004</p><p> 11 孫雪梅,范久臣. 實時時鐘芯片在單片機系統(tǒng)中的應用. 沈陽教育學院學報, 2005. 7(2) P132~134</p><p> 12 曹丙霞,趙艷華. Protel99SE原理圖與PCB設計.北京: 電子工業(yè)出版社,2007</p><p> 13 周杰英.微型計算機原理及應用.北京: 機械工業(yè)出版社,2006
101、</p><p> 14 胡漢才編著.單片機原理及其接口技術(shù).北京:清華大學出版社,1996</p><p> 15 李廣弟.單片機基礎.北京:北京航空航天大學出版社,1995</p><p> 16 何立民.MCS-51系列單片機應用系統(tǒng)設計.北京:北京航空航天大學出版社,1999</p><p> 17 Peter pri
102、nz&Tony Crawford,C in a Nutshell.O’Reilly Media,Inc,2007</p><p> 18 U.Titze Ch.Schenk.Elecfronic Circuits,10thed. Spring-Verlag, Berlin, 1993</p><p> 19 Adel S.Sedra and Kmith:Microelectr
103、onic Circuits,4th ed,Oxford University Press.Inc,1998</p><p> 20 Judith Gruber,Dilemmas in Democratic Governance Judith E. Gruber University of California Press, 1986 </p><p><b>
104、 致 謝</b></p><p> 本論文是在我的導師xx老師的親切關(guān)懷和悉心指導下完成的。他嚴肅的科學態(tài)度,嚴謹?shù)闹螌W精神,精益求精的工作作風,深深地感染和激勵著我。從課題的選擇到項目的最終完成,xx老師都始終給予我細心的指導和不懈的支持。兩年多來,xx老師不僅在學業(yè)上給我以精心指導,同時還在思想、生活上給我以無微不至的關(guān)懷,在此謹向xx老師致以誠摯的謝意和崇高的敬意。 在此,我還要感謝在一起愉
105、快的度過大學生活的電子系的所有同學,正是由于你們的幫助和支持,我才能克服一個一個的困難和疑惑,直至本文的順利完成。在論文即將完成之際,我的心情無法平靜,從開始進入課題到論文的順利完成,有多少可敬的師長、同學、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!最后我還要感謝培養(yǎng)我長大含辛茹苦的父母,謝謝你們!</p><p><b> 附 錄</b></p><p>&
106、lt;b> 1. 串行通信程序</b></p><p><b> ?。?) 主機部分</b></p><p> #include <AT89X51.H></p><p> #include <STRING.H></p><p> #define __MAX_LEN_ 64
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設計----住宅智能照明控制系統(tǒng)設計
- 辦公樓智能照明控制系統(tǒng)畢業(yè)設計
- 畢業(yè)設計-----房屋內(nèi)外照明控制系統(tǒng)設計
- 基于單片機的教室照明控制系統(tǒng)設計【畢業(yè)設計】
- 隧道照明控制系統(tǒng)設計
- 畢業(yè)設計----基于單片機的照明控制系統(tǒng)設計與實現(xiàn)
- eib照明系統(tǒng)圖案控制方案畢業(yè)設計
- 畢業(yè)設計---電梯控制系統(tǒng)
- 太陽能led路燈照明節(jié)能控制系統(tǒng)控制器設計畢業(yè)設計
- 太陽能led路燈照明節(jié)能控制系統(tǒng)控制器設計畢業(yè)設計
- 水位控制系統(tǒng)畢業(yè)設計
- 電梯控制系統(tǒng)畢業(yè)設計
- 溫度控制系統(tǒng)畢業(yè)設計
- 畢業(yè)設計---帆板控制系統(tǒng)
- 畢業(yè)設計 路燈控制系統(tǒng)
- 溫度控制系統(tǒng)畢業(yè)設計
- 電梯控制系統(tǒng)畢業(yè)設計
- 太陽能led路燈照明節(jié)能控制系統(tǒng)控制器設計畢業(yè)設計
- 畢業(yè)設計--溫度控制系統(tǒng)設計
- 樓宇智能照明控制系統(tǒng)設計
評論
0/150
提交評論