基于單片機(jī)的無(wú)線溫度檢測(cè)器的設(shè)計(jì).doc
《基于單片機(jī)的無(wú)線溫度檢測(cè)器的設(shè)計(jì).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)的無(wú)線溫度檢測(cè)器的設(shè)計(jì).doc(65頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、ANYANG INSTITUTE OF TECHNOLOGY本 科 畢 業(yè) 論 文 基于單片機(jī)的無(wú)線溫度檢測(cè)器的設(shè)計(jì)The Design of Wireless Temperature Detector Based on MCU院(部)名稱: 電子信息與電氣工程學(xué)院 專業(yè)班級(jí): 自動(dòng)化2009級(jí)2班 學(xué)生姓名: * 學(xué) 號(hào): 200902020005 指導(dǎo)教師姓名: * 指導(dǎo)教師職稱: 講師 2013年5月畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說(shuō)明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不
2、包含其他人或組織已經(jīng)發(fā)表或公布過(guò)的研究成果,也不包含我為獲得安陽(yáng)工學(xué)院及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過(guò)的材料。對(duì)本研究提供過(guò)幫助和做出過(guò)貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說(shuō)明并表示了謝意。作 者 簽 名: 日 期: 指導(dǎo)教師簽名: 日期: 使用授權(quán)說(shuō)明本人完全了解安陽(yáng)工學(xué)院關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝?、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉?jī)?nèi)容。作者簽名: 日 期: 目錄摘要Abs
3、tract第一章 緒論11.1 課題的背景和意義11.2 本課題的研究?jī)?nèi)容以及所完成的工作11.2.1 本課題的研究?jī)?nèi)容11.2.2 本課題所完成的具體工作2第二章 無(wú)線溫度檢測(cè)系統(tǒng)總體設(shè)計(jì)32.1 系統(tǒng)設(shè)計(jì)要求32.2 系統(tǒng)總體設(shè)計(jì)方案的確定32.2.1 數(shù)字溫度傳感器的選擇32.2.2 控制器的選擇42.2.3 無(wú)線收發(fā)模塊的選擇5第三章 硬件電路設(shè)計(jì)73.1 發(fā)射端73.1.1 溫度采集模塊73.1.2 控制單元STC89C52單片機(jī)93.1.3 電源模塊設(shè)計(jì)123.1.4 無(wú)線收發(fā)模塊NRF24L01電路設(shè)計(jì)123.1.5 時(shí)鐘振蕩電路設(shè)計(jì)133.1.6 復(fù)位電路設(shè)計(jì)133.2 接收端
4、143.2.1 蜂鳴器報(bào)警模塊設(shè)計(jì)143.2.2 鍵盤(pán)電路設(shè)計(jì)153.2.3 液晶顯示模塊設(shè)計(jì)15第四章 軟件程序設(shè)計(jì)184.1 程序流程圖184.1.1 主程序流程圖184.1.2 子程序流程圖194.2 無(wú)線收發(fā)模塊24L01的編程214.2.1 24L01編程的基本思路214.2.3 函數(shù)介紹224.3 軟件編譯與調(diào)試234.3.1 程序設(shè)計(jì)語(yǔ)言的選用234.3.2 KeilC51簡(jiǎn)介244.3.3 uVision4集成開(kāi)發(fā)環(huán)境244.3.4 軟件調(diào)試與結(jié)果25第五章 安裝與調(diào)試265.1 Altium Designer軟件265.2 電路板安裝與調(diào)試26結(jié)論27致謝28參考文獻(xiàn)29附錄
5、A 元件清單30附錄B 發(fā)射板原理圖31附錄C 接收板原理圖32附錄D 發(fā)射板實(shí)物圖33附錄E 接收板實(shí)物圖34附錄F 發(fā)射板源程序35附錄G 接收板源程序44基于單片機(jī)的無(wú)線溫度檢測(cè)器的設(shè)計(jì)摘要:無(wú)線溫度檢測(cè)器是一種用于倉(cāng)庫(kù)和蔬菜大棚等具有溫度檢測(cè)、無(wú)線傳輸、溫度顯示和超限報(bào)警功能的儀器。系統(tǒng)由發(fā)送端和接收端兩部分組成。發(fā)送端將溫度傳感器檢測(cè)到的溫度值經(jīng)單片機(jī)進(jìn)行數(shù)據(jù)處理后,通過(guò)無(wú)線收發(fā)模塊無(wú)線發(fā)送,接收端將接收到的數(shù)據(jù)信息顯示在液晶屏上,并附加溫度限設(shè)置和超限報(bào)警功能。本設(shè)計(jì)利用軟件Keil進(jìn)行系統(tǒng)程序設(shè)計(jì),利用單片機(jī)學(xué)習(xí)板進(jìn)行硬件仿真,待仿真成功后進(jìn)行了實(shí)物制作和調(diào)試,最終成功設(shè)計(jì)出了無(wú)
6、線溫度檢測(cè)器。文中詳細(xì)介紹了溫度采集模塊、無(wú)線傳輸模塊、顯示模塊、溫度限設(shè)置模塊和報(bào)警電路的設(shè)計(jì)方法和過(guò)程。當(dāng)采樣點(diǎn)的溫度值超出規(guī)定值時(shí),系統(tǒng)通過(guò)報(bào)警電路提醒監(jiān)測(cè)人員。同時(shí),檢測(cè)人員可以通過(guò)鍵盤(pán)對(duì)具體報(bào)警點(diǎn)的溫度值進(jìn)行設(shè)置。另外,該系統(tǒng)溫度檢測(cè)具有較高的精度,無(wú)線數(shù)據(jù)傳輸穩(wěn)定,而且傳輸距離較遠(yuǎn)。關(guān)鍵詞:溫度檢測(cè);單片機(jī);無(wú)線傳輸The Design of Wireless Temperature Detector Based on MCUAbstract: wireless temperature detector is a kind of temperature detection used
7、 for warehouse and vegetables canopy, it has the function of display and wireless transmission and temperature overrun alarm. System consists of two parts, the sender and the receiver. The sender will be detected by temperature sensor temperature after single-chip microcomputer for data processing,
8、through the wireless transceiver modules, wireless sending and receiving end receives the data and information displayed on the LCD screen, and the additional temperature limit setting and transfinite alarm function. This design using the software of Keil to write system program, and using the micro
9、controller board to simulation hardware, we shall carry out physical production and debugging after the success of the simulation, and we designed the wireless temperature detector successfully in the end .This paper introduced the temperature acquisition module, wireless transmission module, displa
10、y module, temperature limit setting module and alarm circuit design method and process. The system through the alarm circuit to remind monitoring personnel when the data of temperature beyond the set value. At the same time, the testing personnel can through the keyboard to set specific alarm point
11、temperature. In addition, the temperature detection system has high precision, stable wireless data transmission, and the transmission distance is far.Keywords: temperature detection;Single chip microcomputer; Wireless transmission第一章 緒論1.1 課題的背景和意義隨著微電子技術(shù)、傳感器技術(shù)、嵌入式技術(shù)以及通信技術(shù)的飛速發(fā)展,數(shù)據(jù)采集和檢測(cè)系統(tǒng)得到了廣泛的應(yīng)用,用于
12、檢測(cè)各種參數(shù)的儀表也越來(lái)越多。這些儀表種類繁雜,分布往往比較分散,這些儀表實(shí)時(shí)采集數(shù)據(jù)的工作量也越來(lái)越大。如何高效率、低成本地采集這些離散的數(shù)據(jù)是迫切需要解決的科技難題。對(duì)于許多檢測(cè)現(xiàn)場(chǎng),由于需要檢測(cè)的范圍廣,檢測(cè)的對(duì)象種類繁多,需要投入大量的人力、物力進(jìn)行設(shè)備的維護(hù)和檢測(cè)工作。同時(shí),受現(xiàn)場(chǎng)環(huán)境和應(yīng)用對(duì)象的限制,存在著各種各樣的惡劣條件,使人們不易到現(xiàn)場(chǎng)長(zhǎng)時(shí)間的檢查采集一些數(shù)據(jù),如果這時(shí)進(jìn)行大量的布線工作則是不經(jīng)濟(jì)、不合理的。傳統(tǒng)的檢測(cè)系統(tǒng)造價(jià)昂貴,體積龐大,在電源供給困難的區(qū)域不易部署,同時(shí)布置一旦完畢,就很難根據(jù)檢測(cè)現(xiàn)場(chǎng)靈活改變布局,重新布置會(huì)帶來(lái)巨大的成本消耗,系統(tǒng)重用性差。因此,采用無(wú)
13、線檢測(cè)的方式來(lái)實(shí)現(xiàn)有很大的優(yōu)勢(shì),也是目前研究的熱點(diǎn)。為了適應(yīng)這種客觀需要,逐步出現(xiàn)了無(wú)線檢測(cè)技術(shù),應(yīng)用無(wú)線通信技術(shù)對(duì)離散的、不易布線區(qū)域的參數(shù)信息進(jìn)行監(jiān)視,以實(shí)現(xiàn)信息的遠(yuǎn)程測(cè)量、傳輸和調(diào)節(jié)等各項(xiàng)功能。無(wú)線檢測(cè)系統(tǒng)實(shí)現(xiàn)參數(shù)信息的實(shí)時(shí)、快速和有效檢測(cè),向人們提供了一個(gè)更高效、更全面,更快捷的服務(wù)模式,本論文以改變當(dāng)前滯后的檢測(cè)技術(shù),解決檢測(cè)中遇到的困難和難題為目標(biāo),利用無(wú)線檢測(cè)網(wǎng)絡(luò)的優(yōu)勢(shì),突破傳統(tǒng)檢測(cè)方法和思路,以高科技、新技術(shù)、低成本提高科學(xué)檢測(cè)水平,為檢測(cè)提供可靠科學(xué)的檢測(cè)數(shù)據(jù),使用無(wú)線檢測(cè)網(wǎng)絡(luò),一些布線和管理的難點(diǎn)都將迎刃而解,人力、物力、資金的使用也大幅減少。無(wú)線檢測(cè)系統(tǒng)具有不借助外部網(wǎng)絡(luò)
14、、快速安裝、抗毀性強(qiáng)等特點(diǎn),可以使人們?cè)谌魏螘r(shí)間、地點(diǎn)和任何環(huán)境條件下獲取大量的、可靠的數(shù)據(jù)信息。1.2 本課題的研究?jī)?nèi)容以及所完成的工作1.2.1 本課題的研究?jī)?nèi)容本課題研究的內(nèi)容是針對(duì)檢測(cè)領(lǐng)域的現(xiàn)狀,以及組建無(wú)線檢測(cè)系統(tǒng)的實(shí)際需要,提出了一種基于射頻通信技術(shù)的解決方案。研究和開(kāi)發(fā)一種新型無(wú)線檢測(cè)系統(tǒng)來(lái)實(shí)現(xiàn)傳感器的溫度數(shù)據(jù)采集和無(wú)線數(shù)據(jù)傳輸,從而達(dá)到檢測(cè)的目的。該系統(tǒng)可以快速、準(zhǔn)確地完成數(shù)據(jù)采集和管理,為智能化檢測(cè)提供了便利的條件。1.2.2 本課題所完成的具體工作本課題的研究?jī)?nèi)容是通過(guò)無(wú)線傳輸實(shí)現(xiàn)對(duì)檢測(cè)現(xiàn)場(chǎng)的溫度參數(shù)的實(shí)時(shí)采集。本課題所完成的具體工作:(1)完成系統(tǒng)的總體設(shè)計(jì),并根據(jù)設(shè)計(jì)要
15、求選取系統(tǒng)的主要功能模塊器件。(2)完成無(wú)線檢測(cè)系統(tǒng)的發(fā)射端和接收端的電路設(shè)計(jì),根據(jù)系統(tǒng)設(shè)計(jì)要求完成電源模塊、傳感器數(shù)據(jù)采集模塊、無(wú)線數(shù)據(jù)通信模塊、報(bào)警電路、鍵盤(pán)電路、時(shí)鐘振蕩電路和復(fù)位電路設(shè)計(jì)。(3)完成無(wú)線檢測(cè)系統(tǒng)程序設(shè)計(jì),程序設(shè)計(jì)采用C語(yǔ)言編程。(4)完成無(wú)線檢測(cè)系統(tǒng)的系統(tǒng)調(diào)試,對(duì)系統(tǒng)的數(shù)據(jù)可靠性、抗干擾能力、通信距離等方面進(jìn)行測(cè)試。第二章 無(wú)線溫度檢測(cè)系統(tǒng)總體設(shè)計(jì)2.1 系統(tǒng)設(shè)計(jì)要求根據(jù)本系統(tǒng)的應(yīng)用環(huán)境,總結(jié)系統(tǒng)的設(shè)計(jì)要求如下:(1)體積小。與傳統(tǒng)的溫度計(jì)相比,本課題設(shè)計(jì)的測(cè)溫系統(tǒng)的體積要盡可能的小,從而減少占用空間,而且更便于安裝和更換。(2)可靠性高。為了保證系統(tǒng)能夠正常工作,并且
16、盡可能減少測(cè)溫誤差,要求接收端與發(fā)送端之間的無(wú)線通信可靠。而系統(tǒng)環(huán)境的影響可能會(huì)有不確定的電磁干擾等,因此,系統(tǒng)要有一定的抗干擾能力。(3)低成本。無(wú)線測(cè)溫系統(tǒng)應(yīng)充分考慮其成本,在滿足系統(tǒng)要求的前提下,應(yīng)盡量降低成本,從而提高與同類產(chǎn)品的競(jìng)爭(zhēng)力。2.2 系統(tǒng)總體設(shè)計(jì)方案的確定本課題的研究?jī)?nèi)容是通過(guò)無(wú)線傳輸實(shí)現(xiàn)對(duì)檢測(cè)現(xiàn)場(chǎng)的溫度參數(shù)的實(shí)時(shí)采集。主要實(shí)現(xiàn)溫度采集、無(wú)線傳輸、超溫報(bào)警和溫度實(shí)時(shí)顯示功能。整個(gè)系統(tǒng)由溫度采集端和溫度接收端兩個(gè)部份組成,兩者之間通過(guò)無(wú)線信道通信。數(shù)據(jù)采集端負(fù)責(zé)數(shù)據(jù)的采集和發(fā)送,數(shù)據(jù)接收端負(fù)責(zé)數(shù)據(jù)的接收和處理。系統(tǒng)整體結(jié)構(gòu)框圖如圖2.1和圖2.2所示。圖2.1 溫度采集端圖2
17、.2 溫度接收端2.2.1 數(shù)字溫度傳感器的選擇隨著溫度傳感器智能化、集成化技術(shù)的進(jìn)步,數(shù)字式溫度傳感器也得到了快速發(fā)展,世界上許多公司推出了新型的數(shù)字溫度傳感器系列。這些產(chǎn)品的出現(xiàn)極大的豐富了設(shè)計(jì)工程師的選擇對(duì)象。在如此眾多的產(chǎn)品中選擇出合適的器件,應(yīng)該把握以下幾點(diǎn):外圍電路應(yīng)該盡量簡(jiǎn)單;測(cè)溫的精度、分辨率要合適,以便減少不必要的電路和軟件開(kāi)發(fā)成本;占用單片機(jī)的I/O引腳數(shù)情況如何;與單片機(jī)的通信協(xié)議應(yīng)盡量簡(jiǎn)單,溫度測(cè)量的軟件開(kāi)發(fā)難度、成本要盡量小。DSl8B20是美國(guó)Dallas半導(dǎo)體公司繼DSl820之后最新推出的一種改進(jìn)型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,它能夠直接讀出被測(cè)溫度并且
18、可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式。可以分別在93.75ms和750ms內(nèi)完成9位和12位的數(shù)字量讀取。它采用獨(dú)特的單總線接口方式,即允許在一條信號(hào)線上掛接數(shù)十甚至上百個(gè)數(shù)字式傳感器,從而使測(cè)溫裝置與各傳感器的接口變得十分簡(jiǎn)單,克服了模擬式傳感器與微機(jī)接口時(shí)需要的A/D轉(zhuǎn)換器及其它復(fù)雜外圍電路的缺點(diǎn),而且,可以通過(guò)總線供電,溫度變換功率來(lái)源于數(shù)據(jù)總線,總線本身也可以向所掛接的DSl8B20供電,而無(wú)需額外電源,由它組成的溫度測(cè)控系統(tǒng)非常方便,而且成本低、體積小、可靠性高。DSl8B20的測(cè)溫范圍-55+125,最高分辨率可達(dá)0.0625,由于每一個(gè)DSl8B20出廠時(shí)都刻
19、有唯一的一個(gè)序列號(hào)并存入其ROM中,因此CPU可用簡(jiǎn)單的通信協(xié)議就可以識(shí)別,從而節(jié)省了大量的引線和邏輯電路。由于DSl8B20具有獨(dú)特的單總線接口方式在測(cè)溫時(shí)有明顯的優(yōu)勢(shì),占用單片機(jī)的I/O引腳資源少,和單片機(jī)的通信協(xié)議比較簡(jiǎn)單,成本較低,而且具有負(fù)壓特性(電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,只是不能正常工作),和其他數(shù)字溫度傳感器相比,它更適合本系統(tǒng)。所以,選用DSl8B20作為溫度測(cè)量的傳感器。2.2.2 控制器的選擇目前使用最為廣泛的是51系列單片機(jī),其中STC89C52系列單片機(jī)是宏晶科技推出的新一代超強(qiáng)抗干擾/高速/低功耗的單片機(jī),是一款增強(qiáng)型51單片機(jī),完全兼容8051單片機(jī),
20、增加了新的功能,新增兩級(jí)中斷優(yōu)先級(jí),多一個(gè)外中斷,內(nèi)置EEPROM,看門狗,具有掉電模式,512B內(nèi)存,支持ISP在線編程,不用編程器,程序可擦寫(xiě)10萬(wàn)次,管腳完全兼容,性能更好,驅(qū)動(dòng)能力更強(qiáng),超強(qiáng)抗干擾能力,價(jià)格也比傳統(tǒng)的89系列低??紤]到快速開(kāi)發(fā)以及本系統(tǒng)的應(yīng)用要求,最后采用了最常用的STC89C52單片機(jī)。STC89C52單片機(jī)主要性能:(1)高速:1個(gè)時(shí)鐘/機(jī)器周期,增強(qiáng)型8051內(nèi)核,速度比普通8051快8到12倍。(2)寬電壓:5.54.IV/3.7V,3.6V2.4V/2.lV。(3)低功耗設(shè)計(jì):空閑模式(可由任意一個(gè)中斷喚醒)和掉電模式(可由任意一個(gè)外部中斷喚醒,可支持下降沿/
21、低電遠(yuǎn)程喚醒)。(4)工作頻率:035MHz,普通8051:0420MHz。(5)時(shí)鐘:外部晶體或內(nèi)部RC振蕩器可選,在ISP下載編程用戶程序時(shí)設(shè)置。(6)芯片內(nèi)EEPROM功能,擦寫(xiě)次數(shù)10萬(wàn)以上。(7)ISP/IAP,在系統(tǒng)可編程/在應(yīng)用可編程,無(wú)需編程器/仿真器。(8)2個(gè)16位定時(shí)器,兼容普通8051的定時(shí)器T0/T1。(9)硬件看門狗(WDT)。(10)全雙工異步串行口(UART),兼容普通8051,可當(dāng)2個(gè)串口使用。(11)先進(jìn)的指令集結(jié)構(gòu),兼容普通8051指令集,有硬件乘法/除法指令。2.2.3 無(wú)線收發(fā)模塊的選擇現(xiàn)在有很多射頻芯片可以用來(lái)完成無(wú)線數(shù)據(jù)傳輸。所有高頻元件包括電感、
22、振蕩器等已經(jīng)全部集成在芯片內(nèi)部,一致性良好,且性能不受外界干擾。通信模塊一般包含簡(jiǎn)單透明的數(shù)據(jù)傳輸協(xié)議或使用簡(jiǎn)單的加密協(xié)議,發(fā)射功率、工作頻率等,所有工作參數(shù)全部通過(guò)軟件設(shè)置完成,用戶不用對(duì)無(wú)線通信原理和工作機(jī)制有較深的了解,只要依據(jù)命令字進(jìn)行操作即可實(shí)現(xiàn)基本的數(shù)據(jù)無(wú)線傳輸功能。新一代短距離無(wú)線數(shù)據(jù)通信系統(tǒng)具有體積小、功耗低、穩(wěn)定性好、抗干擾能力強(qiáng)等優(yōu)點(diǎn),而且開(kāi)發(fā)簡(jiǎn)單快速,可以方便地嵌入到各種設(shè)備中,實(shí)現(xiàn)設(shè)備間的無(wú)線連接,因此,適合搭建小型網(wǎng)絡(luò),在工業(yè)、民用領(lǐng)域得到較為廣泛的應(yīng)用。由于無(wú)線收發(fā)芯片的種類和數(shù)量比較多,如何設(shè)計(jì)中選擇所需要的芯片是非常關(guān)鍵的,正確的選擇可以少走彎路,降低成本。下面
23、是選擇無(wú)線收發(fā)芯片的原則:(1)收發(fā)芯片的數(shù)據(jù)傳輸是否需要進(jìn)行曼徹斯特編碼采用曼徹斯特編碼的芯片,在編程上會(huì)需要較高的技巧和經(jīng)驗(yàn),需要更多的內(nèi)存和程序容量,并且曼徹斯特編碼大大降低數(shù)據(jù)傳輸?shù)男?,一般僅能達(dá)到標(biāo)稱速率的1/3。而采用串口傳輸?shù)男酒瑧?yīng)用及編程非常簡(jiǎn)單,傳送的效率很高,標(biāo)稱速率就是實(shí)際速率,因?yàn)榇趯?duì)大家來(lái)說(shuō)是再熟悉不過(guò)的了,編程也很方便。(2)收發(fā)芯片所需的外圍元件數(shù)量芯片外圍元件的數(shù)量直接決定你的產(chǎn)品的成本,因此應(yīng)該選擇外圍元件少的收發(fā)芯片。有些芯片似乎比較便宜,可是外圍元件使用很多昂貴的元件如變?nèi)莨芤约奥暠頌V波器等;有些芯片收發(fā)分別需要兩根天線,會(huì)大大加大成本。(3)功耗大
24、多數(shù)無(wú)線收發(fā)芯片是應(yīng)用在便攜式產(chǎn)品上的,因此功耗也非常重要,應(yīng)該根據(jù)需要選擇綜合功耗較小的產(chǎn)品。(4)發(fā)射功率在同等條件下,為了保證有效和可靠的通信,應(yīng)該選用發(fā)射功率較高的產(chǎn)品。但是也應(yīng)該注意,有些產(chǎn)品號(hào)稱的發(fā)射功率雖然較高,但是由于其外圍元件多,調(diào)試復(fù)雜,往往實(shí)際的發(fā)射功率遠(yuǎn)遠(yuǎn)達(dá)不到標(biāo)稱值。(5)收發(fā)芯片的封裝和管腳數(shù)較少的管腳以及較小的封裝,有利于減少PCB面積降低成本,適合便攜式產(chǎn)品的設(shè)計(jì),也有利于開(kāi)發(fā)和生產(chǎn)。綜合考慮以上五個(gè)原則,本課題中無(wú)線收發(fā)通信采用NRF24L01模塊。NRF24L01是NORDIC公司最近生產(chǎn)的一款無(wú)線通信芯片,采用FSK調(diào)制,內(nèi)部集成NORDIC自己的Enha
25、nced Short Burst協(xié)議??梢詫?shí)現(xiàn)點(diǎn)對(duì)點(diǎn)或是1對(duì)6的無(wú)線通信。無(wú)線通信速度可以達(dá)到2Mbps。NORDIC公司提供通信模塊的GERBER文件,可以直接加工生產(chǎn)。嵌入式工程師或是單片機(jī)愛(ài)好者只需要為單片機(jī)系統(tǒng)預(yù)留5個(gè)GPIO,1個(gè)中斷輸入引腳,就可以很容易實(shí)現(xiàn)無(wú)線通信的功能,非常適合用來(lái)為MCU系統(tǒng)構(gòu)建無(wú)線通信功能。第三章 硬件電路設(shè)計(jì)3.1 發(fā)射端無(wú)線溫度檢測(cè)器的溫度采集端由電源模塊、STC89C52單片機(jī)、溫度采集電路、無(wú)線發(fā)送模塊NRF24L01、時(shí)鐘電路及復(fù)位電路組成。溫度采集端硬件框圖如圖3.1所示。圖3.1 溫度采集端硬件框圖3.1.1 溫度采集模塊1. DSl8B20內(nèi)
26、部結(jié)構(gòu)DSl8B20芯片的內(nèi)部結(jié)構(gòu)如圖3.2所示。圖3.2 DS18B20內(nèi)部結(jié)構(gòu)圖2. DSl8B20有4個(gè)主要的數(shù)據(jù)部件:(1)64位激光ROM。64位激光ROM從高位到低位依次為8位CRC、48位序列號(hào)和8位家族代碼(28H)。(2)溫度靈敏元件。(3)非易失性溫度報(bào)警觸發(fā)器TH和TL。可通過(guò)軟件寫(xiě)入用戶報(bào)警上下限值。(4)配置寄存器。配置寄存器為高速暫存存儲(chǔ)器中的第五個(gè)字節(jié)。DSl8B20在工作時(shí)按此寄存器中的分辨率將溫度轉(zhuǎn)換成相應(yīng)精度的數(shù)值,其各位定義如表3.1所示。表3.1 DS18B20配置寄存器模式設(shè)置表TMR1R011111其中,TM:測(cè)試模式標(biāo)志位,出廠時(shí)被寫(xiě)入0,不能改變
27、;R0、Rl:溫度計(jì)分辨率設(shè)置位,其對(duì)應(yīng)四種分辨率表3.2所列,出廠時(shí)R0、Rl置為缺省值:R0=1, R1=1(即12位分辨率),用戶可根據(jù)需要改寫(xiě)配置寄存器以獲得合適的分辨率。配置寄存器與分辨率關(guān)系如表3.2所示。表3.2 配置寄存器與分辨率關(guān)系表R0R1溫度計(jì)分辨率/bit最大轉(zhuǎn)換時(shí)間/us00993.750110187.5101137511127503. 高速暫存存儲(chǔ)器高速暫存存儲(chǔ)器由9個(gè)字節(jié)組成,其分配如表3.3所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲(chǔ)器的第1和第2個(gè)字節(jié)。單片機(jī)可通過(guò)單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式如表3
28、.3所示。對(duì)應(yīng)的溫度計(jì)算:當(dāng)符號(hào)位S=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時(shí),先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制值。表3.3 DS18B20存儲(chǔ)器映像表溫度低位溫度高位THTL配置保留保留保留8位CRC4. 對(duì)DSl8B20的設(shè)計(jì),需要注意以下問(wèn)題:(1)對(duì)硬件結(jié)構(gòu)簡(jiǎn)單的單線數(shù)字溫度傳感器DSl8B20進(jìn)行操作,需要用較為復(fù)雜的程序完成。編制程序時(shí)必須嚴(yán)格按芯片數(shù)據(jù)手冊(cè)提供的有關(guān)操作順序進(jìn)行,讀、寫(xiě)程序要嚴(yán)格按要求編寫(xiě)。尤其在使用DSl8B20的高測(cè)溫分辨力時(shí),對(duì)時(shí)序及電氣特性參數(shù)要求更高。 (2)測(cè)溫電纜線建議采用屏蔽4芯雙絞線,其中一對(duì)線接地線與信號(hào)線,另一組接VCC和地線,屏蔽層在源端
29、單點(diǎn)接地。DSl8B20在三線制應(yīng)用時(shí),應(yīng)將其三線焊接牢固;在兩線應(yīng)用時(shí),應(yīng)將VCC與GND接在一起,焊接牢固。若VCC脫開(kāi)未接,傳感器只送85.0的溫度值。5. DSl8B20與STC89C52的連接電路圖如圖3.3所示。DSl8B20與單片機(jī)的P3.0口相連。圖3.3 DSl8B20與STC89C52連接電路原理圖3.1.2 控制單元STC89C52單片機(jī)1. STC89C52單片機(jī)的特點(diǎn)單片機(jī)是在一塊硅片上集成了各種部件的微型機(jī),這些部件包括中央處理器CPU、數(shù)據(jù)存儲(chǔ)器RAM、程序存儲(chǔ)器ROM、定時(shí)器/計(jì)數(shù)器和多種I/O接口電路。STC89C52單片機(jī)的基本結(jié)構(gòu)如圖3.4所示。圖3.4
30、STC89C52單片機(jī)的基本結(jié)構(gòu)2. STC89C52單片機(jī)的引腳及功能STC89C52單片機(jī)的管腳分布如圖3.5所示。圖3.5 STC89C52單片機(jī)的管腳圖STC89C52的I/O端口:P0口:P0口是一個(gè)8位漏極開(kāi)路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫(xiě)“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時(shí),P0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。 P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器
31、能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P1 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX)。在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。 引腳第二功能 P1.0/T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入) P1.1/T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制) P1.5/MOSI(在系統(tǒng)編程用) P1.6/MISO(在系統(tǒng)編程用) P1.7/SCK(在系統(tǒng)編程用)
32、P2口:P2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P2端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問(wèn)外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器時(shí),P2 口送出高8位地址。在這種應(yīng)用中,P2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。 P3口:P3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P3輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P
33、3端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 P3口亦作為STC89C52特殊功能(第二功能)使用。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。 引腳 第二功能P3.0/RXD(串行輸入口)P3.1/TXD(串行輸出口)P3.2/INT0(外中斷0)P3.3/INT1(外中斷1)P3.4/T0(定時(shí)/計(jì)數(shù)器0)P3.5/T1(定時(shí)/計(jì)數(shù)器1)P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)此外,P3口還接收一些用于flash閃存編程和程序校驗(yàn)的控制信號(hào)。RST:復(fù)
34、位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問(wèn)外部程存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。對(duì)flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)
35、設(shè)置ALE禁止位無(wú)效。PSEN:程序儲(chǔ)存允許 PSEN輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)STC89C52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN信號(hào)。EA/VP:外部訪問(wèn)允許 欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器,EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。3.1.3 電源模塊設(shè)計(jì)本次設(shè)計(jì)的電源模塊采用USB接口將220V交流電轉(zhuǎn)換為5V的直流電,從而為整個(gè)系統(tǒng)供電。電源模塊設(shè)計(jì)中增加了綠色LED指示燈,指示電源的通斷。電源模塊設(shè)計(jì)如圖3.6所示。圖3.6
36、電源模塊電路連接圖3.1.4 無(wú)線收發(fā)模塊NRF24L01電路設(shè)計(jì)無(wú)線收發(fā)模塊NRF24L01的各引腳與單片機(jī)的P1口相連,電路連接圖如圖3.7所示。圖3.7 無(wú)線收發(fā)模塊NRF24L01與單片機(jī)的電路連接圖無(wú)線收發(fā)模塊NRF24L01引腳功能:CSN(P1.1):芯片的片選線,CSN 為低電平芯片工作。SCK(P1.2):芯片控制的時(shí)鐘線(SPI 時(shí)鐘)。MISO(P1.4):芯片控制數(shù)據(jù)線(Master input slave output)。MOSI(P1.3):芯片控制數(shù)據(jù)線(Master output slave input)。IRQ(P1.5):中斷信號(hào)。無(wú)線通信過(guò)程中MCU主要是
37、通過(guò)IRQ與NRF24L01進(jìn)行通信。CE(P1.0):芯片的模式控制線。在CSN為低的情況下,CE協(xié)同NRF24L01的CONFIG寄存器共同決定NRF24L01的狀態(tài)。3.1.5 時(shí)鐘振蕩電路設(shè)計(jì)XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時(shí),外部振蕩信號(hào)應(yīng)直接加到XTAL1,而XTAL2懸空。內(nèi)部方式時(shí),時(shí)鐘發(fā)生器對(duì)振蕩脈沖二分頻,如晶振為12MHz,時(shí)鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內(nèi)選擇。電容取30pf左右。STC89C52單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出
38、端。這個(gè)放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個(gè)自激振蕩器。外接晶體諧振器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對(duì)外接電容的值雖然沒(méi)有嚴(yán)格的要求,但電容的大小會(huì)影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,在焊接電路板時(shí),晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。本次時(shí)鐘電路設(shè)計(jì)采用內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路,晶體振蕩器選用12MHz,電容選用33pf。時(shí)鐘振蕩電路如圖3.8所示。圖3.8 時(shí)鐘振蕩電路連接圖 3.1.6 復(fù)位電路設(shè)計(jì)在振蕩器運(yùn)行時(shí),有兩個(gè)機(jī)器周期(24個(gè)振蕩
39、周期)以上的高電平出現(xiàn)在此引腳時(shí),將使單片機(jī)復(fù)位,只要這個(gè)腳保持高電平,單片機(jī)便循環(huán)復(fù)位。復(fù)位后P0P3口均在引腳表現(xiàn)為高電平,程序計(jì)數(shù)器和特殊功能寄存器全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r(shí),芯片從ROM的00H處重新開(kāi)始執(zhí)行程序。復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式,本設(shè)計(jì)采用按鈕復(fù)位電路。復(fù)位電路圖如圖3.9所示。圖3.9 復(fù)位電路連接圖3.2 接收端無(wú)線溫度測(cè)量器的溫度接收端由電源模塊、STC89C52單片機(jī)、液晶顯示電路、無(wú)線收發(fā)模塊NRF24L01、鍵盤(pán)電路、報(bào)警電路、時(shí)鐘電路及復(fù)位電路組成。其中電源模塊、STC89C52單片機(jī)、無(wú)線收發(fā)模塊NRF24L01、時(shí)鐘電路和復(fù)
40、位電路與發(fā)射端相同。溫度接收端硬件框圖如圖3.10所示。圖3.10 溫度接收端硬件框圖3.2.1 蜂鳴器報(bào)警模塊設(shè)計(jì)報(bào)警電路由三極管,紅色LED指示燈和蜂鳴器和一個(gè)撥動(dòng)開(kāi)關(guān)組成。當(dāng)溫度檢測(cè)器正常工作時(shí),將撥動(dòng)開(kāi)關(guān)置于閉合狀態(tài)。當(dāng)實(shí)時(shí)溫度大于溫度限設(shè)定值時(shí)蜂鳴器發(fā)出聲響,同時(shí)紅色LED燈亮,當(dāng)實(shí)時(shí)溫度又低于溫度限設(shè)定值時(shí),蜂鳴器和紅色LED燈自動(dòng)停止。當(dāng)蜂鳴器報(bào)警時(shí),也可通過(guò)將撥動(dòng)開(kāi)關(guān)斷開(kāi)停止報(bào)警。蜂鳴器報(bào)警模塊設(shè)計(jì)如圖3.11所示。圖3.11 蜂鳴器報(bào)警模塊電路連接圖3.2.2 鍵盤(pán)電路設(shè)計(jì)本系統(tǒng)選擇使用獨(dú)立式按鍵。鍵盤(pán)電路由兩個(gè)按鍵與單片機(jī)P3口相連構(gòu)成,實(shí)現(xiàn)溫度限的設(shè)置功能。通電后,液晶屏
41、顯示設(shè)定溫度為Temp set:40。按下s1鍵,設(shè)定值加1,當(dāng)溫度設(shè)定值為99時(shí),再次按下s1鍵,設(shè)定值為0。按下s2鍵,設(shè)定值減1,當(dāng)溫度設(shè)定值為0時(shí),再次按下s2,設(shè)定值為99。鍵盤(pán)電路圖如圖3.12所示。圖3.12 鍵盤(pán)電路連接圖3.2.3 液晶顯示模塊設(shè)計(jì)1. LCD1602主要管腳介紹顯示模塊用于顯示實(shí)時(shí)溫度和設(shè)定溫度。這里采用1602液晶顯示屏,其主要參數(shù)為:顯示容量(16*2個(gè)字符)、芯片工作電壓(4.5-5.5V)和工作電流(2.0mA)。LCD1602共有16個(gè)引腳,各管腳的功能如表3.4所示。表3.4 LCD1602管腳功能介紹表引腳符號(hào)狀態(tài)功能1VSS輸入電源地2Vdd
42、輸入電源+5V3V0輸入對(duì)比度控制端4RS輸入寄存器選擇5R/W輸入讀、寫(xiě)操作6E輸入使能信號(hào)7DB0三態(tài)數(shù)據(jù)總線(LSB)8DB1三態(tài)數(shù)據(jù)總線9DB2三態(tài)數(shù)據(jù)總線10DB3三態(tài)數(shù)據(jù)總線11DB4三態(tài)數(shù)據(jù)總線12DB5三態(tài)數(shù)據(jù)總線13DB6三態(tài)數(shù)據(jù)總線14DB7三態(tài)數(shù)據(jù)總線(MSB)15LEDA輸入背光+5V16LEDK輸入背光地說(shuō)明:V0:液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,使用時(shí)可以通過(guò)一個(gè)10k的電位器調(diào)整對(duì)比度。RS:寄存器選擇,高電平時(shí)選擇數(shù)據(jù)存儲(chǔ)器,低電平時(shí)選擇指令寄存器。R/W:讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平進(jìn)行寫(xiě)操作。當(dāng)RS和R/W共同為
43、低電平時(shí)可以寫(xiě)入指令或者顯示地址;當(dāng)RS為高電平,R/W為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。E:使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。2. LCD1602控制指令LCD1602控制指令介紹表如表3.5所示。表3.5 LCD1602控制指令介紹表格式功能RSR/WDB7DB6DB5DB4DB3DB2DB1DB0清屏指令0000000001顯示開(kāi)關(guān)控制0000001DCB光標(biāo)、畫(huà)面移動(dòng)000000S/CR/L*功能設(shè)置00001DLNF*說(shuō)明:(1)清屏指令清屏指令的主要功能有:清除液晶顯示器的內(nèi)容,即DDRAM的內(nèi)容全部填入“空白”的ASCII碼20H;光標(biāo)歸位,即將光標(biāo)撤回液晶顯示屏的左
44、上方;將地址計(jì)數(shù)器(AC)的值設(shè)為0。(2)顯示開(kāi)關(guān)控制顯示開(kāi)關(guān)控制的功能是設(shè)置顯示、光標(biāo)及閃爍的開(kāi)、關(guān)等。其中:D表示顯示:1為開(kāi),0為關(guān);C表示光標(biāo):1為開(kāi),0為關(guān);B表示閃爍:1為開(kāi),0為關(guān)。(3)光標(biāo)及畫(huà)面移動(dòng)光標(biāo)及畫(huà)面移動(dòng)的功能是控制光標(biāo)、畫(huà)面的移動(dòng),不影響DDRAM。其中:S/C=1,畫(huà)面平移一個(gè)字符位;S/C=0,光標(biāo)平移一個(gè)字符位;R/L=1:右移;R/L=0:左移。(4)功能設(shè)置功能設(shè)置主要是對(duì)LCD1602的工作方式進(jìn)行設(shè)置。其中:DL=1,8位數(shù)據(jù)接口;DL=0,4位數(shù)據(jù)接口;N=1,兩行顯示;N=0,一行顯示;F=1,510點(diǎn)陣字符;F=0,57點(diǎn)陣字符。3. LCD1
45、602與單片機(jī)連接圖液晶顯示模塊設(shè)計(jì)如圖3.13所示。數(shù)據(jù)線DB0-DB7連接單片機(jī)的P0口;RS、R/W、E這3條控制線分別接單片機(jī)的P2.5、P2.6和P2.7口。電阻R3用來(lái)調(diào)節(jié)背光的亮度。圖3.13 LCD1602與單片機(jī)的電路連接圖第四章 軟件程序設(shè)計(jì)4.1 程序流程圖4.1.1 主程序流程圖1. 發(fā)射端主程序流程圖如圖4.1所示。圖4.1 發(fā)射端主程序流程圖2. 接收端主程序流程圖如圖4.2所示。圖4.2 接收端端主程序流程圖4.1.2 子程序流程圖1. 數(shù)字溫度傳感器DS18B20讀溫度程序DS18B20讀溫度程序流程圖如圖4.3所示。圖4.3 DS18B20讀溫度程序流程圖2.
46、 鍵盤(pán)掃描子程序鍵盤(pán)掃描子程序流程圖如圖4.4所示。圖4.4 鍵盤(pán)掃描子程序流程圖4.2 無(wú)線收發(fā)模塊24L01的編程4.2.1 24L01編程的基本思路(1)置CSN為低,使能芯片,配置芯片各個(gè)參數(shù)。配置參數(shù)在Power Down狀態(tài)中完成。(2)如果是Tx模式,填充Tx FIFO。(3)配置完成以后,通過(guò)CE與CONFIG中的PWR_UP與PRIM_RX參數(shù)確定24L01要切換到的狀態(tài)。Tx Mode:PWR_UP=1;PRIM_RX=0; CE=1(保持超過(guò)10us就可以);Rx Mode:PWR_UP=1;PRIM_RX=1; CE=1;(4) IRQ引腳會(huì)在以下三種情況變低: Tx
47、FIFO 發(fā)完并且收到ACK(使能ACK情況下) Rx FIFO收到數(shù)據(jù) 達(dá)到最大重發(fā)次數(shù)4.2.2 Tx與Rx的配置過(guò)程1. Tx模式初始化過(guò)程(1)寫(xiě)Tx節(jié)點(diǎn)的地址 TX_ADDR(2)寫(xiě)Rx節(jié)點(diǎn)的地址(主要是為了使能Auto Ack) RX_ADDR_P0(3)使能AUTO ACK EN_AA(4)使能PIPE 0 EN_RXADDR(5)配置自動(dòng)重發(fā)次數(shù) SETUP_RETR(6)選擇通信頻率 RF_CH(7)配置發(fā)射參數(shù)(低噪放大器增益、發(fā)射功率、無(wú)線速率) RF_SETUP(8)選擇通道0有效數(shù)據(jù)寬度 Rx_Pw_P0(9)配置24L01的基本參數(shù)以及切換工作模式 CONFIG。2
48、. Rx模式初始化過(guò)程:初始化步驟:(1)寫(xiě)Rx節(jié)點(diǎn)的地址 RX_ADDR_P0(2)使能AUTO ACK EN_AA(3)使能PIPE 0 EN_RXADDR(4)選擇通信頻率 RF_CH(5)選擇通道0有效數(shù)據(jù)寬度 Rx_Pw_P0(6)配置發(fā)射參數(shù)(低噪放大器增益、發(fā)射功率、無(wú)線速率) RF_SETUP(7)配置24L01的基本參數(shù)以及切換工作模式 CONFIG。4.2.3 函數(shù)介紹NRF24L01的控制程序主要包括以下幾個(gè)函數(shù):(1)uchar SPI_RW(uchar byte);最基本的函數(shù),完成GPIO模擬SPI的功能。將輸出字節(jié)(MOSI)從MSB循環(huán)輸出,同時(shí)將輸入字節(jié)(MI
49、SO)從LSB循環(huán)移入。上升沿讀入,下降沿輸出。(2)uchar SPI_RW_Reg(uchar reg, uchar value);寄存器訪問(wèn)函數(shù):用來(lái)設(shè)置24L01的寄存器的值?;舅悸肪褪峭ㄟ^(guò)WRITE_REG命令(也就是0 x20+寄存器地址)把要設(shè)定的值寫(xiě)到相應(yīng)的寄存器地址里面去,并讀取返回值。對(duì)于函數(shù)來(lái)說(shuō)也就是把value值寫(xiě)到reg寄存器中。需要注意的是,訪問(wèn)NRF24L01之前首先要enable芯片(CSN=0;),訪問(wèn)完了以后再disable芯片(CSN=1;)。(3)uchar SPI_Read(uchar reg);讀取寄存器值的函數(shù):基本思路就是通過(guò)READ_REG命
50、令(也就是0 x00+寄存器地址),把寄存器中的值讀出來(lái)。對(duì)于函數(shù)來(lái)說(shuō)也就是把reg寄存器的值讀到reg_val中去。(4)uchar SPI_Read_Buf(uchar reg, uchar *pBuf, uchar bytes);接收緩沖區(qū)訪問(wèn)函數(shù):主要用來(lái)在接收時(shí)讀取FIFO緩沖區(qū)中的值?;舅悸肪褪峭ㄟ^(guò)READ_REG命令把數(shù)據(jù)從接收FIFO(RD_RX_PLOAD)中讀出并存到數(shù)組里面去。(5)uchar SPI_Write_Buf(uchar reg, uchar *pBuf, uchar bytes);發(fā)射緩沖區(qū)訪問(wèn)函數(shù):主要用來(lái)把數(shù)組里的數(shù)放到發(fā)射FIFO緩沖區(qū)中?;舅悸肪?/p>
51、是通過(guò)WRITE_REG命令把數(shù)據(jù)存到發(fā)射FIFO(WR_TX_PLOAD)中去。(6)void RX_Mode(void);設(shè)定24L01為接收方式。(7)void TX_Mode(void);設(shè)定24L01為發(fā)送方式。4.3 軟件編譯與調(diào)試4.3.1 程序設(shè)計(jì)語(yǔ)言的選用在單片機(jī)的開(kāi)發(fā)應(yīng)用中,逐漸引入了高級(jí)語(yǔ)言,C語(yǔ)言就是其中的一種。對(duì)于用慣了匯編語(yǔ)言的人來(lái)說(shuō),高級(jí)語(yǔ)言的可控性不好,不如匯編語(yǔ)言那樣能夠隨心所欲。但是使用匯編語(yǔ)言會(huì)遇到很多問(wèn)題,首先它的可讀性和可維護(hù)性不強(qiáng),特別是當(dāng)程序沒(méi)有很好標(biāo)注的時(shí)候;其次就是代碼的可重用性也比較低。C語(yǔ)言卻沒(méi)有這些問(wèn)題。C語(yǔ)言具有模塊化、容易閱讀和維護(hù)等
52、優(yōu)點(diǎn)。由于模塊化,用C語(yǔ)言編寫(xiě)的程序有很好的可移植性,功能化的代碼能夠很方便地從一個(gè)工程移植到另一個(gè)工程,從而減少了開(kāi)發(fā)的時(shí)間。用C語(yǔ)言編寫(xiě)程序比用匯編語(yǔ)言更符合人們的思考習(xí)慣,開(kāi)發(fā)者可以更專心地考慮算法而不用費(fèi)很大力氣考慮一些細(xì)節(jié)問(wèn)題,這樣就減少了開(kāi)發(fā)和調(diào)試的時(shí)間。使用C語(yǔ)言,程序員不必十分熟悉處理器的運(yùn)算過(guò)程,這是因?yàn)楹芏嗵幚砥髦С諧編譯器,這也使得用C語(yǔ)言編寫(xiě)的程序有很好的可移植性。綜上所述,在本次畢業(yè)設(shè)計(jì)中,使用C語(yǔ)言來(lái)編寫(xiě)程序。4.3.2 KeilC51簡(jiǎn)介單片機(jī)開(kāi)發(fā)中除必要的硬件外,同樣離不開(kāi)軟件,我們寫(xiě)的匯編語(yǔ)言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種
53、是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過(guò)匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開(kāi)發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開(kāi)發(fā),單片機(jī)的開(kāi)發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行的開(kāi)發(fā)MCS-51系列單片機(jī)的軟件,它提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部份組合在一起。4.3.3 uVision4集成開(kāi)發(fā)環(huán)境1. 項(xiàng)目管理 工程(project)是由源文件、開(kāi)發(fā)工具選項(xiàng)以及編程說(shuō)明三部分組成的。 一個(gè)單一的uVisio
54、n4工程能夠產(chǎn)生一個(gè)或多個(gè)目標(biāo)程序。產(chǎn)生目標(biāo)程序的源文件構(gòu)成“組”。開(kāi)發(fā)工具選項(xiàng)可以對(duì)應(yīng)目標(biāo),組或單個(gè)文件。uVision4包含一個(gè)器件數(shù)據(jù)庫(kù)(devicedatabase),可以自動(dòng)設(shè)置匯編器、編譯器、連接定位器及調(diào)試器選項(xiàng),用來(lái)滿足用戶的特定需求。uVision4可以為片外存儲(chǔ)器產(chǎn)生必要的連接選項(xiàng)、確定起始地址和規(guī)模。2. 集成功能uVision4具有強(qiáng)大的功能:(1)集成源極瀏覽器利用符號(hào)數(shù)據(jù)庫(kù)使用戶可以快速瀏覽源文件。用詳細(xì)的符號(hào)信息來(lái)優(yōu)化用戶變數(shù)存儲(chǔ)器。(2)文件尋找功能:在特定文件中執(zhí)行全局文件搜索。(3)工具菜單:允許在V4集成開(kāi)發(fā)環(huán)境下啟動(dòng)用戶功能。(4)可配置SVCS接口:提
55、供對(duì)版本控制系統(tǒng)的入口。(5)PCLINT接口:對(duì)應(yīng)用程序代碼進(jìn)行深層語(yǔ)法分析。(6)Infineon的EasyCase接口:集成塊集代碼產(chǎn)生。(7)Infineon的DAVE功能:協(xié)助用戶的CPU和外部程序。DAVE工程可被直接輸入uVision4。4.3.4 軟件調(diào)試與結(jié)果本設(shè)計(jì)軟件編譯使用的是Vision4編譯器。程序代碼編寫(xiě)完后需要編譯鏈接生成目標(biāo)代碼,編譯后的結(jié)果如圖4.5所示。圖4.5 編譯結(jié)果顯示窗口圖第五章 安裝與調(diào)試5.1 Altium Designer軟件Altium Designer系統(tǒng)是Altium公司于2006年年初推出的一種電子設(shè)計(jì)自動(dòng)化(Electronic De
56、sign Automation,EDA)設(shè)計(jì)軟件。該軟件幾乎將電子電路所有的設(shè)計(jì)工具集成在單一應(yīng)用程序中。它通過(guò)把電路圖設(shè)計(jì)、PCB繪制編輯、電路的仿真、FPGA應(yīng)用程序的設(shè)計(jì)和設(shè)計(jì)輸出等技術(shù)的完美融合,為用戶提供了全線的設(shè)計(jì)解決方案,使用戶可以輕松地進(jìn)行各種復(fù)雜的電子電路設(shè)計(jì)工作。本次設(shè)計(jì)便是利用Altium Designer軟件進(jìn)行系統(tǒng)電路原理圖設(shè)計(jì)和PCB繪制。5.2 電路板安裝與調(diào)試電路元件安裝之前,首先應(yīng)利用萬(wàn)用表檢查各元器件功能是否完好,在確定所有芯片都能使用后開(kāi)始焊接電路板。在電路板焊接過(guò)程中要充分利用電路原理圖,對(duì)照著電路原理圖和PCB圖進(jìn)行焊接。焊接過(guò)程要十分認(rèn)真仔細(xì),將各個(gè)
57、管腳連接正確,同時(shí)避免虛焊。在電路板焊接完成之后,通常不宜急于通電,先要認(rèn)真檢查一下。檢查內(nèi)容包括:對(duì)照電路原理圖認(rèn)真檢查各個(gè)芯片引腳安裝是否正確,有無(wú)芯片正負(fù)極反接;檢查元器件引腳之間有無(wú)短路;連接處有無(wú)接觸不良。待檢查無(wú)誤后,上電調(diào)試。觀察其有無(wú)異?,F(xiàn)象(有無(wú)冒煙、異味),手摸器件是否發(fā)燙,電源有無(wú)短路現(xiàn)象等。若出現(xiàn)異常,應(yīng)馬上斷電,排除故障后才能再通電。經(jīng)過(guò)反復(fù)檢查和調(diào)試,系統(tǒng)最終正常工作。發(fā)射板實(shí)物圖見(jiàn)附錄D和接收板實(shí)物圖見(jiàn)附錄E。結(jié)論我畢業(yè)設(shè)計(jì)的題目是基于單片機(jī)的無(wú)線溫度檢測(cè)器設(shè)計(jì),設(shè)計(jì)的無(wú)線溫度檢測(cè)器可以應(yīng)用于多種場(chǎng)合,比如糧倉(cāng)和蔬菜大棚。它具有溫度檢測(cè)、無(wú)線傳輸、溫度顯示和超限報(bào)
58、警功能。在本次畢業(yè)設(shè)計(jì)中,首先進(jìn)行了系統(tǒng)整體設(shè)計(jì)分析,然后進(jìn)行系統(tǒng)硬件設(shè)計(jì)和軟件設(shè)計(jì),待仿真成功后,制作出了無(wú)線溫度檢測(cè)器實(shí)物,并對(duì)實(shí)物進(jìn)行了上電調(diào)試,最終實(shí)現(xiàn)了所有功能,成功完成了本次畢業(yè)設(shè)計(jì)。 通過(guò)本次設(shè)計(jì),我對(duì)單片機(jī)的應(yīng)用更加熟練,也學(xué)會(huì)了數(shù)字溫度傳感器DS18B20和無(wú)線收發(fā)模塊24L01的應(yīng)用。在本次設(shè)計(jì)之前,我對(duì)溫度傳感器DS18B20和無(wú)線收發(fā)模塊24L01幾乎一無(wú)所知,在本次設(shè)計(jì)中,我通過(guò)查閱書(shū)籍和翻譯外文芯片資料,逐步地學(xué)會(huì)了DS18B20和24L01的使用,在很大程度上提高了我對(duì)未知芯片的學(xué)習(xí)能力。本次設(shè)計(jì)中我利用Keil C51進(jìn)行系統(tǒng)軟件設(shè)計(jì),在編程、軟件仿真、硬件仿真
59、和程序查錯(cuò)的過(guò)程中,我的C語(yǔ)言編程能力得到了很大提高,同時(shí)也鍛煉了我獨(dú)立查錯(cuò)的能力。由于本次設(shè)計(jì)采用無(wú)線傳輸,在系統(tǒng)仿真過(guò)程中只能采用硬件仿真,這就增大了本設(shè)計(jì)的難度,本設(shè)計(jì)的程序查錯(cuò)難度也大大提高。本設(shè)計(jì)硬件仿真是通過(guò)兩個(gè)51單片機(jī)開(kāi)發(fā)板實(shí)現(xiàn)的。仿真過(guò)程中,利用杜邦線將無(wú)線收發(fā)模塊24L01各引腳與開(kāi)發(fā)板上單片機(jī)P1口引腳相連,程序中對(duì)應(yīng)相應(yīng)引腳,逐步進(jìn)行程序查錯(cuò)。在制作電路板時(shí),有些芯片和模塊在DXP軟件庫(kù)中沒(méi)有對(duì)應(yīng)的封裝,需要自己設(shè)計(jì)封裝,從而使我學(xué)會(huì)了芯片封裝的設(shè)計(jì)。本次設(shè)計(jì)制作出了實(shí)物,并最終實(shí)現(xiàn)了溫度實(shí)時(shí)檢測(cè)、溫度限值設(shè)置、超溫報(bào)警、溫度實(shí)時(shí)顯示和無(wú)線傳輸功能。致謝本論文是在王老師
60、的悉心指導(dǎo)下完成的。從選題到完成,每一步都有王老師的指導(dǎo),傾注了王老師大量的心血。在此,謹(jǐn)向王老師表示崇高的敬意和衷心的感謝。我的畢業(yè)設(shè)計(jì)題目是基于單片機(jī)的無(wú)線溫度檢測(cè)器設(shè)計(jì),是一個(gè)實(shí)際的小工程。作為一個(gè)本科的學(xué)生,我對(duì)實(shí)際的工程設(shè)計(jì)認(rèn)識(shí)不夠,經(jīng)驗(yàn)不足,難免在設(shè)計(jì)的整體框架中,有很多的細(xì)節(jié)沒(méi)有考慮。但老師給予我鼓勵(lì)和很多寶貴的建議,并且悉心引導(dǎo),給予我一個(gè)比較清晰的設(shè)計(jì)思路,幫助我解決了許多設(shè)計(jì)上的困難。在我制作畢業(yè)設(shè)計(jì)的過(guò)程中,我身邊的同學(xué)和室友給了我很多幫助,他們的意見(jiàn)使我的畢業(yè)設(shè)計(jì)更加完善,在此我要對(duì)我的朋友們表達(dá)衷心的感謝。最后還要感謝在百忙之中進(jìn)行論文評(píng)審的老師們,對(duì)論文的不足之處敬
61、請(qǐng)批評(píng)指正。參考文獻(xiàn)1閻石.數(shù)字電子技術(shù)基礎(chǔ)M.北京:高等教育出版社2006:524-545.2童詩(shī)白,華成英.模擬電子技術(shù)基礎(chǔ)M.北京:高等教育出版社,2006:104-123.3徐晨.微機(jī)原理及應(yīng)用M.北京:高等教育出版社,2004:56-87.4宋文緒,楊帆.傳感器與檢測(cè)技術(shù)M.北京:高等教育出版社,2004:36-75.5樓順天.微機(jī)原理與接口技術(shù)M.北京:科學(xué)出版社,2006:267-292.6張毅剛.單片機(jī)原理及應(yīng)用M.北京:高等教育出版社,2009:16-40.7胡泉,謝芳.C語(yǔ)言程序設(shè)計(jì)M.武漢:華中科技大學(xué)出版社,2009:135-166.8賈石峰.傳感器原理與傳感器技術(shù)M.北京:機(jī)械工業(yè)出版社,2009:83-90.9郭天祥.新概念5
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)二年級(jí)語(yǔ)文下冊(cè)知識(shí)點(diǎn)總結(jié)歸納(可編輯思維導(dǎo)圖)課件
- 田園綜合體內(nèi)容介紹PPT模板課件
- 建筑工程質(zhì)量與安全管理ppt課件第二章
- 《曹操獻(xiàn)刀》ppt課件
- 生物材料預(yù)處理、細(xì)胞破碎和液固分離全解課件
- 項(xiàng)鏈莫泊桑課件
- 人教版三年級(jí)英語(yǔ)下冊(cè)第三單元課件
- 薩博機(jī)的使用
- 青島某項(xiàng)目推介銷售人員陌拜使用課件
- 部編人教版二年級(jí)道德與法治下冊(cè)第8課《安全的玩》第一課時(shí)課件
- 淺談新企業(yè)所得稅法及實(shí)施條例課件
- 小數(shù)的初步認(rèn)識(shí)課件
- 《石灰吟》課件
- 開(kāi)學(xué)第一課班會(huì)PPT模板課件
- 向國(guó)旗敬禮主題班會(huì)課件