基于labview的pc与单片机的串口通信的循环计数设计方法毕业设计(论文)(编辑修改稿)内容摘要:

上述 经理的历程当中 , 我们可以发现虚拟仪器的发展有两个重要的标志 : 一是总线标准的确立和应用;二 是 使用了图像化编程语言 , 用户可以很容易的根据要求编写特定功能,提高了研发的效率,减少了研发的 成本。 虚拟仪器的应用 1 监控方面 通过虚拟仪器,我们可以远离一些危险的场所,只需要放置一些高灵敏的传感器,并将传感器采集到的数据远程发回给上位机。 2 教育 教学 方面 由于虚拟仪器的快速发展,目前已扩展至各个领域,教育方面 也不例外,引起简介的编程方式和高效率的研发过程使得教学部门也使用该软件编写教学管理系统,使得教学方法更加的灵活。 3 嵌入式系统 因为虚拟仪器中有很多通信接口就来自与嵌入式系统,我们可以通过虚拟仪 器编写上位机监控系统实时控制下位机的的状态。 可以说虚拟仪器应用 设计各个行业领域,尤其是在工业控制领域,他的问世也是嵌入式技术的一次革新。 LabVIEW 简介 LabVIEW 的简称 是实验室虚拟仪器集成环境 ,器英文全称为 Laboratory Virtual Instrument Engineering Workbench,美国国家仪器公司 (NATIONAI INSTRUMENTS,简称 NI)是 LABVIEW 的生产者。 LabVIEW 为 研发者提供了一种快速设计自己的测试控制系统的方法,用图形化编辑语言进行设计,高效,快速准确。 计算机快速的运算能力与专 一硬件的采集和传输能力结合在一起 , 极大地缩小了研发时间和研发成本。 LabVIEW 技术移植伴随着计算机技术的发展而跟着提高 , 同时他还能通过网络与旁路设备进行互相联机通信 , 我们只需要添加或减少一部分框图内容即可改变测量两功能,扩展性非常强, 并且这十分简单。 LabVIEW 和 Visual C++等一样也是一种常用的编程工具 , 它内部有很多成熟稳定的库函数,用户只需要调用相应的函数即可实现自己想要的共能 , 浙西二库函数有数据分析,数据处理,穿行通信,联网通信,保存数据等功能。 LabVIEW也可以实现仿真调试,和 C 语言一 样能够单步连续的执行程序,进行一步一步分析自己程序的可靠性。 另外 Labview 还有实时监控程序运行的功能,可以设置断点和检测探头来实时监控程序。 使得开发起来更加有效、快捷方便。 LabVIEW 的编程语言和传统的语言不同,它采用了图形语言 ———— G 语言 ,这种语言直观通俗易懂,编起程序来高效快速。 同时他还方便其他读者阅读程序,方便移植和理解。 图形化语言随着虚拟仪器的告诉发展将来定会成为一种编程标准。 LabVIEW 的基本特点 1 具有良好的图形用户界面 : LabVIEW 编写出来的 程序大方美观,有着和传统仪器一样的操作面板,各种人性化的控制按钮,表盘显示,图表波形显示,更加美观漂亮。 2 编写方式: Labview 采用的图形化编程方式比其他语言都简单,并且阅读起来也很方便的。 3 模块化和层次分明: LabVIEW 编写的 VI 面板可作为用户 层程序 来 使用, 我们还可以将 VI 制作为子 VI 共其他程序调用,因此模块化程度很高。 4 调试方便: 当 Labview 编好程序后,我们怎样验证自己程序的可行性呢,如果直接放到项目工程中进行测试肯定不现实,那么我们就可以一部一部让程序执行,通过观察每一块程序的结果来验证 程序执行有没有问题。 STC89C51RC 单片机介绍 单片机最先是有 intel 的 8031 单片机发展而来的,随着 Flash 技术的 迅速发展, 51 单片机横空出世,遍布各个电子控制行业,他是目前市面上最普遍的 8位单片机,后来由于其广泛的应用,很多大的公司看上了他的发展前景,纷纷推出以 51 为内核的 8 位单片机,像 ATMEL 公司的 AT89 系列单片机,被应用到共坑测量领域。 Intel 的 80C3 80c5 87C5 80C3等系列: Philips、华邦 dallas等公司的许多产品都是基于 51 内核的。 国内盛行的 51 单片机主要是宏晶公司推出的 STC 系列单片机,由于其价格便宜,能耗低,并且很稳定,国内很多地方都还在使用旗下的 51 单片机。 STC单片机 发展历程从 STC89—— 90—— 10—— 11—— 12—— 15系列 ,分别各有特点。 STC89 系列是传统的单片机和 AT89 系列 单片机之间相互通用 ,这一系列单片机为 12T 单片机。 在 89 系列上直接发展起来的是 90 系列, 10 和11 系列 单片机是比较廉价的 1T 单片机, 内部设有硬件 PWM 和 EEPROM 功能 , 但都没有数模转换功能。 12 系列 是增强型功能的 1T 单片机, 具 有 A|D 转换功能。 因为其功能强大,价格低廉所以 是 市场上的 主流产品。 15 系列是为了去掉外接 晶振,防止因环境变化引起的频率飘逸问题,内部集成高精度 RC 震荡电路,因此完全不需要外界晶振即可工作。 下图分别为 51 单片机的应引脚图和内部结构框图。 图 51 芯片引脚分布 51 单片机分为贴片式和直插式,贴片体积小便于集成,直插式体积大但是方便焊接。 上图为直插式 40 引脚原理图。 图 c51 单片机 P0、 P P P3 共 4 组 32 个 IO 输入输出口; 内部有 111 条指令,大部分为单字节指令 21 个专用寄存器 2 个可编程定时 /计数器 , 5 个中断源, 2 个优先级( 52 有 6 个) 一个全双工串行通信口 外部数据存储器寻址空间为 64kB 外部程序存储器寻址空间为 64kB 逻辑操作位寻址功能 一个 +5V 电源供电 CPU 由运算 器 和控制 器 ,同时还包括中断系统和部分外部特殊功能寄存器; RAM(读写存储器)存放程序运行过程中产生的中间过程变量和一些临时变量 ; ROM(制度存储器)用以存放程序、一些原始数据 ; I/O 口: 输入输出口,可读可写。 两个多功能计数器模块,可设为定时器模式或计数器 模式: 五个中断源的中断控制系统; 一个全双工 UART(通用异步接收发送器)的串行 I/O 口,用于实现单片机之间或单片机与微机之间的串行通信; 单片机编程环境 KEIL 和下载软件 STCISP 介绍 Keil 是 ARM 公司发布的,它包含编译器、调试工具实现了与单片机编程的完美工具。 提高研发人员的编程效率,该版本增加了很多常用的功能,切实的照顾到了编程人员的编程习惯。 KEIL 是用来编译 C 语言的编程环境如下图所示 图 KEIL5LOGO 图 KEIL5编译界面 Keil 工程 的建立过程: STCISP 下载软件 程序烧录过程 新 建 项 目 选 择 器 件 编 辑 C文 件 编 译生成HEX文件 选 择 器 件 型 号 选 择 波 特 率 打 开 文件 点 击 下 载 按 钮 第 三 章系统方案设计 系统总体方案设计 下位机以 STC89C52 单片机为主控制器,以 8 端数码管为显示系统,单片机根据定时器 0 一秒定时和上位机的控制数据来进行数码管循环计数。 同时,利用LabVIEW20xx 软件, 编写一个串口上位机通信界面。 通过这个上位机界面能够控制 单片机循环计数的初值,并且接收单片机返回的实时计数值显示在上位机上。 图 总体设计 系统硬件的选择 核心 控制器选择 方案一 : ARM 一般用于高性能高进度场合,优势是能耗低,精度高。 但是成本高,不容易上手,操作麻烦,对于步进电机来说有点大材小用。 方案二: AVR 价格稍贵 ,性价比高,自制下载线方便 ,存储空间较大 ,C 编译器有多种。 技术成熟,资料多,上手容易,性价比是它的优势。 LABVIEW上位机 STC89C51RC 数码管显示 CH340 USB 转串口 方案三: STC89 系列单片机便宜功耗低,操作简单,速度不太好,但是资料成熟, 上手容易。 经三方比较, STC89C52RC 实惠, 资料成熟且其前 ,并且满足本设计需要,容易学习,所以选择该单片机小系统。 上位机编程软件的选择 方案一 : Visual 20xx 用 FMC 语言编写 windows 窗体控件,里面也有串口控件,需要学习 C++语言。 方案二: 用 C语言需要学习 java 语言, java 程序学习比较困难。 方案三: 用 Labview 编写上位机,可视化的编程环境,图形化的编程语言,方便快捷并且容易简单。 通过对比这些 ,我们选择用 Labview 来编写本次上位机。 由于其编程方便,开发周期短,语言容易学习。 显示系统选择 方案一 : 利用 1602 液晶显示屏, 1602 可以显示英文和数 字,并有成熟的文档资料,程序编写起来稍微复杂点,价格也较贵。 方案二: 利用诺基亚 5110LCD 液晶显示屏模块显示。 可以显示英文汉字,相对比较便宜。 方案三: 用数码管显示,数码管编写程序简单,价格低廉,资料齐全,电路设计比较简单,只能显示数字。 因为我们此次设计只需要显示循环变动的数字,所以我们选择数码管显示电路。 第 四 章 LabVIEW 上位机设计 上位机 程序内容 上位机上可以设置通信波特率、数据位、停止位,同时设有打开串口按钮、停止运行按钮、清空发送去按钮、清空接收区按钮;还有 接收数据显示文本框和发送数据显示文本框,用户通过设置串口通信参数和打开串口按钮即可与下位机进行串口通信,并将下位机发回的数据实时显示到 PC 机上,同时还可以控制循环的初始值。 上位机通过编写串口通讯程序,在 labview 中是 VISA,包括 VISA 参数配置包括波特率,数据位,停止位,校验位等。 通过 WRITE VISA 发送串口信息,通过 READ VISA 读取串口信息,并显示出来。 上位机框图 上位机前面板框图: 上位机创建虚拟仪器过程 接收区 打 开 串 口 发送数据 清空接收区 清空发送区 发送区 建立 VI 创建前面板 创建框图程序 运行和调试程序 程序流程图: 开始 打开串口 串口初始化 发送数据 清空缓存区 发送串口数据 发送数据 发送循环初值 清空发送缓存区 上位机 LabVIEW 串口通讯的实现 本上位机主要用到串口通信模块, VISA 是本设计的重点所在,也是一个重要枢纽。 程序外层用一个循环结构加枚举变量,同时在循环结构上添加以个移位寄存器,使得程序先初始化,再进入到接收和发送函数。 VISA 子 VI 如下图 图 子 VI 子 VI 前面板 通过前面板就可以设置波特率为 9600,数据位为 8 位,无奇偶校验, 1 个停止位。 上位机主程序框图 主程序有一个循环结构,和若干个条件结构和一个事件触发结构构成。 程序设计的步骤如下: 1.建立新 VI 程序 打开 Labview 应用程序 , 点击新建按钮,然后选择 VI 从而创建一个新的 VI程序。 2.程序前面板设计 在 新建的 前面板设计区 右击鼠标 右键, 有一个工具选择块,我们可一点击左上角将其锁定到前面板。 ( 1)添加一个字符串输入控件: 点击 控件 express字符串输入控件, 双击将其添加到前面板上,并 将标签改为“ 发送 循环数据 (十六进制)”, 将鼠标移动到该控件上并点击鼠标右键 ,选择“十六进制显示”。 ( 2)添加一个字符串显示控件: 点击 控件 express字符串输入控件 , 双。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。