版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《物聯(lián)網(wǎng)應(yīng)用系統(tǒng)》任務(wù)書(shū)</p><p> 題目: 基于ZigBee智能擦窗控制系統(tǒng)設(shè)計(jì) </p><p> 學(xué)生姓名: 學(xué) 號(hào): 班 級(jí): 物聯(lián)網(wǎng)工程 1班 </p><p> 題目類(lèi)型: 物聯(lián)網(wǎng)工程 指導(dǎo)教師: 吳愛(ài)梅 </p
2、><p><b> 一、設(shè)計(jì)題目簡(jiǎn)介</b></p><p> 該設(shè)計(jì)要求學(xué)生以物聯(lián)網(wǎng)在智能家居領(lǐng)域應(yīng)用為背景,設(shè)計(jì)并開(kāi)發(fā)基于ZigBee智能插座控制系統(tǒng)。</p><p> 通過(guò)該題目的設(shè)計(jì)、開(kāi)發(fā),使學(xué)生初步得到智能家居家電的訓(xùn)練,掌握物聯(lián)網(wǎng)的感知層、網(wǎng)絡(luò)層和應(yīng)用層這三層在智能家居的應(yīng)用知識(shí)。全面培養(yǎng)學(xué)生在設(shè)計(jì)開(kāi)發(fā)過(guò)程中的分析、設(shè)計(jì)及文檔規(guī)
3、范書(shū)寫(xiě)的能力,通過(guò)智能家居開(kāi)發(fā)的綜合訓(xùn)練,提高解決實(shí)際問(wèn)題的能力。</p><p><b> 二、設(shè)計(jì)的任務(wù)</b></p><p> 1.查閱文獻(xiàn)資料,一般在10篇以上;</p><p> 2.以智能家居家電控制背景為基礎(chǔ),通過(guò)調(diào)研、分析現(xiàn)有的智能家居家電控制系統(tǒng),設(shè)計(jì)基于ZigBee智能插座控制系統(tǒng);</p><p
4、> 3.完成硬件電氣原理圖設(shè)計(jì);</p><p> 4.完成硬件驅(qū)動(dòng)程序軟件設(shè)計(jì);</p><p> 5.完成ZigBee協(xié)議棧開(kāi)發(fā)軟件設(shè)計(jì);</p><p> 6.完成PC端Qt窗體界面開(kāi)發(fā)軟件設(shè)計(jì)</p><p> 7.撰寫(xiě)設(shè)計(jì)說(shuō)明書(shū);</p><p><b> 8.做好答辯工作。<
5、;/b></p><p> 三、主要內(nèi)容、功能及技術(shù)指標(biāo)</p><p><b> 1.設(shè)計(jì)內(nèi)容</b></p><p> 繪制電氣原理圖:ZigBee繼電器終端節(jié)點(diǎn)模塊、ZigBee協(xié)調(diào)器模塊;</p><p> 編寫(xiě)繼電器驅(qū)動(dòng)程序;</p><p> 編寫(xiě)ZigBee協(xié)議棧軟件
6、程序:ZigBee繼電器終端節(jié)點(diǎn)程序功能的實(shí)現(xiàn), ZigBee協(xié)調(diào)器程序功能的實(shí)現(xiàn);</p><p> PC機(jī)Qt圖形界面軟件設(shè)計(jì):ZigBee智能插座控制系統(tǒng)窗體界面設(shè)計(jì),ZigBee智能插座控制系統(tǒng)窗體界面功能實(shí)現(xiàn)的設(shè)計(jì)。</p><p><b> 2.功能實(shí)現(xiàn)</b></p><p> 基于ZigBee智能插座控制系統(tǒng)設(shè)計(jì),主要采
7、用無(wú)線近距離通信技術(shù)對(duì)室內(nèi)插座進(jìn)行控制。PC機(jī)通過(guò)RS-232串口與ZigBee協(xié)調(diào)器模塊連接,由PC機(jī)Qt圖形交互界面上發(fā)出通電與斷電指令并傳送到ZigBee協(xié)調(diào)器模塊。再由ZigBee協(xié)調(diào)器模塊通過(guò)ZigBee網(wǎng)絡(luò)發(fā)送至ZigBee繼電器終端節(jié)點(diǎn),進(jìn)而控制室內(nèi)插座電源的通與斷。</p><p><b> 3.技術(shù)要求</b></p><p> ?。?)系統(tǒng)設(shè)計(jì)使
8、用軟件要求:IAR集成開(kāi)發(fā)環(huán)境軟件、TI Z-Stack協(xié)議棧、USB轉(zhuǎn)串口驅(qū)動(dòng)軟件、Qt Creator跨平臺(tái)開(kāi)發(fā)環(huán)境軟件。</p><p> (2)系統(tǒng)設(shè)計(jì)使用硬件要求: 1塊 ZigBee協(xié)調(diào)器模塊 、1塊ZigBee繼電器終端節(jié)點(diǎn)模塊。</p><p><b> 四、提交的成果</b></p><p> 1. 課程設(shè)計(jì)說(shuō)明書(shū)(
9、1份)</p><p> A4打印稿,正文部分要求不少于30 頁(yè),中文為宋體,英文為T(mén)ime New Roman。正文及目錄格式參考(畢業(yè)設(shè)計(jì)論文格式要求)正文包括以下內(nèi)容。</p><p><b> 系統(tǒng)簡(jiǎn)介;</b></p><p><b> 需求分析 ;</b></p><p> Zi
10、gBee繼電器硬件電氣原理圖設(shè)計(jì) ;</p><p> 繼電器驅(qū)動(dòng)程序設(shè)計(jì) ;</p><p> ZigBee協(xié)議棧軟件設(shè)計(jì); </p><p> PC機(jī)Qt圖形界面軟件設(shè)計(jì);</p><p> 摘要、章節(jié)目錄、總結(jié)、參考文獻(xiàn)、致謝等。</p><p><b> 2. 光盤(pán)(1張)</b>
11、;</p><p> 把完成的所有電子文檔(設(shè)計(jì)說(shuō)明書(shū)文檔、打包后可運(yùn)行程序及源程序)一并交由指導(dǎo)老師處。為了統(tǒng)一,資料規(guī)范如下。</p><p> ?。?)光盤(pán)名稱(chēng)為“學(xué)號(hào)+姓名”,如:14730142周**。</p><p> ?。?)光盤(pán)根目錄下只包含一個(gè)文件夾,文件夾的命名為“學(xué)號(hào)+姓名”,該文件夾中包含4部分內(nèi)容:電氣原理圖、PC機(jī)Qt圖形窗體界面圖、軟
12、件程序流程圖和設(shè)計(jì)說(shuō)明書(shū)。</p><p><b> 五、主要參考文獻(xiàn)</b></p><p> [1] 鐘永鋒,劉永俊. ZigBee無(wú)線傳感器網(wǎng)絡(luò)[M]. 北京郵電大學(xué)出版社.2011</p><p> [2]瞿雷,劉盛德,胡咸斌.ZIGBEE技術(shù)及應(yīng)用[M].北京航空航天大學(xué)出版社.2007</p><p>
13、; [3]王小強(qiáng),歐陽(yáng)駿,黃寧淋ZigBee無(wú)線傳感器網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn)[M].化學(xué)工業(yè)出版社.2012</p><p> [4]青島東合信息技術(shù)有限公司.Zigbee開(kāi)發(fā)技術(shù)及實(shí)踐. 西安電子科大.2014</p><p> [5]杭州晶控電子有限公司.教你搭建自己的智能家居系統(tǒng)[M].機(jī)械工業(yè)出版社,2013 </p><p> [6]鄭阿奇,陳超.
14、Qt4 開(kāi)發(fā)實(shí)踐.電子工業(yè)出版社.2011.</p><p> [7]李文仲,段朝玉等.ZigBee2007/PRO協(xié)議棧實(shí)驗(yàn)與實(shí)踐[M].北京航空航天.2011</p><p> [8]雷梁.基于ZigBee無(wú)線傳感網(wǎng)絡(luò)的嵌入式智能家居監(jiān)控系統(tǒng)研究[P].西華大學(xué).2009.</p><p> [9]童曉渝,房秉毅,張?jiān)朴?物聯(lián)網(wǎng)智能家居發(fā)展分析[J].移
15、動(dòng)通信.2010</p><p> [10]王浩,浦靈敏等.物聯(lián)網(wǎng)技術(shù)應(yīng)用開(kāi)發(fā)[P].中國(guó)水利水電出版社.2014.</p><p> 六、各階段時(shí)間安排(共2周)</p><p><b> 2017年6月3日</b></p><p><b> 摘 要</b></p><
16、;p> 隨著科學(xué)技術(shù)的飛躍發(fā)展,生活水平的不斷提高,人們對(duì)安全、舒適、健康的生活需求變得日益迫切。而近年來(lái),智能家居概念已經(jīng)逐漸深入到國(guó)民的生活之中,且不斷地影響著人們的思維。因此,眾多有能力的小區(qū)、別墅用戶已經(jīng)開(kāi)始安裝使用智能家居系統(tǒng),并嘗試智能化為家居生活帶來(lái)的安全、舒適和便利。 時(shí)光飛逝,日夜如梭。室外清潔工作所花費(fèi)的成本與面臨的安全隱患也持續(xù)增大,然而,家庭擦窗時(shí)總會(huì)遇到這樣的麻煩,窗戶外側(cè)玻璃受到空間限制,擦拭比較困
17、難,尤其是住在高層建筑上的住戶,操作時(shí)存在很大的安全隱患,但長(zhǎng)時(shí)間不擦拭,粘上灰塵,就不美觀了,因此我們的設(shè)計(jì)實(shí)現(xiàn)內(nèi)外壁同時(shí)擦拭,智能化,集成化度高,操作方便,我們使用zigbee無(wú)線傳感網(wǎng)絡(luò)技術(shù)來(lái)實(shí)現(xiàn),最后顯在Qt界面上。</p><p> 由于我國(guó)房地產(chǎn)行業(yè)的迅速發(fā)展,也帶動(dòng)了我國(guó)門(mén)窗幕墻行業(yè)的迅速發(fā)展,隨著消費(fèi)者生活水平的提高,智能化的產(chǎn)品如雨后春筍,正逐步發(fā)展和壯大。而我們的智能窗戶就是在這樣的環(huán)境下應(yīng)
18、運(yùn)而生的,因此具有廣闊的市場(chǎng)空間和應(yīng)用前景。</p><p> 關(guān)鍵字:智能化人性化 zigbee技術(shù) 一體化系統(tǒng)集成 </p><p><b> 目 錄</b></p><p><b> 1 系統(tǒng)概述1</b></p><p><b> 1.1系統(tǒng)介紹1</
19、b></p><p> 1.2系統(tǒng)總流程圖3</p><p><b> 2需求分析3</b></p><p> 3 Zigbee繼電器硬件電氣原理設(shè)計(jì)5</p><p> 3.1Zigbee硬件開(kāi)發(fā)平臺(tái)5</p><p> 3.2 Zigbee采集節(jié)點(diǎn)模塊6</p&
20、gt;<p> 3.3 Zigbee無(wú)線傳輸模塊6</p><p> 3.4 PC機(jī)無(wú)線控制執(zhí)行機(jī)構(gòu)與外設(shè)實(shí)現(xiàn)的效果圖7</p><p> 3.5關(guān)鍵代碼設(shè)計(jì)7</p><p> 4.驅(qū)動(dòng)模塊設(shè)計(jì)9</p><p><b> 4.1器件介紹9</b></p><p&g
21、t;<b> 4.2原理設(shè)計(jì)9</b></p><p> 4.3繼電器功能流程圖10</p><p><b> 4.4代碼11</b></p><p> 5 zigbee協(xié)議棧軟件設(shè)計(jì)14</p><p> 5.1協(xié)調(diào)器代碼14</p><p> 5.2
22、終端節(jié)點(diǎn)17</p><p> 6.PC機(jī)Qt圖形界面軟件設(shè)計(jì)21</p><p> 6.1軟件設(shè)計(jì)21</p><p> 6.2界面設(shè)計(jì)23</p><p> 6.3運(yùn)行程序界面23</p><p><b> 總 結(jié)26</b></p><p>&l
23、t;b> 參考文獻(xiàn)27</b></p><p><b> 致謝28</b></p><p><b> 1 系統(tǒng)概述</b></p><p><b> 1.1系統(tǒng)介紹</b></p><p> 隨著生活水平的提高,人們希望擁有一個(gè)舒適、便捷、安全的
24、家居環(huán)境,傳統(tǒng)的住宅正向智能化方向轉(zhuǎn)變。在此背景下,設(shè)計(jì)了一種基于物聯(lián)網(wǎng)的智能窗簾控制系統(tǒng)。給出系統(tǒng)結(jié)構(gòu)及工作原理,著重闡述主要硬件及軟件的設(shè)計(jì)。該系統(tǒng)以嵌入式操作系統(tǒng)為核心,采用ZigBee無(wú)線通信技術(shù)實(shí)現(xiàn)信號(hào)傳輸,GPRS通信技術(shù)實(shí)現(xiàn)系統(tǒng)遠(yuǎn)程監(jiān)控,實(shí)現(xiàn)了對(duì)窗簾的本地與遠(yuǎn)程控制。測(cè)試結(jié)果表明該系統(tǒng)運(yùn)行穩(wěn)定,數(shù)據(jù)傳輸正確率高。將該系統(tǒng)應(yīng)用于智能窗簾中,能夠使智能窗簾的控制更加多樣化與智能化,對(duì)智能窗簾未來(lái)的發(fā)展,具有實(shí)際應(yīng)用價(jià)值。<
25、;/p><p> 智能家居是一個(gè)居住環(huán)境,是以住宅為平臺(tái)安裝有智能家居系統(tǒng)的居住環(huán)境,實(shí)施智能家居系統(tǒng)的過(guò)程就稱(chēng)為智能家居集成。它將各種家庭設(shè)備通過(guò)程序設(shè)置,利用寬帶、固話和3G無(wú)線網(wǎng)絡(luò),可以實(shí)現(xiàn)對(duì)家庭設(shè)備的遠(yuǎn)程操控。與普通家居相比,智能家居不僅提供舒適宜人且高品位的家庭生活空間,而且能夠?qū)崿F(xiàn)更智能化的家庭控制管理。</p><p> 一方面,智能家居讓用戶有更方便的手段來(lái)管理家庭設(shè)備,比
26、如,通過(guò)無(wú)線遙控器、智能手機(jī)、互聯(lián)網(wǎng)或者語(yǔ)音識(shí)別方式控制家用電器,還可以執(zhí)行場(chǎng)景模式稱(chēng)作,使多個(gè)設(shè)備形成聯(lián)動(dòng);另一方面,智能家居的各種設(shè)備相互之間可以通信,不需要用戶干預(yù)也能根據(jù)事先設(shè)定的不同條件,相互之間進(jìn)行識(shí)別和運(yùn)行,從而給用戶帶來(lái)最大程度的高效、便利、舒適與安全。簡(jiǎn)而言之,智能家居是以住宅為平臺(tái),兼?zhèn)浣ㄖ?、網(wǎng)絡(luò)通信、信息家電、設(shè)備自動(dòng)化,集系統(tǒng)、結(jié)構(gòu)、服務(wù)、管理為一體的高效、舒適、安全、便利、環(huán)保的居住環(huán)境。</p>
27、<p> 智能家居發(fā)展的特點(diǎn)和方向</p><p><b> 智能家居的發(fā)展歷程</b></p><p> 智能家居的發(fā)展大致經(jīng)歷了4代:第一代只要基于同軸線、兩芯線進(jìn)行家庭組網(wǎng),實(shí)現(xiàn)燈光、窗簾控制和少量安防設(shè)備控制等功能。第二代主要基于rs-485線,部分基于IP技術(shù)進(jìn)行組網(wǎng),實(shí)現(xiàn)可視對(duì)講、安防等功能。第三代實(shí)現(xiàn)了智能控制的集中化,主要實(shí)現(xiàn)包括安防
28、、控制計(jì)量等業(yè)務(wù)功能。第四代基于IP技術(shù),利用zigbee無(wú)線通信技術(shù),智能家居業(yè)務(wù)可根據(jù)用戶需求實(shí)現(xiàn)定制化和個(gè)性化。</p><p><b> 智能家居技術(shù)種類(lèi)</b></p><p> 目前市場(chǎng)上比較可靠的智能家居技術(shù)主要有4類(lèi):集中布線技術(shù)、無(wú)線射頻技術(shù)、電力載波技術(shù)、zigbee無(wú)線組網(wǎng)技術(shù)。</p><p><b>
29、(1)集中布線技術(shù)</b></p><p> 它主要應(yīng)用于智能化控制,因?yàn)樾枰季€,所以信號(hào)相對(duì)穩(wěn)定,比較適合樓宇和小區(qū)智能化等大區(qū)域的控制,但設(shè)備安裝比較復(fù)雜、造價(jià)較高。</p><p> ?。?)無(wú)線射頻識(shí)別技術(shù)</p><p> 它利用點(diǎn)對(duì)點(diǎn)的射頻技術(shù),實(shí)現(xiàn)對(duì)家居和燈光的控制,安裝設(shè)置相對(duì)比較方便,但系統(tǒng)功能相對(duì)較弱,控制方式也比較單一,易受周
30、圍無(wú)線設(shè)備環(huán)境及障礙物的干擾,其主要應(yīng)用于實(shí)現(xiàn)特定功能電器或燈光控制領(lǐng)域。</p><p><b> (3)電力載波技術(shù)</b></p><p> 它無(wú)需重新布線,主要利用家庭內(nèi)部的電力線傳輸控制信號(hào),從而實(shí)現(xiàn)對(duì)家電和燈光的控制與管理,而且可以不斷升級(jí)。功能實(shí)用,比較適合大眾化消費(fèi)。</p><p> (4)zigbee無(wú)線組網(wǎng)通信技術(shù)&
31、lt;/p><p> zigbee從布線上屬于無(wú)線技術(shù),具有布線簡(jiǎn)單、易擴(kuò)展和易維護(hù)的特點(diǎn)。這使得zigbee可以按照功能要求,構(gòu)建含有任意多個(gè)節(jié)點(diǎn)的無(wú)線網(wǎng)絡(luò),通信傳輸可以在任意節(jié)點(diǎn)之間進(jìn)行,可以有效節(jié)約人力、物力成本。</p><p> 2.智能家居系統(tǒng)的發(fā)展方向</p><p> (1)一體化系統(tǒng)集成</p><p> 智能家居在未來(lái)
32、發(fā)展過(guò)程中,需要將家庭自動(dòng)化管理,三表計(jì)量、安全防范監(jiān)測(cè)、火災(zāi)報(bào)警以及設(shè)備監(jiān)控等功能進(jìn)行集成,從而提高家庭管理智能化水平。(2)節(jié)能環(huán)保</p><p> 智能家居結(jié)合現(xiàn)有技術(shù)降低功耗,減少對(duì)家庭和周?chē)h(huán)境的污染,提高生活環(huán)境的質(zhì)量,這些都是智能家居今后走入家庭必須考慮的問(wèn)題。</p><p> ?。?)智能化、網(wǎng)絡(luò)化和人性化</p><p> 家庭智能化是當(dāng)代
33、高科技技術(shù)和生物學(xué)技術(shù)的高度綜合和升華,其中網(wǎng)絡(luò)化是信息技術(shù)、通信技術(shù)和計(jì)算機(jī)技術(shù)發(fā)展的必然趨勢(shì),是發(fā)展家庭智能化的一個(gè)重要條件,個(gè)性化體現(xiàn)了以用戶為中心,在家庭構(gòu)建按需所求的智能家居系統(tǒng)。</p><p><b> 1.2系統(tǒng)總流程圖</b></p><p> 圖1.1系統(tǒng)總流程圖</p><p><b> 2需求分析<
34、/b></p><p> 由于我國(guó)房地產(chǎn)行業(yè)的迅速發(fā)展,也帶動(dòng)了我國(guó)門(mén)窗幕墻行業(yè)的迅速發(fā)展。一般來(lái)說(shuō),一個(gè)建筑物按建筑面積推算,有10%是窗,15%是門(mén),全國(guó)每年新建的房屋為20億平方米,門(mén)窗的需求量為5億多平方米。如再考慮到原有城鄉(xiāng)房屋建筑的窗戶改造,每年窗戶的安裝量至少達(dá)到10億平方米。全國(guó)窗戶消費(fèi)需求空間為500億元,并且還有不斷擴(kuò)大的趨勢(shì)。門(mén)窗是家庭智能化安全防范系統(tǒng)的一個(gè)重要組成部分,是一種智能
35、化的控制系統(tǒng),它由先進(jìn)傳感器(溫度傳感器、風(fēng)雨信號(hào)傳感器等)、遙控器及一系列機(jī)械傳動(dòng)裝置組成,是具有智能化、人性化、網(wǎng)絡(luò)化的高科技產(chǎn)品??梢詫?duì)窗戶進(jìn)行隨心所欲的控制和安全設(shè)置,它具有時(shí)尚、方便、安全等特點(diǎn),使人們的家居環(huán)境得到較大的改善,智能窗戶控制系統(tǒng)將在具有明顯競(jìng)爭(zhēng)優(yōu)勢(shì)的環(huán)境下找到市場(chǎng),帶來(lái)經(jīng)濟(jì)效益。</p><p> 1.消費(fèi)者智能化意識(shí)增強(qiáng),智能產(chǎn)品用戶增多 </p><p>
36、 近幾年,在國(guó)內(nèi)很多IT和家電企業(yè)紛紛躋身智能家居行業(yè)領(lǐng)域。使得行業(yè)競(jìng)爭(zhēng)度迅速提升,一時(shí)之間市場(chǎng)充滿各種各種智能家居產(chǎn)品,很多人家里都使用總線制的技術(shù)的,傳感器技術(shù),紅外技術(shù),電力載波技術(shù),無(wú)線通信組網(wǎng)技術(shù),還有無(wú)線射頻技術(shù)。盡管以上這種物品的功能單一,都集中無(wú)線搖控、遠(yuǎn)程控制等處,但市場(chǎng)需求依舊龐大。</p><p> 2.市場(chǎng)上現(xiàn)存的部分智能家居產(chǎn)品尚且存在許多不足之處</p><p&g
37、t; 從以上信息我可以看出這些產(chǎn)品多數(shù)不能算是真正意義上的家居智能化,個(gè)別產(chǎn)品如電力線載波技術(shù)可以實(shí)現(xiàn)家居的智能化,但是通過(guò)消費(fèi)者調(diào)研和專(zhuān)家分析,我發(fā)現(xiàn)這些產(chǎn)品的缺點(diǎn)很多,比如傳輸信息不穩(wěn)定、產(chǎn)品質(zhì)量本身有問(wèn)題、外觀差等弊病,這些對(duì)一般的家庭來(lái)說(shuō),其成本也是很高的。</p><p> 3.本產(chǎn)品在行業(yè)中的價(jià)值鏈分析 </p><p> 對(duì)于本產(chǎn)品而言,它在行業(yè)中面臨的競(jìng)爭(zhēng),我可以通過(guò)
38、最為基本的行業(yè)競(jìng)爭(zhēng)波特五力模式來(lái)予以分析。在和供應(yīng)商討價(jià)還價(jià)方面,該公司在產(chǎn)品的原料上沒(méi)有什么太大的門(mén)檻,所以在討價(jià)還價(jià)上幾乎不存在阻力,同時(shí)由于生產(chǎn)科技的專(zhuān)利,尚無(wú)競(jìng)爭(zhēng)對(duì)手來(lái)拼搶原料資源;面對(duì)潛在進(jìn)入者的威脅比較小,該產(chǎn)品已經(jīng)注冊(cè),產(chǎn)品研發(fā)科技已經(jīng)申請(qǐng)專(zhuān)利保護(hù),目前產(chǎn)品尚沒(méi)有在市場(chǎng)上得到響應(yīng),還沒(méi)有企業(yè)關(guān)注,潛在進(jìn)入者的威脅至少在目前還不存在</p><p> 3 Zigbee繼電器硬件電氣原理設(shè)計(jì)</
39、p><p> 3.1Zigbee硬件開(kāi)發(fā)平臺(tái)</p><p> CC2530 是用于2.4-GHz IEEE 802.15.4、ZigBee 和RF4CE 應(yīng)用的一個(gè)真正的片上系統(tǒng)(SoC)解決方案。它能夠以非常低的總的材料成本建立強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn)。CC2530 結(jié)合了領(lǐng)先的RF 收發(fā)器的優(yōu)良性能,業(yè)界標(biāo)準(zhǔn)的增強(qiáng)型8051 CPU,系統(tǒng)內(nèi)可編程閃存,8-KB RAM 和許多其它強(qiáng)大的功能。&
40、lt;/p><p> CC2530芯片系列中使用的8051 CPU內(nèi)核是一個(gè)單周期的8051兼容內(nèi)核。它有三種不同的內(nèi)存訪問(wèn)總線(SFR,DATA 和CODE/XDATA),單周期訪問(wèn)SFR,DATA 和主SRAM。它還包括一個(gè)調(diào)試接口和一個(gè)18 輸入擴(kuò)展中斷單元。</p><p> 中斷控制器總共提供了18 個(gè)中斷源,分為六個(gè)中斷組,每個(gè)與四個(gè)中斷優(yōu)先級(jí)之一相關(guān)。當(dāng)設(shè)備從活動(dòng)模式回到空閑
41、模式,任一中斷服務(wù)請(qǐng)求就被激發(fā)。一些中斷還可以從睡眠模式(供電模式1-3)喚醒設(shè)備。</p><p> 內(nèi)存仲裁器位于系統(tǒng)中心,因?yàn)樗ㄟ^(guò)SFR 總線把CPU 和DMA 控制器和物理存儲(chǔ)器以及所有外設(shè)連接起來(lái)。內(nèi)存仲裁器有四個(gè)內(nèi)存訪問(wèn)點(diǎn),每次訪問(wèn)可以映射到三個(gè)物理存儲(chǔ)器之一:一個(gè)8-KB SRAM、閃存存儲(chǔ)器和XREG/SFR寄存器。它負(fù)責(zé)執(zhí)行仲裁,并確定同時(shí)訪問(wèn)同一個(gè)物理存儲(chǔ)器之間的順序。8-KB SRAM映
42、射到DATA存儲(chǔ)空間和部分XDATA存儲(chǔ)空間。8-KB SRAM是一個(gè)超低功耗的SRAM,即使數(shù)字部分掉電(供電模式2 和3)也能保留其內(nèi)容。這是對(duì)于低功耗應(yīng)用來(lái)說(shuō)很重要的一個(gè)功能。32/64/128/256 KB閃存塊為設(shè)備提供了內(nèi)電路可編程的非易失性程序存儲(chǔ)器,映射到XDATA 存儲(chǔ)空間。除了保存程序代碼和常量以外,非易失性存儲(chǔ)器允許應(yīng)用程序保存必須保留的數(shù)據(jù),這樣設(shè)備重啟之后可以使用這些數(shù)據(jù)。使用這個(gè)功能,例如可以利用已經(jīng)保存的網(wǎng)
43、絡(luò)具體數(shù)據(jù),就不需要經(jīng)過(guò)完全啟動(dòng)、網(wǎng)絡(luò)尋找和加入過(guò)程。</p><p> 調(diào)試接口執(zhí)行一個(gè)專(zhuān)有的兩線串行接口,用于內(nèi)電路調(diào)試。通過(guò)這個(gè)調(diào)試接口,可以執(zhí)行整個(gè)閃存存儲(chǔ)器的擦除、控制使能哪個(gè)振蕩器、停止和開(kāi)始執(zhí)行用戶程序、執(zhí)行8051 內(nèi)核提供的指令、設(shè)置代碼斷點(diǎn),以及內(nèi)核中全部指令的單步調(diào)試。使用這些技術(shù),可以很好地執(zhí)行內(nèi)電路的調(diào)試和外部閃存的編程。設(shè)備含有閃存存儲(chǔ)器以存儲(chǔ)程序代碼。閃存存儲(chǔ)器可通過(guò)用戶軟件和調(diào)試
44、接口編程。閃存控制器處理寫(xiě)入和擦除嵌入式閃存存儲(chǔ)器。閃存控制器允許頁(yè)面擦除和4 字節(jié)編程。</p><p> I/O控制器負(fù)責(zé)所有通用I/O引腳。CPU可以配置外設(shè)模塊是否控制某個(gè)引腳或它們是否受軟件控制,如果是的話,每個(gè)引腳配置為一個(gè)輸入還是輸出,是否連接襯墊里的一個(gè)上拉或下拉電阻。CPU 中斷可以分別在每個(gè)引腳上使能。每個(gè)連接到I/O 引腳的外設(shè)可以在兩個(gè)不同的I/O 引腳位置之間選擇,以確保在不同應(yīng)用程序
45、中的靈活性。</p><p> 系統(tǒng)可以使用一個(gè)多功能的五通道DMA控制器,使用XDATA存儲(chǔ)空間訪問(wèn)存儲(chǔ)器,因此能夠訪問(wèn)所有物理存儲(chǔ)器。每個(gè)通道(觸發(fā)器、優(yōu)先級(jí)、傳輸模式、尋址模式、源和目標(biāo)指針和傳輸計(jì)數(shù))用DMA 描述符在存儲(chǔ)器任何地方配置。許多硬件外設(shè)(AES 內(nèi)核、閃存控制器、USART、定時(shí)器、ADC 接口)通過(guò)使用DMA 控制器在SFR 或XREG 地址和閃存/SRAM 之間進(jìn)行數(shù)據(jù)傳輸,獲得高效率
46、操作。定時(shí)器1 是一個(gè)16 位定時(shí)器,具有定時(shí)器/PWM 功能。它有一個(gè)可編程的分頻器,一個(gè)16 位周期值,和五個(gè)各自可編程的計(jì)數(shù)器/捕獲通道,每個(gè)都有一個(gè)16 位比較值。每個(gè)計(jì)數(shù)器/捕獲通道可以用作一個(gè)PWM輸出或捕獲輸入信號(hào)邊沿的時(shí)序。它還可以配置在IR產(chǎn)生模式,計(jì)算定時(shí)器3 周期,輸出是ANDed,定時(shí)器3 的輸出是用最小的CPU 互動(dòng)產(chǎn)生調(diào)制的消費(fèi)型IR 信號(hào)。</p><p> CC2530 具有一個(gè)
47、IEEE 802.15.4 兼容無(wú)線收發(fā)器。RF 內(nèi)核控制模擬無(wú)線模塊。另外,它提供了MCU 和無(wú)線設(shè)備之間的一個(gè)接口,這使得可以發(fā)出命令,讀取狀態(tài),自動(dòng)操作和確定無(wú)線設(shè)備事件的順序。無(wú)線設(shè)備還包括一個(gè)數(shù)據(jù)包過(guò)濾和地址識(shí)別模塊。</p><p> 3.2 Zigbee采集節(jié)點(diǎn)模塊</p><p> 主要作用:用于接收來(lái)自傳感器的數(shù)據(jù)信號(hào)并通過(guò)天線以電磁波的形勢(shì)發(fā)送給中央節(jié)點(diǎn)。采集節(jié)點(diǎn)組
48、成包括:天線、單片機(jī)、傳感器。其中單片機(jī)運(yùn)行所有的程序,實(shí)現(xiàn)讀傳感器數(shù)據(jù)以及把數(shù)據(jù)通過(guò)天線以電磁波的形勢(shì)發(fā)送給中央節(jié)點(diǎn)的作用。</p><p> 3.3 Zigbee無(wú)線傳輸模塊</p><p> 作用:通過(guò)硬件系統(tǒng)和軟件系統(tǒng),從而實(shí)現(xiàn)傳輸模塊與上位機(jī)通信的全過(guò)程。經(jīng)調(diào)試,系統(tǒng)運(yùn)行良好。實(shí)踐證明,基于zigbee無(wú)線傳輸協(xié)議設(shè)計(jì)無(wú)線數(shù)據(jù)傳輸模塊來(lái)傳輸數(shù)據(jù)具有耗資少、安全性高、靈活性較強(qiáng)
49、等優(yōu)點(diǎn),值得推廣和應(yīng)用。</p><p> 3.4 PC機(jī)無(wú)線控制執(zhí)行機(jī)構(gòu)與外設(shè)實(shí)現(xiàn)的效果圖</p><p> 圖3.1無(wú)線控制效果圖</p><p> PC端通過(guò)串口發(fā)送打開(kāi)或關(guān)閉控制命令信息,給zigbee協(xié)調(diào)器,zigbee協(xié)調(diào)器通過(guò)無(wú)線傳感網(wǎng)絡(luò)發(fā)送至zigbee終端節(jié)點(diǎn)即繼電器接點(diǎn),實(shí)現(xiàn)窗戶和水泵的打開(kāi)關(guān)閉控制。</p><p>
50、;<b> 3.5關(guān)鍵代碼設(shè)計(jì)</b></p><p> P14、P15初始化為輸出功能。</p><p> void RELAY_INT(void)</p><p><b> {</b></p><p> P1DIR |= 0x30;//繼電器12輸出</p><p&
51、gt;<b> P1_4 = 0;</b></p><p><b> P1_5 = 0;</b></p><p><b> }</b></p><p> 然后就可以對(duì)P14和P15輸出進(jìn)行操作從而對(duì)繼電器的開(kāi)合進(jìn)行控制。</p><p><b> 主函數(shù)程序
52、清單</b></p><p> void main(void)</p><p><b> {</b></p><p> uint8 keyvalue;</p><p> intClock();</p><p> P1DIR |= 0x04; //打開(kāi)電源<
53、/p><p> P1 &=~0x04; </p><p> RELAY_INT();</p><p> ugOled9616int(); //初始化OLed配置 </p><p> HalAdcInit ();</p><p> delay(10); </p><p&g
54、t; LcdPutString16_8(0,0," WXL-WINDOWS",12,1);</p><p><b> while(1)</b></p><p><b> { </b></p><p> keyvalue = 0; </p><p> keyv
55、alue = halGetJoyKeyInput();</p><p> switch (keyvalue)</p><p><b> {</b></p><p> case 0x01: //UP</p><p> P1_4 = 1; //K1 OPEN</p><p> P1
56、_5 = 0; //K2 CLOSE</p><p> LcdPutString16_8(0,0," OPEN ",12,1);</p><p><b> break;</b></p><p> case 0x02: //RIGHT</p><p> P1_4 = 0;
57、 //K1 CLOSE</p><p> P1_5 = 1; //K2 OPEN</p><p> LcdPutString16_8(0,0," CLOSE ",12,1);</p><p><b> break;</b></p><p><b> default:&
58、lt;/b></p><p><b> break;</b></p><p><b> } </b></p><p><b> }</b></p><p><b> }</b></p><p><b>
59、 4.驅(qū)動(dòng)模塊設(shè)計(jì)</b></p><p><b> 4.1器件介紹</b></p><p> 繼電器(英文名稱(chēng):relay)是一種電控制器件,是當(dāng)輸入量(激勵(lì)量)的變化達(dá)到規(guī)定要求時(shí),在電氣輸出電路中使被控量發(fā)生預(yù)定的階躍變化的一種電器。它具有控制系統(tǒng)(又稱(chēng)輸入回路)和被控制系統(tǒng)(又稱(chēng)輸出回路)之間的互動(dòng)關(guān)系。通常應(yīng)用于自動(dòng)化的控制電路中,它實(shí)際上
60、是用小電流去控制大電流運(yùn)作的一種“自動(dòng)開(kāi)關(guān)”。故在電路中起著自動(dòng)調(diào)節(jié)、安全保護(hù)、轉(zhuǎn)換電路等作用。</p><p> 電磁繼電器工作原理圖</p><p> 只要在線圈兩端加上一定的電壓,線圈中就會(huì)流過(guò)一定的電流,從而產(chǎn)生電磁效應(yīng),銜鐵就會(huì)在電磁力吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動(dòng)銜鐵的動(dòng)觸點(diǎn)與靜觸點(diǎn)(常開(kāi)觸點(diǎn))吸合。當(dāng)線圈斷電后,電磁的吸力也隨之消失,銜鐵就會(huì)在彈簧的反作
61、用力返回原來(lái)的位置,使動(dòng)觸點(diǎn)與原來(lái)的靜觸點(diǎn)(常閉觸點(diǎn))釋放。這樣吸合、釋放,從而達(dá)到了在電路中的導(dǎo)通、切斷的目的。對(duì)于繼電器的“常開(kāi)、常閉”觸點(diǎn),可以這樣來(lái)區(qū)分:繼電器線圈未通電時(shí)處于斷開(kāi)狀態(tài)的靜觸點(diǎn),稱(chēng)為“常開(kāi)觸點(diǎn)”;處于接通狀態(tài)的靜觸點(diǎn)稱(chēng)為“常閉觸點(diǎn)”。繼電器一般有兩股電路,為低壓控制電路和高壓工作電路。</p><p><b> 4.2原理設(shè)計(jì)</b></p><
62、p> 這里采用兩路繼電器來(lái)實(shí)現(xiàn)鏈?zhǔn)酵拼捌鞯拈_(kāi)關(guān)功能</p><p> 圖4.1繼電器原理圖</p><p> 4.3繼電器功能流程圖</p><p> 圖4.2繼電器功能流程圖</p><p> 窗戶開(kāi)關(guān)取決于網(wǎng)關(guān)發(fā)送的繼電器命令組合。</p><p><b> 4.4代碼</b>
63、;</p><p> 繼電器命令接收處理代碼如下。</p><p> void SampleApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )</p><p><b> {</b></p><p> uint8 RfHaveTxDara = 0;//無(wú)線有數(shù)據(jù)需要發(fā)送&l
64、t;/p><p> ieeeAddr = NLME_GetExtAddr();</p><p> memcpy(RfRx.RxBuf,pkt->cmd.Data,32);</p><p> memset(RfTx.TxBuf,'x',32);</p><p> switch(RfRx.RXDATA.HeadCom[0
65、])</p><p><b> {</b></p><p> case 'R'://讀</p><p><b> break;</b></p><p> case 'T'://測(cè)試</p><p> if((RfRx.RXDATA.H
66、eadCom[1]=='R')&&(RfRx.RXDATA.HeadCom[2] == 'E')</p><p><b> //控制繼電器</b></p><p><b> {</b></p><p> if(SensorNum == 6)</p><
67、;p><b> //繼電器板</b></p><p><b> {</b></p><p> if((RfRx.RXDATA.DataBuf[0]=='K')&&(RfRx.RXDATA.DataBuf[1] == '1'))</p><p><b>
68、 {</b></p><p> if(RfRx.RXDATA.DataBuf[2] == '1')</p><p><b> {</b></p><p> Relay1State = 1;</p><p><b> P1_4 = 1;</b></p>
69、<p><b> }</b></p><p> else if (RfRx.RXDATA.DataBuf[2] == '0')</p><p><b> {</b></p><p> Relay1State = 0;</p><p><b> P1_4
70、 = 0;</b></p><p><b> }</b></p><p><b> }</b></p><p> if((RfRx.RXDATA.DataBuf[3]=='K')&&(RfRx.RXDATA.DataBuf[4] == '2'))</p
71、><p><b> {</b></p><p> if(RfRx.RXDATA.DataBuf[5] == '1')</p><p><b> {</b></p><p> Relay2State = 1;</p><p><b> P1_5
72、= 1;</b></p><p><b> }</b></p><p> else if (RfRx.RXDATA.DataBuf[5] == '0')</p><p><b> {</b></p><p> Relay2State = 0;</p>
73、<p><b> P1_5 = 0;</b></p><p><b> }</b></p><p><b> }</b></p><p> memcpy(RfTx.TxBuf, RfRx.RxBuf, 14);</p><p> RfTx.TXDATA.D
74、ataBuf[0] = 'O';</p><p> RfTx.TXDATA.DataBuf[1] = 'K';</p><p> RfHaveTxDara = 1;</p><p><b> }</b></p><p><b> }//</b></p&g
75、t;<p><b> end 控制繼電器</b></p><p><b> break;</b></p><p><b> case 'S':</b></p><p><b> //設(shè)置</b></p><p><
76、;b> break;</b></p><p><b> }//end</b></p><p> if(RfHaveTxDara)</p><p> //如果有數(shù)據(jù)要發(fā)送</p><p><b> {</b></p><p> RfTx.TXDAT
77、A.Head = '&';</p><p> RfTx.TXDATA.LastByte = '*';</p><p> SendData(0x0000, RfTx.TxBuf, 32);</p><p><b> //發(fā)送數(shù)據(jù)</b></p><p> RfHaveTxDa
78、ra = 0;</p><p><b> }</b></p><p><b> }</b></p><p> 5 zigbee協(xié)議棧軟件設(shè)計(jì)</p><p><b> 5.1協(xié)調(diào)器代碼</b></p><p> uint16 SampleApp
79、_ProcessEvent( uint8 task_id, uint16 events )</p><p><b> {</b></p><p> afIncomingMSGPacket_t *MSGpkt;</p><p> uint16 temp;</p><p> #if (defined(WXL_ROUT
80、ER) || defined(WXL_RFD))//ROUTER OR RFD</p><p> uint16 SrcSaddr;</p><p><b> #endif</b></p><p> (void)task_id; // Intentionally unreferenced parameter</p><
81、p> if ( events & SYS_EVENT_MSG )</p><p><b> {</b></p><p> MSGpkt=(afIncomingMSGPacket_t*)osal_msg_receive( SampleApp_TaskID );</p><p> while ( MSGpkt )</p&
82、gt;<p><b> {</b></p><p> switch ( MSGpkt->hdr.event )</p><p><b> {</b></p><p> case KEY_CHANGE:</p><p> SampleApp_HandleKeys(((ke
83、yChange_t*)MSGpkt)->state,((keyChange_t *)MSGpkt)->keys );</p><p><b> break;</b></p><p> case AF_INCOMING_MSG_CMD:</p><p> SampleApp_MessageMSGCB( MSGpkt );<
84、/p><p><b> break;</b></p><p> case ZDO_STATE_CHANGE:</p><p> SampleApp_NwkStat(devStates_t)(MSGpkt->hdr.status);</p><p> if((SampleApp_NwkState=DEV_ROUT
85、ER)||(SampleApp_NwkStat==DEV_END_DEVICE) )</p><p><b> {</b></p><p> HalLedSet( HAL_LED_1,HAL_LED_MODE_ON );</p><p> memset(RfTx.TxBuf,'x',32);</p><
86、p> RfTx.TXDATA.Head = '&';</p><p> RfTx.TXDATA.HeadCom[0] = 'J';</p><p> RfTx.TXDATA.HeadCom[1] = 'O';</p><p> RfTx.TXDATA.HeadCom[2] = 'N'
87、;;</p><p> ieeeAddr = NLME_GetExtAddr();</p><p> memcpy(RfTx.TXDATA.Laddr,ieeeAddr,8);</p><p> SrcSaddr = NLME_GetShortAddr();</p><p> RfTx.TXDATA.Saddr[0] = SrcSad
88、dr;</p><p> RfTx.TXDATA.Saddr[1] = SrcSaddr>>8;</p><p> #ifdefWXL_RFD</p><p> RfTx.TXDATA.DataBuf[0] = 'R';</p><p> RfTx.TXDATA.DataBuf[1] = 'F
89、39;;</p><p> RfTx.TXDATA.DataBuf[2] = 'D';</p><p><b> #endif</b></p><p> #ifdefWXL_ROUTER </p><p> RfTx.TXDATA.DataBuf[0] = 'R';</
90、p><p> RfTx.TXDATA.DataBuf[1] = 'O';</p><p> RfTx.TXDATA.DataBuf[2] = 'U';</p><p><b> #endif</b></p><p> NLME_GetCoordExtAddr(&RfTx.TX
91、DATA.DataBuf[3]);</p><p> temp=NLME_GetCoordShortAddr();</p><p> RfTx.TXDATA.DataBuf[11]= (unsigned char)(temp>>8);</p><p> RfTx.TXDATA.DataBuf[12] = (unsigned char)(temp);
92、</p><p> RfTx.TXDATA.DataBuf[13] = SensorNum;</p><p> RfTx.TXDATA.LastByte = '*';</p><p> SendData(0x0000, RfTx.TxBuf, 32);//發(fā)送自己的節(jié)點(diǎn)信息到主機(jī)</p><p><b> i
93、f(JY)</b></p><p> osal_start_timerEx( SampleApp_TaskID,</p><p> SAMPLEAPP_SEND_PERIODIC_MSG_EVT,</p><p> SAMPLEAPP_1000MS_TIMEOUT );//每秒采集一次傳感器數(shù)據(jù)</p><p><b&
94、gt; }</b></p><p><b> Breake</b></p><p> case SPI_INCOMING_ZTOOL_PORT:</p><p> UartRxComCallBack();//串口收到一帖數(shù)據(jù)的處理</p><p><b> break;</b>
95、</p><p><b> default:</b></p><p><b> break;</b></p><p><b> }</b></p><p> osal_msg_deallocate( (uint8 *)MSGpkt );</p><p
96、> MSGpkt=(afIncomingMSGPacket_t*)osal_msg_receive( SampleApp_TaskID );</p><p><b> }</b></p><p> return (events ^ SYS_EVENT_MSG);</p><p><b> }</b></
97、p><p> if ( events & SAMPLEAPP_SEND_PERIODIC_MSG_EVT )//發(fā)送數(shù)據(jù)超時(shí)</p><p><b> {</b></p><p> osal_start_timerEx(SampleApp_TaskID,SAMPLEAPP_SEND_PERIODIC_MSG_EVT, SAMPLEAP
98、P_1000MS_TIMEOUT);</p><p> return (events ^ SAMPLEAPP_SEND_PERIODIC_MSG_EVT);</p><p><b> }</b></p><p> if ( events & SAMPLEAPP_UART_RX_EVT )//串口接收數(shù)據(jù)超時(shí)</p>
99、<p><b> {</b></p><p> return (events ^ SAMPLEAPP_UART_RX_EVT);</p><p><b> }</b></p><p><b> return 0;</b></p><p><b>
100、}</b></p><p> 協(xié)調(diào)器CPU:采用TI公司LM3S9B96;CORTEX M3內(nèi)核;主頻為80MHz。</p><p> 所謂協(xié)調(diào)器,就是網(wǎng)絡(luò)組織的管理者。針對(duì)一般的應(yīng)用模式,在一個(gè)Zigbee網(wǎng)絡(luò)形成之后,協(xié)調(diào)器不是必須的。它最主要的作用是,依據(jù)掃描情況,選擇一些合適參數(shù)建立一個(gè)網(wǎng)絡(luò)?;贑C2420的zigbee協(xié)調(diào)器具有結(jié)構(gòu)簡(jiǎn)單、功耗低、成本低等特點(diǎn)。&
101、lt;/p><p><b> 5.2終端節(jié)點(diǎn)</b></p><p> void SampleApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )</p><p><b> {</b></p><p> uint8 RfHaveTxDara = 0;//無(wú)
102、線有數(shù)據(jù)需要發(fā)送</p><p> ieeeAddr = NLME_GetExtAddr();</p><p> memcpy(RfRx.RxBuf,pkt->cmd.Data,32);</p><p> memset(RfTx.TxBuf,'x',32);</p><p> switch(RfRx.RXDATA
103、.HeadCom[0])</p><p><b> {</b></p><p> case 'R'://讀</p><p><b> break;</b></p><p> case 'T'://測(cè)試</p><p> if((RfR
104、x.RXDATA.HeadCom[1]=='V')&&(RfRx.RXDATA.HeadCom[2] == 'F'))//控制排風(fēng)扇</p><p><b> {</b></p><p> if(SensorNum == 6 && DeviceName == 12)</p><p&
105、gt;<b> {</b></p><p> if((RfRx.RXDATA.DataBuf[0]=='K')&&(RfRx.RXDATA.DataBuf[1]== '1'))</p><p><b> {</b></p><p><b> P1_4 = 1
106、;</b></p><p><b> }</b></p><p> elseif((RfRx.RXDATA.DataBuf[0]=='K')&&(RfRx.RXDATA.DataBuf[1] == '0'))</p><p><b> {</b></p
107、><p><b> P1_4 = 0;</b></p><p> } </p><p> memcpy(RfTx.TxBuf, RfRx.RxBuf, 14);</p><p> RfTx.TXDATA.DataBuf[0] = 'O';</p><p&
108、gt; RfTx.TXDATA.DataBuf[1] = 'K';</p><p> RfHaveTxDara = 1;</p><p><b> }</b></p><p> }//end 控制繼電器</p><p> elseif((RfRx.RXDATA.HeadCom[1]=='
109、A')&&(RfRx.RXDATA.HeadCom[2]== 'L'))</p><p><b> {</b></p><p> if(SensorNum == 6 && DeviceName == 12)</p><p><b> {</b></p>
110、;<p> if((RfRx.RXDATA.DataBuf[0]=='K')&&(RfRx.RXDATA.DataBuf[1] == '1'))</p><p><b> {</b></p><p><b> P1_5 = 1;</b></p><p>&
111、lt;b> }</b></p><p> elseif((RfRx.RXDATA.DataBuf[0]=='K')&&(RfRx.RXDATA.DataBuf[1] == '0'))</p><p><b> {</b></p><p><b> P1_5 =
112、0;</b></p><p> } </p><p> memcpy(RfTx.TxBuf, RfRx.RxBuf, 14);</p><p> RfTx.TXDATA.DataBuf[0] = 'O';</p><p> RfTx.TXDATA.DataBuf[1] =
113、9;K';</p><p> RfHaveTxDara = 1;</p><p><b> }</b></p><p> }//end 控制繼電器</p><p> elseif((RfRx.RXDATA.HeadCom[1]=='A')&&(RfRx.RXDATA.Hea
114、dCom[2]=='W'))</p><p><b> {</b></p><p> if(SensorNum == 6 && DeviceName == 3)//繼電器控制窗戶</p><p><b> {</b></p><p> if((RfRx.RXD
115、ATA.DataBuf[0]=='K')&&(RfRx.RXDATA.DataBuf[1] == '0'))</p><p><b> {</b></p><p><b> P1_4 = 0;</b></p><p><b> P1_5 = 1;</b&
116、gt;</p><p><b> }</b></p><p> elseif((RfRx.RXDATA.DataBuf[0]=='K')&&(RfRx.RXDATA.DataBuf[1] == '1'))</p><p><b> {</b></p>&l
117、t;p><b> P1_4 = 1;</b></p><p><b> P1_5 = 0;</b></p><p><b> } </b></p><p> elseif((RfRx.RXDATA.DataBuf[0]=='K')&&(RfRx.RXDAT
118、A.DataBuf[1] == '2'))</p><p><b> {</b></p><p><b> P1_4 = 0;</b></p><p><b> P1_5 = 0;</b></p><p> } </p&
119、gt;<p> memcpy(RfTx.TxBuf, RfRx.RxBuf, 14);</p><p> RfTx.TXDATA.DataBuf[0] = 'O';</p><p> RfTx.TXDATA.DataBuf[1] = 'K';</p><p> RfHaveTxDara = 1;</p>
120、;<p><b> }</b></p><p> }//end 控制繼電器</p><p><b> break;</b></p><p> case 'S'://設(shè)置</p><p><b> break;</b></p>
121、<p><b> }</b></p><p> if(RfHaveTxDara)//如果有數(shù)據(jù)要發(fā)送</p><p><b> {</b></p><p> RfTx.TXDATA.Head = '&';</p><p> RfTx.TXDATA.Las
122、tByte = '*';</p><p> SendData(0x0000, RfTx.TxBuf, 32);//發(fā)送數(shù)據(jù)</p><p> RfHaveTxDara = 0;</p><p><b> }</b></p><p><b> }</b></p>
123、<p> 6.PC機(jī)Qt圖形界面軟件設(shè)計(jì)</p><p><b> 6.1軟件設(shè)計(jì)</b></p><p> QT是一個(gè)1991年由奇趣科技開(kāi)發(fā)的跨平臺(tái)圖形用戶界面應(yīng)用程序開(kāi)發(fā)框架。廣泛用于開(kāi)發(fā)GUI程序,這種情況下又被稱(chēng)為部件工具箱。也可用于開(kāi)發(fā)非GUI程序,比如控制臺(tái)工具和服務(wù)器。它是Digia公司的產(chǎn)品。QT使用標(biāo)準(zhǔn)的C++和特殊的代碼生成擴(kuò)展(
124、稱(chēng)為元對(duì)象編譯器(Meta Object Compiler, moc))以及一些宏。通過(guò)語(yǔ)言綁定,其他的編程語(yǔ)言也可以使用QT。QT是自由且開(kāi)放源代碼的軟件,在GNU較寬松公共許可證條款下發(fā)布。所有版本都支持廣泛的編譯器,包括GCC的C++編譯器和Visual Studio。</p><p> Qt開(kāi)放源代碼,并且提供自由軟件的用戶協(xié)議。使得它可以被廣泛地應(yīng)用在各平臺(tái)上的開(kāi)放源代碼軟件開(kāi)發(fā)中。Qt提供三種授權(quán)方
125、式。三種授權(quán)方式的功能、性能都沒(méi)有區(qū)別,僅在于授權(quán)協(xié)議的不同。LGPL和GPL是免費(fèi)發(fā)布,商業(yè)版則需收取授權(quán)費(fèi)。Qt商業(yè)版 - Qt商業(yè)授權(quán)適用于開(kāi)發(fā)專(zhuān)屬和/或商業(yè)軟件。此版本適用于不希望與他人共享源代碼,或者遵循GNU寬通用公共許可證(LGPL)2.1版或GNU GPL 3.0版條款的開(kāi)發(fā)人員。提供了技術(shù)支持服務(wù)??梢匀我獾男薷腝t的源代碼,而不需要公開(kāi)。</p><p> GNU LGPLv. 2.1- Q
126、t 4.5.0及以后的版本開(kāi)始遵循GNU LGPL。LGPL允許鏈結(jié)到它的軟件使用任意的許可證,可以被專(zhuān)屬軟件作為類(lèi)庫(kù)引用、發(fā)布和銷(xiāo)售??梢再?gòu)買(mǎi)支持服務(wù)。GNU GPLv. 3.0 - 如果您希望將Qt應(yīng)用程序與受GNU通用公共許可證(GPL)3.0版本條款限制的軟件一同使用,或者您希望Qt應(yīng)用程序遵循該GNU許可證版本的條款,則此版本Qt適用于開(kāi)發(fā)此類(lèi)Qt應(yīng)用程序??梢再?gòu)買(mǎi)支持服務(wù)。</p><p> Qt的
127、圖形用戶界面的基礎(chǔ)是QWidget。Qt中所有類(lèi)型的GUI組件如按鈕、標(biāo)簽、工具欄等都派生自QWidget,而QWidget本身則為QObject的子類(lèi)。Widget負(fù)責(zé)接收鼠標(biāo),鍵盤(pán)和來(lái)自窗口系統(tǒng)的其他事件,并描繪了自身顯示在屏幕上。每一個(gè)GUI組件都是一個(gè)widget,widget還可以作為容器,在其內(nèi)包含其他Widget。QWidget不是一個(gè)抽象類(lèi)型。并且可以被放置在一個(gè)已存在的用戶界面中;若是Widget沒(méi)有指定父Widget
128、,當(dāng)它顯示時(shí)就是一個(gè)獨(dú)立的視窗、或是一個(gè)頂層widget。QWidget顯示能力包含了透明化及Double-Buffering。Qt提供一種托管機(jī)制,當(dāng)Widget于創(chuàng)建時(shí)指定父對(duì)象,就可把自己的生命周期交給上層對(duì)象管理,當(dāng)上層對(duì)象被釋放時(shí),自己也被釋放。確保對(duì)象不再使用時(shí)都會(huì)被刪除。</p><p> Qt利用信號(hào)與槽(signals/slots)機(jī)制取代傳統(tǒng)的callback來(lái)進(jìn)行對(duì)象之間的溝通。當(dāng)操作事件
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于ZigBee的智能燈光控制系統(tǒng)設(shè)計(jì).pdf
- 基于zigbee的智能語(yǔ)音家居電器控制系統(tǒng)設(shè)計(jì)
- 基于ZigBee技術(shù)的家居智能控制系統(tǒng)設(shè)計(jì).pdf
- 基于zigbee總線的智能照明控制系統(tǒng)
- zigbee智能照明設(shè)備控制系統(tǒng)設(shè)計(jì)
- 基于ZigBee的智能照明設(shè)備控制系統(tǒng)設(shè)計(jì).pdf
- 基于ZigBee的LED路燈智能照明控制系統(tǒng)設(shè)計(jì).pdf
- 基于ZigBee的LED路燈智能控制系統(tǒng).pdf
- 基于fpga智能窗控制系統(tǒng)說(shuō)明書(shū)
- 基于zigbee 的無(wú)線智能家居控制系統(tǒng)的設(shè)計(jì)
- 基于ZigBee的智能語(yǔ)音家居電器控制系統(tǒng)設(shè)計(jì).pdf
- 基于ZigBee智能家居控制系統(tǒng)的研究與設(shè)計(jì).pdf
- 基于zigbee技術(shù)的智能照明控制系統(tǒng)的研究
- ZigBee智能照明設(shè)備控制系統(tǒng)設(shè)計(jì).doc
- 基于ZigBee的智能家居監(jiān)測(cè)控制系統(tǒng)的設(shè)計(jì).pdf
- 基于ZigBee技術(shù)的智能家居網(wǎng)絡(luò)控制系統(tǒng)設(shè)計(jì).pdf
- 基于ZigBee的智能大棚控制系統(tǒng)研究.pdf
- 基于ZigBee技術(shù)的智能家居控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于ZigBee與Android平臺(tái)的智能家居控制系統(tǒng)設(shè)計(jì).pdf
- 基于ZigBee的智能家居控制系統(tǒng)的研究與設(shè)計(jì).pdf
評(píng)論
0/150
提交評(píng)論