1、首先我们在indows下打开虚拟串口的软件,这里选择的相连的串口,是串口4和串口2。
2、设置完成后,然后再windows开始点击右键选择打开设备管理器。
3、在设备管理器的端口选项中看到已经设置好的的串口2和串口4,并且两个已经设置好的串口已经相连说明两个串口之间可以进行通信了。
4、在windows中找到proteus仿真软件并打开,在工具栏中双击单片机打开51单片机的属性选项。
5、在调试程序这里选择刚才已经写好的串口调试的程序,调试程序为hex后缀结尾的二进制文件,注意设置晶振,这里是11.0592MHz。
6、双击串口控件,设置好串口号和窗口的波特率,Physical poit 为com4,Physical Baud rale为9600,Physical Dala Bits为8,Physical Panity为NONE,Vitual Baud rale9600, Vitual Dala Bits为8,Advanced Properties为NONE其它选项不懂最好不要修改。
7、配置完成后,点击proteus左下角的仿真按钮、就是左下角的播放符号,此时虚拟中断也已经成功的启动了、虚拟终端可能默认打开为文本模式,右键以hex 16进制显示。
8、打开SSCOM串口软件,在窗口中显示设置好波特率打开串口2,以16进制发送数据可以看到,虚拟终端和串口软件都已经收到了发送和返回的信息了。
关闭中断即可即:
ES=0
EA=0
或者删除掉
ES=1
EA=1
循环的原因是
由于你打开了中断又没写中断服务函数,每次串口发完数据就会跳到0023H地址(串口中断入口)。
但是由于没有中断服务函数单片机就不断的从0023H地址运行到main再发送构成了无限循环。
将最高和最低波特率调至1200。
多试几次断电 再上电过程,
看发送和接收信号线是否接错
重装usb ttl串口转换器的驱动
看晶振电路是否正常,如插接是否牢固
换一个版本的烧录软件
换一个单片机芯片试试
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)