本帖最后由 onbluesun 于 2012-5-16 23:16 编辑
我的一个实验中,需要用一个单片机与RS232和RS485通信。单片机的RXD和TXD接了MAX232,单片机的RXD和TXD还有P2.0(使能端)接了MAX485,这时电脑就无法与单片机通信了。当我把MAX485的VCC断开后,电脑又可以通过RS232和单片机通信了。
是这样的,我单片机的TXD和RXD分别都接到了MAX485和MAX232,现在比如用RS232通信,就无法正常通信。
下面是电路图,电容以及连入电脑部分没画:
QQ截图20120516231522.png (24.02 KB, 下载次数: 1)
下载附件
2012-5-16 23:15 上传
下面是程序:
- #include <reg52.h>
- #include <intrins.h>
- #define uchar unsigned char
- sbit l1=P1^2;
- sbit l2=P2^0;
- void initUart();
- uchar rChar;
- void main()
- {
- l1=0;
- l2=0;
- initUart();
- IE=0x90;
- while(1);
- }
- void initUart()
- {
- SCON =0x50;
- RCAP2H=0xFF;
- RCAP2L=0xDC;
- T2CON=0x34;
- }
- void time() interrupt 4
- {
- RI=0;
- rChar=SBUF;
- if(rChar=='a')
- {
- l1=1;
- }
- else if(rChar=='b')
- {
- l1=0;
- }
- }
复制代码
如果是后者你的单片机只能发数据而无法正常接收数据。
一周热门 更多>