#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 但是通过串口传上来的数据和发送的数据就是不一样 请各位高手帮忙看看,谢谢各位!!! |