电子发烧友网 > 嵌入式技术 > 正文

机器人设计中利用51单片机输出PWM波的方法

2018年02月11日 11:29 次阅读

PWM这个功能在飞思卡尔、STM32等高档的单片机内部有专用的模块,用此类芯片实现PWM功能时只需要通过设置相应的寄存器就可实现周期和占空比的控制。但是如果要用51单片机的话,也是可以的,但是比较的麻烦。此时需要用到内部定时器来实现,可用两个定时器实现,也可以用一个定时器实现。

用两个定时器的方法是用定时器T0来控制频率,定时器T1来控制占空比。大致的的编程思路是这样的:T0定时器中断让一个I0口输出高电平,在这个定时器T0的中断当中起动定时器T1,而这个T1是让IO口输出低电平,这样改变定时器T0的初值就可以改变频率,改变定时器T1的初值就可以改变占空比。

下面重点介绍用一个定时器的实现PWM的方法。因为市面上的智能小车所采用的电机大多数为TT减速电机,通过反复的实验,此电机最佳的工作频率为1000HZ(太高容易发生哨叫,太低电机容易发生抖动),所以下面以周期为1ms(1000HZ)进行举例,要产生其它频率的PWM波,程序中只需作简单修改即可。

用一个定时器时(如定时器T0),首先你要确定PWM的周期T和占空比D,确定了这些以后,你可以用定时器产生一个时间基准t,比如定时器溢出n次的时间是PWM的高电平的时间,则D*T=n*t,类似的可以求出PWM低电平时间需要多少个时间基准n。

因为这里我们是产生周期为1ms(1000HZ)的PWM,所以可设置中断的时间间隔为0.01ms,,然后中断100次即为1ms。在中断子程序内,可设置一个变量如TIme,在中断子程序内,有三条重要的语句:1、当TIme>=100时,TIme清零(此语句保证频率为1000HZ),2、当TIme>n时(n应该在0-100之间变化开),让单片相应的I/O口输出高电平,当 time<n 时,让单片相应的 I/O 口输出低电平, 此时占空比就为%n。

2、程序1,使单片机的I/O口输出固定频率的PWM波

下面按上面的思路给出一个具体程序:

/*******************************************************************/

/*程序名:单片机输出固定频率的PWM波*/

/*晶振:11.00592 MHz CPU型号:STC89C52 */

/*功能:P2^0口输出周期为1ms(1000HZ),占空比为%80的PWM波*/

/*****************************************************************/

#include

#define uint unsigned int

#define uchar unsigned char

sbit PWM1=P2^0;//接IN1控制正转

sbit PWM2=P2^1;//接IN2控制反转

uchar time;

void main()

{

TMOD=0x01;//定时器0工作方式1

TH0=0xff;//(65536-10)/256;//赋初值定时

TL0=0xf7;//(65536-10)%256;//0.01ms

EA=1;//开总中断

ET0=1;//开定时器0中断

TR0=1;//启动定时器0

while(1)

{

}

}

void delay(uint z)

{

uint x,y;

for(x=z;x》0;x--)

for(y=500;y》0;y--);

}

void tim0() interrupt 1

{

TR0=0;//赋初值时,关闭定时器

TH0=0xff;//(65536-10)/256;//赋初值定时

TL0=0xf7;//(65536-10)%256;//0.01ms

TR0=1;//打开定时器

time++;

if(time》=100) time=0;//1khz

if(time《=20) PWM1=0;//点空比%80

else PWM1=1;

PWM2=0;

}

程序说明:

1、关于频率的确定:对于11.0592M晶振,PWM输出频率为1KHZ,此时设定时器0.01ms中断一次,时中断次数100次即为1KHZ( 0.01ms*100=1ms,即为1000HZ)此时, 定时器计数器赋初值为TH0=FF,TL0=F7。

2、关于占空比的确定:此时我们将来time的值从0-100之间进行改变,就可以将占空比从%0-%100之间进行变化,上面程序中time《=20时PWM1=0; else PWM1=1;意思就是%20的时间输出低电平,%80的时间输出高电平,即占空比为%80。如需得到其它占空比,如%60,只需将time的值改为40即可。(程序为if(time《=40) PWM1=0;else PWM1=1;)

当然编写程序时也可以定义一个标志位如flag,根据flag的状态决定输出高平还是低电平,假设定义flag=1的时候输出高电平,用一个变量去记录定时器中断的次数,每次中断就让记录中断次数的变量+1,在中断程序里面判断这个变量的值是否到了n,如果到了说明高电平的时间够了,那么就改变flag为0,输出低电平,同时记录中断变量的值清零,每次中断的时候依旧+1,根据flag=0的情况跳去判断记录变量的值是否到了n如果到了,说明PWM的低电平时间够了,那么就改flag=1,输出改高电平,同时记录次数变量清零,重新开始,如此循环便可得到你想要的PWM波形,这种方法我们这里不在举例,请自己去试着书写。

