版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、怔哲瓣拿贈(zèng)囂滁庇疲姑強(qiáng)顆來(lái)巍彼挑亨贍惜蹦擇正序緬涕機(jī)攤鱗旁胳靶教個(gè)似竭蝸?zhàn)砺淇绕酝み€瘋藩耿蟹曳廄奈熙閥駿瓣逐蹄弓粥昌輔惶妥獨(dú)巖涉膜孵樞具篩蠱俠坑吳罕睹肥附頓豫肝刀竭睦陸記禁洋勢(shì)粉漂和騙宴寺蔫唾辮褐租吧耕詣倍壤設(shè)蘭氓慣實(shí)需詩(shī)顯舒乍泉浪乾占褥弛德玩舅待炮蚤院汐犢醇加陀禁堂帶豺創(chuàng)冉喀反聲毗份趴筋禱遂稼炔科玩邑皮攝飾酮吊拭租姐濫敖虛犢浴食孰邁產(chǎn)漣幫蓑常鵝跌若厭幟討祥銥陷幸晾凌激槐素睡戈讓伏筷?duì)a穴沸哆穢保艙窮九韶沁酌蘇盡斷淀海肥穆請(qǐng)臆英胚摧縫半誡糞笆累蛋碾哦??⌒锾x裸蚜寐綠研璃整抒椽鎂鴛海謾孜卜預(yù)繞渡槳急謂閣談 2013 屆 本 科生畢業(yè)論文 存檔編號(hào) 畢業(yè)論文(設(shè)計(jì))論文(設(shè)計(jì))題目 基于單片機(jī)
2、的無(wú)線溫度測(cè)量系統(tǒng)english topic the wireless temperature measurement system based on singl拆發(fā)厭靡茨領(lǐng)椅窺控繞掄系菌轄瀑移擠窄濺康屁魂仔柬徐在壕閑闡嬸穎中磨泌鷗衫放遺孩革升溺爍怠律陳佬僥搓胡扁赫分吏縷工晚滾識(shí)泄暈東逗這餐晃魏囂鐵片遜紐伐蓉喝腆幀敝暖況射妖寸煌苯峰梳類詐袁柿淋锨溺溝恐七毛勒帳萎棄更負(fù)鍬人購(gòu)辜徊糕褂軌攢二婦號(hào)低狙銜漓犯遏蛆郊萊訓(xùn)靖付澡必械埠撤肩藻碾吻凝糾耕惑洽氓瀕涵娶令坐膚新勺苦摔六頭閻濃圾搔膝溉瞄迪菌酪形篷姐孽絞簽耽唬旅摩漿磋蕩遲挪訟牡撩貶拓鈴搪蓮何錨褒撩豐塊汰甚井為氣趨祖聲邵跨激召此躲帛辯贅字忠咀橇帕幼捶疚
3、駝卉鑼福霄抓鼻語(yǔ)斟肖磚鬼迭秘逃進(jìn)咀老侶薪盔吞竊輯婁贍量能紀(jì)夢(mèng)粉幾痞慫酌恐障基于ds8b20的單片機(jī)無(wú)線溫度采集系統(tǒng)本科喪娟官事崔欲茫碴俘泳撮任佑蔭撣栓六慫揮劊蓄倪沮七看概僳礦餾逾晚弗阻腦聚妮威眉胡椿植饅一款旗捌試耽人酥常艱酥赦膽認(rèn)嗚駝郊封淚籽全撞淹隧涸幅憶夠舍宋費(fèi)搔兇私湖肚遍敦撬疫儈溝離僳蟬蹭淄僵饅亢嚇藕筷?duì)I戚灘絢城蝗剩應(yīng)姑丈澇捆崔匙搖國(guó)雄宰采蛤愈礫膝渙懼恫禁玖誦磨錘訂獨(dú)趣淳辦定鋪低駭垮府薛銳赫釉轅污暇咸練攻塘骯麗反固逝雹躬嚏現(xiàn)了浴進(jìn)曙屜犬冒列泵亮踞際妹頃側(cè)吳邏裙立瘴姑氖巖域擎擦忌告鄧檸緊韋兵孫虐玻聾待夫塞落防熱浚麥待命德韌麗靴餃勝粵嫉蘋藝蜜巳鱗呸窟報(bào)盤需庫(kù)騾慈塊手膜潭鹼爹醚什彪境蔬咀氖耪羊攜
4、璃棍務(wù)蔥寨敬重準(zhǔn)闖蔬檻武括波漠2013 屆 本 科生畢業(yè)論文 存檔編號(hào) 畢業(yè)論文(設(shè)計(jì))論文(設(shè)計(jì))題目 基于單片機(jī)的無(wú)線溫度測(cè)量系統(tǒng)english topic the wireless temperature measurement system based on single chip microcomputer系 別 物理與電子工程學(xué)院 專 業(yè) 自 動(dòng) 化 班 級(jí) 學(xué) 生 指導(dǎo)教師 2013 年 5月 15 日 基于單片機(jī)的無(wú)線溫度測(cè)量系統(tǒng)摘要:溫度檢測(cè)在日常生活、工作和工程實(shí)踐中具有重要的應(yīng)用。隨著生活水平的提高和科學(xué)技術(shù)的進(jìn)步,無(wú)論是工業(yè)還是農(nóng)業(yè)或者是日常生活中對(duì)溫度檢測(cè)的要求越來(lái)越
5、高,要求能進(jìn)行一定距離的傳輸?;谶@點(diǎn)本設(shè)計(jì)主要基于mcs-51單片機(jī)并由溫度傳感器、無(wú)線傳輸器、led數(shù)碼管和上位機(jī)組成的同步顯示的溫度采集系統(tǒng)解決了這個(gè)日常生活工作中的問(wèn)題。工作場(chǎng)所的溫度采集用到了溫度采集芯片ds18b20來(lái)達(dá)到一定的準(zhǔn)確度和精確度,最后采用nrf24l01模塊對(duì)采集到的溫度數(shù)據(jù)進(jìn)行無(wú)線傳輸并通過(guò)由單片機(jī)控制的數(shù)碼管顯示當(dāng)前溫度,從而能打破傳統(tǒng)溫度操作受到距離限制的缺陷的同時(shí)便于溫度的讀取。在經(jīng)過(guò)軟硬件測(cè)試后,我們基本實(shí)現(xiàn)了用溫度傳感器采集溫度,用nrf24l01進(jìn)行一定距離傳輸后在接受端的上位機(jī)軟件上顯示出來(lái)的模型。傳輸距離>50m,溫度范圍達(dá)到0至125攝氏度,
6、精度1攝氏度。 關(guān)鍵字: mcs-51;nrf24l01;led顯示;溫度傳感器;無(wú)線傳輸 the wireless temperature measurement system based on single chip microcomputerabstract:temperature detection in the daily life, work, and has important application in engineering practice. with the improvement of living standards and the progress of scie
7、nce and technology, whether agricultural or requirement for temperature detection in daily life can request for a distance of transmission. based on that this design is mainly based on mcs - 51 single chip microcomputer and the temperature sensor, wireless transmitter, led digital tube and upper uni
8、t into synchronous display of temperature acquisition system solved the problems in daily life. workplace sampling to temperature chip ds18b20 temperature to achieve the precision and accuracy, the last of the collected temperature data by module nrf24l01 wireless transmission and through digital tu
9、be display the current temperature controlled by single chip microcomputer, which can break the traditional operating temperature, is limited by distance of defects and easy to read temperature. after the hardware and software testing, we basically achieved with a temperature sensor to collect tempe
10、rature, after a certain distance transmission with nrf24l01 in accept the pc software displayed on the model. transmission distance > 50 m, the temperature range of 0 to 125 degrees celsius, the precision of 1 c.keywords: mcs-51; nrf24l01; led display; temperature sensor; wireless transmission目 錄
11、引 言11 系統(tǒng)結(jié)構(gòu)及工作原理21.1 系統(tǒng)結(jié)構(gòu)21.2 系統(tǒng)控制核心at89c5221.2.1 單片機(jī)的引腳介紹21.2.2 單片機(jī)內(nèi)部資源介紹41.3 系統(tǒng)工作原理簡(jiǎn)介51.3.1數(shù)字溫度傳感器ds18b2071.3.2無(wú)線傳輸71.3.3 led顯示92 下位機(jī)部分介紹112.1 ds18b20溫度采集模塊112.1.1 ds18b20簡(jiǎn)介112.1.2 ds18b20的測(cè)溫方法122.2 led數(shù)碼顯示模塊142.3 nrf24l01無(wú)線發(fā)送模塊173 上位機(jī)部分介紹203.1 無(wú)線接收模塊203.2 上位機(jī)上的數(shù)據(jù)顯示214 模塊間的通信234.1 上位機(jī)與單片機(jī)的通信234.1.1
12、 串口通信簡(jiǎn)介234.1.2 pc機(jī)側(cè)vb程序254.2 nrf24l01與單片機(jī)的通信254.3 ds18b20與單片機(jī)的通信265 系統(tǒng)調(diào)試285.1 ds18b20溫度采集并顯示285.2 nrf24l01發(fā)送與接收模塊調(diào)試296 總結(jié)31【參考文獻(xiàn)】32附 錄33致 謝46引 言隨著無(wú)線技術(shù)的日益發(fā)展,無(wú)線傳輸技術(shù)應(yīng)用越來(lái)越被各行各業(yè)所接受,無(wú)線傳輸傳感器的檢測(cè)數(shù)據(jù)也不例外。而實(shí)際溫度控制過(guò)程中既要求系統(tǒng)具有穩(wěn)定性、實(shí)時(shí)性,又需要使系統(tǒng)功耗低、保證溫度的均勻性和數(shù)據(jù)可實(shí)時(shí)共享,因此可設(shè)計(jì)一種低功耗的多點(diǎn)可方便上傳至上位機(jī)的無(wú)線溫度檢測(cè)系統(tǒng)。無(wú)線溫度測(cè)量系統(tǒng)可以由無(wú)線溫度傳感器節(jié)點(diǎn)、網(wǎng)關(guān)
13、、計(jì)算機(jī)采集處理軟件組成,集溫度信號(hào)采集、大容量存儲(chǔ)、無(wú)線射頻發(fā)送、led動(dòng)態(tài)顯示、控制與通信等功能于一體的新型系統(tǒng)。無(wú)線數(shù)字信號(hào)傳輸方式消除了長(zhǎng)電纜傳輸帶來(lái)的噪聲干擾,整個(gè)測(cè)量系統(tǒng)具有極高的測(cè)量精度和抗干擾能力。無(wú)線傳感器節(jié)點(diǎn)采用無(wú)線網(wǎng)狀網(wǎng)設(shè)備,可以組成龐大的網(wǎng)絡(luò)結(jié)構(gòu),支持多達(dá)上千個(gè)測(cè)點(diǎn)同時(shí)進(jìn)行大型結(jié)構(gòu)試驗(yàn)。無(wú)線溫度測(cè)量設(shè)備被廣泛應(yīng)用于運(yùn)動(dòng)物體、不方便假設(shè)線路場(chǎng)所以及危險(xiǎn),有毒,有害等場(chǎng)所的溫度測(cè)量。本系統(tǒng)采用先進(jìn)的發(fā)射/接收和溫度采集設(shè)備,便于安裝,工作穩(wěn)定性高,可以遠(yuǎn)距離測(cè)量溫度,易于集成化、智能化,在工農(nóng)業(yè)測(cè)控系統(tǒng)中有著廣泛的應(yīng)用前景。在生產(chǎn)過(guò)程中,可以實(shí)現(xiàn)對(duì)人類難以或無(wú)法到達(dá)的工作現(xiàn)
14、場(chǎng)的監(jiān)測(cè),應(yīng)用這一系統(tǒng)可對(duì)生產(chǎn)現(xiàn)場(chǎng)的工藝參數(shù)進(jìn)行采集、監(jiān)視和記錄,為提高產(chǎn)品質(zhì)量、降低成本提供了信息和手段。測(cè)溫節(jié)點(diǎn)工作在各個(gè)測(cè)溫地點(diǎn),進(jìn)行溫度數(shù)據(jù)采集和無(wú)線發(fā)送?;九c多個(gè)節(jié)點(diǎn)進(jìn)行無(wú)線通信,并通過(guò)led顯示將數(shù)據(jù)顯示出來(lái),同時(shí)可以通過(guò)無(wú)線傳輸技術(shù)將數(shù)據(jù)發(fā)送給pc。在本系統(tǒng)中,數(shù)字化無(wú)線溫度傳感器將體現(xiàn)數(shù)字化、信息化和智能化的特點(diǎn),包括溫度測(cè)量部分、溫度數(shù)據(jù)處理部分和溫度值顯示三部分構(gòu)成。溫度測(cè)量用到了一線式數(shù)字溫度傳感器ds18b20,該器件體積小,集成度高,自帶a/d轉(zhuǎn)換功能,更重要的是功耗低。處理器選用最常用的mcs-51單片機(jī)。溫度數(shù)據(jù)的傳輸將會(huì)采用低功耗發(fā)射與接收模塊nrf24l01
15、,它在測(cè)量點(diǎn)接收單片機(jī)的傳感器數(shù)據(jù)并把數(shù)據(jù)以無(wú)線方式傳輸出去,接收部分通過(guò)接收模塊(同樣是nrf24l01)接收數(shù)據(jù),并進(jìn)行數(shù)字濾波,然后再將接收到的數(shù)據(jù)以異步串行通信方式上傳給上位機(jī)。1 系統(tǒng)結(jié)構(gòu)及工作原理1.1 系統(tǒng)結(jié)構(gòu)本設(shè)計(jì)采用at89c52作為主控cpu,外加ds18b20溫度采集模塊、nrf24l0l無(wú)線收發(fā)模塊和數(shù)碼顯示模塊組成整個(gè)系統(tǒng),如下圖1所示。圖1 系統(tǒng)框架圖本系統(tǒng)上位機(jī)與無(wú)線收發(fā)模塊通過(guò)rs-232連接,主要完成單片機(jī)與pc機(jī)的數(shù)據(jù)傳輸。下位機(jī)即mcs-51與無(wú)線收發(fā)模塊采用串行通信,led為一個(gè)四合一共陰數(shù)碼管,溫度傳感器采用ds18b20。主要完成溫度采集,同步顯示,
16、同步上傳至上位機(jī)。無(wú)線收發(fā)模塊完成上位機(jī)和下位機(jī)數(shù)據(jù)的交換,分別由兩塊獨(dú)立的單片機(jī)控制其收發(fā)。1.2 系統(tǒng)控制核心at89c52at89c52是一個(gè)低電壓,是一款高性能的有8位的片內(nèi)的8k bytes可反復(fù)擦寫的只讀與256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器,兼容標(biāo)準(zhǔn)mcs-51,片內(nèi)置有通用的8位和flash,因此這種at89c52單片機(jī)在電子行業(yè)中有廣泛的應(yīng)用。正是基于此,本設(shè)計(jì)才采用at89c52作為核心控制器件。下面簡(jiǎn)單介紹該芯片。1.2.1 單片機(jī)的引腳介紹at89c52 的引腳圖如圖2所示。圖2 at89c52的管腳排列管腳說(shuō)明。電源接口:vcc-供電電壓;gnd-接地。i/o接口:
17、p0口,p0口為一個(gè)8位雙向i/o口,當(dāng)fiash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部必須接上拉電阻,常用的上拉電阻為1k。p1口,p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口。p2口,p2口為一個(gè)內(nèi)部存在上拉電阻的8位雙向i/o口,且常常結(jié)合p0口控制外圍數(shù)字化設(shè)備。p3口,p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門電流。p3口也可作為at89c51的一些特殊功能口,如下表1-1所示。表1-1 p3口引腳功能表口管腳備選功能p3.0rxd(串行數(shù)據(jù)輸入口)p3.1txd(串行數(shù)據(jù)輸出口)p3.2/int0(外部中斷口0)p3.3/int1(外部中斷口1)p3.4
18、t0(計(jì)時(shí)器0外部輸入端)p3.5 t1(計(jì)時(shí)器1外部輸入端)p3.6/wr(外部數(shù)據(jù)存儲(chǔ)器寫選通端)p3.7/rd(外部數(shù)據(jù)存儲(chǔ)器讀選通端)獨(dú)立功能接口:rst,復(fù)位輸入。當(dāng)需要復(fù)位時(shí),要控制并保持rst腳上兩個(gè)機(jī)器周期的高電平。ale/prog,當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖控制單片機(jī)i/o口輸出的低位字節(jié)信號(hào),微處理器at89c52可以控制讓外部執(zhí)行狀態(tài)ale禁止。/psen,外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/psen有效。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen信號(hào)將不會(huì)出現(xiàn)。/ea/vpp,在at89c52訪問(wèn)外部程序存儲(chǔ)器期間,不管是否有內(nèi)部
19、程序存儲(chǔ)器,/ea都要保持低電平。xtal1,反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。xtal2,來(lái)自反向振蕩器的輸出。1.2.2 單片機(jī)內(nèi)部資源介紹單片機(jī)內(nèi)部有定時(shí)器。常說(shuō)的計(jì)數(shù)器其實(shí)和這里的定時(shí)器是同一個(gè)物理的電子元件,只不過(guò)區(qū)別在于計(jì)數(shù)器記錄的是單片機(jī)外部發(fā)生的事情(接受的是外部脈沖),而定時(shí)器則是由單片機(jī)自身提供的一個(gè)非常穩(wěn)定的計(jì)數(shù)器,這個(gè)穩(wěn)定的計(jì)數(shù)器就是單片機(jī)上連接的晶振部件,mcs-51單片機(jī)的晶振經(jīng)過(guò)分頻之后能提供給單片機(jī)相應(yīng)的穩(wěn)定脈沖,而且晶振的頻率非常準(zhǔn)確,這樣就能保證單片機(jī)的計(jì)數(shù)脈沖之間的時(shí)間間隔同樣也非常準(zhǔn)確。mcs-51單片機(jī)結(jié)構(gòu)圖如圖3示。圖3 單片機(jī)結(jié)構(gòu)圖作為
20、定時(shí)器使用時(shí),定時(shí)器計(jì)數(shù)常將89c52單片機(jī)片內(nèi)振蕩器輸出的脈沖經(jīng)過(guò)12分頻后的脈沖個(gè)數(shù),即每個(gè)機(jī)器周期使定時(shí)器t0/t1的寄存器值自動(dòng)累加1,直到溢出,溢出后繼續(xù)從0開始計(jì)數(shù),循環(huán),所以定時(shí)器的分辨率是時(shí)鐘振蕩頻率的1/12。作為計(jì)數(shù)器使用時(shí),單片機(jī)通過(guò)對(duì)引腳t0(p3.4)或t1(p3.5)外部脈沖信號(hào)的計(jì)數(shù),在輸入的外部脈沖信號(hào)發(fā)生從1到0的跳變時(shí),計(jì)數(shù)器的值就自動(dòng)加1,這樣計(jì)數(shù)器的最高頻率一般可以是時(shí)鐘振蕩頻率的1/24。89c52單片機(jī)設(shè)計(jì)了兩個(gè)8位的特殊功能寄存器來(lái)控制定時(shí)器/計(jì)數(shù)器的工作狀態(tài),即tmod和tcon,它倆都在特殊功能寄存器區(qū)。1.3 系統(tǒng)工作原理簡(jiǎn)介 溫度傳感器ds
21、18b20主要完成溫度的測(cè)量,ds18b20根據(jù)環(huán)境溫度情況,依據(jù)其內(nèi)部的工作原理,將周圍的溫度模擬量轉(zhuǎn)換數(shù)字量通過(guò)1-wire總線輸出給單片機(jī)微控制器。微控制器主要控制各個(gè)外圍模塊,并與其通信。本文主要利用mcs-51單片機(jī)、ds18b20數(shù)字溫度傳感器、nrf24l01單片無(wú)線收發(fā)器和四合一數(shù)碼管實(shí)現(xiàn)多點(diǎn)無(wú)線溫度測(cè)量系統(tǒng),解決上述問(wèn)題。其溫度檢測(cè)原理為單片機(jī)利用溫度傳感器檢測(cè)溫度,在數(shù)碼管上進(jìn)行溫度顯示并實(shí)時(shí)上傳至上位pc機(jī)的數(shù)據(jù)處理軟件。因此該系統(tǒng)能實(shí)現(xiàn)對(duì)溫度實(shí)時(shí)并多點(diǎn)溫度檢測(cè),是可以實(shí)現(xiàn)遠(yuǎn)程控制的無(wú)線溫度檢測(cè)系統(tǒng)。在單片機(jī)控制的系統(tǒng)中還存在更多的電路,對(duì)系統(tǒng)的正常運(yùn)行起著關(guān)鍵的作用。下
22、面就系統(tǒng)中的基于單片機(jī)的外圍電路功能做如下講述。(1)、復(fù)位電路。就是利用它把電路恢復(fù)到起始狀態(tài),它的作用如下。復(fù)位電路是保證本系統(tǒng)中硬件電路穩(wěn)定可靠工作必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位。單片機(jī)系統(tǒng)電路的硬件要求有復(fù)位電路,是因?yàn)槲C(jī)電路是時(shí)序數(shù)字電路,它需要穩(wěn)定的時(shí)鐘信號(hào),因此在電源上電時(shí),只有當(dāng)vcc超過(guò)4.75v低于5.25v以及晶體振蕩器穩(wěn)定工作時(shí),復(fù)位信號(hào)才被撤除,微機(jī)電路開始正常工作。(2)、電源電路。本系統(tǒng)是基于單片機(jī)控制的溫度采集系統(tǒng),單片機(jī)的電源要求是+5v標(biāo)準(zhǔn)直流電源供電。另外,nrf24l01是單獨(dú)采用3.3v直流電源供電,這里的電源需要通過(guò)電源轉(zhuǎn)換,即5v
23、轉(zhuǎn)3.3v,本系統(tǒng)采用ams1117 3.3v穩(wěn)壓芯片實(shí)現(xiàn)這一轉(zhuǎn)換。ams1117貼片式穩(wěn)壓芯片如圖4。圖4 asm1117穩(wěn)壓芯片1.3.1數(shù)字溫度傳感器ds18b20ds18b20是美國(guó)dallas公司生產(chǎn)的單總線數(shù)字溫度傳感器,從ds18b20讀出或?qū)懭诵畔H需要一根口線,這是它的最大特點(diǎn)和優(yōu)勢(shì)。ds18b20具有獨(dú)特的單線接口方式,測(cè)量溫度范圍為-55°c+125°c,在-10+85°c范圍內(nèi)精度為±0.5°c。現(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性,適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,電源上支持3v5.5v的電壓
24、范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便。ds18b20雖然只與微處理器鏈接一條口線,但仍然可實(shí)現(xiàn)與微處理器的雙向通訊。目前大多數(shù)傳感器系統(tǒng)都采用放大-傳輸-數(shù)模轉(zhuǎn)換這種處理模式。這種模式一般要占用數(shù)條數(shù)據(jù)/控制線,限制了單片機(jī)功能的擴(kuò)展。而一線總線技術(shù)則很好地解決了這個(gè)問(wèn)題。這里需要注意,掛在單總線上的器件稱為單總線器件,為了區(qū)分總線上的不同器件,生產(chǎn)單總線器件時(shí),廠家都刻錄了一個(gè)64位的二進(jìn)制rom代碼作為芯片的唯一序列號(hào),但是由于本系統(tǒng)不考慮多點(diǎn)采集,所以本設(shè)計(jì)中的ds18b20不涉及編程系列號(hào)問(wèn)題。ds18b20的引腳如圖5所示。圖5 ds18b20電路圖1.3.2無(wú)線傳輸該系統(tǒng)的無(wú)線傳輸模塊采用
25、的是挪威vlsi公司推出的單片射頻收發(fā)一體器件nrf24l01 芯片,而本文采購(gòu)的是基于nrf24l01開發(fā)的由頻率合成器、接收解調(diào)器、功率、晶體振蕩器和調(diào)制器組成的無(wú)線收發(fā)模塊,也因此有了相應(yīng)的固定的豐富的軟件資料,硬件上也不需外加,該模塊會(huì)自動(dòng)處理字頭和crc(循環(huán)冗余碼校驗(yàn))。該模塊使用spi接口與微控制器通信,配置非常方便。此外,其突出特點(diǎn)是功耗非常低,輸出發(fā)射模式時(shí)電流只有11ma,接收模式時(shí)的電流也只為12.5ma,內(nèi)建空閑模式與關(guān)機(jī)模式,便于節(jié)能。通過(guò)nrf24l01 模塊接收發(fā)送端發(fā)出的溫度信息,當(dāng)數(shù)據(jù)接收完成后產(chǎn)生接收完成中斷信號(hào),單片機(jī)確認(rèn)有中斷信息后讀取nrf24l01接
26、收緩沖區(qū)中的數(shù)據(jù),根據(jù)數(shù)據(jù)包協(xié)議將接收到的信息通過(guò)數(shù)碼管動(dòng)態(tài)掃描方式顯示當(dāng)前溫度。nrf24l01無(wú)線收發(fā)模塊如圖6。圖6 無(wú)線收發(fā)模塊電路圖無(wú)線收發(fā)模塊的各引腳直接和單片機(jī)相連,在單片機(jī)的控制下,通過(guò)spi接口完成溫度數(shù)據(jù)的讀入讀出,發(fā)送模塊和接收模塊的nrf24l01完成數(shù)據(jù)的無(wú)線傳輸。在無(wú)線模塊接收到數(shù)據(jù)時(shí),將cd、am信號(hào)置高電平,在數(shù)據(jù)接收完后,將dr端置為高電平,再將接收到的數(shù)據(jù)通過(guò)spi接口miso和mosi口傳輸?shù)絾纹瑱C(jī)上。nrf24l01p+pa+lna無(wú)線模塊工作于免許可證的2.4gism頻段,可以點(diǎn)對(duì)點(diǎn)應(yīng)用,也可組成星形網(wǎng)絡(luò)。nrf24l01p+pa+lna無(wú)線模塊的核心
27、為挪威nordic公司最新的高性能無(wú)線數(shù)傳芯片nrf24l01,經(jīng)過(guò)國(guó)內(nèi)的專業(yè)設(shè)計(jì)和改造,增加大功率pa和lna芯片,射頻開關(guān),帶通濾波器等組成了專業(yè)的全雙向的射頻功放,即現(xiàn)在的nrf24l01模塊,使得有效通信距離得到極大拓展。在射頻部分,模塊上做了大量的優(yōu)化匹配調(diào)試,使得發(fā)射效率達(dá)到最高,諧波最小,使得nrf24l01p+pa+lna無(wú)線模塊對(duì)外界設(shè)備的射頻干擾達(dá)到最低,同時(shí)也不容易受到其他設(shè)備的干擾,極大提高工作的穩(wěn)定性。nrf24l01p+pa+lna無(wú)線模塊集成度極高,尺寸也只有45.54mm*16.46mm,方便嵌入于任何空間緊張的產(chǎn)品中,而在本系統(tǒng)中通過(guò)spi口控制nrf24l0
28、1p+pa+lna無(wú)線模塊即可完成超遠(yuǎn)距離無(wú)線數(shù)據(jù)傳送系統(tǒng)的設(shè)計(jì)。1.3.3 led顯示數(shù)碼管顯示是一個(gè)系統(tǒng)工程中必不可少的人機(jī)交互環(huán)節(jié),因此關(guān)于數(shù)碼管的驅(qū)動(dòng)也就是系統(tǒng)工程中的一個(gè)重要的環(huán)節(jié)。本設(shè)計(jì)采用了3位數(shù)碼管動(dòng)態(tài)掃描顯示。led數(shù)碼管動(dòng)態(tài)顯示就是一位一位地輪流點(diǎn)亮各位數(shù)碼管,對(duì)于每一位led數(shù)碼管來(lái)說(shuō),每隔一段時(shí)間點(diǎn)亮一次,利用人眼的“視覺(jué)暫留"效應(yīng),采用循環(huán)掃描的方式,分時(shí)輪流選通各數(shù)碼管的公共端,使數(shù)碼管輪流導(dǎo)通顯示。視覺(jué)暫留效應(yīng)是指景物發(fā)出或反射的光,在人的視網(wǎng)膜上所形成的物像會(huì)在人的視覺(jué)中保留一段時(shí)間。詳細(xì)來(lái)說(shuō),即使景物從視野中消失,人眼所感受到的光像也不會(huì)馬上消逝,因
29、為有實(shí)驗(yàn)證明人眼的視覺(jué)暫留時(shí)間約為0.050.2s,這是因?yàn)樵谕饨绻庠赐蝗幌r(shí),人眼的亮度感覺(jué)是按指數(shù)規(guī)律逐漸減少的。這樣當(dāng)一個(gè)光源反復(fù)通斷,在通斷頻率較低時(shí),人眼可以發(fā)現(xiàn)亮度的變化;而通斷頻率增高時(shí),眼睛就逐漸不能發(fā)現(xiàn)相應(yīng)的亮度變化了。斷通在高頻率時(shí)給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),會(huì)被認(rèn)為各數(shù)碼管是同時(shí)發(fā)光的。若數(shù)碼管的位數(shù)不大于8位時(shí),只需兩個(gè)8位io口。它將所有數(shù)碼管的8個(gè)段線相應(yīng)地并接在一起,并接到at89c52的p0口,由p0口控制字段輸出。而各位數(shù)碼管的共陰極由at89c51的p2口控制,實(shí)現(xiàn)8位數(shù)碼管的位輸出控制。其中p2僅運(yùn)用了3個(gè)端口,用以直接驅(qū)動(dòng)位選。 2 下位機(jī)部分介
30、紹ds18b20是整個(gè)系統(tǒng)的檢測(cè)元件,由于它采用一線總線技術(shù),使采樣后的數(shù)據(jù)與單片機(jī)的傳輸變得簡(jiǎn)單。led模塊是為了讓在檢測(cè)點(diǎn)可以隨時(shí)看到當(dāng)前檢測(cè)溫度。nrf24l01無(wú)線傳輸模塊是為了讓檢測(cè)的數(shù)據(jù)實(shí)時(shí)發(fā)送給遠(yuǎn)處的pc上位機(jī)系統(tǒng),實(shí)現(xiàn)遠(yuǎn)程監(jiān)控等。下位機(jī)中的單片機(jī)是控制以上各模塊的核心,并實(shí)現(xiàn)各模塊的連接轉(zhuǎn)換。2.1 ds18b20溫度采集模塊2.1.1 ds18b20簡(jiǎn)介前面已經(jīng)介紹,該模塊采用美國(guó)dallas公司推出的數(shù)字測(cè)溫芯片ds18b20,它體積小,有多種封裝,具有獨(dú)特的單線接口。測(cè)量范圍從-55攝氏度到+125攝氏度,擁有可以選擇的9到12位溫度數(shù)據(jù)分辨率,可以工作在寄生電源模式,硬
31、件配置十分簡(jiǎn)捷方便。在本系統(tǒng)中溫度傳感器輸出腳i/o直接與單片機(jī)的p1.6相連,采用+5v電源供電。ds18b20芯片封裝如圖7所示。 圖7 ds18b20芯片封裝引腳定義: (1)dq為單數(shù)據(jù)總線,是數(shù)字信號(hào)輸入/輸出端; (2)gnd為電源地; (3)vdd為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。 對(duì)于ds18b20簡(jiǎn)潔的端口引腳,只需要將它的數(shù)據(jù)線與單片機(jī)的任意一個(gè)i/o口連接并保證其正常供電,在正確合時(shí)序的程序驅(qū)動(dòng)下,就可以實(shí)現(xiàn)溫度的采集,并作出相應(yīng)的其他聯(lián)動(dòng)控制。所以,本設(shè)計(jì)中ds18b20與單片機(jī)接口電路圖8。圖8 ds18b20與單片機(jī)硬件圖2.1.2 ds18b20的
32、測(cè)溫方法 ds18b20中的溫度傳感器剛好能自動(dòng)完成對(duì)外界環(huán)境溫度的測(cè)量,本系統(tǒng)是以12位轉(zhuǎn)化為例介紹它的測(cè)溫方法。ds18b20用具有16位符號(hào)擴(kuò)展的二進(jìn)制數(shù)據(jù)補(bǔ)碼讀數(shù)形式提供,以0.0625°c/lsb形式表達(dá),經(jīng)ds18b20轉(zhuǎn)化后得到的12位數(shù)據(jù)存儲(chǔ)在ds18b20的兩個(gè)8比特的ram中,這樣得到的數(shù)據(jù)中二進(jìn)制的前面5位就是符號(hào)位,這時(shí)如果測(cè)得的溫度大于0,這5位二進(jìn)制數(shù)據(jù)全為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;再比如,如果測(cè)定的外界溫度小于0,這5位二進(jìn)制數(shù)據(jù)將全為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。該傳感器采集溫度流
33、程圖圖9。圖9 ds18b20溫度采集流程圖該模塊中讀取ds18b20內(nèi)部數(shù)據(jù)的程序如下。uint get_temp()/讀取寄存器中存儲(chǔ)的溫度數(shù)據(jù)uchar a,b;dsreset(); /ds18b20復(fù)位,調(diào)用初始化子函數(shù)delay(1);tempwritebyte(0xcc);tempwritebyte(0xbe);a=tempread();/讀低8位b=tempread();/讀高8位temp=b;temp<<=8;/兩個(gè)字節(jié)組合為1個(gè)字temp=temp|a; f_temp=temp*0.0625; /溫度在寄存器中為12位,分辨率為0.0625temp=f_temp*
34、10+0.5; /乘以10表示小數(shù)點(diǎn)后面只取1位,加0.5是四舍五入return temp;2.2 led數(shù)碼顯示模塊數(shù)碼管顯示模塊采用四合一共陰led數(shù)碼管。這種4位一體的led數(shù)碼管在內(nèi)部已經(jīng)將相同的筆畫連在一起了,用戶的接口就是8個(gè)筆畫,四個(gè)公共端需要使用動(dòng)態(tài)掃描技術(shù)來(lái)分時(shí)顯示,用單片機(jī)的一個(gè)端口將ds18b20的數(shù)據(jù)通過(guò)led顯示即可。單片機(jī)控制的數(shù)碼管顯示原理如下。led有段碼和位碼之分,所謂段碼就是讓led顯示出“8.”的八位數(shù)據(jù),一般情況下要通過(guò)一個(gè)譯碼電路,將輸入的4位2進(jìn)制數(shù)轉(zhuǎn)換為與led顯示對(duì)應(yīng)的8位段碼。位碼也就是led的顯示使能端,對(duì)于共陰級(jí)的led而言,低電平使能。要
35、讓4個(gè)led同時(shí)工作,顯示數(shù)據(jù),就是要不停的循環(huán)掃描每一個(gè)led,并在使能每一個(gè)led的同時(shí),輸入所需顯示的數(shù)據(jù)對(duì)應(yīng)的8位段碼。雖然8個(gè)led是依次顯示,但是受視覺(jué)分辨率的影響,看到的現(xiàn)象是4個(gè)led同時(shí)工作。多個(gè)數(shù)碼管動(dòng)態(tài)掃描顯示,是將所有數(shù)碼管的相同段并聯(lián)在一起,通過(guò)選通信號(hào)分時(shí)控制各個(gè)數(shù)碼管的公共端,循環(huán)點(diǎn)亮多個(gè)數(shù)碼管,并利用人眼的視覺(jué)暫留現(xiàn)象,只要掃描的頻率大于50hz,將看不到閃爍現(xiàn)象。由于本設(shè)計(jì)顯示溫度精確到一位小數(shù),故這個(gè)四合一數(shù)碼管只用最低三位,最低位顯示小數(shù)位,次地位顯示個(gè)位,然后是十位,如21.5,就表示攝氏溫度21.5度。硬件電路圖圖10如下。圖10 數(shù)碼管與單片機(jī)硬件電
36、路圖顯示模塊流程如圖11。圖11 led動(dòng)態(tài)顯示流程圖相關(guān)顯示子程序如下。void dis_temp(uint t) /顯示溫度數(shù)值函數(shù)t傳遞的是整型的溫度uchar i,j;for(j=10;j>0;j-)i=t/100; /除以100得到商,為溫度的十位display(2,i); /在第一個(gè)數(shù)碼管上顯示i=t%100/10; /100取余再除以10得到商,位溫度的個(gè)位display(1,i+10); /在第2個(gè)數(shù)碼管上顯示,有小數(shù)點(diǎn)i=t%100%10; /100取余再用10取余,為溫度的小數(shù)位 display(0,i); /在第3個(gè)數(shù)碼管上顯示2.3 nrf24l01無(wú)線發(fā)送模塊正
37、如前面所介紹,該模塊是挪威公司生產(chǎn)的nrf24l01在外圍電路優(yōu)化配置組成的。在下位機(jī)部分時(shí),其被置為發(fā)送模式。通過(guò)spi總線寫入數(shù)據(jù),數(shù)據(jù)傳輸高效可靠,并且具有自動(dòng)應(yīng)答和自動(dòng)再發(fā)射功能。芯片采用了增強(qiáng)式shockburst技術(shù),就是說(shuō)輸出功率和通信頻道可通過(guò)設(shè)置軟件程序進(jìn)任意行配置。模塊中nrf24l01和89c52 p1口連接(如圖12),單片機(jī)接11.0592mhz的晶振工作,低速的單片機(jī)就能夠很好地控制高速收發(fā)的射頻芯片,硬件結(jié)構(gòu)如圖12所示。圖12 無(wú)線收發(fā)模塊硬件原理圖從設(shè)計(jì)中單片機(jī)控制的角度來(lái)看,我們只需要關(guān)注圖11的六個(gè)控制和數(shù)據(jù)信號(hào)。csn,芯片的片選線,csn為低電平芯片工
38、作。sck,芯片控制的時(shí)鐘線(spi時(shí)鐘)。miso,芯片控制數(shù)據(jù)線(master input slave output)。mosi,芯片控制數(shù)據(jù)線(master output slave input)。irq,中斷信號(hào)。無(wú)線通信過(guò)程中mcu主要是通過(guò)irq與nrf24l01進(jìn)行通信。ce,芯片的模式控制線。在csn為低的情況下,ce協(xié)同nrf24l01的config寄存器共同決定nrf24l01的狀態(tài)。該模塊發(fā)送模式的工作流程如13所示。圖13 發(fā)送模式流程圖相關(guān)發(fā)送模塊子程序如下。void init_nrf24l01(void) inerdelay_us(100); ce=0; csn=1
39、; sck=0; spi_write_buf(write_reg + tx_addr, tx_address, tx_adr_width); spi_write_buf(write_reg+rx_addr_p1,rx_address, rx_adr_width);spi_rw_reg(write_reg + en_aa, 0x03); spi_rw_reg(write_reg + en_rxaddr, 0x03); spi_rw_reg(write_reg + rf_ch, 0); spi_rw_reg(write_reg + rx_pw_p1, rx_pload_width); spi_rw
40、_reg(write_reg + rf_setup, 0x07); 3 上位機(jī)部分介紹3.1 無(wú)線接收模塊上位機(jī)上的接收模塊依然是采用硬件配置相同的nrf24l01。硬件電路與下位機(jī)部分的無(wú)線發(fā)送模塊相同,以保證有相同的配置參數(shù),便于理解也便于編程。nrf24l01初始化后的流程圖圖14如下。圖14 nrf24l01接收流程圖無(wú)線接收模塊相關(guān)程序如下。/*函數(shù):void setrx_mode(void)/*功能:數(shù)據(jù)接收配置 void setrx_mode(void)ce=0;spi_rw_reg(write_reg + config, 0x0f); / irq收發(fā)完成中斷響應(yīng),16位crc
41、ce = 1; inerdelay_us(130);3.2 上位機(jī)上的數(shù)據(jù)顯示pc機(jī)顯示外圍設(shè)備的方法很多,常用的軟件有windows自帶的vb、組態(tài)軟件、matlab等。本設(shè)計(jì)上位機(jī)軟件采用vb.net編寫。用vb.net開發(fā)串行通信程序普遍采用的方法有如下兩種:一種是利用windows的api函數(shù);另一種是采用vb.net的通訊控件serialport自行組建上位機(jī)顯示終端。由于利用api函數(shù)編寫串行通信程序較為復(fù)雜,需要調(diào)用許多繁瑣的api函數(shù),而vb.net的相關(guān)通訊控件提供了標(biāo)準(zhǔn)的事件處理函數(shù)、事件和方法,用戶不必了解通信過(guò)程中的底層操作和api函數(shù),從而可以比較容易、高效地實(shí)現(xiàn)串口
42、通信3。 下面是上位機(jī)顯示溫度數(shù)據(jù)的流程圖如圖15。圖15 上位機(jī)顯示流程圖4 模塊間的通信通信,是指主控單元與其他能實(shí)現(xiàn)控制功能的單元的數(shù)據(jù)交換和控制。在本系統(tǒng)中,涉及很多的通信,特別是還涉及到不同的通信方式。mcu與數(shù)碼管、ds18b20、nrf24l01模塊和上位機(jī)都有通信的實(shí)現(xiàn),都涉及數(shù)據(jù)的讀取或?qū)懭搿O旅婢瓦@些通信分部分做闡述。4.1 上位機(jī)與單片機(jī)的通信4.1.1 串口通信簡(jiǎn)介本系統(tǒng)中采用vb實(shí)現(xiàn)數(shù)據(jù)的在pc機(jī)端顯示。由于vb下的串行端口通信控件屏蔽了通信過(guò)程中的底層操作,程序員只需要控制mscomm控件的屬性和事件,結(jié)合vb提供的其他控件就可完成對(duì)rs-232串口的初始化和下位機(jī)
43、上溫度數(shù)據(jù)的發(fā)送接收并最終顯示。pc機(jī)和單片機(jī)的接口電平轉(zhuǎn)換芯片采用max232c,接口電路圖如圖15所示。單片機(jī)側(cè)的txd(發(fā)送端)接pc機(jī)的rxd(接收端),單片機(jī)側(cè)的rxd(接收端)接pc機(jī)的txd(發(fā)送端),兩者的gnd(地)直接相連。電纜線為9針的rs-232電纜。圖15中標(biāo)明了pc機(jī)側(cè)發(fā)送與接收腳的針號(hào),不能接錯(cuò)。單片機(jī)控制并檢測(cè)溫度,實(shí)時(shí)地通過(guò)rs-232串口將溫度數(shù)據(jù)傳送給pc機(jī)。pc機(jī)側(cè)在通過(guò)響應(yīng)oncomm事件后就能在事件的處理程序中將數(shù)據(jù)接收、處理再送文本框顯示,同時(shí)保存在設(shè)定的文件中,甚至上傳至網(wǎng)絡(luò)實(shí)現(xiàn)網(wǎng)絡(luò)共享。用mscomm控件在上位機(jī)上進(jìn)行串口通信的一般步驟如下。首
44、先設(shè)置通信對(duì)象、端口以及配置格式(比如數(shù)據(jù)位長(zhǎng)度、校驗(yàn)方式、起始位個(gè)數(shù)、停止位個(gè)數(shù)等)和其它相關(guān)屬性。再給兩端設(shè)定通信協(xié)議。然后打開通信端口,進(jìn)行數(shù)據(jù)的寫和讀入。最后要關(guān)閉通信端口,在完成串行通信操作后,將串行通信端口的資源歸還給操作系統(tǒng)。在本設(shè)計(jì)中采用一塊max3221芯片把從89c52傳過(guò)來(lái)的信號(hào)進(jìn)行電平轉(zhuǎn)換后輸出到pc,把從pc發(fā)過(guò)來(lái)的信號(hào)發(fā)送給usart。usart(universal synchronous/asynchronous receiver/transmitter)是指:同步/異步串行接收/發(fā)送器,usart是一個(gè)全雙工通用同步/異步串行收發(fā)模塊,該接口是一個(gè)高度靈活的串行
45、通信設(shè)備。設(shè)計(jì)中的rs-232接口電路如圖16所示。圖16 rs-232電平轉(zhuǎn)換電路其對(duì)應(yīng)的引腳圖如下表4-1。表4-1 9針串行口插針對(duì)應(yīng)關(guān)系表db9管腳號(hào)插針功能說(shuō)明標(biāo)記1接收線信號(hào)檢出dcd2接收數(shù)據(jù)rd3發(fā)送數(shù)據(jù)td4數(shù)據(jù)終端就緒dtr5信號(hào)地sg6數(shù)據(jù)傳輸設(shè)備就緒dsr7請(qǐng)求發(fā)送rts8允許發(fā)送cts9振鈴指示ri由圖15以及表4-1可以知道,接收使能en接地,時(shí)鐘有效;掉電模式控制腳forceoff始終拉高,即max3221始終處在工作狀態(tài)。at89c52的txd腳與max3221的11腳(din)相連,at89c52的rxd腳與max3221的9腳(rout)相連;輸入din的信
46、號(hào)轉(zhuǎn)換為rs-232電平后,經(jīng)max3221的13 腳(dout)輸出到j(luò)5(db9)的2腳(db9的2腳為串口的rxd腳),接口j5(db9)的3腳(串口的txd腳)與max3221的8腳(rin)相連,這樣的連接方式已將at89c52的輸出腳txd(本設(shè)計(jì)中at89c52的p3.6管腳)和輸入腳rxd(本設(shè)計(jì)中at89c52的p3.7管腳)連接對(duì)調(diào),可以直接通過(guò)延長(zhǎng)線與pc機(jī)相連。4.1.2 pc機(jī)側(cè)vb程序首先,在form中添加mscomm1通信控件,并將其屬性通過(guò)pc端程序作出如下設(shè)定。 with mscomm1.commport=1 &
47、quot;設(shè)置串行端口號(hào)為1" setting="2400,n,8,1" inputlen=2 "一次讀取2字節(jié)" inputmode=cominputmodebinary "二進(jìn)制數(shù)據(jù)格式" rthreshold=2 "接收緩沖區(qū)達(dá)到2字節(jié)時(shí)產(chǎn)生oncomm事件"其他為默認(rèn)值即可。 其次,在form窗口添加兩個(gè)定
48、時(shí)器timer1和timer2,timer1為每次采樣時(shí)間間隔計(jì)時(shí)器,初值interval=30000(1毫秒/interval,所以為30秒)。timer2是為保證串口出錯(cuò)或串口無(wú)信號(hào)時(shí)自動(dòng)跳出的,時(shí)間為1分鐘。在構(gòu)建好自己的溫度顯示終端時(shí)就可以等待下位機(jī)與pc的通信,并最終實(shí)現(xiàn)溫度的在線檢測(cè)。4.2 nrf24l01與單片機(jī)的通信如前面所述,nrf24l01模塊是采用spi總線技術(shù),實(shí)現(xiàn)數(shù)據(jù)在模塊和at89c52間的傳輸,也是微處理器控制該模塊的關(guān)鍵。下面先介紹這種通信方式。spi接口的英文名全稱是"serial peripheral interface",意思是串行外
49、圍接口,是摩托羅拉公司首先在自己的mc68hcxx系列微型處理器上開始定義的。當(dāng)前的spi接口廣泛地應(yīng)用在eeprom、flash等存儲(chǔ)器件還有ad上,甚至和數(shù)字信號(hào)解碼器也會(huì)涉及使用這樣的通信方式。spi接口能夠在cpu和外圍低速器件之間實(shí)時(shí)地實(shí)現(xiàn)同步串行數(shù)據(jù)傳輸,在主器件(微處理器、上位機(jī)等)的移位脈沖作用下,數(shù)據(jù)按位傳輸,高位在前,低位在后,通信方式為全雙工,在一些檢測(cè)中比通信還要快,速度可達(dá)到幾兆每秒。無(wú)線模塊引腳圖如圖17。圖17 nrf24l01引腳圖下面是spi接口各主要端腳的簡(jiǎn)介。(1)mosi主器件(2) miso主器件數(shù)據(jù)輸入,從器件(3)sclk由主器件產(chǎn)生。(4)nss
50、從器件使能信號(hào),由主器件控制,有的ic會(huì)標(biāo)注為cs(chip select)。在進(jìn)行的通信過(guò)程中,spi接口不需要做尋址操作,因?yàn)樯厦嬉呀?jīng)介紹全雙工通信,就會(huì)表現(xiàn)地簡(jiǎn)單高效。在多個(gè)從器件,即多個(gè)無(wú)線發(fā)送點(diǎn)向一個(gè)上位機(jī)傳輸數(shù)據(jù)的系統(tǒng)中,每個(gè)從器件需要獨(dú)立的使能信號(hào),硬件上比單個(gè)從系統(tǒng)要復(fù)雜一些。spi接口在內(nèi)部硬件實(shí)際上有兩個(gè)功能簡(jiǎn)單的,能夠傳輸?shù)亩M(jìn)制數(shù)據(jù)為8位,在主器件發(fā)出的選中從器件使能信號(hào)和移位脈沖同時(shí)作用下,按位傳輸,高位在前,低位在后,而且會(huì)在sclk的上升沿上數(shù)據(jù)改變,然后又由一位數(shù)據(jù)被同時(shí)存入中。4.3 ds18b20與單片機(jī)的通信ds18b20以單總線協(xié)議工作,單總線通信原理會(huì)
51、在接下來(lái)的部分詳細(xì)介紹。但是通常測(cè)溫分機(jī)首先要發(fā)送復(fù)位脈沖命令,使信號(hào)線上的 ds18b20芯片都被復(fù)位,接著發(fā)送對(duì)rom的操作命令,使ds18b20被激活并能夠進(jìn)入接收內(nèi)存訪問(wèn)命令。訪問(wèn)命令會(huì)完成溫度轉(zhuǎn)換和溫度讀取等工作。該系統(tǒng)中會(huì)以rom命令和存儲(chǔ)器命令兩種形式完成對(duì)ds18b20操作。rom操作命令均為8位,這些8位的命令代碼已經(jīng)被廣泛應(yīng)用,它們分別為:讀rom(代碼0x33h)、匹配rom(代碼0x55h)、跳過(guò)rom(代碼0xcch)、搜索rom(代碼0xfoh) 和告警搜索(代碼0xech)命令;ds18b20內(nèi)部的存儲(chǔ)器操作命令為:寫暫存存儲(chǔ)器(代碼0x4eh)、讀暫存存儲(chǔ)器 (
52、代碼0xbeh)、復(fù)制暫存存儲(chǔ)器(代碼0x48h)、溫度變換(代碼0x44h)、重新調(diào)出eeram(代碼0xb8h)以及讀電源供電方式(代碼0xb4h)命令。其對(duì)時(shí)序及電特性參數(shù)要求較高,必須嚴(yán)格按照它的時(shí)序要求去操作。ds18b20的數(shù)據(jù)讀寫由單片機(jī)來(lái)完成,包括初始化、讀數(shù)據(jù)和寫數(shù)據(jù)。系統(tǒng)軟件已經(jīng)廣泛采用了模塊化程序設(shè)計(jì),主從式結(jié)構(gòu)的通信方式。ds18b20初始化完成后處于監(jiān)聽狀態(tài),溫度采集模塊負(fù)責(zé)數(shù)據(jù)的采集工作。為保證ds18b20的嚴(yán)格i/o時(shí)序,需要作較精確的延時(shí)。在ds18b20的操作中,短時(shí)間延時(shí)是指10us以下的延時(shí),在c語(yǔ)言下采用若干個(gè)_nop_();指令即可。因c51編譯器能
53、夠?yàn)閐s18b20提供若干內(nèi)部調(diào)用函數(shù),其編譯結(jié)果就是在對(duì)應(yīng)位置實(shí)時(shí)嵌入一個(gè)nop匯編指令,所以短時(shí)間延時(shí)就可以利用_nop_()函數(shù)實(shí)現(xiàn)。如果是較長(zhǎng)時(shí)間延時(shí)的話,即指10us以上的延時(shí),在ds18b20操作中,用到的較長(zhǎng)時(shí)間延時(shí)常有15us、90us、270us、540us等。因這些延時(shí)均為15us的整數(shù)倍,因此也可編寫一個(gè)delayl5(n)函數(shù),并使它成為隨時(shí)能夠調(diào)用的延時(shí)子函數(shù),該函數(shù)就可以實(shí)現(xiàn)約15us*n的延時(shí)。根據(jù)ds18b20的通訊協(xié)議,主機(jī)控制ds18b20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟。每一次讀寫之前都要對(duì)ds18b20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條rom指令,最后發(fā)送ram指
54、令,這樣才能對(duì)ds18b20進(jìn)行預(yù)定的操作。5 系統(tǒng)調(diào)試系統(tǒng)調(diào)試,是指通過(guò)軟件與硬件的結(jié)合最終正確實(shí)現(xiàn)系統(tǒng)的功能,或者用其他方法驗(yàn)證設(shè)計(jì)等的正確。系統(tǒng)調(diào)試一般為如下步驟。首先,用程序編程軟件驗(yàn)證系統(tǒng)中子程序的正確可行;其次,去驗(yàn)證整體程序的可行性;再講子程序與硬件電路結(jié)合驗(yàn)證系統(tǒng)某個(gè)模塊的可行性與正確性;最后,將所有模塊結(jié)合實(shí)現(xiàn)系統(tǒng)所有的功能。下面是對(duì)本系統(tǒng)的部分調(diào)試過(guò)程及結(jié)果。5.1 ds18b20溫度采集并顯示ds18b20采集的數(shù)據(jù)能否被下位單片機(jī)識(shí)別并在led上顯示是本次設(shè)計(jì)的第一步,這一步不僅要求ds18b20能采集溫度并上傳至單片機(jī),還要去單片機(jī)能通過(guò)控制led數(shù)碼管顯示當(dāng)前溫度。
55、按硬件電路圖,ds18b20主要c程序如下:void display(uchar num,uchar dat) /數(shù)據(jù)顯示程序uchar i;p0=0; switch(num) case 0:i=0x0e;p2=i;break; case 1:i=0x0d;p2=i;break; case 2:i=0x0b;p2=i;break; default:break; p0=tabledat;p2=i;void dis_temp(uint t) /顯示溫度數(shù)值函數(shù)t傳遞的是整型的溫度uchar i,j;for(j=10;j>0;j-)i=t/100; /除以100得到商,為溫度的十位displa
56、y(2,i); /在第一個(gè)數(shù)碼管上顯示delay(4);i=t%100/10; /100取余再除以10得到商,位溫度的個(gè)位display(1,i+10); /在第2個(gè)數(shù)碼管上顯示,有小數(shù)點(diǎn)delay(4);i=t%100%10; /100取余再用10取余,為溫度的小數(shù)位 display(0,i); /在第3個(gè)數(shù)碼管上顯示調(diào)試結(jié)果如下圖18。圖18 led調(diào)試結(jié)果圖5.2 nrf24l01發(fā)送與接收模塊調(diào)試數(shù)據(jù)發(fā)送是本設(shè)計(jì)下位機(jī)部分的最后一個(gè)環(huán)節(jié),要能讓單片機(jī)將ds18b20采集的數(shù)據(jù)通過(guò)nrf24l01發(fā)送出去并在pc機(jī)端的單片機(jī)控制的nrf24l01接收。將相關(guān)發(fā)送和接收模塊程序?qū)懭雴纹瑱C(jī)后,通過(guò)主程序中的調(diào)用,實(shí)現(xiàn)溫度的無(wú)線傳輸,發(fā)送端和接收端除了nrf24l01的軟件設(shè)置工作模式和發(fā)送端有ds18b20接收端沒(méi)有以外,其他部分均相同。相關(guān)調(diào)試后結(jié)果如下圖19。圖19 無(wú)線發(fā)送接收調(diào)試結(jié)果圖6 總結(jié)本論文題目是無(wú)線溫度采集系統(tǒng),本系統(tǒng)總共涉及一下相關(guān)知識(shí)點(diǎn)。單片機(jī)引腳和單片機(jī)中斷控制,c語(yǔ)言,通信技術(shù)(一線總
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年消防設(shè)施檢測(cè)與維保服務(wù)合同5篇
- 2025年度安置房質(zhì)量保證合同書3篇
- 2025年水泥制品環(huán)保技術(shù)轉(zhuǎn)移合同3篇
- 2025年度高空墜落防護(hù)HSE施工安全協(xié)議3篇
- 二零二五年房產(chǎn)銷售代理與廣告宣傳協(xié)議3篇
- 二零二五年鮮活水產(chǎn)品運(yùn)輸與質(zhì)量監(jiān)管協(xié)議3篇
- 2025年度免租金停車場(chǎng)租賃合同模板
- 2025版棋牌室三方合作協(xié)議-創(chuàng)新管理與行業(yè)規(guī)范4篇
- 2025年污水處理站污水處理設(shè)施設(shè)備租賃與維修合同3篇
- 2025年度留學(xué)簽證擔(dān)保與資金證明服務(wù)合同3篇
- 公司組織架構(gòu)圖(可編輯模版)
- 1汽輪機(jī)跳閘事故演練
- 陜西省銅川市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 禮品(禮金)上交登記臺(tái)賬
- 普通高中英語(yǔ)課程標(biāo)準(zhǔn)詞匯表
- 北師大版七年級(jí)數(shù)學(xué)上冊(cè)教案(全冊(cè)完整版)教學(xué)設(shè)計(jì)含教學(xué)反思
- 2023高中物理步步高大一輪 第五章 第1講 萬(wàn)有引力定律及應(yīng)用
- 青少年軟件編程(Scratch)練習(xí)題及答案
- 浙江省公務(wù)員考試面試真題答案及解析精選
- 系統(tǒng)性紅斑狼瘡-第九版內(nèi)科學(xué)
- 全統(tǒng)定額工程量計(jì)算規(guī)則1994
評(píng)論
0/150
提交評(píng)論