课程设计报告直流电机调速系统(单片机)
基于单片机的直流电机调速系统设计

直流电机转速 :
根据基尔霍夫第二定律,得到电枢电压电动势平衡方程式 U=Ea+Ia(Ra+Rc)……………式1
式1中,Ra为电枢回路电阻,电枢回路串联保绕阻与电刷 接触电阻的总和;Rc是外接在电枢回路中的调节电阻
由此可得到直流电机的转速公式为:
n=(Ua-IR)/CeΦ ………………………式2
式2中, Ce为电动势常数, Φ是磁通量。 由1式和2式得
n=Ea/CeΦ ……………………………式3
由式3中可以看出, 对于一个已经制造好的电机, 当励磁电压和 负载转矩恒定时, 它的转速由回在电枢两端的电压Ea决定, 电 枢电压越高, 电机转速就越快, 电枢电压降低到0V时, 电机就 停止转动;改变电枢电压的极性, 电机就反转。
PWM脉宽调速
PWM(脉冲宽度调制)是通过控制固定电压的 直流电源开关频率, 改变负载两端的电压, 从 而达到控制要求的一种电压调整方法。在PWM 驱动控制的调整系统中, 按一个固定的频率 来接通和断开电源, 并且根据需要改变一个 周期内“接通”和“断开”时间的长短。通 过改变直流电机电枢上电压的“占空比”来 达到改变平均电压大小的目的, 从而来控制 电动机的转速。也正因为如此, PWM又被称为 “开关驱动装置”。
, 软件简单。但每个按键需要占用一个输入口线, 在 按键数量较多时, 需要较多的输入口线且电路结构复杂, 故此种键盘适用于按键较少或操作速度较高的场合。
数码管显示部分 本设计使用的是一种比较常用的是四位数码 管, 内部的4个数码管共用a~dp这8根数据线, 为使用提供了方便, 因为里面有4个数码管, 所以它有4个公共端, 加上a~dp, 共有12个引 脚, 下面便是一个共阴的四位数码管的内部 结构图(共阳的与之相反)
基于单片机的直流电机调速系统的课程设计

一、总体设计概述本设计基于8051单片机为主控芯片,霍尔元件为测速元件, L298N为直流伺服电机的驱动芯片,利用 PWM调速方式控制直流电机转动的速度,同时可通过矩阵键盘控制电机的启动、加速、减速、反转、制动等操作,并由LCD显示速度的变化值。
二、直流电机调速原理根据直流电动机根据励磁方式不同,分为自励和它励两种类型,其机械特性曲线有所不同。
但是对于直流电动机的转速,总满足下式:式中U——电压;Ra——励磁绕组本身的内阻;——每极磁通(wb);Ce——电势常数;Ct——转矩常数。
由上式可知,直流电机的速度控制既可以采用电枢控制法也可以采用磁场控制法。
磁场控制法控制磁通,其控制功率虽然较小,但是低速时受到磁场和磁极饱和的限制,高速时受到换向火花和换向器结构强度的限制,而且由于励磁线圈电感较大,动态响应较差,所以在工业生产过程中常用的方法是电枢控制法。
电枢控制法在励磁电压不变的情况下,把控制电压信号加到电机的电枢上来控制电机的转速。
传统的改变电压方法是在电枢回路中串连一个电阻,通过调节电阻改变电枢电压,达到调速的目的,这种方法效率低,平滑度差,由于串联电阻上要消耗电功率,因而经济效益低,而且转速越慢,能耗越大。
随着电力电子的发展,出现了许多新的电枢电压控制法。
如:由交流电源供电,使用晶闸管整流器进行相控调压;脉宽调制(PWM)调压等。
调压调速法具有平滑度高、能耗低、精度高等优点,在工业生产中广泛使用,其中PWM应用更广泛。
脉宽调速利用一个固定的频率来控制电源的接通或断开,并通过改变一个周期内“接通”和“断开”时间的长短,即改变直流电机电枢上的电压的“占空比”来改变平均电压的大小,从而控制电动机的转速,因此,PWM又被称为“开关驱动装置”。
如果电机始终接通电源是,电机转速最大为Vmax,占空比为D=t1/t,则电机的平均转速:Vd=Vmax*D,可见只要改变占空比D,就可以调整电机的速度。
平均转速Vd与占空比的函数曲线近似为直线。
基于单片机AT89C51控制的直流电机PWM调速控制系统课程设计报告

