




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘
要:根据学校多年组织大学生参加“全国大学生机器人大赛”的经验,利用LabVIEW软件搭建了一个单片机图形调试平台,该平台修改方便、应用灵活,可以使更多没有参赛经历的学生更好地提高动手能力。关键词:LabVIEW;单片机;课程改革;串口
0
引言我校多年来组织大学生参加了“全国大学生机器人大赛”,绝大部分经过大赛历练的队员都能成为工程实践能力强、创新能力强、团队协作能力强、具有国际竞争力的高素质复合型人才。在设计开发机器人过程中,单片机在机器人控制部分占据了主导地位,我们通过长期的实践探索发现,在设计和调试单片机控制系统时,图像化显示各中间环节调试的数据将给系统开发带来极大的好处。本文以STC系列单片机为例,其通过串口与计算机相连,设计了一款基于LabVIEW软件的图形化数据显示工具。
1
LabVIEW的串口通信LabVIEW是美国国家仪器(NI)公司研发的一款实用工具软件,其基于图形化的编辑语言和简单实用的组件使用方式,可以帮助我们快速构建各种应用所需的工具,提高开发效率。单片机与计算机的连接有多种方式,如USB、CAN、JTAG等,但串口通信仍是目前最简单、最实用的连接方式。在LabVIEW软件中,若要使用串口,需先安装VISA驱动。
2
通信协议设计16进制字符传递信息多,效率较高,但单片机在处理16进制字符串的收发时相对较复杂。字符数据通信时,所有信息以特定字符开头的字符串表示,虽然效率有所降低,但可以直接使用标准格式输入输出函数sprintf(),sscanf()等,使用方便,开发效率高。本设计中采用的通信协议为:起始符$+命令标示符1+参数1+……,命令标示符2+参数2+……+*+校验码。
3
下位机程序设计3.1
字符发送单片机在串口设置完成后,可以直接使用printf()函数将变量以字符形式输出到串口,此时串口为查询状态,即字符发送时单片机一直处于查询是否发送完成的状态,无法执行其他指令,效率太低。为提高效率,建立了一个数组作为发送数据的缓冲区,利用sprintf()函数将待发送的数据按特定格式以字符的形式存储到缓冲区,当打开串口中断时可以逐个传输,还可以通过vsprintf()函数实现自定义printf()函数。3.2
字符接收串口处在中断状态,将收到的每个字符存入接收缓冲区。当接收到一个完整的数据包时设置相应标志,在主函数中对数据包进行处理。3.3
上位机程序设计3.3.1
串口设置LabVIEW软件的串口设置由VISAConfigureSerialPortVI(图1)实现,通过该节点可以设置串口的基本信息,包括波特率、串口号、数据位、校验位、停止位等。
通过VISA读取节点可以实现串口接收,如图2所示。
通过VISA写入节点可以实现串口的发送功能,如图3所示。3.3.2
串口发送串口发送部分的程序框图如图4所示,当按下确定按钮时即会把字符串中的信息发送入串口。信息发送只需在字符串模块中输入需要发送的字符信息即可。3.3.3
串口接收LabVIEW的串口通信节点的工作方式为:查询串口的接收缓冲区,如果缓冲区中有数据就读取数据进行处理,若缓冲区内没有数据则在此等待,直到数据到来或超时退出。因此,在使用时需要根据实际数据情况设置数据读取时间间隔和超时时间,才能使系统稳定运行。在发送端数据发送速率基本稳定时,为提高效率,可以将数据读取间隔时间设为下位机发送一组完整数据包的时间。否则,会造成缓冲区溢出或等待时间过长导致程序出错。因数据以字符形式传送,可以通过字符串操作的函数对数据进行处理。在寻找数据头时,可采用“搜索/拆分字符串(函数)”(图5)的方式,将特征字符送入搜索字符串处,即可得到以此开头的特定字符串,将“匹配+剩余字符串”作为输出结果送入字符串转数值模块,配合适当的偏移量进行处理,即可得到相应的数值和剩余的字符串。若需要对实际进行计算还可以通过加入函数环节实现。分数/指数字符串至数值转换如图6所示。为了能把接收到的数据以图形的方式显示出来,采用波形图表作为数据显示控件。若需要显示多组数据,可使用“捆绑(函数)”将各组独立数据组合为簇,共同显示于波型图表上。系统的完整程序框图如图7所示。
系统界面如图8所示。至此构建了一个单片机与计算机间的通用调试平台,通过此平台,可以向单片机发送串口指令、修改运行参数。同时,还可将单片机的运行状态、变量信息以图表和仪表的方式实时显示出来。
4
结语本文结合我校参加“全国大学生机器人大赛”的实践经验,应用LabVIEW软件搭建了一个单片机图形调试平台,其构建简单,修改方便,应用灵活,虽然LabVIEW的串口通信工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院合作居间合同范本
- 2025黑龙江省安全员A证考试题库
- 2025年江西省建筑安全员B证(项目经理)考试题库
- 2025年四川省安全员B证(项目经理)考试题库
- 三年级口算练习题1000道
- 二年级口算题目全集100道
- 包材购销合同范本
- 劳动工伤合同范本
- 企业活动演艺合同范本
- 化工项目租赁合同范本
- GB/T 12265-2021机械安全防止人体部位挤压的最小间距
- GB 8537-2018食品安全国家标准饮用天然矿泉水
- GB 31247-2014电缆及光缆燃烧性能分级
- 主要农作物(粮食作物)课件
- 部编人教版道德与法治五年级下册全册课时练习讲解课件
- 《潘姓源于固始,是不争的史实》的考辨
- 园林景观工程细节
- 焊接技师培训教材(钎焊)课件
- 2022年中级注册安全工程师(安全生产法及相关法律知识)考试题库模考300题及答案下载(四川省专用)
- 《未成年人保护法》课件
- 原发性肝癌经皮肝动脉化疗栓塞术(TACE)临床路径
评论
0/150
提交评论