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