單片機(jī)大作業(yè)_第1頁
單片機(jī)大作業(yè)_第2頁
單片機(jī)大作業(yè)_第3頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 PAGE PAGE 10 / 10單片機(jī)大作業(yè)溫度控制系統(tǒng)設(shè)計(jì)一、溫度控制系統(tǒng)設(shè)計(jì)發(fā)展歷史及意義在工業(yè)企業(yè)中,如何提高溫度控制對象的運(yùn)行性能一直以來都是控制人員和現(xiàn)場技術(shù)人員努力解決的問題。這類控制對象慣性大,滯后現(xiàn)象嚴(yán)重,存在很多不確定的因素,難以建立PIDPIDDS18B20,因其內(nèi)部集成了A/DDS18B20DS18B20據(jù)線就可以和主電路連接,故可以把數(shù)字溫度傳感器 DS18B20 做成探頭,探入到狹小的地方, 增加了實(shí)用性。更能串接多個數(shù)字溫度傳感器 DS18B20 進(jìn)行范圍的溫度檢測。二、DS18B20 工作原理DS18B20DS18202s750ms。 DS18B2031。21

2、-551101,計(jì)數(shù)器11201三、系統(tǒng)軟件流程圖四、電路原理圖DS18B20DS18B20,QDP3.0DS18B205.3二極管顯示報警電路P3.4P3.5電平驅(qū)動,使其發(fā)光發(fā)出警告。二極管顯示電路整體原理圖五、程序設(shè)計(jì)1)讀出溫度子程序RAM9CRC5.10DS18B201247RAM9CRC5.10DS18B20 的各個命令對時序的要求特別嚴(yán)格,所以必須按照所要求的時序才能達(dá)到預(yù)期的1247還有一位符號位。2)寫入子程序?qū)懭胱映绦虻牧鞒虉D如 5.11 所示。六、主要程序#include #include#define uchar unsigned char #define uint u

3、nsigned int#define duan P0 #define wei P1 sbit void Delay1ms(uint void Delay5ms();uchar Ds18b20Init();void Ds18b20WriteByte(uchar dat); uchar Ds18b20ReadByte();void Ds18b20ChangTemp();int Ds18b20ReadTemp(); void DigDisplay();void LcdDisplay(int temp);uchar code segta10=0 xc0,0 xF9,0 xA4,0 xB0,0 x99,

4、0 x92,0 x82,0 xF8,0 x80,0 x90; unsigned char DisplayData8;void main()while(1)LcdDisplay(Ds18b20ReadTemp();void Delay1ms(uint y)uint x;for( ; y0; y-)for(x=110; x0; x-);/*函 數(shù)名: Ds18b20Init函數(shù)功能: 初始化輸入:無輸出:初始化成功返1,失敗返0*/uchar Ds18b20Init()線拉低uchar i;DSPORT = 0;480us960us i = 70;while(i-);/延時642usDSPORT

5、= 1;/DS18B2015us60us后總i = 0;while(DSPORT)/等待DS18B20拉低總線Delay1ms(1); i+;if(i5)/等待5MSreturn 0;/初始化失敗return 1;/初始化成功/*函 數(shù)名: Ds18b20WriteByte函數(shù)功能: 向18B20寫入一個字節(jié)輸入輸出:無*/void Ds18b20WriteByte(uchar dat)uint i, j;for(j=0; j= 1;/*函 數(shù)名: Ds18b20ReadByte函數(shù)功能: 讀取一個字節(jié)輸入輸出:無*/uchar Ds18b20ReadByte()uchar byte, bi;

6、 uint i, j; for(j=8; j0; DSPORT = 0;/i+;DSPORT = 1;/i+;i+;/延時6us等待數(shù)據(jù)穩(wěn)定bi = DSPORT; /讀取數(shù)據(jù),從最低位開始讀取/*將byte左移一位,然后與上右移7位后的bi,注意移動之后移掉那位補(bǔ)0。*/ byte = (byte 1) | (bi 7);i = 4;/48uswhile(i-);return byte;/*函 數(shù)名: Ds18b20ChangTemp函數(shù)功能: 讓18b20開始轉(zhuǎn)換溫度輸入輸出:無*/void Ds18b20ChangTemp()Ds18b20Init();Delay1ms(1);Ds18b

7、20WriteByte(0 xcc);/跳過ROM操作命Ds18b20WriteByte(0 x44);/溫度轉(zhuǎn)換命令/Delay1ms(100);/等待轉(zhuǎn)換成功,而如果你是一直刷著的話,就不用這個延時了/*函數(shù)功能: 發(fā)送讀取溫度命令輸入輸出:無*/Ds18b20Init();Delay1ms(1);Ds18b20WriteByte(0 xcc);/跳過ROM操作命令Ds18b20WriteByte(0 xbe);/發(fā)送讀取溫度命/*函 數(shù)名: Ds18b20ReadTemp函數(shù)功能: 讀取溫度輸入輸出:無*/int Ds18b20ReadTemp()int temp = 0; uchar

8、tmh, tml;Ds18b20ChangTemp();/先寫入轉(zhuǎn)換命令/然后等待轉(zhuǎn)換完后發(fā)送讀取溫度命令tml = Ds18b20ReadByte();/讀取溫度值16位,先讀低字tmh = Ds18b20ReadByte();/再讀高字節(jié)temp = tmh; temp = 8; temp |= tml; return temp;/*函 數(shù)名: LcdDisplay()函數(shù)功能: LCD顯示讀取到的溫度輸入: v輸出:無*/void LcdDisplay(int temp) /lcd顯示float tp;if(temp 0)/當(dāng)溫度值為負(fù)數(shù)DisplayData0 = 0 x40;/因?yàn)樽x

9、取的溫度是實(shí)際溫度的補(bǔ)碼,所以減1,再取反求出原碼temp=temp-1;temp=temp; tp=temp;temp=tp*0.0625*100+0.5;/留兩個小數(shù)點(diǎn)就*100,+0.5是四舍五入,因?yàn)镃語言浮點(diǎn)數(shù)轉(zhuǎn)換為整型的時候把小數(shù)點(diǎn)/后面的數(shù)自動去掉,不管是否大于0.5,而+0.5之后大于0.5的就是進(jìn)1了,小于0.5的就/算由?.5,還是在小數(shù)點(diǎn)后面。else點(diǎn) DisplayData0 = 0 x00;tp=temp;/因?yàn)閿?shù)據(jù)處理有小數(shù)點(diǎn)所以將溫度賦給一個浮點(diǎn)型變量/如果溫度是正的那么,那么正數(shù)的原碼就是補(bǔ)碼它本身temp=tp*0.0625*100+0.5;/留兩個小數(shù)點(diǎn)就*100,+0.5是四舍五入,因?yàn)镃語言浮點(diǎn)數(shù)轉(zhuǎn)換為整型的時候把小數(shù)/后面的數(shù)自動去掉,不管是否大于0.5,而+0.5之后大于0.5的就是進(jìn)1了,小于0.5/算加上0.5,還是在小數(shù)點(diǎn)后面。DisplayData1=segtatemp/10000;DisplayData2=segtatemp%10000 / 1000;DisplayData3=segtatemp%1000 / 10

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論