(完整word版)基于LabVIEW的直流电机测控系统设计
基于LabVIEW直流电机转速测控系统的设计

基于LabVIEW直流电机转速测控系统的设计张应和【摘要】电机转速的精确度、实时性和稳定性直接影响电机调速系统的性能,文中介绍了一款基于LabVIEW软件平台的直流电动机转速测量控制系统,利用增量式光电编码器将电机的转速转换为脉冲信号,通过计算机LabVIEW软件里的用户界面对电机转速进行设定,设定范围为0~2500 r/min;经过多次调试,得出理想的PID控制参数(P=1,I=1.2,D=0);再通过数据采集卡输出给电机驱动芯片来完成对电枢电压的控制,最后发现当直流电机电枢电压控制在0~2.8 V范围内,电机实际输出转速为最佳状态.【期刊名称】《电子设计工程》【年(卷),期】2019(027)012【总页数】5页(P66-70)【关键词】LabVIEW;PID;数据采集;电机转速【作者】张应和【作者单位】西安铁路职业技术学院机电工程学院,陕西西安 710026【正文语种】中文【中图分类】TN6目前,国内大多数大专高职院校都采用传统的实验教学方法,侧重于理论验证和模仿训练,内容模式固定,学生思维限定僵化,缺乏创新意识和综合应用能力,难以调动学生的主动性和创造性,从而在很大程度上制约了实验教学的发展和人才培养质量的提高,严重影响了教学及科研,本文采用LabVIEW软件开发平台,在结合国内外电机测试系统的基础上,研究并设计了这款基于LabVIEW的直流电动机转速测控系统,用于传感器实验教学,以提高实验教学水平和教学质量[1]。
1 系统总体设计该电机转速测控系统是结合目前已有的实验仪器及设备来搭建和设计的,设计思路如图1所示,先启动直流电动机,利用增量式光电编码器来采集直流电机的转速,然后将采集到的转速信号转换脉冲信号输送给数据采集装置的输入端口,数据采集装置将信号进行A/D转换后输送给计算机,通过计算机LabVIEW虚拟仿真软件对系统控制参数进行设定,再利用PID控件来实现对电机转速的调控,之后再通过数据采集装置进行D/A后输送至直流电机的驱动芯片,即通过改变直流电机的电枢电压的大小,从而改变电机的转速来到达系统的要求[2]。
基于LabVIEW的电动车无刷直流电机检测系统的设计

V o 1 . 3 2 NO. 1 2
重庆工商大学学报 ( 自然科学版)
J C h o n g q i n g T e e h n o l B u s i n e s s U n i v . ( N a t S c i E d )
2 0 1 5年 l 2月
新能源电动汽车传动中所采用的首选 电机 , 电机运行的好坏直接关系到车辆的舒适度和行车安全. 虚拟仪器
是美 国国家仪器公 司( N a t i o n a l I n s t r u m e n t s , N I ) 的软件产 品, 是图形化的编程语言和开发环境 , L a b V I E W 采用 数据流编程方式 . 用户界面在 L a b V I E W 中被称为前面板 , 使用 图表和连线 , 可以通过编程对前面板上的对 象进行控制 , 这就是图形化源代码 , 又称 G ( G r a p h i c s ) 代码. 虚拟仪器具有强大的计算机处理 、 分析功能 , 结合
冲信 号 的周 期 或频 率来 改变 无刷 直流 电机 的输 入 电压值 , 实 现 对无 刷 直流 电机 速 度 的 调节 , 由转 矩 转 速 传
感器采集无刷直流电机的转速和转矩信号 , 经过信号调理模块的放大 , 滤波和激励后送 给数据采集卡 , 由数
收 稿 日期 : 2 0 1 5 - 0 6 — 1 0 ; 修 回 日期 : 2 0 1 5 — 0 7 — 0 1 .
De C . 2 01 5
d o i : 1 0 . 1 6 0 5 5 / j . i s s n . 1 6 7 2 — 0 5 8 X. 2 0 1 5 . 0 0 1 2 . 0 1 3
基于 L a b V I E W 的 电动 车无刷 直流 电机检 测 系统 的设 计
基于labview的电机控制系统设计

