打印
[国产单片机]

单片机高手进来帮我看看RS485的通信程序

[复制链接]
1700|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hewei123|  楼主 | 2008-7-16 10:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "reg51.h"
sbit control=P1^7;
void de1ms(void)
{
   unsigned char temp;
   temp=0x7f;
   while(temp--);
    //wd_reload();
    return;
}//void serial_init (void)
void init_serial(void)
{
  SCON=0X50;
  TMOD=0X20;// count way;
  TH1=0XFA;//baurate 9600;
  PCON=0X80;
  TR1=1;
 
}
void init_t0(void)
{
  TMOD=TMOD|0X05;
  TR0=1;
  TH0=0XFF;//clr count
  TL0=0XFF;//clr
}
void init_int0(void)
{
  EA=1;
  EX0=1;
  IT0=1;
}
void send_byte(unsigned char x)
{
  control=0;  //反向
  SBUF=x;
  while(TI==0);//WAIT
  TI=0;//CLR
  control=1;  //反向
}
void send_8byte(void)
{
 send_byte(0xfe);//about 1.05ms
 send_byte(0xfb);
 send_byte(0xfb);
 send_byte(0xfb);
 send_byte(0xfb);//count_high
 send_byte(0xfb);
 send_byte(0xfb);
 send_byte(0xfe);
}
void main(void)

 init_serial();
 init_t0();
 init_int0();
 while(0);
 {
 send_8byte();
 }
}
RS485通信的IC用的是75176
P1.7 是用来控制75176的使能端的
上电复位时使能端为0发送是为1
但是通过串口传上来的数据和发送的数据就是不一样
请各位高手帮忙看看,谢谢各位!!!

相关帖子

沙发
net_walker| | 2008-7-16 12:37 | 只看该作者

re

void send_byte(unsigned char x)
{
  control=1;  //反向
  SBUF=x;
  while(TI==0);//WAIT
  TI=0;//CLR
  control=0;  //反向
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

6

帖子

1

粉丝