




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于單片機的照明控制系統(tǒng)摘要隨著電子技術(shù)的飛速發(fā)展,基于單片機的控制系統(tǒng)已廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、電力、電子、智能樓宇等行業(yè),微型計算機作為嵌入式控制系統(tǒng)的主體與核心,代替了傳統(tǒng)的控制系統(tǒng)的常規(guī)電子線路。同時樓宇智能化的發(fā)展與成熟,也為基于單片機的照明控制系統(tǒng)的普及與應(yīng)用奠定了堅實的基礎(chǔ)。本文闡述了照明的有線、無線控制方式設(shè)計原理與實現(xiàn)方法。以設(shè)計過程為主線,分別從硬件和軟件兩個方面描述設(shè)計過程,即從硬件電路的設(shè)計方法到實現(xiàn)所要求功能的軟件技術(shù)。該照明控制系統(tǒng)的主控制器、分控制器分別是以AT89C51與AT89C2051單片機為基礎(chǔ),實現(xiàn)了有線通信、無線數(shù)傳、控制與顯示等功能。文中詳細地描述了控制電路的設(shè)計過程,包括:鍵盤與LED顯示電路、RS485通信電路、無線數(shù)傳電路、照明燈控制電路以及看門狗電路等。對于軟件設(shè)計主要有主控制器、分控制器的有線通信程序設(shè)計與無線數(shù)字傳輸程序設(shè)計以及燈光控制、定時控制、鍵盤掃描與LED顯示等程序設(shè)計。有線通信程序的功能是:通過RS485主從通信方式,由主控制器發(fā)出命令對全部或單個分控制器所控制的照明燈實現(xiàn)開啟、關(guān)閉、燈光亮度調(diào)節(jié)、定時控制等功能。無線數(shù)傳程序設(shè)計的功能是:通過無線數(shù)傳模塊實現(xiàn)照明燈的無線遙控,同樣實現(xiàn)有線方式控制的功能。關(guān)鍵詞:主控制器,分控制器,單片機,有線通信,無線數(shù)傳,燈光亮度控制,定時控制TheControlSystemforLightingBasedonSingle–chipMicrocomputer惱A稍b章s際t茄r轎a愿c氧t囑W拴i當t股h降鹿t那h喜e碼士r送a布p隔i缺d心脊d辭e寬v千e沙l叉o編p相m拋e揉n早t墊隆o科f彈快e艷l硬e違c沫t列r湊o惕n個i貍c愈壟t突e葡c井h煌n濾o袍l旱o估g陳y繁,皆嗽t宵h嶺e晉跳s夾y幫s知t只e臺m毀朝o誘f薄深c飲o君n糧t忙r煩o昨l戒堵b批a毛s印e摘d荷筐o裕n造旁S術(shù)i奶n績g踏l堵e奏-愛c滴h悟i讓p外不M敢i堡c糾r稀o雖c思o史m霧p撞u孔t莫e排r值反i衛(wèi)s盾業(yè)w叢i冒d閉e光l競y慮讀a椒p花p禍l命i替e夸d躍計i腥n譯兵i訂n眠d臂u陪s沃t扎r謀y汪,誰a惹g客r羊i奏c堡u備l平t圖u仿r辮e垃,之睬e符l喉e舌c搭t必r徒i李c臉明p芽o喝w雖e溫r數(shù),則樹e脊l創(chuàng)e戰(zhàn)c漲t覽r命o校n金,親看i服n刮t奏e怖l糾l冬i族g微e竿n塵t頁鍬b導u殼i翠l夾d伏i過n泰g踏勁a葵n拴d喂換s討o屈寇o繩n擾.慧M沉i萌c阿r疏o沖c礙o獎m國p圖u珍t貞e桑r斃,傭a批s狀觸t注h材e顧潔s剝u壞b掌j束e祖c改t膜顯a耐n名d牙旬c旋o廟r成e眨圣o虜f季寄t家h束e合市e子m糠b半e須d蓮d微e籮d敞膚s堆y掏s闊t散e箭m炸麗o鄰f衛(wèi)暈c峰o助n營t校r敗o悠l攤,棋柜r藝e凝p扯l昆a什c起e收s滅恒t階h看e撲蔥t卵r碑a(chǎn)勢d緒i塘t苦i慈o掘n夜a減l歇礎(chǔ)s戒y屑s址t未e涼m?!?jié)e影l(fā)啦e扒c別t巾r掙o掏n讓i蓬c折狼c虧i腹r設(shè)c篩u暮i疊t濤.上錄A僚t族仇t他h杜e抗喂s欲a絹m引e究傘t如i命m伸e烈,宅揉t蹄h塔e床每d衰e貓v鋼e僻l甩o飽p辣m到e猶n明t稀粱a茶n貢d尿秀m不a燃t拒u僻r凱a竿t撞i扛o膛n瞧核o滲f近衣t千h集e垃爬i霉n雨t軟e體l觀l之i著g仇e院n連t快向b物u粥i棗l胡d暴i激n橋g喚準h配a厲v溉e護譯e淚s息t狗a猴b桌l閃i扔s懲h雙e站d嶄澡t僻h遇e盞干s兄u鄉(xiāng)b踏s忙t灶a翻n供t漲i上a峰l磁飾f如o己u戴n以d堅a行t程i秀o仍n病作f郵o賢r浩慨t梨h出e稿哥p律o耀p游u罷l認a慈r厚i砍z搶a罩t經(jīng)i厚o蒜n軟建a顯n溜d國禽a熊p眉p局l耕i憤c勒a占t鼓i浙o惜n壞崗o白f臨磚t鄰h篩e陵榜c畫o鋸n并t袋r奴o御l罩披s松y市s丈t卷e烏m摩歡f練o丹r攪剩l脈i帝g底h辜t益i閉n蘋g輔青b輩a那s帶e孤d跨醋o擁n五偵s蚊i軋n偵g壟l技e啞-漿c君h饅i竊p震河m伯i燙c您r來o墾c雹o宰m靜p怠u抽t忙e迅r芽.Thepaperexpatiatesonthedesigningtheoriesandimplementationmethodofthecontrolsystemforlightingbywiredorwirelesscommunications.Takingthedesigningprocessasmainline,itdescribestheprocessofdesigningfromtworespects—hardwareandsoftware.Inanotherword,thepaperdescribestheprocessfromthemethodofcircuitdesigningtothesoftwaretechnologyofrealizingthedemandedfunctions.ThehostcontrollerofthecontrolsystemforlightingisbasedonAT89C51single-chipmicrocomputer,andtheauxiliaryonesarebasedonAT89C2051.Thesystemcandomanyjobs,suchaswiredcommunication,wirelessdatatransmitting,controllinganddisplay.Thepaperdescribesthedesigningprocessofthecircuitatlength,including:keyboardandLEDdisplaycircuit,RS485communicationcircuit,wirelesstransmittingcircuit,controlcircuitoflighting,watchdogcircuit,etc.Thedesigningofsoftwaremainlyincludestheseveralprogramming鍬,琴德s允u牽c岸h兵劍a件s坐辭w慘i聰r踐e黨d甲槐c烘o常m敞m值u糖n冊i計c業(yè)a撈t捆i雪o譯n醬,迅尖w強i話r拐e濤l寶e蒙s渠s訂受d膛a蓬t圍a龜惹t樓r腿a刪n蜓s敬m速i脾t銅t既i曠n怪g彼,顆運l房a資m是p鄉(xiāng)l急i遷g煉h筑t萌睡c錫o剖n麗t迷r須o全l劫l狠i春n蠢g董,燥刺t揭i摔m略e譯d憑材c凡o聞n識t追r糖o真l像l在i另n蛋g啄,聯(lián)競k鍵e透y趕b菊o識a考r四d棒利s熔c難a弦n講n霸i炮n罷g討龜a想n妙d標捆L鈔E繭D枝測d煩i套s聰p咱l甚a遼y刷i潮n糠g鑒.憑馬T辨h任e捧掘w株i個r梁e惰d饒?zhí)Kc咽o叮m匪m弄u奧n如i敵c鄙a貼t撕i銅o言n忘趁p臨r寒o撐g屈r住a睜m克m凡i接n陷g蝦捷f很u扒n掙c醒t底i公o毯n裹咐i衫s頂廟t洋h接a陶t墳t錘h予r營o柏u褲g燈h禍M車a懶s早t簡e抵r份-富s俗l愈a恩v昆e簡燦c瓜o物m小m泄u廊n場i飄c把a輸t膀i栽o吸n太備m魂e污t耕h電o手d狐虎b恰a刺s炊e故d客心o紋n旁農(nóng)R拌S寧4滑8雪5租麻t男h每e恨錯h換o禮s振t抱說c或o碰n均t網(wǎng)r光o電l膜l咸e停r藏野s市e釘n請d島s口總o范r項d釘e矛r鑰s韻敵t下o苦拳t及h促e奶構(gòu)a曠l擋l燙母a傍u刊x寒i鏡l貍i莫a坊r抵y斃塊c竟o壺n慎t費r彼o職l墊l筒e越r約s相掠o閑r蹦動e甜a脈c排h反惡o鮮n愧e焰,頑猴i肢n赤c董l針u王d者i撒n獲g新:耀革t咐u疤r決n傳i磁n爭g序o卸n教畜l薦i認g謀h簽t晌i竊n鄰g沖,式癢t太u位r術(shù)n驕i屬n販g糟倉o械f塵f取毫l勿i暖g眠h司t劫i奉n蛋g氏,捏墓r糞e煎g撐u勸l劣a縣t世i已n禾g撇爹b今r拘i墨g臟h淚t覽n絹e塊s填s斬彎o覺f底絲l慈i權(quán)g誼h結(jié)t明i四n淘g蔥,齒抖c輛o遵n青t幣r扯o溜l仍l涌i督n權(quán)g會搜t夠i辜m棕e剝d屬最l些i撫g文h監(jiān)t慕i依n汗g查,燕孔e淘t葵c屠.批甩T掘h沸e諷至w聞i叉r級e綁l匪e軌s紙s復史d根a涼t倒a半碌t侵r翻a拼n璃s奶m任i標t珠t杏i討n蚊g報億p撓r容o攜g現(xiàn)r錄a爐m攪m銀i詞n奇g燙篇f唯u東n港c驚t蘿i占o宵n薯暫i收s跳橫t下h湖a桌t慕豆b規(guī)y既攻w剃i緩r朋e坡l滑e畝s袋s應(yīng)平t悔r盛a雹n劑s聚m撕i蛋t季t喝e屋r潤焦i逮t藍童r糠e黃a殊l邁i掀z登e使s嚷址w為i跪r浪e溫l歡e除s堅s毫思c臉o燒n支t碑r唐o慮l融l辛i綢n鐵g環(huán)綠o肚f淚須t坑h剃e朋庭l帶i隱g喘h(huán)驅(qū)t領(lǐng)i盜n牛g狡,酷長a百n注d概誕a丘c伙h嶺i勿e姿v業(yè)e奶s夏挺t遞h堵e盒橫f仔u肥n哲c愚t板i箱o寧n肉s撈腥i亡d軋e脹n做t唱i耗c盒a性l沈氣t犁o帖量w目i令r碎e軟d息恩c招o萍m拍m喘u鞏n禍i坑c響a綠t誤i票o灘n存.草KeyWords:Hostcontroller,Auxiliarycontroller,Single-chipmicrocomputer,Wiredcommunication,Wirelessdatatransmitting,controllingbrightnessoflighting,Timedcontrolling目錄摘要·····················································1Abstract··················································2序言·······················································61.1單片機應(yīng)用技術(shù)···················································61.2有線通信技術(shù)···················································71.3無線數(shù)傳技術(shù)···················································71.4本章小結(jié)···················································8基于單片機的照明控制系統(tǒng)的設(shè)計框架和性能························92.1系統(tǒng)設(shè)計要點···················································92.2系統(tǒng)的結(jié)構(gòu)···················································92.3系統(tǒng)性能指標與技術(shù)要求···········································112.4本章小結(jié)···················································12基于單片機的照明控制系統(tǒng)的硬件電路設(shè)計·······················133.1主控制器的電路設(shè)計············································13鍵盤的接口設(shè)計···················································14LED數(shù)碼顯示的接口設(shè)計···········································14看門狗監(jiān)控電路的設(shè)計··················································143.2分控制器的電路設(shè)計·················································15時鐘芯片的接口設(shè)計··············································16零點檢測與可控硅控制電路的設(shè)計·····························163.3RS485通信電路的設(shè)計···········································173.4無線數(shù)傳電路的設(shè)計···············································20無線數(shù)傳電路的連接···········································20SRWF-1模塊的特性·······································203.5本章小結(jié)···················································21第四章基于單片機的照明控制系統(tǒng)的軟件設(shè)計······························224.1人機交互程序設(shè)計··········································22鍵盤掃描程序設(shè)計········································23LED數(shù)碼顯示程序設(shè)計·············································254.2照明啟??刂瞥绦蛟O(shè)計·············································26全部啟??刂瞥绦蛟O(shè)計············································26單獨啟停控制程序設(shè)計···············································284.3照明亮度控制程序設(shè)計···············································30全部亮度控制程序設(shè)計···············································30單獨亮度控制程序設(shè)計···············································324.4照明定時控制程序設(shè)計···················································33全部定時控制程序設(shè)計···················································33單獨定時控制程序設(shè)計···················································344.5RS485通信程序設(shè)計···················································35主機部分通信程序設(shè)計···················································37從機部分通信程序設(shè)計···················································374.6無線數(shù)傳通信程序設(shè)計···················································394.7本章小結(jié)···················································39第五章實驗及總結(jié)···················································40致謝···························································41參考文獻···························································42附錄···························································43第一章序言近十幾年來,隨著我國城市建設(shè)的快速發(fā)展,樓宇照明也相應(yīng)飛速發(fā)展。在樓宇的照明數(shù)量與質(zhì)量兩個方面均有顯著的變化與提高,特別是隨著人民生活水平進入小康水平,樓宇照明水平提高很快,追求人工照明光環(huán)境的舒適性、個性化、安全、節(jié)能等方面日見突出。樓宇中人工光環(huán)境對于滿足人們的生活、學習、娛樂以及工作方面有著重要的意義。照明控制系統(tǒng)傳統(tǒng)是以照明配電箱通過手動開關(guān)來控制照明燈具的通斷,或通過回路中串入接觸器,實現(xiàn)遠距離控制。而今出現(xiàn)的樓宇自控系統(tǒng),是以電氣觸點來實現(xiàn)區(qū)域控制、定時通斷、中央監(jiān)控等功能。由于照明控制系統(tǒng)在樓宇自控系統(tǒng)中并非獨立,同時控制功能簡單,因此使用上有一定的局限性。故當樓宇自控系統(tǒng)出現(xiàn)故障時,照明系統(tǒng)亦受到影響。隨著微電子技術(shù)與數(shù)字化技術(shù)的發(fā)展,開發(fā)出了智能化水平更高的專業(yè)照明控制的獨立系統(tǒng),從而能節(jié)約能源、延長燈具壽命、提高照明質(zhì)量。根據(jù)使用客戶的經(jīng)驗,不僅使照明管理與設(shè)備維修簡單及降低費用外,還對環(huán)境改善、提高工作效率都有著顯著的效果。本系統(tǒng)是以單片機為控制器的核心,其中上位機是以AT89C51為基礎(chǔ),下位機是以AT89C2051為基礎(chǔ),再連接外圍電路,通過現(xiàn)場總線RS485通信方式實現(xiàn)照明燈具的智能控制,也可以通過無線數(shù)傳模塊實現(xiàn)無線通信,從而達到照明燈具的智能控制。1單片機的應(yīng)用技術(shù)電子技術(shù)和微型計算機的迅速發(fā)展,促進微型計算機測量和控制技術(shù)的迅速發(fā)展和廣泛應(yīng)用,單片機(單片微型計算機)的應(yīng)用已經(jīng)滲透到國民經(jīng)濟的各個部門和領(lǐng)域,它起到了越來越重要的作用。單片微型計算機就是將中央處理單元、存儲器、定時/計數(shù)器和多種接口都集成到一塊集成電路芯片上的微型計算機。因此一塊芯片就構(gòu)成了一臺計算機。它已成為工業(yè)控制領(lǐng)域、智能儀器儀表、尖端武器、日常生活中最廣泛使用的計算機。單片機由硬件系統(tǒng)與軟件系統(tǒng)組成。硬件系統(tǒng)是指構(gòu)成微機系統(tǒng)的實體與裝置,通常由運算器、控制器、存儲器、輸入接口電路和輸入設(shè)備、輸出接口電路和輸出設(shè)備等組成。其中運算器和控制器一般做在一個集成芯片上,統(tǒng)稱中央處理單元(CentralProcessingUnit),簡稱CPU,是微機的核心部件。CPU配上存放程序和數(shù)據(jù)的存儲器、輸入/輸出(Input/Output,簡稱I/O)接口電路以及外部設(shè)備即構(gòu)成單片機的硬件系統(tǒng)。軟件系統(tǒng)是微機系統(tǒng)所使用的各種程序的總稱,人們通過它對微機進行控制并與微機系統(tǒng)進行信息交換,使微機按照人的意圖完成預定的任務(wù)。軟件系統(tǒng)與硬件系統(tǒng)共同構(gòu)成完整的單片微型計算機系統(tǒng),兩者相輔相成,缺一不可。1.2有線通信技術(shù)在數(shù)據(jù)通信、計算機網(wǎng)絡(luò)以及工業(yè)上的分布式控制系統(tǒng)中,經(jīng)常需要采用串行通信來達到遠程信息交換的目的。目前,有多種接口標準可用于串行通信,最常用的接口有RS-232、RS-422、RS-485。RS232是最早的串行接口標準,在短距離、較低波特率串行通信中得到了廣泛應(yīng)用。其后發(fā)展起來的RS-422、RS-485是平衡傳送的電氣標準,比起RS-232非平衡的傳送方式在電氣指標上有了大幅度的提高。但總的來說,RS-232、RS-422與RS-485最初都是由電子工業(yè)協(xié)會(EIA)制訂并發(fā)布的,EIA于1983年在RS-422基礎(chǔ)上制定了RS-485標準,增加了多點、雙向通信能力,即允許多個發(fā)送器連接到同一條總線上,同時增加了發(fā)送器的驅(qū)動能力和沖突保護特性,擴展了總線共模范圍,后命名為TIA/EIA-485-A標準。RS-232、RS-422與RS-485標準只對接口的電氣特性做出規(guī)定,而不涉及接插件、電纜或協(xié)議,在此基礎(chǔ)上用戶可以建立自己的高層通信協(xié)議。正因為RS-485的遠距離、多節(jié)點(32個)、可以自行定義協(xié)議以及傳輸線成本低的特性,使得EIARS-485成為工業(yè)應(yīng)用中數(shù)據(jù)傳輸?shù)氖走x標準。3無線數(shù)傳技術(shù)有線傳輸?shù)姆绞诫m然使用非常廣泛且可靠性較高,但由于各方面的局限性,已經(jīng)在眾多方面被無線傳輸方式所取代。無線數(shù)字傳輸技術(shù)日益完善,其重要性也被人們所認識,相應(yīng)的基于無線數(shù)字傳輸?shù)漠a(chǎn)品也隨處可見。無線數(shù)字傳輸系統(tǒng)安裝簡便、使用效率高,可應(yīng)用于各個領(lǐng)域,例如,無線數(shù)據(jù)傳輸、無線數(shù)據(jù)采集、無線抄表、工業(yè)遙控、樓宇自動化、高檔玩具等等。無線數(shù)傳技術(shù)是通過單片機的串口與無線數(shù)傳模塊連接,將要發(fā)送的數(shù)據(jù)由無線數(shù)傳模塊向空中發(fā)出,然后由另一個終端設(shè)備的無線數(shù)傳模塊從空中接收數(shù)據(jù),這樣就實現(xiàn)了預期的任務(wù)。1.4本章小結(jié)本章介紹了照明控制系統(tǒng)在智能樓宇中的應(yīng)用、發(fā)展以及所使用的主要專業(yè)技術(shù)。它從傳統(tǒng)的方式逐步發(fā)展到能夠?qū)崿F(xiàn)智能化控制,使用戶使用起來更加方便、舒適。本文所研究的照明控制系統(tǒng)主要使用了單片機應(yīng)用技術(shù)、有線通信技術(shù)和無線數(shù)傳技術(shù)。在這里主要對這三種技術(shù)的組成、功能、發(fā)展以及使用領(lǐng)域等方面進行了簡要的闡述。第二章基于單片機的照明控制系統(tǒng)的設(shè)計框架與性能2.1系統(tǒng)設(shè)計要點系統(tǒng)設(shè)計主要包括硬件和軟件兩大部分,依據(jù)控制系統(tǒng)的工作原理和技術(shù)性能,將硬件和軟件分開設(shè)計。硬件設(shè)計部分包括電路原理圖、合理選擇元器件、繪制線路圖,然后對硬件進行調(diào)試、測試,以達到設(shè)計要求。軟件設(shè)計部分,首先在總體設(shè)計中完成系統(tǒng)總框圖和各模塊的功能設(shè)計,擬定詳細的工作計劃;然后進行具體設(shè)計,包括各模塊的流程圖,選擇合適的編程語言和工具,進行代碼設(shè)計等;最后是對軟件進行調(diào)試、測試,達到所需功能要求。在系統(tǒng)設(shè)計中設(shè)計方法的選用是系統(tǒng)設(shè)計能否成功的關(guān)鍵。硬件電路是采用結(jié)構(gòu)化系統(tǒng)設(shè)計方法,該方法保證設(shè)計電路的標準化、模塊化。硬件電路的設(shè)計最重要的選擇用于控制的單片機,并確定與之配套的外圍芯片,使所設(shè)計的系統(tǒng)既經(jīng)濟又高性能。硬件電路設(shè)計還包括輸入輸出接口設(shè)計,畫出詳細電路圖,標出芯片的型號、器件參數(shù)值,根據(jù)電路圖在仿真機上進行調(diào)試,發(fā)現(xiàn)設(shè)計不當及時修改,最終達到設(shè)計目的。軟件設(shè)計的方法與開發(fā)環(huán)境的選取有著直接的關(guān)系,本系統(tǒng)由于是采用51系列單片機,因此使用KeilC語言進行開發(fā)。此編程工具相比匯編語言具有結(jié)構(gòu)化、適用范圍大、可移植性好等特點。本系統(tǒng)軟件設(shè)計采用模塊化系統(tǒng)設(shè)計方法,先編寫各個功能模塊子程序,然后進行組合與調(diào)整,經(jīng)過調(diào)試后,達到設(shè)計功能要求。2.2系統(tǒng)的結(jié)構(gòu)系統(tǒng)的結(jié)構(gòu)主要由三部分組成:(1)上位機系統(tǒng);(2)下位機系統(tǒng);(3)通信系統(tǒng)。這三部分共同完成了主控制器通過有線、無線通信方式與分控制器進行信息交換,達到控制照明燈具的目的。有線通信系統(tǒng)的結(jié)構(gòu)框圖如圖2.1所示。該多機通信系統(tǒng)采用RS-485半雙工主從式通信系統(tǒng),主機可以發(fā)送數(shù)據(jù)或命令到從機,從機主要負責對分布的照明燈具進行控制,用中斷的方式接收主機發(fā)來的命令或數(shù)據(jù)并做出回應(yīng)。圖2.1有線通信系統(tǒng)結(jié)構(gòu)框圖無線數(shù)據(jù)傳輸系統(tǒng)也是由主控制器和分控制器兩部分組成,系統(tǒng)結(jié)構(gòu)框圖如圖2.2所示。主控制器是發(fā)送遙控指令、發(fā)送數(shù)據(jù)信息、接收應(yīng)答信息等,分控制器接收數(shù)據(jù)與遙控指令,完成對照明燈具的控制。圖2.2無線數(shù)傳系統(tǒng)結(jié)構(gòu)框圖系統(tǒng)的主控制器通過RS-485總線或無線數(shù)傳模塊將數(shù)據(jù)或命令發(fā)送給分控制器,同時將信息送給數(shù)碼顯示單元進行顯示,并有看門狗電路對運行程序進行有效監(jiān)視。主控制器硬件電路結(jié)構(gòu)如圖2.3所示。分控制器接收主控制器的發(fā)來的數(shù)據(jù)和命令,通過可控硅電路對照明燈具進行開關(guān)、亮度控制,并且利用實時時鐘芯片對照明燈具進行定時開關(guān)控制。分控制器硬件電路結(jié)構(gòu)如圖2.4所示。圖2.3主控制器硬件電路結(jié)構(gòu)框圖圖2.4分控制器硬件電路結(jié)構(gòu)框圖系統(tǒng)在單片機的控制之下完成數(shù)據(jù)的通信、顯示,同時能夠控制照明燈具,其硬件電路只是系統(tǒng)的實施工具,大量的工作是由軟件來完成的。這些程序是系統(tǒng)的靈魂,是負責完成硬件電路實現(xiàn)功能和與用戶交互的橋梁,是維護系統(tǒng)正常工作的工具。3系統(tǒng)性能指標及技術(shù)要求(1)照明啟停控制系統(tǒng)①全開②全關(guān)③單獨開④單獨關(guān)(2)照明亮度控制系統(tǒng)①全部亮度調(diào)節(jié)②單獨亮度調(diào)節(jié)(3)定時控制系統(tǒng)①對全部照明燈進行定時控制②對每個照明燈進行定時控制2.4本章小結(jié)本章主要從系統(tǒng)設(shè)計要點、系統(tǒng)的結(jié)構(gòu)、系統(tǒng)性能指標及技術(shù)要求三方面對所研究的照明控制系統(tǒng)的設(shè)計框架和性能進行了闡述,該系統(tǒng)由一個主控制器與若干個分控制器組成,系統(tǒng)的設(shè)計首先要從硬件方面著手,在繪制出正確的電路圖后,再按功能要求編制出相應(yīng)的軟件程序,最終要達到所要求的性能指標。第三章基于單片機的照明控制系統(tǒng)的硬件電路設(shè)計1主控制器的電路設(shè)計主控制器采用AT89C51單片機作為微處理器,AT89C51是美國ATMEL公司生產(chǎn)的低電壓、高性能CMOS8位單片機,片內(nèi)含4Kbytes的可反復擦寫的Flash只讀程序存儲器和128bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元。主控制器系統(tǒng)的外圍接口電路由鍵盤、數(shù)碼顯示及驅(qū)動電路、晶振、看門狗電路、通信接口電路等幾部分組成。主控制器系統(tǒng)的硬件電路原理圖如圖3.1所示。圖3.1主控制器系統(tǒng)的硬件電路原理圖鍵盤的接口設(shè)計鍵盤的結(jié)構(gòu)形式有兩種,即獨立式按鍵和矩陣式鍵盤。本系統(tǒng)使用的是4×4矩陣式鍵盤,第一行從左到右為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相連。每當按下一個鍵時,對應(yīng)的行線與列線就會連通,這樣單片機就能檢測出信號,并通過鍵盤掃描程序?qū)︽I盤進行掃描,以識別被按鍵的行、列位置。LED數(shù)碼顯示的接口設(shè)計數(shù)碼顯示與驅(qū)動電路由74LS138譯碼器、7447TTLBCD-7段高有效譯碼器/驅(qū)動器、4個數(shù)碼管以及5個A1015三極管組成。由單片機的P0.0~P0.3口輸出的四位BCD碼,經(jīng)7447芯片后,翻譯成7段數(shù)碼管a、b、c、d、e、f、g相應(yīng)的段,并輸出點亮數(shù)碼管相應(yīng)的段。單片機的P0.4、P0.5口輸出的信號經(jīng)74LS138譯碼器后產(chǎn)生的高電平信號加在A1015三極管的基極,控制三極管的導通,從而起到對相應(yīng)數(shù)碼管的選通作用。4個7段數(shù)碼管都被接成共陽極方式??撮T狗監(jiān)控電路的設(shè)計本系統(tǒng)采用MAXIM公司的低成本微處理器監(jiān)控芯片MAX813L構(gòu)成硬件狗,與AT89C51的接口電路如圖3.1所示。MR與WDO經(jīng)過一個二極管連接起來,WDI接單片機的P2.7口,RESET接單片機的復位輸入腳RESET,MR經(jīng)過一個復位按鈕接地。該監(jiān)控電路的主要功能如下:(1)系統(tǒng)正常上電復位:電源上電時,當電源電壓超過復位門限電壓4.65V,RESET端輸出200ms的復位信號,使系統(tǒng)復位。(2)對+5V電源進行監(jiān)視:當+5V電源正常時,RESET為低電平,單片機正常工作;當+5V電源電壓降至+4.65V以下時,RESET輸出高電平,對單片機進行復位。(3)看門狗定時器被清零,WDO維持高電平;當程序跑飛或死機時,CPU不能在1.6s內(nèi)給出“喂狗”信號,WDO跳變?yōu)榈碗娖?,由于MR端有一個內(nèi)部250mA的上拉電流,D導通MR獲得有效低電平,RESET端輸出復位脈沖,單片機復位,看門狗定時器清零,WDO又恢復成高電平。(4)手動復位:如果需要對系統(tǒng)進行手動復位,只要按下手動復位按鈕,就能對系統(tǒng)進行有效的復位。3.2分控制器的電路設(shè)計分控制器采用低檔型的AT89C2051單片機作為微處理器,AT89C2051也是美國ATMEL公司生產(chǎn)的低電壓、高性能CMOS8位單片機,片內(nèi)含2Kbytes的可反復擦寫的Flash只讀程序存儲器和128bytes的隨機存取數(shù)據(jù)存儲器(RAM),兼容標準MCS-51指令系統(tǒng),具有15線可編程I/O口,該單片機具有體積小、成本低、結(jié)構(gòu)簡單、性價比較高等特點。分控制器系統(tǒng)的外圍接口電路由晶振、實時時鐘芯片、可控硅控制電路、零點檢測電路、看門狗電路、通信接口電路等組成。分控制器系統(tǒng)的硬件電路原理圖如圖3.2所示。圖3.2分控制器系統(tǒng)的硬件電路原理圖時鐘芯片的接口設(shè)計本系統(tǒng)利用單片機89C2051和時鐘芯片DS1302進行串行數(shù)據(jù)通信,讀取和寫入實時數(shù)據(jù),用于定時控制照明燈具的啟停。DS1302是美國Dallas公司推出的一種高性能、低功耗的實時時鐘芯片,附加31字節(jié)靜態(tài)RAM,采用SPI三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。實時時鐘可提供秒、分、時、日、星期、月和年,一個月小于31日時可自動調(diào)整。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ù)信號等,而從器件則相應(yīng)接收數(shù)據(jù)、送出數(shù)據(jù)。對DS1302的每一次讀寫需16個時鐘脈沖,前8個脈沖輸入操作地址和讀寫命令。其中位7必須為1;位0為0時向芯片寫入數(shù)據(jù),為1時從芯片讀出數(shù)據(jù);位6~位1選定芯片中的地址。后8個脈沖寫入或讀出數(shù)據(jù)。DS1302采用雙電源系統(tǒng)供電,VCC1在雙電源系統(tǒng)中提供主電源,在這種運用方式下VCC2連接到備份電源,以便在沒有主電源的情況下能保存時間信息以及數(shù)據(jù)。DS1302由兩者中的較大者供電。當VCC1大于VCC2+0.2V時,VCC1給DS1302供電。當VCC1小于VCC2時,DS1302由VCC2供電。零點檢測與可控硅控制電路的設(shè)計這部分電路的設(shè)計采用單片機的I/O口灌電流的方法控制可控硅實現(xiàn)開關(guān)與調(diào)光控制,用光電耦合器M0C3021作為可控硅的驅(qū)動器,同時實現(xiàn)強、弱電的隔離。光電耦合器M0C3021通過一個非門與89C2051的P3.7口連接,當此腳輸出高電平時,將會封鎖住MOC3021,使雙向可控硅BT131不導通,這樣就會使照明燈關(guān)閉;當P3.7腳輸出低電平時,使光電耦合器MOC3021打開驅(qū)動雙向可控硅,從而將雙向可控硅觸發(fā)導通,這樣就開啟了所要控制的照明燈。對于照明燈的亮度調(diào)節(jié),這里采用PWM(PulseWidthModulation)方式,即脈沖寬度調(diào)制的簡稱,PWM是一種周期一定而高低電平的占空比可以調(diào)制的方波信號,當輸出脈沖周期一定時,輸出脈沖的占空比越大相對應(yīng)的輸出有效電壓越大。在一個周期內(nèi)的脈沖寬度(導通時間)為T1,周期為T,波形如圖3.3所示。圖3.3脈沖波形圖則輸出電壓的平均值為:U=VCC×T1/T=αVCC其中α=T1/T(正脈沖的持續(xù)時間與脈沖周期的比值)稱為占空比,α的變化范圍為0≤α≤1,VCC為電源電壓。當電源電壓VCC不變的情況下,輸出電壓的平均值U取決與占空比α的大小,改變α的大小就可以改變輸出電壓的平均值,這就是PWM的工作原理。燈泡的亮度與加在燈泡兩端的電壓成比例,而燈泡兩端的電壓與可控硅的導通角成比例,這樣通過調(diào)節(jié)PWM信號的占空比來控制可控硅的導通角。因此占空比越大,燈泡就越亮,當占空比α=1時,燈泡的亮度最高。由于89C2051單片機沒有PWM信號輸出功能,所以在這里采用單片機定時器配合軟件的方法來實現(xiàn)PWM信號的輸出。使用PWM方法進行可控硅控制時,調(diào)制頻率不能低于市電頻率,因為當頻率低于50Hz時,超過了人眼視覺暫留效應(yīng),用于調(diào)光將產(chǎn)生閃爍的現(xiàn)象。當調(diào)制頻率大于市電頻率,可控硅將處于連續(xù)導通狀態(tài)而不能達到調(diào)壓的目的,因此必須使用過零檢測作為觸發(fā)可控硅的基點。在本系統(tǒng)中所使用的過零檢測電路如圖3.2所示,先由一個變壓器將市電電壓轉(zhuǎn)換成10V左右的電壓,經(jīng)過整流、穩(wěn)壓后可作為系統(tǒng)工作電源,同時將變壓器次級的同名端引出一根線連接到比較器LM311的正輸入端,用以檢測交流電的過零點,然后將過零信號送給單片機的P1.3口上。當檢測到交流電的過零點時,就去觸發(fā)雙向可控硅,同時通過PWM信號的輸出控制雙向可控硅的導通時間,最終達到控制燈泡亮度的目的。3.3RS485通信電路的設(shè)計本系統(tǒng)的有線通信方式采用RS485總線進行通信,RS485標準支持半雙工通信,只需三根線就可以進行數(shù)據(jù)的發(fā)送和接收,同時具有抑制共模干擾的能力,接收靈敏度可達±200mV,大大提高了通信距離,在100Kbps速率下通信距離可達1200m,如果通信距離縮短,最大速率可達10Mbps。在這里使用的是主從式通信方式,主機由主控制器充當,從機為分控制器。主機處于主導和支配地位,從機以中斷方式接收和發(fā)送數(shù)據(jù),主機發(fā)送的信息可以傳送到所有的從機或指定的從機,從機發(fā)送的信息只能為主機接收,從機之間不能直接通信。主機與從機的通信電路圖分別如圖3.4與圖3.5所示。圖3.4主機通信電路圖圖3.5從機通信電路圖主機與從機選用的RS485通信收發(fā)器芯片為MAX485,它是MAXIM公司生產(chǎn)的用于RS485通信的低功率收發(fā)器件,采用單一電源+5V工作,額定電流為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),所以只需用單片機的一個管腳控制這兩個引腳即可,主機與從機分別使用P2.6與P1.0腳進行控制;A端和B端分別為接收和發(fā)送的差分信號端,當A引腳的電平高于B時,代表發(fā)送的數(shù)據(jù)為1;當A的電平低于B端時,代表發(fā)送的數(shù)據(jù)為0。在進行通信時只需要一個信號控制MAX485的接收和發(fā)送即可。同時將A和B端之間加匹配電阻,這里選用120Ω的電阻。為了提高系統(tǒng)的抗干擾能力,采用光電耦合器TLP521對通信系統(tǒng)進行光電隔離。從機使用單片機的P1.0控制通信收發(fā)器MAX485的工作狀態(tài),平時置P1.0為低電平,使從機串行口處于偵聽狀態(tài)。當有串行中斷產(chǎn)生時判別是否是本機號,若為本機地址則置P1.0為高電平,發(fā)送應(yīng)答信息,然后再置P1.0為低電平接收控制指令,繼續(xù)保持P1.0為低電平,使串行收發(fā)器處于接收狀態(tài);若不是本機地址,使P1.0為低電平,使串行收發(fā)器處于接收偵聽狀態(tài)。3.4無線數(shù)傳電路的設(shè)計無線數(shù)據(jù)傳輸需要通過無線數(shù)傳模塊來實現(xiàn)。本系統(tǒng)選用的是上海桑銳電子科技有限公司生產(chǎn)的SRWF-1型微功率無線數(shù)傳模塊。該模塊的通信信道是半雙工的,最適合點對多點的通信方式。單片機與無線數(shù)傳模塊之間可以進行信息的傳送與回饋,即所謂的雙向通信。無線數(shù)傳電路的連接主控制器與分控制器各使用一個無線數(shù)傳模塊,形成發(fā)送與接收的無線通信通道。模塊的數(shù)據(jù)輸入和輸出端與單片機的串行口連接,即模塊的串行數(shù)據(jù)發(fā)射端TXD與單片機的串行數(shù)據(jù)輸入端RXD連接;模塊的串行數(shù)據(jù)接收端RXD與單片機的串行數(shù)據(jù)輸出端TXD連接。單片機與無線數(shù)傳模塊SRWF-1的電路連接如圖3.6所示。圖3.6單片機與無線數(shù)傳模塊的連接SRWF-1模塊的特性(1)微發(fā)射功率:最大10dbm(10mW)的發(fā)射功率。(2)
ISM頻段工作頻率,無需申請頻點。
載頻頻率429-438MHz,也可提供315/868/915MHz等載頻
。(3)高抗干擾能力和低誤碼率。基于FSK的調(diào)制方式,采用高效無線通信協(xié)議,在信道誤碼率為10-2時,可得到實際誤碼率10-5~10-6。(4)完善的通訊協(xié)議。(5)傳輸距離遠。在視距情況下,天線高度>3米,可靠傳輸距離>300m。(6)透明的數(shù)據(jù)傳輸。
提供透明的數(shù)據(jù)接口,能適應(yīng)任何標準或非標準的用戶協(xié)議。自動過濾掉空中產(chǎn)生的噪音信號及假數(shù)據(jù)(所發(fā)即所收)。(7)多信道,多速率。
SRWF-1型模塊標準配置提供8個信道,根據(jù)用戶需要,可擴展到16/32信道,滿足用戶多種通信組合方式的需求。SRWF-1型模塊可提供1200bps、2400bps、4800bps、9600bps、19200bps等多種通信波特率,并且無線傳輸速率與接口波特率成正比,以滿足客戶設(shè)備對多種波特率的需要。
(8)雙串口,3種接口方式。
SRWF-1型模塊提供2個串口3種接口方式,COM1為TTL電平UART接口。COM2由用戶自定義為標準的RS-232/RS-485接口(用戶只需要拔/插短路器再上電即可改變接口類型)。(9)高速無線通訊和大的數(shù)據(jù)緩沖區(qū)。
可1次傳輸無限長度的數(shù)據(jù),用戶編程更加靈活。
(10)智能數(shù)據(jù)控制,用戶無需編制多余的程序
。即使是半雙工通信,用戶也無需編制多余的程序,只要從接口收/發(fā)數(shù)據(jù)即可,其它如空中收/發(fā)轉(zhuǎn)換,網(wǎng)絡(luò)連接,控制等操作,SRWF-1型模塊能夠自動完成。(11)低功耗及休眠功能。
接收電流<20mA,發(fā)射電流<40mA,休眠時電流僅為<20uA。(12)高可靠性,體積小、重量輕。
采用高性能單片處理器ATMega8L,外圍電路少,可靠性高,故障率低。
(13)兩種接口收發(fā)等待時間。
可設(shè)置的接口等待時間使模塊既能用于高速用戶設(shè)備(如DSP系統(tǒng))也可適用低速系統(tǒng)(如51系統(tǒng))。
(14)看門狗實時監(jiān)控。ATMega8L的看門狗監(jiān)控內(nèi)部功能,改變了傳統(tǒng)產(chǎn)品的組織結(jié)構(gòu),提高了產(chǎn)品的可靠性。
3.5本章小結(jié)本章詳細地闡述了系統(tǒng)硬件部分的設(shè)計過程,從系統(tǒng)主控制器的硬件電路設(shè)計到分控制器的硬件電路設(shè)計,然后是RS485通信電路設(shè)計與無線數(shù)傳模塊的電路連接。系統(tǒng)的主控制器和分控制器分別是以AT89C51與AT89C2051單片機為基礎(chǔ),按照所要求的功能配上相應(yīng)的外圍電路。主控制器的外圍電路主要有鍵盤接口、LED數(shù)碼顯示接口、看門狗接口、RS485通信接口、無線數(shù)傳接口以及晶振等。分控制器的外圍電路主要有時鐘芯片接口、零點檢測電路、可控硅控制電路、RS485通信電路、無線數(shù)傳電路以及看門狗與晶振等。主控制器通過串口使用RS485通信方式或者無線數(shù)傳方式向分控制器發(fā)出信號實現(xiàn)對照明燈的啟停、亮度調(diào)節(jié)、定時控制等功能。第四章基于單片機的照明控制系統(tǒng)的軟件設(shè)計軟件是計算機系統(tǒng)的靈魂,沒有軟件計算機不能充分發(fā)揮其功能,這是軟件在計算機中的地位,而在計算機控制系統(tǒng)中,軟件也是非常重要的。在照明控制系統(tǒng)中,硬件設(shè)備的功能是由軟件來定義的,如系統(tǒng)要控制分布的照明燈具,通過有線與無線串行通信程序來完成控制功能,通過軟件定義鍵盤功能,通過編程完成LED數(shù)碼顯示等等,由此可見,軟件是控制系統(tǒng)中的一個重要組成部分。該照明控制系統(tǒng)的軟件程序包括:照明啟??刂瞥绦?、照明亮度控制程序、照明定時控制程序、人機交互程序以及RS485串行通信與無線數(shù)傳通信程序等。本著軟件設(shè)計的基本方法,照明控制程序的軟件設(shè)計方法是利用傳統(tǒng)的結(jié)構(gòu)化分析與設(shè)計方法來完成的。結(jié)構(gòu)化程序設(shè)計方法雖然是早期的程序設(shè)計方法,但該方法還一直被廣泛地使用。結(jié)構(gòu)化系統(tǒng)分析與設(shè)計貫穿整個軟件設(shè)計過程,遵循“自頂向下,逐步求精”的基本原則。本照明控制系統(tǒng)軟件程序總體結(jié)構(gòu)如圖4.1所示。圖4.1照明控制系統(tǒng)軟件程序總體結(jié)構(gòu)圖人機交互程序設(shè)計系統(tǒng)的人機交互程序設(shè)計,主要是解決按鍵的掃描與信息的顯示,讓操作者能夠靈活地控制系統(tǒng)工作。鍵盤用來輸入指令,發(fā)光數(shù)碼管用來顯示單片機的狀態(tài),這是一個比較簡單的人機交互形式。鍵盤掃描程序設(shè)計本系統(tǒng)的鍵盤采用的是4×4矩陣式鍵盤,矩陣式鍵盤由行線和列線組成,按鍵位于行、列線的交叉點上。一個4×4的行、列結(jié)構(gòu)可以構(gòu)成一個含有16個按鍵的鍵盤,顯然,在按鍵數(shù)量較多時,矩陣式鍵盤較之獨立式按鍵鍵盤要節(jié)省很多I/O口。矩陣式鍵盤中,行、列線分別連接到按鍵開關(guān)的兩端,在進行鍵盤掃描時,首先把矩陣鍵盤列線的第一根線置高,然后分別再檢測矩陣鍵盤行線是否有高電平的信號,如果有信號,那么就證明這根行線與第一根列線相交處的按鍵被按下了,單片機就讀入這個鍵值。如果所有的四根行線都沒有信號,那么就把第一根列線置低,把第二根列線置高,再一次檢測行線有沒有信號,然后依次類推。由于鍵盤掃描的速度很快,而人按鍵總會持續(xù)一定的時間,因此只要單片機處在等待輸入的狀態(tài),這個鍵盤掃描程序基本上不會錯過任何一個按鍵信號。由于一般人按鍵會有抖動,抖動信號造成鍵盤掃描時會出現(xiàn)一些錯誤的信號,要不就是掃描不進數(shù)據(jù),要不就是重復輸入很多次數(shù)據(jù),因此需要有一個消除抖動的程序。讓單片機不響應(yīng)一些相關(guān)的抖動信號,而只響應(yīng)一次確實存在的按鍵信號。消抖動程序是這樣實現(xiàn)的,當檢測到一個脈沖信號時,并不立即認為是一次按鍵,而是延時一段時間以后再進行檢測,如果三次檢測都有信號,那么就認為有一次按鍵動作發(fā)生了。延時的選擇非常重要,太快了,起不到消除抖動的效果,太慢了又讓鍵盤太不靈活,錯過較多的按鍵信號。鍵盤掃描程序的流程圖如圖4.2所示。系統(tǒng)的按鍵定義除了基本的數(shù)字鍵(0~9)外,將其它的鍵依次定義為開、關(guān)、增值、減值、定時、確認六個命令鍵,其控制的基本功能是:(1)通過數(shù)字鍵、確認鍵輸入分控制器的地址以及定時功能的時間設(shè)置。(2)利用開、關(guān)鍵控制照明燈具的啟停。(3)利用增值、減值鍵控制照明燈具的亮度。(4)通過定時鍵來對照明燈具進行定時控制的設(shè)置。系統(tǒng)通過軟件方法實現(xiàn)該功能,即定義開、關(guān)、增值、減值、定時、確認等命令鍵,利用鍵盤掃描程序獲取對應(yīng)命令鍵的鍵值,然后執(zhí)行相應(yīng)的子程序,實現(xiàn)所要求的控制功能。圖4.2鍵盤掃描程序流程圖LED數(shù)碼顯示程序設(shè)計本系統(tǒng)采用了四位共陽極七段數(shù)碼管,共陽極數(shù)碼管的8個發(fā)光二極管的陽極(二極管正端)連接在一起,通常,公共陽極接高電平(一般接電源),其它管腳接段驅(qū)動電路輸出端。當某段驅(qū)動電路的輸出端為低電平時,則該端所連接的字段導通并點亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能吸收額定的段導通電流,還需根據(jù)外接電源及額定段導通電流來確定相應(yīng)的限流電阻,這里的限流電阻選為100Ω。這里選用的7447芯片是從BCD碼到SEG7段碼的轉(zhuǎn)換器,而74LS138是一個地址譯碼器,通過74LS138選通某個數(shù)碼管,然后根據(jù)7447傳送過來的SEG7段碼的數(shù)據(jù)進行顯示,而在非選通的時候,數(shù)碼管能夠保持原有的顯示數(shù)據(jù)。LED數(shù)碼顯示程序的流程圖如圖4.3所示。圖4.3LED數(shù)碼顯示程序流程圖照明啟??刂瞥绦蛟O(shè)計照明的啟??刂浦饕怯芍骺刂破靼l(fā)出指令,通過RS485通信方式或無線數(shù)傳方式控制全部或部分分控制器所控制照明燈具的啟停,因此照明啟??刂瞥绦蛴蓛刹糠纸M成,即全部啟??刂婆c單獨啟停控制兩部分。全部啟停控制程序設(shè)計全部照明啟??刂葡到y(tǒng)是利用主控制器上的開、關(guān)按鍵來控制全部照明燈的啟停,控制命令是通過串口通信方式傳達到分控制器,分控制器再依據(jù)命令向P3.7口輸出高低電平,來達到控制燈泡亮和滅的目的。在這個多機系統(tǒng)中采用的是主從式通信方式,主機即主控制器處于主導和支配地位,從機即分控制器一般以中斷方式來接收和發(fā)送數(shù)據(jù)。在主從式多機系統(tǒng)中主機發(fā)送的信息可以傳送到所有的從機或指定的從機,在這里是要發(fā)送給所有的從機,來控制照明燈的啟停。在本系統(tǒng)中采用廣播式命令,不需要從機返回信息,從機之間也不能直接通信。主機由AT89C51單片機充當,從機為AT89C2051單片機。主機與從機的數(shù)據(jù)通信波特率定為9600波特,每個從機都有唯一的地址號,用來區(qū)分各從機。單片機的數(shù)據(jù)通信由串口完成,定時器T1為波特發(fā)生器,數(shù)據(jù)傳送格式為1位起始位,8位數(shù)據(jù)位,1位停止位,1位可編程位(TB8)。工作方式:定時器T1設(shè)置為方式2,串口設(shè)置為工作方式3。本系統(tǒng)的通信原理為:從機在建立與主機通信之前所有分機的SM2都置1,即隨時處于對通信線路監(jiān)聽的狀態(tài),只能收到主機發(fā)送來的機號信息。主機向從機發(fā)送廣播地址信息時,廣播地址為00H,所有分機都接收到廣播地址信息,然后進入正常通信狀態(tài),清除SM2位,開始接收主機發(fā)送來的命令。從機收到的命令是開燈時,向P3.7口輸出高電平,打開MOC3021驅(qū)動雙向可控硅,從而就點亮了燈泡;同理,如果收到的命令是關(guān)燈時,向P3.7口輸出低電平,封閉MOC3021使雙向可控硅截止,也就達到了關(guān)閉燈泡的目的。該系統(tǒng)的主機和從機的控制程序流程圖如圖4.4和圖4.5所示。圖4.4全部啟??刂浦鳈C程序流程圖圖4.5全部啟??刂茝臋C程序流程圖單獨啟??刂瞥绦蛟O(shè)計單獨照明啟停控制系統(tǒng)是通過主機發(fā)送給指定的從機命令信息,來實現(xiàn)照明燈的啟??刂?。主機首先發(fā)送從機地址,被叫到的從機向主機發(fā)送本機地址,然后主機向從機傳送數(shù)據(jù),從機根據(jù)接收的數(shù)據(jù)信息執(zhí)行相應(yīng)的命令。單片機的工作方式同全部照明啟??刂葡到y(tǒng)。其具體的工作過程是:所有的從機在通信之前都把SM2位置1,隨時處于偵聽狀態(tài)。當主機發(fā)送從機的地址信息時,每幀數(shù)據(jù)的第9位都為1,所有從機都接收到地址信息,然后判斷主機是否呼叫本機。如果呼叫本機則進入正式通信狀態(tài),清除SM2,并把本機地址號發(fā)送給主機作為應(yīng)答,然后才開始接收主機發(fā)送來的信息。而其它從機由于地址號不符,他們的SM2位仍然為1,仍處于偵聽狀態(tài),無法接收主機發(fā)送來的數(shù)據(jù)信息。主機收到從機發(fā)送來的回應(yīng)信息后,比較主機已發(fā)送的地址號與剛接收的地址號是否相符,如果不符,則發(fā)出錯誤信息;如果相符,則正式發(fā)送數(shù)據(jù)信息,這時發(fā)送的每幀的第9位都為0。只有SM2=0的從機才能接收到主機發(fā)送的信息。從機根據(jù)命令執(zhí)行相應(yīng)的動作,如果為打開命令,則輸出高電平驅(qū)動可控硅動作,開啟照明燈;如果為關(guān)閉命令,則輸出低電平使可控硅截止,停掉照明燈。該系統(tǒng)的主機和從機控制程序流程圖分別如圖4.6與4.7所示。圖4.6單獨啟??刂浦鳈C程序流程圖圖4.7單獨啟??刂茝臋C程序流程圖照明亮度控制程序設(shè)計照明亮度控制系統(tǒng)是利用主控制器鍵盤上的增值與減值鍵,通過串口通信方式來控制分控制器所控制的照明燈的亮度。在這里對于燈泡亮度的調(diào)節(jié)是通過PWM方式來進行的,分控制器選用的是AT89C2051單片機,這種單片機本身沒有PWM輸出,只能通過軟件方法實現(xiàn)。在一定頻率的方波中,調(diào)整高電平和低電平的占空比,即可實現(xiàn)。假設(shè)把一個周期分為10個時間等份,如果方波中的高低電平占空比是1:9,這時就是一個比較暗的亮度,如果占空比是5:5,就是一個中間亮度,如果高低電平占空比是9:1,這時就是一個比較亮的亮度,高低電平占空比為0:10時,燈泡是滅的,高低電平占空比為10:0時,燈泡最亮。在進行實驗中,將定時器1的溢出定為1/20000秒,每10次脈沖輸出一個2KHz頻率。這每10次脈沖再用來控制高低電平的10個比值。這樣,在每個1/2000秒的方波周期中,都可以改變方波的輸出占空比,從而控制燈泡的10個亮度級別。在主控制器鍵盤上每次按增值與減值鍵改變占空比的值就可以控制燈泡的亮度。全部亮度控制程序設(shè)計全部照明亮度控制系統(tǒng)就是主機向從機發(fā)送廣播地址,所有從機都接收主機發(fā)送來的數(shù)據(jù)信息,然后根據(jù)命令是調(diào)亮還是調(diào)暗來進行相應(yīng)的燈泡亮度控制。該系統(tǒng)的主機控制程序流程圖同圖4.4所示,從機控制程序流程圖如圖4.8所示。圖4.8全部亮度控制從機程序流程圖單獨亮度控制程序設(shè)計單獨照明亮度控制系統(tǒng)通信原理基本上與單獨照明啟??刂葡到y(tǒng)相同,也是開始時所有從機處于監(jiān)聽狀態(tài),等待主機的呼叫,當主機發(fā)出某一從機的地址時,所有從機將接收到的地址與本機地址相比較,如果相符,說明主機在呼叫自己,然后發(fā)回應(yīng)答信號,表示準備好開始接收后面的命令,否則不予理睬,繼續(xù)監(jiān)聽呼叫地址。主機收到從機的應(yīng)答后,則開始一次通信,通信完畢,從機繼續(xù)處于監(jiān)聽狀態(tài),等待呼叫。從機在收到調(diào)亮或調(diào)暗的命令后,利用零點檢測電路檢測電源過零點,一旦單片機的P1.3口檢測到過零點脈沖,就會向P1.3口輸出PWM信號以調(diào)高或調(diào)低燈泡的亮度。該系統(tǒng)的主機控制程序流程圖同圖4.6所示,從機控制程序流程圖如圖4.9所示。圖4.9單獨亮度控制從機程序流程圖照明定時控制程序設(shè)計照明定時控制系統(tǒng)是利用從機即單片機AT89C2051和時鐘芯片DS1302進行數(shù)據(jù)通信,讀取和寫入實時數(shù)據(jù),主機采用串口通信方式對從機進行定時時間的設(shè)置,從機然后根據(jù)設(shè)定的時間進行照明燈的啟??刂啤S1302的控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中;位6如果為0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5~位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。DA1302的控制字如表4-1所示。在DS1302芯片中,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,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ù)時從低位0位至高位7。全部定時控制程序設(shè)計在全部定時控制系統(tǒng)中是通過主控制器向所有的分控制器發(fā)送廣播地址,分控制器在收到廣播地址后,使自己處于接收數(shù)據(jù)狀態(tài),然后主控制器向網(wǎng)絡(luò)中發(fā)送時間數(shù)據(jù)信息,分控制器在收到時間數(shù)據(jù)后寫入DS1302芯片,等到設(shè)定時間到達后,單片機發(fā)出命令關(guān)閉照明燈。該系統(tǒng)的主機控制流程圖同圖4.4所示,從機的控制流程圖如圖4.10所示。圖4.10全部定時控制從機程序流程圖單獨定時控制程序設(shè)計主控制器使用鍵盤輸入被呼叫分控制器的地址,并通過網(wǎng)絡(luò)向所有分控制器傳送,在分控制器將該地址與本機地址進行比較后,判斷是否是呼叫自己,如果是呼叫本機,就將本機地址傳送給主控制器,進一步接收傳送的數(shù)據(jù),然后分控制器就將數(shù)據(jù)寫入DS1302芯片,等到設(shè)定的時間到達時就執(zhí)行關(guān)閉照明燈的命令。單獨定時控制的主機程序流程圖同圖4.6所示,從機程序流程圖如圖4.11所示。圖4.11單獨定時控制從機控制程序流程圖RS485通信程序設(shè)計由于RS485總線是異步半雙工的通信總線,在某一個時刻總線只可能呈現(xiàn)一種狀態(tài),所以這種方式一般適用于主機對從機的查詢方式通信。在通信中,主機與各個從機進行通信,必須能對各個從機進行識別,這一識別功能是利用串口控制寄存器SCON的SM2位實現(xiàn)的。當串口以方式3工作時,發(fā)送和接收的每一幀信息都是11位,其中第9位數(shù)據(jù)位是可編程的,通過對SCON寄存器的TB8位置1或置0,以區(qū)別發(fā)送的是地址幀還是數(shù)據(jù)幀(規(guī)定地址幀的第9位為1,數(shù)據(jù)幀的第9位為0)。若從機的控制位SM2被設(shè)為1,則當接收的是地址幀時,數(shù)據(jù)裝入SBUF,并置RI=1,向CPU發(fā)出中斷申請,若接收的是數(shù)據(jù)幀,則不產(chǎn)生中斷,信息被拋棄。若SM2被設(shè)為0,則無論是地址幀還是數(shù)據(jù)幀都將產(chǎn)生RI=1中斷標志,數(shù)據(jù)裝入SBUF。利用這一功能,可以按照如下步驟進行數(shù)據(jù)通信:(1)將所有SM2位置1,使其處于只接收地址幀的狀態(tài)。(2)主機發(fā)送一幀地址信息,其中前8位數(shù)據(jù)位表示通信的從機地址,第9位為1,表示當前幀為地址幀。(3)從機接收到地址幀后,如果是廣播地址幀,則所有從機都將其SM2位置0,準備接收主機發(fā)送的數(shù)據(jù)或命令;如果不是廣播地址幀,則將本機地址與幀中地址進行比較。如果地址相同,則將其SM2位置0,并發(fā)送本機地址幀,然后準備接收數(shù)據(jù)。如果地址不同,則丟棄當前數(shù)據(jù),SM2位不變。(4)主機發(fā)送數(shù)據(jù)幀,相應(yīng)的從機接收,其他從機則不受影響。(5)當主機需要與其他從機通信時,可以再次發(fā)出地址幀尋呼從機,重復這一過程。主機在發(fā)送數(shù)據(jù)時,按照表4-2的數(shù)據(jù)格式進行傳輸。在程序中,第9位發(fā)送數(shù)據(jù)位SCON中的TB8位,第9位接收數(shù)據(jù)位為SCON的RB8位,因此,發(fā)送數(shù)據(jù)前,可以通過對TB8位置1或0來確定要發(fā)送的是地址幀還是數(shù)據(jù)幀。而接收數(shù)據(jù)時,對地址幀的判斷則是通過讀取RB8位來獲得的,RB8=1,當前幀為地址幀,RB8=0,當前幀為數(shù)據(jù)幀。單片機的串口工作在方式3下,其波特率由定時器1(T1)的溢出率決定,計算公式為:定時器T1的溢出率的計算公式為:則波特率的公式變?yōu)椋合到y(tǒng)所采用的晶振頻率為11.0592MHz,T1工作在模式3下,波特率=9600b/s。主機部分通信程序設(shè)計系統(tǒng)中的主機通信程序分為4個部分,分別為預定義及全局變量部分、程序初始化部分、數(shù)據(jù)通信流程和發(fā)送數(shù)據(jù)部分。主機的數(shù)據(jù)通信的基本流程如下:(1)主機首先向所有從機發(fā)送地址幀對要通信的從機進行呼叫,發(fā)送地址幀時需將TB8位置1。(2)發(fā)送地址幀后,如果發(fā)送的是廣播地址幀,則不需要從機應(yīng)答,待延遲一段時間后,調(diào)用發(fā)送函數(shù)發(fā)送數(shù)據(jù);如果發(fā)送的是非廣播地址幀,主機則要接收應(yīng)答,若應(yīng)答信號中的地址與前面發(fā)送的地址并不相同,主機將重新發(fā)送地址幀呼叫,否則調(diào)用發(fā)送函數(shù)發(fā)送數(shù)據(jù)。(3)發(fā)送完數(shù)據(jù)后,主機等待從機的校驗信號,如果接收到0X0F數(shù)據(jù),表示發(fā)送成功,通信結(jié)束,否則主機將重新發(fā)送數(shù)據(jù),直至發(fā)送成功。該部分程序?qū)?yīng)的流程圖如圖4.12所示。圖4.12主機數(shù)據(jù)通信流程圖從機部分通信程序設(shè)計從機通信程序也被分為預定義及全局變量部分、程序初始化部分、數(shù)據(jù)通信流程和接收數(shù)據(jù)部分4個部分。從機部分的數(shù)據(jù)通信過程受主機控制,其基本的流程如下:(1)初始化完成后,從機設(shè)置SM2位為1,串口只接收第9位數(shù)據(jù)位為1的地址幀,數(shù)據(jù)幀將被直接拋棄。(2)如果串口有數(shù)據(jù)接收(收到地址幀),則從機會將該幀中的地址信息先與廣播地址進行比較,如果是廣播地址,則做好接收數(shù)據(jù)的準備,如果是其它地址,則與本機地址比較,如果相同,則發(fā)送應(yīng)答信息,應(yīng)答信息內(nèi)容應(yīng)為本機地址,否則丟棄當前數(shù)據(jù),從機繼續(xù)處于等待呼叫狀態(tài)。(3)程序調(diào)用接收函數(shù)接收主機發(fā)送的數(shù)據(jù)部分并作出應(yīng)答,接收到的數(shù)據(jù)保存至Buf指向的緩沖區(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ù)通信流程。該部分程序?qū)?yīng)的流程圖如圖4.13所示。圖4.13從機數(shù)據(jù)通信流程圖6無線數(shù)傳通信程序設(shè)計這里所設(shè)計的無線數(shù)據(jù)傳輸系統(tǒng)是采用主從式通信方式,主控制器設(shè)為主站,所有分控制器設(shè)為從站,所有從站都編一個唯一的地址。通信的協(xié)調(diào)完全由主站控制,主站先發(fā)送地址幀,所有從站都接收,如果是接收的是廣播地址碼,則所有從站都做好接收主機發(fā)送數(shù)據(jù)或命令的準備,然后主機發(fā)送數(shù)據(jù)或命令;如果接收的是其它地址碼,則從站將接收到的地址幀與本地地址碼相比較,若不同則將數(shù)據(jù)全部丟掉,不做任何響應(yīng);若地址碼相同,則證明是呼叫本站,從站將自己的地址碼發(fā)送回去,主站收到自己剛發(fā)出去的地址碼后,接著發(fā)送數(shù)據(jù)或命令。這些工作都需要通信協(xié)議來完成,可保證在任何一個瞬間,通信網(wǎng)中只有一個模塊處于發(fā)送狀態(tài),避免相互干擾。SRWF-1模塊在使用之前要進行無線信道、接口類型、接口速率、接口參數(shù)等的設(shè)定,在設(shè)置完成后便可以進行數(shù)據(jù)傳輸,當模塊收到單片機發(fā)來的第一個數(shù)據(jù)后自動進行無線網(wǎng)絡(luò)連接、數(shù)據(jù)同步等工作,因此第一個數(shù)據(jù)將在5個字節(jié)時間延遲后從接收方串口輸出。如要傳送1個數(shù)據(jù)幀,此時間延遲將逐漸減少。當最后一個數(shù)據(jù)被發(fā)送后,模塊將處于等待狀態(tài)直到模塊所設(shè)置的接收等待時間延遲之后,模塊將自動通知所有接收設(shè)備斷開無線網(wǎng)絡(luò)連接、轉(zhuǎn)入空閑狀態(tài)。當發(fā)送方最后一個數(shù)據(jù)被發(fā)送后需延遲6-8個字節(jié)才能接收空中其他模塊的數(shù)據(jù)。其他模塊在此時間內(nèi)也不能向空中發(fā)射數(shù)據(jù),即使有用戶數(shù)據(jù)輸入也是被緩沖在模塊中,而沒有發(fā)送到無線鏈路中,以避免引起數(shù)據(jù)通訊混亂。無線數(shù)傳的通信協(xié)議與流程基本上與RS485通信程序相同,因此主機和從機的數(shù)據(jù)通信程序流程圖分別如圖4.12與4.13所示。4.7本章小結(jié)本章主要闡述了照明控制系統(tǒng)的軟件設(shè)計,該系統(tǒng)的軟件程序主要由照明啟??刂瞥绦颉⒄彰髁炼瓤刂瞥绦?、照明定時控制程序、人機交互程序、串行通信程序等組成。而照明啟??刂啤⒘炼瓤刂埔约岸〞r控制程序又分為全部控制和單獨控制兩部分,人機交互程序由鍵盤掃描程序與LED顯示程序組成,而串行通信程序由RS485通信程序和無線數(shù)傳程序組成。在這里分別對每個子程序的工作流程、工作原理以及過程都做了詳細的論述。第五章實驗及總結(jié)本文研究了基于AT89C51與AT89C2051單片機的智能照明控制系統(tǒng)的設(shè)計原理與實現(xiàn)方法,包括硬件設(shè)計與軟件設(shè)計。首先根據(jù)設(shè)計要求用ProtelDXP軟件繪制出原理圖,然后依據(jù)原理圖選擇元器件,在實驗板上布置元器件并連接線路,對硬件電路進行測試,檢查串行口是否選錯,測量電源是否正常,復位電平是否正確,單片機是否起振等等。接著就要按照功能要求編制程序,這里采用KeilC編程工具,需先根據(jù)要求劃分模塊,優(yōu)化結(jié)構(gòu);再根據(jù)各模塊特點確定何為主程序,何為子程序,何為中斷服務(wù)程序,相互間如何調(diào)用;再根據(jù)各模塊性質(zhì)和功能將各模塊細化,設(shè)計出程序流程圖;最后才根據(jù)各模塊流程圖編制具體程序。調(diào)試時應(yīng)先調(diào)主程序,實現(xiàn)最基本最主要的功能,在此基礎(chǔ)上再將各模塊功能往主程序上堆砌,直至各模塊聯(lián)調(diào)、統(tǒng)調(diào),實現(xiàn)全部功能。在實驗過程中,首先通過主控制器上的鍵盤輸入地址號,地址號是由數(shù)字組成的,在輸入完畢后,然后按下確認鍵,信號經(jīng)過網(wǎng)絡(luò)傳輸后,分控制器將收到的地址進行比較確認后,然后執(zhí)行下一步的程序。經(jīng)過實驗的驗證,在輸入廣播地址后,所有的分控制器都正確地執(zhí)行了后續(xù)的命令,實現(xiàn)了燈泡的啟停、亮度調(diào)節(jié)、定時關(guān)閉功能;在輸入某個分機地址后,該分機也正常地執(zhí)行了相應(yīng)的命令,同樣達到了所要求的功能。由于系統(tǒng)采用的是RS485通信與無線數(shù)傳通信方式,如果使用在現(xiàn)場環(huán)境中必然存在干擾的問題,所以抗干擾與可靠性設(shè)計就顯得尤為重要。雖然系統(tǒng)已經(jīng)考慮了可靠性設(shè)計問題,如看門狗技術(shù)、復位電路、光電耦合等在電路設(shè)計中的應(yīng)用,但這也只是針對部分問題做了解決,一些詳細的設(shè)計還有待于解決。該系統(tǒng)還只是試驗室的調(diào)試系統(tǒng),離真正的現(xiàn)場應(yīng)用還有一定的距離。軟件部分的編制也是力求簡單實用,即本著實用、有效、方便的原則進行編制。但一個較好的和較完善的應(yīng)用軟件不是在短時間內(nèi)就可以完成的,它需要不斷的完善和發(fā)展,需要我們做大量的工作和時間的檢驗?,F(xiàn)在的系統(tǒng)還沒有達到真正的智能化,還需要增加很多新的功能和先進的科學技術(shù),才能達到真正意義上的智能化控制。致謝本文是在教授的精心指導下完成的,在這幾個月的工作和學習期間,我深深地感到從老師那里學到的不僅僅是知識和技術(shù),更重要的是他嚴謹?shù)闹螌W態(tài)度,實事求是的工作作風和高風亮節(jié)的做人品質(zhì)。在此,我向老師致以最衷心的感謝!參考文獻[1]王幸之、鐘愛琴等.AT89系列單片機原理與接口技術(shù).北京:北京航空航天大學出版社.2005[2]孫涵芳、徐愛卿.單片機原理及應(yīng)用.北京:北京航空航天大學出版社.1996[3]陽憲惠.現(xiàn)場總線技術(shù)及其應(yīng)用.北京:清華大學出版社.1999[4]求是科技.8051系列單片機C程序設(shè)計完全手冊.北京:人民郵電出版社.2006[5]房小翠、王金鳳.單片機使用系統(tǒng)設(shè)計技術(shù).北京:國防工業(yè)出版社.1999[6]李華.MCS-51系列單片機實用接口技術(shù).北京:北京航空航天大學出版社.2003[7]吳金戎、沈慶陽等.8051單片機實踐與應(yīng)用.北京:清華大學出版社.2002[8]陳新忠.基于RS485總線的單片機多機通信軟件設(shè)計.現(xiàn)代電子技術(shù).2002.(3)P8~10[9]樊宇、程全.基于RS485總線實現(xiàn)的遠距離多機主從式通信技術(shù).工業(yè)控制計算機.2006.19(7)P71~73[10]SRWF-1型微功率無線數(shù)傳模塊使用說明書.上海桑銳電子科技有限公司.2004[11]孫雪梅、范久臣.實時時鐘芯片在單片機系統(tǒng)中的應(yīng)用.沈陽教育學院學報.2005.7(2)P132~134附錄Ⅰ.串行通信程序(1)主機部分#include<AT89X51.H>#include<STRING.H>#define__MAX_LEN_64//數(shù)據(jù)最大長度#define_MHZ_11//設(shè)置單片機使用的晶振頻率(11.0592MHz)/*以下為程序協(xié)議中使用的握手信號*/#define__SUCC_0x0f//數(shù)據(jù)傳送成功#define__ERR_0xf0//數(shù)據(jù)傳送錯誤voidinit_serial();//串口初始化voidsend_data(unsignedchar*buf);//發(fā)送數(shù)據(jù)voiddelay10ms(unsignedintcount);//延時子程序(10ms)voidmain(){ charbuf[__MAX_LEN_]; unsignedchari=0; unsignedchartmp; unsignedcharaddr;//該字節(jié)用于保存要通信的從機地址 /*為緩沖區(qū)賦初值*/ P0=0xff; while(P1!=0)//每隔100ms從P0口讀取,若讀取到0則表明數(shù)據(jù)采集結(jié)束 { *(buf+i)=P0; delay10ms(10);//延時100ms P0=0xff; i++; } *(buf+i)=0;//緩沖區(qū)最后一個字節(jié)為0表示數(shù)據(jù)結(jié)束 /*讀要訪問的分機地址*/ P0=0xff; addr=P0; /*串口初始化*/ init_serial();//初始化串口 EA=0;//關(guān)閉所有中斷 /*發(fā)送地址幀并接收應(yīng)答信息,如果接收的信號與發(fā)送的地址信息不同,則重新發(fā)送地址幀*/ tmp=addr-1; /*發(fā)送數(shù)據(jù)并接收校驗信息,如果接收的信號為0FH,表示從機接收成功,否則將重新發(fā)送該組數(shù)據(jù)*/ tmp=__ERR_; while(tmp!=__SUCC_) { send_data(buf);//發(fā)送數(shù)據(jù) RI=0; while(!RI); tmp=SBUF; RI=0; } while(1);//程序結(jié)束,進入死循環(huán)}/*初始化串口*/voidinit_serial(){ TMOD=0x20; //定時器T1使用工作方式2 TH1=250;//設(shè)置初值 TL1=250; TR1=1;//開始計時 PCON=0x80;//SMOD=1 SCON=0xd0; //工作方式3,9位數(shù)據(jù)位,波特率9600bps,允許接收}/*發(fā)送數(shù)據(jù)*/voidsend_data(unsignedchar*buf){ unsignedcharlen;//保存數(shù)據(jù)長度 unsignedcharecc;//保存校驗字節(jié) len=strlen(buf);//計算要發(fā)送數(shù)據(jù)的長度 ecc=len;//開始進行校驗字節(jié)計算 /*發(fā)送數(shù)據(jù)
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- YY/T 1860.1-2024無源外科植入物植入物涂層第1部分:通用要求
- 購房補充合同范本
- 城市垃圾處理站承包合同協(xié)議書
- 股權(quán)合伙合同協(xié)議
- 單位實習生勞動合同范本
- 簡易短期借款合同文本
- 度工業(yè)用地使用權(quán)轉(zhuǎn)讓合同書
- 農(nóng)業(yè)技術(shù)合作協(xié)議合同范本
- 軟件租賃與服務(wù)合同
- 校園欺凌心理安全課件
- 中央2025年全國婦聯(lián)所屬在京事業(yè)單位招聘93人筆試歷年參考題庫附帶答案詳解
- CentOS 7系統(tǒng)配置與管理(Linux 試題庫) 習題答案 (楊海艷 第2版)
- 手機直連衛(wèi)星的可用頻率分析
- 部編四下語文《口語交際:轉(zhuǎn)述》公開課教案教學設(shè)計【一等獎】
- 氮氣窒息事故案例經(jīng)驗分享
- 2工藝用水驗證報告
- 原子雜化軌道理論
- 充填開采之 矸石充填術(shù)
- 醫(yī)院醫(yī)療設(shè)備采購流程圖
- 人力外包項目實施方案
- BQB480-2014無取向電工鋼
評論
0/150
提交評論