多谢两位的关心,现在把程序贴上,请各位高手多多指教,小弟不胜感激!
int CODE; int SYNCH; int ADDRESS; int COMMAND_1; int COMMAND_2; int DATA_1; int DATA_2; int CHECK_SUM; void SEND_ADDRESS(); //************************************************* void REC_ADDRESS(void) interrupt 4 {
if(RI) { SYNCH=SBUF; } RI=0; while(RI==0){}
if(RI) { ADDRESS=SBUF; } RI=0; while(RI==0) {}
if(RI) { COMMAND_1=SBUF; } RI=0; while(RI==0) {}
if(RI) { COMMAND_2=SBUF; } RI=0; while(RI==0){}
if(RI) { DATA_1=SBUF; } RI=0; while(RI==0){}
if(RI) { DATA_2=SBUF; } RI=0; while(RI==0){}
if(RI) { CHECK_SUM=SBUF; } RI=0;
if(ADDRESS==CODE) { SEND_ADDRESS(); } } //****************************************************** void SEND_ADDRESS(void) { EA=0; SBUF=SYNCH; while(TI==0); TI=0; SBUF=ADDRESS; while(TI==0); TI=0; SBUF=COMMAND_1; while(TI==0); TI=0; SBUF=COMMAND_2; while(TI==0); TI=0; SBUF=DATA_1; while(TI==0); TI=0; SBUF=DATA_2; while(TI==0); TI=0; SBUF=CHECK_SUM; while(TI==0); TI=0; EA=1; }
//**************************************** void main(void) { CODE=P0; TCON=0x05; SCON=0x52; PCON=0x80; TMOD=0x21; TH1=0xa9; TL1=0xa9; TR1=1; P1_4=0; P3_6=1; P1_6=0; EA=1; ES=1; while(1) { } }
|