当前位置:首页 > 单片机课程设计-双机通信e - 图文
while(!TI); TI=0; while(!RI); RI=0; }
while((SBUF^0xbb)!=0);
2. 从机接收程序 #include
#define uchar unsigned char #define uint unsigned int void delay(int ); void receive(void) ;
do { sum=0;
for(i=0;i<=15;i++) { SBUF=TAB[i]; sum+=TAB[i];
while(!TI); TI=0; } SBUF=sum; while(!TI); TI=0; while(!RI); RI=0; }
while(SBUF!=0); }
共 16 页 第 13 页
void init(void); uchar i,sum; int j; ucharTAB[16]
={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void main() { init(); receive(); }
void init(void) { EA=1; ES=1; TMOD=0x20; TH1=0xfd; TL1=0xfd; PCON=0x00; SCON=0x50; TR1=1;
}
void delay(int x) { int i,j;
for(i=0;i for(j=1;j<=150;j++ ); } void receive(void) { uchar TABS[16]; do { while(!RI);RI=0; } 共 16 页 第 14 页 while((SBUF^0xaa)!=0); SBUF=0xbb; while(!TI);TI=0; while(1) { sum=0; for(i=0;i<=15;i++) { while(!RI);RI=0; TABS[i]=SBUF; sum+=TABS[i]; } while(!RI);RI=0; if((SBUF^sum)==0) { SBUF=0x00; while(!TI); TI=0; break; } else { SBUF=0xff; while(!TI); TI=0; } } while(1) { for(i=0;i<=15;i++) { P1=TABS[i]; delay(500); } } 共 16 页 第 15 页 } 3. 系统电路图 共 16 页 第 16 页
共分享92篇相关文档