單片機的藍牙接收發(fā)射模塊設(shè)計報告_畢業(yè)論文_第1頁
單片機的藍牙接收發(fā)射模塊設(shè)計報告_畢業(yè)論文_第2頁
單片機的藍牙接收發(fā)射模塊設(shè)計報告_畢業(yè)論文_第3頁
單片機的藍牙接收發(fā)射模塊設(shè)計報告_畢業(yè)論文_第4頁
單片機的藍牙接收發(fā)射模塊設(shè)計報告_畢業(yè)論文_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 基于單片機的藍牙接收發(fā)射模塊設(shè)計畢業(yè)論文 目錄第一章 引言31.1 本設(shè)計的背景31.2 本設(shè)計的系統(tǒng)方案31.2.1 系統(tǒng)各模塊的選擇4第二章 單片機數(shù)據(jù)傳輸系統(tǒng)的組成框圖42.1 單片機數(shù)據(jù)發(fā)送模塊框圖42.2 PC數(shù)據(jù)接收模塊框圖4第三章 單片機數(shù)據(jù)傳輸系統(tǒng)硬件設(shè)計53.1 發(fā)送與接收模塊的單片機最小系統(tǒng)53.2 發(fā)送與接收模塊的無線通信模塊BC04-B藍牙模塊53.2.1 藍牙技術(shù)協(xié)議簡介53.2.2 藍牙技術(shù)的核心協(xié)議63.2.3 HCI協(xié)議63.2.4 BC04-B藍牙模塊部分電路73.3 18B20數(shù)字溫濕度傳感器83.3.1 18B20簡介83.4超聲波測距傳感器及其電路部分

2、83.4.1超聲波傳感器原理83.5單片機數(shù)據(jù)傳輸系統(tǒng)的電源部分93.6 MAX232串口電路103.7單片機顯示電路10第四章 單片機數(shù)據(jù)傳輸系統(tǒng)的軟件設(shè)計114.1單片機數(shù)據(jù)采集系統(tǒng)的程序流程圖114.2藍牙數(shù)據(jù)收發(fā)系統(tǒng)的程序流程圖12第五章 單片機數(shù)據(jù)傳輸系統(tǒng)調(diào)試13第六章 總結(jié)14參考文獻14附錄14第一章 引言1.1 本設(shè)計的背景藍牙技術(shù)是近年來發(fā)展迅速的短距離無線通信技術(shù),可以用來替代數(shù)字設(shè)備間短距離的有線電纜連接。使用全球通用的24GHz頻段,即ISM(Industrial、Scientific and Medical)頻段,使得藍牙設(shè)備可工作于世界上任何地方;采用了跳頻技術(shù),提

3、高了抗干擾性;藍牙模塊具有低成本、低功耗和低輻射的優(yōu)點;具備認證和加密機制,實現(xiàn)了較高的安全性;應(yīng)用范圍廣泛,可應(yīng)用于無線設(shè)備、圖像處理設(shè)備、安全產(chǎn)品、消費娛樂、汽車產(chǎn)品、家用電器、醫(yī)療健身、建筑、玩具等多種領(lǐng)域;支持點對點和點對多點傳輸,多個藍牙設(shè)備可組成微微網(wǎng),具備明顯的網(wǎng)絡(luò)特性。1.2 本設(shè)計的系統(tǒng)方案1.2.1 系統(tǒng)的功能實現(xiàn)通過溫濕度及距離傳感器采集環(huán)境的溫濕度、距離信號,將信號處理然后通過無線傳輸?shù)骄嚯x十多米的地方進行顯示,實現(xiàn)實時監(jiān)測環(huán)境的溫度、距離等信息,具有很大的應(yīng)用前景。  本設(shè)計以單片機和藍牙模塊BC04-B為主,設(shè)計了基于藍牙無線傳輸?shù)臄?shù)據(jù)采集系統(tǒng),

