下載手機(jī)汽配人

基于AT89C51和DS18B20制作的溫度報警器原理圖和單片機(jī)內(nèi)部程序?

如上所述,希望那位大哥大姐能解答解答,發(fā)送到641157117@qq.com郵箱,非常感謝!
提問者:網(wǎng)友 2018-08-03
最佳回答
  #include   #include   #defineucharunsignedchar   #defineuintunsignedint   sbitds=P2^2;//溫度傳感器信號線   sbitdula=P2^6;//數(shù)碼管段選線   sbitwela=P2^7;//數(shù)碼管位選線   sbitbeep=P2^3;//蜂鳴器   uinttemp;   floatf_temp;   uintwarn_l1=260;   uintwarn_l2=250;   uintwarn_h1=300;   uintwarn_h2=320;   sbitled0=P1^0;   sbitled1=P1^1;   sbitled2=P1^2;   sbitled3=P1^3;   unsignedcharcodetable[]={   0x3f,0x06,0x5b,0x4f,   0x66,0x6d,0x7d,0x07,   0x7f,0x6f,0xbf,0x86,   0xdb,0xcf,0xe6,0xed,   0xfd,0x87,0xff,0xef};//不帶小數(shù)點的編碼   voiddelay(uintz)//延時函數(shù)   {   uintx,y;   for(x=z;x>0;x--)   for(y=110;y>0;y--);   }   voiddsreset(void)//18B20復(fù)位,初始化函數(shù)   {   uinti;   ds=0;   i=103;   while(i>0)i--;   ds=1;   i=4;   while(i>0)i--;   }   bittempreadbit(void)//讀1位函數(shù)   {   uinti;   bitdat;   ds=0;i++;//i++起延時作用   ds=1;i++;i++;   dat=ds;   i=8;while(i>0)i--;   return(dat);   }   uchartempread(void)//讀1個字節(jié)   {   uchari,j,dat;   dat=0;   for(i=1;i<=8;i++)   {   j=tempreadbit();   dat=(j<<7)|(dat>>1);//讀出的數(shù)據(jù)最低位在最前面,這樣剛好一個字節(jié)在DAT里   }   return(d
回答者:網(wǎng)友
產(chǎn)品精選
搜索問答
還沒有汽配人賬號?立即注冊

我要提問

汽配限時折扣

本頁是網(wǎng)友提供的關(guān)于“基于AT89C51和DS18B20制作的溫度報警器原理圖和單片機(jī)內(nèi)部程序?”的解答,僅供您參考,汽配人網(wǎng)不保證該解答的準(zhǔn)確性。