weiqi7777

单片机之串口仿真(proteus加虚拟串口)

0
阅读(1908) 评论(0)

在proteus可以仿真串口,但是用它自带的终端不能显示字符,只能显示16进制值,而且不能输入信息。所以,就考虑使用虚拟串口,然后用串口调试助手。

首先是搭建电路图,

clip_image002

电路图很简单,就一个单片机,和一个COMPIN,集成电平转换的穿行通信接口,这个接口自带电平转换,所以外面不需要电平转换芯片。

这里要注意,单片机的TXD和接口的TXD相连,单片机的RXD和接口的RXD相连。

clip_image003

将单片机的时钟频率设置为11.0592M,不能为12M,否则串口调试助手接收不到数据。

然后对接口设置一下,

clip_image004

第一个physical port是设置这个接口的COM口。这里设置为COM3。

下面是设置串口的一些相关信息。要注意下面的虚拟串口的值要和上面的值一样。

然后打开虚拟串口,

clip_image006

选择添加串口对。

clip_image008

在左边就会出现一对串口,这两个串口是相连的。。

我们需要将串口助手的COM端口设置为COM2。因为之前在proteus已经将串口接到COM3了。

这样,就将串口调试助手和proteus中的串口连接起来了。

打开串口

clip_image010

选择COM2.设置串口的相关信息。

然后在proteus中点击开始仿真。

clip_image012

这样,就会看到串口中有接收到hello world。

发送一串字符,然后单片机会将接收到的字符原样返回回来。

我的程序是,开始发送hello world。然后串口接收到什么数据,就把接收到的数据原样发回去。

这样,就实现了串口助手和proteus的串口连接。以后使用串口就方便多了。

这里要注意的是,两边的COM口要选择对。

虚拟串口会生成一对COM口。然后将串口调试助手指向一个COM口。Proteus的串口接口指向另外一个COM口。这样就实现了两边的相互连接。

有时候,开始的时候,串口正常工作,但是到了后面,就不正常工作。串口调试助手不能收到数据,也不能发数据。这个时候,就需要将proteus软件关闭,然后把虚拟串口的串口对删除掉,重新生成一对。然后在打开proteus软件。就可以了。

另外还有一点需要注意,在proteus中不能放置自带的终端的,否则是不能接收到数据的。