4、整個裝置由前端數(shù)據(jù)采集、傳送部分以及末端的數(shù)據(jù)接受部分組成(如PC機)。前端數(shù)據(jù)采集部分由位于現(xiàn)場的傳感器、單片機、串口通信等構(gòu)成,傳送部分主要利用自帶微帶天線的藍牙模塊進行數(shù)據(jù)的無線傳輸;末端通過藍牙模塊、串口通信傳輸將數(shù)據(jù)送到上位PC機進一步處理。PC機可以根據(jù)指令來控制數(shù)據(jù)的獲取。1.2.1 系統(tǒng)各模塊的選擇 1.18B20數(shù)字溫濕度傳感器,內(nèi)部包含一個電容式感濕元件和NTC測溫元件,還有A/D轉(zhuǎn)換模塊,實現(xiàn)溫濕度數(shù)字信號輸出。同時18B20又是單總線形式,與單片機相連減少了I/O口的使用。2. 超聲波測距模塊,利用單片機發(fā)送觸發(fā)信號,產(chǎn)生40HZ的聲波信號,經(jīng)過物體遮擋住返回的時間,可

5、以計算距離。 3.采用STC89C52單片機控制單元2,產(chǎn)品較為普遍,價格便宜,易于控制。對STC89C52用C語言編寫程序,可讀性較好。4.無線通信采用全球廣泛使用的藍牙技術(shù),本設(shè)計采用BC04-B藍牙模塊,該模塊可實現(xiàn)二十米的無線數(shù)據(jù)傳輸。5.LCD1602液晶顯示器為工業(yè)字符型液晶,能夠顯示32個字符,可實現(xiàn)對數(shù)據(jù)進行簡單顯示。 第二章 單片機數(shù)據(jù)傳輸系統(tǒng)的組成框圖數(shù)據(jù)傳輸系統(tǒng)分為發(fā)送和接收兩個模塊:發(fā)送模塊主要由溫濕度采集模塊、距離采集模塊、單片機控制模塊、藍牙發(fā)送模塊、顯示模塊和電源模塊等組成;接收模塊主要由藍牙接收模塊、PC控制、串口調(diào)試模塊組成。具體框圖如下:2.1 單片機數(shù)據(jù)發(fā)

6、送模塊框圖 18B20顯示STC89C52單片機超聲波測風BC04B藍牙模塊天線圖2.1 發(fā)送模塊信號采集發(fā)送過程3為18B20、超聲波測距模塊4將信號傳給STC89C52單片機,單片機將信號處理,并進行超溫濕度、距離報警。處理后的信號經(jīng)串口發(fā)送給BC04-B藍牙發(fā)射模塊發(fā)射出去,采用2.4GHZ全球免費波段。2.2 PC數(shù)據(jù)接收模塊框圖天線接收藍牙模塊鍵盤顯示PC機控制和顯示圖2.2 接收模塊信號接收過程為藍牙適配器接收模塊接收信號,將信號通過串口傳給PC機,通過串口調(diào)試助手顯示出來。PC可以通過串口調(diào)試助手給單片機機發(fā)送指令,控制數(shù)據(jù)的獲取。 第三章 單片機數(shù)據(jù)傳輸系統(tǒng)硬件設(shè)計3.1 發(fā)送

7、模塊的單片機最小系統(tǒng)本系統(tǒng)采用MCS-51系列STC89C52單片機芯片5作為發(fā)送與接收模塊的控制單元,芯片具有如下特點:(1) 抗干擾性強;(2) 低價格;(3) 低功耗:掉電模式耗電低于0.1uA,正常工作模式為4mA7mA,掉電模式可由外部中斷喚醒,適用于電池供電系統(tǒng);(4) 通過MAX232電平轉(zhuǎn)換芯片即可進行下載,編程方式靈活,可用C語言進行編寫,可讀性強,8KB的內(nèi)部ROM增強編程方便性。發(fā)送與接收模塊的控制單元電路原理圖如圖3.1:圖3.1 STC89C52單片機最小系統(tǒng)圖3.1中間部分為STC89C52芯片,該芯片采用40腳雙列直插DIP封裝,第40腳接+5V電源,第20腳接地