第一章:前言1.1前言:直流电机的定义:将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。
近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流具有优良的调速特性,调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速起动、制动和反转,需要满足生产过程自动化系统各种不同的特殊要求,从而对直流电机提出了较高的要求,改变电枢回路电阻调速、改变电压调速等技术已远远不能满足现代科技的要求,这是通过PWM方式控制直流电机调速的方法就应运而生。
采取传统的调速系统主要有以下的缺陷:模拟电路容易随时间飘移,会产生一些不必要的热损耗,以及对噪声敏感等。
而用PWM技术后,避免上述的缺点,实现了数字式控制模拟信号,可以大幅度减低成本和功耗。
并且PWM调速系统开关频率较高,仅靠电枢电感的滤波作用就可以获得平滑的直流电流,低速特性好;同时,开关频率高,快响应特性好,动态抗干扰能力强,可获很宽的频带;开关元件只需工作在开关状态,主电路损耗小,装置的效率高,具有节约空间、经济好等特点。
随着我国经济和文化事业的发展,在很多场合,都要求有直流电机PWM调速系统来进行调速,诸如汽车行业中的各种风扇、刮水器、喷水泵、熄火器、反视镜、宾馆中的自动门、自动门锁、自动窗帘、自动给水系统、柔巾机、导弹、火炮、人造卫星、宇宙飞船、舰艇、飞机、坦克、火箭、雷达、战车等场合。
1.2本设计任务:任务: 单片机为控制核心的直流电机PWM调速控制系统设计的主要内容以及技术参数:功能主要包括:1)直流电机的正转;2)直流电机的反转;3)直流电机的加速;4)直流电机的减速;5)直流电机的速度在数码管上显示;6)直流电机的启动;7)直流电机的停止;第二章:总体设计方案1、系统的硬件电路设计与分析电动机PWM驱动模块的电路设计与实现具体电路见下图。
本电路采用的是基于PWM 原理的H型桥式驱动电路。
基于单片机的直流电机调速系统的课程设计

一、总体设计概述本设计基于8051单片机为主控芯片,霍尔元件为测速元件, L298N为直流伺服电机的驱动芯片,利用 PWM调速方式控制直流电机转动的速度,同时可通过矩阵键盘控制电机的启动、加速、减速、反转、制动等操作,并由LCD显示速度的变化值。
二、直流电机调速原理根据直流电动机根据励磁方式不同,分为自励和它励两种类型,其机械特性曲线有所不同。
但是对于直流电动机的转速,总满足下式:式中U——电压;Ra——励磁绕组本身的内阻;——每极磁通(wb );Ce——电势常数;Ct——转矩常数。
由上式可知,直流电机的速度控制既可以采用电枢控制法也可以采用磁场控制法。
磁场控制法控制磁通,其控制功率虽然较小,但是低速时受到磁场和磁极饱和的限制,高速时受到换向火花和换向器结构强度的限制,而且由于励磁线圈电感较大,动态响应较差,所以在工业生产过程中常用的方法是电枢控制法。
电枢控制法在励磁电压不变的情况下,把控制电压信号加到电机的电枢上来控制电机的转速。
传统的改变电压方法是在电枢回路中串连一个电阻,通过调节电阻改变电枢电压,达到调速的目的,这种方法效率低,平滑度差,由于串联电阻上要消耗电功率,因而经济效益低,而且转速越慢,能耗越大。
随着电力电子的发展,出现了许多新的电枢电压控制法。
如:由交流电源供电,使用晶闸管整流器进行相控调压;脉宽调制(PWM)调压等。
调压调速法具有平滑度高、能耗低、精度高等优点,在工业生产中广泛使用,其中PWM应用更广泛。
脉宽调速利用一个固定的频率来控制电源的接通或断开,并通过改变一个周期内“接通”和“断开”时间的长短,即改变直流电机电枢上的电压的“占空比”来改变平均电.压的大小,从而控制电动机的转速,因此,PWM又被称为“开关驱动装置”。
如果电机始终接通电源是,电机转速最大为Vmax,占空比为D=t1/t,则电机的平均转速:Vd=Vmax*D,可见只要改变占空比D,就可以调整电机的速度。
平均转速Vd与占空比的函数曲线近似为直线。
基于单片机控制的直流电机调速系统设计

