- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机软件开发论文软件开发论文:
Keil与VSPD软件仿真的智能仪表串口通信调试方法
摘 要: 串口通信编程与调试是智能仪表开发的重要内容,本文介绍了一种基于Keil与VSPD的纯软件仿真的串口通信调试方法,无需硬件仿真电路,对调试计算机也没有特殊的硬件接口要求。这种调试方法使用简单方便,经济成本低,能大大减少研制成本,并可应用于其他硬件平台开发场合。
关键词: 串口通信;智能仪表;Keil;VSPD;仿真调试
引 言
串行通信具有简单可靠、使用方便、开发成本较低等特点,在智能仪表行业里得到了广泛应用;特别对于数据量不是很大、实时性要求较强的场合,串口通信仍然是最好的选择,有着良好的应用前景。随着单片机在智能仪表中的广泛应用,其串口(UART,Universal Asynchronous Receiver/Transmitter,通用异步收发接口)编程成为单片机智能仪表系统开发的重要内容。串口通信程序的传统调试方式,往往需要利用专用的单片机硬件仿真器和调试计算机。在编写好程序后,利用仿真器来设置断点,观察变量和程序的流程,由仿真器和上位机进行串口通信,逐步对程序进行调试及修正错误。
传统调试方法对硬件仿真器依赖性较强,但是很多仿真器不能做到完全硬件仿真,因而可能造成仿真时正常,而实际运行时出现错误的情况,或者造成仿真不能通过,但是实际运行正常的情况;当单片机芯片型号发生较大变化时,需要配置新的仿真器,增加了资金投入。另外,传统的调试方法要求调试计算机具备串行通信口,而现在很多新型计算机,尤其是笔记本电脑,并不提供串行通信接口,往往需要另外配置串口转换模块。因此,传统的串口通信调试方式,对调试工具有较多的硬件方面要求,给串口编程的调试仿真以及现场维护带来不便。
本文介绍了一种串口通信程序调试方法,能够在单台计算机上实现串口通信程序的纯软件仿真调试,既不需要硬件仿真器,又对计算机的串行通信接口无任何要求,给串口编程的调试仿真带来极大方便。
1 基本流程介绍
本调试方法无需任何硬件仿真器以及用户电路板,对调试计算机也无串行通信接口要求。在软件方面,只需准备虚拟串口软件VSPD、Keil以及串口通信客户端软件(如串口调试助手等)。
其中,Keil是众多单片机应用开发软件中最优秀的软件之一,支持几乎所有MCS51架构的芯片,并且集编辑、编译、仿真等多项功能于一体,同时支持汇编语言和C语言程序设计。Keil的软件界面十分友好,易学易用,因此广泛应用于单片机系统的程序调试和软件仿真中。
虚拟串口驱动程序(Virtual Serial Ports Driver,VSPD)能够创建数对“虚拟”的串行端口,每对串口虚拟互联,在一般程序看来,这些“虚拟”的串行端口跟实体的串行端口完全一致,因此,在单台计算机上运行VSPD即可达到串口扩展的目的。本调试方法的基本流程如下:
① 运行VSPD实现计算机串口的扩展和互联;
② 在Keil中运行通信程序,对单片机的UART进行仿真,并将之与计算机的某一个虚拟串口绑定,即用计算机的串口来模拟单片机的UART;
③ 打开串口调试助手,选择与②中互联的虚拟串口,进行数据收发从而实现通信调试。
2 调试命令及步骤
2.1 调试命令介绍
本文介绍的串口调试方法应用了Keil的串口仿真功能,即在应用Keil软件进行通信程序调试时,可利用计算机的串口来模拟单片机的串口。进行仿真时,Keil需要使用的2个命令为:ASSING和MODE。
2.1.1 A
该命令的功能为将单片机的串口绑定到计算机的串口,其语法格式为:
ASSING channel<inreg>outreg
其中,channel代表计算机的串口,可以是COM1、COM2、COM3或COM4等;而inreg和outreg代表单片机的串口。对于只有1个串口的普通单片机,即为SIN和SOUT;对于有2个或者多个串口的单片机,即为SnIN和SnOUT(其中,n=0,1,…,为单片机的串口号)。例如:
ASSING COM1<SIN>SOUT
即为将计算机的串口1绑定到单片机的串口(针对只有1个串口的单片机)。
ASSING COM2<S0INS0OUT
即为将计算机的串口2绑定到单片机的串口0(针对有多个串口的单片机,需要注意串口号的书写位置)。需要注意的是,在命令行中,<inreg是不能省略的,而outreg的。
2.1.2
该命令的功能为设置被绑定计算机串口的通信参数,其语法格式为:
MODE COMx baudrate,parity,databits,stopbits
其中,COMx(x=1,2…)代表计算机的串口号;baudrate代表串口的波特率;parity代表校验方式;data-bits代表数据位长度;stopbits代表停止位长度。例如:
文档评论(0)