正在做AT89S52的PWM调速,应磨咐该是一样的
#include
#define uchar unsigned char
sbit zz=P1^0;
sbit fz=P1^1;
sbit K1=P3^2;
sbit K2=P3^3;
uchar PWM,a=0;
void main()
{
TMOD=0X01;
TH0=0XFF;
TL0=0XF6;
TR0=1;
ET0=1;
EA=1;
PWM=40;
zz=1;
fz=1;
while(1)
{
if(!K1)
{
PWM+=10;
}
if(!K2)
{
PWM-=10;
}
if(PWM>瞎坦纯=100)
PWM=1;
if(PWM<=0)
PWM=99;
}
}
void timer0() interrupt 1
{
TH0=0XFF;
TL0=0XF6;
a++;
if(a>信旦=100)
a=0;
if(a<=PWM)
{
zz=0;
}
else
{
zz=1;
}
}
AT89C51 要用定时器软件模拟PWM。你可以使用STC的51单片机,内置PWM功能。
PWM你可以自己通过程序产生一个,然后输出给直流电机
规划