基于LabVIEW的PC机与单片机串口通信.doc
《基于LabVIEW的PC机与单片机串口通信.doc》由会员分享,可在线阅读,更多相关《基于LabVIEW的PC机与单片机串口通信.doc(20页珍藏版)》请在三一文库上搜索。
1、 课程设计任务书学生姓名: 李晓宁 郁金华 彭亚斌 吴冰 专业班级 0882022 0882021 指导教师: 杨谊华 工作单位: 南昌航空大学 题 目: 基于LabVIEW的PC机与单片机串口通信 初始条件:要求对单片机课程知识有所了解,同时熟悉labview软件的运用,同时了解基本的串口通信原理。指导教师签名:_ 年 月 日系主任(或责任教师)签名:_ 年 月 日摘 要介绍一种基于LabVIEW 70语言的AVR AT90系列单片机与PC机的串口通信技术,在体温检测中得到应用,并取得良好效果。 关键词: LabVIEW 70语言;AVR AT90系列中一片机;PC机;串口通信技术Abstr
2、act:We introduce the application of serial port communication technology based on PC machine with LabVIEW 70 language and AVR AT90 series SCM in body temperature examinationAnd it has good effectKey words:LabVIEw 70 language;AVR AT90 series SCM;PC machine;Serial port communication technology目 录第一章 绪
3、论1第二章 软件实现221 LabVIEW应用软件概述222 LabVIEW串口通信模块223 LabVIEW通信模块的属性324 串口通信程序结构3第三章 程序设计43.1 单片机通信的设计43.2 PC机通信的设计43.3 输入显示程序设计4 3.3.1 LED 显示流程图63.4 单片机收发程序73.5 PC机收发程序83.6 硬件连接9第四章 利用LabVIEW实现PC与单片机串口通信任务124.1 建立新VI程序124.2程序前面板设计124.3框图程序设计添加函数与连线124.4运行程序15致 谢16参考文献17第一章 绪论 在计算机分布式测控系统中,经常要利用串行通信方式进行数据
4、通信。它包括单片机和上位机之间、客户端和服务器之间以及客户端和客户端之间的通信,而单片机和上位机之间数据通信则是整个系统的基础。串行通信是一种常用的数据传输方法,虽然它的传输速度慢,但由于它占用的通信线路少、成本低、容易实现等优点,在数据通信方式上仍占有重要地位。目前,串口通信程序的开发,在Windows操作系统下一般用VB、VC、VF Delphi等等许多高级语言编写。当用VB、VC、VF,开发串行通信程序时,开发人员不得不面对非常烦琐的API函数编程;而Delphi没有自带的串口通信控件,在它的帮助文档里也没有提及串口通信,这也给编程人员带来许多不便,其他高级语言也是如此。可见,用文本语言
5、编串口通信程序较为复杂,花费的时间较长。利用LabVIEW70开发PC机与单片机的串口通信程序是一种更为简捷的方法。第二章 软件实现21 LabVIEW应用软件概述 LabVIEW是一个工业标准的图形化开发环境,它结合了图形化编程方式的高性能与灵活性以及专为测试测量与自动化控制应用设计的高端性能与配置功能,能为数据采集、仪器控制、测量分析与数据显示等各种应用提供必要的开发工具。因此,LabVIEW通过降低应用系统开发时间与项目筹建成本帮助科学家与工程师们提高工作效率。LabVIEW被广泛应用于各种行业中,包括汽车、半导体、航空航天、交通运输、高校实验室、电信、生物医药与电子等无论在哪个行业中,
6、工程师与科学家们都可以使用LabVIEW创建功能强大的测试测量与自动化控制系统,在产品开发中进行快速原型创建与仿真工作。在产品生产过程中,工程师们也可以利用LabVIEW进行生产测试,监控各个产品生产过程。总之,LabVIEW可用于各行各业产品开发的阶段。由于LabVIEW能够为用户提供简明、直观、易用的图形编程方式,能够将繁琐复杂的语言编程简化成为以菜中提示方式选择功能,并且用线条将各种功能连接起来,十分省时简便。与传统的编程语言比较,LabVIEW图形编程方式能够节省85%以上的程序开发时间,其运行速度却几乎不受影响,体现出了极高的效率。使用虚拟仪器产品,用户可以根据实际生产需要重新构筑新
7、的仪器系统。例如,用户可以将原有的带有RS232接口的仪器、VXI总线仪器以及GPIB仪器通过计算机,联接在一起,组成各种各样新的仪器系统,由计算机进行统一管理和操作1,2。22 LabVIEW串口通信模块 在LabVIEW 70中,对串行口进行控制的方式通常有两种:一是利用LabVIEW功能模块的lnstrument 1/0-VISA子模块;二是直接利用LabVIEW功能模块lnstrument 1/0一Serial子模块,该程序库中包含进行串行通信操作的一些功能模块这正符合本软件开发的需要23 LabVIEW通信模块的属性表(1)给出了本系统用到的几个通信模块的基本属性的描述2.4 串口通
8、信程序结构 本程序主要采用顺序结构实现,具体流程描述如下:(1)初始化串口。据实际需要选择并打开com口,打开串口时根据双方协议设置波特率、数据位、奇偶校验位、停止位、缓冲区大小等。如果打开串口无误,指小灯亮;否则提小串口出错,并关闭串口。初始化成功后,退出第一桢,进入第二桢。(2)输入命令字到串口。因双方约定单片机输入的命令字为一六进制的55 (ASC 码字符表示为U),故在程序框图中输入的字串若用 ASC 码字符表示为U,用HI;X进制表示为55。若写入的命令字有误,或写入串口模块打不开,出现出错提小,重新要求打开串口。(3)延时因涉及在操作系统的几层间传递信息,加之从主机发送命令到单片机
9、,单片机判断为正确命令后返回数据给主机是需要一定的时间的,故这一步进行延时等待。延时时间可视情祝而定,只要大于单片机回送给主机的时间就行。具体执行时间可由LabVIEW工具菜中栏下的advanced下的profile来确定程序运行时间。若不加以延时程序会有出错提示。(4)显示部分,主要程序代码如图二所示根据需要进行图形及表格显示。为能准确计算被测信号的频率值,使前面板横轴表示的时间尽可能准确,在显示图形Graph IJU用bundle进行处理。实践表明:通过这种处理方式,可使被测信号的频率值误差在百分之三以内。在数组显示用一个重构数组函数将单片机送来的数据构建成一个10行8列的数组,后利用两层
10、for循环实现数组的行列显示。第三章 程序设计设计思路:本设计分单片机和PC机两部分进行编程。在单片机方面,使用汇编语言,用中断方式接收和发送数据。单片机有五个终端源,本设计使用串行口中断请求标志RI或TI,当串行口接收完一帧串行数据时置位RI或当发送完一帧串行数据时置位TI,向CPU申请中断;在PC机方面,PC机数据的接收和发送采用VisualBasic中的通讯控件MSC0MM。设计中使用LED数码管显示发送或接收到数据;使用46的矩阵式键盘发送数据。3.1单片机通信的设计单片机完成通信数据的收发功能主要分为2个步骤。 串口波特率的设定通常使用单片机的串口时,选用的晶振比较固定,常用于何微机
11、通信的波特率也相对固定。本设计设定通讯波特率为9600。 串口初始化串口初始化主要是设置产生波特率的定时器1、串行口控制和串口的中断控制。具体步骤如下。l 确定定时器1的工作方式写TMOD寄存器。l 计算定时器1的初值装载TH1、TL1。l 启动定时器1写TCON中的TR1位。l 确定串口的控制写SCON。l 使用串口中断方式时,开CPU和中断源写IE寄存器。本设计设定定时器T1工作在模式2,串行口工作于方式3。3.2 PC机通信的设计MSC0MM控件不需要用户对通讯底层进行操作。它有事件驱动通讯和查询通讯两种方式。本设计中采用事件驱动方式,即接收缓冲区每接受规定字符数产生一次MSCOMMOn
12、C0Mm事件,发送时设置不产生该事件。3.3 输入显示程序设计设计中使用7段LED数码管显示发送或接收到数据;使用46的矩阵式键盘发送数据。程序可分为三个模块。 键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。 显示模块:将显示单元的内容在显示器上动态显示。 主程序:调用键输入模块和显示模块。键盘扫描中,向列扫描码地址逐列输出低电平,然后从行码地址读回。如果有键按下,则相应行的地址应为低,如果无键按下,由于上拉的作用,行码为高。这样就可以通过输出的列码和读取的行码来判断按下的是什么键了,由于在建的闭合和断开过程中有一个抖动期,抖动时间长短和开关的机械特性有关,一般为510ms,为了
13、保证CPU对键的闭合做一次且仅一次的处理,在编程时要有一定的延时,本设计设定了30ms的延时来防止按键抖动。程序框图如下: 主程序框图 读键输入子程序框图开始开始初始化地址参数显示缓冲区初始化输出列扫描信号LED显示有键输入? 列扫描信号复位 N读入行信号 Y 读取键值 该列有键输入?键值转换为显示数据 Y N6列扫描完? N Y返回按照行列计算键值查表得键码返回等待按键释放LED显示流程图开始初始化显示参数关所有位显示取显示数据输出段码数据输出位选通信号 否延时位选通信号移位指向下一个显示数据 是8位完成? 返回3.4 单片机收发程序单片机发送数据流程图 单片机接收数据流程图主程序开始主程序
14、开始串行口初始化串行口初始化LED初始化LED初始化开中断设定波特率清接收中断标志R1单片机小键盘按下保护现场LCD显示按下的字符接收PC机发来数据向PC机发送字符 否开中断,恢复现场接受正确返回读接收寄存器内容 是在PC机屏幕上显示按下的字符返回3.5 PC机收发程序PC机发送数据流程图 PC机接收数据流程图串口初始化串口初始化等待控制命令等待控制命令打开串口接收数据打开串口发送数据接收数据的事件触发发送数据的事件触发 否 否在文本框中显示数据数据在LED数码管上显示显示正确显示正确 是 是3.6 硬件连接 图一:图二:图三:第四章 利用LabVIEW实现PC与单片机串口通信任务4.1.建立
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 LabVIEW PC 单片机 串口 通信
链接地址:https://www.31doc.com/p-10598591.html