基于单片机控制的直流电机调速系统设计一、引言直流电机在工业自动化领域中广泛应用,其调速系统的设计是实现自动控制的关键。
本文将介绍一种基于单片机控制的直流电机调速系统设计方案,主要包括电机原理、硬件设计、软件设计以及实验结果与分析等内容。
二、电机原理直流电机是一种将直流电能转换为机械能的装置,其原理基于电磁感应和安培定律。
电机由定子和转子两部分组成,定子上绕有恒定电流,产生磁场,而转子上带有电流,与定子的磁场互相作用,产生力矩使电机旋转。
三、硬件设计1.单片机选择在本设计中,选择了一款功能强大、性能稳定的单片机作为控制核心,例如使用ST C89C51单片机。
该单片机具有丰富的GP IO口和定时器/计数器等外设,适合进行电机控制。
2.电机驱动电路设计电机驱动电路主要包括功率电源、运放电路和驱动电路。
其中,功率电源为电机提供稳定的直流电源,运放电路用于信号放大和滤波,驱动电路则根据控制信号控制电机的转速。
3.速度测量电路设计为了实时监测电机的转速,需要设计速度测量电路。
常见的速度测量电路包括光电编码器、霍尔传感器等,通过测量转子上感应物体的变化来获得电机的转速信息。
四、软件设计1.程序框架软件设计的目标是实现对电机转速的控制和监测。
基于单片机的软件设计主要包括主程序的编写、中断服务程序的编写以及定时器的配置等。
2.控制算法常见的直流电机调速算法包括电压调速法、P WM调速法等。
根据实际需求选择合适的算法,并根据测量到的转速信号进行反馈控制,实现对电机转速的精确控制。
五、实验结果与分析设计完成后,进行实验验证。
通过设置不同的转速需求,观察电机的实际转速与设定转速的误差,并分析误差原因。
同时还可以测试电机在不同负载下的转速性能,以评估系统的稳定性和鲁棒性。
六、总结基于单片机控制的直流电机调速系统设计是实现自动控制的重要应用。
本文介绍了该系统的硬件设计和软件设计方案,并展示了实验结果。
通过系统实现电机转速的精确控制,可以广泛应用于工业自动化领域。
单片机控制直流电机课程设计报告

void delay(unsigned char dlylevel){
int i=50*dlylevel;
while(--i);}
此函数为带参数DLYLEVEL,约产生DLYLEVEL*400us的延时,因此一个脉冲周期可以由高电平持续时间系数hlt和低电平持续时间系数llt组成,本设计中采用的脉冲频率为25Hz,可得hlt+llt=100,占空比为hlt/(hlt+llt),因此要实现定频调宽的调速方式,只需通过程序改变全局变量hlt,llt的值,该子程序流程图如图四。
MOV TL0,#0CH
SETB ET0 ;开定时器0
SETB EA
SETB TR0
LOOP:AJMP LOOP ;等待
AT89C51单片机功能强大,方便今后的功能扩展。通过各种方案的讨论及尝试,再经过多次的整体软硬件结合调试,不断地对系统进行优化。同时对电动机控制不是一个简单的电子控制问题,它涉及很多方面的知识。相信单片机在今后的自动控制领域中将有更广阔的应用前景。相信该系统能成功运用于直流电机转速系统的实时监控,简化控制逻辑系统,而且成本低廉、功能完整、抗干扰性能好。能成功应用于直流电机转速调节、监控、保护场合,并且监控界面友好,使用方便。能够对直流电机实行实时监控,不仅大大改善了高速运行时的稳定性,而且还实现了保护功能。
SETB P2.0
CLR P2.2
SETB GORD ;置高低电平判断位为1
MOV GAO,LEN ;置高电平初值
MOV A,#100 ;置周期总长值
SUBB A,GAO ;求低电平比例值
MOV DI,A ;存低电平比例值
直流电机调速系统课程设计报告

