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

正文內(nèi)容

基于數(shù)字溫度傳感器的數(shù)字溫度計課程設(shè)計-資料下載頁

2025-06-05 16:49本頁面
  

【正文】 TMOD|=0x01。//定時器設(shè)置 TH0=0xef。 //TH0=(655364000)/256。 TL0=0xf0。 //TL0=(655364000)%256。 IE=0x82。 TR0=1。 P2=0x00。 count=0。 while(1) { str[5]=0x39。 //顯示 C 符號 str[1]=tab[TempH/100]。 //十位溫度 str[2]=tab[(TempH%100)/10]。 //十位溫度 str[3]=tab[(TempH%100)%10]|0x80。 //個位溫度 ,帶小數(shù)點(diǎn) str[4]=tab[TempL]。 if(flag_get==1) //定時讀取當(dāng)前溫度正負(fù) { temp=ReadTemperature()。 if(tempamp。0x8000) { str[0]=0x40。//負(fù)號標(biāo)志 temp=~temp。 // 取反加 1 temp +=1。 } else str[0]=0。 TempH=temp4。 TempL=tempamp。0x0F。 TempL=TempL*6/10。//小數(shù)近似處理 flag_get=0。 } } } /******************************************************************/ /* 定時器中斷 */ /******************************************************************/ void tim(void) interrupt 1 using 1//中斷,用于數(shù)碼管掃描和溫度檢測間隔 { TH0=0xef。//定時器重裝值 或 //TH0=(655364000)/256。 第 18 頁 TL0=0xf0。 //TL0=(655364000)%256。 num++。 if (num==50) {num=0。 flag_get=1。//標(biāo)志位有效 second++。 if(second=60) {second=0。 minute++。 } } count++。 if(count==1) {P2=0。 P0=str[0]。}//數(shù)碼管掃描 if(count==2) {P2=1。 P0=str[1]。} if(count==3) { P2=2。 P0=str[2]。 } if(count==4) { P2=3。 P0=str[3]。 } if(count==5) { P2=4。 P0=str[4]。 } if(count==6) { P2=5。 P0=str[5]。 count=0。} } /******************************************************************/ /* 延時函數(shù) */ /******************************************************************/ void delay(unsigned int i)//延時函數(shù) 第 19 頁 { while(i)。 } /******************************************************************/ /* 初始化 */ /******************************************************************/ void Init_DS18B20(void) { unsigned char x=0。 DQ = 1。 //DQ 復(fù)位 delay(8)。 //稍做延時 DQ = 0。 //單片機(jī)將 DQ 拉低 delay(80)。 //精確延時 大于 480us DQ = 1。 //拉高總線 delay(10)。 x=DQ。 //稍做延時后 如果 x=0 則初始化成功 x=1 則初始化失敗 delay(5)。 } /******************************************************************/ /* 讀一個字節(jié) */ /******************************************************************/ unsigned char ReadOneChar(void) { unsigned char i=0。 unsigned char dat = 0。 for (i=8。i0。i) { DQ = 0。 // 給脈沖信號 dat=1。 DQ = 1。 // 給脈沖信號 if(DQ) dat|=0x80。 delay(5)。 } return(dat)。 } /******************************************************************/ /* 寫一個字節(jié) */ /******************************************************************/ 第 20 頁 void WriteOneChar(unsigned char dat) { unsigned char i=0。 for (i=8。 i0。 i) { DQ = 0。 DQ = datamp。0x01。 delay(5)。 DQ = 1。 dat=1。 } delay(5)。 } /******************************************************************/ /* 讀取溫度 */ /******************************************************************/ unsigned int ReadTemperature(void) { unsigned char a=0。 unsigned int b=0。 unsigned int t=0。 Init_DS18B20()。 WriteOneChar(0xCC)。 // 跳過讀序號列號的操作 WriteOneChar(0x44)。 // 啟動溫度轉(zhuǎn)換 delay(200)。 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過讀序號列號的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器等(共可讀 9 個寄存器) 前兩個就是溫度 a=ReadOneChar()。 //低位 b=ReadOneChar()。 //高位 b=8。 t=a+b。 return(t)。 } 系統(tǒng)電路圖 :
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1