双51单片机直接对接P3.0,3.1进行串行通信...从机始终不能收..程序如下<br />void INIT_SERIAL()<br />{<br /> SCON=0xD0; //工作方式3,9位数据位,波特率9600bit/s,允许接收<br /> TMOD&=0x0F;//定时器T1使用工作方式2<br /> TMOD|=0x20;<br /> PCON=0x00;<br /> TL1=0x0FD;<br /> TH1=0x0FD;<br /> TR1=1;<br /> ET1=0; //定时器1中断禁止<br /> SM2=1; //只接收地址信号<br /> ES=1;<br /> PS=1;<br />}<br />从机<br /> while(1)<br /> { <br /> while(RI!=1);<br /> RI=0;<br /> aa=SBUF;<br /> Display_dat(aa);<br /> Delay1ms(1000,123);<br /> aa++;<br /> SBUF=aa;<br /> while(TI!=1);<br /> TI=0;<br /> }<br /> <br />主机<br /> TI=0;<br /> TB8=1; //发地址信号<br /> SBUF=addr; //发从机地址<br /> while(!TI);TI=0;<br /> while(RI!=1); (程序总停在这行...)<br /><br />为什么?高手们请问。.. |
|