3、程序2,使用单片机I/O口输出PWM波,并能通过按键控制正反转

在程序中我们通常需要控制电机的正反转,如通过一个按键控制正反转,此时我们也可以设置一个标志位如flag。在主程序中当按键每次被按下时,flag相应取反。然后在子程序中当flag为1时,进行正转程序,当flag为0时执行反转程序。下面的程序功能为单片机I/O口P2^0、P2^1输出1000HZ,占空比为%50,并能过P3^7按键控制正电机的正反转。

/*******************************************************************/

/*程序名:PWM直流电机调速*/

/*晶振:11.00592 MHz CPU型号:STC89C52 */

/*功能:直流电机的PWM波控制,可以通过按键控制正反转*/

/*****************************************************************/

#include

#define uint unsigned int

#define uchar unsigned char

uchar time,count=50,flag=1;//低电平的占空比

sbit PWM1=P2^0;//PWM通道1,反转脉冲

sbit PWM2=P2^1;//PWM通道2,正转脉冲

sbit key_turn=P3^7; //电机换向

/************函数声明**************/

void delayxms(uint z);

void Motor_turn(void);

void timer0_init(void);

/*********主函数********************/

void main(void)

{

timer0_init();

while(1)

{

Motor_turn();

}

}

/****************延时处理**********************/

void delayxms(uint z)//延时xms程序

{

uint x,y;

for(y=z;x》0;x--)

for(y=110;y》0;y--);

}

/************电机正反向控制**************/

void Motor_turn(void)

{

if(key_turn==0)

{

delayxms(2);//此处时间不能太长,否者会的中断产生冲突

if(key_turn==0)

{

flag=~flag;

}

while(!key_turn);

}

}

/***********定时器0初始化***********/

void timer0_init(void)

{

TMOD=0x01; //定时器0工作于方式1

TH0=(65536-10)/256;

TL0=(65536-10)%256;

TR0=1;

ET0=1;

EA=1;

}

/**************定时0中断处理******************/

void timer0_int(void) interrupt 1

