±ÏÒµÉè¼Æ-µ¥Æ¬»úµÄÖ÷´Ó¿ØÖÆÏµÍ³

while(*str!='\\0') { Lcd_Write(Lcd_Write_Data,*str); str++; } }

void Print_Char(uchar a) {

Lcd_Write(Lcd_Write_Data,a); }

/**************************************************************** **¹¦ÄÜ£ºLCDÇåÆÁº¯Êý ** **²ÎÊý£ºÎÞ ** ****************************************************************/ void ClrScreen(void) {

GotoXY(0,0);

Print_Str(\ \ GotoXY(0,1);

Print_Str(\ \ }

¸½Â¼5 Ö÷»úÖжϳÌÐò

int Count=0; //ÍâÖжÏ0¼ÆÊý P3.2½Å int Count2=0; //ÍâÖжÏ1¼ÆÊý P3.3½Å

bit Intval1=0; //ÖжÏÖµ bit Int_pro1=0; //ÖжϺŠbit SendTo1=0; //·¢ËÍλ bit ReceiveFrom1=0; //½ÓÊÕλ

bit Int_pro2=0; bit Intval2=0; bit SendTo2=0;

bit ReceiveFrom2=0;

void Interrupt0(void) interrupt 0 using 1 //ÍâÖжÏ0´¦Àí {

Count++; if(Count==1) {

36

Intval1=1; Int_pro1=1; SendTo1=0; ReceiveFrom1=1; Intval2=0; Int_pro2=0; } if(Count==2) { Count=0; Intval1=0; Int_pro1=0; Intval2=1; Int_pro2=1; SendTo2=0; ReceiveFrom2=1; } /* if(Count==3) { Count=0; Intval1=0; Int_pro1=0; Intval2=0; Int_pro2=0; } */ }

void Interrupt2(void) interrupt 2 using 3 { Count2++; if(Count2==1) { SendTo1=1; ReceiveFrom1=0; Intval1=1; Int_pro1=1; Intval2=0;

//ÍâÖжÏ1´¦Àí37

Int_pro2=0; } if(Count2==2) { Count2=0; Intval1=0; Int_pro1=0; SendTo2=1; ReceiveFrom2=0; Intval2=1; Int_pro2=1; } /*if(Count2==3) { Count2=0;

Intval1=0; Int_pro1=0; Intval2=0; Int_pro2=0; } */ }

//*********´®¿ÚÖжϺ¯Êý

void Interrupt4(void) interrupt 4 using 2 { EA=0; if(TI) { TI=0; } if(RI) { RI=0; switch(SBUF) { case Address_Respond1 : Serial1=1; break; //Èç¹û½ÓÊÕµ½´Ó»ú1·¢Ë͵ĵØÖ·ÏìÓ¦Âë

case Command_Respond1 : Serial1=2; break; //Èç¹û½ÓÊÕµ½´Ó»úÃüÁîµÄÏìÓ¦Âë

case Data_Command_Respond1 : Serial1=3; break; //Èç¹û½ÓÊÕµ½´Ó»ú½á¹ûËÍÖ÷»ú

38

µÄÃüÁîÏìÓ¦

case Data_Receive_Respone1 : Serial1=4; break; case Address_Respond2 : Serial2=1; break; case Command_Respond2 : Serial2=2; break; case Data_Command_Respond2 : Serial2=3; break; case Data_Receive_Respone2 : Serial2=4; break; case Address_Respond3 : Serial3=1; break; case Command_Respond3 : Serial3=2; break; case Data_Command_Respond3 : Serial3=3; break; case Data_Receive_Respone3 : Serial3=4; break; default : break; } } EA=1; }

¸½Â¼6 ´Ó»úζȳÌÐò

#define uchar unsigned char #define uint unsigned int

char volatile xiaoshu_temp[5],zhen_temp[4]; bit dot_dis=1; bit flag;

char TTemp=0; char TTemp1=0;

char volatile DS18B20_Data[4];

void process(unsigned char,unsigned char);

void Serial_Set(void) //´®¿ÚÉèÖà { SCON=0x50; TMOD=TMOD&0x0f; TMOD=TMOD|0x20; TH1 = 0xfD; // 11.0952MHZ ²¨ÌØÂÊ9600 TL1 = 0xfD; TR1=1;

39

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)