标题: Protues串口调试问题 [打印本页]
作者: leiyan0811 时间: 2020-3-1 11:29
标题: Protues串口调试问题
用虚拟 串口软件配置com1、com2,在protues上做串口调试,com1分配给 protues上串口COMPIM ,com2用串口助手的串口。无法实现串口数据收发,请问问题处在哪里。虚拟串口com1、com2相互可以接受收据。希望大神指点下。
。
#include <reg52.h>
void ConfigUART(unsigned int baud);
void main()
{
ConfigUART(9600);
while (1)
{
while (!RI);
RI = 0;
SBUF = SBUF + 1;
while (!TI);
TI = 0;
}
}
void ConfigUART(unsigned int baud)
{
SCON = 0x50; //??????????1
TMOD &= 0x0F; //????T1 ?????λ
TMOD |= 0x20; //????T1 ???2
TH1 = 256 - (11059200/12/32)/baud; //????T1 ?????
TL1 = TH1; //????????????
ET1 = 0; //???T1 ?ж?
TR1 = 1; //???T1
}
作者: ccczzz 时间: 2020-3-1 13:08
个人建议不要直接使用COM1和COM2端口,要新添加虚拟COM3和COM4端口,然后再进行调试。
作者: ccczzz 时间: 2020-3-1 13:09
新添加COM3和COM4端口试试,应该可以仿真调试了。
作者: leiyan0811 时间: 2020-3-1 14:22
我电脑com3.com4是物理端口,com1、com2是加的虚拟端口
作者: tyrl800 时间: 2020-3-1 15:33
单片机的晶振设置正确了吗?
作者: leiyan0811 时间: 2020-3-1 15:48
晶振设置11.0592M
作者: 51hei**1140 时间: 2020-3-1 16:02
你好!
1、单片机晶振用11.0592MHz
2、串口波特率要一致 9600
3、就要看你的程序是不是对了
作者: lele5211314 时间: 2020-3-1 16:35
你的程序没有开启总中断和串口中断
EA = 1;
ES = 1;
这两句添上
单片机晶振用11.0592MHz
串口波特率要一致 9600
作者: Flywithliye 时间: 2020-3-1 16:58
您去看一下我另外一个帖子里面的电路图。需要加两个非门。(前提是您的代码没有错哦!)http://www.51hei.com/bbs/dpj-180566-1.html
作者: leiyan0811 时间: 2020-3-4 15:41
用虚拟口com3.com4试了下,EA=1也加上了,程序目的数据加1返回来,感觉单片机没起作用,,好像单纯相互接受发送数据
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |