下載手機(jī)汽配人

求用89C52單片機(jī)+DS18B20+LED燈結(jié)合的溫度報(bào)警器,用keil編程c語(yǔ)言程序代碼?不用顯示溫度

只設(shè)溫度上限就可以,超過(guò)設(shè)定的溫度上限LED燈就亮起來(lái),不用顯示檢測(cè)到的具體溫度,有就發(fā)到544622364@QQ.com 可以加分,非常感謝!??!
提問者:網(wǎng)友 2018-07-28
最佳回答
#include #include #define uchar unsigned char #define uint unsigned int sbit ds=P2^2; sbit dula=P2^6; sbit wela=P2^7; sbit beep=P2^3; uint temp; float f_temp; uint warn_11=270; uint warn_12=250; uint warn_h1=300; uint warn_h2=320; sbit led0=P1^0; sbit led1=P1^1; sbit led2=P1^2; sbit led3=P1^3; unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; void delay(uint z) //延時(shí) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void dsreset(void) // DS18B20初始化 { uint i; ds=0; i=103; while(i>0) i--; ds=1; i=4; while(i>0) i--; } bit tempreadbit(void) //讀一位數(shù)據(jù)函數(shù) { uint i; bit dat; ds=0;i++; ds=1;i++;i++; dat=ds; i=8;while(i>0)i--; return (dat); } uchar tempread(void) //讀一個(gè)字節(jié)函數(shù) { uchar i,j,dat; dat=0; for(i=1;i<=8;i++) { j=tempreadbit(); dat=(j<<7)|(dat>>1); } return(dat); } void tempwritebyte(uchar dat) //寫一個(gè)字節(jié)數(shù)據(jù)函數(shù) { uint i; uchar j; bit testb; for(j=1;j<=8;j++) { testb=dat&0x01; dat=dat>>1; if(testb) { ds=0; i++;i++; ds=1; i
回答者:網(wǎng)友
產(chǎn)品精選
搜索問答
還沒有汽配人賬號(hào)?立即注冊(cè)

我要提問

汽配限時(shí)折扣

本頁(yè)是網(wǎng)友提供的關(guān)于“求用89C52單片機(jī)+DS18B20+LED燈結(jié)合的溫度報(bào)警器,用keil編程c語(yǔ)言程序代碼?不用顯示溫度”的解答,僅供您參考,汽配人網(wǎng)不保證該解答的準(zhǔn)確性。