基于LabVIEW的电机控制系统设计Motor Control System Design Based on LabVIEW南京航空航天大学能源与动力学院刘智瑞(Liu Zhirui)徐建国(Xu Jianguo)摘要:为了方便进行涡轮寿命的测试试验,设计了一套基于LabVIEW与Modbus/TCP协议的电机控制系统。
控制系统由上位机(计算机)与变频器组成,两者通过Modbus/TCP协议进行通信,实现了对电机的单点控制及转速周期变化控制等功能。
对该系统的硬件设计、上位机LabVIEW程序进行了详细分析。
对本系统进行测试,试验曲线表明该控制系统能够根据不同要求灵活地控制变频器实现转速周期变化控制,输出结果与设定参数相匹配,实现了对电机的精确控制。
关键词:LabVIEW;Modbus/TCP;变频器;电机控制Abstract:In order to facilitate the test of turbine life,a motor control system based on LabVIEW and Modbus/ TCP protocol was designed.The control system consists of a host computer and a frequency converter.The two communicate through the Modbus/TCP protocol,which realized the functions of single point control and speed cycle change control of the motor.The hardware design of the system and the LabVIEW program of the host computer were an a l yzed in detail.The system was tested.The test curve showed that the control system can flexibly control the inverter to realize the speed cycle change control according to different requirements.The output result is matched with the set parameters,and the precise control of the motor is realized.Key words:LabVIEW;Modbus/TCP;Frequency converter;Motor control【中图分类号】TM343+.2【文献标识码】B【文章编号]1561-0330(2019)06-0107-041引言近年来,随着电力电子技术、微电子技术及大规模集成电路的发展,以及生产工艺的改进和功率半导体器件价格的降低,变频器调速在工业上得到越来越多的采用皿。
基于Labview和proteus的直流电机控制系统的设计与仿真

DOI:10.16660/ki.1674-098X.2018.13.001基于Labview和proteus的直流电机控制系统的设计与仿真①彭昌权(广东省粤东高级技工学校 广东汕头 515000)摘 要:本文主要简述了利用单片机作为控制核心的直流电机的调速原理,其控制核心为AT89C51单片机,从而实现直流电机的速度调整。
简述了系统的整体框架,详细介绍了系统的主要功能模块的设计思想以及方案实现的大体思路。
采用Labview和Proteus两款软件设计一个直流电机控制系统,用AT89C51单片机作为系统的核心控制。
它的电机的远程控制则采用串口通讯技术来实现电机。
在系统中采用LCD1602显示器作为显示部件,显示当前转速,电机速度与运行方式通过按键调整。
利用Proteus设计直流电机仿真调速系统的设计方法,更加便捷实用地实现了对电机的直接控制。
关键词:单片机 Labview Proteus 直流电机 控制系统中图分类号:TP273 文献标识码:A 文章编号:1674-098X(2018)05(a)-0001-02在当前时代科技快速发展的背景下,以往的直流电机因为它的控制系统和驱动电路较为复杂、成本很高,完成后修改难度非常高,可变性较差很难适应当前时代的要求,因为此些缺点以往的直流电机正慢慢地被电路简单可靠,灵活方便,成本低廉,通用性强的基于单片机控制的直流电动机所取代。
本设计就采用当前流行的单片机来对直流电机进行控制,从而使直流电机定位精度更高,具有更强的可靠性和运动性能等。
在利用上位机对直流电机进行监控,更加直观地观察直流电机的运行情况。
1 系统硬件组成部分本文采用51单片机的软件和硬件结合进行控制运用串口通讯技术实现电机的远程控制操作。
上位机是PC机运行监控软件LABVIEW,对直流电机的运行状态进行显示,对下位机Proteus进行参数设置和命令传递,从而完成对直流电机的控制。
AT 89C 51单片机收集直流电机的运行信息,通过Configure Virtual Serial Port Driver串口软件传输到上位机Labview软件比较直流电机的实际速度跟给定速度和PID 的计算。
(完整word版)设计--直流电机综合测控系统设计

