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

正文內(nèi)容

單片機(jī)數(shù)字溫度計(jì)設(shè)計(jì)-資料下載頁

2025-05-12 15:20本頁面

【導(dǎo)讀】們的生活更加豐富多彩,為我們帶來了很多的便利。傳統(tǒng)的溫度計(jì)都是采用水銀。熱漲冷縮的原理制成的。誤差,導(dǎo)致讀取的數(shù)據(jù)并不精確。電子溫度傳感器不僅采用采集數(shù)據(jù)精度高的。DS18B20組成,而且有四位一體的數(shù)碼管作為顯示裝置,這樣更便于讀取數(shù)據(jù),解,并以此為控制核心,同時(shí)利用溫度傳感技術(shù)實(shí)現(xiàn)對當(dāng)前溫度進(jìn)行實(shí)時(shí)測量,此項(xiàng)目主要包括溫度傳感部分,提示報(bào)警部分,開關(guān)控制部。同時(shí)對項(xiàng)目研究背景及意義進(jìn)行了分析。目前溫度計(jì)的發(fā)展很快,從原始的?!,F(xiàn)在所使用的溫度計(jì)通常都是精度為1℃和。熱平衡所需的時(shí)間較長,因此很難讀準(zhǔn),并且使用非常不方便。它利用了AT89C52單片機(jī),通過對單片機(jī)輸入程序,及鍵位設(shè)定,同時(shí)它采用四個(gè)獨(dú)立按鍵,可分別對個(gè)位和十分位的溫度進(jìn)行調(diào)節(jié),該電路采用AT89C52單片機(jī)為中心控制芯片。AT89C52功能強(qiáng)大,可充分滿足該控制器存儲等各。量級中斷結(jié)構(gòu),一個(gè)全雙工串通信口,片內(nèi)振蕩器及時(shí)鐘電路。

  

【正文】 e(0xbe)。 temp_data[0]=read_byte()。 //讀溫度值的低字節(jié) temp_data[1]=read_byte()。 //讀溫度值的高字節(jié) temp=temp_data[1]。 temp=8。 temp=temp|temp_data[0]。 // 兩字節(jié)合成一個(gè)整型變量。 return temp。 //返回溫度值 } /****************溫度數(shù)據(jù)處理函數(shù) ************************/ //二進(jìn)制高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一字節(jié) ,這個(gè) //字節(jié)的二進(jìn)制轉(zhuǎn)換為十進(jìn)制后 ,就是溫度值的百 、十、個(gè)位值 ,而剩 //下的低字節(jié)的低半字節(jié)轉(zhuǎn)化成十進(jìn)制后 ,就是溫度值的小數(shù)部分 /********************************************************/ work_temp(uint tem) { uchar n=0。 if(tem6348) // 溫度值正負(fù)判斷 {tem=65536tem。n=1。} // 負(fù)溫度求補(bǔ)碼 ,標(biāo)志位置 1 display[4]=temamp。0x0f。 // 取小數(shù)部分的值 display[0]=ditab[display[4]]。 // 存入小數(shù)部分顯示值 display[4]=tem4。 // 取中間八位 ,即整數(shù)部分的值 23 display[3]=display[4]/100。 // 取百位數(shù)據(jù)暫存 display[1]=display[4]%100。 // 取后兩位數(shù)據(jù)暫存 display[2]=display[1]/10。 // 取十位數(shù)據(jù)暫存 display[1]=display[1]%10。 //個(gè)位數(shù)據(jù) r=display[1]+display[2]*10+display[3]*100。 /////符號位顯示判斷 ///// if(!display[3]) { display[3]=0x0a。 //最高位為 0 時(shí)不顯示 if(!display[2]) { display[2]=0x0a。 //次高位為 0 時(shí)不顯示 } } if(n){display[3]=0x0b。} //負(fù)溫度時(shí)最高位顯示 } void BEEP() { if((r=highamp。amp。r129)||rlow) { beep=!beep。 LED=!LED。 } else { beep=0。 LED=0。 } } 24 //*********設(shè)置溫度顯 示轉(zhuǎn)換 ************// void xianshi(int horl) { int n=0。 if(horl128) { horl=256horl。n=1。 } display[3]=horl/100。 display[3]=display[3]amp。0x0f。 display[2]=horl%100/10。 display[1]=horl%10。 display[0]=0。 if(!display[3]) { display[3]=0x0a。 //最高位為 0 時(shí)不顯示 if(!display[2]) { display[2]=0x0a。 //次高位為 0 時(shí)不顯示 } } if(n) { display[3]=0x0b。 //負(fù)溫度時(shí)最高位顯示 } } //*********按鍵查詢程序 **************// void keyscan() { 25 int temp1。 //最高溫度和最低溫度標(biāo)志位 if(set==0) { while(1) { delay(500)。//消抖 if(set==0) { temp1++。 while(!set) scan()。 } if(temp1==1) { xianshi(high)。 scan()。 if(add==0) { while(!add) scan()。 high+=1。 } if(dec==0) { while(!dec) scan()。 high=1。 } } 26 if(temp1==2) { xianshi(low)。 if(add==0) { while(!add) scan()。 low+=1。 } if(dec==0) { while(!dec) scan()。 low=1。 } scan()。 } if(temp1=3) { temp1=0。 break。 } } } } /****************主函數(shù) ************************/ void main() { dm=0x00。 //初始化端口 27 w0=0。 w1=0。 w2=0。 w3=0。 for(h=0。h4。h++) //開機(jī)顯示 0000 { display[h]=0。 } ow_reset()。 //開機(jī)先轉(zhuǎn)換一次 write_byte(0xcc)。 //Skip ROM write_byte(0x44)。 //發(fā)轉(zhuǎn)換命令 for(h=0。h100。h++) //開機(jī)顯示 0000 { scan()。 } while(1) { if (temp1==0) { work_temp(read_temp())。 //處理溫度數(shù)據(jù) BEEP()。 scan()。 //顯示溫度值 keyscan()。 } else keyscan()。 } } //***********************結(jié)束 **************************// 1
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1