8、,左上部分為復(fù)位電路,接單片機的第9腳,但按下鍵時即對系統(tǒng)進行復(fù)位。左下為晶振電路,采用11.0592MHZ的晶振。第31腳接高電平。3.2 發(fā)送與接收模塊的無線通信模塊BC04-B藍牙模塊3.2.1 藍牙技術(shù)的協(xié)議簡介藍牙無線通信的協(xié)議標準是由SIG制定的,它規(guī)定了藍牙應(yīng)用產(chǎn)品應(yīng)遵循的標準和需要達到的要求。目前頒布的藍牙規(guī)范有1.0、1.1、2.0、2.1等幾個版本。協(xié)議棧由上至下可分為3個部分:傳輸協(xié)議、中介協(xié)議和應(yīng)用協(xié)議。傳輸協(xié)議負責藍牙設(shè)備間的相互位置確認,以及建立和管理藍牙設(shè)備間的物理和邏輯鏈路,包括LMP、L2CAP、HCI;中介協(xié)議為高層應(yīng)用協(xié)議或程序在藍牙邏輯鏈路上工作提供了支

9、持,為應(yīng)用層提供了各種標準接口,包括:RFCOMM、SDP、IrDA、PPP、TCP/IP、UDP、TSC和AT指令集等;應(yīng)用協(xié)議是指那些位于藍牙協(xié)議棧之上的應(yīng)用軟甲和其中涉及的協(xié)議,包括開發(fā)驅(qū)動和其他藍牙應(yīng)用程序等。3.2.2 藍牙技術(shù)的核心協(xié)議藍牙技術(shù)的核心協(xié)議分為四個部分,如下: (1)基帶協(xié)議(Baseband)基帶和鏈路控制層確保網(wǎng)絡(luò)內(nèi)部藍牙設(shè)備單元之間由射頻構(gòu)成的物理連接。 (2)連接管理協(xié)議(LMP)負責藍牙網(wǎng)絡(luò)內(nèi)各設(shè)備之間連接的建立。 (3)邏輯鏈路控制和適配協(xié)議(L2CAP)是一個為高層傳輸層和應(yīng)用層協(xié)議屏蔽基帶協(xié)議的適配協(xié)議,為高層應(yīng)用傳輸提供了更加有效和更有利于實現(xiàn)的數(shù)據(jù)

10、分組格式。 (4)服務(wù)發(fā)現(xiàn)協(xié)議(SDP)發(fā)現(xiàn)服務(wù)在藍牙技術(shù)框架中起到了至關(guān)重要的作用,它是所有用戶模式的基礎(chǔ),是為實現(xiàn)網(wǎng)絡(luò)中藍牙設(shè)備之間相互查詢及訪問提供的服務(wù)。在藍牙系統(tǒng)中,客戶只有通過服務(wù)發(fā)現(xiàn)協(xié)議,才能獲得設(shè)備信息、服務(wù)信息以及服務(wù)特征,從而在設(shè)備單元之間建立不同的SDP層連接3。3.2.3 HCI協(xié)議HCI(Host Controller Interface)協(xié)議,即主機控制接口協(xié)議,屬于藍牙協(xié)議棧的一部分,是藍牙規(guī)范定義的一個符合標準的接口,它適用于藍牙通訊模塊的硬件部分。此定義描述了位于HCI驅(qū)動程序(主機的一部分,也即藍牙通訊模塊的使用者)和主機控制器固件(藍牙通訊模塊本身的一部分

11、)之間的接口。HCI固件通過訪問基帶命令、硬件狀態(tài)寄存器、控制寄存器以及時間寄存器實現(xiàn)對藍牙硬件的HCI指令。HCI傳輸層是藍牙主機與藍牙主控制器之間的物理接口。目前,藍牙HCI傳輸層的物理接口由通用串行總線(USB)、串行端口(RS232)、通用異步收發(fā)器(UART)和個人計算機存儲卡。本系統(tǒng)采用UART方式在藍牙設(shè)備和主控制器之間傳輸數(shù)據(jù)。UART傳輸層發(fā)目標在于可以在同一PCB電路板上兩UART之間的串行接口上使用藍牙HCI協(xié)議。UART傳輸層假定UART通信不存在線路故障,圖1為UART傳輸層。圖1 UART傳輸層UART傳輸層采用了RS232的接口參數(shù)配置,如表1:波特率廠商指定信息

