版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目5用LCD1602與DS18B20設(shè)計(jì)的數(shù)字溫度計(jì)由DS18B20組成的LCD數(shù)字溫度計(jì)具有體積小,低成本,低功耗,高精度,快速響應(yīng),抗干擾等優(yōu)點(diǎn)而被廣泛應(yīng)用于工業(yè)自動(dòng)化、農(nóng)業(yè)生產(chǎn)等各種場(chǎng)合的環(huán)境溫度監(jiān)測(cè)及自動(dòng)控制。本項(xiàng)目將講述LCD1602字符型液晶與DS18B20數(shù)字溫度傳感器的原理和由單片機(jī)控制的數(shù)字溫度計(jì)的實(shí)現(xiàn)方法。
任務(wù)5.1學(xué)習(xí)LCD1602原理與接口任務(wù)5.2學(xué)習(xí)1-wire總線技術(shù)與DS18B20的應(yīng)用任務(wù)5.3數(shù)字溫度計(jì)設(shè)計(jì)與仿真
下一頁(yè)任務(wù)5.1學(xué)習(xí)LCD1602原理與接口5.1.1LCD1602的內(nèi)部結(jié)構(gòu)5.1.2LCD1602的控制命令5.1.3MCS-51與LCD1602的接口技術(shù)上一頁(yè)下一頁(yè)返回5.1.1LCD1602的內(nèi)部結(jié)構(gòu)一、LCD簡(jiǎn)介L(zhǎng)CD(LiquidCrystalDisplay)液晶顯示器,是利用液晶分子的物理結(jié)構(gòu)和光學(xué)特性進(jìn)行顯示的一種技術(shù)。液晶分子是介于固體和液體之間的一種棒狀結(jié)構(gòu)的大分子物質(zhì);在自然形態(tài),具有光學(xué)各向異性的特點(diǎn),在電(磁)場(chǎng)作用下,呈各向同性特點(diǎn)。LCD的構(gòu)造是在兩片平行的玻璃基板當(dāng)中放置液晶盒,下基板玻璃上設(shè)置薄膜晶體管,上基板玻璃上設(shè)置濾光片,通過(guò)極板上的信號(hào)與電壓改變來(lái)控制液晶分子的轉(zhuǎn)動(dòng)方向,從而達(dá)到控制每個(gè)像素點(diǎn)偏振光出射與否而達(dá)到顯示目的。下面以直視型簡(jiǎn)單多路TN/STNLCDPanel(液晶顯示面板)的基本結(jié)構(gòu)介紹LCD的基本顯示原理,示意圖如下圖:上一頁(yè)下一頁(yè)返回上一頁(yè)下一頁(yè)返回在實(shí)際的液晶模以驅(qū)動(dòng)電壓中,有幾個(gè)參數(shù)非常關(guān)鍵:一、交流電壓液晶分子是需要交流信號(hào)來(lái)驅(qū)動(dòng)的,長(zhǎng)時(shí)間的直流電壓加在液晶分子兩端,會(huì)影響液晶分子的電氣化學(xué)特性,引起顯示模糊,壽命的減少,其破壞性為不可恢復(fù);二、掃描頻率直接驅(qū)動(dòng)液晶分子的交流電壓的頻率一般在60~100Hz之間,具體是依據(jù)LCDPanel的面積和設(shè)計(jì)而定,頻率過(guò)高,會(huì)導(dǎo)致驅(qū)動(dòng)功耗的增加,頻率過(guò)低,會(huì)導(dǎo)致顯示閃爍,同時(shí)如果掃描頻率同光源的頻率之間有倍數(shù)關(guān)系,則顯示也會(huì)有閃爍現(xiàn)象出現(xiàn)。三、開(kāi)啟電壓LCD顯示黑白(透光和不透光)的電壓有效值的分界電壓稱(chēng)為開(kāi)啟電壓Vth,當(dāng)電壓有效值超過(guò)Vth,螺旋結(jié)構(gòu)的旋光角度加大,透光率急劇變化,透明度急劇上升。反之,則透明度急劇下降;四、占空比該項(xiàng)參數(shù)一般也稱(chēng)為Duty數(shù)或COM數(shù)。由于STN/TN的LCD一般是采用時(shí)分動(dòng)態(tài)掃描的驅(qū)動(dòng)模式,在此模式下,每個(gè)COM的有效選通時(shí)間與整個(gè)掃描周期的比值即占空比(Duty):上一頁(yè)下一頁(yè)返回五、偏置LCD的SEG/COM的驅(qū)動(dòng)波形為模擬信號(hào),而各檔模擬電壓相對(duì)于LCD輸出的最高電壓的比例稱(chēng)為偏置,而一般來(lái)講,是以最低一檔與輸出最高電壓的比值來(lái)表示。由此可見(jiàn)51系列單片機(jī)的普通IO口不能滿(mǎn)足LCD的驅(qū)動(dòng)要求,需要外加LCD驅(qū)動(dòng)專(zhuān)用芯片來(lái)驅(qū)動(dòng)液晶顯示,而某些單片機(jī)集成有LCD驅(qū)動(dòng)模塊比如PIC系列單片機(jī)。上一頁(yè)下一頁(yè)返回二、LCD1602簡(jiǎn)介1602液晶也叫1602字符型液晶,它能夠同時(shí)顯示16列2行,即32個(gè)字符。它是一種專(zhuān)門(mén)用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。它由32個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒芎芎玫仫@示圖形。其優(yōu)點(diǎn)是微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧、易于控制,常用在袖珍式儀表和低功耗單片機(jī)應(yīng)用系統(tǒng)中。實(shí)物圖和PROTEUS中的模型:上一頁(yè)下一頁(yè)返回
市面上字符液晶大多數(shù)是基于HD44780液晶芯片驅(qū)動(dòng)的,控制原理是完全相同的,因此基于HD44780寫(xiě)的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。在proteus軟件中LCD1602液晶屏可以用器件LM016L來(lái)模擬,唯一不同的是某些LCD1602有背光控制引腳而LM016L沒(méi)有背光控制引腳,但背光就相當(dāng)于LED發(fā)光二極管很容易控制這里不再做詳細(xì)講解。三、LCD1602引腳定義1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1腳:GND為電源地第2腳:VCC接5V電源正極第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生重影,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度)。第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。第5腳:RW為讀寫(xiě)信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,電平(0)時(shí)進(jìn)行寫(xiě)操作。上一頁(yè)下一頁(yè)返回第6腳:E(或EN)端為使能(enable)端,高電平(1)時(shí)讀取信息,負(fù)跳變時(shí)執(zhí)行指令。第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。四、LCD1602功能特性1、3.3V或5V工作電壓,對(duì)比度可調(diào)2、內(nèi)含復(fù)位電路3、提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能4、有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM5、內(nèi)建有192個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM6、8個(gè)可由用戶(hù)自定義的5X7的字符發(fā)生器CGRAM上一頁(yè)下一頁(yè)返回5.1.2LCD1602的控制命令LCD1602的指令集及其設(shè)置說(shuō)明,共11條指令:1、清屏指令
上一頁(yè)下一頁(yè)返回功能:<1>清除液晶顯示器,即將DDRAM的內(nèi)容全部填入"空白"的ASCII碼20H;<2>光標(biāo)歸位,即將光標(biāo)撤回液晶顯示屏的左上方;<3>將地址計(jì)數(shù)器(AC)的值設(shè)為0。2、光標(biāo)歸位指令上一頁(yè)下一頁(yè)返回功能:<1>把光標(biāo)撤回到顯示器的左上方;<2>把地址計(jì)數(shù)器(AC)的值設(shè)置為0;<3>保持DDRAM的內(nèi)容不變。3、進(jìn)入模式設(shè)置指令上一頁(yè)下一頁(yè)返回功能:設(shè)定每次定入1位數(shù)據(jù)后光標(biāo)的移位方向,并且設(shè)定每次寫(xiě)入的一個(gè)字符是否移動(dòng)。參數(shù)設(shè)定的情況如下所示:位名設(shè)置I/D0=寫(xiě)入新數(shù)據(jù)后光標(biāo)左移1=寫(xiě)入新數(shù)據(jù)后光標(biāo)右移S0=寫(xiě)入新數(shù)據(jù)后顯示屏不移動(dòng)1=寫(xiě)入新數(shù)據(jù)后顯示屏整體右移1個(gè)字符4.顯示開(kāi)關(guān)控制指令上一頁(yè)下一頁(yè)返回功能:控制顯示器開(kāi)/關(guān)、光標(biāo)顯示/關(guān)閉以及光標(biāo)是否閃爍。參數(shù)設(shè)定的情況如下:位名設(shè)置D0=顯示功能關(guān)1=顯示功能開(kāi)C0=無(wú)光標(biāo)1=有光標(biāo)B0=光標(biāo)閃爍1=光標(biāo)不閃爍5.設(shè)定顯示屏或光標(biāo)移動(dòng)方向指令上一頁(yè)下一頁(yè)返回功能:使光標(biāo)移位或使整個(gè)顯示屏幕移位。參數(shù)設(shè)定的情況如下:S/CR/L設(shè)定情況00光標(biāo)左移1格,且AC值減101光標(biāo)右移1格,且AC值加110顯示器上字符全部左移一格,但光標(biāo)不動(dòng)11顯示器上字符全部右移一格,但光標(biāo)不動(dòng)6.功能設(shè)定指令上一頁(yè)下一頁(yè)返回功能:設(shè)定數(shù)據(jù)總線位數(shù)、顯示的行數(shù)及字型。參數(shù)設(shè)定的情況如下:位名設(shè)置DL0=數(shù)據(jù)總線為4位1=數(shù)據(jù)總線為8位N0=顯示1行1=顯示2行F0=5×7點(diǎn)陣/每字符1=5×10點(diǎn)陣/每字符7.設(shè)定CGRAM地址指令
上一頁(yè)下一頁(yè)返回功能:設(shè)定下一個(gè)要存入數(shù)據(jù)的CGRAM的地址。8.設(shè)定DDRAM地址指令功能:設(shè)定下一個(gè)要存入數(shù)據(jù)的DDRAM的地址。9.讀取忙信號(hào)或AC地址指令上一頁(yè)下一頁(yè)返回功能:<1>讀取忙碌信號(hào)BF的內(nèi)容,BF=1表示液晶顯示器忙,暫時(shí)無(wú)法接收單片機(jī)送來(lái)的數(shù)據(jù)或指令;當(dāng)BF=0時(shí),液晶顯示器可以接收單片機(jī)送來(lái)的數(shù)據(jù)或指令;<2>讀取地址計(jì)數(shù)器(AC)的內(nèi)容。10.數(shù)據(jù)寫(xiě)入DDRAM或CGRAM指令一覽上一頁(yè)下一頁(yè)返回功能:<1>將字符碼寫(xiě)入DDRAM,以使液晶顯示屏顯示出相對(duì)應(yīng)的字符;<2>將使用者自己設(shè)計(jì)的圖形存入CGRAM。11.從CGRAM或DDRAM讀出數(shù)據(jù)的指令一覽上一頁(yè)下一頁(yè)返回功能:讀取DDRAM或CGRAM中的內(nèi)容?;静僮鲿r(shí)序:讀狀態(tài)輸入:RS=L,RW=H,E=H輸出:DB0~DB7=狀態(tài)字寫(xiě)指令輸入:RS=L,RW=L,E=下降沿脈沖,DB0~DB7=指令碼輸出:無(wú)讀數(shù)據(jù)輸入:RS=H,RW=H,E=H輸出:DB0~DB7=數(shù)據(jù)寫(xiě)數(shù)據(jù)輸入:RS=H,RW=L,E=下降沿脈沖,DB0~DB7=數(shù)據(jù)輸出:無(wú)5.1.3MCS-51與LCD1602的接口技術(shù)一、硬件連接上節(jié)介紹了LCD1602(在proteus中名稱(chēng)為L(zhǎng)M016L)的引腳功能,下面我們?cè)趐roteus中按照引腳功能定義將其與AT89C51單片機(jī)進(jìn)行連接,由于版面限制下圖不顯示復(fù)位和震蕩電路。第1腳:VSS接地;第2腳:VCC接電源正極第3腳:VEE通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度;第4腳:RS接P2.0;第5腳:RW接P2.1;第6腳:E接P2.2;第7~14腳:D0~D7接P3口。圖中D0~D7采用了藍(lán)色粗線條表示總線連接,總線連接整齊美觀但不代表任何電氣意義需要用標(biāo)號(hào)將對(duì)應(yīng)引腳連接,效果和各引腳一一對(duì)應(yīng)連接效果相同。具體請(qǐng)參閱proteus教程。上一頁(yè)下一頁(yè)返回上一頁(yè)下一頁(yè)返回二、C語(yǔ)言編程下面是用C語(yǔ)言實(shí)現(xiàn)的在LCD1602上顯示一個(gè)字符和字符串的實(shí)例:#include<reg52.h>#include<intrins.h>#include<math.h>#include<stdio.h>//*********************LCD1602設(shè)置START************************#defineLCD_DBP3sbitLCD_RS=P2^0;sbitLCD_RW=P2^1;sbitLCD_E=P2^2;/******定義函數(shù)****************/#defineucharunsignedchar#defineuintunsignedint上一頁(yè)下一頁(yè)返回voidLCD_init(void);//初始化函數(shù)voidLCD_write_command(ucharcommand);//寫(xiě)指令函數(shù)voidLCD_write_data(uchardat);//寫(xiě)數(shù)據(jù)函數(shù)voidLCD_disp_char(ucharx,uchary,uchardat);//在某個(gè)屏幕位置上顯示一個(gè)字//符,X(0-15),y(1-2)voidLCD_disp_str(ucharx,uchary,uchar*str);//LCD1602顯示字符串函數(shù)voiddelay_n10us(uintn);//延時(shí)函數(shù)uintjishu,jishu1=0,wendu,bb,fen=0,miao=0,fmiao=0;/*--------------------------------------;模塊名稱(chēng):LCD_init();;功能:初始化LCD1602;-------------------------------------*/上一頁(yè)下一頁(yè)返回voiddelay(uintz){uinti,j;for(i=z;i>0;i--)for(j=100;j>0;j--);}voidLCD_init(void){delay_n10us(10);LCD_write_command(0x38);//設(shè)置8位格式,2行,5x7delay_n10us(10);LCD_write_command(0x0c);//整體顯示,關(guān)光標(biāo),不閃爍delay_n10us(10);LCD_write_command(0x06);//設(shè)定輸入方式,增量不移位delay_n10us(10);LCD_write_command(0x01);//清除屏幕顯示上一頁(yè)下一頁(yè)返回delay_n10us(100);//延時(shí)清屏,延時(shí)函數(shù),延時(shí)約n個(gè)10us}/*--------------------------------------;模塊名稱(chēng):LCD_write_command();;功能:LCD1602寫(xiě)指令函數(shù);占用資源:P2.0--RS(LCD_RS),P2.1--RW(LCD_RW),P2.2--E(LCD_E).;參數(shù)說(shuō)明:dat為寫(xiě)命令參數(shù);-------------------------------------*/voidLCD_write_command(uchardat){delay_n10us(10);LCD_RS=0;//指令LCD_RW=0;//寫(xiě)入LCD_E=1;//允許上一頁(yè)下一頁(yè)返回LCD_DB=dat;delay_n10us(10);LCD_E=0;delay_n10us(10);}/*--------------------------------------;模塊名稱(chēng):LCD_write_data();;功能:LCD1602寫(xiě)數(shù)據(jù)函數(shù);占用資源:P2.0--RS(LCD_RS),P2.1--RW(LCD_RW),P2.2--E(LCD_E).;參數(shù)說(shuō)明:dat為寫(xiě)數(shù)據(jù)參數(shù);-------------------------------------*/voidLCD_write_data(uchardat){delay_n10us(10);LCD_RS=1;//數(shù)據(jù)上一頁(yè)下一頁(yè)返回LCD_RW=0;//寫(xiě)入LCD_E=1;//允許LCD_DB=dat;delay_n10us(10);LCD_E=0;delay_n10us(10);}/*--------------------------------------;模塊名稱(chēng):;功能:顯示一個(gè)字符;-------------------------------------*/voidLCD_disp_char(ucharx,uchary,uchardat){ucharaddress;if(y==1)address=0x80+x;上一頁(yè)下一頁(yè)返回elseaddress=0xc0+x;LCD_write_command(address);LCD_write_data(dat);}/*--------------------------------------;模塊名稱(chēng):;功能:顯示一個(gè)字符串。;-------------------------------------*/voidLCD_disp_str(ucharx,uchary,uchar*str){ucharaddress;if(y==1)address=0x80+x;elseaddress=0xc0+x;上一頁(yè)下一頁(yè)返回LCD_write_command(address);while(*str!='\0'){LCD_write_data(*str);str++;}}/*--------------------------------------;模塊名稱(chēng):delay_n10us();;功能:延時(shí)函數(shù),延時(shí)約n個(gè)10us;-------------------------------------*/voiddelay_n10us(uintn)//延時(shí)n個(gè)10us@12M晶振{uinti;for(i=n;i>0;i--)上一頁(yè)下一頁(yè)返回{_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}}//*********主函數(shù)*****************voidmain(){ LCD_init();LCD_disp_char(0,1,'A');//顯示一個(gè)字符
LCD_disp_char(15,1,1+'0');//顯示一個(gè)字符
LCD_disp_str(0,2,"LCD1602OK"); //顯示一個(gè)字符串
while(1) { }}上一頁(yè)下一頁(yè)返回在proteus下運(yùn)行的結(jié)果如下圖:上一頁(yè)下一頁(yè)返回任務(wù)5.2學(xué)習(xí)1-wire總線技術(shù)與DS18B20的應(yīng)用
5.2.11-wire總線技術(shù)簡(jiǎn)介5.2.2DS18B20簡(jiǎn)介5.2.11-wire總線技術(shù)簡(jiǎn)介1-wire單總線是Maxim全資子公司Dallas的一項(xiàng)專(zhuān)有技術(shù)。與目前多數(shù)標(biāo)準(zhǔn)串行數(shù)據(jù)通信方式如SPI/I2C/MICROWIRE不同,它采用單根信號(hào)線,既傳輸時(shí)鐘,又傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的。它具有節(jié)省I/O口線資源結(jié)構(gòu)簡(jiǎn)單、成本低廉、便于總線擴(kuò)展和維護(hù)等諸多優(yōu)點(diǎn)。1-wire單總線適用于單個(gè)主機(jī)系統(tǒng),能夠控制一個(gè)或多個(gè)從機(jī)設(shè)備。當(dāng)只有一個(gè)從機(jī)位于總線上時(shí),系統(tǒng)可按照單節(jié)點(diǎn)系統(tǒng)操作;而當(dāng)多個(gè)從機(jī)位于總線上時(shí),則系統(tǒng)按照多節(jié)點(diǎn)系統(tǒng)操作。為了較為全面地介紹單總線系統(tǒng)將系統(tǒng),分為三個(gè)部分討論:硬件結(jié)構(gòu)、命令序列和信號(hào)方式(信號(hào)類(lèi)型和時(shí)序)上一頁(yè)下一頁(yè)返回一、硬件結(jié)構(gòu)顧名思義,單總線只有一根數(shù)據(jù)線。設(shè)備(主機(jī)或從機(jī))通過(guò)一個(gè)漏極開(kāi)路或三態(tài)端口,連接至該數(shù)據(jù)線,這樣允許設(shè)備在不發(fā)送數(shù)據(jù)時(shí)釋放數(shù)據(jù)總線,以便總線被其它設(shè)備所使用。單總線端口為漏極開(kāi)路,其內(nèi)部等效電路如下圖所示:
上一頁(yè)下一頁(yè)返回單總線要求外接一個(gè)約5k的上拉電阻:這樣,單總線的閑置狀態(tài)為高電平。不管什么原因,如果傳輸過(guò)程需要暫時(shí)掛起,且要求傳輸過(guò)程還能夠繼續(xù)的話,則總線必須處于空閑狀態(tài)。位傳輸之間的恢復(fù)時(shí)間沒(méi)有限制,只要總線在恢復(fù)期間處于空閑狀態(tài)(高電平)。如果總線保持低電平超過(guò)480s,總線上的所有器件將復(fù)位。另外,在寄生方式供電時(shí),為了保證單總線器件在某些工作狀態(tài)下(如溫度轉(zhuǎn)換期間、EEPROM寫(xiě)入等)具有足夠的電源電流,必須在總線上提供強(qiáng)上拉(如圖5-7所示的MOSFET)。上一頁(yè)下一頁(yè)返回二、命令序列典型的單總線命令序列如下:第一步:初始化第二步:ROM命令(跟隨需要交換的數(shù)據(jù))(1)搜索ROM[F0h](2)讀ROM[33h](僅適合于單節(jié)點(diǎn))(3)匹配ROM[55h](4)跳越ROM[CCh](僅適合于單節(jié)點(diǎn))(5)報(bào)警搜索[ECh](僅少數(shù)1-wire器件支持)第三步:功能命令(跟隨需要交換的數(shù)據(jù))注意以下事項(xiàng):1、在溫度轉(zhuǎn)換和復(fù)制暫存器數(shù)據(jù)至EEPROM期間,主機(jī)必須在單總線上允許強(qiáng)上拉,并且在此期間,總線上不能進(jìn)行其它數(shù)據(jù)傳輸;2、通過(guò)發(fā)出復(fù)位脈沖,主機(jī)能夠在任何時(shí)候中斷數(shù)據(jù)傳輸;3、在復(fù)位脈沖發(fā)出前,必須寫(xiě)入全部的三個(gè)字節(jié)。上一頁(yè)下一頁(yè)返回三、信號(hào)方式所有的單總線器件要求采用嚴(yán)格的通信協(xié)議,以保證數(shù)據(jù)的完整性。該協(xié)議定義了幾種信號(hào)類(lèi)型:復(fù)位脈沖、應(yīng)答脈沖、寫(xiě)0、寫(xiě)1、讀0、和讀1。所有這些信號(hào),除了應(yīng)答脈沖以外,都由主機(jī)發(fā)出同步信號(hào)。并且發(fā)送所有的命令和數(shù)據(jù)都是字節(jié)的低位在前,這一點(diǎn)與多數(shù)串行通信格式不同(多數(shù)為字節(jié)的高位在前)。1、初始化序列:復(fù)位和應(yīng)答脈沖2、讀/寫(xiě)時(shí)隙上一頁(yè)下一頁(yè)返回5.2.2DS18B20簡(jiǎn)介DS18B20是DALLAS公司生產(chǎn)的,最常用的溫度傳感器,具有體積小,硬件開(kāi)銷(xiāo)低,抗干擾能力強(qiáng),精度高的特點(diǎn)。DS18B20數(shù)字溫度傳感器提供9-Bit到12-Bit的攝氏溫度測(cè)量精度和一個(gè)用戶(hù)可編程的非易失性且具有過(guò)溫和低溫觸發(fā)報(bào)警的報(bào)警功能。DS18B20采用的1-Wire通信即僅采用一個(gè)數(shù)據(jù)線(以及地)與微控制器進(jìn)行通信。該傳感器的溫度檢測(cè)范圍為-55℃至+125℃,并且在溫度范圍超過(guò)-10℃至85℃之外時(shí)還具有+-0.5℃的精度。此外,DS18B20可以直接由數(shù)據(jù)線電而不需要外部電源供電。每片DS18B20都有一個(gè)獨(dú)一無(wú)二的64位序列號(hào),所以一個(gè)1-Wire總線上可連接多個(gè)DS18B20設(shè)備。因此,在一個(gè)分布式的大環(huán)境里用一個(gè)微控制器控制多個(gè)DS18B20是非常簡(jiǎn)單的。這些特征使得其在HVAC環(huán)境控制,在建筑、設(shè)備及機(jī)械的溫度監(jiān)控系統(tǒng),以及溫度過(guò)程控制系統(tǒng)中有著很大的優(yōu)勢(shì)。上一頁(yè)下一頁(yè)返回特性:獨(dú)特的1-Wire總線接口僅需要一個(gè)管腳來(lái)通信。每個(gè)設(shè)備的內(nèi)部ROM上都燒寫(xiě)了一個(gè)獨(dú)一無(wú)二的64位序列號(hào)。多路采集能力使得分布式溫度采集應(yīng)用更加簡(jiǎn)單。無(wú)需外圍元件。能夠采用數(shù)據(jù)線供電;供電范圍為3.0V至5.5V。溫度可測(cè)量范圍為:-55℃至+125℃(-67℉至+257℉)。溫度范圍超過(guò)-10℃至85℃之外時(shí)具有+-0.5℃的精度。內(nèi)部溫度采集精度可以由用戶(hù)自定義為9-Bits至12-Bits。溫度轉(zhuǎn)換時(shí)間在轉(zhuǎn)換精度為12-Bits時(shí)達(dá)到最大值750ms。用戶(hù)自定義非易失性的的溫度報(bào)警設(shè)置。定義了溫度報(bào)警搜索命令和當(dāng)溫度超過(guò)用戶(hù)自定義的設(shè)定值時(shí)??蛇x擇的8-PinSO(150mils),8-PinμSOP,及3-PinTO-92封裝。與DS1822程序兼容。應(yīng)用于溫度控制系統(tǒng),工業(yè)系統(tǒng),民用產(chǎn)品,溫度傳感器,或者任何溫度檢測(cè)系統(tǒng)中。上一頁(yè)下一頁(yè)返回上一頁(yè)下一頁(yè)返回溫度測(cè)量:DS18B20的核心功能是直接溫度-數(shù)字測(cè)量。其溫度轉(zhuǎn)換可由用戶(hù)自定義為9、10、11、12位精度分別為0.5℃、0.25℃、0.125℃、0.0625℃分辨率。值得注意的是,上電默認(rèn)為12位轉(zhuǎn)換精度。溫度報(bào)警:當(dāng)DS18B20完成一次溫度轉(zhuǎn)換后,該溫度轉(zhuǎn)換值將會(huì)與用戶(hù)定義的溫度報(bào)警TH和TL寄存器中的值進(jìn)行比較。符號(hào)標(biāo)志位(S)溫度的正負(fù)極性:正數(shù)則S=0,負(fù)數(shù)則S=1。過(guò)溫和低溫(TH和TL)溫度報(bào)警寄存器是非易失性的(EEPROM),所以其可以在設(shè)備斷電的情況下保存。
上一頁(yè)下一頁(yè)返回DS18B20功能命令溫度轉(zhuǎn)換[44h]寫(xiě)入暫存寄存器[4Eh]讀取暫存寄存器[BEh]拷貝暫存寄存器[48h]召回EEPROM[B8h]讀取供電模式[B4h]DS18B20采用嚴(yán)謹(jǐn)?shù)?-Wire總線通信協(xié)議來(lái)保證數(shù)據(jù)的完整性。更多操作請(qǐng)參考上節(jié)內(nèi)容與DS18B20數(shù)據(jù)手冊(cè)完成。為避免內(nèi)容雷同,具體編程方法我們將在下一節(jié)內(nèi)容中詳細(xì)講述。上一頁(yè)下一頁(yè)返回任務(wù)5.3數(shù)字溫度計(jì)設(shè)計(jì)與仿真
5.3.1硬件電路設(shè)計(jì)
5.3.2程序編制
5.3.3綜合仿真調(diào)試上一頁(yè)下一頁(yè)返回5.3.1硬件電路設(shè)計(jì)本節(jié)我們將要用單片機(jī)AT89C51、液晶屏LCD1602和數(shù)字溫度傳感器DS18B20設(shè)計(jì)一款數(shù)字溫度計(jì)。經(jīng)過(guò)前兩節(jié)的學(xué)習(xí)我們對(duì)LCD1602和DS18B20的硬件接線都已熟悉下面我們就在proteus下做設(shè)計(jì)如圖:上一頁(yè)下一頁(yè)返回5.3.2程序編制結(jié)合上兩節(jié)內(nèi)容1-wrie協(xié)議和DS18B20的說(shuō)明,我們進(jìn)行數(shù)字溫度計(jì)具體的C語(yǔ)言軟件編寫(xiě)。由于篇幅限制,我們不再做匯編語(yǔ)言的例子。有興趣的同學(xué)們可根據(jù)上兩節(jié)內(nèi)容自行編寫(xiě)。一、DS18B20的初始化根據(jù)DS18B20的通訊協(xié)議,主機(jī)(單片機(jī))控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:每一次讀寫(xiě)之前都要對(duì)DS18B20進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,當(dāng)DS18B20收到信號(hào)后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。(1)先將數(shù)據(jù)線DQ置高電平“1”。(2)延時(shí)(該時(shí)間要求的不是很?chē)?yán)格,但是盡可能的短一點(diǎn))(3)數(shù)據(jù)線拉到低電平“0”。(4)延時(shí)750微秒(該時(shí)間的時(shí)間范圍可以從480到960微秒)。(5)數(shù)據(jù)線拉到高電平“1”。上一頁(yè)下一頁(yè)返回(6)延時(shí)等待(如果初始化成功則在15到60微妙時(shí)間之內(nèi)產(chǎn)生一個(gè)由DS18B20所返回的低電平“0”。據(jù)該狀態(tài)可以來(lái)確定它的存在,但是應(yīng)注意不能無(wú)限的進(jìn)行等待,不然會(huì)使程序進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)控制)。(7)若CPU讀到了數(shù)據(jù)線上的低電平“0”后,還要做延時(shí),其延時(shí)的時(shí)間從發(fā)出的高電平算起(第(5)步的時(shí)間算起)最少要480微秒。(8)將數(shù)據(jù)線再次拉高到高電平“1”后結(jié)束。初始化程序如下:ucharInit_DS18B20(){ ucharstatus;//status為DS18B20返回的狀態(tài)
DQ=1; Delay(8); DQ=0; Delay(90); DQ=1;上一頁(yè)下一頁(yè)返回Delay(8); status=DQ;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 錦州市太和區(qū)社區(qū)《網(wǎng)格員》真題匯編(含答案)
- PICC測(cè)試題附答案
- 三基護(hù)理管理試題及答案
- 嵐皋縣輔警招聘考試試題庫(kù)帶答案
- 本科護(hù)理操作題庫(kù)及答案
- 高頻c語(yǔ)言面試試題及答案
- 永德縣輔警招聘公安基礎(chǔ)知識(shí)考試題庫(kù)及答案
- 心理精神科護(hù)理試題及參考答案
- 2025年質(zhì)量工程師職業(yè)能力評(píng)估試題集(附答案)
- 特殊兒童早期干預(yù)自考試卷四真題及答案
- 天津市河?xùn)|區(qū)2026屆高一上數(shù)學(xué)期末考試試題含解析
- 消化內(nèi)鏡ERCP技術(shù)改良
- DB37-T6005-2026人為水土流失風(fēng)險(xiǎn)分級(jí)評(píng)價(jià)技術(shù)規(guī)范
- 云南師大附中2026屆高三1月高考適應(yīng)性月考卷英語(yǔ)(六)含答案
- 2026湖北隨州農(nóng)商銀行科技研發(fā)中心第二批人員招聘9人筆試備考試題及答案解析
- 紀(jì)念館新館項(xiàng)目可行性研究報(bào)告
- 仁愛(ài)科普版(2024)八年級(jí)上冊(cè)英語(yǔ)Unit1~Unit6補(bǔ)全對(duì)話練習(xí)題(含答案)
- 騎行美食活動(dòng)方案策劃(3篇)
- 石化企業(yè)環(huán)保培訓(xùn)課件
- 2026年呂梁職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試備考試題帶答案解析
- 2025年新疆師范大學(xué)輔導(dǎo)員招聘考試真題及答案
評(píng)論
0/150
提交評(píng)論