標題: C51單片機直流電機pwm調試程序 [打印本頁]
作者: niuguojun17 時間: 2018-12-10 16:55
標題: C51單片機直流電機pwm調試程序
#include<reg51.h>
sbitIN1=P1^0;
sbitIN2=P1^1;
sbitENA=P1^2;
voiddelay(unsigned int z);
voiddelay_us(unsigned int aa);
/******************主函數******************************/
voidmain()
{
while(1)
{
unsigned int i, cycle=0,T=2048;
IN1=1;//正轉
IN2=0;
for(i=0;i<200;i++)
{
delay(10);//PWM占空比為50%,修改延時調整PWM脈沖
ENA=~ENA;
}
IN1=0;//反轉
IN2=1;
for(i=0;i<100;i++)
{
delay(20);// PWM占空比為50%,修改延時調整PWM脈沖
ENA=~ENA;
IN1=1;//自動加速正轉
IN2=0;
while(cycle!=T)
{
ENA=1;
delay_us(cycle++);
ENA=0;
delay_us(T-cycle);
}
cycle=0;
IN1=0;//自動減速反轉
IN2=1;
while(cycle!=T)
{
ENA=1;
delay_us(cycle++);
ENA=0;
delay_us(T-cycle);
}
}
}
}
/*******************************Z秒延時函數*************************/
voiddelay(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/*******************************微秒延時**************************/
voiddelay_us(unsigned int aa)
{
while(aa--);
}
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |