pwm(1).doc

上传人:sk****8 文档编号:3534587 上传时间:2019-06-02 格式:DOC 页数:4 大小:22KB
下载 相关 举报
pwm(1).doc_第1页
第1页 / 共4页
pwm(1).doc_第2页
第2页 / 共4页
pwm(1).doc_第3页
第3页 / 共4页
pwm(1).doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、1.PWM 给直流电机调速可以说并不难,无非是改变 PWM 的 DUTY 时间来实现,不同的占空比输出。从而改变平均电压以便改变电机转速。 2.AT89s52 没有 PWM 电路,只能用定时器产生时间来模拟 PWM 信号,控制直流电机的速度。你可以用一个定时器分两次定时,其中第一次为可变长度(对应你的速度) ,第二次为固定时间。只要不停重复这两次定时,就可以模拟 PWM 信号3.很多人问到这个问题。 。其实我也是最近两天才真正的搞明白。他的调速原理很简单,所谓占空比,其实就是电机通电时间与总的时间之比(总的时间包括通电时间和不通电时间,这也是一个周期) 。 。 。因此,只需要用定时器,让电机转

2、一段时间,然后停止(这就是一个周期,一个周期只有几十毫秒) ,然后又转,如此的反复,就可以实现调速,我们肉眼看到他的速度降下来了,其实他是转一段时间,然后停止的。 。 。还有一种就是控制电压来调速,但是那个又要涉及到降压和升压的问题,所以一般的小车调速就用定时器就可以实现相应的功能了。 。 。下面是我写的一个程序,用按键控制速度,数码管显示速度值(最大99,最小01) 。 。 。最开始设置的转速是95.。 。#include#define uchar unsigned char#define uint unsigned intuchar duanma=0x3f,0x06,0x5b,0x4f,0

3、x66,0x6d,0x7d,0x07,0x7f,0x6f; /定义段码uchar weima=0xfe,0xfd,0xfb,0xf7; /定义位码uchar dis_buf=0,0,0,0; uchar a,b,c,d,i,n,led;sbit int1=P23;sbit int2=P24;sbit int3=P25;sbit int4=P26;sbit up=P20;sbit dowm=P21;sbit mode1=P22;sbit mode=P32;int pwm=5;front();stop();main()TMOD=0x01;EA=1;ET0=1;TR0=1;TH0=0xff;TL0=

4、0x00;while(1);time() interrupt 1TH0=0xff;TL0=0x00;i+;if(i=pwm)front();if(i=100)i=0;stop();if(up=0)a+;if(a0)a=0;pwm+;if(pwm=99)pwm=99;if(dowm=0)b+;if(b30)b=0;pwm-; if(pwm30)c=0;pwm=99;if(mode=0)d+;if(d0)d=0;pwm=1;dis_buf0=(100-pwm)/10;dis_buf1=(100-pwm)%10;dis_buf2=0;dis_buf3=0;P0=duanmadis_bufled;if(led=1)P0|=0x80;P1=weimaled+;if(led=4)led=0; front()int1=0;int2=1;int3=0;int4=1;stop()int1=1;int2=1;int3=1;int4=1;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。