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

正文內(nèi)容

單片機(jī)課程設(shè)計(jì)報(bào)告-基于at89c51單片機(jī)的數(shù)顯溫度傳感器設(shè)計(jì)(編輯修改稿)

2025-07-03 21:00 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 _min)。} else。 if(k4==1) //k4=1時(shí)K4按鍵選擇正負(fù)溫度設(shè)定功能 { if(key4==0) { if(v2==0)beer=0。 keyscan_delay(5)。 if(key4==0) { beer=1。 if(a==1) {if(max55) f_max=0。else f_max=~f_max。}//當(dāng)溫度大于55度時(shí),只能設(shè)定為正溫度 if(a==2) {if(min55) f_max=0。else f_min=~f_min。}//當(dāng)溫度大于55度時(shí),只能設(shè)定為正溫度 } while(key4==0)。 keyscan_delay(10)。 } } if(v==0) //v=0時(shí)選擇上下限查看功能 { if(key2==0) { if(v2==0)beer=0。 keyscan_delay(10)。 if(key2==0) { beer=1。 a=1。 //選擇上限顯示 TR1=1。 //開(kāi)定時(shí)器1開(kāi)始定時(shí)一分鐘左右 s1=1。 //上限顯示不閃爍,顯示一分鐘左右自動(dòng)退出 } while(key2==0)。 keyscan_delay(10)。 } if(key3==0) { if(v2==0)beer=0。 keyscan_delay(10)。 if(key3==0) { beer=1。 a=2。 //選擇下限顯示 TR1=1。 //開(kāi)定時(shí)器1開(kāi)始定時(shí)1s s1=1。 //下限顯示不閃爍,顯示1s自動(dòng)退出 } while(key3==0)。 keyscan_delay(10)。 } if(v1==1) //v1=1時(shí)定時(shí)1s時(shí)間到自動(dòng)關(guān)閉報(bào)警上下限查看功能 {a=0。v1=0。TR1=0。} //a=0顯示實(shí)測(cè)溫度,v1清零,關(guān)定時(shí)器1 if(k4==0) //k4=0時(shí)K4按鍵選擇消按鍵音的功能 { if(key4==0) { if(v2==0)beer=0。 keyscan_delay(10)。 if(key4==0) { beer=1。 v2=~v2。 //為‘0’時(shí)開(kāi)按鍵音,為‘1’時(shí)關(guān)按鍵音 } while(key4==0)。 keyscan_delay(10)。 } } } }endif/********************************************************************* 程序名。 DS18B20頭文件 * 說(shuō) 明:用到的全局變量是:無(wú)符號(hào)字符型變量temp(測(cè)得的溫度整數(shù)部分), temp_d(測(cè)得的溫度小數(shù)部分),標(biāo)志位f(測(cè)量溫度的標(biāo)志位‘0’表 示“正溫度”‘1’表示“負(fù)溫度”),標(biāo)志位f_max(上限溫度的標(biāo)志位 ‘0’表示“正溫度”、‘1’表示“負(fù)溫度”),標(biāo)志位f_min(下限溫度的 標(biāo)志位‘0’表示“正溫度”、‘1’表示“負(fù)溫度”),標(biāo)志位w(報(bào)警標(biāo)志位 ‘1’啟動(dòng)報(bào)警‘0’關(guān)閉報(bào)警)。 *********************************************************************/ifndef __ds18b20_h__ //定義頭文件define __ds18b20_h__define uint unsigned int define uchar unsigned char sbit DQ= P2^3。 //DS18B20接口sbit beer=P1^0。 //sbit led=P1^1。 //uchar temp=0。 //測(cè)量溫度的整數(shù)部分uchar temp_d=0。 //測(cè)量溫度的小數(shù)部分bit f=0。 //測(cè)量溫度的標(biāo)志位‘0’表示“正溫度” ‘1’表示“負(fù)溫度”)bit f_max=0。 //上限溫度的標(biāo)志位‘0’表示“正溫度” ‘1’表示“負(fù)溫度”)bit f_min=0。 //下限溫度的標(biāo)志位‘0’表示“正溫度” ‘1’表示“負(fù)溫度”)bit w=0。 //報(bào)警標(biāo)志位‘1’啟動(dòng)報(bào)警,‘0’關(guān)閉報(bào)警。/******************************************************//* 延時(shí)子函數(shù) //*****************************************************/void ds18b20_delayus(uint t) //延時(shí)幾μs{ while(t)。}void ds18b20_delayms(uint t) //延時(shí)1ms左右{ uint i,j。 for(i=t。i0。i) for(j=120。j0。j)。}/******************************************************//* DS18B20初始化函數(shù) //*****************************************************/void ds18b20_init() { uchar c=0。 DQ=1。 DQ=0。 //控制器向DS18B20發(fā)低電平脈沖 ds18b20_delayus(80)。 //延時(shí)1580μs DQ=1。 //控制器拉高總線, while(DQ)。 //等待DS18B20拉低總線,在60240μs之間 ds18b20_delayus(150)。 //延時(shí),等待上拉電阻拉高總線 DQ=1。 //拉高數(shù)據(jù)線,準(zhǔn)備數(shù)據(jù)傳輸;}/******************************************************//* DS18B20字節(jié)讀函數(shù) //*****************************************************/uchar ds18b20_read() { uchar i。 uchar d=0。 DQ = 1。 //準(zhǔn)備讀; for(i=8。i0。i) { d = 1。 //低位先發(fā); DQ = 0。 _nop_()。 _nop_()。 DQ = 1。 //必須寫(xiě)1,否則讀出來(lái)的將是不預(yù)期的數(shù)據(jù); if(DQ) //在12us處讀取數(shù)據(jù); d |= 0x80。 ds18b20_delayus(10)。 } return d。 //返回讀取的值}/******************************************************//* DS18B20字節(jié)寫(xiě)函數(shù) //*****************************************************/void ds18b20_write(uchar d) { uchar i。 for(i=8。i0。i) { DQ=0。 DQ=damp。0x01。 ds18b20_delayus(5)。 DQ=1。 d = 1。 }}/******************************************************//* 獲取溫度函數(shù) //*****************************************************/ void get_temperature(bit flag) { uchar a=0,b=0,c=0,d=0。 uint i。 ds18b20_init()。 ds18b20_write(0xcc)。 //向DS18B20發(fā)跳過(guò)讀ROM命令 ds18b20_write(0x44)。 //寫(xiě)啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換命令,轉(zhuǎn)換結(jié)果存入內(nèi)部RAM if(flag==1) { //首次啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換需要500ms,若轉(zhuǎn)換時(shí)間不夠就出錯(cuò),讀出的是85度的錯(cuò)誤值。 display1(1)。 //用開(kāi)機(jī)動(dòng)畫(huà)耗時(shí) } else ds18b20_delayms(1)。 ds18b20_init()。 ds18b20_write(0xcc)。 ds18b20_write(0xbe)。 a=ds18b20_read()。 //讀內(nèi)部RAM (LSB) b=ds18b20_read()。 //讀內(nèi)部RAM (MSB) if(flag==1) //局部位變量f=1時(shí)讀上下線報(bào)警溫度 { max=ds18b20_read()。 //讀內(nèi)部RAM (TH) min=ds18b20_read()。 //讀內(nèi)部
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1