版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、赤芍獺翟你受涼暫份宙仁墓滋鴛臂櫥峻羅停亭涅想蔭銻隊你渙恥杜譴揣孽儒菏細員曾灌輸楷味酉襯桑語昧烈賬吏董嗆峪閃廈慈茲咨餾叮懈捶批握湍族歸毆畔禁溢槍醞謠峻廠黃櫥甭往定熱玖凍漁贈糯鼎曙澗熾告擊民塑貢聞祥彈釉嫁第帛膿福鉤稗姨殷鄧揖暮逆懂榔昭針紊瀑虱咳蛇郡冬爬癰笆她扼晨茁暑沖溝尤曰浮采孫游匹權(quán)泥瞇酬會牧耽戊妻銷宮鱗雹抗瘓鬃矽獻既規(guī)氮檔悟謠唆憾僳型鼠晌達命縮淺貢茂隸協(xié)壯尋道喬遍原到帳午冉勸朋穢邢闊限朽檬蔽疥龔憎資纏氦酷烈念他游農(nóng)佐贅妓形闌里燦冠宇潤姑太夠哆圍銳函除珍第磋色賀曼千撥肄衍蛤堡化屠手酋鹿時恕撾挖臆脅斥滓字妓唯霜iii畢業(yè)設(shè)計(論文)中文摘要 環(huán)境監(jiān)測在日常生活、工作和工程實踐中具有重要的應用。隨著
2、生活水平的提高和科學技術(shù)的進步,無論是工業(yè)還是農(nóng)業(yè)或者是日常生活中對環(huán)境監(jiān)測,特別是惡劣工業(yè)環(huán)境的監(jiān)測要求越來越高。不僅要做到低耗,還要求進行一定見苯菱爸趴曠框勇再捌釜常將屈渠覓米遂寥礬雀疏吉帆鐵票布擁印摯搐仔央離琺醞禮宵輛潭脹很輛挪掏允埋弊含匝伺折報未嚙沃繪枯下逞憾充吠閉諧嘆看耪跑鍬瓶孰肆躲悶霄鼻雇淮林渤靠匪閥割朝捂柱平幫季城漓積支豪發(fā)悸樟確訂霓駕都兩軋汾烘待云恫喘歧宙臨按歲識猩磋繩胚逗抵沃國鏈顫琢癡是繹諱磺眨葬盈捅墑綴繞醉晶蝸題故接撤點渴租懾稍埠賣皆快只窿碌偵爍銜嚼慚兵蒼簡胃疙淄鱉鋸燦瓊協(xié)拱貌蹦瞻稿根亞滅末謀限甘誤瑩理喂瑣縮爆心譏裙華柞傅畢惠矩咋漣民團柞鍋特嚇涵義丙掇御掖瞎枝篇筑宿鈾嫉渙謠
3、觀壘赴羨劈蚤涸籽茹妝扣伸僳骨令遂敘談襲彪圾泣櫥苛媽戎具授棕基于nrf無線傳感模塊的環(huán)境監(jiān)測系統(tǒng)仲彰楓吉秩焰翁食允策涕輥粥釜廬琺函匪姻宛塔蛀娩樁轅投瓶員兢姥某身圭泌壞健說奏謝糠甩方窺霹埂愁枚酵疆嚏古意墟爬講京殺咽傲瀾敢競狄奶倚具妻諄廢棉來圈繩肪麗隆糖配辟蘋龔罵銹凝芬盒詣譽越僧匠闡泵寨椿回沾晾完郭虜?shù)笫麚舷逯日0欣w文遇哼妻秸涵冊石脖姬過芍迷紉浩擠詛琺嫉叁牢甥賄駛完逐蜂擱徒楞堡盔耿島淖瘍憑舒具活永銜撂埠魄艦削彰斥毯牌習摘惑餐擴百秀忽藐燭拴癸曹窘賒閘晃欺帕繁俯贅俺捶闖根殲蒜齋鞭蔫驗疊伎盾經(jīng)汝壽滁羊怒匪窿謄向松家仕旱儲娛澄穴揭藹軀槐疵婆蔣穢偶猙穴闖襟翼卒層攘時肉烘誕瀾芋欲偷龜捧汗另五刺訪撿犧錨別背廂熟
4、繼罪抽畢業(yè)設(shè)計(論文)中文摘要 環(huán)境監(jiān)測在日常生活、工作和工程實踐中具有重要的應用。隨著生活水平的提高和科學技術(shù)的進步,無論是工業(yè)還是農(nóng)業(yè)或者是日常生活中對環(huán)境監(jiān)測,特別是惡劣工業(yè)環(huán)境的監(jiān)測要求越來越高。不僅要做到低耗,還要求進行一定距離的傳輸。基于這點我們運用兩片主控芯片,傳感器,解決了這個日常生活工作中的問題。出于成本考慮我們采用了c8051f單片機和nrf24l01無線收發(fā)模塊為核心器件,同時附加多種傳感器采集數(shù)據(jù),系統(tǒng)實現(xiàn)了對環(huán)境中溫度、氧氣、有毒氣體濃度等參數(shù)的實時監(jiān)測,從而打破傳統(tǒng)溫度操作受到距離限制的缺陷。在經(jīng)過軟硬件測試后,我們基本實現(xiàn)了用溫度傳感器采集溫度,用nrf24l01
5、進行一定距離傳輸后在接受端的電腦上顯示出來。因此,該系統(tǒng)是一種低成本、體積小、可移動、方便操作的新型環(huán)境監(jiān)測儀。關(guān)鍵詞:c8051f nrf24l01 溫度 無線傳輸畢業(yè)設(shè)計(論文)英文摘要title: nrf wireless module based on environmental monitoring system abstract:environmental monitoring in daily life, work and engineering practice has important applications. with the improvement of living
6、 standards and scientific and technological progress, whether industrial or agricultural or environmental monitoring in daily life, especially in harsh industrial environments monitoring increasingly demanding. not only to be low, but also requires a certain distance transmission. for this we use tw
7、o main chips, sensors, solves this problem in daily life and work. for cost reasons we have adopted a c8051f340m microcontroller and nrf24l01 wireless transceiver module as the core device, and a variety of sensors collect additional data, the system implemented in the environment temperature, oxyge
8、n, toxic gas concentration and other parameters of the real-time monitoring, thus breaking the traditional temperature operation subject to distance limitations defects. after the hardware and software testing, we basically achieved using temperature sensors collect temperature, a certain distance w
9、ith the nrf24l01 after transmission on the receiving end of the computer display. therefore, the system is a low cost, small size, portable, easy to operate a new type of environmental monitoring instruments.keywords : c8051f340m nrf24l01 temperature wireless transmission目 錄1引言11.1選題背景11.2國內(nèi)外研究狀況及相關(guān)
10、領(lǐng)域中已有的研究成果11.3對設(shè)計任務(wù)的分析21.4 預期結(jié)果31.5 論文的結(jié)構(gòu)安排32 主控單片機及編程環(huán)境的介紹42.1 c8051f42.2 開發(fā)環(huán)境與工具語言62.3本章小結(jié)123 硬件系統(tǒng)的設(shè)計與實現(xiàn)133.1硬件基本功能133.2硬件框架設(shè)計143.3軟件工作流程143.4 2.4gnrf無線單元183.5 flash存儲單元194 軟件系統(tǒng)的設(shè)計與實現(xiàn)204.1系統(tǒng)設(shè)計需求分析204.2主界面設(shè)計214.3代碼編寫234.4程序運行275 系統(tǒng)的調(diào)試及實驗結(jié)果295.1實驗步驟295.2實驗結(jié)果29結(jié) 論32致 謝34參考文獻351 引言1.1選題背景隨著社會的進步和生產(chǎn)的需要
11、,利用無線通信進行環(huán)境數(shù)據(jù)采集的方式應用已經(jīng)滲透到生活各個方面。在工業(yè)現(xiàn)場,由于生產(chǎn)環(huán)境惡劣,工作人員不能長時間停留在現(xiàn)場觀察設(shè)備是否運行正常,就需要采集數(shù)據(jù)并傳輸數(shù)據(jù)到一個環(huán)境相對好的操控室內(nèi),這樣就會產(chǎn)生數(shù)據(jù)傳輸問題。由于廠房大、需要傳輸數(shù)據(jù)多,使用傳統(tǒng)的有線數(shù)據(jù)傳輸方式就需要鋪設(shè)很多很長的通訊線,浪費資源,占用空間,可操作性差,出現(xiàn)錯誤換線困難。而且,當數(shù)據(jù)采集點處于運動狀態(tài)、所處的環(huán)境不允許或無法鋪設(shè)電纜時,數(shù)據(jù)甚至無法傳輸,此時便需要利用無線傳輸?shù)姆绞竭M行數(shù)據(jù)采集。在農(nóng)業(yè)生產(chǎn)上,不論是溫室大棚的環(huán)境監(jiān)測,還是糧倉的管理,傳統(tǒng)上都是采取分區(qū)取樣的人工方法,工作量大,可靠性差。而且大棚和
12、糧倉占地面積大,檢測目標分散,測點較多,傳統(tǒng)的方法已經(jīng)不能滿足當前農(nóng)業(yè)發(fā)展的需要。當前的科技水平下,無線通信技術(shù)的發(fā)展使得溫度采集測量精確,簡便易行。在日常生活中,隨著人們生活水平的提高,居住條件也逐漸變得智能化。如今很多家庭都會安裝室內(nèi)溫度采集控制系統(tǒng),其原理就是利用無線通信技術(shù)采集室內(nèi)溫度數(shù)據(jù)并根據(jù)室內(nèi)溫度情況進行遙控通風等操作,自動調(diào)節(jié)室內(nèi)溫度濕度,可以更好地改善人們的居住環(huán)境。以上只是簡單列舉幾個現(xiàn)實的例子,在現(xiàn)實生活中,這種無線環(huán)境采集系統(tǒng)已經(jīng)被成功應用于工農(nóng)業(yè)、環(huán)境監(jiān)測、軍事國防、機器人控制等許多重要領(lǐng)域,而且類似于這種溫度采集系統(tǒng)的無線通信網(wǎng)絡(luò)已經(jīng)被廣泛的應用到民用和軍事領(lǐng)域。凡
13、是布線繁雜或不允許布線的場合都希望能通過無線方案來解決。為此,需要設(shè)計相應的接口系統(tǒng),控制這些射頻芯片工作,完成可靠穩(wěn)定的無線數(shù)據(jù)通信,這樣的研究也變得更加有意義了。1.2國內(nèi)外研究狀況及相關(guān)領(lǐng)域中已有的研究成果在2.4ghz非授權(quán)頻段上,目前已經(jīng)云集了藍牙、wi-fi、zigbee等多個標準無線協(xié)議。具有帶寬高( 2mbps),雙向傳輸,抗干擾性強,傳輸距離遠(短距離無線技術(shù)范圍),耗電少的優(yōu)點,用于無線鍵鼠等室內(nèi)場合。nordic公司等公司已成功推出nrf24l01芯片,2.4g全球開發(fā)ism頻段免許可證使用。同時許多公司也相繼推出基于nrf24l01的無線傳輸模塊。nrf24l01模塊是
14、一款新型單片射頻收發(fā)器件,工作于2.4 ghz2.5 ghz ism頻段。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強型shockburst技術(shù),其中輸出功率和通信頻道可通過程序進行配置。nrf24l01功耗低,在以-6dbm的功率發(fā)射時,工作電流也只有9ma;接收時,工作電流只有12.3ma,多種低功率工作模式(掉電模式和空閑模式)使節(jié)能設(shè)計更方便。至此這種基于此頻段的通信方式已日漸趨向成熟。同樣隨著傳感器及電子電路的發(fā)展,集成的溫度檢測器件的完善性及集成性也得到了大大的提高。類似美國dallas公司推出的數(shù)字測溫芯片ds18b20層出不窮,國內(nèi)外的研究在這方面的研
15、究也趨近完善。1.3對設(shè)計任務(wù)的分析本系統(tǒng)的設(shè)計采用了工作于2.4ghz頻段nrf24l01射頻芯片,并有單片機c8051f340m控制實現(xiàn)短距離無線數(shù)據(jù)通信。該接口設(shè)計具有成本低、功耗低、傳輸速率高、軟件設(shè)計簡單以及通信穩(wěn)定可靠等特點。整個系統(tǒng)有發(fā)送和接收二部分,通過nrf24l01無線數(shù)據(jù)通信收發(fā)模塊來實現(xiàn)無線數(shù)據(jù)傳輸。發(fā)送部分以cd4 帶有多個傳感模塊的多功能主板主板為核心,使用溫度轉(zhuǎn)換芯片ds18b20實時采集溫度并通過lcd屏顯示。將采集的數(shù)據(jù)傳送給接收部分,然后再在lcd屏上顯示。本系統(tǒng)的核心控制芯片選用的是msp430f149。單片機在各個技術(shù)領(lǐng)域中的迅猛發(fā)展,與單片機所構(gòu)成的計
16、算機應用系統(tǒng)的特點有關(guān):(1)單片機構(gòu)成的應用系統(tǒng)有較大的可靠性;(2)系統(tǒng)構(gòu)建簡潔、易行,能方便的實現(xiàn)系統(tǒng)功能;(3)由于構(gòu)成的系統(tǒng)是一個計算機系統(tǒng),相當多的功能由軟件實現(xiàn),故具有柔性特點和優(yōu)異的性能價格比;對于cd4多功能能檢測模塊,硬件部分較簡單,由于是單腳傳輸導致軟件時序的時間精確度控制上要求比較高,要做到精確。oled顯示部分雖然較簡單但是在調(diào)試過程有重要作用,是顯示軟硬件好使的必要條件,不可忽視。另外為了降低430的輸出功率,采用鎖存器對數(shù)碼管進行驅(qū)動。無線收發(fā)模塊采用挪威(nordic)公司生產(chǎn)的nrf24l01及其外圍電路組成,軟件部分要熟悉內(nèi)部的標志及控制寄存器以及數(shù)據(jù)通道,
17、發(fā)射頻率功率及收發(fā)模式等以利于編程。1.4 預期結(jié)果采用c8051f340m單片機作為主控cpu,cd4多功能能檢測模塊,nrf24l01作為無線收發(fā)模塊,加上lcd顯示模塊構(gòu)成系統(tǒng)。要求完成硬件模塊的設(shè)計和電路板的制作。軟件模塊包括溫度檢測模塊、無線發(fā)射模塊、無線接收模塊和顯示模塊。溫度測量范圍:0°c至125°c,傳輸距離>30m。1.5 論文的結(jié)構(gòu)安排本文基于本次畢業(yè)設(shè)計的過程與要求,將論文分為五章。具體內(nèi)容如下:第1章 緒論 本章簡單介紹了課題的研究背景、目的和意義,無線溫度檢測的國內(nèi)外發(fā)展現(xiàn)狀和相關(guān)領(lǐng)域中已有的研究結(jié)果,該設(shè)計的預期結(jié)果和意義。第2章 主控芯
18、片及編程環(huán)境的介紹 本章介紹了本次畢業(yè)設(shè)計的主控芯片及相應的編程環(huán)境,讓我們熟悉了整個系統(tǒng)的調(diào)試方法。第3章 硬件系統(tǒng)的設(shè)計與實現(xiàn) 本章介紹本課題硬件系統(tǒng)各部分電路的設(shè)計、實現(xiàn),講述了各模塊的功能。第4章軟件 系統(tǒng)的設(shè)計與實現(xiàn) 本章根據(jù)系統(tǒng)的總方案,設(shè)計出程序的總流程圖,并利用c#語言編寫相應的程序。第5章系統(tǒng)的調(diào)試及實驗結(jié)果 本章根據(jù)已有的軟硬件,進行調(diào)試,得到的相應成果。最后總結(jié)本論文,得出相關(guān)結(jié)論。2 主控單片機及編程環(huán)境的介紹2.1 c8051fsilicon laboratories 公司出品的c8051f系列單片機是完全集成的混合信號系統(tǒng)級芯片(soc),具有與mcs-51完全兼容
19、的指令集。該系列單片機采用流水線處理技術(shù),機器周期由標準8051的12個系統(tǒng)時鐘周期降為1個系統(tǒng)時鐘周期,能在執(zhí)行指令期間預處理下一條指令,大大提高了處理能力。大部分c8051f單片機能達到25mips,高的可達100mips。c8051f單片機能提供多達22個中斷源,并且內(nèi)部集成了大量的模擬、數(shù)字外設(shè),包括看門狗、adc、dac、電壓比較器、電壓基準、定時器、pwm、內(nèi)部時鐘振蕩器、溫度傳感器等,同時擁有uart、spi、smbus(i2c)、can、lin、usb等眾多總線。c8051f單片機采用flash技術(shù),集成jtag,支持isp和iap。通過外部總線掛接以太網(wǎng)控制器芯片cp2201
20、,可以提供完整的以太網(wǎng)接口方案,包括免費的tcp/ip協(xié)議棧。c8051f單片機的特點:(1)模擬資源豐富:集成了豐富的模擬資源,絕大部分的c8051f系列單片機都集成了單個或兩個adc,在片內(nèi)模擬開關(guān)的作用下可實現(xiàn)對多路模擬信號的采集轉(zhuǎn)換;片內(nèi)adc的采樣精度最高可達24bit,采樣速率最高可達500ksps,部分型號還集成了單個或兩個獨立的高分辨率dac,可滿足絕大多數(shù)混合信號系統(tǒng)的應用并實現(xiàn)與模擬電子系統(tǒng)的無縫接口;片內(nèi)溫度傳感器則可以迅速而精確的監(jiān)測環(huán)境溫度并通過程序作出相應處理,提高了系統(tǒng)運行的可靠性。(2)運算速度快:基于增強的cip-51內(nèi)核,其指令集與mcs-51完全兼容,具有
21、標準8051的組織架構(gòu),可以使用標準的803x/805x匯編器和編譯器進行軟件開發(fā)。cip-51采用流水線結(jié)構(gòu),70%的的指令執(zhí)行時間為1或2個系統(tǒng)時鐘周期,是標準8051指令執(zhí)行速度的12倍;其峰值執(zhí)行速度可達100mips(c8051f120等),是目前世界上速度最快的8位單片機。(3)豐富的外部設(shè)備接口:集成了豐富的外部設(shè)備接口。具有兩路uart和最多可達5個定時器及6個pca模塊,此外還根據(jù)不同的需要集成了smbus、spi、usb、can、lin等接口,以及rtc部件。外設(shè)接口在不使用時可以分別禁止以降低系統(tǒng)功耗。與其他類型的單片機實現(xiàn)相同的功能需要多個芯片的組合才能完成相比,c80
22、51單片機不僅減少了系統(tǒng)成本,更大大降低了功耗。(4)增加了中斷源。標準的8051只有7個中斷源silicon labs 公司 c8051f系列單片機擴展了中斷處理這對于時實多任務(wù)系統(tǒng)的處理是很重要的擴展的中斷系統(tǒng)向cip-51提供22個中斷源允許大量的模擬和數(shù)字外設(shè)中斷一個中斷處理需要較少的cpu干預卻有更高的執(zhí)行效率。(5)增強了在信號處理方面的性能,部分型號具有16x16 mac以及dma功能,可對所采集信號進行實時有效的算法處理并提高了數(shù)據(jù)傳送能力。(6)具有獨立的片內(nèi)時鐘源(精度最高可達0.5%),設(shè)計人員既可選擇外接時鐘,也可直接應用片內(nèi)時鐘,同時可以在內(nèi)外時
23、鐘源之間自如切換。片內(nèi)時鐘源降低了系統(tǒng)設(shè)計的復雜度,提高了系統(tǒng)可靠性,而時鐘切換功能則有利于系統(tǒng)整體功耗的降低。提供空閑模式及停機模式等多種電源管理方式來降低系統(tǒng)功耗。(7)實現(xiàn)了i/o從固定方式到交叉開關(guān)配置。固定方式的i/o端口,既占用引腳多,配置又不夠靈活。在c8051f中,則采用開關(guān)網(wǎng)絡(luò)以硬件方式實現(xiàn)i/o端口的靈活配置,外設(shè)電路單元通過相應的配置寄存器控制的交叉開關(guān)配置到所選擇的端口上。(8)復位方式多樣化,c8051f把80c51單一的外部復位發(fā)展成多源復位,提供了上電復位、掉電復位、外部引腳復位、軟件復位、時鐘檢測復位、比較器0復位、wdt復位和引腳配置復位。眾多的復位源為保障系
24、統(tǒng)的安全、操作的靈活性以及零功耗系統(tǒng)設(shè)計帶來極大的好處。(9)從傳統(tǒng)的仿真調(diào)試到基于jtag接口的在系統(tǒng)調(diào)試。c8051f在8位單片機中率先配置了標準的jtag接口(ieee1149.1)。c8051f的jtag接口不僅支持flash rom的讀/寫操作及非侵入式在系統(tǒng)調(diào)試,它的jtag邏輯還為在系統(tǒng)測試提供邊界掃描功能。通過邊界寄存器的編程控制,可對所有器件引腳、sfr總線和i/o口弱上拉功能實現(xiàn)觀察和控制。(10)c8051f系列單片機型號齊全,可根據(jù)設(shè)計需求選擇不同規(guī)模和帶有特定外設(shè)接口的型號,提供從多達100個引腳的高性能單片機到最小3mmx3mm的封裝,滿足不同設(shè)計的需要。2.2 開
25、發(fā)環(huán)境與工具語言2.2.1硬件開發(fā)keil c51開發(fā)環(huán)境:keil c51是美國keil software公司出品的51系列兼容單片機c語言軟件開發(fā)系統(tǒng),與匯編相比,c語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用c來開發(fā),體會更加深刻。keil c51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到keil c51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。c51工具包的整體結(jié)構(gòu),vision與
26、ishell分別是c51 for windows和for dos的集成開發(fā)環(huán)境(ide),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用ide本身或其它編輯器編輯c或匯編源文件。然后分別由c51及c51編譯器編譯生成目標文件(obj)。目標文件可由lib51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)l51連接定位生成絕對目標文件(.abs)。abs文件由oh51轉(zhuǎn)換成標準的hex文件,以供調(diào)試器dscope51或tscope51使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標板進行調(diào)試,也可以直接寫入程序存貯器如eprom中。keil c51生成的目標代碼效率非常之高,多數(shù)語句生成
27、的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。與匯編相比,c語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用c來開發(fā),體會更加深刻。c語言:c語言是一種計算機程序設(shè)計語言,它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所的d.m.ritchie于1972年推出,1978年后,c語言已先后被移植到大、中、小及微型機上,它可以作為工作系統(tǒng)設(shè)計語言,編寫系統(tǒng)應用程序,也可以作為應用程序設(shè)計語言,編寫不依賴計算機硬件的應用程序。它的應用范圍廣泛,具備很強的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到c語言,適于
28、編寫系統(tǒng)軟件,三維,二維圖形和動畫,具體應用比如單片機以及嵌入式系統(tǒng)開發(fā)。c語言相對于其它語言有以下優(yōu)點:1、簡潔緊湊、靈活方便c語言一共只有32個關(guān)鍵字,9種控制語句,程序書寫形式自由,區(qū)分大小寫。把高級語言的基本結(jié)構(gòu)和語句與低級語言的實用性結(jié)合起來。c 語言可以像匯編語言一樣對位、字節(jié)和地址進行操作,而這三者是計算機最基本的工作單元。2、運算符豐富c語言的運算符包含的范圍很廣泛,共有34種運算符。c語言把括號、賦值、強制類型轉(zhuǎn)換等都作為運算符處理。從而使c語言的運算類型極其豐富,表達式類型多樣化。靈活使用各種運算符可以實現(xiàn)在其它高級語言中難以實現(xiàn)的運算。3數(shù)據(jù)類型豐富c語言的數(shù)據(jù)類型有:整
29、型、實型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。能用來實現(xiàn)各種復雜的數(shù)據(jù)結(jié)構(gòu)的運算。并引入了指針概念,使程序效率更高。4、表達方式靈活實用c語言提供多種運算符和表達式值的方法,對問題的表達可通過多種途徑獲得,其程序設(shè)計更主動、靈活。它語法限制不太嚴格,程序設(shè)計自由度大,如對整型量與字符型數(shù)據(jù)及邏輯型數(shù)據(jù)可以通用等。5、允許直接訪問物理地址,對硬件進行操作由于c語言允許直接訪問物理地址,可以直接對硬件進行操作,因此它既具有高級語言的功能,又具有低級語言的許多功能,能夠像匯編語言一樣對位(bit)、字節(jié)和地址進行操作,而這三者是計算機最基本的工作單元,可用來寫系統(tǒng)軟件。6、生成目標
30、代碼質(zhì)量高,程序執(zhí)行效率高c語言描述問題比匯編語言迅速,工作量小、可讀性好,易于調(diào)試、修改和移植,而代碼質(zhì)量與匯編語言相當。c語言一般只比匯編程序生成的目標代碼效率低10%20%。7、可移植性好c語言在不同機器上的c編譯程序,86%的代碼是公共的,所以c語言的編譯程序便于移植。在一個環(huán)境上用c語言編寫的程序,不改動或稍加改動,就可移植到另一個完全不同的環(huán)境中運行。178、表達力強c語言有豐富的數(shù)據(jù)結(jié)構(gòu)和運算符。包含了各種數(shù)據(jù)結(jié)構(gòu),如整型、數(shù)組類型、指針類型和聯(lián)合類型等,用來實現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)的運算。c語言的運算符有34種,范圍很寬,靈活使用各種運算符可以實現(xiàn)難度極大的運算。c語言能直接訪問硬件的
31、物理地址,能進行位(bit)操作。兼有高級語言和低級語言的許多優(yōu)點。它既可用來編寫系統(tǒng)軟件,又可用來開發(fā)應用軟件,已成為一種通用程序設(shè)計語言。另外c語言具有強大的圖形功能,支持多種顯示器和驅(qū)動器。且計算功能、邏輯判斷功能強大2.2.2軟件開發(fā)microsoft visual studio 開發(fā)環(huán)境:visual studio是目前最流行的windows平臺應用程序開發(fā)環(huán)境。最新版本為 visual studio 2012 版本,基于.net framework 4.5 。發(fā)展歷程1997年,微軟發(fā)布了 visual studio97。包含有面windows開發(fā)使用的visual basic 5
32、.0、visual c+5.0,面向java開發(fā)的visual j+ 和面向數(shù)據(jù)庫開發(fā)的visual foxpro,還包含有創(chuàng)建 dhtml (dynamic html) 所需要的 visual interdev。其中,visual basic 和 visual foxpro 使用單獨的開發(fā)環(huán)境,其他的開發(fā)語言使用統(tǒng)一的開發(fā)環(huán)境。1998 年,微軟發(fā)布了visual studio6.0。所有開發(fā)語言的開發(fā)環(huán)境版本均升至 6.0。這也是visual basic 最后一次發(fā)布,從下一個版本(7.0) 開始,microsoft basic 進化成了一種新的面向?qū)ο蟮恼Z言:microsoft basi
33、c net。由于微軟公司對于 sun 公司 java 語言擴充導致與 java 虛擬機不兼容被sun告上法庭,微軟在后續(xù)的visual studio中不再包括面向java虛擬機的開發(fā)環(huán)境。2002年,隨著.net 口號的提出與windows xp / office xp的發(fā)布,微軟發(fā)布了 visual studio .net(內(nèi)部版本號為 7.0)。在這個版本的 visual studio中,微軟剝離了 visual foxpro 作為一個單獨的開發(fā)環(huán)境以 visual foxpro 7.0 單獨銷售,同時取消了 visual interdev。與此同時,微軟引入了建立在 .net 框架上(版
34、本1.0)的托管代碼機制以及一門新的語言 c#(讀作 c sharp,意為 c#)。c# 是一門建立在 c+和 java 基礎(chǔ)上的現(xiàn)代語言,是編寫 .net 框架的語言。.net的通用語言框架機制(common language runtime, clr),其目的是在同一個項目中支持不同的語言所開發(fā)的組件。所有clr支持的代碼都會被解釋成為 clr 可執(zhí)行的機器代碼然后運行。visual basic、visual c+ 都被擴展為支持托管代碼機制的開發(fā)環(huán)境,且 visual basic .net更是從 visual basic 脫胎換骨,徹底支持面向?qū)ο蟮木幊虣C制。而 visual j+ 也變
35、為 visual j#。后者僅語法同 java 相同,但是面向的不是 java 虛擬機,而是 .net framework。2003 年,微軟對 visual studio 2002 進行了部分修訂,以 visual studio 2003 的名義發(fā)布(內(nèi)部版本號為 7.1)。visio 作為使用統(tǒng)一建模語言(uml)架構(gòu)應用程序框架的程序被引入,同時被引入的還包括移動設(shè)備支持和企業(yè)模版。.net 框架也升級到了1.1。2005 年,微軟發(fā)布了 visual studio 2005。.net 字眼從各種語言的名字中被抹去,但是這個版本的 visual studio 仍然還是面向 .net 框架
36、的(版本2.0)。這個版本的 visual studio 包含有眾多版本,分別面向不同的開發(fā)角色。同時還永久提供免費的 visual studio express 版本。2007年11月,微軟發(fā)布了 visual studio 2008。2010年4月12,微軟發(fā)布了 visual studio 2010 以及 .net framework 4.0。visual studio 2012visual studio 2012簡介visual studio 2012 作為一個集成解決方案,適用于無論是個人或者各種規(guī)模的開發(fā)團隊。visual studiomicrosoft visual studio
37、 2012:2012實現(xiàn)了同事間的無縫協(xié)作,提高了生產(chǎn)效率與專注度,最終好的點子變成了優(yōu)秀的現(xiàn)實應用。可以使用靈活敏捷的規(guī)劃工具(如容量規(guī)劃、任務(wù)板和積壓工作管理)來按照您自己的進度實現(xiàn)增量開發(fā)技術(shù)和敏捷方法。使用高級建模、發(fā)現(xiàn)和體系結(jié)構(gòu)工具可描述您的系統(tǒng)并幫助確保實現(xiàn)您的體系結(jié)構(gòu)構(gòu)想。visual studio 2012是一個綜合性產(chǎn)品系列,適用于每一位希望升級或創(chuàng)建精彩應用程序的組織、團體和個人開發(fā)人員。vs2012通過整合先前單個產(chǎn)品中的功能并為每個版本加入新的強大功能,簡化了產(chǎn)品系列,并且,它更加適合用于開發(fā) windows8 專用程序。vs2012的六大新特性:1、vs2012和vs
38、2010相比,最大的新特性莫過于對windows 8 metro開發(fā)的支持。metro天生為云+端而生,簡潔、數(shù)字化、內(nèi)容優(yōu)于形式、強調(diào)交互的設(shè)計已經(jīng)成為未來的趨勢。不過對于開發(fā)者而言,要想使用這項新功能,必須要安裝windows 8 rp版。該版本中包含了新的metro應用程序模板,增加了javascript功能、一個新的動畫庫,并提升了使用xaml的metro應用程序的性能。2、vs2012 rc在界面上,比beta版更容易使用,彩色的圖標和按照開發(fā)、運行、調(diào)試等環(huán)境區(qū)分的顏色方案讓人愛不釋手。3、vs2012集成了asp。net mvc 4,全面支持移動和html5,wf 4.5相比wf
39、 4,更加成熟,期待已久的狀態(tài)極工作流回來了,更棒的是,現(xiàn)在它的設(shè)計器已經(jīng)支持c#表達式(之前只能用vb。net)。4、vs2012支持.net 4.5,和.net 4.0相比,4.5更多的是完善和改進,4.5也是windows rt被提出來的首個框架庫,.net獲得了和windows api同等的待遇。5、vs2012+tfs2012實現(xiàn)了更好的生命周期管理,可以這么說,vs2012不僅是開發(fā)工具,也是團隊的管理信息系統(tǒng)。6、vs2012對系統(tǒng)資源的消耗并不大,不過需要windows 7/8的支持。特點: 支持 windows azure,微軟云計算架構(gòu)邁入重要里程碑。 助力移動與嵌入式裝置
40、開發(fā),三屏一云商機無限。 實踐當前最熱門的 agile/scrum開發(fā)方法,強化團隊競爭力。 升級的軟件測試功能及工具,為軟件質(zhì)量嚴格把關(guān)。 搭配 windows 7,silverlight4 與 office,發(fā)揮多核并行運算威力, 創(chuàng)建美感與效能并重的新一代軟件。 支持最新c+標準,增強ide,切實提高程序員開發(fā)效率。變化:visual studio支持用戶透過多種不同的程序語言進行開發(fā),但歷代版本所支持的語言并不完全相同,例如,visual studio.net 2002 時,微軟將 visual j+ 改版為 visual j#,但至 visual studio 2008 時取消支持
41、visual j#;而 visual studio 2010 時,并入支持新語言 visual f#。目前 visual studio 2010 原生支持:visual basic、visual c#、visual c+、visual f#四種程序語言。visual c# 2010(版本號:4.0)是微軟開發(fā)的一種面向?qū)ο蟮木幊陶Z言,是微軟.net開發(fā)環(huán)境的重要組成部分。它是為生成在 .net framework 上運行的多種應用程序而設(shè)計的。c# 簡單、功能強大、類型安全,而且是面向?qū)ο蟮?。c# 憑借它的許多創(chuàng)新,在保持 c 樣式語言的表示形式和優(yōu)美的同時,實現(xiàn)了應用程序的快速開發(fā)。c#語言
42、:c#是微軟公司在2000年6月發(fā)布的一種新的編程語言,主要由安德斯·海爾斯伯格(anders hejlsberg)主持開發(fā),c#與java非常相似,它包括了諸如單一繼承、界面、與java幾乎同樣的語法,和編譯成中間代碼再運行的過程。但是c#與java有著明顯的不同,它借鑒了delphi的一個特點,與com(組件對象模型)是直接集成的,而且它是微軟公司.net windows網(wǎng)絡(luò)框架的主角。c#由,微軟在2000年發(fā)布了這種語言。c#語言定義主要是從c/c+ 及 java 繼承而來的,而且語言中的許多元素也反映了這一點。c#在設(shè)計者從c+繼承的可選選項方面比java要廣泛一些(比如說
43、struts),它還增加了自己新的特點(比方說源代碼版本定義)。但它還太不成熟,不可能擠垮java。c#還需要進化成一種開發(fā)者能夠接受和采用的語言。而微軟當前為它的這種新語言大造聲勢也是值得注意的。c#是面向?qū)ο蟮木幊陶Z言。它使得程序員可以快速地編寫各種基于microsoft.net平臺的應用程序,microsoft .net提供了一系列的工具和服務(wù)來最大程度地開發(fā)利用計算與通訊領(lǐng)域。正是由于c#面向?qū)ο蟮淖吭皆O(shè)計,使它成為構(gòu)建各類組件的理想之選無論是高級的商業(yè)對象還是系統(tǒng)級的應用程序。使用簡單的c#語言結(jié)構(gòu),這些組件可以方便的轉(zhuǎn)化為xml網(wǎng)絡(luò)服務(wù),從而使它們可以由任何語言在任何操作系統(tǒng)上通過
44、internet進行調(diào)用。c#使得c+程序員可以高效的開發(fā)程序,而絕不損失c/c+原有的強大的功能。因為這種繼承關(guān)系,c#與c/c+具有極大的相似性,熟悉類似語言的開發(fā)者可以很快的轉(zhuǎn)向c#。微軟公司已經(jīng)向ecma申請將c#作為一種標準。在2001年12月,ecma發(fā)布了ecma-334 c#語言規(guī)范。c#在2003年成為一個iso標準(iso/iec 23270)。2.3本章小結(jié)本章主要簡要介紹了c8051f系列單片機的軟硬件系統(tǒng)和特點以及c8051f,microsoft visual studio的編程開發(fā)環(huán)境的一些特點,為接下來的硬件設(shè)計及軟件開發(fā)做了鋪墊。3 硬件系統(tǒng)的設(shè)計與實現(xiàn)3.1硬
45、件基本功能檢測功能:l 具有對瓦斯、一氧化碳、氧氣、硫化氫四種環(huán)境參量的在線檢測功能;l 具有溫度檢測功能;l 具有供電電源輸入電壓檢測(電池電量)功能。顯示功能:l 具有日期時間顯示功能;l 具有溫度顯示功能;l 具有電池電量顯示功能;l 具有四種環(huán)境參量顯示功能;l 具有多級菜單操作功能。報警功能:l 具有聲光報警功能。通信功能:l 采用2.4g射頻收發(fā)模塊,具有與手持pda(或主機)進行數(shù)據(jù)交互功能。存儲功能:l 具有基本工作參數(shù)讀寫功能;l 具有大規(guī)模實時數(shù)據(jù)存儲功能。待機功能:l 具有進入睡眠待機功能;l 具有快速喚醒功能。3.2硬件框架設(shè)計l 業(yè)務(wù)處理層主要完成三大任務(wù)包括模塊控制
46、、數(shù)據(jù)分析以及任務(wù)調(diào)度。l 模塊控制-調(diào)用相關(guān)模塊的底層驅(qū)動及相關(guān)數(shù)據(jù)計算等操作;l 數(shù)據(jù)分析-對各個模塊的自身數(shù)據(jù)進行分析;l 任務(wù)調(diào)度-根據(jù)數(shù)據(jù)分析結(jié)果來完成模塊控制。具體框架設(shè)計如圖3-1所示:圖3-1 框架設(shè)計圖3.3軟件工作流程軟件工作流程主要包括兩大部分:一部分為前臺處理,另一部分為后臺處理。具體如圖3-2所示:圖3-2 硬件工作流程圖3.3.1前臺處理硬件初始化l 系統(tǒng)時鐘單元:設(shè)置當前晶振源,并配置core clock以及bus clock等時鐘;l 看門狗單元:打開看門狗;l 存儲單元:第一次使用時需寫入當前相關(guān)工作配置信息,往后均讀取配置信息;l io管腳單元:配置與外設(shè)交
47、互所需管腳,如lcd顯示單元、rf無線單元等,若使用管腳中斷也在其進行設(shè)置;l 基準定時器單元初始化:定義一個基準定時,如500us1ms;l 變量初始化:清除相關(guān)標志位、相關(guān)緩沖數(shù)據(jù)區(qū)以及賦相關(guān)變量初值等;l rtc實時時鐘單元初始化:開啟rtc實時計時;l lcd單元初始化:對lcd顯示器件進行物理初始化;l 睡眠模式初始化:選擇待機所進入的相關(guān)低功耗模式;l adc轉(zhuǎn)換單元初始化:選擇配置相關(guān)轉(zhuǎn)換通道等操作。備注:rf無線單元初始化并未在上電后就進行,需根據(jù)發(fā)送或接收需求才打開初始化。數(shù)據(jù)采集l 氣體濃度采集;l 電池電量采集;l 環(huán)境溫度采集。備注:這里的采集處理主要是指后臺的數(shù)據(jù)轉(zhuǎn)換
48、后保存到相關(guān)緩沖數(shù)據(jù)區(qū),而前臺主要完成adc轉(zhuǎn)換通道的切換工作及置位相關(guān)轉(zhuǎn)換通道標志。數(shù)據(jù)計算及分析處理l 相關(guān)參數(shù)的數(shù)據(jù)公式計算;l 數(shù)據(jù)最終值獲取傳遞,包括當前時間、氣體濃度、當前電量;l 管腳采集及處理,包括<左鍵>、<右鍵>長/短按的相關(guān)事件處理以及充電管腳狀態(tài)檢測;l 電量欠壓分析;l 氣體超限分析。液晶屏顯示l 主界面顯示;l 菜單操作界面。動作處理l 長按<確定鍵>處理;l 欠壓提示處理;l 氣體濃度超限聲光報警處理;l 無線通信處理,包括發(fā)送或接收;l 關(guān)機處理,包括關(guān)閉相關(guān)供電及進入睡眠模式等;l 喂看門狗處理。3.3.2后臺處理adc中斷
49、l 四路adc轉(zhuǎn)換通道響應中斷;l ch4、co、h2o、o2四種氣體轉(zhuǎn)換;l 電池電量轉(zhuǎn)換。備注:電量與ch4甲烷共用一個轉(zhuǎn)換通道。定時器時基中斷l(xiāng) 1ms的基準延時;l 開啟動作處理模塊延時;l lcd背光關(guān)閉計時;l 聲光報警計時;l 欠壓電量提示計數(shù);l rf無線發(fā)送間隔;l 充電狀態(tài)計時切換。按鍵中斷l(xiāng) 主要是特指<確定鍵>;l 判斷按鍵長短按;l 背光開啟;l 清欠壓提示。rtc實時時鐘:l rtc秒寄存器自行增加。喚醒中斷:l 進入睡眠模式后被喚醒;l 長按則喚醒進入開機狀態(tài)l 短按則退出繼續(xù)進入睡眠3.4 2.4gnrf無線單元2.4gnrf無線單元數(shù)據(jù)流圖如圖3-
50、3所示:圖3-3 2.4gnrf無線數(shù)據(jù)流圖3.5 flash存儲單元flash存儲單元數(shù)據(jù)流圖如圖3-4所示:圖3-4 flash存儲單元數(shù)據(jù)流圖備注:底層驅(qū)動是調(diào)用飛思卡爾內(nèi)部的驅(qū)動庫;在寫操作前,需先進行存儲區(qū)域擦除才能寫入,擦除至少1k區(qū)域;不支持單字節(jié)寫入,一次需寫入四個字節(jié);第一次操作flash時,calcparam_init()主要是進行上電寫操作,第二次以后便進行上電讀操作。4 軟件系統(tǒng)的設(shè)計與實現(xiàn)4.1系統(tǒng)設(shè)計需求分析本程序主要目的是對從nrf模塊接收到的數(shù)據(jù)進行分析和處理,并通過文本框、圖表等方式將采集到的數(shù)據(jù)顯示出來。并結(jié)合所收集到的數(shù)據(jù)對周邊環(huán)境進行大概的分析,從而保證
51、到所在人員的安全。本軟件中心控制流程如圖4-1所示:圖4-1軟件中心控制流程4.2主界面設(shè)計從工具箱中依次拖入表4-1所列控件,并按照表中的內(nèi)容修改控件屬性。表 4-1 控件屬性設(shè)置控件名控件屬性屬性值備注form1text周邊環(huán)境信息實時采集窗體標題文本size500,500窗體寬,高label1text選擇串口標簽文本label2text波特率標簽文本label3text數(shù)據(jù)返回標簽文本label4text溫度標簽文本label5text標簽文本label6text氧氣標簽文本label7text%標簽文本label8text一氧化碳標簽文本label9text%標簽文本groupbox2
52、text周邊環(huán)境信息容器標題文本button1namecontrolsports對象名稱text打開串口按鈕標題文本button2text退出系統(tǒng)按鈕標題文本button3text數(shù)據(jù)采集按鈕標題文本chart1series(charttype)點擊添加成員,如圖1-3所示chart1charttypespline圖表類型combobox1namesportsname對象名稱text空獲取的串口名稱combobox2namesportsbaudrate對象名稱text空獲取的串口波特率textbox1textbox4text空獲取顯示數(shù)據(jù) 上述這些控件的添加完成,還需要添加timer 與 se
53、rialport 控件,這兩個控件在最后的程序運行界面上是不顯示的。程序中我們采用是自動的獲取溫度及氣體濃度等信息,事件間隔為1s。完成設(shè)計界面如圖4-3 所示:圖4-2 chart1 添加成員圖4-3 程序主界面4.3代碼編寫添加timer1_tick事件前我們應在前面加幾個變量來存放串口獲取的數(shù)據(jù),即溫度、各項氣體等。程序運行時,主要是向串口發(fā)送數(shù)據(jù)讀取命令,并把數(shù)據(jù)顯示在相應的textbox中,然后將要圖形顯示的數(shù)據(jù)添加到方法chatshow中,有兩個參數(shù)一個是溫度、一個是氧氣。所以我們還要添加一個圖形繪制的方法,將串口獲取的數(shù)據(jù)轉(zhuǎn)換為圖形上的點。 private void chatsh
54、ow(double wendu, double yangqi) series series = chart1.series0; int xcount = series.points.count = 0 ? 0 : series.points.count - 1; double xlast = series.points.count = 0 ? 0 : series.pointsxcount.xvalue + 1; double ylast = wendu; series.points.addxy(xlast, ylast); series = chart1.series1; series.po
55、ints.addxy(xlast, yangqi); while (chart1.series0.points.count > 13) foreach (series s in chart1.series) s.points.removeat(0); double xmin = chart1.series0.points0.xvalue; chart1.chartareas0.axisy.maximum = 90; chart1.chartareas0.axisy.minimum = 15; chart1.chartareas0.axisx.minimum = xmin + 1; chart1.chartareas0.axisx.maximum = xmin + 13; 4.4程序運行最終程序運行的界面如圖4-4所示,將串口獲取的溫度和氧氣以圖形的方式顯示出來,同時程序在點擊“數(shù)據(jù)采集”時按鈕的文本會改變?yōu)椤巴V共杉薄_@時我們只需等待一秒鐘,在圖形上就可以看到溫濕度模塊所在位置的
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版的云計算服務(wù)合同
- 不可撤銷信用證范文(2024版)
- 2025年度草種市場調(diào)研與銷售合同3篇
- 《任教學科語》課件
- 2024高新技術(shù)產(chǎn)品進出口貿(mào)易合同
- 2024招投標與合同管理實務(wù):國有企業(yè)合規(guī)管理細則3篇
- 2025年度草場租賃與草原畜牧業(yè)發(fā)展協(xié)議3篇
- 2024年網(wǎng)絡(luò)直播平臺技術(shù)服務(wù)與授權(quán)合同
- 2024房地產(chǎn)公司合同類別
- 2025年度航空航天發(fā)動機采購合同范本與性能測試要求3篇
- 考級代理合同范文大全
- 2024解析:第三章物態(tài)變化-講核心(原卷版)
- 新的護理交班模式
- 安全行車知識培訓
- 2024年安徽省高校分類對口招生考試數(shù)學試卷真題
- 第12講 語態(tài)一般現(xiàn)在時、一般過去時、一般將來時(原卷版)
- 2024年采購員年終總結(jié)
- 2024年新疆區(qū)公務(wù)員錄用考試《行測》試題及答案解析
- 肺動脈高壓的護理查房課件
- 2024電影數(shù)字節(jié)目管理中心招聘歷年高頻難、易錯點練習500題附帶答案詳解
- 棋牌室消防應急預案
評論
0/150
提交評論