12、數(shù)據(jù)位數(shù)8奇偶校驗位無奇偶校驗位終止位1 終止位流控制RTS/CTS流完成響應(yīng)時間3ms表1 RS232接口參數(shù)配置其中,RTS/CTS流控制用于防止臨時UART緩沖區(qū)溢出,當CTS為1時,允許藍牙主機/主機控制器發(fā)送,當CTS為0時,禁止藍牙主機/主機控制器發(fā)送。流完成響應(yīng)時間則定義了從設(shè)置RTS為0到字節(jié)流真正結(jié)束時的最大時間。UART信號線采取置空調(diào)制解調(diào)器模式,RS232信號處于連接狀態(tài),即本地TXD連接到遠端RXD,本地RTS連接到遠端CTS,反之亦然。UART傳輸層同時具備糾錯功能。如果當藍牙主機與主機控制器在RS232通信上失去同步,則必須復(fù)位。RS232通信失去同步意味著已檢測

13、到HCI分組指示器或者HCI分組長度超出了范圍。如果藍牙主機與主機控制器在UART通信失去同步,那么主控制器將發(fā)送硬件故障時間,以將同步錯誤告訴藍牙主機。主控制器需要從藍牙主機接受一個RESET指令以執(zhí)行撫慰,從而實現(xiàn)重新同步。3.2.4 BC04-B藍牙模塊部分電路BC04-B藍牙模塊8,9,10主要性能參數(shù):(1) 頻率:2.4GHz ISM band(2) 調(diào)制方式:GFSK(3) 發(fā)射功率等級:class2(4) 靈敏度:-80dBm(5) 通信速率:2Mbps(6) 供電電源:3.3V(7) 工作溫度:-20 +55HC-06藍牙模塊部分電路圖如圖3.2.1:圖3.2.1 HC-06

14、藍牙模塊部分電路圖3.2左邊部分為藍牙芯片,其TX與RX引腳分別接STC89C52的RXD(P3.0)和TXD(P3.1),PIO1接LED燈,當LED常亮?xí)r表示藍牙數(shù)據(jù)開始傳輸。右上部分為電源+5V轉(zhuǎn)為+3.3V電路。BC04-B藍牙模塊實物如圖3.2.2: 圖3.2.2 BC04-B藍牙模塊3.3 18B20數(shù)字溫濕度傳感器3.3.1 18B20簡介DHT21數(shù)字溫濕度傳感器是一款含有已校準數(shù)字信號輸出的溫濕度復(fù)合傳感器。該傳感器響應(yīng)快、抗干擾能力強、性價比高等優(yōu)點。單總線串行接口,使系統(tǒng)變得簡單快捷。超小的體積、極低的功耗。主要性能如下: (1)供電電壓范圍:+3.0V+5.5V; (2

15、)測溫范圍:-55+125。固有測溫分辨率為0.5。當在-10+85范圍內(nèi),可確保測量誤差不超過0.5,在-55+125范圍內(nèi),測量誤差也不超過2; (3)通過編程可實現(xiàn)912位的數(shù)字讀數(shù)方式. 18B20引腳圖如圖3.3.1。本設(shè)計將1腳接電源+5V,2接STC89C52的I/O口P2.3腳接地。 圖3.3.13.4超聲波測距傳感器及其電路部分3.4.1超聲波傳感器原理 (1)采用IO觸發(fā)測距,給至少10us的高電平信號;(2)模塊自動發(fā)送8個40khz的方波,自動檢測是否有信號返回;(3)有信號返回,通過IO輸出一高電平,高電平持續(xù)的時間就是 超聲波從發(fā)射到返回的時間測

