2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論