版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、0 引 言Labview是美国国家仪器公司(NI公司)推出的专为数据采集、仪器控制、数据分析与数据表达的图形化编程环境,它是一个开放的开发环境,具有 PCI,GPIB,PXI,VXI,RS-232/485,USB等各种仪器通讯总线标准的所有功能函数,开发者可以利用这些函数与不同总线标准接口的数据采集硬件交互工作。但现实中的数据采集卡很多是利用美国NI公司提供的专用数据采集卡,价格较贵,不利于普及Labview软件测控的学习和应用。Proteus软件支持51单片机,集程序编辑,原理图绘制和程序仿真于一体,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路,具有电路互动仿真功能,通过动态外
2、设模型,如键盘、开关,发光二极管,数码管,液晶和传感器、电机等,可实时显示单片机系统输入、输出结果;另外还配置了多种虚拟仪器如示波器、逻辑分析仪等,方便对实验图形和数据的测量。基于Labview和Proteus的特性,本文利用Proteus仿真下位机运行,而Labview实现上位机对下位机运行的监控,两软件采用虚拟串口进行RS-232串口通讯,在纯软件环境下,完成基于Labview软件数据采集系统的组建。这种方法成本低,效率高,可以方便地应用到测控技术的学习和设计中。要实现上述方法,当然要正确安装Labview和Proteus软件,另外还必须安装NI_VISA串口通讯协议驱动和虚拟串口软件VS
3、PD XP。本文通过虚拟串口软件VSPD XP模拟出一对互联的虚拟串口,分别为COM3和COM4,并且把COM3配置给Proteus环境下的单片机串口终端,把COM4配置给Labview 作为串口资源1。本文通过一个上位机监控下位机走马灯电路的实验,来介绍这种Labview及Proteus软件环境下单片机串口通讯的仿真方法。1 基于Labview的上位机信号处理和显示软件设计Labview虚拟仪器程序由前面板和框图程序组成,前面板是人机交互的界面,界面上有用户输入和显示输出两类控件;框图程序则是用户编制的程序源代码,以定义和控制在前面板上的控件输入和输出功能。图1为上位机监控下位机走马灯电路的
4、Labview源程序。图1 上位机监控下位机走马灯电路的Labview源程序上图的图形化编程设计是采用NI_VISA串口Serial函数来访问和控制串口的。VISA中的Serial函数库里包含VISA Configure Serial Port、VISA Write、VISA Read、VISA Close等子函数。本设计用到的四个VISA串口子函数是:VISA串口配置函数VISAConfigure Serial Port、VISA写入函数VISA Write、VISA读取函数VISA Read和VISA 关闭函数VISA Close23。它们的图标分别如图2所示:图2 VISA串口子函数图标
5、VISA串口配置函数VISA Configure Serial Port的作用是完成串口参数的初始化设置,包括了串口资源名称,波特率,奇偶校验、数据比特、是否启用终止符等,图1中该函数连接了两个输入变量,变量名为“请选择串口名”和“波特率”,它们分别连在串口资源名称和波特率参数端子上,变量值是在前面板上相应控件来设定的,另外该函数在是否启用终止符的端子上还连接了一个布尔常量,常量值为 false,含义是不启用终止符,其它输入参数采用默认值。图1中VISA串口配置函数有两个输出端子,图标上面的输出端子输出的是串口资源名称,下面的输出端子输出的是错误码,输出端子向下游函数传递信息。VISA写入函数
6、VISA Write有三个输入端子,图1中VISA Read图标的上面一个输入端子是前面VISA Configure Serial Port函数传递的串口资源名称,下面的输入端子是传递的错误码,意思是若前面的函数出错了,会往这里输入一个错误码,然后继续往下面传递,有错误码出现时程序是不会工作的。中间的输入端子是写入缓冲区入口,写入缓冲区支持的数据格式是字符串。Labview程序向下位机传送两个无符号字节数据,它们的变量名分别为“走马灯循环次数”和“走马灯状态延时时间”,其具体值分别在前面板中设置。这两个数据通过“创建数组”函数和“字节数组至字符串转换”函数,组成字符串,输入VISA Write
7、函数的写入缓冲区中。VISA Write函数图标上面输出端子输出的是串口资源名称,下面输出端子输出的是错误码,继续向下游函数传递信息。VISA读取函数VISA Read中间的输入端子是每次从串口读取的数据字节数,本文设置的字节数是1,它会以字符串的形式从该函数的中间输出端子输出,字符串只包含一个8位字节。从VISA Read函数输出的字符串通过“字符串至字节数组转换”函数,和“索引数组”函数,把字符串转换为8位无符号字节数据,再通过“数值至布尔数组转换”函数,和“索引数组”函数,把8位无符号字节拆分出8个布尔数,并以指示灯的形式显示在前面板中,用来监视下位机8个走马灯的运行状态。VISA关闭函
8、数VISA Close的作用是当程序停止之前,必须要把使用的串口设备关闭,若不关闭,其他程序就不能使用该设备。图1中有个条件结构,在前面板按下“发送参数”按钮,满足“真”条件,于是可以把变量“走马灯循环次数”和“走马灯状态延时时间”通过VISA Write函数,经串口传送到单片机走马灯电路。在条件结构的外边还有个While循环结构,每次循环向下位机写入一次控制参数,读取一次从下位机上传的走马灯实时状态,直到前面板按下“停止”按钮,结束While循环45。图1的程序源代码所支持的虚拟仪器前面板如图3所示。图3 上位机监控下位机走马灯电路的Labview前面板在前面板编辑界面的菜单栏,选择“操作”
9、,弹出下拉菜单,选择“运行”,于是图3所示前面板处于运行状态,在前面板中设置串口号为COM4,波特率为 9600,COM4是VSPD XP软件模拟出的虚拟串口。在名称为“走马灯循环次数”的数值输入控件,以及名称为“走马灯状态延时时间”的水平填充滑动杆控件里,输入控制参数,这两个参数发送给下位机,用来控制Proteus环境下走马灯电路运行,同时下位机走马灯的状态也会实时地反映在Labview前面板8个指示灯上。2 基于Proteus的下位机走马灯电路运行与通讯电路软硬件设计图 4所示,走马灯电路以单片机AT89C51为控制核心,晶振为11.0592MHz,该晶振频率能保证波特率为9600bps时
10、,串行通讯的同步性能。 P2口连着8个发光二极管,当P2口某个引脚为低电平时,与该引脚相连的发光二极管就亮,如果逐个点亮发光二极管,就会出现走马灯的现象6。图4 下位机走马灯电路运行与通讯原理图图4中COMPIM元件是串口映射模块,在Proteus软件里,可直接和单片机相连,不需要另外加MAX232器件进行TTL和RS232电平转换。双击COMPIM模块,出现如图5所示设置对话框。图5 COMPIM模块参数设置在COMPIM模块参数设置对话框中,把物理串口设置为VSPD XP软件模拟出的虚拟串口COM3,波特率设为9600,并且设置数据位为8位,停止位为1位,无奇偶校验位。然后双击图4中的单片
11、机AT89C51芯片,出现设置对话框,在这个对话框里,一定要把时钟频率从默认的12MHz改为11.0592MHz,这样当通讯传输的波特率为9600bps时,可以准确地计算出T1定时初值,不会产生累计误差,保证与上位机通讯的同步性能7。根据硬件电路,下位机的软件框图如图6所示 。图6 下位机走马灯电路运行与通讯程序框图单片机串口通讯方式的确定是由它的特殊功能寄存器SCON来设定,SCON的值设为50H,意思是采用方式1,允许串口接收数据,10位异步收发,8位数据位,1位起始位,1位停止位,波特率由定时器T1的溢出率控制。定时器的溢出率是溢出时间的倒数,所以只要通过设定定时器的计数初值,就可以得到
12、每次溢出所需的时间。定时器的工作方式由TMOD来设定,TMOD的值设为 20H,意思是采用方式2工作,8位初值自动重装的8位计数器,以晶振频率1/12作为计数脉冲的频率,当8位计数器计数溢出时,寄存器TH1向TL1自动重装,TL1继续计数,如此反复。根据串口方式1的波特率计算公式:波特率=(1/32)×(T1溢出率),若晶振频率为11.0592MHz,波特率为9600bps,TH1和TL1都需设为FDH。3 结 论单片机程序利用keil软件编制,并编译成HEX目标文件,在Proteus环境下的硬件原理图中,双击单片机芯片,在随之出现的对话框中,通过 “Program File”的设置栏里找到HEX文件,再点击对话框的“OK”按钮,程序目标代码就加载到了单片机里。在Proteus工作界面下方有4个仿真控制按钮,分别为运行按钮、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度个人贵金属交易融资合同范本民间版4篇
- 二零二五年度网络安全股份公司成立股东数据安全协议3篇
- 2025版危险品运输驾驶员劳动合同标准范本3篇
- 2025年高标准围墙建设及维护服务合同细则3篇
- 二零二五年酒类企业产品追溯与防伪技术合作合同3篇
- 2024破桩劳务分包合同
- 2025年食堂承包合同补充协议强调食品安全与卫生规范3篇
- 与物业公司合同范本(2024版)
- 郑州科技学院《艺术考察与创新设计》2023-2024学年第一学期期末试卷
- 2025年度户外景观门窗工程分包合同范本8篇
- 南通市2025届高三第一次调研测试(一模)地理试卷(含答案 )
- 2025年上海市闵行区中考数学一模试卷
- 2025中国人民保险集团校园招聘高频重点提升(共500题)附带答案详解
- 劳务派遣招标文件范本
- 信息安全意识培训课件
- Python试题库(附参考答案)
- 碳排放管理员 (碳排放核查员) 理论知识考核要素细目表三级
- 2024年河北省中考数学试题(含答案解析)
- 小学二年级数学口算练习题1000道
- 纳布啡在产科及分娩镇痛的应用
- DZ/T 0462.4-2023 矿产资源“三率”指标要求 第4部分:铜等12种有色金属矿产(正式版)
评论
0/150
提交评论