16、試距離=(高電平時間*聲速(340M/S)/2;   圖3.4.5 超聲波發(fā)送接收原理圖3.5單片機數(shù)據(jù)傳輸系統(tǒng)的電源部分 發(fā)射與接收模塊的電源均用+7.2V的干電池經(jīng)7805穩(wěn)壓輸出+5V的電源,+5V電源在經(jīng)過ASM1117穩(wěn)壓輸出+3.3V。其電路原理圖如圖3.5.1。圖中J3的2腳位+7.2V,1腳為地;S4為撥動開關(guān),電容C11、C12、C13、C14均為7805輸入輸出端的濾波電容;D17為發(fā)光二極管,即電源指示燈;D19為1N4007保護二極管,當輸入端短路時,給輸出電容C14一個放電回路,防止7805被擊穿損壞。 圖3.5.1 +5V電源部分 BC04-B藍

17、牙模塊供電電源由+5V電源在經(jīng)過ASM1117穩(wěn)壓輸出+3.3V供電。其電路原理圖如圖3.5.2 圖3.5.2 +3.3V電源部分 3.6 MAX232串口電路MAX232串口電路主要用于STC89C52單片機程序的燒寫以及用于擴展與上位機的通信。計算機串口采用的是RS232C負邏輯電平,“1”表示-12V,“0”表示+12V,與單片機的的TTL電平不同,因此通過MAX232串口電路實現(xiàn)與計算機進行通信。其電路圖如圖3.7,圖中的5個電容均為0.1F的瓷片電容,起到降低芯片的噪聲干擾。MAX232的11腳接STC89C52單片機的TXD(P3.1),12腳接單片機的RXD(P3.0);右下為串

18、口母頭,用于與計算機的通信,第3腳(計算機數(shù)據(jù)輸出端)為從計算機輸出至單片機端口,第2腳(計算機數(shù)據(jù)輸入端)為從單片機輸入至計算機,5腳為地線,其余引腳在此不用。圖3.6 MAX232串口電路3.7單片機顯示電路接收模塊顯示電路采用LCD1602液晶顯示。LCD1602能顯示16個字符×2行,即32個字符。LCD液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的字符,這些字符有阿拉伯數(shù)字、英文字母的大小寫、常用符號和日文假名等,每一個字符都有一個固定的ASCII代碼。其引腳說明如表3.8。編號符號引腳說明編號符號引腳說明1GND電源地9DB2數(shù)據(jù)2VCC電源正極10D

19、B3數(shù)據(jù)3VEE液晶顯示偏壓11DB4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12DB5數(shù)據(jù)5R/W讀/寫選擇13DB6數(shù)據(jù)6E使能信號14DB7數(shù)據(jù)7DB0數(shù)據(jù)15BLA背光源正極8DB1數(shù)據(jù)16BLK背光源負極表3.8 LCD1602引腳說明LCD1602在本設(shè)計中的電路連接圖如圖3.8,1腳和3腳接地,2腳接電源+5V,4腳接STC89C52圖3.7 LCD1602電路連接圖單片機的P2.5,5腳接P2.6,6腳接P2.7,714腳接P0口,15腳串接一個10K的電阻然后接到電源+5V。 第四章 單片機數(shù)據(jù)傳輸系統(tǒng)的軟件設(shè)計單片機數(shù)據(jù)傳輸系統(tǒng)軟件部分分為數(shù)據(jù)采集和接收發(fā)送數(shù)據(jù)兩個模塊,在此僅分析主程序與

20、各子程序的流程。涉及的子程序為18B20溫濕度子程序,超聲波測距子程序,藍牙收發(fā)數(shù)據(jù)子程序,LCD1602液晶顯示子程序。4.1單片機數(shù)據(jù)采集系統(tǒng)的程序流程 發(fā)送模塊18B20采集溫度超聲波傳感器采集距離單片機處理溫度和距離數(shù)據(jù)收到PC機發(fā)送數(shù)據(jù)指令?顯示N藍牙發(fā)射藍牙接收PC機顯示溫度和距離數(shù)據(jù)PC機發(fā)送指令?等待N收到數(shù)據(jù)接收模塊圖4.1 系統(tǒng)軟件主程序流程圖4.2藍牙數(shù)據(jù)收發(fā)系統(tǒng)的程序流程圖4.2 藍牙收發(fā)程序流程圖 第五章 單片機數(shù)據(jù)傳輸系統(tǒng)調(diào)試系統(tǒng)主要由發(fā)送模塊和接收模塊組成。用萬用表分別檢測無短路或斷路情況,測得電源部分7805輸出端+5V,電源指示燈亮,單片機等各芯片電壓正常。藍

21、牙模塊接上電源LED指示燈正常點亮。先對溫度采集電路進行調(diào)試,通過下載軟件將HEX文件燒寫進入單片機,發(fā)現(xiàn)藍牙能夠正常傳輸數(shù)據(jù),測得環(huán)境的溫度能在PC機上正常顯示,溫度精確到0.1,濕度精確到0.1,溫度的測量范圍為-20.0+120.0。其次距離采集電路進行調(diào)試,下載軟件將HEX文件燒寫進入單片機,發(fā)現(xiàn)藍牙能夠正常傳輸數(shù)據(jù),PC機顯示實時距離值。然后整體系統(tǒng)調(diào)試,測得結(jié)果在空曠地帶,單片機數(shù)據(jù)傳輸距離可達30多米;在有障礙物的時候,數(shù)據(jù)傳輸距離也可達10幾米。 第六章 總結(jié) 基于藍牙技術(shù)的數(shù)據(jù)傳輸系統(tǒng)的設(shè)計,以其低成本、低功耗、便攜式、高精度的設(shè)計理念,實現(xiàn)對環(huán)境的溫度、距離等數(shù)據(jù)的實時采集

22、,讓人們的生產(chǎn)生活安排的更加合理有序。藍牙技術(shù)是全球廣泛使用的無線通信技術(shù),能夠?qū)崿F(xiàn)短距離快速傳輸大容量的數(shù)據(jù),是短距離數(shù)據(jù)通信的首選技術(shù),其不斷成熟的技術(shù),更是給無線通信領(lǐng)域帶來光明的前景,BC04-B藍牙模塊,可傳輸十幾米的距離,較好的完成了設(shè)計任務(wù)。參考文獻1郭堅. 基于STC89C52單片機的多路數(shù)據(jù)采集控制系統(tǒng)設(shè)計J.裝備制造,2010,(4):234.2張發(fā)海. 基于單片機STC89C52的LED數(shù)碼管溫度顯示及報警器的實現(xiàn)J.科技信息,2009,(35):87-88.3何國泉. 基于藍牙的無線接入點設(shè)計J.微型機與應(yīng)用,2010,29(18):58-60.4伍春. 基于藍牙的無線

