當前位置:編程學習大全網 - 編程語言 - 編程報警代碼

編程報警代碼

# include & ltreg52.h & gt

# include & ltstdio.h & gt

#定義uchar無符號字符

#定義uint無符號整數

sbit ds=p2^2;

sbit dula=p2^6;

sbit wela=p2^7;

sbit beep=p2^3;

單位溫度;

浮點f _ temp

uint warn _ 11 = 270;

uint warn _ 12 = 250;

uint warn _ h 1 = 300;

uint warn _ h2 = 320

sbit led0=p1^0;

sbit led1=p1^1;

sbit led2=p1^2;

sbit led3=p1^3;

無符號字符碼表[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,

0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0x ef };

void delay(uint z)//延遲

{

uint x,y;

for(x = z;x & gt0;x -)

for(y = 110;y & gt0;y-);

}

void ds reset(void)//ds 18b 20初始化。

{

uint I;

ds = 0;

I = 103;

while(I & gt;0)I-;

ds = 1;

I = 4;

while(I & gt;0)I-;

}

bittempreadbit(void)//讀取數據函數。

{

uint I;

bit dat

ds = 0;i++;

ds = 1;i++;i++;

dat = ds

I = 8;while(I & gt;0)I-;

return(dat);

}

uchartempread(void)//讀取壹個字節函數。

{

uchar i,j,dat

dat = 0;

for(I = 1;我& lt=8;i++)

{

j = tempreadbit();

dat =(j & lt;& lt7)|(dat & gt;& gt1);

}

return(dat);

}

voidtempwritebyte(uchardat)//寫壹個字節數據函數。

{

uint I;

uchar j;

位testb

for(j = 1;j & lt=8;j++)

{

dat & amp0x 01;

dat = dat & gt& gt1;

如果(測試b)

{

ds = 0;

i++;i++;

ds = 1;

I = 8;while(I & gt;0)I-;

}

其他

{

ds = 0;

I = 8;while(I & gt;0)I-;

ds = 1;

i++;i++;

}

}

}

void temp change(void)//溫度采集和轉換

{

dsreset();

延時(1);

tempwritebyte(0x cc);

tempwritebyte(0x 44);

}

uint get_temp()

{

烏恰爾a、b、坦普拉;

dsreset();

延時(1);

tempwritebyte(0x cc);

tempwritebyte(0x be);

a = tempread();

b = tempread();

temp = b;

temp & lt& lt=8;

temp = templa

f _ temp = temp * 0.0625

temp = f _ temp * 10+0.5;

f _ temp = f _ temp+0.05;

返回溫度;

}

空顯示(uchar數字,uchar數據)

{

烏恰爾壹世;

杜拉= 0;

P0 =表[dat];

杜拉= 1;

杜拉= 0;

wela = 0;

i = 0xff

i = i & amp(~(0x 01)& lt;& lt(num));

P0 = I;

wela = 1;

wela = 0;

延時(1);

}

無效溫度(單位溫度)

{

烏恰爾壹世;

I = t/100;

display(0,I);

I = t % 100/10;

顯示(1,I+10);

I = t % 100% 10;

顯示(2,I);

}

無效警告(單位s,單位led)

{

烏恰爾壹世;I = s;

嗶聲= 0;

p 1 = ~(led);

當(我-)

{

dis _ temp(get _ temp());

}

嗶聲= 1;

p 1 = 0x ff;

I = s;

當(我-)

{

dis _ temp(get _ temp());

}

}

無效交易

{

烏恰爾壹世;

如果((t & gtwarn _ 12)& amp;& amp(t & lt=warn_11))

{

warn(40,0x 01);

}

else if(t & lt;=warn_12)

{

warn(10,0x 03);

}

else if((t & lt;warn _ H2)& amp;& amp(t & gt=warn_h1))

{

warn(40,0x 04);

}

else if(t & gt;=warn_h2)

{

warn(10,0x0c);

}

其他

{

i = 40

當(我-)

{

dis _ temp(get _ temp());

}

}

}

void init_com(無效)

{

TMOD = 0x 20;

PCON = 0x 00;

SCON = 0x 50;

th 1 = 0x FD;

TL 1 = 0x FD;

tr 1 = 1;

}

void comm(char*parr)

{

{

SBUF = * parr++;

而(!TI);

TI = 0;

}

while(* parr);

}

void main()

{

uchar buff[4],我;

杜拉= 0;

wela = 0;

init _ com();

while(1)

{

temp change();

for(I = 10;我& gt0;我-)

{

dis _ temp(get _ temp());

}

交易(臨時);

sprintf(buff," %f ",f _ temp);

for(I = 10;我& gt0;我-)

{

dis _ temp(get _ temp());

}

comm(buff);

for(I = 10;我& gt0;我-)

{

dis _ temp(get _ temp());

}

}

}

  • 上一篇:什麽是WEB1.0,什麽是WEB2.0,它們的區別點在哪
  • 下一篇:編程貓在線編程介紹
  • copyright 2024編程學習大全網