欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2150|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

at89c52+ds18b20溫度檢測(cè)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
仿真電路圖見(jiàn)附件
程序代碼如下:   
//#include<1820.h>
   #include<reg.51>
   #include<intrins.h>
   #define uchar unsigned char
   #define uint unsigned int
   //bit flag;
   //#define wei 0xa0;
   //#define duan 0x90;
   uchar data disdata[5];
   //uint tvalue;
   uchar tflag;
   sbit DQ=P3^7;
   bit f=0;
   uchar tempint,temppdp;
   uchar TempTab[4];
   uchar code discode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF};
   void delay()
   {
   uchar i,j;
   for(i=0;i<5;i++)
      for(j=0;j<250;j++)
   {
   _nop_();
   _nop_():
   }
   }
   void delay_18B20(uint i)
   {
   while(i--);
   }
   void ds1820rst()
   {
   unsigned char x=0;
   DQ=1;
   delay_18B20(4);
   DQ=0;
   delay_18B20(100);
   DQ=1;
   delay_18B20(40);
   }
   
   uchar ds1820rd()
   {
   unsigned char i=0;
   unsigned char dat =0;
   for(i=8;i>0;i++)
   {
   DQ=0;
   dat>>=1;
   DQ=1;
   if(DQ)
   dat|=0x80;
   delay_18B20(10);
   }
   return(dat);
   }
   void ds1820wr(uchar wdata)
   {
   unsigned char i=0;
   for(i=8;i>0;i--)
   {
   DQ=0;
   DQ=wdata&0x01;
   delay_18B20(10);
   DQ=1;
   wdata>>=1;
   }
   }
   void read_temp()
   {
   uchar temph,templ,k;
   f=0;
   ds1820rst();
   ds1820wr(0xcc);
   ds1820wr(0x44);
   ds1820rst();
   ds1820wr(0xcc);
   ds1820wr(0xbe);
   templ=ds1820rd();
   temph=ds1820rd();
   if((temph&0xf8)!=0x00)
   {
   f=1;
   temph=~temph;
   templ=~templ;
   k=templ+1;
   templ=k;
   if(k>255)
   {
   temph++;
   }
   }
   tempdp=(templ&oxof)*10/16;
   templ>>=4;
   temph<<=4;
   tempint=temph|templ;
   }
   void distemp()
   {
   uchar i,j;
   if(f==0)
   {
   TempTab[0]=tempint/100;
   TempTab[1]=(tempint/10)%10;
   TempTab[2]=tempint%10;
   TempTab[3]=tempdp;
   }
   else
   {
   TempTab[0]=10;
   TempTab[1]=tempint/10;
   TempTab[2]=tempint%10;
   TempTab[3]=tempdp;
   }
   for(i=0;i<4;i++)
   {
   P2=_cror_(0xf7,i);
   j=TempTab[i];
   if(i==2)
    P1=discode[j]&0x7f;
else
P1=discode[j];
delay();
P2=Oxff;
   }
   }
   void main()
   {
   while(1)
   {
   _nop_();
   _nop_();
   read_temp();
    _nop_();
   _nop_();
   distemp();
   }
   }


ds.png (123.35 KB, 下載次數(shù): 30)

ds.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表