23、傳感器網(wǎng)絡(luò)節(jié)點設(shè)計與實現(xiàn)J.計算機應(yīng)用與軟件,2010,27(4):74-76,101.5付蔚. 基于藍牙芯片的無線通信模塊設(shè)計與開發(fā)J.微計算機信息,2009,25(102):178-179,175.6喻宗泉.藍牙技術(shù)基礎(chǔ)M.北京:機械工業(yè)出版,2006.40-95.附錄 系統(tǒng)PCB:系統(tǒng)程序:#include<REG52.H>#include<math.h>#include<stdio.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit D

24、Q=P22;sbit RS=P35;sbit RW=P36;sbit EN=P34;sbit R=P27;sbit T=P26;unsigned int time=0;unsigned long S=0;bit flag =0;unsigned char disbuff4 = 0,0,0,0,;unsigned char code str1="range temp "float RxBuf,disdata5;uint tvalue;/溫度值uchar tflag;/溫度正負標志unsigned char code ASCII15 = '0','1&#

25、39;,'2','3','4','5','6','7','8','9','.','-','M',;uchar Tx,Ax;/*lcd1602程序*/void delay1ms(unsigned int ms)/延時1毫秒(不夠精確的) unsigned int i,j; for(i=0;i<ms;i+) for(j=0;j<100;j+);void wr_com(unsigned char com)/寫指令/