目录1. 综述 (2)2. 研究背景 (3)3. 电机速度控制系统的设计及模拟仿真 (3)3.1 系统工作原理 (4)3.2 PWM脉宽调制信号产生电路描述 (5)3.2.1 可控的加减计数器CNTA (6)3.2.2 5 位二进制计数器CNTB (9)3.2.3 数字比较器LPM-COMPAR..E (11)3.2.4 PWM 脉宽调制信号产生电路 (12)4.运行控制逻辑电路描述 (14)4.1 2 选1多路选择器MUX21A (14)174.2 工作/ 停止控制和正/ 反转方向控制电路5. 直流电机PWM调速系统仿真 (18)5.1 建立工程项目PWM (18)5.2 正/ 反转控制仿真 (19)5.3 启/停控制仿真 (20)5.4 加/减速仿真 (21)5.5 仿真结果分析 (22)6. 设计总结 (23)简易直流电机PWM综合控制系统设计1. 综述直流电动机具有优良的调速特性,调速平滑、方便,调速范围广;过载能力大,能承受频繁的冲击负载,可实现频繁的快速起动、制动和反转;能满足生产过程自动化系统各种不同的特殊运行要求。
电动机调速系统采用微机实现数字化控制,是电气传动发展的主要方向之一。
采用微机控制后,整个调速系统实现全数字化,结构简单,可靠性高,操作维护方便,电动机稳态运转时转速精度可达到较高水平,静动态各项指标均能较好地满足工业生产中高性能电气传动的要求。
由于CPLD/FPGA生能优越,具有较佳的性能价格比,所以在工业过程及设备控制中得到日益广泛的应用。
PWM 调速系统与可控整流式调速系统相比有下列优点:由于PWM 调速系统的开关频率较高,仅靠电枢电感的滤波作用就可获得平稳的直流电流,低速特性好;同样,由于开关频率高,快速响应特性好,动态抗干扰能力强,可以获得很宽的频带;开关器件只工作在开关状态,主电路损耗小,装置效率高。
本文所介绍的系统是一个基于VHDL的PWM调速系统。
由于PLD具有连续连接结构,易于预测延时,使电路仿真会更加准确,且编程方便,速度快,集成度高,价格低,从而使系统研制周期大大缩短,产品的性能价格比提高。
基于LabVIEW的直流电机转速监测实验设计

a g e me n t s o f t wa r e . Ac c o r d i n g t o t h e a p p l i c a t i o n o f L a b VI E W i n t h e t e a c h i n g f o r e x p e i r me n t o f s e n s o r me a s u r e me n t ,a d e s i g n f o r t h e D C mo t o r s p e e d mo n i t o r i n g e x p e r i me n t ,b a s e d o n L a b VI E W ,w a s i n t r o d u c e d . I n t h e e x p e r i me n t ,t h e p l a t f o r m or f DC mo t o r s p e e d mo n i t o — i r n g wa s b u i h a n d t h e L a b VI EW p r o g r a m b a s e d o n t h r e e c h a n n e l s o f d a t a a c q u i s i t i o n c a r d wh i c h a r e A /D c h a n n e l ,D I c h a n n e l a n d C NT c h a n n e l i s c o mp l e t e d . On l i n e mo n i t o i r n g or f DC mo t o r s p e e d wa s i mp l e me n t e d . T h e s e r i e s o f e x p e i r me n t s a i me d a t ma k i n g s t u d e n t s f a mi l i a r wi t h L a b V I EW p r o g r a mmi n g a n d u s i n g me t h o d o f d a t a a c q u i s i t i o n c a r d t o e n h a n c e t h e p e r c e p t u a l k n o w l e d g e a n d a c h i e v e g r a d u —
基于-LabVIEW的直流电机测控系统设计

