#include "reg51.h"<br />sbit control=P1^7;<br />void de1ms(void)<br />{<br /> unsigned char temp;<br /> temp=0x7f;<br /> while(temp--);<br /> //wd_reload();<br /> return;<br />}//void serial_init (void)<br />void init_serial(void)<br />{<br /> SCON=0X50;<br /> TMOD=0X20;// count way;<br /> TH1=0XFA;//baurate 9600;<br /> PCON=0X80;<br /> TR1=1;<br /><br />}<br />void init_t0(void)<br />{<br /> TMOD=TMOD|0X05;<br /> TR0=1;<br /> TH0=0XFF;//clr count<br /> TL0=0XFF;//clr<br />}<br />void init_int0(void)<br />{<br /> EA=1;<br /> EX0=1;<br /> IT0=1;<br />}<br />void send_byte(unsigned char x)<br />{<br /> control=0; //反向<br /> SBUF=x;<br /> while(TI==0);//WAIT<br /> TI=0;//CLR<br /> control=1; //反向<br />}<br />void send_8byte(void)<br />{<br />send_byte(0xfe);//about 1.05ms<br />send_byte(0xfb);<br />send_byte(0xfb);<br />send_byte(0xfb);<br />send_byte(0xfb);//count_high<br />send_byte(0xfb);<br />send_byte(0xfb);<br />send_byte(0xfe);<br />}<br />void main(void)<br />{ <br />init_serial();<br />init_t0();<br />init_int0();<br />while(0);<br />{<br />send_8byte();<br />}<br />}<br />RS485通信的IC用的是75176<br />P1.7 是用来控制75176的使能端的<br />上电复位时使能端为0发送是为1<br />但是通过串口传上来的数据和发送的数据就是不一样<br />请各位高手帮忙看看,谢谢各位!!! <br /> |
|