1、辽 宁 工 业 大 学 开放性试验课程设计 题目:基于LabVIEW单片机之间串口通信设计 院(系):电气工程学院 专业班级:自动班 122 学 号: 学生姓名:刘 权 指导老师: (签字) 起止时间:.12.17-.01.06 摘 要 虚拟仪器是现代计算机技术同仪器技术深层次结合全新概念仪器,实质是利用计算机显示器显示功效模拟传统
2、仪器控制面板,以多个形式表示输出测量结果,利用计算机强大软件功效实现信号数据运算、分析和处理,完成多种测试功效一个计算机仪器系统。 本文介绍了利用 LabView语言来实现上、下位机之间通信方法,并从软、硬件两个方面叙述了设计思想。在简明介绍图形化虚拟仪器平台LabView基础上,分析STC12C5A60S2单片机和 LabView之间串口通信模式,并结合该设计中设计温度检测系统给出串口通信软、硬件设计。 应用优异虚拟仪器软件LabView,大大降低了串口通讯复杂程度,减小了软件设计工作量,能够大大降低投资成本。在实际应用中有巨大使用价值。 关键词:MCS51单片机,
3、LabView,串口通信 目录 前 言 5 第一章绪论 6 1.1 研究的背景及意义 6 1.2 课题发展状况 7 1.3 设计任务 7 第二章系统总体设计 8 2.1 系统方案设计 8 2.2 系统硬件选择 8 第三章 系统硬件设计 9 3.1 元器件的介绍 9 3.1.1 主控制器 9 3.1.2单片机 10 3.2 硬件电路图设计 10 3.2.1mcu及复位电路 10 3.2.2串口电路 11 3.2.3晶振电路 12 3.2.4led输出电路 13 3.2.5PCB版 13
4、第4章 系统软件设计 15 4.1 单片机接口程序设计 15 4.2 单片机串口通讯协议 17 参考文献 19 附 录 20 前 言 本设计关键研究内容以单片机为关键,用以串行通信接口电路,并编写相关控制程序。设计基于串行通信协议,实现和LabView通信功效。 LabView是一个用图标替换文本行创建应用程序图形化编程语言。LabView没有常规仪器控制面板,而是利用计算机强大图形环境,采取可视化图形编程语言和平台,以在计算机屏幕上建立图形化软面板来替换常规传统仪器面板。软面板上含有和实际仪器相同旋钮、开关、指示灯及其它控制部件。在操作时,用户经过鼠标
5、或键盘操作软面板,来检验仪器通信和操作。 而利用LabView设计数据采集系统,可模拟采集多种实际信号,并对其疾行分析得出有用信息。经过开放LabView环境和和之无缝集成硬件,能够方便地将设计从理论阶段、完成系统辨识、控制设计、动态系统仿真和实时系统实现。 图0-1 LabView软件总体结构框图 第1章 绪 论 1.1 研究背景及意义 1.1.1 研究背景 现在以计算机为上位机和以单片机为下位机集散式控制系统被广泛应用于工业检测和控制系统中。因为PC机分析处理能力强,处理速度快,而单片机价格低廉、体积小、使用灵活方便,所以主机通常采取PC机,而从机
6、则采取单片机。串行通信是一个常见数据传输方法,即使它传输速度慢,但它占用通信线路少,成本低,在工程通信方法上仍相关键地位。经过PC机RS-232串行接口和单片机之间串行通信是关键通信手段。 1.1.2 课题研究意义 虚拟仪器和传统仪器技术不一样,虚拟仪器在通用计算机平台上经过数据采集设备,然后依据用户实际需求就能够构建起不一样系统。所以虚拟仪器实际上是一个根据用户实际需求组成数据采集系统。具体来说,虚拟仪器有以下特点: (1) 虚拟仪器利用了计算机丰富软件资源。另外,计算机还能实时、直接地对测试数据进行多种分析和处理。 (2) 因为虚拟仪器融合了计算机硬件资源,计算机来直接处理这些
7、应用,这么就大大增强了传统仪器功效,突破了传统仪器在数据处理、显示、传输、存放等方面限制。 (3) 虚拟仪器基于计算机总线和模块化仪器总线,这么就使仪器硬件实现了模块化,就能够方便地构建模块化虚拟仪器。 (4) 当今世界计算机技术和相关技术发展十分快速,虚拟仪器也是建立在此基础上,所以虚拟仪器伴随计算机更新速度快,功效越来和强大。 (5) 因为计算机体系是开放式,所以虚拟仪器硬件和软件全部含有开放性、可反复使用特点,而且硬件还能够交换,这么就使虚拟仪器系统更为灵活。 1.2 课题发展情况 在虚拟仪器出现之前,传统仪器设备就是一般模拟测量设备。每一个仪器就是一个完全封闭专用系
8、统。伴随计算机技术发展,虚拟仪器发展大致经历了以下多个阶段。 第一阶段是使用计算机增强传统仪器功效。因为计算机技术长足发展和接口统一,只要把仪器和计算机经过特定接口相连接,用户就能够经过计算机控制仪器功效,这使得用计算机控制测控仪器成为一个趋势。 第二阶段是开放式通用接口和仪器硬件组成。伴随时代发展,仪器硬件出现了技术进步:插入式计算机数据采集卡和仪器总线标正确实立。这些新技术使仪器组成和接口得以统一和不停开放,这么就慢慢地消除了原来由用户定义和供给约定义仪器功效区分。 第三阶段,虚拟仪器构架和结构得到了广泛认同和采取。在硬件和软件领域产生很多行业标准,有多
9、个虚拟仪器平台已经得到广泛应用并有趋势逐步成为虚拟仪器行业标准。 第四阶段,虚拟仪器编程行业标准产生了,接口、总线、传输等全部有经过统一标准,虚拟仪器作者只要把大部分精力放在程序开发和仪器功效设计上就能够了,就不需要考虑这些问题。 在以上阶段中,能够看出在虚拟仪器技术发展中有两个尤其突出标志:一个是多种总线标准建立和应用,它从硬件标准上为虚拟仪器铺平了道路;另一个是图形化编程语言出现,用户不再面对枯燥代码,这就使用户把更多精力放在程序步骤和效率上面。 1.3 设计任务 1、 设计单片机及其相关电路,编写控制程序 2、 设计基于串行通信协议,实现和LabView通信功效 第2
10、章 系统方案设计 2.1系统总体方案设计 利用C51单片机最小系统,控制一个简单LED电路。即:P1口控制8盏LED。使用C语言编写一段程序,能够接收上位机发来数据,并显示出来。同时,利用LabVIEW8.6软件,编写一个上位机界面。经过这个上位机界面能够控制这个LED电路,依据电脑输入数字,点亮对应位LED。 图0.0总体设计 2.2 系统硬件选择 控制器选择STC12C5A60S2,该单片机含有8路10位AD,双串口,该单片机有1024字节扩展RAM,同时,该单片机采取了不分频实施机器周期,同晶振频率下,运行速度是一般51单片机12倍,可不用进行初始化设置,就可进行在常见
11、波特率下串口通信。 第3章 系统硬件设计 3.1 元器件介绍 3.1.1 主控制器 STC12C5A60S2单片机中包含中央处理器(CPU)、程序存放器(Flash)、数据存放器(SRAM)、定时/计数器、UART串口、串口2、I/O接口、告诉A/D转换、SPI接口、PCA和外部晶体振荡电路等模块。STC12C5A6060S2系列单片机几乎包含了数据采集和控制中所需全部单元模块,可称得上一个偏上系统。下图为该系列单片机引脚图: 图3.1 STC12C5A60S2单片机引脚图 STC12C5A60S2是STC生产单时钟/机器周期(1T
12、单片机,是高速、低功耗、超强抗干扰新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换,针对电机控制,强干扰场所。 3.1.2单片机 C51单片机是对全部兼容Intel 8031指令系统单片机统称。 图3.2c51单片机 3.2 硬件电路图设计 3.2.1 MCU及复位电路 复位电路,就是利用它把电路恢复到起始状态。就像计算器清零按钮作用一样,方便回到原始状态,重新进行计算。和计算器清零按钮有所不一样是,复位电路开启手段有所不一样。一是在给电路通电时立即进行复位操作;二是在
13、必需时能够由手动操作;三是依据程序或电路运行需要自动地进行。复位电路全部是比较简单大全部是只有电阻和电容组合就能够办到了。再复杂点就有三极管等等配合程序来进行了。 为确保微机系统中电路稳定可靠工作,复位电路是必不可少一部分,复位电路第一功效是上电复位。通常微机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。因为微机电路是时序数字电路,它需要稳定时钟信号,所以在电源上电时,只有当VCC超出4.75V低于5.25V和晶体振荡器稳定工作时,复位信号才会撤消,微机电路开始正常工作。 图3.3MCU及复位电路 3.2.2串口电路 串口通信电路采取是USB接口和上位机
14、通信。它不是一个新总线标准,而是应用在PC领域接口技术。 串行通讯又分为异步通讯和同时通讯两种方法。在单片机中,关键使用异步通讯方法。 MCS_51单片机有一个全双工串行口。全双工串行通讯只需要一根输出线和一根输入线。数据输出又称发送数据(TXD),数据输入又称接收数据(RXD)。串行通讯中关键有两个技术问题,一个是数据传送、另一个是数据转换。数据传送关键处理传送中标准、格式及工作方法等问题。数据转换是指数据串并行转换。 图3.4 串口电路 3.2.3晶振电路 晶振是为单片机合格时钟信号流。单片机电路是由无数门电路组成,而门电路工作时就需要时钟信号作为触发,过来一个脉冲,
15、门电路就实施一次,过来多少个脉冲,门电路就实施多少次。所以,在一样电路情况下,脉冲频率越高,单片机性能也越高。晶振就是在整个电路时序中提供一个基础时钟,时序电路中时钟源必不可少。 图3.5晶振电路 3.2.4 LED输出电路 LED显示原理可知,一个数据显示在LED大屏幕过程分为:从存放器中读出数据和送入到LED板中显示两个步骤。这一过程需要产生以下控制信号:数据地址送入存放器,存放器读信号,锁存器开通及LED单元板中行信号、HC595SCK移位、RCK锁存、E使能信号等。这些必需信号产生增加了数据显示过程时间。假如能够复用其中信号,势必降低这一过程延时。在LED显示系统
16、中,常把显示数据按行存放到外部ROM/RAM 中措施即是一例。该措施设定存放器高位并接到L ED行控制线上,数据按行储存,送入数据地址后,按行读出数据,并同时开通了行控制信号。下面信号复用方案也是类似原理。 图3.6 LED输出电路 3.2.5 PCB板 印制电路板设计是以电路原理图为蓝本,实现电路使用者所需要功效。印刷电路板设计关键指版图设计,需要内部电子元件、金属连线、通孔和外部连接布局、电磁保护、热耗散、串音等多种原因。优异线路设计能够节省生产成本,达成良好电路性能和散热性能。简单版图设计能够用手工实现,但复杂线路设计通常也需要借助计算机辅助设计(CAD)实现,而著
17、名设计软件有OrCAD、Pads (也即PowerPCB)、Altium designer (也即Protel)、FreePCB、CAM350等 图3.7 PCB板 第4章 系统软件设计 4.1 单片机接口程序设计 单片机接口程序采取C51语言编写,这是专门为51系列单片机设计高效率C语言编译器,符合ANSI标准,生成程序代码运行速度极高,所需要存放器空间极小,汇编语言更简单易用。接口程序编写时,首优异行串口初始化,即在SCON寄存器中赋值#050H,将波特率设置为9600,用定时器1产生波特率,串口工作在方法2。 下面为串口通信程序步
18、骤图: 图4.1 上位机 图4.2上位机 图4.3上位机 只有上位机能够主动发命令。也就是说在下位机接收到上位机命令后,才进行发数据或进行相关动作,它不能主动向上位机发送数据。单片机在接收到上位机数字后,返回这个数字,并由PC显示出来。数字起始符是数字00,结束符是数字FF。 4.2 单片机串口通讯协议 单片机经过串口每次向上位机
19、传送3个有效数据:AD1、AD2、8位按键。为确保接收时上位机能正确识别其次序,这里在每次发送数据前加发一个0x00作为起始位。然后把AD1、AD2值均加1。再加上按键值一次发送4个字节数据。上位机接收时检测到0时,立即其后第1~2位减1,然后和其后第3位一并作为AD1、AD2、8位按键值。 由此可见,上位机显示AD值最高为参考值254/255,另外因为按键按下为0,这个协议将会在8个按键全按下时候犯错。但这种情况不多见。假如一定要确保协议可靠性,能够屏蔽一个按键,只使用7个按键。 课设总结 La
20、bView作为一个专为测试测量设计编程语言,使用了工程师们最熟悉图形化编程方法,能够帮助用户高效和快速开发测试应用。串口是常见计算机和外部串行设备之间数据传输通道,经过USB串口总线和PC计算机组成虚拟仪器系统,是现在虚拟仪器组成方法之一,它含有接口简单,使用方便特点。此次设计为PC和单片机串口通信,课题完成工作总结以下: (1)进行了系统硬件和软件方面设计,设计关键内容包含USB串口连接,STC12C5A60S2单片机连接和数据传输,Labview串口程序设计,C语言程序设计等等。 (2)采取USB串口数据线连接PC机和单片机,用LabVIEW8.0作为开发环境,实现了上位机PC机和
21、下位机单片机之间串口通信。连接PC和单片机组成单片机应用系统,PC发送数据给单片机,并将数据返还回来,PC接收并验证返还数据。 实践证实应用优异虚拟仪器软件LabView,大大降低了串口通讯复杂程度,减小了软件设计工作量,大大降低了投资成本。此次设计实现了LabView下串口通信,达成了预期目标。 然而,此次设计还有一定不足之处。用LabView软件强大编辑功效,配合下位机智能仪器,能够实现数据传输功效。在这次设计中,只是初步研究了PC机和单片机之间通信方法,实现简单数据发送和接收。对于复杂数据传输和更强大功效开发还有待发掘。 参考文件 [1]
22、胡汉才,单片机原理及其接口技术[M].清华大学出版社,1996. [2] JEFFREYTRAVIS.LabVIEW大学实用教程[M].电子工业出版社,. [3] 赵亮,侯国锐.单片机C语言编程和实例[M].人民邮电出版社,. [4] 张毅刚.单片机原理及应用[M].北京:高等教育出版社,. [5] 何立民.单片机和嵌入式系统应用.北京航空航天出版社,. [6] 张桐,陈国顺,王正林.精通LabVIEW 程序设计[M].电子工业出版社,. [7]袁新艳.计算机外设和接口技术[M].高等教育出版社,. [8]张迎新.《单片微型计算机原理》、《及接口技术》.北京:国防工业出
23、版社 [9]张靖武,周灵彬.《单片机系统PROTEUS设计和仿真》[M]. 北京:电子工业出版社, [10]孙践知.PC硬件技术基础教程[M].北京:科技出版社,. [11]何立民,单片机应用系统设计[M].北京: 北京航空航天大学出版社,1993. [12]戴胜华,等.单片机原理和应用[M].北京:清华大学出版社,. [13]周向红.《51系列单片机应用和实践教程》.北京:北京航天航空大学出版社 [14]郭天祥.《新概念51单片机C语言教程》.北京:电子工业出版社 [15]马淑华,王凤文,张美金.《单片机原理和接口技术》[M].北京:北京邮电大学出版社.
24、
附 录
程序代码
#include
25、 SBUF=x; while(TI==0); TI=0; ES=1; flag=0; } switch(x) { case 0x30:P1=0xff; break; case 0x31:P1=0xfe; break; case 0x32:P1=0xfc; break; case 0x33:P1=0xf8; break; case 0x34:P1=0xf0; break; case 0x35:P1=0xe0; break; case 0x36:P1=0xc0; break; case 0x37:P1=0x80; break; case 0x38:P1=0x00; break; } } } void serial() interrupt 4 { RI=0; x=SBUF; flag=1; }






