找回密码
 注册
关于网站域名变更的通知
查看: 411|回复: 2
打印 上一主题 下一主题

这是PWM电机调速程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-14 13:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
这是PWM电机调速程序

+ \; {: S! a4 T2 R6 R8 k5 q% Z8 U
/**************************************************/
#include<reg51.h>
#defineuInt unsigned int
) ~& U' I+ r+ @8 y; d2 m#define uchar unsigned char
ucharPWM_T = 0;   //占空比控制变量
//////////////////主程序入口//////////////////////
4 g7 {# Z! O: r$ bvoid main(void)       : H" J0 R: G/ h# h  m9 s
{ % J( |+ T: R$ N0 k) O
bit flag = 1; //控制灯渐亮渐熄方式. t& J8 s, t) \0 _, L$ H. g
uInt n;
TMOD=0x02;  //定时器0,工作模式2,8位定时模式 1 [3 ~! j6 d; D- g
TH0=210;     //写入预置初值(取值1-255,数越大PWM频率越高)
) ?6 y5 Q( x' s# RTL0=210;     //写入预置值 (取值1-255,数越大PWM频率越高)" J1 |3 p. w# r
TR0=1;       //启动定时器
2 Y0 B( K0 s, ZET0=1;       //允许定时器0中断
5 M! k  |% h7 I, L  / C3 @5 ]3 M6 p8 R' h
EA=1;        //允许总中断
P1=0xff; //初始化P1
while(1)     
! D6 O$ i5 K1 n( a{   
6 }7 f% ]( F  U8 V, E/ i) k' I  for(n=0;n<600;n++);  //延时,将响应定时器中断,灯会自动加/减一个档次的亮度
5 U$ x; ?8 s3 c4 U; l2 X- |  F% E                            //取值0-65535,数字越大变化越慢
  if(flag==1)  //灯渐亮9 Y! _5 i. s* K% b! {& ~
   PWM_T++;3 p$ K, R+ l6 R5 d. O
  else    //灯渐熄) o5 L1 q( Y2 q# r5 I5 `
   PWM_T--;
, R* b8 B0 p; n# V8 A* {5 K+ }   
. u+ ]0 e% v3 a  if(PWM_T>=100) //设置灯亮度级别为10" V! G$ R  D9 T
   flag=0;
  if(PWM_T==0)  //限定最低亮度级别为05 m- t, _% @8 V1 t& G* E5 V4 M. h
   flag = 1;& J+ `7 V4 E; t) K, f* A2 w  i  P
}      
}
///////////////////定时器0中断模拟PWM////////////////////  z" q; H: J" t! {7 |, W
timer0() interrupt 1 using 2   
$ N9 A* w- `6 _( t{
$ a3 Y; N8 s6 ~. ~& Q  u" Xstatic  uchar   t ;   //PWM计数
t++;   //每次定时器溢出加1
* w" j9 A2 h1 U) @- x  * U. _. }2 F: @$ `
if(t==100)   //PWM周期
{ $ Q: c5 J0 N9 f
  t=0;  //使t=0,开始新的PWM周期 3 `2 u/ X# I" t+ L$ x7 K) {  w7 Y5 @
  P1=0x00;  //使LED灯亮   % }  ]. g% w* X
}7 G. [' X4 `; K) ^6 e7 l& m2 z
  5 O) L& I6 g" v
if(PWM_T==t)  //按照当前占空比切换输出为高电平
+ t0 {, I, \# _& {" S6 `  P1=0xff;        //使LED灯灭  & X% @+ J+ k: T
}
& y6 J: r  T$ r* ~& c
8 K9 g) q, }) y) v

该用户从未签到

2#
发表于 2019-1-14 15:32 | 只看该作者
不错的代码

该用户从未签到

3#
发表于 2019-3-6 11:33 | 只看该作者
看看楼主的代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-28 04:40 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表