单片机之串口仿真(proteus加虚拟串口)
0赞在proteus可以仿真串口,但是用它自带的终端不能显示字符,只能显示16进制值,而且不能输入信息。所以,就考虑使用虚拟串口,然后用串口调试助手。
首先是搭建电路图,
电路图很简单,就一个单片机,和一个COMPIN,集成电平转换的穿行通信接口,这个接口自带电平转换,所以外面不需要电平转换芯片。
这里要注意,单片机的TXD和接口的TXD相连,单片机的RXD和接口的RXD相连。
将单片机的时钟频率设置为11.0592M,不能为12M,否则串口调试助手接收不到数据。
然后对接口设置一下,
第一个physical port是设置这个接口的COM口。这里设置为COM3。
下面是设置串口的一些相关信息。要注意下面的虚拟串口的值要和上面的值一样。
然后打开虚拟串口,
选择添加串口对。
在左边就会出现一对串口,这两个串口是相连的。。
我们需要将串口助手的COM端口设置为COM2。因为之前在proteus已经将串口接到COM3了。
这样,就将串口调试助手和proteus中的串口连接起来了。
打开串口
选择COM2.设置串口的相关信息。
然后在proteus中点击开始仿真。
这样,就会看到串口中有接收到hello world。
发送一串字符,然后单片机会将接收到的字符原样返回回来。
我的程序是,开始发送hello world。然后串口接收到什么数据,就把接收到的数据原样发回去。
这样,就实现了串口助手和proteus的串口连接。以后使用串口就方便多了。
这里要注意的是,两边的COM口要选择对。
虚拟串口会生成一对COM口。然后将串口调试助手指向一个COM口。Proteus的串口接口指向另外一个COM口。这样就实现了两边的相互连接。
有时候,开始的时候,串口正常工作,但是到了后面,就不正常工作。串口调试助手不能收到数据,也不能发数据。这个时候,就需要将proteus软件关闭,然后把虚拟串口的串口对删除掉,重新生成一对。然后在打开proteus软件。就可以了。
另外还有一点需要注意,在proteus中不能放置自带的终端的,否则是不能接收到数据的。