模吧

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

1417查看 | 9回复

[DIY交流] pwm 直流电机调速调光源码分享

[复制链接]
发表于 2019-3-13 21:06:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
本帖最后由 ldy7474 于 2019-3-13 21:06 编辑



pwm 直流电机调速调光源码分享 电机,电机pwm调速,pwm直流电机,while 作者:ldy7474 3626 <STC15W408AS.h> //STC12C5A60S2 专用头
#include "STC15W-ADC.h" //STC15W4K-ADC 硬件ADC模数转换
#define uint unsigned  int
#define uchar unsigned char
unsigned int ADC1;
unsigned int num;
unsigned int pwm;
sbit pwm_out=P5^5;

void delay(uint t)
{
while(t--);
}
void init_t0()
{
TMOD=0X01;
TH0=(65536-160)/256;
TL0=(65536-160)%256;
EA=1;//开总中断
ET0=1;//开定时器中断
TR0=1;//启动定时器
}
void t0() interrupt 1
{
TR0=0;//进入中断先关掉定时器
TH0=(65536-160)/256;
TL0=(65536-160)%256;
num++;//num自增
if(num>99)//如果num大于32
{
  num=0;   
}
//然后比较两个数的值
if(num<=pwm)//如果num小于等于pwm
{
  pwm_out=0;//输出低电平
  
}
else
{
  pwm_out=1;//输出高电平
}
TR0=1;//启动定时器  
}
void main()
{
InitADC();//ADC初始化
init_t0();//初始化定时器函数
num=0;//赋初值
while(1)
{
  ADC0=ADC(1)/10.3;
  pwm=ADC0;
   
发表于 2019-3-14 09:04:29 | 显示全部楼层
没库函数怎么用?
回复 支持 反对

使用道具 举报

发表于 2019-3-14 10:47:17 | 显示全部楼层
本帖最后由 独行者 于 2019-3-14 10:48 编辑

楼主;电路图有误。谢谢分享。
回复 支持 反对

使用道具 举报

发表于 2019-3-14 17:56:18 | 显示全部楼层
谢谢分享。                                               
回复 支持 反对

使用道具 举报

发表于 2019-3-14 21:02:42 | 显示全部楼层
说实话,光靠签到升级太慢,所以我复制了这一段话遇贴就回,回一次最少也得15个经验,还能帮你不沉贴!
回复 支持 反对

使用道具 举报

发表于 2019-3-18 12:20:02 | 显示全部楼层
确定这个图没有问题吗?
回复 支持 反对

使用道具 举报

发表于 2021-5-20 22:19:35 | 显示全部楼层

说实话,光靠签到升级太慢,所以我复制了这一段话遇贴就回,回一次最少也得15个经验,还能帮你不沉贴!
回复 支持 反对

使用道具 举报

发表于 2021-6-14 13:48:37 来自手机 | 显示全部楼层
谢谢分享,这图有点难看啊
回复 支持 反对

使用道具 举报

发表于 2021-7-13 08:12:07 | 显示全部楼层
gongye5776601 发表于 2019-3-18 12:20
确定这个图没有问题吗?

这个图确实有问题,电机的正负极直接了电源的负极,电机无法工作的;MOS管接法错误
回复 支持 反对

使用道具 举报

发表于 2021-7-13 08:17:43 | 显示全部楼层
独行者 发表于 2019-3-14 10:47
楼主;电路图有误。谢谢分享。

嗯,还是你仔细,这个图确实有问题;MOS管红蓝换色,红色接到VCC上
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|关于模吧|APP下载|广告报价|手机版|企业会员|商城入驻|联系我们|模吧 ( 黔ICP备2022002348号-1 )

© 2013-2020 Moz8.com 模吧,玩出精彩!