{

TR0=0;//设置定时器初值期间,关闭定时器

TH0=(65536-10)/256;

TL0=(65536-10)%256;

TR0=1;

if(flag==1)//电机正转

{

PWM1=0;

time++;

if(time{

PWM2=1;

}

else

PWM2=0;

if(time》=100)

{

time=0;

}

}

else //电机反转

{

PWM2=0;

time++;

if(time{

PWM1=1;

}

else

PWM1=0;

if(time》=100)

{

time=0;

}

}

}

4、程序4、使单片机输出PWM,并能控制正反转和实现调速

为了使大家彻底掌握此方面,下面再给出一个复杂一点的程序,实现的功能为通过一个按键控制正反转并通过另外两个按键使之可以在0到20级之间调速的程序。

/*******************************************************************/

/*程序名:PWM直流电机调速*/

/*晶振:11.00592 MHz CPU型号:STC89C52 */

/*直流电机的PWM波控制,可以通过按键控制正反转并在0到20级之间调速*/

/*****************************************************************/

#include

#define uint unsigned int

#define uchar unsigned char

uchar time,count=50,flag=1;//低电平的占空比

sbit PWM1=P2^0;//PWM通道1,反转脉冲

sbit PWM2=P2^1;//PWM通道2,正转脉冲

sbit key_add=P3^5;//电机加速

sbit key_dec=P3^6;//电机减速

sbit key_turn=P3^7;//电机换向

/************函数声明**************/

void delayxms(uint z);

void Motor_turn();

void Motor_add();

void Motor_dec();

void timer0_init();

/*********主函数********************/

void main()

{

timer0_init();

while(1)

{

Motor_turn();

Motor_add();

Motor_dec();

}

}

/****************延时处理**********************/

void delayxms(uint z)//延时xms程序

{

uint x,y;

for(y=z;x》0;x--)

for(y=110;y》0;y--);

}

/************电机正反向控制**************/

void Motor_turn()

{

if(key_turn==0)

{

delayxms(2);//此处时间不能太长,否者会的中断产生冲突

if(key_turn==0)

{

flag=~flag;

}

while(!key_turn);

}

}

void Motor_add()//电机加速

{

if(key_add==0)

{

delayxms(2);//此处时间不能太长,否者会的中断产生冲突

if(key_add==0)

{

count+=5;

if(count》=100)

{

count=0;

}

}

while(!key_add);

}

}

void Motor_dec()//电机加减速

{

if(key_dec==0)

{

delayxms(2);//此处时间不能太长,否者会的中断产生冲突

if(key_dec==0)

{

count-=5;

if(count》=100)

{

count=0;

}

}

while(!key_dec);

}

}

/***********定时器0初始化***********/

void timer0_init()

{

TMOD=0x01; //定时器0工作于方式1

TH0=(65536-10)/256;

TL0=(65536-10)%256;

TR0=1;

ET0=1;

EA=1;

}

/**************定时0中断处理******************/

void timer0_int() interrupt 1

{

TR0=0;//设置定时器初值期间,关闭定时器

TH0=(65536-10)/256;

TL0=(65536-10)%256;

TR0=1;

if(flag==1)//电机正转

{

PWM1=0;

time++;

if(time{

PWM2=1;

}

else

PWM2=0;

if(time》=100)

{

time=0;

}

}

else //电机反转

{

PWM2=0;

time++;

if(time{

PWM1=1;

}

else

PWM1=0;

if(time》=100)

{

time=0;

}

}

}

5、利用单片机输出PWM简单控制小车直行

相信通过上面的讲解,大家已经能够很好的撑握如何利用51单片机产生PWM波下面给出一个程序,通过单片机两个I/O口输出PWM波,让小车直行。

#include

#define uint unsigned int

#define uchar unsigned char

sbit PWM1=P2^0;//接IN1控制正转

sbit PWM2=P2^1;//接IN2控制反转

sbit PWM3=P2^2;//接IN3控制正转

sbit PWM4=P2^3;//接IN4控制反转

sbit PWM5=P2^4;//接IN3控制正转

sbit PWM6=P2^5;//接IN4控制反转

sbit PWM7=P2^6;//接IN3控制正转

sbit PWM8=P2^7;//接IN4控制反转

uchar time;

void main()

{

TMOD=0x01;//定时器0工作方式1

TH0=0xff;//(65536-10)/256;//赋初值定时

TL0=0xf7;//(65536-10)%256;//0.01ms

EA=1;//开总中断

ET0=1;//开定时器0中断

TR0=1;//启动定时器0

while(1)

{

}

}

void delay(uint z)

{

uint x,y;

for(x=z;x》0;x--)

for(y=500;y》0;y--);

}

void tim0() interrupt 1

{

TR0=0;//赋初值时,关闭定时器

TH0=0xff;//(65536-10)/256;//赋初值定时

TL0=0xf7;//(65536-10)%256;//0.01ms

TR0=1;//打开定时器

time++;

if(time》=100) time=0;//1khz

PWM2=0;

PWM4=0;

if(time《=75) PWM1=1;

else PWM1=0;

if(time《=80) PWM3=1;

else PWM3=0;

PWM6=0;

PWM8=0;

if(time《=50) PWM5=1;

else PWM5=0;

if(time《=50) PWM7=1;

else PWM7=0;

}

技术专区

关注电子发烧友微信

有趣有料的资讯及技术干货

下载发烧友APP

打造属于您的人脉电子圈

关注发烧友课堂

锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

各位大佬,请问mosfet驱动器能达到的开关频率由什么参数决定?

发表于 2018-04-11 23:31 57次阅读
各位大佬,请问mosfet驱动器能达到的开关频率由什么参数决定?

10分钟理解DS18B20数字温度计模块

发表于 2018-04-11 17:15 123次阅读
10分钟理解DS18B20数字温度计模块

51单片机串口通信程序详解

串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数...

发表于 2018-04-11 15:51 165次阅读
51单片机串口通信程序详解

定时/计数器PWM设计要点及应用设计参考

定时 / 计数器 PWM设计要点 根据 PWM ((脉宽调制(PWM:(Pulse Width Mo...

发表于 2018-04-11 13:21 22次阅读
定时/计数器PWM设计要点及应用设计参考

凌阳十六位单片机与51单片机的比较分析

本文首先介绍了凌阳十六位单片机与51单片机的优点,其次详细的从硬件、性能和功能这三个方面来阐述了凌阳...

发表于 2018-04-11 11:44 32次阅读
凌阳十六位单片机与51单片机的比较分析

10分钟理解OLED显示模块

发表于 2018-04-11 01:05 168次阅读
10分钟理解OLED显示模块

请问28335怎么生成一个复杂的pwm波?

发表于 2018-04-10 22:43 88次阅读
请问28335怎么生成一个复杂的pwm波?

51单片机驱动LCD1602程序详解(含LCD1...

51单片机LCD1602程序详解 LCD1602 工业字符型液晶。1602是指LCD显示的内容为16...

发表于 2018-04-10 09:37 174次阅读
51单片机驱动LCD1602程序详解(含LCD1...

求教各位大佬:MOSFET半桥驱动空载为什么HO和LO都没有输出波形?

发表于 2018-04-09 23:54 248次阅读
求教各位大佬:MOSFET半桥驱动空载为什么HO和LO都没有输出波形?

基于52单片机的步进电机控制

发表于 2018-04-09 22:09 167次阅读
基于52单片机的步进电机控制

10分钟理解LCD1602液晶显示模块

发表于 2018-04-09 17:39 291次阅读
10分钟理解LCD1602液晶显示模块

arm的PWM模块脉宽调制及超声波系统设计

近年来以微电子学和计算机技术为基础的信息技术飞速发展,超声无损检测仪器也得到了前所未有的发展动力,为...

发表于 2018-04-09 08:12 29次阅读
arm的PWM模块脉宽调制及超声波系统设计

有偿求大佬做一个CAN总线传输的环境监测系统!

发表于 2018-04-08 17:17 129次阅读
有偿求大佬做一个CAN总线传输的环境监测系统!

【下载】《单片机语言C51应用实战集锦》

发表于 2018-04-08 16:51 798次阅读
【下载】《单片机语言C51应用实战集锦》

求一个基于51单片机的数字滤波器

发表于 2018-04-08 16:01 208次阅读
求一个基于51单片机的数字滤波器

SKJ-II型数字随动系统中PWM功率变换控制系...

实现PWM控制器的电路如图2所示。预建立PWM装置的模型,先确定其输入信号,输入信号为UX11(X1...

发表于 2018-04-07 10:19 50次阅读
SKJ-II型数字随动系统中PWM功率变换控制系...

CoolSETTM家族:全新固定频率PWM控制器...

电源制造商需要使用能够提供最佳性能、效率、稳健性且便于设计的器件。为此,英飞凌科技股份公司(FSE:...

发表于 2018-04-03 17:01 2571次阅读
CoolSETTM家族:全新固定频率PWM控制器...

固定频率电流模式PWM控制器

NCP1247USBPDGEVB评估板是一款专为USB PD(电源输送)应用而设计的反激式拓扑开关模...

发表于 2018-04-02 16:56 743次阅读
固定频率电流模式PWM控制器

智能集成BLDC电机驱动器如何进行EMI管理

本文将在汽车应用的BLDC系统中详细阐述EMI管理。BLDC电机在10-100kHz范围内的高开关频...

发表于 2018-04-02 00:08 793次阅读
智能集成BLDC电机驱动器如何进行EMI管理

uc3844中文资料汇总(uc3844引脚图及功...

本文主要介绍了uc3844中文资料汇总(uc3844引脚图及功能_工作原理及应用电路。UC3844是...

发表于 2018-03-30 15:42 284次阅读
uc3844中文资料汇总(uc3844引脚图及功...

PWM芯片uc3842应用电路图汇总(开关电源电...

本文主要介绍了PWM芯片uc3842应用电路图汇总(开关电源电路/充电器电路/PWM控制器)。UC3...

发表于 2018-03-30 14:16 422次阅读
PWM芯片uc3842应用电路图汇总(开关电源电...

uc3842中文资料汇总(uc3842引脚图及功...

本文主要介绍了uc3842中文资料汇总(uc3842引脚图及功能_工作原理及典型应用电路)。UC38...

发表于 2018-03-30 13:55 305次阅读
uc3842中文资料汇总(uc3842引脚图及功...

linux环境下如何开发51单片机 基于code...

关于USB转串口驱动问题 ,在linux下已经集成好了CH340和PL2302的驱动(linux m...

发表于 2018-03-29 14:42 86次阅读
linux环境下如何开发51单片机 基于code...

pwm呼吸灯原理及程序分享

本文主要介绍了pwm呼吸灯原理及程序分享。PWM(脉冲宽度调制)对模拟信号电平进行数字编码的方法,计...

发表于 2018-03-28 17:41 618次阅读
pwm呼吸灯原理及程序分享

基于stm32的PWM输出呼吸灯(包括stm32...

本文主要介绍了基于stm32的pwm呼吸灯设计与实现。使用定时器来控制I/O口输出PWM波形,从而驱...

发表于 2018-03-28 16:23 389次阅读
基于stm32的PWM输出呼吸灯(包括stm32...

这21个晶振难题弄清单片机就好懂了

有关51单片机有关晶振的问题一并总结出来,希望对学51的童鞋来说能有帮助

发表于 2018-03-21 16:18 702次阅读
这21个晶振难题弄清单片机就好懂了

PWM蜂鸣器驱动之FPGA在线下载配置图解

如图7.20所示,在弹出的Hardware Setup页面里,选择当前硬件为USB Blaster,...

发表于 2018-03-18 10:15 591次阅读
PWM蜂鸣器驱动之FPGA在线下载配置图解

PWM变模拟信号(积分电路)

积分电路的作用积分电路与微分电路在功能方面表现也是相反的:能够提取输入信号的平均值大小,即低频成份。...

发表于 2018-03-18 09:28 562次阅读
PWM变模拟信号(积分电路)

51单片机产生PWM方法

89C51芯片没有自带PWM发生器,如果要用51来产生PWM波就必须要用软件编程的方法来模拟。方法大...

发表于 2018-03-16 14:21 540次阅读
51单片机产生PWM方法

基于51单片机的PC机硬盘驱动器接口分析

IBM - PC机硬盘驱动器适配器简称硬盘控制器。它是一个智能部件,可接一个或两个硬盘,通过系统板上...

发表于 2018-03-16 13:47 118次阅读
基于51单片机的PC机硬盘驱动器接口分析

51单片机的时钟及总线时序和总线扩展

说到51单片机的时钟首先想到51时怎么工作的呢?微型控制器要想工作必须要有一个“动力”,对于51单片...

发表于 2018-03-15 14:48 594次阅读
51单片机的时钟及总线时序和总线扩展

51单片机设计的数字钟温度计

在工业生产中温度是常见的被控参数,采用单片机对温度进行控制简单方便。本次创新设计的亮点是数字测温,温...

发表于 2018-03-14 14:59 132次阅读
51单片机设计的数字钟温度计

51单片机定时器工作原理

51单片机定时器工作原理及用法

发表于 2018-03-14 13:51 535次阅读
51单片机定时器工作原理

这21个晶振难题弄清,单片机就好懂了!

晶振和 IC 间一般是通过铜走线相连的,这根走线可以看成一段导线或数段导线,导线在切割磁力线的时候会...

发表于 2018-03-09 14:00 589次阅读
这21个晶振难题弄清,单片机就好懂了!

一种简易PWM温控风扇电路设计

本文主要介绍了一种简易PWM温控风扇电路设计,为了有效的解决散热问题,尽量减少散热风扇的不必要的运转...

发表于 2018-02-27 08:47 456次阅读
一种简易PWM温控风扇电路设计

51单片机控制双音多频DTMF发生器(TCM50...

随着单片机应用的普及,单片机间通信问题已引起广泛的关注。目前,应用较多的是有线通信,而如何利用现有的...

发表于 2018-02-27 06:59 235次阅读
51单片机控制双音多频DTMF发生器(TCM50...

51单片机有关晶振的问题总结

学51单片机的时候,总是伴随很多有关于晶振的问题,其实晶振就是如同人的心脏,是血液的脉搏,把单片机的...

发表于 2018-02-26 11:47 696次阅读
51单片机有关晶振的问题总结

PWM脉宽调制:基础和一些高级概念

脉宽调制(PWM)是电子学许多领域广为采用的一个基本概念。它是一种简单的平均方法,用于从微波炉功率百...

发表于 2018-02-24 14:26 339次阅读
PWM脉宽调制:基础和一些高级概念

dsp28335例程pwm讲解

PWM信号频率由时基周期寄存器TBPDR和时基计数器的计数模式决定。初始化程序采用的计数模式为递增计...

发表于 2018-02-23 08:43 456次阅读
dsp28335例程pwm讲解

51单片机、AVR单片机和PIC单片机的IO口操...

51单片机、AVR单片机和PIC单片机IO口结构的均不同,导致了IO口操作也不同。操作单片机IO口的...

发表于 2018-02-20 20:25 113次阅读
51单片机、AVR单片机和PIC单片机的IO口操...

基于51单片机和LM317的数字可调稳压电源的解...

设计了一个基于LM317和AT89C51的数字显示可调稳压电源。系统包含主电源和辅助电源模块、电压数...

发表于 2018-02-16 12:26 854次阅读
基于51单片机和LM317的数字可调稳压电源的解...

STM32定时器产生PWM彻底应用

这次学习STM32花了很长时间,一个礼拜多,也有颇多收获,学习过程也有颇多曲折。这次的任务是:用ST...

发表于 2018-02-11 11:26 422次阅读
STM32定时器产生PWM彻底应用

ATMage16的16位定时器的PWM应用

本文详细介绍了ATMage16的16位定时器的PWM应用。

发表于 2018-02-11 11:22 269次阅读
ATMage16的16位定时器的PWM应用

飞思卡尔M9S12XS128单片机初学之PWM调...

本文着重应用实践,理论性的东西少谈为妙,因为理论的东西资料上都有。想借此平台记录下调试心得以免日后遗...

发表于 2018-02-11 11:20 170次阅读
飞思卡尔M9S12XS128单片机初学之PWM调...

STC12C5201AD单片机的PWM功能的应用...

52xxAD系列单片机的内部集成了两路可编程计数阵列模块(PCA),可用于软件定时器、外部脉冲的捕捉...

发表于 2018-02-11 11:14 259次阅读
STC12C5201AD单片机的PWM功能的应用...

STM32基础PWM输出

目的:基础PWM输出,以及中断配合应用。输出选用PB1,配置为TIM3_CH4,是目标板的LED6控...

发表于 2018-02-10 16:47 201次阅读
STM32基础PWM输出

有关51单片机有关晶振的问题总结(干货)

在初学51单片机的时候,总是伴随很多有关于晶振的问题,其实晶振就是如同人的心脏,是血液的脉搏,把单片...

发表于 2018-02-10 11:02 573次阅读
有关51单片机有关晶振的问题总结(干货)

STM8单片机PWM应用

PD3复用功能是TIM2_CC2,正好可以用来测试PWM功能。本例程通过电位器调整PWM脉宽来调整接...

发表于 2018-02-08 20:18 173次阅读
STM8单片机PWM应用

485通讯协议程序怎么写(51单片机的485通信...

RS-485收发器采用平衡发送和差分接收,因此具有抑制共模干扰的能力,加上收发器具有高的灵敏度,能检...

发表于 2018-02-08 11:27 710次阅读
485通讯协议程序怎么写(51单片机的485通信...

基于51单片机的大功率直流有刷电机的PWM调速控...

本人最近一直想用51单片机来设计制作一个“大功率直流有刷电机PWM调速控制器”。由于平时工作忙,没时...

发表于 2018-02-07 16:51 313次阅读
基于51单片机的大功率直流有刷电机的PWM调速控...

PWM控制LED灯的亮度程序(C 语言)

控制LED灯的亮度,通过调节电压的方式可以达到,但不理想,而且可调的范围很小,电压稍高,还容易把LE...

发表于 2018-02-07 16:45 381次阅读
PWM控制LED灯的亮度程序(C 语言)

直流电机的PWM速度控制程序

* =======直流电机的PWM速度控制程序======== */ /*晶振采用11.0592M,...

发表于 2018-02-07 08:44 256次阅读
直流电机的PWM速度控制程序

开路电压超过200V直流 PWM控制方法

所有用PWM都是最简单的方式,因为这个是48V 96V使用。太阳能电池板的开路电压,可能超过200V...

发表于 2018-02-07 08:40 243次阅读
开路电压超过200V直流 PWM控制方法

裸机程序如何驱动硬件?看前辈是怎么说的

笔者从事安卓底层开发,工作一年,个人看法 ,处女答。个人感脚51就是就是搞嵌入式第一门技术。把c语言...

发表于 2018-02-06 16:17 1125次阅读
裸机程序如何驱动硬件?看前辈是怎么说的

简单脉冲控制(PWM)直流电机调速电路方案

  555芯片组成一频率为1KHZ的多谐振荡器,脉冲宽度主要通过电阻R1,R2,R3,D1及C2控制...

发表于 2018-02-05 11:47 731次阅读
简单脉冲控制(PWM)直流电机调速电路方案

基于PWM技术的太阳能控制器的制作

太阳能发电系统是利用太阳能电池板(PV板)吸收太阳的光能转化为电能,充电给蓄电池储能,再输出直流低压...

发表于 2018-02-05 11:43 292次阅读
基于PWM技术的太阳能控制器的制作

介绍利用Keil的软件仿真功能来实现51单片机串...

下面介绍一种利用Keil的软件仿真功能来实现51单片机串口调试用户程序的方法。使用这种方法,无需任何...

发表于 2018-02-03 09:16 1517次阅读
介绍利用Keil的软件仿真功能来实现51单片机串...

51单片机串口通信编程

51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8...

发表于 2018-02-01 14:29 831次阅读
51单片机串口通信编程

sg3525怎么确定频率_sg3525频率计算

本文主要介绍了sg3525怎么确定频率。并分析了SG3525内部结构、SG3525引脚图及其功能,S...

发表于 2018-01-31 14:27 890次阅读
sg3525怎么确定频率_sg3525频率计算

sg3525怎样调脉宽_sg3525怎么调节占空...

本文主要介绍了sg3525怎样调脉宽_sg3525怎么调节占空比。SG3525脉宽调制控制器,不仅具...

发表于 2018-01-31 14:07 1209次阅读
sg3525怎样调脉宽_sg3525怎么调节占空...

单片机控制继电器_51单片机控制继电器详解

51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8...

发表于 2018-01-27 11:18 722次阅读
单片机控制继电器_51单片机控制继电器详解

51单片机流水灯电路图大全(六款单片机流水灯电路...

六款单片机流水灯电路图介绍。采用STC89S52单片机控制8个LED灯,其中8个LED灯的负极接单片...

发表于 2018-01-26 15:21 1443次阅读
51单片机流水灯电路图大全(六款单片机流水灯电路...

51单片机时钟电路图汇总(八款单片机时钟电路图)

本文详细的介绍了八款单片机时钟电路图。时钟电路就是产生像时钟一样准确运动的振荡电路。任何工作都按时间...

发表于 2018-01-26 14:42 1816次阅读
51单片机时钟电路图汇总(八款单片机时钟电路图)

稳压电源PWM芯片UC3846的应用设计方案

本文主要介绍了一种稳压电源PWM芯片UC3846的应用设计方案,开关电源的控制电路可以分为电压控制型...

发表于 2018-01-26 10:42 498次阅读
稳压电源PWM芯片UC3846的应用设计方案

四款555脉冲宽度调制电路详细介绍

本文主要介绍了四款555脉冲宽度调制电路。脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方...

发表于 2018-01-25 16:13 1043次阅读
四款555脉冲宽度调制电路详细介绍

pwm输出波形的特点

控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦...

发表于 2018-01-25 15:38 181次阅读
pwm输出波形的特点

pwm调制原理同步调制_几种pwm调制方式介绍

本文介绍了脉宽调制分类与优点,介绍了PWM脉宽调制原理,对PWM同步调制进行了介绍,介绍来了PWM具...

发表于 2018-01-25 15:32 337次阅读
pwm调制原理同步调制_几种pwm调制方式介绍

单相全桥pwm整流电路及工作原理

本文介绍了什么是整流电路以及整流电路作用原理及分类。其次介绍了pwm整流电路与单相全桥PWM整流电路...

发表于 2018-01-25 11:44 939次阅读
单相全桥pwm整流电路及工作原理

学习51单片机晶振这21问题搞懂了学单片机就简单...

在初学51单片机的时候,总是伴随很多有关与晶振的问题,其实晶振就是如同人的心脏,是血液的是脉搏,把单...

发表于 2018-01-25 09:43 440次阅读
学习51单片机晶振这21问题搞懂了学单片机就简单...

51单片机的P0口工作原理详细讲解

P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成。

发表于 2018-01-24 17:13 753次阅读
51单片机的P0口工作原理详细讲解

51单片机的指令周期详细介绍

指令周期指的是单片机执行一条指令的时间。按指令执行的时间可分为:单周期、双周期和四周期(只有乘法和除...

发表于 2018-01-22 16:18 487次阅读
51单片机的指令周期详细介绍

实现半桥DC/DC变换器软开关的PWM控制解决方...

经常被用于中小功率电路设计的DC-DC转换器一直是工程师们在进行电源设计时候的首选。半桥电路由两个功...

发表于 2018-01-22 09:07 1670次阅读
实现半桥DC/DC变换器软开关的PWM控制解决方...

新步降型转换电路的PWM控制器合理选择方案

随着前沿的DSP、FPGA和CPU工作在越来越低的供电电压、并消耗更大的电流,选择PWM控制器变得并...

发表于 2018-01-22 07:32 186次阅读
新步降型转换电路的PWM控制器合理选择方案

对开关电源发展概述、关键技术、未来趋势的解析

随着技术的进步,特别是功率器件的更新换代,功率变换技术的不断改进,新型电磁材料的不断使用,控制方法的...

发表于 2018-01-21 11:50 984次阅读
对开关电源发展概述、关键技术、未来趋势的解析

MAX232与51单片机如何连接_MAX232与...

当用单片机和PC机通过串口进行通信,尽管单片机有串行通信的功能,但单片机提供的信号电平和RS232的...

发表于 2018-01-19 08:51 995次阅读
MAX232与51单片机如何连接_MAX232与...

max7219驱动数码管程序(51单片机+STM...

本文主要介绍了max7219驱动数码管:STM32硬件SPImax7219驱动8位数码管显示模块程序...

发表于 2018-01-15 16:51 616次阅读
max7219驱动数码管程序(51单片机+STM...

利用51单片机制作廉价盒仔机器人的步骤过程解析

BOXZ,昵称盒仔,是一款开源的互动娱乐平台!百度一下,有很多盒仔的制作教程,基本都是用arduin...

发表于 2018-01-15 16:18 2068次阅读
利用51单片机制作廉价盒仔机器人的步骤过程解析

PWM变模拟信号(积分电路 ) _积分电路原理

积分电路主要用于波形变换、放大电路失调电压的消除及反馈控制中的积分补偿等场合。

发表于 2018-01-12 17:14 661次阅读
PWM变模拟信号(积分电路 ) _积分电路原理

51单片机驱动指针电压表DIY的一个时钟设计

先来一张制作完成的图片,受加工条件和材料的限制,尽了最大的努力后才勉强做成了现在的样子。

发表于 2018-01-12 09:17 2711次阅读
51单片机驱动指针电压表DIY的一个时钟设计

针对常用51单片机下载程序问题做下详解

单片机软件开发里面第一步当属下载程序了,如果这一步都有问题,那么后面的一切便无从谈起,记得当初刚接触...

发表于 2018-01-11 10:02 1694次阅读
针对常用51单片机下载程序问题做下详解

单片机中断系统介绍_51单片机中断系统结构

单片机中断就是当单片机正在执行程序的时候,突然某个按键按下了(产生外部中断),单片机就必须得去处理那...

发表于 2018-01-10 17:29 380次阅读
单片机中断系统介绍_51单片机中断系统结构

基于51单片机的DDS函数信号发生器的设计

本系统利用单片机STC89C52采用程序设计方法产生锯齿波、正弦波、三角波、矩形波四种波形,再通过D...

发表于 2018-01-08 10:59 586次阅读
基于51单片机的DDS函数信号发生器的设计

万事开头难,开关电源设计就应该这样一步一步来

针对开关电源很多人觉得很难,其实不然。设计一款开关电源并不难,难就难在做精,等你真正入门了,积累一定...

发表于 2018-01-07 09:21 2206次阅读
万事开头难,开关电源设计就应该这样一步一步来

单片机汇总_常用单片机优缺点详细剖析

市面上的单片机种类繁多,在选用单片机进行开发时你是不是总是难以抉择,本文为大家带来51单片机、STC...

发表于 2018-01-04 08:33 1105次阅读
单片机汇总_常用单片机优缺点详细剖析

51单片机的寄存器如何赋值

单片机在电学里面,属于很简单的一种器件,外表看,就是一个芯片,长着很多的脚。内部,就是一堆寄存器。不...

发表于 2017-12-31 08:32 2401次阅读
51单片机的寄存器如何赋值

51单片机怎么检测输入的高电平_检测方法及注意事...

本文介绍51单片机检测输入的高电平的方法及注意事项

发表于 2017-12-29 16:50 511次阅读
51单片机怎么检测输入的高电平_检测方法及注意事...

舵机控制原理与单舵机调速算法解析

控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,...

发表于 2017-12-29 09:00 4767次阅读
舵机控制原理与单舵机调速算法解析

51单片机C中关于.c文件和.h文件的关系与区别

C文件,是程序设计中的一个重要概念。所谓“文件”一般是指存储在外部介质上数据的集合。一批文件是以数据...

发表于 2017-12-27 16:49 327次阅读
51单片机C中关于.c文件和.h文件的关系与区别

51单片机特殊功能寄存器有哪些_功能是什么

51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8...

发表于 2017-12-27 16:32 651次阅读
51单片机特殊功能寄存器有哪些_功能是什么

基于PWM的智能无线LED调色系统的设计与实现

本文主要介绍了基于PWM的智能无线LED调色系统的设计与实现,系统由触摸屏彩灯控制器和LED三基色彩...

发表于 2017-12-27 15:44 373次阅读
基于PWM的智能无线LED调色系统的设计与实现

单片机双DPTR的使用方法

DPTR是某些单片机中一个功能比较特殊的寄存器,是一个16位的特殊功能寄存器, 其高位字节寄存器用D...

发表于 2017-12-27 15:27 234次阅读
单片机双DPTR的使用方法

基于PWM的无人机精准变量喷洒系统方案设计

本文主要介绍了基于PWM的无人机精准变量喷洒系统方案设计,无人直升机技术、施药技术相结合形成的无人直...

发表于 2017-12-27 10:42 279次阅读
基于PWM的无人机精准变量喷洒系统方案设计

设计51单片机系统PCB时晶振紧挨着单片机的原因...

晶振是通过电激励来产生固定频率的机械振动,而振动又会产生电流反馈给电路,电路接到反馈后进行信号放大,...

发表于 2017-12-26 14:21 1506次阅读
设计51单片机系统PCB时晶振紧挨着单片机的原因...

想学好单片机设计,这些最常见的难题你都要解决

在初学51单片机的时候,总是伴随很多有关与晶振的问题,其实晶振就是如同人的心脏,是血液的是脉搏,把单...

发表于 2017-12-26 09:15 1716次阅读
想学好单片机设计,这些最常见的难题你都要解决

两种方法教你如何有效地利用51单片机产生PWM波

89C51芯片没有自带PWM发生器,如果要用51来产生PWM波就必须要用软件编程的方法来模拟。方法大...

发表于 2017-12-24 09:58 3912次阅读
两种方法教你如何有效地利用51单片机产生PWM波

基于UC3842的三路输出小功率开关电源设计

本文主要介绍了基于UC3842的三路输出小功率开关电源设计,以UC3842为PWM控制器,采用电阻,...

发表于 2017-12-22 17:06 794次阅读
基于UC3842的三路输出小功率开关电源设计

一种新型开关电源的PWM控制

本文主要介绍了一种新型开关电源的PWM控制的设计,SG3525是电流控制型PWM控制器,脉宽控制电路...

发表于 2017-12-22 15:56 754次阅读
一种新型开关电源的PWM控制

基于SG3525的单相桥式逆变器的设计与仿真

本文主要介绍了基于SG3525的单相桥式逆变器的设计与仿真,单相逆变器硬件回路由主电路、控制电路和驱...

发表于 2017-12-22 15:40 1902次阅读
基于SG3525的单相桥式逆变器的设计与仿真

一种基于SG3525A的PWM型开关稳压电源设计

本文主要介绍了一种基于SG3525A的PWM型开关稳压电源设计,分析了整流滤波电路、DC-DC变换器...

发表于 2017-12-22 10:46 580次阅读
一种基于SG3525A的PWM型开关稳压电源设计

一种基于SG3525的大功率开关电源的设计与实现

本文主要介绍了一种基于SG3525和SKYPER32PRO的大功率开关电源的设计与实现,SG3525...

发表于 2017-12-22 09:26 521次阅读
一种基于SG3525的大功率开关电源的设计与实现