基于LabVIEW的PC机与单片机串口通信
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计任务书
学生姓名:李晓宁郁金华彭亚斌吴冰
专业班级 0882022 0882021
指导教师:杨谊华
工作单位:南昌航空大学
题目:基于LabVIEW的PC机与单片机串口通信
初始条件:要求对单片机课程知识有所了解,同时熟悉labview软件的运用,同时了解基本的串口通信原理。
指导教师签名:________________年月日
系主任(或责任教师)签名:______________ 年月日
摘要
介绍一种基于LabVIEW 7.0语言的A VR AT90系列单片机与PC 机的串口通信技术,在体温检测中得到应用,并取得良好效果。
关键词: LabVIEW 7.0语言;A VR AT90系列中一片机;PC机;串口通信技术
Abstract:We introduce the application of serial port communication technology based on PC machine with LabVIEW 7.0 language and A VR AT90 series SCM in body temperature examination.And it has good effect.
Key words:LabVIEw 7.0 language;A VR AT90 series SCM;PC machine;Serial port communication technology
目录
第一章绪论 (1)
第二章软件实现 (2)
2.1 LabVIEW应用软件概述 (2)
2.2 LabVIEW串口通信模块 (2)
2.3 LabVIEW通信模块的属性 (3)
2.4 串口通信程序结构 (3)
第三章程序设计 (4)
3.1 单片机通信的设计 (4)
3.2 PC机通信的设计 (4)
3.3 输入显示程序设计 (4)
3.3.1 LED 显示流程图 (6)
3.4 单片机收发程序 (7)
3.5 PC机收发程序 (8)
3.6 硬件连接 (9)
第四章利用LabVIEW实现PC与单片机串口通信任务 (12)
4.1 建立新VI程序 (12)
4.2.程序前面板设计 (12)
4.3.框图程序设计——添加函数与连线 (12)
4.4.运行程序 (15)
致谢 (16)
参考文献 (17)
第一章绪论
在计算机分布式测控系统中,经常要利用串行通信方式进行数据通信。它包括单片机和上位机之间、客户端和服务器之间以及客户端和客户端之间的通信,而单片机和上位机之间数据通信则是整个系统的基础。
串行通信是一种常用的数据传输方法,虽然它的传输速度慢,但由于它占用的通信线路少、成本低、容易实现等优点,在数据通信方式上仍占有重要地位。目前,串口通信程序的开发,在Windows操作系统下一般用VB、VC、VF Delphi 等等许多高级语言编写。当用VB、VC、VF,开发串行通信程序时,开发人员不得不面对非常烦琐的API函数编程;而Delphi没有自带的串口通信控件,在它的帮助文档里也没有提及串口通信,这也给编程人员带来许多不便,其他高级语言也是如此。可见,用文本语言编串口通信程序较为复杂,花费的时间较长。利用LabVIEW7.0开发PC机与单片机的串口通信程序是一种更为简捷的方法。
第二章软件实现
2.1 LabVIEW应用软件概述
LabVIEW是一个工业标准的图形化开发环境,它结合了图形化编程方式的高性能与灵活性以及专为测试测量与自动化控制应用设计的高端性能与配置功能,能为数据采集、仪器控制、测量分析与数据显示等各种应用提供必要的开发工具。因此,LabVIEW通过降低应用系统开发时间与项目筹建成本帮助科学家与工程师们提高工作效率。LabVIEW被广泛应用于各种行业中,包括汽车、半导体、航空航天、交通运输、高校实验室、电信、生物医药与电子等无论在哪个行业中,工程师与科学家们都可以使用LabVIEW创建功能强大的测试测量与自动化控制系统,在产品开发中进行快速原型创建与仿真工作。在产品生产过程中,工程师们也可以利用LabVIEW进行生产测试,监控各个产品生产过程。总之,LabVIEW可用于各行各业产品开发的阶段。由于LabVIEW能够为用户提供简明、直观、易用的图形编程方式,能够将繁琐复杂的语言编程简化成为以菜中提示方式选择功能,并且用线条将各种功能连接起来,十分省时简便。与传统的编程语言比较,LabVIEW图形编程方式能够节省85%以上的程序开发时间,其运行速度却几乎不受影响,体现出了极高的效率。使用虚拟仪器产品,用户可以根据实际生产需要重新构筑新的仪器系统。例如,用户可以将原有的带有RS232接口的仪器、VXI总线仪器以及GPIB仪器通过计算机,联接在一起,组成各种各样新的仪器系统,由计算机进行统一管理和操作[1,2]。
2.2 LabVIEW串口通信模块
在LabVIEW 7.0中,对串行口进行控制的方式通常有两种:一是利用LabVIEW功能模块的lnstrument 1/0-﹥VISA子模块;二是直接利用LabVIEW功能模块lnstrument 1/0一>Serial子模块,该程序库中包含进行串行通信操作的一些功能模块这正符合本软件开发的需要
2.3 LabVIEW通信模块的属性
表(1)给出了本系统用到的几个通信模块的基本属性的描述
2.4 串口通信程序结构
本程序主要采用顺序结构实现,具体流程描述如下:(1)初始化串口。据实际需要选择并打开com口,打开串口时根据双方协议设置波特率、数据位、奇偶校验位、停止位、缓冲区大小等。如果打开串口无误,指小灯亮;否则提小串口出错,并关闭串口。初始化成功后,退出第一桢,进入第二桢。(2)输入命令字到串口。因双方约定单片机输入的命令字为}一六进制的55 (ASC Ⅱ码字符表示为U),故在程序框图中输入的字串若用ASC Ⅱ码字符表示为U,用HI;X进制表示为55。若写入的命令字有误,或写入串口模块打不开,出现出错提小,重新要求打开串口。(3)延时因涉及在操作系统的几层间传递信息,加之从主机发送命令到单片机,单片机判断为正确命令后返回数据给主机是需要一定的时间的,故这一步进行延时等待。延时时间可视情祝而定,只要大于单片机回送给主机的时间就行。具体执行时间可由LabVIEW工具菜中栏下的advanced下的profile来确定程序运行时间。若不加以延时程序会有出错提示。(4)显示部分,主要程序代码如图二所示根据需要进行图形及表格显示。为能准确计算被测信号的频率值,使前面板横轴表示的时间尽可能准确,在显示图形Graph IJU用bundle 进行处理。实践表明:通过这种处理方式,可使被测信号的频率值误差在百分之三以内。在数组显示用一个重构数组函数将单片机送来的数据构建成一个10行8列的数组,后利用两层for循环实现数组的行列显示。
第三章程序设计
设计思路:本设计分单片机和PC机两部分进行编程。在单片机方面,使用