,0,0,0,0,0,0,0};// v ney inf-ya, cot-ya budet vyv- sya na lcscorv;// peremennaya dlya scorosti ventilyatoranterm1 [] = {0,0,0,0,0 x95, 0x67, 0xf6, 0x77};// vnutr nomer termetra 1nterm2 [] = {0,0,0,0,0 x95 , 0x67, 0xf6, 0x77};// vnutr nomer termetra 2nterm3 [] = {0,0,0,0,0 x95, 0x67, 0xf6, 0x77};// vnutr nomer termetra 3dvig = P1 ^ 7;// svyazyvaet port P17 s peremennoy dvigten = P1 ^ 6; tin = P3 ^ 2; e = P1 ^ 5; rs = P1 ^ 4; int1interrupt (void) interrupt 3 using 1
{= (P3 and 0xf0);// videlenie bitov klaviaturi (key == 0x00) flagonoff =! (flagonoff);// key on/offif (key == 0x10)
{=! fniht; fniht = 1 scor = 20;
}// vcluchenie nochnogo rezshimaif (key == 0x20)
{
{= scor +10; scor = 100 scor = 10;
}// regulirovca ​​scorosti ventilyatora if (key == 0x30)
{+ +;
}// regulirovca ​​temperatury, uvelichenieif (key == 0x40)
{-;
}// regulirovca ​​temperatury, umenshenieif (key == 0x50)
{+ +; (min == 60) min = 0;
}// regulirovca ​​vremeni po minutamif (key == 0x60)
{+ +; (chas == 24) chas = 0;
}// regulirovca ​​vremeni po chasam
} timer0int (void) interrupt 1 using 1
{= 0xdb;// reload timer 100 raz v sekundu 11095000 Gc = 0xff;
////////////////////////////////////////// /////////////////////////////////
// obmen s termometrom
if (sec100 == 1) tin = 0;// reset 10ms (sec100 == 2)
{= 1; (i = 0; j <7; j + +);// pauza 21 mkstin then
{//linia ne zakorochena (i = 0; j <10; j + +);// pauza 30 mks! (tin)// termometr otvetil
{(i = 0; j <50; j + +);// timejut 250mks (tin)// linia otpuchena
{//traslate oxCC = 0xCC; (j = 0; j <8; j + +)
{((0x01 & comand) == 0)
{= 0; (i = 0; i <20; i + +); = 1; (i = 0; i <5; i + +);
}// send 0
{= 0; (i = 0; i <5; i + +); = 1; (i = 0; i <20; i + +);// send 1
} = comand>> 1;
}
// send komand 0x44 = 0x44; (j = 0; j <8; j + +)
{((0x01 & comand) == 0)
{= 0; (i = 0; i <20; i + +); = 1; (i = 0; i <5; i + +);
}// send 0
{= 0; (i = 0; i <5; i + +); = 1; (i = 0; i <20; i + +);
}// send 1 = comand>> 1;
}
}
}
} (sec100 == 77) tin = 0;// preobrazovanie end reset termometr