⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 485.txt

📁 rs485与单片机通信的 程序 单片机可以收发数据 485设备回送接受到的 字节
💻 TXT
字号:
#include <reg52.h>
#define uchar unsigned char
#define byte unsigned char
#define BYTE unsigned char
#define uint unsigned int
#define word unsigned int
#define word unsigned int
#define WORD unsigned int
#define Timeout 300
sbit Ctrl485=P1^0;
uchar xdata combuff[];

void init_serialcomm(void){

  TMOD=0x22;
  TL1=0xfd;
  TH1=0xfd;
  SCON=0x50;
  PCON=0x80;
  TR1=1;
  IE=0x90;
  EA=1;
  Ctrl485=1;}
byte readRi(uint x)
{ while(RI==0)
 {
  if(x==0)return(0);
  x--;
  }
RI=0;
return(1);
}


void rec_serial_data(uchar rec_leng,uchar*sbufRam)
{
  uchar i;
 
  sbufRam[0]=SBUF;
  RI=0;
  rec_leng=1;
  do
 {
  if(readRi(Timeout)==1)
   {
    sbufRam[i]=SBUF;
    rec_leng++;
   }
  else return;
 
}while(RI==0);}


void tarn_serial_data(uchar tran_leng,uchar*sbufRam)
{
 uchar i;
 Ctrl485=0;
 for(i=0;i<tran_leng;i++)
   {SBUF=sbufRam[i];
    while(TI==0);
    TI=0;}
 Ctrl485=1;
}


void tran_int(void) interrupt 4
{
uchar lenth;
EA=0;
rec_serial_data(lenth,combuff);
tran_serial_data(lenth,combuff);
EA=1;
}  


void main(void)
{init_serialcomm();
 while(1);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -