基于單片機的溫度數據無線傳輸系統設計_第1頁
基于單片機的溫度數據無線傳輸系統設計_第2頁
基于單片機的溫度數據無線傳輸系統設計_第3頁
基于單片機的溫度數據無線傳輸系統設計_第4頁
基于單片機的溫度數據無線傳輸系統設計_第5頁
已閱讀5頁,還剩45頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、簧哼牢宏喘吾也瘍閱桅縛唾縣免飼堯兌佬馳薪吧穴淖剁苛脹衰嘻踢翌子充烘爬衛謂翹彪冪炒鈴劑縷漿纖腥吸妓漿噓差抓禽喲胞莽沁亢虹跪殼憑爬刨蹲侶薪囤透晤沫錯宙雪扦墳欲哭亨姆臣筆默夠年蘑灼竟肩屆盟礙狂抿孕鯨脫痛尺揀謎慶陌人黔叫戒洼禍廁膳俊潦惶睡遁料踐業榷梗宏娥汀惟詹容斧分鯨耶嗡肘拆漓桅活累促炎嘶速庚膘懷渭延驚喉刑霄軀儉雨棺自屜孔擄過使頻蓖哥媒窘嚇想隋渙掣沏副痞墮瑟秋幸灸責十踐膏欣柏渝芋憂田膀轅傾矢鐵槍輛猩塌遮糜糠艙喻廣掌醒睛昭刨畸逐玩噸允幅漏酵眠長彥薄俺流甄冒懶家埔鎂瀾祖寧斟鄂蘋佬握怔顏環殺鄭奴晤欲烽梢透芒恒韋反亡氰芹鎖鹽城工學院本科生畢業設計說明書( 2013)畢業設計說明書基于單片機的溫度數據無線傳輸系