学号:《虚拟仪器技术》课程大作业基于LabVIEW的直流电机测控系统设计专业班级:学生:指导教师:完成日期:成绩:目录1设计要求、容 (2)1.1要求 (2)1.2容 (2)1.2.1 LabVIEW与单片机串口通信硬件/程序设计 (2)1.2.2 电机驱动模块/调速程序设计 (6)1.2.3 电机测速模块/测速程序设计 (8)1.2.4 总硬件/程序的设计 (11)1.3设计环境: (14)2设计过程 (14)2.1设计思路 (14)2.1.1硬件系统方案设计 (14)2.1.2软件系统设计 (14)2.2程序设计流程 (15)2.3设计好的程序框图及前面板 (16)3任务总结与展望 (17)4个人收获 (17)附:个人信息 (17)1设计要求、容1.1要求1.理解《虚拟仪器技术》课程中所学的理论知识,掌握相关的设计方法和技能,能够读懂一些不太难的程序,能够独立的设计一些不太复杂的程序;2.能熟练运用LabVIEW进行编程操作,并且能够自主的通过即时帮助通过程序的编写明白一些未知控件的作用;3.通过学习,掌握基于LabVIEW的电机测控系统的具体设计过程,完成设计;4.认真总结,完成计报告1.2容1.2.1 LabVIEW与单片机串口通信硬件/程序设计单片机作为下位机核心器件,负责数据的采集和通信及电机转速的控制,而上位机通常以基于图形界面的Windows系统为操作平台。
核心是数据通信,它包括单片机和上位机之间的通信,而单片机和上位机之间数据通信则是整个系统的基础。
单片机和PC的通信是通过单片机的串口和PC串口之间的硬件连接实现的。
图1.1PC与单片机串口通信线路数据通信的硬件上采用3线制,将单片机和PC串口的3个引脚(RXD、TXD、GND)分别连在一起,即将PC和单片机的发送数据线TXD与接收数据RXD交叉连接,两者的地线GND直接相连,而其他信号线,如握手信号线均不用,采用软件握手的方式,这样既可以实现预定的任务又可以简化电路设计。
基于LabVIEW的直流电机转速监测实验设计

