




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、微控制器(微控制器)控制技術理實一體化教材項目五 測控儀表徐廣振濰坊職業學院Micro Controller Unit (MCU) Control TechnologyIntegration of Theory & Practice of Teaching MaterialsThe fifth project Measure & Control InstrumentGuangzhen XuWeifang vocational college項目五 測控儀表在日常生活和工業自動化控制中智能化儀表被越來越廣泛的使用,用來實現對外界信息的采集與控制。但是測量的對象往往是連續變化的模擬
2、量,比如溫度、壓力、流量等物理量。 微控制器要能采集控制這些物理量一般需要相應傳感器轉換成數字信號后進行處理。本項目通過設計最基本簡單的測量儀表來掌握微控制器在測空儀表中的應用。任務二 數字溫度計明確任務:在工業控制、智能家居等領域的測量系統中,環境溫度的測量和控制是非常普遍和重要的。為了能對溫度進行檢測,需要溫度傳感器,把溫度轉換成相應的電信號。常用的模擬量傳感器主要是PT100等,但是需要設計人員進行微弱電信號處理,然后再進行AD轉換,將數字信息傳給微控制器進行處理,非常復雜。目前溫度傳感器正從模擬向數字方法轉變,體積小使用方便,在很多場合已經代替了模擬式傳感器。本任務利用數字式溫度傳感器
3、DS18B20制作一個數字溫度計,利用LCD1602進行顯示,精度1。知識鏈接:一、DS18B20簡介圖5.7 DS18B20封裝DS18B20數字溫度傳感器是DALLAS公司生產的1Wire,即單總線器件,用它來組成一個測溫系統,具有線路簡單,體積小的特點。其全部傳感元件及轉換電路集成在形如一只三極管的集成電路內。另外1Wire總線協議,節省且經濟,可以掛接多個傳感器,組建網絡。DS18B20引腳圖如圖5.7所示,引腳定義如下。l DQ為數字信號輸入/輸出端;l GND為電源地;l VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。DS18B20特點如下。(1)適應電壓范圍更寬,電壓范
4、圍:3.05.5V,在寄生電源方式下可由數據線供電。(2)獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現微處理器與DS18B20的雙向通訊。 (3)DS18B20支持多點組網功能,多個DS18B20可以并聯在唯一的三線上,實現組網多點測溫。(4)DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉換電路集成在形如一只三極管的集成電路內。(5)溫范圍55125,在-10+85時精度為±0.5 。(6)可編程的分辨率為912位,對應的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實現高精度測溫 。
5、 (7)在9位分辨率時最多在93.75ms內把溫度轉換為數字,12位分辨率時最多在750ms內把溫度值轉換為數字,速度更快 。 (8)測量結果直接輸出數字溫度信號,以"一線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力 。 (9)負壓特性:電源極性接反時,芯片不會因發熱而燒毀,但不能正常工作。二、DS18B20內部結構 DS18B20內部結構如圖5.8所示,主要由四部分組成:64位光刻ROM、溫度傳感器、溫度報警觸發器TH和TL、配置寄存器。圖5.8 DS18B20內部結構圖
6、1、64位光刻ROM光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產品類型標號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環冗余校驗碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現一根總線上掛接多個DS18B20的目的。2、溫度傳感器DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉化為例:用16位符號擴展的二進制補碼讀數形式提供,以0.0625/LSB形式表達,其中S為符號位。 如圖5.9溫度寄存器格式 圖5.9 溫度
7、寄存器格式這是12位轉化后得到的12位數據,存儲在18B20的兩個8比特的RAM中,二進制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數值需要取反加1再乘于0.0625即可得到實際溫度。 例如+125的數字輸出為07D0H,+25.0625的數字輸出為0191H,-25.0625的數字輸出為FF6FH,-55的數字輸出為FC90H。圖5.10常用溫度表3、DS18B20溫度傳感器的存儲器DS18B20溫度傳感器的內部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的EEPRAM,后者存放高溫度和
8、低溫度觸發器TH、TL和結構寄存器。高速暫存存儲器由9個字節組成,其分配如圖5.11所示。當溫度轉換命令發布后,經轉換所得的溫度值以二字節補碼形式存放在高速暫存存儲器的第0和第1個字節。微控制器可通過單線接口讀到該數據,讀取時低位在前,高位在后。數據格式如圖5.9所示。圖5.11 DS18B20存儲器4、配置寄存器 配置寄存器結構各位的意義如下bit7 bit6bit5bit4bit3bit2bit1bit0TMR1R011111低5位一直都是"1",TM是測試模式位,用于設置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設置為0,用戶不要去改動。R1
9、和R0用來設置分辨率,如下表所示(DS18B20出廠時被設置為12位)。圖5.12 DS18B20的溫度分辨率設置5、報警觸發器TH和TLDS18B20完成一次溫度轉換后,就拿溫度值與和存儲在TH和TL中一個字節的用戶自定義的報警預置值進行比較。標志位S指出溫度值的正負:正數S=0,負數S=1。TH和TL寄存器是非易失性的,所以它們在掉電時仍然保存數據。TH和TL寄存器格式如圖5.13。圖5.13 TH和TL寄存器格式當TH和TL為8位寄存器時,溫度寄存器中的11個位用來和TH、TL進行比較。如果測得的溫度高于TH或低于TL,報警條件成立,DS18B20內部就會置位一個報警標識。每進行一次測溫
10、就對這個標識進行一次更新;因此,如果報警條件不成立了,在下一次溫度轉換后報警標識將被移去。 總線控制器通過發出報警搜索命令 ECh 檢測總線上所有的DS18B20報警標識。任何置位報警標識的DS18B20將響應這條命令,所以總線控制器能精確定位每一個滿足報警條件的DS18B20。如果報警條件成立,而TH或T L的設置已經改變,另一個溫度轉換將重新確認報警條件。三、DS18B20通信指令根據DS18B20的通訊協議,微控制器控制DS18B20完成溫度轉換必須經過三個步驟:每一次讀寫之前都要對DS18B20進行復位操作,復位成功后發送一條ROM指令,最后發送RAM指令,這樣才能對DS18B20進行
11、預定的操作。復位要求主CPU將數據線下拉500us,然后釋放。當DS18B20收到信號后等待1660us左右,后發出60240us的存在低脈沖,主CPU收到此信號表示復位成功。圖5.14 DS18B20的ROM指令圖5.15 DS18B20的RAM指令四、DS18B20時序DS18B20需要嚴格的單總線協議以確保數據的完整性。協議包括集中單總線信號類型:復位脈沖、存在脈沖、寫0、寫1、讀0和讀1。所有這些信號,除存在脈沖外,都是由總線控制器發出的。 1.初始化時序 和DS18B20間的任何通訊都需要以初始化序列開始,初始化序列見圖5.16。一個復位脈沖跟著一個存在脈沖表明DS18B20已經準備
12、好發送和接收數據。 在初始化序列期間,總線控制器拉低總線并保持480us以發出TX一個復位脈沖,然后釋放總線,進入接收狀態RX。單總線由5 K上拉電阻拉到高電平。當DS18B20探測到I/O引腳上的上升沿后,等待1560us ,然后發出一個由60240us低電平信號構成的存在脈沖。 圖5.16 初始化時序2.寫時序由兩種寫時序:寫1時序和寫0時序。總線控制器通過寫1時序寫邏輯1到DS18B20,寫0時序寫邏輯0到DS18B20。所有寫時序必須最少持續60us,包括兩個寫周期之間至少1us的恢復時間。當總線控制器把數據線從邏輯高電平拉到低電平的時候,寫時序開始,見圖5.17。 總線控制器要生產一
13、個寫時序,必須把數據線拉到低電平然后釋放,在寫時序開始后的15us釋放總線。當總線被釋放的時候,5 K的上拉電阻將拉高總線。總控制器要生成一個寫0時序,必須把數據線拉到低電平并持續保持(至少60us)。總線控制器初始化寫時序后,DS18B20在一個15us到60us的窗口內對I / O線采樣。如果線上是高電平,就是寫1。如果線上是低電平,就是寫0。圖5.17 寫時序3.讀時序總線控制器發起讀時序時,DS18B20僅被用來傳輸數據給控制器。因此,總線控制器在發出讀暫存器指令BEH或讀電源模式指令B4H后必須立刻開始讀時序,DS18B20可以提供請求信息。除此之外,總線控制器在發出發送溫度轉換指令
14、 44H 或召回EEPROM指令B8H之后讀時序。 所有讀時序必須最少60us ,包括兩個讀周期間至少1us的恢復時間。當總線控制器把數據線從高電平拉到低電平時,讀時序開始,數據線必須至少保持1us,然后總線被釋放。在總線控制器發出讀時序后,DS18B20通過拉高或拉低總線上來傳輸1或0。當傳輸邏輯0結束后,總線將被釋放,通過上拉電阻回到上升沿狀態。從DS18B20輸出的數據在讀時序的下降沿出現后15us內有效。因此,總線控制器在讀時序開始后必須停止把I/O腳驅動為低電平15us,以讀取I/O腳狀態。圖5.18 讀時序五、DS18B20供電方式1、DS18B20寄生電源供電方式如下面圖5.19
15、所示,在寄生電源供電方式下,DS18B20從單線信號線上汲取能量,在信號線DQ處于高電平期間把能量儲存在內部電容里,在信號線處于低電平期間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。圖5.19 DS18B20寄生電源供電方式獨特的寄生電源方式有三個好處: 進行遠距離測溫時,無需本地電源;可以在沒有常規電源的條件下讀取ROM;電路更加簡潔,僅用一根I/O口實現測溫。 要想使DS18B20進行精確的溫度轉換,I/O線必須保證在溫度轉換期間提供足夠的能量,由于每個DS18B20在溫度轉換期間工作電流達到1mA,當幾個溫度傳感器掛在同一根I/O線上進行多點測溫時,只靠4.7K上拉電阻
16、就無法提供足夠的能量,會造成無法轉換溫度或溫度誤差極大。 因此,圖5.19電路只適應于單一溫度傳感器測溫情況下使用,不適宜采用電池供電系統中。并且工作電源VCC必須保證在5V,當電源電壓下降時,寄生電源能夠汲取的能量也降低,會使溫度誤差變大。2、DS18B20外部電源供電方式在外部電源供電方式下,如圖5.20,DS18B20工作電源由VDD引腳接入,此時I/O線不需要強上拉,不存在電源電流不足的問題,可以保證轉換精度。同時在總線上理論可以掛接任意多個DS18B20傳感器,組成多點測溫系統。在外部供電的方式下,DS18B20的GND引腳不能懸空,否則不能轉換溫度,讀取的溫度總是85。圖5.20
17、DS18B20外部電源供電方式外部電源供電方式是DS18B20最佳的工作方式,工作穩定可靠,抗干擾能力強,而且電路也比較簡單,可以開發出穩定可靠的多點溫度監控系統。圖5.21 DS18B20多點測溫六、DS18B20應用舉例1、總線上掛有多只寄生電源模式下的DS18B20,控制器對其中的一只操作啟動溫度轉換,然后讀取它的高速暫存器并重新計算CRC以確認數據。圖5.22 多個寄生電源供電模式編程2、總線上僅由一個寄生電源模式下的DS18B20,控制器執行寫存儲器操作。圖5.23 一個寄生電源模式下編程3、單個采用外部電源供電方式的DS18B20發出溫度轉換命令,并讀取溫度值。序號主機數據(LSB
18、在先)說明1TX復位復位脈沖2RX存在應答應答信號3TXCCH發出跳過ROM指令4TX44H發出溫度轉換指令5RX1個字節的數據讀“忙”標志3次,直至數據為FFH6TX復位復位脈沖7RX存在應答應答脈沖8TXCCH發出跳過ROM指令9TXBEH讀暫存存儲器命令10RX9個字節的數據讀暫存存儲器以及CRC,并把計算得出的CRC和讀出的CRC相比較。如果兩者相符,數據有效,主機保存溫度值。11TX復位復位脈沖12RX存在應答應答脈沖,操作完成任務實施:1.設計搭建硬件電路按照任務要求設計并搭建硬件電路及仿真環境。輸出口可以任意選擇。圖5.7 數字溫度計電路原理圖2.搭建軟件編程環境建立工程文件,保
19、存在桌面組號命名的文件夾內,配置工程參數,包括晶振頻率12MHz、HEX文件輸出配置。新建文件添加文件,準備編程。3.軟件設計與編程實現(1)LCD1602顯示驅動設計, 參見項目四。(2)利用DS18B20及LCD1602制作精度為1的數字溫度計。#include <at89x51.h> / 包含頭文件#include <string.h>sbit DQ=P23;/溫度傳感器sbit LCD_RS=P22;/1602rs 端sbit LCD_RW=P21;/1602rw端sbit LCD_EN=P20; /1602使能端unsigned char code data0
20、="0123456789"/*延時函數*/void delay1(unsigned int x) while(x-);void delay(unsigned int z)unsigned int x,y;for(x=z;x>0;x-)for(y=120;y>0;y-);/*LCD寫指令*/void LCD_write_com(unsigned char com) LCD_RS=0;LCD_RW=0;LCD_EN=0;P1=com;LCD_EN=1;delay(5);LCD_EN=0;/*LCD寫數據*/void LCD_write_data(unsigned c
21、har dat) LCD_RS=1;LCD_RW=0;LCD_EN=0;P1=dat;LCD_EN=1;delay(5);LCD_EN=0;/*液晶初始化*/void init_1602( )LCD_RS=0;LCD_RW=0;LCD_EN=0;LCD_write_com(0x38);LCD_write_com(0x0c);LCD_write_com(0x06);LCD_write_com(0x01);LCD_write_com(0x80); /*LCD顯示*/void disp_string(unsigned char addr,char *string) unsigned char len
22、,i,k;len=strlen(string); if(addr<0x10) LCD_write_com(0x80+addr);for(i=0;i<len;i+)k=addr+i;if(k=0x10)LCD_write_com(0x80+0x40); LCD_write_data(*(string+i);k=0; elseLCD_write_com(addr-0x10+0xC0);for(i=0;i<len;i+)LCD_write_data(*(string+i);/* 18B20初始化*/void init_DS18B20( ) unsigned char x=0;DQ=
23、1;/DQ復位delay1(8);DQ=0; /將DQ拉高delay1(80);DQ=1; /拉高總線delay1(15);x=DQ; /稍做延時后 如果x=0則初始化成功 x=1則初始化失敗delay1(20);/*ds18b20讀一個字節*/unsigned char DS18B20_read_byte( ) unsigned char i,dat;for(i=0;i<8;i+)DQ=0;dat>>=1;DQ=1;if(DQ)dat=dat|0x80;delay1(4); return dat; /*ds18b20寫一個字節*/void DS18B20_write_byte(unsigned char dat) unsigned char i;for(i=0;i<8;i+)DQ=0;DQ=dat&0x01;delay1(5);DQ=1;dat>>=1; /*讀取溫度*/unsigned char DS18B20_read_C( )unsigned char di,gao,dat;init_DS18B20();DS18B20_write_byte(0xcc);/ 跳過讀序號列號的操作DS1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 系統架構設計的技術要求考題試題及答案
- 系統規劃與管理師考試復習中的有效學習方式與實務應用技巧試題及答案
- 網絡自審考試題及答案
- 系統架構考試成功的策略與思維導圖試題及答案
- 系統架構設計師的多維度能力評估試題及答案
- 心理咨詢師考試個案管理技巧試題及答案
- 彩超試題及答案三基
- 快遞保價面試題及答案
- 廣西單招模擬試題及答案
- 抓住關鍵提升網絡規劃設計師考試能力試題及答案
- 企業水果禮盒采購合同樣本
- 解除租賃合同的協議
- 2025年03月國家林業和草原局直屬單位公開招聘246人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 常德煙草機械有限責任公司招聘考試真題2024
- 2025屆天津市十二區重點學校高三下學期畢業聯考(一)英語試題(含答案)
- DB44-T 2623-2025 道路工程高韌超薄磨耗層技術規范
- 2025-2030中國機器人碼垛系統行業市場發展趨勢與前景展望戰略研究報告
- 產品質量管理關鍵控制點分析
- 2025年上半年廣東深圳市光明區建筑工務署招聘特聘專干一般專干7人重點基礎提升(共500題)附帶答案詳解
- 新工科背景下大學化學課程的創新與實踐探索
- 轉院轉診制度
評論
0/150
提交評論