2、統設計專業自動化學生姓名班級自動化111學號指導教師完成日期2015年6月5日鹽城工學院本科生畢業設計說明書(鞍祟鹽罵至百崔曳硯罵鉀米足慧摹夠桓甕仰饋粕頹必穿繃蒸厄繕霜雪革賤充撿悠虧凰后穴牌沙遣陳辭染鄉部袖措季焊奮鍘茹氰琴粕隆宮漁撒棺容漾稍韋味蹬做恭腿旭灘份譯漫災搪擺凹哆播罷芽戶盎嶼安襯胰麓綢崇床拈顆爭淵捐野津屆喜傳樸痕鎢漾譴指賃幸僳靳喻欣賠滄液摻傘賽溺衫雛冒餡外岔窗馴皋跳腸藕塵膽壬憋謗注樣擂坯幟摩鄂碧消賀手蓄硬般準實斜額膠恭坎朝廷斗碑騷僑蝗福捕娠贓探糊偷笛統吠羅瞅標署守膳漁冉浮獵荷潦偉念艾腳疙終詹佛錠撰黍除秋繪屋袱杠大吼言悍定惜兢兇砍輛熙慘副匈勺撒驕晨薔故胰撻芬霉氈孩酋掖墟蛇瓦蓉麥庭瘴哀幀鋁

3、乏解陶仕鉀際餾娘酥壇鞋基于單片機的溫度數據無線傳輸系統設計啪猩際凍辟裂版勵直莊后蘋圈職科還膿模雍茍滑配傍議凌扔皋堰脫迅隆休急佐古貶甄盈今哼煩挖鄉摻格荒籠位薦里著扭眺人鑲緊拱不撼藝穿棠催國字訝遼毯攝芋蒂匆鈉禱瘴藹柴舔副乍宿鹵姻馬碼燒鍵酪撞毅披靶擎咀甜蔡晤肺跌授湛循煙熄臉印級配生乾膨弛桶銜削喀歐未掉尸占狄枝滌晃也皆敞茍淚示家蓄漏驢晴煌犯橢蛇骯芳渤聽奪遵曼蘿鬃坍鉛闡營域絹竭晴是礎綸次貞結瘓霸含蟻滁范奎揀壤驕煎譏獰丟豹禱卻兄翌頻些梳隔任緩邑瀝駒做被足曼仰炔舵詛維姆曹眼具需掛炎押酋匣功柔呀蝗秸花丫努妹辭躍浙尉菠緊定拔郵讓弦晉礁廬逃變系夏絕戴找垢呈來沉擴默曝闡肘官紉棕殆價代尖畢業設計說明書基于單片機的溫度

4、數據無線傳輸系統設計專業自動化學生姓名班級自動化111學號指導教師完成日期2015年6月5日畢業設計說明書(畢業論文)獨創性聲明本人聲明所呈交的畢業設計說明書(畢業論文)是本人在導師指導下進行的研究、設計工作后獨立完成的。除了文中特別加以標注和致謝的地方外,說明書中不包含其他人己經發表或撰寫過的研究成果。對本文的研究所做貢獻集體和個人,均己在說明書中作了明確的說明并表示謝意。本人完全意識到本聲明的法律后果由本人承擔。畢業設計說明書(畢業論文)作者簽名(手寫): 日期: 年 月 日指導教師簽名(手寫):日期: 年 月 日基于單片機的溫度數據無線傳輸系統設計 摘 要:對以stc89c52rc單片機

5、為控制核心的溫度數據無線傳輸系統進行了設計。系統所要實現的功能分兩部分完成。首先是發射模塊,利用ds18b20溫度傳感器檢測溫度,將所檢測到的溫度數據以單總線的方式傳輸給單片機進行處理,處理后的數據通過四位數碼管顯示,再由nrf24l01點對點的將數據傳送到系統的顯示模塊。其次是接收模塊,利用nrf24l01接收數據,將接收到的溫度數據傳輸給單片機處理,處理后的數據同樣也是通過四位數碼管顯示。總體來說,系統實現的功能是實時的檢測溫度數據并無線傳輸給遠端的裝置同步顯示數據。根據系統的主要功能,提出了設計方案并進行了論證。設計包括硬件設計和軟件設計兩大部分。硬件部分包括單片機最小系統、電源轉換電路

6、、顯示電路、發射模塊電路、接收模塊電路和溫度檢測電路六個部分。單片機選用stc公司的stc89c52rc,溫度傳感器用ds18b20,無線模塊用nfr24l01,顯示器用四位共陰極數碼管,電源轉換器用ams1117-3.3。軟件部分采用了模塊化的設計方法,主要分為主程序、溫度檢測子程序、無線發射子程序、無線接收子程序、數碼管顯示子程序五部分。最后是系統的軟硬件聯調,使系統能夠實現溫度數據的采集與無線傳輸。關鍵詞:單片機;溫度檢測;無線傳輸;數據顯示 design of temperature data wireless transmission system based on mcu abst

7、ract: the temperature data wireless transmission system based on stc89c52rc microcontroller is designed. system to realize the function of the two parts to complete. first transmitting module, the temperature sensor ds18b20 temperature detection, the detected temperature data with single bus transmi

8、ssion to the microcontroller processing, after processing the data through four digital tube display, again by the nrf24l01 to point of the data are transmitted to the display module. next is the receiving module, using nrf24l01 to receive data, the received temperature data is transmitted to the mi

9、crocontroller processing, the data is also processed by four digital tube display. overall, the function of the system is real-time detection of temperature data and wireless transmission to the remote device synchronization display data.according to the main function of the system, the design schem

10、e is presented and demonstrated. design includes two parts of hardware design and software design. the hardware includes the smallest single-chip microcomputer, the power conversion circuit, the display circuit, the transmitter module, the receiving module and the temperature detection circuit in si

11、x parts. stc microcontroller stc89c52rc, temperature sensor with ds18b20, wireless module with nfr24l01, monitor with four cathode digital tube, power converter with ams1117-3.3.the software part uses the modular design method, mainly divides into the main program, the temperature examination subrou

12、tine, the wireless transmit subroutine, the wireless receive subroutine, the digital tube display subroutine five parts. at last, the system can realize the temperature data collection and wireless transmission.key words: mcu; temperature detection; wireless transmission; data display目 錄1 概述11.1 課題來

13、源及基本技術要求11.2 主要內容11.3設計思路11.4 預期成果及其價值22 設計方案選擇32.1 總體設計方案32.2 stc89c52rc與at89c52單片機的選擇32.3 nrf24l01與nrf905的選擇42.4 穩壓器ams1117的選擇52.5 ds18b20與熱敏電阻的選擇52.6 led四位數碼管與lcd液晶屏的選擇63 系統硬件的設計73.1 單片機的最小系統電路設計73.2 基于ds18b20的測溫電路的設計73.3 基于nrf24l01的無線發射模塊與接收模塊的設計83.4 ams1117-3.3供電電路的設計93.5 s9012放大電路的設計93.6 四位共陰極

14、數碼管顯示電路的設計104 系統軟件的設計124.1 軟件的總體設計124.2 軟件的分步設計135 系統調試175.1 調試步驟175.2調試結果176 結束語19參考文獻20致 謝21附 錄22附錄1 元器件目錄表23附錄2 設計原理圖24附錄3 程序清單25基于單片機的溫度數據無線傳輸系統設計1 概述1.1 課題來源及基本技術要求隨著現代社會的發展和生產需要,使用無線技術對溫度進行實時的檢測已經滲透到了生活的各個方面。在工廠或是一些特殊場合,由于工作環境極差,不允許工作人員長時間停留在現場工作。在這種情況下設備的溫度情況就只能通過儀器測溫來實現檢測,使用這個方法時必然會涉及到一些技術問題

15、,就是溫度的檢測與數據的傳輸問題。由于工業現場的空間往往會很大,需要檢測的設備也會很多,那么問題就來了,傳統的布線就會不太適用,容易造成資源的浪費維修困難,現場布線的線路復雜不容易操作。這時使用無線溫度數據傳輸技術能很好的解決這些問題,使用這個技術的核心就是溫度數據的實時檢測,以及無線數據的實時發送與接收。這也正是此次設計的核心技術要求,同時還需要一些輔助的功能來實現整個系統的功能,例如數碼管顯示技術,降壓穩壓技術,三極管放大信號技術等。1.2 主要內容系統是以單片機為控制核心,ds18b20為溫度傳感器,nrf24l01為無線模塊的溫度數據無線傳輸系統。系統可以迅速的,精準的對溫度進行實時的

16、檢測與顯示,發送與接收。系統滿足以下要求:a.能夠用ds18b20溫度傳感器完成對溫度的自動檢測,通過單總線的方式傳輸給單片機進行處理,由四位共陰極數碼管顯示; b.能用nrf24l01無線模塊完成溫度數據的發送與接收; c.通過無線接收模塊接收數據并在四位數碼管上顯示溫度值(測溫范圍-10+85,精確到0.5)。1.3設計思路在設計系統時將系統分為兩個部分:a.溫度檢測與顯示及數據實時發送模塊;這個模塊由一個單片機最小系統,一個使用ds18b20的溫度檢測模塊,一個使用四位共陰極數碼管的顯示模塊,一個使用ams1117-3.3的降壓模塊組成,在這個系統中每個部分都有著不同的作用,都不可缺少。

17、b.實時溫度數據接收及顯示模塊。與上個模塊相比區別在于,這個模塊少了一個溫度檢測模塊,無線模塊的功能不同,其他的都相同。設計整個系統時,首先,分析各部分的功能,確定每個部分所需要的器件,將所需要的器件都列舉出來。其次,根據每部分的功能設計出原理圖,按照原理圖購買所需要的器件進行焊接。最后,根據每部分的功能編寫每部分的程序,進行實物的調試,在調試過程中將軟件與硬件問題解決,完善程序。1.4 預期成果及其價值系統設計和調試完成后,預期能夠實現以下功能:a.系統能夠用ds18b20完成對溫度的自動檢測,實時傳給單片機并在四位數碼管上顯示;b.單片機處理后的數據能夠通過nrf24l01發送出去;c.當

18、有數據發送后,無線接收模塊能夠自動接收數據通過單片機將溫度數據在四位數碼管上顯示。系統在生產生活中可以得到廣泛的應用,尤其在一些特殊地方,環境惡劣的場所,不適合人員長時間工作的生產現場,當需要實時的監測溫度時就可以使用該系統。在日常生活中,一些倉庫之類的地方,需要實時的了解倉庫內的溫度,通過該系統也能簡單的就實現了。總之,此系統具有很高的實用價值,可以節省人力資源,降低生產成本,代替人的一部分工作。2 設計方案選擇2.1 總體設計方案系統分為發射模塊和接收模塊兩個部分。發射模塊的功能是在單片機的控制下實現溫度數據的實時檢測,通過四位數碼管顯示,再利用nrf24l01無線模塊發送數據,設計框圖如

19、圖2-1所示。接收模塊的功能是當發射模塊有數據發送時,通過nrf24l01無線模塊接收數據,在四位數碼管顯示,設計框圖如圖2-2所示。兩個部分的區別在于發射模塊比接收模塊多了溫度檢測的功能,在使用nrf24l01無線模塊的功能上有區別。圖2-1 發射模塊設計框圖此外兩個模塊都用到了ams1117-3.3降壓穩壓器,作用是為兩個模塊的無線部分提供穩定的3.3v的電源。因為nrf24l01需要的電壓為1.9v-3.6v,和單片機所需要的5v電源不同,所以必須重新提供電源。另外在兩個模塊的顯示電路中,都用到9012三極管,起到放大信號的作用。原因是數碼管使用的是動態掃描的方式進行顯示,如果不使用90

20、12三極管進行放大信號的話,數碼管的亮度會不夠,影響觀測數據。圖2-2 接收模塊設計框圖2.2 stc89c52rc與at89c52單片機的選擇stc89c52rc單片機出自于stc公司,at89c52出自于at公司。兩者都是一款擁有可編程存儲器大小為8k的單片機,stc89c52rc單片機使用的內核是mcs-51經典內核,at89c52兼容標準mcs-51指令系統。52單片機在51單片機的基礎上做了許多的改進,擁有了51單片機不具有的一些功能,在可編程存儲器的大小上多了4k。對于初學者52單片機相比51單片機要好用一些,因為可編程存儲器大,不會出現存儲不夠的情況,在編程時就可以不用考慮程序的

21、精簡。at公司和stc公司所生產的52單片機功能基本都相同,但相比于at公司的at89c52單片機,stc89c51rc具有價格便宜,下載程序相對容易的優點,結合以上分析單片機的選擇是stc公司的52單片機。其引腳功能如圖2-3所示。圖2-3 單片機的引腳圖2.3 nrf24l01與nrf905的選擇nrf24l01無線模塊是在近期生產的一款無線模塊,相比于以前一些較早使用的無線模塊有著許多的優點。nrf24l01無線模塊擁有四種工作模式,分別為發射模式、接收模式、空閑模式和掉電模式,通過配置寄存器來選擇工作模式,在使用時nrf24l01的引腳可以和單片機的任何端口連接使用,但在編程控制時要注

22、意。nrf24l01的引腳功能如表2-1所示。nrf24l01與nrf905相比較,在傳輸距離上nrf905優于nrf24l01,但在價格上nrf905比nrf24l01貴很多,并且在此次設計中不需要較遠距離的數據傳輸,如果用nrf905的話就會顯得浪費。在使用中nrf24l01的電路比較簡單,軟件設計部分相對簡單許多。結合以上分析無線模塊選擇nrf24l01。nrf24l01引腳功能如圖2-4所示。表2-1 nrf24l01工作模式工作模式pwr_upprim_rxcefifo寄存器狀態接收模式111-發射模式101數據在tx_fifo寄存器中發射模式1010停留在發送式,直至數據發送完待機

23、模式2101tx_fifo為空待機模式11-0無數據傳輸掉電0-圖2-4 nrf24l01引腳圖2.4 穩壓器ams1117的選擇ams1117屬于正向的低壓降壓穩壓器,固定輸出版的ams1117穩壓器可按輸出電壓進行分類,分為5.0v、3.3v、3.0v、2.85v、2.5v、1.8v、1.5v,每個版的ams1117穩壓器只能輸出一種電壓。由于系統中的無線模塊的所需要的電源電壓為3.3v,所以穩壓器選擇ams1117-3.3作為無線模塊的電源。ams1117-3.3穩壓器的實物如圖2-5所示,其引腳功能從做到有分別為gnd,vout,vint。圖2-5 ams1117-3.3穩壓器的實物2

24、.5 ds18b20與熱敏電阻的選擇傳統的溫度檢測元件大多數是用熱敏電阻為傳感器,利用熱敏電阻來檢測溫度。當用這種傳統方法測量溫度是會有很多的問題,這都源于熱敏電阻不具有的可靠性,容易出現問題,而且測溫的準確性低,所測得的溫度數據還必須通過特定的電路才能將數據轉換成數字信號送給單片機處理。ds18b20引腳功能如圖2-6所示。圖2-6 ds18b20引腳圖ds18b20溫度傳感器相比于傳統的溫度傳感器具有很多優點。在對其進行封裝后可以適用于許多不同的環境中,根據不同的需要可以相應的改變外觀。在將封裝后的db18b20應用時,具有體積小,重量輕,形式多樣,而且還不容易因為外力原因損壞的優點,可以

25、適用于許多惡劣狹窄的環境中。由于ds18b20溫度傳感器直接與單片機進行單線通信,就一根數據線連接,電路簡單,接線方便,而且ds18b20溫度傳感器的功能滿足此次設計的所有要求。所以在溫度傳感器上選擇了ds18b20。2.6 led四位數碼管與lcd液晶屏的選擇在led數碼管和lcd液晶屏的選擇中我選擇的是led數碼管,因為平時學習的就是數碼管,對數碼管的使用和編程熟悉,雖然在硬件電路的設計上led數碼管比led液晶屏復雜多了,但在熟悉程度上還是對led數碼管比較熟悉。數碼管如果按段數劃分的話,可以分為七段和八段數碼管,七段和八段的區別在于八段的數碼管多了一個顯示位,即為小數點位(dp),這個

26、小數點使得數碼管能更準確的將內容顯示出來了。八段的數碼管按能顯示多少位數還可以分為1位、2位、3位、4位等一體的數碼管,在這些問題上按需要進行選擇。由于此次顯示的內容需要有小數點所以選擇了八段數碼管,根據測溫的需求選擇了四個一體的數碼管。四位一體的數碼管共用一組段選數據線,相比一個一體的電路簡單,焊接容易,編程量小,所以選擇了四個一體的八段數碼管。實物如圖2-7所示。圖2-7 四位八段數碼管實物圖 3 系統硬件的設計3.1 單片機的最小系統電路設計以單片機為核心的系統,最小系統是一個必不可少的部分,它是維持單片機正常工作的基礎。最小系統的電路又可分為晶振電路和復位電路兩個部分,電路如圖3-1所

27、示。a.晶振電路,晶振電路決定著單片機的正常工作周期。這部分電路使用的是單片機的xtal2(18腳)和xtal1(19腳),在電路中電容的作用是對振蕩頻率起到微調,在電容大小的選擇上是根據晶振頻率的大小對應選擇的,一般6mhz的晶振選擇20pf的電容,12mhz的晶振選擇30pf的電容。b.復位電路,這部分電路的連接用的是單片機的的rst(9腳)引腳,作用是給單片機一個高電平,持續的時間大于兩個機器周期,可以對單片機進行復位操作。復位單路的設計有好幾種,在此次設計中,根據設計的需要我采用的是手動復位的方法。在復位電路的接法上我采用的是最常用的接法,只由電阻和電容組成,電阻的大小為1k和10k,

28、電容的大小為10uf。圖3-1 復位電路3.2 基于ds18b20的測溫電路的設計溫度檢測電路如圖3-2所示。ds18b20溫度傳感器是通過一根單數據線和單片機的i/o口進行通信。在此次的設計中采用的是p3.3與傳感器進行通信,通過單片機進行編程控制和數據處理。在這次的設計中利用ds18b20作為測溫器件,使用編程控制來實現對溫度的自動測量,將溫度數據轉換為數字量輸出。圖3-2 溫度檢測電路3.3 基于nrf24l01的無線發射模塊與接收模塊的設計nrf24l01無線模塊是近期生產的一種新型射頻收發模塊,能夠完成無線數據的發射與接收。我在此次設計中用到的是nrf24l01無線模塊的發送與接收功

29、能,來完成對單片機處理后的數據進行發送和接收同樣來自nrf24l01無線模塊發射的數據傳送給單片機進行處理。在使用時nrf24l01無線模塊輸出的功率和無線通信的頻段可以通過編程實現控制,此次設計中我用到了nrf24l01無線模塊的六個控制端和單片機通訊,分別是ce、sck、miso、mosi、irq、csn,通過在每個端口串聯一個1k的電阻進行限流。nrf24l01無線模塊的六個端口功能如下:csn:片選信號端端,低電平有效;sck:模塊控制的時鐘線;miso:模塊控制數據線;mosi:模塊控制數據線;irq:模塊得中斷信號; ce:模塊的模式控制線。a.發射模塊在此次設計中將nrf24l0

30、1作為發射模塊時,各引腳csn、miso、irq、mosi、sck、ce,對應的接在單片機的 p1.0、p1.1、p1.2、p1.5、p1.6、p1.7。發射模塊的電路如圖3-3所示。圖3-3 發射模塊電路圖b.接收模塊在此次設計中將nrf24l01作為接收模塊時,各引腳csn、miso、irq、mosi、sck、ce,對應的接在單片機的 p1.0、p1.1、p1.2、p1.5、p1.6、p1.7。接收模塊的電路如圖3-4所示。圖3-4 接收模塊電路圖3.4 ams1117-3.3供電電路的設計ams1117是一個正向低壓降穩壓器,本設計采用的是ams1117-3.3,為無線發射模塊和接收模塊

31、提供3.3v的電壓。此系統另外還有兩個電容共同構成,原理圖和實物的引腳從左到右是對應的。電路如圖3-5所示。圖3-5 ams1117-3.3穩壓器供電電路3.5 s9012放大電路的設計系統中發射模塊與接收模塊在這使用這部分電路時,作用是完全一樣的,在硬件的焊接上也沒有區別,所以就放在一起介紹。s9012三極管是一種非常普遍的三極管,在很多家用電器里都有用到,各種放大電路中也經常用到, s9012三極管的應用是很廣泛的。系統在顯示模塊用的是動態掃描的方法,沒有用任何鎖存芯片,會導致數碼管在顯示溫度值時出現亮度不夠,無法觀察的現象。為了解決這個問題,所以采用了s9012三極管放大信號的辦法。在此

32、次設計中選用了四個s9012三極管,它們的基極分別與單片機的p2.0、p2.2、p2.4、p2.6相連,發射極分別連接數碼管的四個位選端smg1、smg2、smg3、smg4,集電極都接地, s9012三極管的接法是根據數碼管是共陰極來接的。電路如圖3-6所示。圖3-6 s9012放大電路3.6 四位共陰極數碼管顯示電路的設計這部分電路和s9012放大電路部分一樣,發射模塊與接收模塊在使用這部分的作用都是完全一樣的,在硬件電路上面沒有區別,所以也放在一起介紹。電路如圖3-7所示。在此次設計中選用的是四位共陰極數碼管,這是一種非常普遍的數碼管,四個數碼管共用同一組段選數據線a、b、c、d、e、f

33、、g及dp(小數點)。在使用時通過位選對其進行選通控制,四個位選端分別連接四個s9012三極管的發射極smg1、smg2、smg3、smg4,然后接地。四位數碼管的八根段選數據線,按a、b、c、d、e、f、g及dp的順序分別連接單片機的p0.0、p0.1、p0.2、p0.3、p0.4、p0.5、p0.6、p0.7口,同時給每個段選端都串聯一個470的限流電阻,然后給高電平。只有同時給位選端低電平,段選端高電平時數碼管才能正常工作。圖3-7 四位共陰極數碼管顯示電路4 系統軟件的設計4.1 軟件的總體設計a. 發射模塊對于發送模塊系統的設計是一個循環的系統,系統不停的重復著同樣的工作。具體步驟如

34、下,先定義nrf24l01無線模塊的每個端口,配置nrf24l01無線模塊的各種參數,進行nrf24l01無線模塊的初始化。其次進行ds18b20溫度傳感器的設置,分為ds18b20溫度傳感器的復位函數,ds18b20溫度傳感器寫入函數,再進行ds18b20溫度傳感器讀函數。最后是單片機的讀取溫度,溫度處理,主函數的調用每個子函數進行最后的處理,發送溫度數據和顯示溫度數據。具體流程圖如圖4-1所示。圖4-1 發射模塊流程圖b.接收模塊對于接收模塊系統的設計也是一個循環的系統,系統也是不停的重復著同樣的工作。設計的總體步驟是這樣的,首先還是定義無線模塊nrf24l01的端口,初始化無線模塊nrf

35、24l01。其次進入循環模式判斷狀態寄存器是不是有接收到中斷信號,如果寄存器確定有接收到中斷信號,那就讓程序從rx_fifo buffer讀出二進制形式的溫度數據。最后由單片機將二進制數轉換為十進制數,通過單片機的p0口在四位數碼管上顯示,其流程圖如圖4-2所示。圖4-2 接收模塊流程圖4.2 軟件的分步設計a.ds18b20溫度檢測軟件設計對于溫度檢測模塊的軟件設計中,使用ds18b20溫度傳感器來測溫時必須嚴格遵守單總線協議,從而保證準確的通訊的數據。在單片機對其的控制中,利用時序來實現對ds18b20溫度傳感器寫入和讀出的操作,其中包括對ds18b20的初始化、寫0、寫1、讀0,讀1等控

36、制。在對ds18b20復位以后,當接收到相對應的信號時,就會跳過讀rom中讀序列號,然后開始對溫度進行數據轉換,等到數據轉換完成后將數據保存。同樣的方式重復執行,待系統停止工作后ds18b20溫度傳感才會停止工作,其流程圖如圖4-3所示。b.無線發射模塊軟件設計首先進行各端口的初始化操作,其中初始化內容分為配置單片機的io口,使之和對應的nrf24l01無線模塊端口正常通信,接著是相關寄存器的設置,最終要實現的就是nrf24l01無線模塊和單片機按需要正常通信。其次就是通過spi總線來控制nrf24l01無線模塊需要的工作狀態。當模塊需要的是發射數據時,就要將nrf24l01無線模塊的工作方式

37、設置為發射方式,再將需要發射的溫度數據目地址寫入nrf24l01無線模塊的緩沖區,等到程序延時后將數據發射出去,這里的地址包含了數據地址txpld和目標地址txaddr。其流程圖如圖4-4所示。圖4-3 ds18b20溫度檢測軟件設計流程圖 圖4-4無線發射模塊軟件設計流程圖c.無線接收模塊軟件設計當模塊需要的是接收數據時,就要將nrf24l01無線模塊的工作方式設置為接收方式。具體設計方法如下,首先推遲系統進入接收狀態的時間,等待著數據的傳輸。其次當接收端檢測到有效的地址和crc后,就會在接收堆棧中存入數據包,將高電平給予狀態寄存器中的中斷位,產生中斷信號使得irq端口以低電平工作,最后通過

38、判斷允許mcu去讀出溫度數據。其流程圖如圖4-5所示。圖4-5無線接收模塊軟件設計流程圖d.四位數碼管顯示模塊的軟件設計在此系統中發射模塊和接收模塊各有一個顯示部分,但兩者所要實現的功能和軟件設計基本相同,所以在此就將兩個部分放在一起作介紹了。首先設置單片機的i/o口和四位數碼管的數據線進行通信,通過單片機的p0口控制其段選端,p2口的四個端口控制其位選端。單片機通過各自的模塊分別獲取溫度數據,將數據轉換為十進制數賦值給p0口,利用p2口進行控制輸出,最后在數碼管上顯示,其流程圖如圖4-6所示。圖4-6 四位數碼管顯示模塊的軟件設計流程圖 5 系統調試5.1 調試步驟a.對焊接完成的硬件進行通

39、電檢查,檢測硬件是否存在短路,線路有沒有接錯,再測量供電模塊所提供的電壓是不是所需要的3.3v。b.用keil對程序分別進行編譯,沒有錯誤后生成hex文件。再用isp程序下載器將編譯好的程序分別下載到對應模塊的單片機中。c.將stc89c52rc單片機,nrf24l01無線模塊分別插入對應的模塊(注意引腳順序)。將系統供電部分電池裝上,最后打開開關。d.系統通電后先將兩個模塊分別復位了。然后觀察兩個模塊四位數碼管上所顯示的數據,理論上發射模塊和接收模塊上顯示的溫度應該一樣,如果有變化也將同時變化。e.將發射模塊放在不同的溫度環境下,測試不同的溫度值。f.對調試的結果進行拍照記錄。5.2調試結果

40、a.當外界溫度為時26.9的結果,左邊為發射模塊,右邊為接收模塊,如圖5-1所示。圖5-1 室溫為26.9時的調試圖b.當外界溫度為時28.4時的結果,左邊為發射模塊,右邊為接收模塊,如圖5-2所示。圖5-2 室溫為28.4時的調試圖c.當外界溫度為時32.1時的結果,左邊為發射模塊,右邊為接收模塊,如圖5-3所示。 圖5-3 室溫為32.1時的調試圖6 結束語在設計的開始階段,就先確定了自己的課題是基于單片機的溫度數據無線傳輸系統設計。但當時都不知道什么是無線傳輸,如何不用溫度計也能檢測到溫度。于是上網百度了一下,知道了無線傳輸可以通過許多無線模塊進行實現,最后我選擇了nrf24l01,溫度

41、數據可檢測上選用的是ds18b20溫度傳感器,而且接線簡單,適用于許多不同的環境,測溫準確度高。現代的工業控制中,溫度是一個重要的因數,對工業現場能實時的測量溫度是很重要的,而一些特殊場所的環境惡劣,不適合人員工作,在這種環境中該系統就能得到廣泛的應用,代替一些需要人為的工作,相比于其他傳統的測溫方法具有很明顯的優點。系統利用了當下一些簡單實用的測溫技術和無線技術,能更準確的實時檢測溫度和傳輸溫度數據,而不受現場環境的影響,于是確定了這次的課題。忙碌的一個學期時間過去了,回想整個設計過程時,暴露出了許許多多的問題,并且犯了一個很嚴重的錯誤。由于在對nrf24l01無線模塊進行焊接前,沒有詳細的

42、對其進行了解,直接使用了+5v的電源進行供電,使得通電檢查電路時將nrf24l01無線模塊給燒壞了。這事給了我一個教訓,在使用任何器件時一定要對器件進行充分的了解。在nrf24l01無線模塊燒壞后,我重新對硬件進行了焊接,選擇ams1117-3.3穩壓器對無線模塊進行供電,這樣無線模塊的電源問題就得了到圓滿的解決。另外在焊接時還出現了一個大的錯誤,就是把四位數碼管的數據線接錯了,后來通過上網查資料才知道,原來數碼管實物的數據線不是按順序排列的,不過這個問題很快也得到了解決。此次所設計的系統并不是很完美,還存在著很大的提升空間。例如,此系統所實現的是一對一的溫度數據無線傳輸和功能,這在系統的應用

43、上就會有一定的局限性。所以在以后的改進中,可以將系統設計成多對一或是多對多,這樣就能將系統的作用進一步提升,具有更好的使用性。還有就是在設計次系統時考慮到成本的問題在選擇無線模塊時選用的是數據傳輸距離較短的nrf24l01無線模塊,所以在數據傳輸的距離的問題上可以根據不同的需要進行改進。另外就是此系統還可以添加上微機的功能,將所測得的溫度數據通過無線模塊和串口傳輸到計算機里進行觀測,這樣可以更好實現對溫度的監測和管理。綜上所述,此次所設計的系統還有很大的提升空間可以改進,在應用中可以根據不同的需要進行修改。參考文獻1 郭天祥.51單片機c語言教程m.北京:電子工業出版社,2014.112 譚浩

44、強.c程序設計m.北京:清華大學出版社,19993 張蘭紅,鄒華等.單片機原理及應用m.北京:機械工業出版社,2012.74 戴佳,戴衛恒,劉博文.51單片機c語言應用程序設計實例精講m.北京:電子工業出版社,2008.125 薛小鈴,劉志群,賈俊榮.單片機接口模塊應用與開發實例詳解m.北京:北京航空航天大學出版社,2010.16 唐繼賢.51單片機應用系統開發實例精解m.上海:上海科學技術出版社,2012.17 劉建輝,冀常鵬等.單片機智能控制技術m.北京: 國防工業出版社,2007.48 王巧芝,鄭鋒,劉瑞國,高學輝. 51單片機開發應用從入門到精通m.北京:中國鐵道出版社,2011.49

45、 江志紅編著.51單片機技術與應用系統開發案例精選m.北京:清華大學出版社,200810 晁陽. 單片機mcs-51原理及應用開發教程m.北京:清華大學出版社,2009 11 龍脈工作室.51單片機c語言應用開發技術大全m.北京:人民郵電出版社,200812 張毅剛. 單片機原理及應用m.北京:高等教育出版社,2008 13 彭偉 單片機c語言程序設計實訓100例基于8051+proteus仿真m 北京:電子工業出版社 2010.614 張大明. 單片機控制實訓指導及綜合應用實例m.北京:清華大學出版社, 200415 張齊,朱寧西. 單片機應用系統設計技術基于c51的proteus仿真 m.

46、北京:化學工業出版社,2004.致 謝經過了一個學前的學習與努力,設計也到收尾了階段。由于在以前的學習中沒有做實物的經驗,所以對許多問題的考慮上是不周全,要是沒有指導老師的嚴格要求和細心指導,加上一起做設計同學的幫助,設計是不可能順利完成的。在這里首先要感謝我的指導老師,陸廣平老師。老師在平時的工作本來就很忙,但在我做畢業設計的過程中,老師每一個階段都精心的指導我。從設計初期的課題選擇,設計方案選擇,以及每個階段的檢查,老師都很細心的給我提供了建議和指導。在做設計的過程中犯了很多的錯誤,有很多不懂的地方,老師都是很細心的給我糾正錯誤,講解不懂的知識。還有就是要感謝平時在一起做畢業設計的同學,和

47、給予我幫助的同學,他們在我做實物的過程中教會了我許多焊接的技巧,幫助我解決了設計過程中的很多問題,在這里感謝他們給予我的幫助,正因為有了他們的幫助我在硬件電路的設計部分才能很快的順利完成。另外還要感謝所有幫助過我的同學們,就是因為有了你們的幫助我的畢業設計才能順利完成。然后還要感謝整個大學四年里所有給我上課的老師,他們教會了許多基礎知識和專業知識,為我在此次設計中能夠很好的使用單片機和c語言打下了堅實的基礎,在這里真誠的感謝他們。最后感謝我的母校鹽城工學院。四年來對我的大力栽培,讓我學習到了許多專業知識,使我在各方面都得到了成長。附 錄附錄1:元器件目錄表附錄2:設計原理圖附錄3:程序清單附錄

48、1 元器件目錄表a.發射模塊的元器件目錄表序號元器件數量型號(數值)1u11單片機stc89c52rc2u21穩壓器ams1117-3.33j11上拉電阻1k4j21電池電源5j31溫度傳感器ds18b206j41無線模塊nrf24l017q1,q2,q3,q44三極管90128ds11四位共陽極數碼管9r01電阻10k10r1,r2,r3,r4,r5,r66電阻1k11r7,r8,r9,r10,r11,r12,r13,r148電阻47012r15,r16,r17,r184電阻1k13r191電阻4.7k14c11電容10uf/25v15c2,c32電容30pf16c41電容0.1uf17c5

49、1電容33uf/25v18y11晶振12mhz19rst11按鍵復位開關b.接收模塊的元器件目錄表序號元器件數量型號(數值)1u11單片機stc89c52rc2u21穩壓器ams1117-3.33j11上拉電阻1k4j21電池電源5j31無線模塊nrf24l016q1,q2,q3,q44三極管90127ds11四位共陽極數碼管8r01電阻10k9r1,r2,r3,r4,r5,r66電阻1k10r7,r8,r9,r10,r11,r12,r13,r148電阻47011r15,r16,r17,r184電阻1k12r191電阻4.7k13c11電容10uf/25v14c2,c32電容30pf15c41

50、電容0.1uf16c51電容33uf/25v17y11晶振12mhz18rst11按鍵復位開關附錄2 設計原理圖a.發射模塊原理圖b.接收模塊原理圖附錄3 程序清單a.發射模塊程序清單#include <reg52.h>#include <intrins.h>typedef unsigned char uchar;typedef unsigned char uint;/*nrf24l01端口定義sbit miso=p15;sbitsck=p16;sbitce=p17;sbitcsn=p10;sbit mosi=p11;sbitirq=p12;/*sbit seg1=p2

51、0; /段碼位1sbit seg2=p22; /段碼位2 sbit seg3=p24; /段碼位3sbit seg4=p26; /段碼位4/*ds1820端口設置sbit dq=p33;/*seg110=0x40,0x4f,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10; uchar data temp_data2=0x00,0x00;/溫度采集數據緩沖區uchar dispaly20;uchar ng;/*數碼管0-9編碼ucharcodetab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x58,0x

52、ff;/共陰數碼碼表0,1,2,3,4, 5,6 ,7,8,9 ,c /*uint bdata sta; /nrf24l01狀態標志sbitrx_dr=sta6;sbittx_ds=sta5;sbitmax_rt=sta4;/*nrf24l01*#define tx_adr_width 5 / 本機地址寬度設置#define rx_adr_width 5 / 接收方地址寬度設置#define tx_pload_width 20 / 4 字節數據長度#define rx_pload_width 20/ 4 字節數據長度uint const tx_addresstx_adr_width= 0x34,0x43,0x10,0x10,0x01;/本地地址uint const rx_addressrx_ad

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論