资源简介

基于51单片机多节点RS485通信(带Protues仿真),KeilC开发,C代码,Pretues仿真,RS485的DATASHEET都有,对于学习RS485通信,最好的参考资料。

资源截图

代码片段和文件信息


#include
#include
#include
#define uchar unsigned char
unsigned char serial_receiver;
#define uint unsigned int
uchar table0;
uchar table1=0x01;
uchar table2=0x0f;
sbit P3_5=P3^5;
uchar flag=0;
void delayms(uint t)
{
uint i;
uint j;
for(i=0;i for(j=0;j<125;j++);
}
/****************************************

串行口中断子程序

****************************************/
void send1 (void)
{
       ES=0;
RI=0;
  P3_5=1; //将487控制端置位准备好发送

SM2=0;  //将数据发送控制位置0
P1=table1;//将要发送的数据显示在P1口
TB8=0;
SBUF=table1;//发送数据
while(TI!=1);TI=0;//等待并判断数据发送完毕
SM2=1;//将数据地址控制位置1为接收地址做准备
ES=1; //开中断
P3_5=0;//将487设置为接收模式
delayms(1000);
P1=0x00;

void send2 (void)
{
       ES=0;
RI=0;
  P3_5=1; //将487控制端置位准备好发送
SM2=0;  //将数据发送控制位置0
TB8=0;
P1=table2;//将要发送的数据显示在P1口
SBUF=table2;//发送数据
while(TI!=1);TI=0;//等待并判断数据发送完毕

SM2=1;//将数据地址控制位置1为接收地址做准备
ES=1; //开中断
P3_5=0;//将487设置为接收模式
delayms(1000);
P1=0x00;

void serial (void) interrupt 4 using 1
{
    ES=0;
  RI=0;
  SM2=1;
  table0=SBUF;
  if(RB8)
  {
  if(table0==0x01)send1();
  if(table0==0x02)send2();
  }
  ES=1; //开中断
}

/*****************主程序******************/

void main(void)
{
 
  P1=0x00;
  TMOD=0x20;
  TL1=0xfd;
  TH1=0xfd;
  PCON=0x00;
  TR1=1;
  SCON=0xf0;
  EA=1;
  ES=1;
  P3_5=0;
      P2=0X00;
  while(1)
  {
        //
    _nop_();

  }

}














 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5712  2011-03-09 15:09  rs485通信\dizhi1#

     文件       1690  2011-03-09 14:44  rs485通信\dizhi1#.c

     文件        999  2011-03-09 15:09  rs485通信\dizhi1#.hex

     文件         31  2011-03-09 15:09  rs485通信\dizhi1#.lnp

     文件       4790  2011-03-09 15:09  rs485通信\dizhi1#.LST

     文件       6851  2011-03-09 15:09  rs485通信\dizhi1#.M51

     文件       6090  2011-03-09 15:09  rs485通信\dizhi1#.OBJ

     文件        988  2011-03-09 15:09  rs485通信\dizhi1#.Opt

     文件       1808  2011-03-09 15:09  rs485通信\dizhi1#.plg

     文件       2145  2011-03-08 13:58  rs485通信\dizhi1#.Uv2

     文件        986  2011-03-08 19:28  rs485通信\dizhi1#_Opt.Bak

     文件       1992  2007-10-27 05:04  rs485通信\dizhi1#_Uv2.Bak

     文件       5712  2011-03-09 14:44  rs485通信\dizhi2#

     文件       1678  2011-03-09 14:44  rs485通信\dizhi2#.c

     文件        999  2011-03-09 14:44  rs485通信\dizhi2#.hex

     文件         31  2011-03-09 14:44  rs485通信\dizhi2#.lnp

     文件       4757  2011-03-09 14:44  rs485通信\dizhi2#.LST

     文件       6851  2011-03-09 14:44  rs485通信\dizhi2#.M51

     文件       6090  2011-03-09 14:44  rs485通信\dizhi2#.OBJ

     文件        986  2011-03-09 15:10  rs485通信\dizhi2#.Opt

     文件       1648  2011-03-09 15:10  rs485通信\dizhi2#.plg

     文件       2145  2011-03-08 13:58  rs485通信\dizhi2#.Uv2

     文件        988  2011-03-08 19:28  rs485通信\dizhi2#_Opt.Bak

     文件       1992  2007-11-12 00:05  rs485通信\dizhi2#_Uv2.Bak

     文件       5788  2011-03-09 14:42  rs485通信\dizhi3#

     文件       1690  2011-03-09 15:10  rs485通信\dizhi3#.c

     文件       1005  2011-03-09 14:42  rs485通信\dizhi3#.hex

     文件         31  2011-03-09 14:42  rs485通信\dizhi3#.lnp

     文件       4783  2011-03-09 14:42  rs485通信\dizhi3#.LST

     文件       6886  2011-03-09 14:42  rs485通信\dizhi3#.M51

............此处省略41个文件信息

评论

共有 条评论