/***************************************** pc-rs485控制開(kāi)關(guān) 2011 8 18 郝樹(shù)義制作與河北省衡水市 *******************************************/ #include <reg52.h> typedef unsigned char uint8; typedef unsigned int uint16; uint8 BYT; void Init(); sbit led0=P2^0; sbit led1=P2^1; sbit led2=P2^2; sbit led3=P2^3; sbit led4=P2^4; sbit led5=P2^5; sbit led6=P2^6; sbit led7=P2^7; sbit rs485=P3^6; void _Rx(uint8 BYT); uint8 flag; main() { Init(); while(1) { if( flag==1) { // rs485=0; 無(wú)發(fā)送 flag=0; SBUF=BYT; //數(shù)據(jù)送緩從區(qū) ES=0; while(!TI); //等待發(fā)送 rs485=0; TI=0; ES=1; } } } void Serial() interrupt 4 { // if(RI==1) RI=0; BYT=SBUF; Rx(BYT); flag=1; rs485=1; } void Rx(uint8 BYT ) { switch(BYT) { case 1:led0=~led0;break; case2:led1=~led1;break; case3:led2=~led2;break; case4:led3=~led3;break; case5:led4=~led4;break; case6:led5=~led5;break; case7:led6=~led6;break; case8:led7=~led7;break; } } void Init() { SCON|=0x50; TMOD|=0x20; TCON=0x80; TH1=0xfd; TL1=0xfd; TR1=1; EA=1; ES=1; }
|