
如何用C语言改变合泰单片机自带PWM的频率,如1KHZ,2KHZ,等等频率
1个回答
展开全部
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long
sbit Waveout1=P1^0;
sbit CF=P3^2;//调节频率
int num,a,f;
int Timer0_H,Timer0_L;
void Init()
{
num=0;
a=1000;
f=2;
Waveout1=0;
TMOD=0x02;
TH0=(uint)(256-(1000/(2*f)));
TL0=(uint)(256-(1000/(2*f)));
ET0=1;
EA=1;
TR0=1;
}
void main()
{
Init();
while(1)
{
if(CF==0)
{
f++;
TH0=(int)(256-(1000/(2*f)));
TL0=(int)(256-(1000/(2*f)));
while(CF==0);
}
if(num==a)
{
num=0;
Waveout1=~Waveout1;
}
}
}
void Timer0()interrupt 1
{
num++;
}
#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long
sbit Waveout1=P1^0;
sbit CF=P3^2;//调节频率
int num,a,f;
int Timer0_H,Timer0_L;
void Init()
{
num=0;
a=1000;
f=2;
Waveout1=0;
TMOD=0x02;
TH0=(uint)(256-(1000/(2*f)));
TL0=(uint)(256-(1000/(2*f)));
ET0=1;
EA=1;
TR0=1;
}
void main()
{
Init();
while(1)
{
if(CF==0)
{
f++;
TH0=(int)(256-(1000/(2*f)));
TL0=(int)(256-(1000/(2*f)));
while(CF==0);
}
if(num==a)
{
num=0;
Waveout1=~Waveout1;
}
}
}
void Timer0()interrupt 1
{
num++;
}
追问
有合泰单片机的程序看看吗?好像不同的单片机设置不同
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询