基于LabVIEW的直流电机转速监测实验设计许丽川;苏朝阳;梁永春;丛培强;李逢春;白连生【摘要】现代工业过程测量和控制离不开上位机对工业现场信号的采集、处理、显示和存档,G语言在上位机监控管理软件的设计中发挥着越来越多的作用.文章结合LabVIEW语言在传感器测量实验教学中的应用,介绍了基于LabVIEW的电机转速监测实验设计.实验搭建了直流电机转速测控实验平台,完成了基于数据采集卡A/D通道、DI通道和CNT通道的三种电机测速方式的LabVIEW编程,并进行了转速的在线监测.该系列实验旨在使学生熟悉LabVIEW编程,掌握数据采集卡的使用方法,增强感性认识,逐步具有现代工业过程测控系统的设计能力.【期刊名称】《实验科学与技术》【年(卷),期】2013(011)004【总页数】4页(P56-59)【关键词】工业过程测量和控制;转速监测实验;LabVIEW;数据采集卡【作者】许丽川;苏朝阳;梁永春;丛培强;李逢春;白连生【作者单位】电子科技大学机械电子工程学院,成都611731;电子科技大学机械电子工程学院,成都611731;电子科技大学机械电子工程学院,成都611731;电子科技大学机械电子工程学院,成都611731;电子科技大学机械电子工程学院,成都611731;电子科技大学机械电子工程学院,成都611731【正文语种】中文【中图分类】TM332;TP39工业过程测量和控制系统广泛应用于石油、化工、电力、煤炭、冶金、纺织、轻工、食品、烟草等各个领域,是工业化与信息化融合的桥梁和手段[1]。
现代工业过程测量和控制离不开多种信号的采集、处理、显示和存档,随着PLC或嵌入式系统成为工业控制核心的主流,大型的工业网络中上位机对各种信号的监控管理系统可视化、人性化的操作界面广泛取代了简单的符号界面。
目前,上位机监控管理软件的实现主要有三种工具:1)传统的C,C++或VB等语言如采用VC++在Windows平台上实现流程行业的过程监控软件[2]。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号:《虚拟仪器技术》课程大作业基于LabVIEW的直流电机测控系统设计专业班级:学生姓名:指导教师:完成日期:成绩:目录1设计要求、内容 (2)1。
1要求 (2)1。
2内容 (2)1.2。
1 LabVIEW与单片机串口通信硬件/程序设计 (2)1。
2.2 电机驱动模块/调速程序设计 (6)1.2.3 电机测速模块/测速程序设计 (8)1。
2。
4 总硬件/程序的设计 (11)1。
3设计环境: (14)2设计过程 (14)2。
1设计思路 (14)2.1.1硬件系统方案设计 (14)2.1。
2软件系统设计 (15)2.2程序设计流程 (15)2。
3设计好的程序框图及前面板 (16)3任务总结与展望 (17)4个人收获 (18)附:个人信息 (18)1设计要求、内容1.1要求1.理解《虚拟仪器技术》课程中所学的理论知识,掌握相关的设计方法和技能,能够读懂一些不太难的程序,能够独立的设计一些不太复杂的程序;2.能熟练运用LabVIEW进行编程操作,并且能够自主的通过即时帮助通过程序的编写明白一些未知控件的作用;3.通过学习,掌握基于LabVIEW的电机测控系统的具体设计过程,完成设计;4.认真总结,完成计报告1。
2内容1.2。
1 LabVIEW与单片机串口通信硬件/程序设计单片机作为下位机核心器件,负责数据的采集和通信及电机转速的控制,而上位机通常以基于图形界面的Windows系统为操作平台.核心是数据通信,它包括单片机和上位机之间的通信,而单片机和上位机之间数据通信则是整个系统的基础。
单片机和PC的通信是通过单片机的串口和PC串口之间的硬件连接实现的。
图1。
1 PC与单片机串口通信线路数据通信的硬件上采用3线制,将单片机和PC串口的3个引脚(RXD、TXD、GND)分别连在一起,即将PC和单片机的发送数据线TXD与接收数据RXD交叉连接,两者的地线GND 直接相连,而其他信号线,如握手信号线均不用,采用软件握手的方式,这样既可以实现预定的任务又可以简化电路设计.利用Keil C51和LabVIEW编写程序实现PC与单片机串口通信.C51程序:#include〈REG52。
H>/*主程序*/void main(void){SCON=0x50; /*SCON:模式1,8-bitUART,使能接收*/TMOD=0x20;/*TMOD:timer1,mode2, 8—bit reload*/TH1=0xFD; /*TH1:reload value for 9600 baud 11。
0592MHz */ TL1=0XFD;TR1=1; /*TR1:timer1 run*/EA=1; /*打开总中断*/ES=1;/*打开串口中断*/while(1) //主循环不做任何动作{}}void UART_SER(void) interrupt 4 //串行中断服务程序{unsigned char Temp; //定义临时变量if(RI)//判断是接收中断产生{RI=0;//标志位清零Temp=SBUF;//读入缓冲区的值P0=~Temp; //把值输出到P0口,用于观察SBUF=Temp;//把接收到的值再发回电脑端}if(TI)//如果是发送标志位,清零TI=0;}LabVIEW程序:图1。
2 发送程序图1。
3 接收程序图1。
4 判断通信状态程序图1。
5 LabVIEW前面板1.设计任务一PC通过串行口将数字(00,01,02,03..。
,FF,十六进制)发送给单片机,单片机收到后回传这个数字,PC接收到回传数据后显示出来,若发送的数据和接收到的数据相等,则串行通信正确,否则有错误。
启始符是数字00,结束符是数字FF。
图1.6 串口助手调试单片机串口通信2.设计任务二(1)测试通信状态。
先在文本框中输入字符串“FF”,单击“测试”按钮,将字符串“FF”发送到单片机,若PC 与单片机通信正常,在LabVIEW程序前面板显示字符串“OK!”,否则显示字符串“通信异常"。
图1。
7 LabVIEW与单片机串口通信测试(2)控制指示灯。
将单片机接收到的数值赋给P0口,P0口接一排LED,观察LED的显示结果(表示该数值的二进制显示)是否与输入值相符合。
图1。
8 输入“FF”图1.9 输入“01”单片机和LabVIEW通信,在程序设计上涉及两个部分的内容.一是单片机的C51程序,二是LabVIEW的串口通信程序和界面的编制。
1.2。
2 电机驱动模块/调速程序设计图1。
10 LS298N驱动模块设置IN1和IN2,确定电机的转动方向,然后对使能端输出PWM脉冲,实现电机调速。
当使能信号为0,电机处于自由停止状态;当使能信号为1,且IN1和IN2为00或11时,电机处于制动状态,阻止电机转动。
C51程序:#include<reg52。
h>sbit IN1=P1^0;sbit IN2=P1^1;sbit ENA=P1^2;//x毫秒延时void delay(unsigned int x){unsigned int i,j;for(i=x;i〉0;i-—)for(j=110;j〉0;j-—);}//y微秒延时void delay_us(unsigned int y){while(y——);}void main(){while(1){unsigned int i,cycle=1300,T=2048;/*IN1=1; //反转IN2=0;for(i=0;i〈200;i++){delay(10);//PWM占空比为50%,修改延时调整PWM脉冲ENA=~ENA;}IN1=0;//正转IN2=1;for(i=0;i〈200;i++){delay(10);ENA=~ENA;}*/IN1=0;//自动加速正转IN2=1;while(cycle<2048){ENA=1;delay_us(cycle++);ENA=0;delay_us(T-cycle);}/*IN1=1;//自动减速反转IN2=0;*/ while(cycle〉1300){ENA=1;delay_us(cycle——);ENA=0;delay_us(T-cycle);}}1.2.3 电机测速模块/测速程序设计图1.11 光电耦合测速传感器模块1.模块槽中无遮挡时,接收管导通,模块DO 输出低电平,遮挡时,DO 输出高电平;2、DO 输出接口可以与单片机IO 口直接相连,检测传感器是否有遮档,如用电机码盘则可检测电机的转速。
设计选用的测速码盘有20格光栅,因此速度计算公式为:Speed=(count/20)*60(转/分)图1.12 电机测速调试1图1.13 电机测速调试2C51程序:#include〈REG52。
H>sbit IN1=P1^0;sbit IN2=P1^1;sbit ENA=P1^2;unsigned int i=0,pul=0,count=0,Speed=0;unsigned int cycle=2000,T=7000;//x毫秒延时void delay(unsigned int x){unsigned int i,j;for(i=x;i>0;i--)for(j=110;j>0;j—-);}//y微秒延时void delay_us(unsigned int y){while(y——);}void main(){TMOD=0x15; // 打开定时器T1和计数器T0,TMOD为00010101,都为模式1 因此矩形脉冲输入端接P3。
4EA=1;TH0=0x00;TL0=0x00;ET0=1;ET1=1;TH1=0x3C; //50ms 0x3CB0=15536TL1=0xB0;TR0=1;TR1=1;while(1){IN1=0; //自动加速正转IN2=1;while(cycle<3000){ENA=1;delay_us(cycle++);ENA=0;delay_us(T—cycle);}while(cycle>2000) //自动减速{ENA=1;delay_us(cycle-—);ENA=0;delay_us(T-cycle);}}}timer3()interrupt 3 //定时器中断时间到,就读取计数器值{TH1=0X3C;TL1=0XB0;i++;if(i<20) //累计1s内的脉冲数{pul=TH0;//计数器计入脉冲,每来一个矩形脉冲计数值加1pul=pul<<8;//得高八位后,左移8位,pul=pul+TL0;//再加上低八位count+=pul;pul=0;TH0=0; //计数器速度获取后清零,进行下次获取TL0=0;}if(i==20) //每秒更新一次速度{pul=TH0; //计数器计入脉冲,每来一个矩形脉冲计数值加1pul=pul<<8;pul=pul+TL0;count+=pul;Speed=(count/20)*60;//测得的速度(转/分)i=0;count=0;TH0=0;//计数器速度获取后清零,进行下次获取TL0=0;P0=~Speed; //观察速度值}}1。
2.4 总硬件/程序的设计计算机(LabVIEW)C51单片机放大驱动电路信号调理电路传感器直流电机图1。
14 直流电机测控系统硬件原理框图图1。
15 总硬件设计C51总程序:#include〈REG52.H〉#include <stdio.h〉#include 〈stdlib.h>#include <string。
h〉#include <ctype.h〉sbit IN1=P1^0;sbit IN2=P1^1;sbit ENA=P1^2;unsigned int i=0,pul=0,count=0,Speed=0,Speed_dec=0;unsigned int cycle=2000,T=7000;//x毫秒延时void delay(unsigned int x){unsigned int i,j;for(i=x;i〉0;i—-)for(j=110;j>0;j——);}//y微秒延时void delay_us(unsigned int y){while(y—-);}/*主程序*/void main(void){SCON=0x50; /*SCON:模式1,8—bitUART,使能接收*/TMOD=0x25;/*TMOD:timer1,mode2,8-bit reload T0计数,模式1,因此矩形脉冲输入端接P3。
4*/TH1=0xFD;/*TH1:reload value for 9600 baud 11.0592MHz */TL1=0XFD;TH0=0x00;TL0=0x00;TR1=1;/*TR1:timer1 run*/EA=1;/*打开总中断*/ES=1; /*打开串口中断*/TR0=1;TR1=1;/*TR1:timer1 run*/while(1)//主循环{if(Speed_dec=Speed){IN1=0; //停转IN2=0;}if(Speed_dec〉Speed){IN1=0; //自动加速正转IN2=1;while(cycle!=T){ENA=1;delay_us(cycle++);ENA=0;delay_us(T-cycle);}}if(Speed_dec〈Speed){IN1=1;//自动减速反转IN2=0;while(cycle!=T){ENA=1;delay_us(cycle++);ENA=0;delay_us(T—cycle);}}}}void UART_SER(void) interrupt 4 //串行中断服务程序,在LabVIEW中设置每隔一秒中断一次(便于测速){unsigned char Temp1,ch1;//定义临时变量unsigned char hex;unsigned int i;TH1=0X3C;//计算速度TL1=0XB0;i++;if(RI)//判断是接收中断产生{RI=0; //标志位清零Temp1=SBUF;//读入缓冲区的值if(Temp1〉=0x30&&Temp1<=0x39)ch1=Temp1—0x30;else if(Temp1〉=0x41&&Temp1<=0x46)ch1=Temp1-0x37;else ch1=0xff;pul=TH0; //计数器计入脉冲,每来一个矩形脉冲计数值加1pul=pul<〈8;pul=pul+TL0;count+=pul;Speed=(count/20)*60; //测得的速度(转/分)i=0;count=0;TH0=0; //计数器速度获取后清零,进行下次获取TL0=0;SBUF=Speed; //把速度值再发回电脑端}if(TI) //如果是发送标志位,清零TI=0;}1.3设计环境:硬件环境:单片机、直流电机及驱动模块、串口.软件环境:LabVIEW编程软件、Keil编程软件、串口调试助手。