- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
建立Proteus单片机串口仿真平台
建立Proteus的单片机串口仿真平台
本文详细介绍如何建立Proteus和PC机串口通信软件之间,进行通信仿真的平台。这个平台由三个部分组成。它们是:Proteus的单片机仿真电路,PC机串口通信软件,连接前两部分的虚拟串口软件。
Proteus的单片机仿真电路
为了尽量简单明了,仿真电路只包含单片机和Proteus的COMPIM两个器件。本文的单片机采用AVR M16。运行Proteus的ISIS。加入两个器件如下:
类别:Microprocessor ICs
器件:ATMEGA16
库: AVR2
描述:-
类别:Miscellaneous
器件:COMPIM
库: ACTIVE
描述:COM Port Physical Interface model
仿真电路,如图1
图1 Proteus串口仿真实例电路
这里需要说明两点:
首先,不需要串口电平转换电路。例如:MAX232等;
其次,连线不必交叉。交叉任务交给虚拟串口去完成。
串口功能:中断接收到一个字节(0—255)无符号整数后,立即将收到的数据发送回去。所以,程序非常简单。重点在于建立仿真通信平台,因此不厌其烦地叙述建立平台的过程,以尽量避免初学者在某处卡住。
设置ATMEGA16的属性。单击ATMEGA16变红色,再单击,弹出编辑元件窗口,如图2
图2 ATMEGA16编辑元件窗口
只要编辑红框圈起来的参数:Program File建议选择.cof文件,这样可以单步调试。当然,对本项目过于简单没什么可调试的。也可以选择.hex文件。千万注意,当文件目录改版后,一定要重新选择文件路径!
另一个参数CKSEL Fuses按图上的选择。注意:程序中,初始化串口时,波特率因子也得按主频8M来选择!
设置COMPIM的属性。单击COMPIM变红色,再单击,弹出编辑元件窗口,如图3
图3 COMPIM编辑元件窗口
按红框内的选择即可。当然可以改变。但是,必须记下这些参数。PC机的串口通信软件的参数,除了串口号必须和(例如CMO1)不同外,其它4项参数(波特率,数据位数,停止位数,校验码)必须一致。
单片机ATMEGA16的ICC-AVR程序,见附录1。
PC机串口通信软件
通信程序功能:发送一个字节(0—255),等待原字节返回。如果收到返回字节,说明信道畅通,仿真串口平台建立成功。
任何一种能实现上述的通信程序功能的通信软件,都可以使用。例如:“串口通信助手”。不过为了建立过程的完整起见,还是用VB开发一个极其简单的串口通信程序。
在VB环境下,建立一个新工程
工程名:虚拟串口通信(VB_Serial.vbp)
窗体名:frmSerial(frmSerial.frm)
表1 控件列表
控件类 名 称 Caption Text CommPort Settings Label Label1(0) 发送: Label Label1(1) 接收: Label lblSetting 2: 9600,N,8,1 MSComm MSComm1 2 9600, ,N,8,1 TextBox txtPortNo 2 TextBox txtRcv Rcv TextBox txtSend TabIndex=0 123 CommandButton cmdPortNo 改变串口号
窗体布局,如图4
图4 VB串口通信窗体布局图
简单介绍一下操作。启动时,要求输入和COMPIM不同的串口号。焦点在txtSend时,按Enter键,将txtSend上的数据发送。如果信道畅通,txtRcv显示返回值。其值和txtSend相同。任何时候改变txtSend的值,都会将改变后的值发送。如果信道畅通,txtRcv值跟随改变,txtRcv值和txtSend的值保持一致。
VB程序代码,见附录2。
虚拟串口软件
网上有各种虚拟串口软件,这里采用SerialNULL。下载并安装SerialNULL。这部分很简单,这里不赘述了。
启动SerialNULL,得到界面,如图5。
图5 启动SerialNULL得到的界面
在图5上,只有物理端口,没有虚拟端口。所以,必须添加虚拟端口。
在控制面板的“添加虚拟端口”处,通过下拉操作选择两个端口。例如:COM1和COM2(也可以任意选择其它物理端口),然后点击“添加端口”按钮。你会发现资源列表上的虚拟端口部分发生了变化:多出一对COM1和COM2组成的虚拟端口。如图6上红框所圈的部分。
图6 多出了一对COM1和COM2组成的虚拟端口
COM1和COMPIM的端口相同,COM2和VB-Serial的端口相同。这样就将COMPIM和VB-Serial
原创力文档


文档评论(0)