按键复用实现直流电机加速实验(pwm控制)

按键复用实现直流电机加速实验(pwm控制)

ID:12131743

大小:639.00 KB

页数:10页

时间:2018-07-15

按键复用实现直流电机加速实验(pwm控制)_第1页
按键复用实现直流电机加速实验(pwm控制)_第2页
按键复用实现直流电机加速实验(pwm控制)_第3页
按键复用实现直流电机加速实验(pwm控制)_第4页
按键复用实现直流电机加速实验(pwm控制)_第5页
资源描述:

《按键复用实现直流电机加速实验(pwm控制)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、单片机原理专题实验概述单片机(MCU)是一种大规模的具有计算机基本功能的单片集成电路。可以与少量外围电路构成一个小而完善的计算机系统。芯片内置和外围的电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。单片机具有体积小、功耗低、控制功能强、扩展灵活、使用方便等优点,广泛应用于仪器仪表、家用电器、医用设备、航空航天、通信产品、智能玩具、汽车电子、专用设备的智能化管理及过程控制等领域。本文主要研究了利用STC89C52单片机PWM信号,来控制直流电机正反转。文章中采用了PWM信号的发生系统,对PWM信号的原理、产生方法以及如何通过软件编程对PWM信号占空比

2、进行调节,从而控制其输入信号波形等均作了详细的阐述。在硬件方面,文章中详细介绍了STC89C52单片机的性能特点和它的引脚功能,以及单片机的最小系统、L298n芯片的管脚和直流电机的驱动等;在软件方面,文章中详细介绍了如何运用对PWM信号占空比进行调节来实现电机的正反转以及加速,还详细解析了定时器初始化程序等的编写思路和具体的程序实现,包括完整的程序流程图。文章最后给出了在数个日日夜夜的奋斗中,本小组对该实验的心得体会、经验交流,对遇到的失败与挫折进行了深入的剖析,并给出了实验过程的原理图、效果图以及完整的源程序与解析。关键词:STC89C52单片机;正反转控制;引脚

3、;PWM信号1实验基本效果1当按下正转按键后,显示灯(绿色)常亮,同时直流电机正转,其余发光二极管都不亮。2当按下反转按键后,显示灯(红色)常亮,同时直流电机反转,其余发光二极管都不亮。3电机处于反转状态时,按下正转按键,反转显示灯(红色)熄灭,正转显示灯(绿色)常亮,同时直流电机由反转变为正转,其余发光二极管都不亮。单片机原理专题实验4当按下停止按键后,电机无论处于正传还是反转都停止转动,正转显示灯和反转显示灯熄灭,停止显示灯(红色)常亮,其余发光二极管都不亮。5当按下复位按键后,直流电机无论处于正转或者反转都将实现复位,复位显示灯(绿色)亮一下后熄灭即实现复位,复

4、位状态下直流电机停止转动,发光二极管都不亮,当按下正转按键或者反转按键后直流电机处于相应的状态。2实验优化1单片机上电后红绿灯交替闪烁4次后,暗灭。2当按下正转按键后,正转显示灯(绿色)闪烁八次后常亮,同时直流电机正转,其余发光二极管都不亮。3当按下反转按键后,正转显示灯熄灭,反转显示灯(红色)闪烁八次后常亮,同时直流电机反转,其余发光二极管都不亮。4当长按下正转按钮达2秒钟以上时,电机达到加速效果。5当电机处于正转高速状态时候,再次按下正转按钮,电机重新低速正转6当长按下反转按钮达2秒钟以上时,电机达到加速效果。7当电机处于反转高速状态时候,再次按下正转按钮,电机重

5、新低速反转8当按下停止按键后,电机无论处于正传还是反转都停止转动,正转显示灯和反转显示灯熄灭,停止显示灯(红色)常亮,其余发光二极管都不亮。9当按下复位按键后,直流电机无论处于正转或者反转都将实现复位,复位显示灯(绿色)亮一下后熄灭即实现复位,复位状态下直流电机停止转动,发光二极管都不亮,当按下正转按键或者反转按键后直流电机处于相应的状态。单片机原理专题实验附录附录A详细电路设计图图33AltiumDesigner电路连接图图34Proteus电路仿真图单片机原理专题实验图35电机正转波形图图36电机正转加速波形图单片机原理专题实验图37电机反转波形图图38电机反转加

6、速波形图单片机原理专题实验附录B源程序#include#defineucharunsignedcharsbitBT0=P2^0;sbitBT1=P2^1;sbitBT2=P2^2;sbitPW1=P1^0;sbitPW2=P1^1;sbitleft=P0^0;sbitright=P0^1;sbitstop=P0^2;voidmotor();voidleftM();voidrightM();voidstopM();voidDelayUs2x(unsignedchart);voidDelayMs(unsignedchart);unsignedinta,b

7、;ucharMotorGear;ucharMotorGearPlus=0;ucharKeyPressNum=0;voidmain(){//通电提示信号,两个小灯交叉闪烁四次for(a=0;a<4;a++){left=0;right=1;DelayMs(100);left=1;right=0;DelayMs(100);left=1;right=1;}//死循环不断的执行功能函数while(1){motor();}}voidmotor(){//控制电机正转if(!BT0){DelayMs(10);if(!BT0){while(!BT0){//长按2秒以上

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。