标题:
51单片机输出spwm波脉宽周期可改变jd值调
[打印本页]
作者:
dur
时间:
2019-6-6 18:09
标题:
51单片机输出spwm波脉宽周期可改变jd值调
通过改变jd值来改变脉宽大小
单片机源程序如下:
#include <reg51.h>
#include <math.h>
unsigned int target=6;
sbit pwm=P3^7;
unsigned char count;
float jd;
void InitTimer0(void)
{
TMOD = 0x01;
TH0 = 0x0FF;
TL0 = 0x9C;
EA = 1;
ET0 = 1;
TR0 = 1;
}
float i;
void main(void)
{
InitTimer0();
while(1)
{
}
}
void Timer0Interrupt(void) interrupt 1
{
TH0 = 0x0FF;
TL0 = 0x9C;
count=(count+1);
count=count%100;
pwm = count<jd? 1:0;
if(count==0)
{
i++;
if(i==100) i=0;
if(i<50)
jd = (sin(i/50*3.1415926))*50;
else jd = -(sin(i/50*3.1415926))*50;
}
}
复制代码
所有资料51hei提供下载:
spwm.rar
(20.57 KB, 下载次数: 28)
2019-6-6 18:05 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1