Labview及Proteus软件环境下单片机串口通讯的仿真方法.docVIP

Labview及Proteus软件环境下单片机串口通讯的仿真方法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
0 ?引 ?言 ?????? Labview是美国国家仪器公司(NI公司)推出的专为数据采集、仪器控制、数据分析与数据表达的图形化编程环境,它是一个开放的开发环境,具有PCI,GPIB,PXI,VXI,RS-232/485,USB等各种仪器通讯总线标准的所有功能函数,开发者可以利用这些函数与不同总线标准接口的数据采集硬件交互工作。但现实中的数据采集卡很多是利用美国NI公司提供的专用数据采集卡,价格较贵,不利于普及Labview软件测控的学习和应用。 ?????? Proteus软件支持51单片机,集程序编辑,原理图绘制和程序仿真于一体,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路,具有电路互动仿真功能,通过动态外设模型,如键盘、开关,发光二极管,数码管,液晶和传感器、电机等,可实时显示单片机系统输入、输出结果;另外还配置了多种虚拟仪器如示波器、逻辑分析仪等,方便对实验图形和数据的测量。 ?????? 基于Labview和Proteus的特性,本文利用Proteus仿真下位机运行,而Labview实现上位机对下位机运行的监控,两软件采用虚拟串口进行RS-232串口通讯,在纯软件环境下,完成基于Labview软件数据采集系统的组建。这种方法成本低,效率高,可以方便地应用到测控技术的学习和设计中。 ?????? 要实现上述方法,当然要正确安装Labview和Proteus软件,另外还必须安装NI_VISA串口通讯协议驱动和虚拟串口软件VSPD XP。本文通过虚拟串口软件VSPD XP模拟出一对互联的虚拟串口,分别为COM3和COM4,并且把COM3配置给Proteus环境下的单片机串口终端,把COM4配置给Labview作为串口资源[1]。 ?????? 本文通过一个上位机监控下位机走马灯电路的实验,来介绍这种Labview及Proteus软件环境下单片机串口通讯的仿真方法。 1 ?基于Labview的上位机信号处理和显示软件设计 Labview虚拟仪器程序由前面板和框图程序组成,前面板是人机交互的界面,界面上有用户输入和显示输出两类控件;框图程序则是用户编制的程序源代码,以定义和控制在前面板上的控件输入和输出功能。图1为上位机监控下位机走马灯电路的Labview源程序。 图1 上位机监控下位机走马灯电路的Labview源程序 上图的图形化编程设计是采用NI_VISA串口Serial函数来访问和控制串口的。VISA中的Serial函数库里包含VISA Configure Serial Port、VISA Write、VISA Read、VISA Close等子函数。本设计用到的四个VISA串口子函数是:VISA串口配置函数VISA Configure Serial Port、VISA写入函数VISA Write、VISA读取函数VISA Read和VISA 关闭函数VISA Close[2][3]。它们的图标分别如图2所示: 图2 VISA串口子函数图标 VISA串口配置函数VISA Configure Serial Port的作用是完成串口参数的初始化设置, 包括了串口资源名称,波特率,奇偶校验、数据比特、是否启用终止符等,图1中该函数连接了两个输入变量,变量名为“请选择串口名”和“波特率”,它们分别连在串口资源名称和波特率参数端子上,变量值是在前面板上相应控件来设定的,另外该函数在是否启用终止符的端子上还连接了一个布尔常量,常量值为false,含义是不启用终止符,其它输入参数采用默认值。图1中VISA串口配置函数有两个输出端子,图标上面的输出端子输出的是串口资源名称,下面的输出端子输出的是错误码,输出端子向下游函数传递信息。 ?????? VISA写入函数VISA Write有三个输入端子,图1中VISA Read图标的上面一个输入端子是前面VISA Configure Serial Port函数传递的串口资源名称,下面的输入端子是传递的错误码,意思是若前面的函数出错了,会往这里输入一个错误码,然后继续往下面传递,有错误码出现时程序是不会工作的。中间的输入端子是写入缓冲区入口,写入缓冲区支持的数据格式是字符串。Labview程序向下位机传送两个无符号字节数据,它们的变量名分别为“走马灯循环次数”和“走马灯状态延时时间”,其具体值分别在前面板中设置。这两个数据通过“创建数组”函数和“字节数组至字符串转换”函数,组成字符串,输入VISA Write函数的写入缓冲区中。 VISA Write函数图标上面输出端子输出的是串口资源名称,下面输出端子输出的是错误码,继续向下游函数传递信息。 ?????? VISA读取函数VISA Read中间的输入端子是每次从串口读取的数据字节数,本文设置的字节数是1,它会以字符串的形式从该函

文档评论(0)

ww90055 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档