直流电机调速系统设计报告题目:H桥&串口输出2016年3月一、设计任务设计并制作一套直流电机调速系统,主要包括两部分:主电路部分和以单片机为核心的控制电路部分。
要求设计、制作控制电路和主电路,实现如下功能:(1)通过码盘和光耦得到一系列脉冲,利用M法、T法或M/T法对这些脉冲在单片机中进行处理得到电机的转速,在液晶或数码管上进行显示;(2)DC/DC电路能够正常工作,通过旋钮或键盘设定转速,并能够通过电力电子电路输出合适的电压,使电机的转速达到设定转速。
(3)实验室提供24V直流电源为DC/DC电路供电,其余部分电源请利用220V市电自行设计。
数码管显示单元DC直流电源DC码盘和光耦驱动与保护电路单片机系统旋钮输入图1 系统总体框图二、硬件电路设计与制作2.1 显示部分电路设计使用计数器采集到电机转速后,需要用数码管进行显示。
我们组选择串口驱动数码管显示电路,74HC595芯片是一种串入并出的芯片,是8位串行输入/输出或者并行输出移位寄存器,具有高阻、关、断状态。
首先使用三极管构成驱动电路,驱动数码管。
采用单片机的P0.0-P0.2作为74HC595时钟信号与输入口,使数码管显示相应转速,具体实现电路如图1。
图1 显示电路原理图2.2 驱动部分电路设计驱动部分作为电机与单片机控制器的结合部分,是本次设计的主电路,需要完成DC/DC变化的功能。
单片机产生PWM波送给驱动芯片IR2110,2110通过驱动电路控制MOSFET开关改变加在直流电机上的电压,从而达到改变转速的目的。
单片机产生的PWM1和PWM2波形要相反,控制斩波电路的半桥互补通断。
电路设计图如图2所示。
图2 驱动电路原理图2.3 电源部分设计电源设计部分共分两个部分,一部分是IR2110的供电电压和所有芯片的供电电压,另一部分是USB口供电电部分,使用电脑供电,两部分电路通过拨码开关进行切换。
市电供电电源采用220V交流电变成15V交流电,经整流桥变成直流电,再经7815、7805稳压得到15V和5V直流电,分别给驱动和单片机系统供电。
基于51单片机课程设计报告小直流电机调速控制系统

