freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機的溫度采集系統(tǒng)的所有專業(yè)-資料下載頁

2025-05-12 12:51本頁面

【導(dǎo)讀】芯片上集成多種功能部件和大容量存儲器的方法。因而,整個應(yīng)用系統(tǒng)不需要擴展,而體。積變小、可靠性增高,使單片機成為真正意義上的單片機系統(tǒng)。作為溫度輸入和顯示控制器件,DS18B20被用作溫度數(shù)據(jù)的采集和溫度輸出器件。本系統(tǒng)被廣泛應(yīng)用于溫度控制、溫度檢測、溫度采、消防等系統(tǒng)中。利用DS18B20數(shù)字溫度傳感器實現(xiàn)對溫度進行準確的測量,使溫度值顯示到數(shù)碼管上。DS18B20與單片機之間一根導(dǎo)線進行數(shù)據(jù)傳輸,不需要對數(shù)據(jù)進行轉(zhuǎn)換,接線簡單。本系統(tǒng)所用的硬件有:見表2-1。單片機作為微型計算機的一個重要分支,其應(yīng)用范圍很廣,發(fā)展也很快。

  

【正文】 。 i=103。 while(i0)i。 DS=1。 i=4。 while(i0)i。 } bit tmpreadbit(void) //read a bit 讀一位 { int i。 bit dat。 DS=0。i++。 //i++小延時一下 DS=1。i++。i++。 dat=DS。 i=8。while(i0)i。 return (dat)。 } uchar tmpread(void) //讀一個字節(jié) { uchar i,j,dat。 dat=0。 for(i=1。i=8。i++) { j=tmpreadbit()。 dat=(j7)|(dat1)。 //讀出的數(shù)據(jù)最低位在最前面,這樣剛好 //一個字節(jié)在 DAT 里 } return(dat)。 //將一個字節(jié)數(shù)據(jù)返回 } 大學(xué)畢業(yè)設(shè)計論文 23 void tmpwritebyte(uchar dat) //寫一個字節(jié)到 DS18B20 里 { int i。 char j。 bit testb。 for(j=1。j=8。j++) { testb=datamp。0x01。 dat=dat1。 if(testb) // 寫 1 部分 { DS=0。 i++。i++。 DS=1。 i=8。 while(i0) i。 } else { DS=0。 //寫 0 部分 i=8。while(i0)i。 DS=1。 i++。i++。 } } } void tmpchange(void) //發(fā)送溫度轉(zhuǎn)換命令 { dsreset()。 //初始化 DS18B20 delay(1)。 //延時 tmpwritebyte(0xcc)。 //跳過序列 號命令 tmpwritebyte(0x44)。 //發(fā)送溫度轉(zhuǎn)換命令 } int tmp() //獲得溫度 大學(xué)畢業(yè)設(shè)計論文 24 { float tt。 uchar a,b。 dsreset()。 delay(1)。 tmpwritebyte(0xcc)。 //跳過讀取 ROM 命令 tmpwritebyte(0xbe)。 //發(fā)送讀取數(shù)據(jù)命令 a=tmpread()。 //連續(xù)讀兩個字節(jié)數(shù)據(jù) b=tmpread()。 temp=b。 temp=8。 temp=temp|a。 //兩字節(jié)合成一個整型變量。 tt=temp*。 //得到真實十進制溫度值,因為 DS18B20 //可以精確到 度,所以讀回數(shù)據(jù)的最低位代表的是 // 度。 temp=tt*10+。 //放大十倍,這樣做 的目的將小數(shù)點后第一位 //也轉(zhuǎn)換為可顯示數(shù)字,同時進行一個四舍五入操作。 return temp。 //返回溫度值 } /*void readrom() //讀取溫度傳感器的序列號 { //本程序中沒有用到此函數(shù) uchar sn1,sn2。 dsreset()。 delay(1)。 tmpwritebyte(0x33)。 sn1=tmpread()。 sn2=tmpread()。 }*/ void display(int temp1) //顯示函數(shù) { char A1,A2,A3,A4,ser。 ser=temp1/10。 SBUF=ser。 if(ser=30) { 大學(xué)畢業(yè)設(shè)計論文 25 P0=~P0。 fm=~fm。 delay(1)。 } if(ser30) { P0=0xff。 fm=1。 } if(temp10) //分離出四位要顯示的數(shù)字 { temp1=~temp1。 A1=temp1/1000。 A2=temp1%1000/100。 A3=temp1%100/10。 A4=temp1%10。 P1=0x00。 wela=1。 wela=0。 P1=0xbf。 dula=1。 dula=0。 P1=0x01。 wela=1。 wela=0。 delay(8)。 P1=0x00。 wela=1。 wela=0。 P1=table[A2]。 dula=1。 dula=0。 P1=0x02。 wela=1。 wela=0。 大學(xué)畢業(yè)設(shè)計論文 26 delay(8)。 P1=0x00。 wela=1。 wela=0。 P1=table1[A3]。 dula=1。 dula=0。 P1=0x04。 wela=1。 wela=0。 delay(8)。 P1=0x00。 wela=1。 wela=0。 P1=table[A4]。 dula=1。 dula=0。 P1=0x08。 wela=1。 wela=0。 elay(2)。 temp1=~temp1。 } else if(temp1=1000) { A1=temp1/1000。 A2=temp1%1000/100。 A3=temp1%100/10。 A4=temp1%10。 P1=0x00。 wela=1。 wela=0。 P1=table[A1]。 dula=1。 dula=0。 大學(xué)畢業(yè)設(shè)計論文 27 P1=0x01。 wela=1。 wela=0。 delay(8)。 P1=0x00。 wela=1。 wela=0。 P1=table[A2]。 dula=1。 dula=0。 P1=0x02。 wela=1。 wela=0。 delay(8)。 P1=0x00。 wela=1。 wela=0。 P1=table1[A3]。 dula=1。 dula=0。 P1=0x04。 wela=1。 wela=0。 delay(8)。 P1=0x00。 wela=1。 wela=0。 P1=table[A4]。 dula=1。 dula=0。 P1=0x08。 wela=1。 wela=0。 delay(2)。 } 大學(xué)畢業(yè)設(shè)計論文 28 else { A1=temp1/1000。 A2=temp1%1000/100。 A3=temp1%100/10。 A4=temp1%10。 P1=table[A2]。 dula=1。 dula=0。 P1=0x01。 wela=1。 wela=0。 delay(8)。 P1=0x00。 wela=1。 wela=0。 P1=table1[A3]。 dula=1。 dula=0。 P1=0x02。 wela=1。 wela=0。 delay(8)。 P1=0x00。 wela=1。 wela=0。 P1=table[A4]。 dula=1。 dula=0。 P1=0x04。 wela=1。 wela=0。 delay(1)。 } } 大學(xué)畢業(yè)設(shè)計論文 29 void main() //主函數(shù) { uchar a。 Init_Com()。 //初始化串口 while(1) { tmpchange()。 //溫度轉(zhuǎn)換 for(a=10。a0。a) { display(tmp())。 //顯示十次 } } }
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1