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

正文內(nèi)容

基于單片機的ds18b20多點測溫系統(tǒng)lcd1602顯示-資料下載頁

2025-06-27 19:58本頁面
  

【正文】 s1820復(fù)位{ uchar x=0。 DQ1 = 1。 //DQ復(fù)位 delay_18B20(4)。 //延時 DQ1 = 0。 //DQ拉低 delay_18B201(100)。 //精確延時大于480us DQ1 = 1。 //拉高 delay_18B201(40)。 } uchar ds1820rd1() //讀數(shù)據(jù){ uchar i=0。 uchar dat1 = 0。 for (i=8。i0。i) { DQ1 = 0。 //給脈沖信號 dat1=1。 DQ1 = 1。 //給脈沖信號 if(DQ1) dat1|=0x80。 delay_18B201(10)。 } return(dat1)。}void ds1820wr1(uchar wdata1) //寫數(shù)據(jù){ uchar i=0。 for (i=8。 i0。 i) { DQ1 = 0。 DQ1 = wdata1amp。0x01。 delay_18B201(10)。 DQ1 = 1。 wdata1=1。 }}read_temp1() //2號讀取溫度值并轉(zhuǎn)換{ uchar a1,b1。 ds1820rst1()。 ds1820wr1(0xcc)。 //跳過讀序列號 ds1820wr1(0x44)。 //啟動溫度轉(zhuǎn)換 ds1820rst1()。 ds1820wr1(0xcc)。 //跳過讀序列號 ds1820wr1(0xbe)。 //讀取溫度 a1=ds1820rd1()。 b1=ds1820rd1()。 tvalue1=b1。 tvalue1=8。 tvalue1=tvalue1|a1。 if(tvalue10x07ff) tflag1=0。 else { tvalue1=~tvalue1+1。 tflag1=1。 } tvalue1=tvalue1*()。 //溫度值擴大10倍,精確到1位小數(shù) return(tvalue1)。}/*******************************************************************/ void ds1820disp1() //2號溫度值顯示{ uchar flagdat1。 disdata1[0]=tvalue1/1000+0x30。 //百位數(shù) disdata1[1]=tvalue1%1000/100+0x30。 //十位數(shù) disdata1[2]=tvalue1%100/10+0x30。 //個位數(shù) disdata1[3]=tvalue1%10+0x30。 //小數(shù)位 if(tflag1==0) flagdat1=0x20。 //正溫度不顯示符號 else flagdat1=0x2d。 //負溫度顯示負號: if(disdata1[0]==0x30) { disdata1[0]=0x20。 //如果百位為0,不顯示 if(disdata1[1]==0x30) disdata1[1]=0x20。 //如果百位為0,十位為0也不顯示 } //wr_dat(flagdat1)。 //顯示符號位 wr_(0x80+0x0A)。 wr_dat(disdata1[0])。 //顯示百位 wr_(0x80+0x0B)。 wr_dat(disdata1[1])。 //顯示十位 wr_(0x80+0x0C)。 wr_dat(disdata1[2])。 //顯示個位 wr_(0x80+0x0D)。 wr_dat(0x2e)。 //顯示小數(shù)點 wr_(0x80+0x0E)。 wr_dat(disdata1[3])。 //顯示小數(shù)位}/*******************三號DS18B20程序**************************/void delay_18B202(uint i) //延時1微秒{ while(i)。}void ds1820rst2() //ds1820復(fù)位{ uchar x=0。 DQ2 = 1。 //DQ復(fù)位 delay_18B202(4)。 //延時 DQ2 = 0。 //DQ拉低 delay_18B202(100)。 //精確延時大于480us DQ2 = 1。 //拉高 delay_18B202(40)。 } uchar ds1820rd2() //讀數(shù)據(jù){ uchar i=0。 uchar dat2 = 0。 for (i=8。i0。i) { DQ2 = 0。 //給脈沖信號 dat2=1。 DQ2 = 1。 //給脈沖信號 if(DQ2) dat2|=0x80。 delay_18B202(10)。 } return(dat2)。}void ds1820wr2(uchar wdata2) //寫數(shù)據(jù){ uchar i=0。 for (i=8。 i0。 i) { DQ2 = 0。 DQ2 = wdata2amp。0x01。 delay_18B202(10)。 DQ2 = 1。 wdata2=1。 }}read_temp2() //3號讀取溫度值并轉(zhuǎn)換{ uchar a2,b2。 ds1820rst2()。 ds1820wr2(0xcc)。 //跳過讀序列號 ds1820wr2(0x44)。 //啟動溫度轉(zhuǎn)換 ds1820rst2()。 ds1820wr2(0xcc)。 //跳過讀序列號 ds1820wr2(0xbe)。 //讀取溫度 a2=ds1820rd2()。 b2=ds1820rd2()。 tvalue2=b2。 tvalue2=8。 tvalue2=tvalue2|a2。 if(tvalue20x07ff) tflag2=0。 else { tvalue2=~tvalue2+1。 tflag2=1。 } tvalue2=tvalue2*()。 //溫度值擴大10倍,精確到1位小數(shù) return(tvalue2)。}/******************3號溫度值顯示************************/ void ds1820disp2() { uchar flagdat2。 disdata2[0]=tvalue2/1000+0x30。 //百位數(shù) disdata2[1]=tvalue2%1000/100+0x30。 //十位數(shù) disdata2[2]=tvalue2%100/10+0x30。 //個位數(shù) disdata2[3]=tvalue2%10+0x30。 //小數(shù)位 if(tflag2==0) flagdat2=0x20。 //正溫度不顯示符號 else flagdat2=0x2d。 //負溫度顯示負號: if(disdata2[0]==0x30) { disdata2[0]=0x20。 //如果百位為0,不顯示 if(disdata2[1]==0x30) disdata2[1]=0x20。 //如果百位為0,十位為0也不顯示 } //wr_dat(flagdat2)。 //顯示符號位 wr_(0x80+0x42)。 wr_dat(disdata2[0])。 //顯示百位 wr_(0x80+0x43)。 wr_dat(disdata2[1])。 //顯示十位 wr_(0x80+0x44)。 wr_dat(disdata2[2])。 //顯示個位 wr_(0x80+0x45)。 wr_dat(0x2e)。 //顯示小數(shù)點 wr_(0x80+0x46)。 wr_dat(disdata2[3])。 //顯示小數(shù)位}/*******************按鍵處理程序*****************************/void keyscan(){ if(key1==0) //按鍵1 { delay1ms(10)。 if(key1==0) { flag1=1。 while(!key1)。 }} if(key2==0) //按鍵2 { delay1ms(10)。 if(key2==0) { flag2=1。 while(!key2)。 }} if(key3==0) //按鍵3 { delay1ms(10)。 if(key3==0) { flag3=1。 while(!key3)。 }} if(key4==0) //按鍵4 { delay1ms(10)。 if(key4==0) { flag4=1。 while(!key4)。 }}}/********************主程序***********************************/void main(){ init_play()。 //1號初始化顯示 init_play1()。 //2號初始化顯示 init_play2()。 //3號初始化顯示 while(1) { keyscan()。 if(flag1==1) { read_temp()。 //讀取溫度 ds1820disp()。 //顯示 } if(flag2==1) { read_temp1()。 //讀取溫度 ds1820disp1()。 //顯示 } if(flag3==1) { read_temp2()。 //讀取溫度 ds1820disp2()。 //顯示 } if(flag4==1) { read_temp()。 //讀取溫度 ds1820disp()。 //顯示 read_temp1()。 //讀取溫度 ds1820disp1()。 //顯示 read_temp2()。 //讀取溫度 ds1820disp2()。 //顯示 } }}
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1