《单片机原理及应用》课程设计报告书课题名称小直流电机调速控制系统姓名学号专业电气工程及其自动化指导教师机电与控制工程学院2014 年 6 月 12日任务书1.课程设计项目小直流电机调速控制系统2.设计内容(1)以STC89C51单片机为核心器件组成小直流电机调速控制系统;(2)搭建外围硬件电路;(3)系统程序编制与调试;(4)电路系统的综合调试;(5)撰写课程设计论文;(6)完成课程设计论文答辩。
3.设计要求用0809采样电位器的值,并在显示器上显示,将此信号值作为方波占空比,通过0832输出经放大后控制电机转速。
4.设计进度时间设计内容第1-2天查阅资料、方案比较、设计与论证第3-4天仿真、程序编写第5天焊接第6天系统调试第7-8天书写报告、答辩目录1.绪论1.1课题研究的目的及意义----------------------------------------4 1.2国内外电机控制的研究现状及发展--------------------------------4 1.3 PWM变频调速发展前景-----------------------------------------41.3.1PWM调速-------------------------------------------52.方案论证(规划、选定)------------------------------------53.方案说明(设计)-------------------------------------------54.硬件方案设计4.1电位器采集模块----------------------------------------------6 4.1.1电位器-------------------------------------------------6 4.1.2数模转换及显示----------------------------------------6 4.2模数转换与单片机的连接--------------------------------------74.3数模转换模块及放大驱动模块----------------------------------95.软件方案设计------------------------------------------------96.调试6.1硬件调试---------------------------------------------------10 6.2软件调试---------------------------------------------------107.技术小结(结束语)----------------------------------------108.参考文献----------------------------------------------------109.附录(元件清单、电路图、源程序代码、实物图片等)9.1元件清单----------------------------------------------------11 9.2电路图------------------------------------------------------11 9.3源程序代码--------------------------------------------------12 9.4实物图片----------------------------------------------------171.绪论1.1课题研究的目的及意义直流电机具有良好的启动性能和调速特性,虽然各种类型的电机层出不穷,然而在自动控制系统、电子仪器设备等方面,直流电机的应用还是占有突出地位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
专业课程设计题目三直流电动机测速系统设计院系:专业班级:小组成员:指导教师:日期:前言1.题目要求设计题目:直流电动机测速系统设计 描述:利用单片机设计直流电机测速系统具体要求:8051单片机作为主控制器、利用红外光传感器设计转速测量、检测直流电机速度,并显示。
元件:STC89C52、晶振(12MHz )、小按键、ST151、数码管以及电阻电容等 2.组内分工(1)负责软件及仿真调试:主要由完成 (2)负责电路焊接: 主要由完成 (3)撰写报告:主要由完成 3.总体设计方案总体设计方案的硬件部分详细框图如图一所示:单片机 PWM 电机驱动数码管显示按键控制一、转速测量方法转速是指作圆周运动的物体在单位时间内所转过的圈数,其大小及变化往往意味着机器设备运转的正常与否,因此,转速测量一直是工业领域的一个重要问题。
按照不同的理论方法,先后产生过模拟测速法(如离心式转速表) 、同步测速法(如机械式或闪光式频闪测速仪) 以及计数测速法。
计数测速法又可分为机械式定时计数法和电子式定时计数法。
本文介绍的采用单片机和光电传感器组成的高精度转速测量系统,其转速测量方法采用的就是电子式定时计数法。
对转速的测量实际上是对转子旋转引起的周期脉冲信号的频率进行测量。
在频率的工程测量中,电子式定时计数测量频率的方法一般有三种:①测频率法:在一定时间间隔t 内,计数被测信号的重复变化次数N ,则被测信号的频率fx 可表示为f x =Nt(1)②测周期法:在被测信号的一个周期内,计数时钟脉冲数m0 ,则被测信号频率fx = fc/ m0 ,其中, fc 为时钟脉冲信号频率。
③多周期测频法:在被测信号m1 个周期内, 计数时钟脉冲数m2 ,从而得到被测信号频率fx ,则fx 可以表示为fx =m1 fcm2, m1 由测量准确度确定。
电子式定时计数法测量频率时, 其测量准确度主要由两项误差来决定: 一项是时基误差; 另一项是量化±1 误差。
当时基误差小于量化±1 误差一个或两个数量级时,这时测量准确度主要由量化±1 误差来确定。
对于测频率法,测量相对误差为:Er1 =测量误差值实际测量值×100 % =1N×100 % (2)由此可见,被测信号频率越高, N 越大, Er1 就越小,所以测频率法适用于高频信号( 高转速信号) 的测量。
对于测周期法,测量相对误差为:Er2 =测量误差值实际测量值×100 % =1m0×100 % (3)对于给定的时钟脉冲fc , 当被测信号频率越低时,m0 越大, Er2 就越小,所以测周期法适用于低频信号( 低转速信号) 的测量。
对于多周期测频法,测量相对误差为:Er3 =测量误差值实际测量值100%=1m2×100 % (4) 从上式可知,被测脉冲信号周期数m1 越大, m2 就越大,则测量精度就越高。
它适用于高、低频信号(高、低转速信号) 的测量。
但随着精度和频率的提高, 采样周期将大大延长,并且判断m1 也要延长采样周期,不适合实时测量。
根据以上的讨论,考虑到实际应用中需要测量的转速范围很宽,上述的转速测量方法难以满足要求,因此,研究高精度的转速测量方法,以同时适用于高、低转速信号的测量,不仅具有重要的理论意义,也是实际生产中的需要。
二、转速测量原理一般的转速长期测量系统是预先在轴上安装一个有60 齿的测速齿盘,用变磁阻式或电涡流式传感器获得一转60 倍转速脉冲,再用测频的办法实现转速测量。
而临时性转速测量系统,多采用光电传感器,从转轴上预先粘贴的一个标志上获得一转一个转速脉冲,随后利用电子倍频器和测频方法实现转速测量。
不论长期或临时转速测量,都可以在微处理器的参与下,通过测量转轴上预留的一转一齿的鉴相信号或光电信号的周期,换算出转轴的频率或转速。
即通过速度传感器,将转速信号变为电脉冲,利用微机在单位时间内对脉冲进行计数,再经过软件计算获得转速数据。
即:n=N/ (mT) (1)◆n ———转速、单位:转/ 分钟;◆N ———采样时间内所计脉冲个数;◆T———采样时间、单位:分钟;◆m ———每旋转一周所产生的脉冲个数(通常指测速码盘的齿数) 。
如果m=60, 那么1 秒钟内脉冲个数N就是转速n, 即:n=N/ (mT) =N/60 ×1/60=N (2)◆通常m为60。
在对转速波动较快系统或要求动态特性好而精度高的转速测控系统中,调节周期一般很短,相应的采样周期需取得很小,使得脉冲当量增高,从而导致整个系统测量精度降低,难以满足测控要求。
提高采样速率通常就要减小采样时间T, 而T 的减小会使采到的脉冲数值N 下降,导致脉冲当量(每个脉冲所代表的转速) 增高,从而使得测量精度变得粗糙。
通过增加测速码盘的齿数可以提高精度,但是码盘齿数的增加会受到加工工艺的限制,同时会使转速测量脉冲的频率增高,频率的提升又会受到传感器中光电器或磁敏器或磁电器件最高工作频率的限制。
凡此种种因素限制了常规智能转速测量方法的使用范围。
而采用本文所提出的定时分时双频率采样法,可在保证采样精度的同时,提高采样速率,充分发挥微机智能测速方法的优越性及灵活性。
系统原理图各部分模块的功能:①传感器:用来对信号的采样。
②放大、整形电路:对传感器送过来的信号进行放大和整形,在送入单片机进行数据的处理转换。
③单片机:对处理过的信号进行转换成转速的实际值,送入LED④LED显示:用来对所测量到的转速进行显示。
三、最小系统的设计1、复位电路:MCS-51 单片机复位电路是指单片机的初始化操作。
单片机启运运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。
因而,复位是一个很重要的操作方式。
但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。
图1复位电路2、晶振电路:晶振(图2)是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。
AT89C52单片机内部有一个用于构成振荡器的高增益反相放大器。
引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。
外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。
对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。
因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为30μF。
在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。
晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。
图2晶振电路3、电机控制部分:(如下图)图3:控制电机部分4、最小系统的仿真:图4:最小系统的仿真5、总体电路图:图五:总体电路图四、电机转速控制系统软件设计:程序用C语言编写如下:#include<reg52.h> ///包含头文件#define unint unsigned int ///自定义变量#define uchar unsigned charsbit in1=P3^0; ///控制位定义sbit in2=P3^1;bit way=0; //正反转标志位uchar temp;unint count=0; //计数定时中断累积次数uchar code zm[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00};///在程序存储区定义字型码表uchar code wm[4]={0xfe,0xfd,0xfb,0xf7};///在程序存储区定义字位控制码表(千、百、十、个)unint disp_buf[4]={11,11,11,11}; ///显示缓冲器unint a; ///占空比控制字unint speedbuf; ///速度值unint high1,low1,high2,low2;void display(); ///子函数声明void pwm_out();void delays(uchar n);void speedscan();void speedscan(){if(count==500){TR0=0;speedbuf=(TH0*256+TL0)*60;TH0=0;TL0=0;TR0=1;}}void display(){uchar j;speedbuf=a*4/10;if(way) disp_buf[0]=10;else disp_buf[0]=0;disp_buf[1]=speedbuf/100%10;disp_buf[2]=speedbuf/10%10;disp_buf[3]=speedbuf%10;for(j=0;j<4;j++){P2=wm[j];P0=zm[disp_buf[j]];delays(20);}}void delays(uchar n){uchar i,j;for(i=0;i<5;i++)for(j=0;j<n;j++);}void main(){P0=0xff;P2=0xff;speedbuf=0;in1=0; ///电机控制的初始化in2=0;a=950;TMOD=0X15; ///定时器1为定时模式,使用方式2;定时器0为计数模式,使用方式2TH1=0Xfe; ///装定时器初值TL1=0X0c;TH0=0; ///装计数器初值TL0=0;EA=1; ///开总中断ET0=1; ///允许定时器0中断ET1=1; ///允许定时器1中断TR0=1; ///开计数器TR1=1; ///开定时器while(1){P1=0xff; //拉高P1口电平,读数据temp=P1;if(temp>0xEF){ in1=0;in2=0;ET1=0;}else{ET1=1;if(temp==0xEE){ delays(40);if(temp==0xEE){ in1=1;in2=0;way=0;}}if(temp==0xED){ delays(40);if(temp==0xED){ in1=0;in2=1;way=1;}}if(temp==0xEB){ delays(40);if(temp==0xEB){ a=a+50;if(a>=950)a=950;}}if(temp==0xE7){ delays(40);if(temp==0xE7){ a=a-50;if(a<=50)a=50;}}while(P1!=0xef);}speedscan();display();}}void timer_1()interrupt 3 using 1 {TR1=0;pwm_out();TR1=1;}void pwm_out(){if(way==0){ if(in1==0){high1=(65536-a)/256;low1=(65536-a)%256;TH1=high1;TL1=low1;count++;}else{high2=(64536+a)/256;low2=(64536+a)%256;TH1=high2;TL1=low2;}in1=~in1;}else{ if(in2==0){ high1=(65536-a)/256;low1=(65536-a)%256;TH1=high1;TL1=low1;count++;}else{high2=(64536+a)/256;low2=(64536+a)%256;TH1=high2;TL1=low2;}in2=~in2;}}五、系统软件仿真图:如图:系统仿真图六、心得及体会:本次实习我与我的组员做的是直流电机测速,当老师给出题目时,我们还是按照以前实习的解题步骤一步步的做,首先是查找相关的资料,如PWM 的工作原理。