LabView与单片机通信设计毕业设计.docx
- 文档编号:8382954
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:29
- 大小:546.11KB
LabView与单片机通信设计毕业设计.docx
《LabView与单片机通信设计毕业设计.docx》由会员分享,可在线阅读,更多相关《LabView与单片机通信设计毕业设计.docx(29页珍藏版)》请在冰豆网上搜索。
LabView与单片机通信设计毕业设计
LabView与单片机通信设计
摘要
虚拟仪器是现代计算机技术同仪器技术深层次结合的全新概念仪器,实质是利用计算机显示器的显示功能模拟传统仪器的控制面板,以多种形式表达输出测量结果,利用计算机强大的软件功能实现信号数据的运算、分析和处理,完成各种测试功能的一种计算机仪器系统。
本文介绍了利用LabView语言来实现上、下位机之间通信的方法,并从软、硬件两个方面阐述了设计思想。
在简要介绍图形化虚拟仪器平台LabView的基础上,分析STC12C5A60S2单片机与LabView之间的串口通信模式,并结合该设计中设计的温度检测系统给出串口通信的软、硬件设计。
应用先进的虚拟仪器软件LabView,大大降低了串口通讯复杂程度,减小了软件设计的工作量,能够大大降低投资成本。
在实际应用中有巨大的使用价值。
关键词:
单片机,LabView,串口通信
DesignofMCUSerialCommunication
BasedonLabView
ABSTRACT
Virtualinstrumentisthemoderncomputertechnologycombinedwiththeinstrumentationofthenewconceptofdeep-levelinstrument,inrealtermsistheuseofanalogcomputermonitorsdisplaycontrolpanel,traditionalinstruments,invariousformstoexpresstheoutputmeasurements,usingcomputersoftwarefeaturestoachieveastrongsignalOperationdata,analysisandprocessing,tocompleteavarietyoftestingcapabilitiesofacomputerinstrumentsystem.
ThisarticledescribestheuseofLabViewtoimplementthelanguage,thenextmethodofcommunicationbetweenthecrewandfromthesoftwareandhardwarearetwoaspectsofthedesign.BasedonsimpleintroductionofLabViewdummyinstrumentsplatform,analysesthemodeofserialcommunicationbetweenSTC12C5A60S2MCUandLabView,andgivesitssoftwareandhardwaredesignwithanexampleofasystemofTemp-Watch.
TheapplicationofadvancedvirtualinstrumentsoftwareLabView,greatlyreducesthecomplexityofserialcommunication,reducethesoftwaredesigncangreatlyreducetheinvestmentcost.Inpractice,thereistremendousvalueinuse.
KEYWORDS:
MCU,LabView,SerialCommunication
前言1
第1章绪论3
§1.1研究的背景及意义3
§1.1.1课题研究背景3
§1.1.2课题研究意义3
§1.2课题发展状况4
§1.3设计任务5
第2章系统总体设计6
§2.1系统方案设计6
§2.2系统硬件选择6
第3章系统硬件设计7
§3.1元器件的介绍7
§3.1.1主控制器(STC12C5A60S2)7
§3.1.2温度传感器介绍(DS18B20)10
§3.1.3PL2303HX简介13
§3.2硬件电路图设计13
§3.2.1主板电路13
§3.2.2温度检测电路14
§3.2.3键盘电路15
§3.2.4LED灯控制电路15
§3.2.5串口通信电路16
§4.2LabView串口设置及HMI设计18
§4.2.1VISA简介18
§4.2.2串口通讯函数18
§4.2.3HMI设计19
§4.3上位机PC机LabView串口通信实现19
§4.4单片机串口通讯协议22
结论23
参考文献24
致 谢25
附 录26
前言
此次毕业设计的主要研究内容以单片机为核心,设计温度检测电路,LED灯控制电路,开关输入检测电路,串行通信接口电路,并编写相关控制程序。
设计基于串行通信的协议,实现和LabView的通信功能。
LabView是一种用图标代替文本行创建应用程序的图形化编程语言。
与VisualC++、VisualBasic等计算机编程语言相比,图形化编程工具LabView有一个重要的不同点:
不采用基于文本的语言产生代码行,而使用图形化编程语言G编写程序;产生的程序是框图的形式,用框图代替了传统的程序代码。
因而可在很短的时间内被掌握并应用到实践中去,特别适合硬件工程师、实验室技术人员、生产线工艺技术人员的学习和使用。
但其功能并没有因图形化编程而受到限制,依然具有通用编程系统的特点。
LabView有一个可完成任何编程任务的庞大的函数库。
该函数库,包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储等。
LabView还有一个特点是模块化,体现在两个方面。
首先,LabView中使用的基本节点和函数等就是一个个小的模块,可以直接使用;另外,由LabView编写的程序——即虚拟仪器模块,除了作为独立程序运行外,还可作为另一个虚拟仪器模块的子模块(即子VI)供其他模块程序使用。
图0-1LabView软件总体结构框图
LabView没有常规仪器的控制面板,而是利用计算机强大的图形环境,采用可视化的图形编程语言和平台,以在计算机屏幕上建立图形化的软面板来替代常规的传统仪器面板。
软面板上具有与实际仪器相似的旋钮、开关、指示灯及其他控制部件。
在操作时,用户通过鼠标或键盘操作软面板,来检验仪器的通信和操作。
而利用LabView设计的数据采集系统,可模拟采集各种实际信号,并对其疾行分析得出有用信息,然后将测量结果和应用程序进行分享。
通过开放的LabView环境和与之无缝集成的硬件,能够方便地将设计从理论阶段、完成系统辨识、控制设计、动态系统仿真以及实时系统实现。
利用LabView作仿真界面既可直观表达仪表仪器亦达到美观效果,与其他仿真软件相比较,其优势是很明显的。
第1章绪论
§1.1研究的背景及意义
§1.1.1研究的背景
目前以计算机为上位机和以单片机为下位机的集散式控制系统被广泛的应用于工业检测和控制系统中。
由于PC机的分析处理能力强,处理速度快,而单片机价格低廉、体积小、使用灵活方便,所以主机一般采用PC机,而从机则采用单片机。
串行通信是一种常用的数据传输方法,虽然它的传输速度慢,但它占用的通信线路少,成本低,在工程的通信方式上仍有重要地位。
通过PC机的RS-232串行接口与单片机之间串行通信是主要的通信手段。
虚拟仪器在那些发达国家中设计、生产、使用已经十分普及。
在美国,虚拟仪器系统及其图形编程语言,已成为各大学理工科学生的一门必修课程,而在我国虚拟仪器的设计、生产、使用正在起步。
国内专家预测,未来的几年内,我国将有50%的仪器为虚拟仪器。
届时,国内将有大批企业使用虚拟仪器系统对生产设备的运行状况进行实时监测。
随着微型计算机的发展,各种有关软件不断诞生,虚拟仪器将会逐步取代传统的测试仪器而成为测试仪器的主流。
§1.1.2课题研究意义
虚拟仪器与传统仪器技术不同,虚拟仪器在通用计算机平台上通过数据采集设备,然后根据用户的实际需求就可以构建起不同的系统。
所以虚拟仪器实际上是一个按照用户的实际需求组成的数据采集系统。
虚拟仪器采用了通用的硬件,各种仪器的差异主要是软件,它主要使用计算机显示器的显示功能来显示模拟传统仪器的控制面板,这就可以用多种形式输出检测结果,即实用又美观。
目前,计算机和仪器的密切结合并且结合的越来越紧密是仪器发展的一个重要方向。
虚拟仪器系统可以归纳为图1-1。
图1-1虚拟仪器系统
具体来说,虚拟仪器有以下特点:
(1)虚拟仪器利用了计算机丰富的软件资源。
这样就可以使部分仪器的硬件软件化,增加了系统灵活性,并且节省了资源。
另外,计算机还能实时、直接地对测试数据进行各种分析与处理。
(2)因为虚拟仪器融合了计算机的硬件资源,计算机来直接处理这些应用,这样就大大的增强了传统仪器的功能,突破了传统仪器在数据处理、显示、传输、存储等方面的限制。
(3)虚拟仪器基于计算机总线和模块化仪器的总线,这样就使仪器的硬件实现了模块化,就可以方便地构建模块化的虚拟仪器。
(4)当今世界的计算机技术和相关的技术发展十分迅速,虚拟仪器也是建立在此基础上的,因此虚拟仪器随着计算机更新的速度快,功能越来与强大。
(5)由于计算机的体系是开放式的,所以虚拟仪器的硬件和软件都具有开放性、可重复使用的特点。
因此,用户可根据自己的需要,选用不同厂家的产品,而且硬件还可以互换,这样就使虚拟仪器系统更为灵活。
而我们通过研究这样的一个课题,可以更好地了解应用虚拟仪器,不断地改进,使它融入到生活中的各个方面。
§1.2课题发展的状况
在虚拟仪器出现之前,传统仪器设备就是普通的模拟测量设备。
每一种仪器就是一种完全封闭的专用系统。
如果想存储或者进一步处理数据,就需要人工继续操作。
虚拟仪器从最初的概念提出到现在日趋成熟的技术,这些都离不开计算机技术的飞速。
简单来说,随着计算机技术的发展,虚拟仪器的发展大致经历了以下几个阶段。
第一阶段是使用计算机增强传统仪器的功能。
由于计算机技术的长足发展和接口的统一,计算机和外界通信成为可能,只要把仪器和计算机通过特定的接口相连接,用户就可以通过计算机控制仪器的功能,这使得用计算机控制测控仪器成为一种趋势。
第二阶段是开放式的通用接口和仪器硬件构成。
随着时代的发展,仪器的硬件出现了技术进步:
插入式的计算机数据采集卡和仪器总线标准的确立。
这些新的技术使仪器的构成和接口得以统一和不断开放,这样就慢慢地消除了原来由用户定义和供应商定义的仪器功能的区别。
第三阶段,虚拟仪器构架和结构得到了广泛认同和采用。
在硬件和软件领域产生许多行业标准,有几个虚拟仪器平台已经得到广泛的应用并有趋势逐渐成为虚拟仪器行业标准。
然后用户可以把许多仪器的功能通过软件编写的方式封装起来用虚拟仪器实现。
第四阶段,虚拟仪器编程的行业标准产生了,接口、总线、传输等都有通过统一的标准,虚拟仪器的作者只要把大部分精力放在程序的开发和仪器功能的设计上就可以了,就不需要考虑这些问题。
在以上阶段中,可以看出在虚拟仪器技术发展中有两个特别突出的标志:
一个是各种总线标准的建立和应用,它从硬件标准上为虚拟仪器铺平了道路;另一个是图形化编程语言的出现,用户不再面对枯燥的代码,这就使用户把更多的精力放在程序的流程和效率上面。
§1.3设计任务
1、设计单片机及其相关电路,编写控制程序
2、设计基于串行通信的协议,实现和LabView的通信功能
3、编写LabView程序,通过串行通信实现对单片机系统的温度值,输入开关状态的读取,实现对LED的控制。
第2章系统方案设计
§2.1系统总体方案设计
系统由温度传感器、LED灯、开关、串口通信电路、STC12C5A60S2单片机、上位机笔记本电脑一台。
单片机对温度和开关量进行采集,经过处理,通过串口通信传输到上位机中,由上位机LabView软件进行编程将信息处理并呈现在用户面前,既能实现人机对话,也能实现远程控制下位机功能。
§2.2系统硬件的选择
传感器采用传统的DS18B20传感器,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
开关量输入采用开关量输入,选用独立按键开关。
控制器选用STC12C5A60S2,该单片机具有8路10位AD,双串口,该单片机有1024字节的扩展RAM,同时,该单片机采用了不分频执行机器周期,同晶振频率下,运行速度是普通51单片机的12倍,可不用进行初始化设置,就可进行在常用波特率下的串口通信。
第3章系统硬件设计
§3.1元器件的介绍
§3.1.1主控制器(STC12C5A60S2)
STC12C5A60S2单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART串口、串口2、I/O接口、告诉A/D转换、SPI接口、PCA、看门狗及片内R/C振荡器和外部晶体振荡电路等模块。
STC12C5A6060S2系列单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个偏上系统。
下图为该系列单片机引脚图:
图3-1STC12C5A60S2单片机引脚图
STC12C5A60S2是STC生产的单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换,针对电机控制,强干扰场合。
1、增强型8051CPU,1T(1024G),单时钟/机器周期
2、工作电压5.5-3.5V
3、1280字节RAM
4、通用I/O口,复位后为:
准双向口/弱上拉
可设置成四种模式:
准双向口/弱上拉,强推挽/强上拉,仅为输入/高阻,开漏
每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA
5、有EEPROM功能
6、看门狗
7、内部集成MAX810专用复位电路
8、外部掉电检测电路
9、时钟源:
外部高精度晶体/时钟,内部R/C振荡器
常温下内部R/C振荡器频率为:
5.0V单片机为:
11~17MHz
3.3V单片机为:
8~12MHz
10、4个16位定时器
两个与传统8051兼容的定时器/计数器,16位定时器T0和T1
11、3个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟,独立波特率发生器可以在P1.0口输出时钟
12、外部中断I/O口7路,传统的下降沿中断或电平触发中断,并新增支持上升沿中断的PCA模块,PowerDown模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3,CCP0/P1.3
13、PWM2路
14、A/D转换,10位精度ADC,共8路,转换速度可达250K/S
15、通用全双工异步串行口(UART)
16、双串口,RxD2/P1.2,TxD2/P1.3
17、工作范围:
-40~85
18、封装:
LQFP-48,LQFP-44,PDIP-40,PLCC
管脚说明
P0.0~P0.7P0:
P0口既可以作为输入/输出口,也可以作为地址/数据复用总线使用。
当P0口作为输入/输出口时,P0是一个8位准双向口,内部有弱上拉电阻,无需外接上拉电阻。
当P0作为地址/数据复用总线使用时,是低8位地址线A0~A7,数据线D0~D7
P1.0/ADC0/CLKOUT2
标准IO口、ADC输入通道0、独立波特率发生器的时钟输出
P1.1/ADC1
P1.2/ADC2/ECI/RxD2
标准IO口、ADC输入通道2、PCA计数器的外部脉冲输入脚,第二串口数据接收端
P1.3/ADC3/CCP0/TxD2
外部信号捕获,高速脉冲输出及脉宽调制输出、第二串口数据发送端
P1.4/ADC4/CCP1/SS非
SPI同步串行接口的从机选择信号
P1.5/ADC5/MOSI
SPI同步串行接口的主出从入(主器件的输入和从器件的输出)
P1.6/ADC7/SCLK
SPI同步串行接口的主入从出
P2.0~P2.7
P2口内部有上拉电阻,既可作为输入输出口(8位准双向口),也可作为高8位地址总线使用。
P3.0/RxD
标准IO口、串口1数据接收端
P3.1/INT0非
外部中断0,下降沿中断或低电平中断
P3.3/INT1
P3.4/T0/INT非/CLKOUT0
定时器计数器0外部输入、定时器0下降沿中断、定时计数器0的时钟输出
A/D转换器的结构
STC12C5A60AD/S2系列带A/D转换的单片机的A/D转换口在P1口,有8路10位高速A/D转换器,速度可达到250KHz(25万次/秒)。
8路电压输入型A/D,可做温度检测、电池电压检测、按键扫描、频谱检测等。
上电复位后P1口为弱上拉型IO口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不须作为A/D使用的口可继续作为IO口使用。
单片机ADC由多路开关、比较器、逐次比较寄存器、10位DAC、转换结果寄存器以及ADC_CONTER构成。
该单片机的ADC是逐次比较型ADC。
主次比较型ADC由一个比较器和D/A转换器构成,通过逐次比较逻辑,从最高位(MSB)开始,顺序地对每一输入电压与内置D/A转换器输出进行比较,经过多次比较,使转换所得的数字量逐次逼近输入模拟量对应值。
逐次比较型A/D转换器具有速度高,功耗低等优点。
需作为AD使用的口先将P1ASF特殊功能寄存器中的相应位置为‘1’,将相应的口设置为模拟功能。
§3.1.2温度传感器(DS18B20)
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
DS18B20的性能特点如下:
●独特的单线接口仅需要一个端口引脚进行通信;
●多个DS18B20可以并联在惟一的三线上,实现多点组网功能;
●无须外部器件;
●可通过数据线供电,电压范围为3.0~5.5V;
●零待机功耗;
●温度以9或12位数字;
●用户可定义报警设置;
●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。
高速暂存RAM的结构为8字节的存储器,结构如图4所示。
头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。
第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。
DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。
该字节各位的定义如图3-2所示。
低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。
温度LSB
温度MSB
TH用户字节1
TL用户字节2
配置寄存器
保留
保留
保留
CRC
图3-2 DS18B20字节定义
由表1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。
因此,在实际应用中要将分辨率和转换时间权衡考虑。
高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。
第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。
当DS18B20接收到温度转换命令后,开始启动转换。
转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。
单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。
当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。
表3-1DS18B20温度转换时间表
DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。
若T>TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。
因此,可用多只DS18B20同时测量温度并进行报警搜索。
在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。
主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。
DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,产生的信号作为减法计数器2的脉冲输入。
器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。
计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。
其输出用于修正减法计数器的预置值,只要计数器门未关闭就重复上述过程,直到温度寄存器值大致被测温度值。
另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。
系统对DS18B20的各种操作按协议进行。
操作协议为:
初使化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。
§3.1.3PL2303HX简介
PL2303是Prolific公司生产的一种高度集成的RS232-USB接口转换器,可提供一个RS232全双工异步串行通信装置与USB功能接口便利联接的解决方案。
该器件内置USB功能控制器、USB收发器、振荡器和带有全部调制解调器控制信号的UART,只需外接几只电容就可实现USB信号与RS232信号的转换,能够方便嵌入到手持设备。
该期间作为USB/RS232双向转换器,一方面从主机接受USB数据并将其转换为RS232信息流格式发送给外设;另一方面,从RS232外设接收数据转换为USB数据格式传送回主机。
这些工作全部由器件自动完成,开发者无需考虑固件设计。
通过利用USB块传输模式,利用庞大的数据缓冲器和自动流量控制,PL2303HX能够实现更高的吞吐量比传统的UART(通用异步收发器)端口,高达115200bps的波特率可用于更高的性能使用。
§3.2硬件电路图设计
§3.2.1主板电路
系统整体硬件电路包括,温度检测电路,LED灯控制电路,开关输入检测电路,串行通讯接口电路,单片机主板电路等,如图3-3所示。
图3-3系统主板电路
§3.2.2温度检测电路
温度检测电路包括滑动变阻器2个,以及
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LabView 单片机 通信 设计 毕业设计