26、 delay1ms(1); RS=0; RW=0; EN=0; P0=com; delay1ms(1); EN=1; delay1ms(1); EN=0;void wr_dat(unsigned char dat)/寫數(shù)據(jù)/ delay1ms(1); RS=1; RW=0; EN=0; P0=dat; delay1ms(1); EN=1; delay1ms(1); EN=0;void lcd_init()/初始化設(shè)置/ / BLK=0; delay1ms(15); wr_com(0x38); delay1ms(5); wr_com(0x08);delay1ms(5); wr_com(0x01)

27、;delay1ms(5); wr_com(0x06);delay1ms(5); wr_com(0x0c);delay1ms(5);void display(unsigned char *p)/顯示/ while(*p!='0') wr_dat(*p); p+; /delay1ms(1); init_play()/初始化顯示 lcd_init(); wr_com(0x80); display(str1);/*ds1820程序*/void delay_18B20(unsigned int i)/延時1微秒 while(i-); void ds1820rst()/*ds1820復(fù)位*

28、/ unsigned char x=0; DQ = 1; /DQ復(fù)位 delay_18B20(4); /延時 DQ = 0; /DQ拉低 delay_18B20(100); /精確延時大于480us DQ = 1; /拉高 delay_18B20(40); uchar ds1820rd()/*讀數(shù)據(jù)*/ unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i-) DQ = 0; /給脈沖信號 dat>>=1; DQ = 1; /給脈沖信號 if(DQ) dat|=0x80; delay_18B20(10); retur

29、n(dat);void ds1820wr(uchar wdata)/*寫數(shù)據(jù)*/ unsigned char i=0; for (i=8; i>0; i-) DQ = 0; DQ = wdata&0x01; delay_18B20(10); DQ = 1; wdata>>=1; read_temp()/*讀取溫度值并轉(zhuǎn)換*/ uchar a,b; ds1820rst(); ds1820wr(0xcc);/*跳過讀序列號*/ ds1820wr(0x44);/*啟動溫度轉(zhuǎn)換*/ ds1820rst(); ds1820wr(0xcc);/*跳過讀序列號*/ ds1820wr

30、(0xbe);/*讀取溫度*/ a=ds1820rd(); b=ds1820rd(); tvalue=b; tvalue<<=8; tvalue=tvalue|a; if(tvalue<0x0fff) tflag=0; else tvalue=tvalue+1; tflag=1; tvalue=tvalue*(0.625);/溫度值擴大10倍,精確到1位小? tvalue=tvalue-15; return(tvalue);/*/void show()/溫度值顯示 uchar flagdat; time=TH0*256+TL0; TH0=0; TL0=0; S=(time*1

31、.7)/100; /算出來是CM disdata0=tvalue/1000+0x30;/百位數(shù) disdata1=tvalue%1000/100+0x30;/十位數(shù) disdata2=tvalue%100/10+0x30;/個位數(shù) disdata3=tvalue%10+0x30;/小數(shù)位 disdata4=0x00; if(tflag=0) flagdat=0x20;/正溫度不顯示符號 else flagdat=0x2d;/負溫度顯示負號:- if(disdata0=0x30) disdata0=0x20;/如果百位為0,不顯示 if(disdata1=0x30) disdata1=0x20;

32、/如果百位為0,十位為0也不顯示 disbuff0=S%1000/100; disbuff1=S%1000%100/10; disbuff2=S%1000%100%10; disbuff3=S%10000%1000 %100; wr_com(0xc0); wr_dat(ASCIIdisbuff0);/顯示百位 wr_com(0xc1); wr_dat(ASCII10); wr_com(0xc2); wr_dat(ASCIIdisbuff1); wr_com(0xc3); wr_dat(ASCIIdisbuff2); wr_com(0xc4); wr_dat(ASCII12); wr_com(0

33、xc8); wr_dat(flagdat);/顯示符號? wr_com(0xc9); wr_dat(disdata0);/顯示百位 wr_com(0xca); wr_dat(disdata1);/顯示十位 wr_com(0xcb); wr_dat(disdata2);/顯示個位 wr_com(0xcc); wr_dat(0x2e);/顯示小數(shù)點 wr_com(0xcd); wr_dat(disdata3);/顯示小數(shù)位void StartModule() /啟動模塊 T=1; /啟動一次模塊 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _no

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論