《基于CVI可视界面的直流电机测控系统的设计毕业论文1.doc》由会员分享,可在线阅读,更多相关《基于CVI可视界面的直流电机测控系统的设计毕业论文1.doc(53页珍藏版)》请在三一办公上搜索。
1、 毕 业 设 计(论 文) 题 目: 基于CVI可视界面的直流电机 测控系统的设计 二级学院 机电工程学院 专 业 电气工程及其自动化 目 录摘要IIIABSTRACTIV第一章 设计的总体思想5第二章 直流电动机22.1 直流电机的概述2第三章 LABWINDOWS/CVI的简介53.1 虚拟仪器的简介53.2 虚拟仪器的结构53.3 Labwindows/CVI 编程语言7第四章 硬件设计84.1 硬件的简介84.2 设计原理图各部分的说明114.2.1 直流电动机正转、反转以及停转114.2.2 直流电动机转速检测方法114.2.3 直流电动机的控制方法134.3 RS-232通信电路1
2、44.3.1 串行通信与并行通信144.3.2 异步串行通信的数据传送格式154.3.3 RS-232接口电路图及其功能说明16第五章 直流电动机的调速与检测的软件的设计195.1 直流电动机的PWM程序设计195.2 直流电动机的检测子程序215.3 串口通信的程序22第六章上位机的软件设计256.1 CVI界面的设计256.2 串口参数选择256.4 电机的控制296.5调试好的CVI 界面31结论32参考文献33致谢35附录36附录一 直流电动机控制的总体原理图36附录二 直流电动机控制的程序36附录二:CVI上位机的软件设计40基于CVI可视界面的直流电机测控系统的设计摘要直流电动机由
3、于具有良好的起动、制动性能,适宜在大范围内平滑调速等特点,在许多需要调速或快速正反向的电力拖动系统中得到了广泛的应用。本设计应用单片机(AT89S52)来实现直流电机的双向控制、转速的检测和显示、波形的整形和利用RS232与计算机进行通信的过程,其中利用Labwindows/CVI编写上位机用户界面软件来实时的获取直流电机的转速。设计中用protel99SE完成电路原理图的绘制,实现了系统硬件模块的搭建,利用Proteus对原理图进行仿真,最后利用专业编程语言和keilc软件对设计的电路进行编程。关键词:单片机 Labwindows/CVI RS232串口通信 protel99SE keilc
4、 CVI-based visual interface of the DC Motor Control SystemAbstractDC motor as a good start, braking performance, suitable for a large range of speed and so smooth in many needed fast forward and reverse speed or power drive system has been widely used. The design application MCU (AT89S52) to achieve
5、 bi-directional DC motor control, speed detection and display, waveform shaping and the use RS232 to communicate with the computer process, including use of Labwindows / CVI preparation of PC user interface software for real-time DC motor speed. Design using protel99SE complete circuit schematic dra
6、wing, hardware modules to achieve system structures, using Proteus schematic diagram of the simulation, the final use of specialized programming languages and software design of the circuit keilc programming.Keywords:SCM Labwindows/CVI RS232 serial communication protel99SE keilc 第一章 设计的总体思想本设计要完成的任务
7、是利用单片机来控制直流电动机, 并设计其硬件电路,包括直流电机双向控制电路,转速检测电路,波形整形电路、转速显示电路、RS232通信电路。其中单片机负责底层的对电机的PWM控制,分为正转和反转,转速分为低速、中速、高速。单片机还负责获取光电传感器检测到的转盘转速(即电机的转速),并用整形电路对波形整形。同时还利用单片机的串口与计算机通信,在LabWindows/CVI中编写上位机用户界面软件,向单片机发送改变转速的命令,按照正转和反转及转速(低、中、高),来实时控制电机,并采集其电机转速数据。采用巴特沃斯滤波器进行滤波,实时显示电机转速波形,并将采集到的数据保存在.txt文件中。设计结构图如图
8、1所示:PWM输出89S52单片机功率驱动器整形电路显示波形直流电机转速的控制光电传感器CVI上位机RS232方向的控制图1 设计的结构图第二章 直流电动机2.1 直流电机的概述在现实生活中,直流电动机较为常见,因为大部分的电动玩具中使用的都是直流电动机,这一类直流电动机体积小、功率低、转速高,在一些比较小的场合十分适用,但它的特性与大型直流电动机十分相似。从控制的角度来看,直流调速还是交流拖动系统的基础。早期直流电动机的控制均以模拟电路为基础。由运算放大器、非线性集成电路以及少量的数字电路组成,控制系统的硬件部分非常复杂,功能单一,而且系统非常不灵活、调试困难,阻碍了直流电动机控制技术的发展
9、和应用范围的推广。随着单片机技术的日新月异。使许多控制功能及算法可以采用软件技术来完成,不但为直流电动机的控制提供了更大的灵活性,而且使系统能达到了更高的性能,从而大大节约了人力资源,降低了系统成本,有效地提高了工作效率。1、直流电动机的工作原理直流电动机由转子部分和定子部分组成。转子部分由电枢和换向器组成。电枢由漆包线缠绕在特殊形状的铁氧体上构成,换向器是电枢绕组的线圈引出端,通常情况下,直流电动机 有3个绕组,那么换向器就有3个,由于换向器的存在,使得电枢绕组内的电流在不同的磁极下电流的方向不同,从而保证直流电动机的转子能够向一个方向旋转。定子部分由励磁和电刷(碳刷)组成。在直流电机中励磁
10、部分大都是由永久磁铁构成,电刷一般由铜片构成,与换向器进行滑动接触,用于将外部加载的直流电压传送到电枢绕组中。(1)、直流电动机的电磁转矩 直流电动机的工作原理图如图2所示:图2 直流电动机的原理图F为导体受到的电磁力,该值大小为:F=Bli,式中,B为导体所在处的磁通密度;l为导体在磁场中的长度;i为导体中流过的电流。由于电磁力的存在,使得沿着电枢的外圆切线方向产生电磁转矩。直流电动机产生的电磁转矩作为驱动转矩使直流电动机旋转。当直流电动机带着负载匀速旋转时,其输出转矩必定与负载转矩相等,但直流电动机的输出转矩不是电磁转矩。因为直流电动机本身的机械摩擦(例如轴承的摩擦、电刷和换向器的摩擦等)
11、和电枢铁芯中的涡流、磁滞损耗都要引起阻转矩,此转矩用T0表示。这样,直流电动机的输出转矩T2便等于电磁转矩T减去直流电动机本身的阻转矩T0。所以,当直流电动机克服负载阻转矩TL匀速旋转时,则有:T2=T-T0=TL表明,当直流电动机稳态运行时,其输出转矩的大小由负载阻转矩决定。实际上,直流电动机经常运行在转速变化的情况下,例如启动、停转或反转等,以此必须考虑转速转速改变时的转矩平衡关系。当直流电动机的转速改变时,由于电动机及负载具有转动惯量,将产生惯性转矩Tj,即:Tj=Jd/dt式中,J为负载和电动机转动部分的转动惯量,即折算到电动机轴上的转动惯量; 为电动机的角速度;d/dt为电动机的角加
12、速度。这时电动机轴上的转矩平衡方程式为:T2-TL=Tj=Jd/dt(1)或: T2=TL+Tj=TL+Jd/dt(2)式2表明当输出转矩T2大于负载转矩TL时,d/dt0,说明电动机在加速;当输出转矩T2小于负载转矩TL时,d/dt0,说明电动机在减速。可见此式表示转速变化时电动机轴上的转矩平衡关系,所以称为电动机的动态转矩平衡方程式。2、 电动机的特性当直流电动机的转速N=0时,此时电动机上的电流最大,电流值的大小可以根据式Ist=Ua/Ra进行计算(Ist时直流电动机的启动电流)。出现N=0的情况有两种:一种是直流电动机在启动的瞬间;另一种情况是电动机堵转,即当电动机运行时,如果外加阻转
13、矩过大,造成直流电动机停转的现象。这两种情况的出现对于直流电动机来说都是比较致命的。所以在保证直流电动机能够正常启动的同时最好能降低启动电流,在直流电动机运行过程中为了防止电动机出现堵转现象,如果有条件的话可以在电动机轴上加装飞轮装置,或者在选择电动机时,考虑好需要带动负载的大小,一般的,最好让直流电动机带动全部负载时的功率的60%-80%,这样既保护了直流电动机,同时效率也比较高。第三章 Labwindows/CVI的简介3.1 虚拟仪器的简介虚拟仪器是计算机技术、仪器技术和通信技术相结合的产物。虚拟仪器的目的是利用计算机强大资源使硬件技术软件化,分立元件模块化,降低程序开发的复杂程度,增强
14、系统的功能和灵活性。虚拟仪器基于计算机的软硬件测试平台,它可以代替传统的测量仪器,如示波器、逻辑分析仪、信号发生器、频谱分析仪等;可集成自动控制、工业控制系统;可自由构建专有仪器系统。它由计算机、应用软件和仪器硬件组成。虚拟仪器系统是将仪器硬件搭载到计算机平台,并辅以相应软件而构成的。虚拟仪器通过软件将计算机硬件资源与仪器硬件有机地融合为一体,从而把计算机强大的计算处理能力和仪器硬件的测量、控制能力结合在一起,大大降低了仪器硬件的成本,并通过软件实现对数据的显示、存储以及分析处理功能。从发展史看,电子测量仪器经历了由模拟仪器、智能仪器到虚拟仪器三个阶段。如果在计算机中插入数据采集卡,利用计算机
15、高速计算能力完成仪器信号的分析与处理、结果的输出,就可以把传统仪器的所有功能模块集成在一台计算机上,软件称为仪器系统的关键。虚拟仪器技术的优势在于可由用户自己定义通用仪器系统,且功能灵活,很容易构建,所以应用面极为广泛,尤其在科研、开发、测量、检测、计量、控制等领域,更是不可多得优秀开发工具。虚拟仪器技术先进,符合国际上流行的“硬件软件化”的发展趋势。它功能强大,可实现示波器、逻辑分析仪、频谱仪信号发生器等多种普通仪器全部功能,配以专用探头和软件,还可以检测特定系统的参数;它操作灵活,完全图形化界面;它集成方便,不但可以和高速数据采集设备构成自动测量系统,而且可以和控制设备构成自动控制系统。3
16、.2 虚拟仪器的结构一个典型的数据采集控制系统由传感器、信号调理电路、数据采集卡(板)、计算机、控制执行设备五部分组成。一个好的数据采集产品不仅应具备良好性能和高可靠性,还应提供高性能的驱动程序和简单易用的高层语言接口,使用户能较快速地建立可靠的应用系统。近年来,由于多层电路板、可编程仪器放大器、即插即用、系统定时控制器、多数据采集板实时系统集成总线、高速数据采集的双缓冲区以及实现数据高速传送的中断、DMA(直接存储器存取)等技术的应用,使得最新的数据采集卡能保证仪器级的高准确度与可靠性。软件是虚拟仪器测控方案的关键。虚拟仪器的软件系统主要分为四层结构:系统管理层、测控程序层、仪器驱动层和I/
17、O接口层。I/O接口驱动程序完成特定外部硬件设备的扩展、驱动和通信。驱动软件有如下的基本功能。 以特定的采样频率获取数据。 在处理器运算的同时提取数据。 使用编程的I/O、中断和DMA传送数据。 在磁盘上存取数据流。 同时执行几种功能。 集成一个以上的DAQ卡。 同信号调理器结合在一起。Active XDDESQL系统执行测试报告统计过程控 制系统管理虚拟仪器模块测控程序仪器驱动软件仪器驱动IEE488.2VXI/VISADAQ接口IMAQ接口I/O接口GPIB仪器串行仪器VXI仪器DAQ仪器IMAQ板卡仪器硬件虚拟仪器硬件系统包括GPIB(IEE488.2)、VXI、插入式数据/图像采集板、
18、串行通信与网络等几类I/O接口。虚拟仪器测试系统构成方案如图3所示:图3 虚拟仪器测试系统构成方案3.3 Labwindows/CVI 编程语言Labwindows/CVI是一个完全的ANSI C开发环境,用于仪器控制、自动检测、数据处理的应用软件。它以ANSI C为核心,将功能强大、使用灵活的C 语言平台与用于数据采集、分析和显示的测控专业工具有机结合起来。它的交互式开发平台、交互式编程方法、丰富的功能面板和函数库大大增强了C语言的功能,为熟悉C语言的开发人员建立自动化检测系统、数据采集系统、过程控制系统等提供了一个理想的软件开发环境。Labwindows/CVI的一般特性: 提供了标准函数
19、库和交互式函数面板。 利用便捷的用户界面编辑器,代码创建向导及函数库,实现可视化用户界面的建立、显示和控制。 利用向导和函数库开发IVI驱动程序和控制ActiveX服务器。 提供了部分特定仪器的驱动。 可创建和编辑NI-DAQmx任务。第四章 硬件设计4.1 硬件的简介本设计的控制核心是单片机AT89S52。其内部结构如图4所示:I/O存储器EPROM/ROM定时/计数器运算器控制器中断CPU片内振荡器RAM/SFP并行口存储器扩展控制器串行口XTAL图4 单片机的内部结构AT89S52是一种低功耗、高性能COMS 8位微控制器,具有8KB系统内可编程Flash存储器。使用Atmel公司高密度
20、非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash存储器允许程序存储器ISP可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和可ISP编程的Flash存储器,使得AT89S52为众多嵌入式应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8KBFlash存储器,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,3个16位定时器/计数器,一个6向量2级终端结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持两种软件可选择节点模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串
21、口、中断继续工作;掉电保护模式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。图5 单片机的引脚图管脚说明:VCC:供电电压。GND: 接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,
22、可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位
23、地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示: P3.0 RXD(串行输入口)。P3.1 TXD(串行输出口)。P3.2 /INT0(外部中断0)。P3.3 /INT1(外部中断1)。P3.4 T0(记时器0外部输入)。P3.5 T1(记时器1外部输入)。P3.6 /WR(外部数据存储器写选通)。P3.7 /RD(外部数据存储器读选通)。P3口同时
24、为闪烁编程和编程校验接收一些控制信号。RST:复位输入。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。ALE/PROG:地址锁存允许信号端。当89C51上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率位振荡器频率fosc的1/6.当CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。平时不访问片外存储器时,ALE端也以振荡频率的1/6固定输出正脉冲,因而ALE信号可以用作对外输出时钟或定时信号。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR
25、8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。ALE端的负载驱动能力为8个LS型TTL(低功耗甚高速TTL)负载。此引脚的第二功能/PROG在对片内带有4KBFLASH ROM的89C51编程写入(固化程序)时,作为编程脉冲输入端。/PSEN:程序存储允许输出信号端。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:外部程序存储器地址允许输入端/固化编程电压输入端。当/EA引脚接高电平时,CPU只访问
26、片内FLASH ROM并执行内部程序存储器中的指令;但当PC(程序计数器)的值超过0FFFH(4KB)时,将自动转去执行片外程序存储器内的程序。当输入信号/EA引脚接低电平时,CPU只访问片外FLASH ROM并执行内部程序存储器中的指令;而不管是否有内部程序存储器。需要注意的是,如果保密位LB1被编程,则复位时在内部会锁存/EA端的状态。当/EA端保持高电平时,CPU则执行内部程序存储器中的程序。在FLASH ROM编程期间,此引脚也用于施加12V编程允许电源(VPP)。XTAL1:接外部晶体和微调电容的一端。在片内,它是振荡电路反相放大器的输入端。在采用外部时钟时,则该引脚输入外部时钟脉冲
27、。XTAL2:接外部晶体和微调电容的另一端。它是振荡电路反相放大器的输出端,振荡电路额频率就是晶体的固有频率。若需采用外部时钟电路,则该引脚悬空。4.2 设计原理图各部分的说明4.2.1 直流电动机正转、反转以及停转本设计采用晶体三极管来控制直流电动机的正、反转以及停转,原理图如图6所示:图6 直流电动机正转、反转以及停转的原理图当PWM1为高电平,PWM2为低电平时,三极管Q2、Q3、Q6均导通,使得直流电动机正转,同理,当PWM1为低电平,PWM2为高电平时,直流电动机反转。当PWM1和PWM2同时为低电平时,三极管Q1、Q2均能工作,电路中的其他部分均不工作,直流电动机停转。当PWM1和
28、PWM2同时为高电平时,三极管Q1、Q2均不能工作,直流电机也停转。该电路板可以直接通过引线或插针的形式与单片机相连。4.2.2 直流电动机转速检测方法在应用直流电动机作为执行部件时,如果要很好地控制直流电动机,首先要知道直流电动机的转速。对于转速的检测,方法有很多,常用到的传感器有:霍尔传感器、光电传感器、旋转编码器等。其中霍尔传感器是应用磁感应的方式进行检测,由于其安装结构的限制,这种传感器检测的精度很低,所以常常用在高转速并且对精度要求不高的场合;旋转编码器的检测精度非常高,通常旋转一圈可输出几百至几千个脉冲,适用于转速较低的场合,但是这种传感器价格较比其他传感器高很多,一般情况下不予采
29、用;光电传感器的检测精度介于前两种传感器之间,安装简单、价格较低,所以是设计中的首选。光电传感器有时又陈为光电开光,具有体积小、功能多、寿命长、精度高、响应速度快、检测距离远,以及抗电磁干扰能力强等优点,同时由于光电传感器属于非接触式检测器件,对检测对象不会造成损伤,所以被应用到很多领域中。透射式光电传感器是将砷化镓红外发光管和硅光敏三极管等,以相对的方向装在中间带槽的支架上。当槽内无物体时,砷化镓发光管发出的光直接照在硅光敏三极管的窗口上,从而产生一定大的电流输出,当有物体经过槽内时则挡住光线,光敏管无输出,以此可识别物体的有无。适用于光电控制、光电计量等电路中,可检测物体的有无、运动方向、
30、转速等方面。利用透射式光电传感器检测的电路图如图7所示:图7 透射式光电传感器检测速度的电路图可是当直流电动机高速旋转,并且光电码盘上的条纹或孔较多时,在示波器上看到的波形对单片机来说,识别起来十分困难。为了能够让单片机准确识别光电传感器输出的信号,可以在传感器的输出端连接一个具有施密特触发特性的器件或是连接一个比较器。其原理图如图8所示:图8 应用74LS14为输出波形整形的电路图4.2.3 直流电动机的控制方法直流电动机在使用时需要在电动机的两个接线端上加载电压,电压的高低直接影响电动机的转速,这取决于两者之间的关系:n=(U-IR)/Ce上式中,U为加载在电动机两端的直流电压,I为直流电
31、动机的工作电流,R为直流电动机线圈的等效内阻,Ce=PN/(60a),其中,P为电极的极对数,N为电枢绕组总导体数,a为支路对数,通常表示为2a,即电刷间的并联支路数,这个参数与电动机绕组的具体结构有关,所以Ce是一个常数由电动机本身的结构参数有关,为每极总磁通。由于我们买到的直流电动机,其机械结构已经固定,励磁部分为永久磁铁,所以式中的R、Ce和已经固定,只能改变加载在直流电动机两端的直流电压。所以,常见的直流电动机转速控制方法是调节直流电压。电压调节的两种方法:D/A转换器输出法和PWM输出法。由于D/A转换器大多是电流输出型,需要外接运算放大器才能转换成电压,另外由于运算放大器输出的电流
32、有限,如果直接连接到直流电动机将会造成直流电动机的转矩过小和运算放大器过热的现象,所以建议采用PWM输出方法。该方法可以利用单片机的一个I/O引脚作为PWM的输出端,输出信号控制大功率晶体管的开启和关闭,以控制电动机的运转和停止,当PWM的频率足够高时,由于电动机的绕组是感性负载,具有储能的作用,对PWM输出的高低电平起到了平波的作用,在电动机的两端可以近似得到直流电压值,PWM的占空比越高,电动机获得的直流电压越高,反之,PWM的占空比越低,电动机获得的直流电压越低。PWM的周期对于控制直流电动机的转速和转动特性有十分重要的作用。当PWM的周期较长,占空比较小时,在一个周期内加载在直流电动机
33、两端电压的时间为100ms,而电动机失去电压的时间为900ms,在这段时间内,电动机线圈绕组内的电流已经释放完毕(当电动机转速较低时,线圈绕组的性质显现为阻性,感性较少),电动机在内部绕组的转动惯量下将继续向前转动,如果负载的转矩较大,那么此时电动机的转速跌落很快,甚至出现停转的现象,只有下一个PWM周期到来时,电动机才能重新转动起来,如此循环。当PWM的周期较短、占空比仍然为10%时,在一个周期内直流电动机获得电压的时间为0.1ms,而失去电压的时间为0.9ms,在这段时间内,直流电动机线圈绕组内的电流并不会释放完毕(主要取决于绕组感性的大小),直流电动机继续转动,当下一个PWM周期到来时,
34、直流电动机重新获得电压,如此循环,直流电动机不再有停转的现象。4.3 RS-232通信电路4.3.1 串行通信与并行通信在微型计算机系统中,MCU与外围电路通信的基本方式有两种,如图9所示:l 并行通信数据的各位同时传送l 串行通信数据一位一位顺序传送MCUMCU或外围电路D1D2Dn状态控制D0图9 MCU与外围电路通信的方式外部RAM扩展电路、基本“I/O”扩展电路、实时时钟电路、键盘电路、LCD接口电路都是采用并行通信方式,从图上可以看出,在并行通信中,数据有多少位就需要多少条传送线。而串行通信只需要一对传送线,故串行通信能节省传送线,特别是当数据位数很多和传送距离较远时,这一优点更加突
35、出。A/D采样电路就是串行通信的一个应用,当然串行通信还包括许多其他的通信形式,比如RS-232、CAN总线等。串行通信的主要缺点是数据的传送速率比并行通信要慢。4.3.2 异步串行通信的数据传送格式串行通信是将构成字符的每个二进制数据位依据一定的顺序逐位传送。按照数据传送格式可以分为异步串行通信和同步串行通信。同步串行通信应用在传输速度要求较高的场合,通信开始时需要同步信息,对收发两端时间要求严格,这些条件局限了同步串行通信的应用。异步串行通信规定了字符数据的传送格式,即每个数据以相同的帧格式传送。如下图所示。每一帧由起始位、数据位、奇偶校验位和停止位构成,字符数据一个接一个的传送,在发送间
36、隙,通信线路上总是处于逻辑“1”状态。0起始位第n+1个字符第n个字符起始位0空闲位空闲位低位高位58位数据奇偶校验停止位空闲位和起始位:当通信线上没有数据传送时就处于空闲状态,通信线上保持逻辑电平“1”,即相当于发送端不断发送空闲位“1”,当发送端要发送一个字符数据时,首先发出一个逻辑“0”信号,这个低电平就是起始位,接收端检测到这个逻辑低电平后,就开始准备接收数据位信号,所以起始位就表示字符传送开始,起始位只有1位。数据位:紧跟在起始位后面的就是数据位,数据位长度可以是5、6、7或8位数据。在数据传送过程中,数据从最小有效位开始传送。奇偶校验位:数据位发送完后,可以选择是否发送奇偶校验位,
37、奇偶校验用于差错检测,有奇校验和偶校验两种方式。奇校验是指在所有数据位和校验位中,“1”的个数为奇数;偶校验是指在所有数据位和校验位中,“1”的个数为偶数。奇偶校验的方法是:如果采用奇校验,则对所有数据位取异或后求反便是校验位的数值;如果采用欧校验,则对所有数据位取异或即是校验位的数值。停止位:在奇偶校验位或数据位之后发送的是停止位,可以是1位、1位半或2位,表示一个字符的结束。波特率:通信线路上的字符数据是按位传送的,每一位宽度(位信号持续时间)由数据传送速率确定,传送速率越快,每一位的宽度越短。把数据传送速率称为波特率,其定义是:单位时间内传送的信息量,以每秒传送的位(bit)表示,单位为
38、波特。1波特=1位/秒=1bit/s=1bps在异步串行通信中,发送端和接收端保持相同的传送波特率,相同的起始位、奇偶位和停止位,这样收发两端才能成功地传送数据。4.3.3 RS-232接口电路图及其功能说明单片机上有UART(通用异步接收/发送)用于串行通信,发送时数据由TXD端送出,接收时数据由RXD端输入,片内有两个缓冲器,一个作为发送缓冲器,另一个作为接收缓冲器。UART是可编程的全双工串行口,这里的串行口只提供TTL电平,可以使用驱动芯片如“MAX232”把TTL电平变成RS-232标准接口电平,从而和通用微机通信。串行通信的RS-232接口电路,包括扩展串行通信的异步收发器以及RS
39、-232电平转换电路。(1)、MAX232片介绍MAX232是一种把电脑的串行口RS232信号电平(-10 ,+10v)转换为单片机所用到的TTL信号点平(0 ,+5)的芯片, MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。内部结构基本可分三个部分:第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1
40、OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DP9插头;DP9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。第三部分是供电。15脚DNG、16脚VCC(+5v)。其内部结构如图10所示:图10 MAX232的内部结构MAX232的元件封装图如图11所示:图11 MAX232芯片的封装图主要特点 :1、单5V电源工作。2、 LinBiCMOSTM工艺技术。3、 两个驱动器
41、及两个接收器。4、 30V输入电平。5、低电源电流:典型值是8mA。6、符合甚至优于ANSI标准 EIA/TIA-232-E及ITU推荐标准V.28。7、ESD保护大于MIL-STD-883(方 法3015)标准的2000V。(2)、RS-232(DB9)的引脚定义:DCD :载波检测。主要用于Modem通知计算机其处于在线状态,即Modem检测到拨号音,处于在线状态。RXD:此引脚用于接收外部设备送来的数据;在你使用Modem时,你会发现RXD指示灯在闪烁,说明RXD引脚上有数据进入。TXD:此引脚将计算机的数据发送给外部设备;在你使用Modem时,你会发现TXD指示灯在闪烁,说明计算机正在
42、通过TXD引脚发送数据。DTR:数据终端就绪;当此引脚高电平时,通知Modem可以进行数据传输,计算机已经准备好。GND:信号地;此位不做过多解释。DSR:数据设备就绪;此引脚高电平时,通知计算机Modem已经准备好,可以进行数据通讯了。RTS:请求发送;此脚由计算机来控制,用以通知Modem马上传送数据至计算机;否则,Modem将收到的数据暂时放入缓冲区中。CTS: 清除发送;此脚由Modem控制,用以通知计算机将欲传的数据送至Modem。RI : Modem通知计算机有呼叫进来,是否接听呼叫由计算机决定。RS-232接口原理图如图12所示:图12 RS-232接口原理图第五章 直流电动机的
43、调速与检测的软件的设计本设计采用单片机对直流电动机进行控制,根据设计的直流电动机的测速系统的硬件电路的要求,通过对系统功能的总结将系统软件程序划分为:直流电动机控制的主程序、直流电动机转速检测子程序、直流电动机的三种速度的控制的子程序、转速显示的子程序和串口通信的子程序。5.1 直流电动机的PWM程序设计直流电机驱动使用最广泛的就是H型全桥式电路,这种驱动电路方便地实现直流电机的三象限运行,分别对应正转、反转和停转。单片机PWM 脉冲信号的产生从程序设计上来讲,可以采用软件延时和计时器延时两种方法。软件延时虽然理论上实现起来较容易,但占用系统资源过多,使用并不方便。本设计应用的是软件延时的方式
44、输出PWM,该PWM 调速器采用定时器2中断方式产生PWM脉冲,PWM 控制子程序也就是定时器2的中断服务程序。其程序流程图如图13所示。开始初始化开启定时器2调用PWM控制子程序调用显示子程序速度显示在LCD上YesNoPWM1=0直流电动机反转PWM2=0直流电动机正转计算出电动机的转速图13 PWM控制的框图其程序片段为:#ifndef _MOTOR_PWM_#define _MOTOR_PWM_#define uint unsigned int#define uchar unsigned charsbit PWM1 = P10;sbit PWM2 = P11;void Init_Tim
45、er2(void) RCAP2H = 0xfc;/12M 1ms 16bit 自动重载 RCAP2L = 0x66; ET2=1; EA=1; TR2=1;void main(void)Init_Timer0(); /timer0用来定时采样电机的速度 Initial_Uart();/timer1用做串口通信 波特率设置9600,11.0592MHzInit_Timer2(); /timer2产生PWMInit_INT0(); /int0用来计数电机转速测量脉冲数,下降沿触发 InitLcd(); EX0=1;TR0=1;EA=1;PWM1=0;PWM2=0;while(1) ShowString(0,Line0); ;void Int0_ISR(void) interrupt 0PulseCounter+; /因