




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、HUBEI NORMAL UNIVERSITY單片機(jī)課程設(shè)計(jì)所在院系教育信息與技術(shù)學(xué)院專業(yè)名稱電子信息工程班級(jí)1005題目基于數(shù)字溫度傳感器的數(shù)字溫度計(jì)指導(dǎo)教師成員完成時(shí)間一、設(shè)計(jì)任務(wù)及要求:設(shè)計(jì)任務(wù):基于數(shù)字溫度傳感器的數(shù)字溫度計(jì)的設(shè)計(jì)。要 求: 1.利用數(shù)字溫度傳感器DS18B20與單片機(jī)結(jié)合來(lái)測(cè)量溫度;2.利用數(shù)字溫度傳感器DS18B20測(cè)量溫度信號(hào),計(jì)算后在LCD數(shù)碼管上顯示相應(yīng)的溫度值。其溫度測(cè)量范圍為55125,精確到0.5;3.數(shù)字溫度計(jì)所測(cè)量的溫度采用數(shù)字顯示,控制器使用單片機(jī)AT89C51,測(cè)溫傳感器使用DS18B20;4.用蜂鳴器設(shè)置警告音。指導(dǎo)教師簽名: 2012年12月
2、28日 二、指導(dǎo)教師評(píng)語(yǔ):指導(dǎo)教師簽名: 2012 年12月 28日 三、成績(jī) 驗(yàn)收蓋章 2012年12月28 日 基于數(shù)字溫度傳感器的數(shù)字溫度計(jì)的設(shè)計(jì)1.芯片DS18B20的說(shuō)明美國(guó)Dallas 半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820 是世界上第一片支持 "一線總線"接口的溫度傳感器,在其內(nèi)部使用了在板(ON-B0ARD)專利技術(shù)。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念?,F(xiàn)在,新一代的DS18B20 體積更小、更經(jīng)濟(jì)、更靈活。使你可以充分發(fā)揮“一線總線”的優(yōu)點(diǎn)。DS1
3、8B20 的主要特性1.1芯片DS18B20的特點(diǎn)(1)適應(yīng)電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數(shù)據(jù)線供電(2)獨(dú)特的單線接口方式,DS18B20 在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理與DS18B20 的雙向通訊(3)DS18B20 支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20 可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫(4)DS18B20 在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)(5)溫范圍55125,在-10+85時(shí)精度為±0.5(6)可編程的分辨率為912 位,對(duì)應(yīng)的可分辨溫度分別為0.5、0.25、0.125和
4、0.0625,可以實(shí)現(xiàn)高精度測(cè)溫。(7)在9位分辨率最多在93.75ms把溫度轉(zhuǎn)換成數(shù)字,12 位分辨率是最多可在750ms內(nèi)將溫度轉(zhuǎn)換成數(shù)字,速度更快。(8)溫度測(cè)試結(jié)果直接轉(zhuǎn)換成數(shù)字溫度信號(hào),以“一線總線”串行傳輸給CPU,同事科傳送SRC檢驗(yàn)碼,菊友極強(qiáng)的抗干擾校正能力。(9)負(fù)壓特性:電源極性接反時(shí)芯片不會(huì)因發(fā)熱而燒毀,但不會(huì)正常工作。2. 液晶顯示器LM016L的說(shuō)明接口信號(hào)說(shuō)明:編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1VSS電源地9D2Data I/02VDD電源正極10D3Data I/03VL液晶顯示偏壓信號(hào)11D4Data I/04RS數(shù)據(jù)/命令選擇端12D5Data I/05R/
5、W讀/寫選擇端13D6Data I/06E使能信號(hào)14D7Data I/07D0Data I/015BLA背光級(jí)正極8D1Data I/016BLK背光級(jí)負(fù)極 下表為控制命令表:序號(hào)指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開(kāi)/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L*6置功能00001DLNF*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫數(shù)到CGRAM或DDRAM)10要寫的數(shù)據(jù)
6、內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容 l 液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,圖一是016L的內(nèi)部顯址。圖一液晶顯示簡(jiǎn)介液晶顯示原理 液晶顯示的原理是利用液晶的物理特性,通過(guò)電壓對(duì)其顯示區(qū)域進(jìn)行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動(dòng)、易于實(shí)現(xiàn)全彩色顯示的特點(diǎn),目前已經(jīng)被廣泛應(yīng)用在便攜式電腦、數(shù)字?jǐn)z像機(jī)、PDA移動(dòng)通信工具等眾多領(lǐng)域。液晶顯示器的分類 液晶顯示
7、的分類方法有很多種,通??砂雌滹@示方式分為段式、字符式、點(diǎn)陣式等。除了黑白顯示外,液晶顯示器還有多灰度有彩色顯示等。如果根據(jù)驅(qū)動(dòng)方式來(lái)分,可以分為靜態(tài)驅(qū)動(dòng)(Static)、單純矩陣驅(qū)動(dòng)(Simple Matrix)和主動(dòng)矩陣驅(qū)動(dòng)(Active Matrix)三種。字符的顯示 用LCD顯示一個(gè)字符時(shí)比較復(fù)雜,因?yàn)橐粋€(gè)字符由6×8或8×8點(diǎn)陣組成,既要找到和顯示屏幕上某幾個(gè)位置對(duì)應(yīng)的顯示RAM區(qū)的8字節(jié),還要使每字節(jié)的不同位為“1”,其它的為“0”,為“1”的點(diǎn)亮,為“0”的不亮。這樣一來(lái)就組成某個(gè)字符。但由于內(nèi)帶字符發(fā)生器的控制器來(lái)說(shuō),顯示字符就比較簡(jiǎn)單了,可以讓控
8、制器工作在文本方式,根據(jù)在LCD上開(kāi)始顯示的行列號(hào)及每行的列數(shù)找出顯示RAM對(duì)應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對(duì)應(yīng)的代碼即可。 3. 總體電路流程圖時(shí)鐘振蕩主控電路LCD顯示溫度傳感器開(kāi)始DS18B20的初始化跳過(guò)讀序列號(hào)的操作啟動(dòng)溫度轉(zhuǎn)換讀取溫度寄存器跳過(guò)讀序列號(hào)的操作DS18B20的初始化結(jié)束4. 總體電路設(shè)計(jì)LCD與AT89C51的連接,(如圖一所示)將LCD的D0D7引腳分別與單片機(jī)的P0.1P0.7相連,使LCD能接受來(lái)自單片機(jī)的信號(hào)。電路如圖二所示如圖可見(jiàn),電路主要是由AT89C51芯片和LM016L和蜂鳴器構(gòu)成了主要電路。開(kāi)關(guān)的控制,可調(diào)整溫度的范圍。5.系統(tǒng)程序設(shè)計(jì)程序清單
9、:#include <AT89X51.H>#include <intrins.h>#include<absacc.h>#define uint unsigned int#define unchar unsigned charunchar templ,temph,i,y,z,n;unchar a,b;/LCD的變量unchar sign=0;/標(biāo)志變量bit k;/判斷正負(fù)變量sbit dq=P35;sbit rs=P20;/LCD顯示的定義取值sbit rw=P21;sbit e=P22;sbit bf=P07;sbit DQ=P25;/鍵盤定義sbit r
10、ead=P30;sbit incH=P32;sbit desH=P33;sbit reset=P34;/蜂鳴器sbit BUZZER=P26;float t4,t5,t6,t7,tt;/溫度轉(zhuǎn)換的變量uint tp;unchar temperature,Htemp,Ltemp;unchar D1,D2,D3;uint D4,D5,D6,D9,D7,D8;unchar code dis1="0123456789"unchar code dis2="temp:"unchar code dis3="WARN"unchar code dis4
11、="Htemp:"unchar code dis5="working"unchar code dis6="Ltemp:"bit flag_1820_1;bit flag_1820_2;void delay_ms(unsigned char time);void ledshow(void);void keypress(void);void init(void);void gettemp();void init1820(void);void write1820(unchar);unsigned char read1820(void);vo
12、id delay_us(unchar);void delay3(unchar);/* 延時(shí)*/void delay(uint t)uint i;while(t-) for(i=0;i<125;i+) /LCD顯示函數(shù)void delay1(unchar time)unchar n;n=0;while(n<time)n+;return;void delay3(unchar x) for(y=x;y>0;y-)for(z=x;z>0;z-);unchar testBF() bit result;rs=0;rw=1;e=1;_nop_();_nop_();_nop_();_n
13、op_();result=bf;e=0;return result;void writecmd(unchar ZL) while(testBF()=1);rs=0;rw=0;e=0;_nop_();_nop_();P0=ZL;e=1;_nop_();_nop_();_nop_();_nop_();e=0;void pos(unchar pos)writecmd(pos|0x80);void writedate(unchar date)while(testBF()=1);rs=1;rw=0;e=0;_nop_();_nop_();P0=date;e=1;_nop_();_nop_();_nop_
14、();_nop_();e=0;void init()delay3(20);writecmd(0x38);delay3(30);writecmd(0x0d);delay3(30);writecmd(0x06);delay3(30);writecmd(0x01);delay3(30);/鍵盤程序/主程序void main(void) TMOD=0x01; TH0=50000/256; TL0=50000%256; Htemp=124;Ltemp=-24; P3=0xFF; init();if(sign=0) EA=1;TR0=1;ET0=1; EX0=0; /關(guān)閉外部中斷0 EX1=0; /關(guān)閉外
15、部中斷1 while(1) if(read=0) delay3(2000); if(read=0) sign+; if(sign=1) BUZZER=1; /關(guān)閉蜂鳴器 EX0=1; /開(kāi)啟外部中斷0 EX1=1; /開(kāi)啟外部中斷1 init(); pos(0); for(i=0;i<6;) writedate(dis4i);i+; D6=Htemp%10; D7=Htemp%100/10; D8=Htemp/100;pos(0x6);writedate(dis1D8);writedate(dis1D7); if(sign=2) BUZZER=1; /關(guān)閉蜂鳴器 EX0=1; /開(kāi)啟外部
16、中斷0 EX1=1; /開(kāi)啟外部中斷1 init(); pos(0); for(i=0;i<6;) writedate(dis6i);i+; D6=Htemp%10; D7=Htemp%100/10; D8=Htemp/100;pos(0x6);writedate(dis1D8);writedate(dis1D7);writedate(dis1D6); if(sign>2) sign=0;/中斷程序void int0(void) interrupt 0EX0=0; /關(guān)外部中斷0if(desH=0&&sign=1) Htemp-; if(Htemp<Ltemp
17、) Htemp=Ltemp;else if(desH=0&&sign=2) Ltemp-; /*外部中斷1服務(wù)程序*/void int1(void) interrupt 2EX1=0; /關(guān)外部中斷1if(incH=0&&sign=1) Htemp+;else if(incH=0&&sign=2) Ltemp+; if(Ltemp>Htemp) Ltemp=Htemp; /定時(shí)器T0服務(wù)程序void isr_t0(void) interrupt 1TH0=50000/256;TL0=50000%256;TMOD=0x10;TH1=50000
18、/256;TL1=50000%256;gettemp();delay(50);if (tp<Htemp) BUZZER=1; pos(0x04);for(i=0;i<7;)writedate(dis5i);i+;pos(0x40);for(i=0;i<5;)writedate(dis2i);i+;D1=(unchar)(tp%10);D2=(unchar)(tp%100/10);D3=(unchar)(tp/100);D4=(uint)(tt*10);D5=(uint)(tt*100)%10;if(k=1)pos(0x46); writedate('-');
19、else pos(0x46); writedate();pos(0x47);writedate(dis1D3);writedate(dis1D2);writedate(dis1D1);writedate('.');writedate(dis1D4);writedate(dis1D5);writedate(0xdf);writedate('C'); else init(); pos(0x04);for(i=0;i<4;) writedate(dis3i); i+; BUZZER=0; /DS18B20讀取溫度void gettemp() init1820()
20、; write1820(0xcc); write1820(0x44); init1820(); write1820(0xcc); write1820(0xbe); templ=read1820();/低8位(其中的第四位是小數(shù)點(diǎn)后的) temph=read1820();/高8位(其中前五位是符號(hào)值) z=temph;/把符號(hào)位留下判斷正負(fù)k=(bit)(z>>7);if(k=1) /負(fù)數(shù)就取反加一 templ=templ; templ=templ+1; temph=temph; else templ=templ; temph=temph; n=templ; y=n&0x01
21、;t7=y*0.0625; n>>=1; y=n&0x01;/小數(shù)點(diǎn)最后的數(shù) t4=y* 0.125; n>>=1; y=n&0x01; t5=y* 0.25; n>>=1; y=n&0x01; t6=y*0.5;tt=t4+t5+t6+t7; init1820(); tp=temph*256+templ; temperature=tp; tp=tp>>4; /1820初始化void init1820() DQ = 1; _nop_(); DQ = 0; delay_us(125); /延時(shí)510us, delay_us(125); DQ = 1; delay_us(15); while(DQ) _nop_(); delay_us(60); DQ =
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基礎(chǔ)護(hù)理死亡教育體系構(gòu)建
- 戰(zhàn)場(chǎng)救護(hù)知識(shí)培訓(xùn)
- 員工職業(yè)素養(yǎng)培訓(xùn)溝通交流
- 神經(jīng)內(nèi)科臨床護(hù)理
- 淺析河南衛(wèi)視“七夕奇妙游”美術(shù)元素運(yùn)用
- 礦山開(kāi)采施工與安全生產(chǎn)責(zé)任追究合同
- 電力輸電線路架設(shè)與包工合同
- 茶葉產(chǎn)品線上線下聯(lián)合營(yíng)銷委托協(xié)議
- 智能車棚施工與城市道路照明工程合同
- 房地產(chǎn)項(xiàng)目拆除及重建合作協(xié)議書
- 2025年云南省中考英語(yǔ)試卷真題(含標(biāo)準(zhǔn)答案及解析)
- 2025年廣東省高考物理試題(含答案解析)
- 2025年宜賓市英語(yǔ)七下期末復(fù)習(xí)檢測(cè)試題含答案
- 項(xiàng)目管理從立項(xiàng)到結(jié)項(xiàng)全解析
- 全國(guó)導(dǎo)游人員資格考試單科綜合測(cè)試卷(科目一:政策與法律法規(guī))
- 中醫(yī)診斷學(xué)考點(diǎn)總結(jié)
- 國(guó)家開(kāi)放大學(xué)學(xué)習(xí)網(wǎng)電大證券投資分析形考任務(wù)12345答案
- 拖車服務(wù)合同協(xié)議書模板
- 大件貨物運(yùn)輸合同范本
- 2025-2030年全球與中國(guó)心理測(cè)驗(yàn)行業(yè)市場(chǎng)發(fā)展分析及發(fā)展機(jī)遇和風(fēng)險(xiǎn)研究報(bào)告
- 提高分級(jí)護(hù)理的巡視率
評(píng)論
0/150
提交評(píng)論