新手上路
- 积分
- 46
- 金钱
- 46
- 注册时间
- 2017-7-28
- 在线时间
- 4 小时
|
发表于 2017-7-30 17:43:30
|
显示全部楼层
使能端跟控制口不一样,使能端相当于一个总开关,只有当使能端是高电平时才能控制电机,在不拔开使能端的跳线帽的时候,使能端外接高电平,拔开以后需要连接io口人为给高给低。
控制口可以看一下H桥电路。
如果使能端接io口 那么直接对使能端输出pwm即可,如果只连两个控制端口,对输出高电平的那个输出pwm,输出低电平的直接拉低即可。
没有32的程序,给你51的借鉴一下
#include<reg52.h>
unsigned char x = 2; //x为pwm波的占空比
unsigned char a = 0; //控制pwm波的频率(周期)
sbit OUT1 = P0^0; //P00 P01控制电机正反转
sbit OUT2 = P0^1;
sbit speed = P0^2; //P02控制电机速度
/*******************************************
函数功能:主函数
******************************************/
int main(void)
{
OUT1 = 1;
OUT2 = 0;
EA = 1; //开启总中断
ET0 = 1; //开启定时器0
TMOD= 0x01; //使用定时器T0的模式1
TH0 = (65536-921)/256;//定时器T0的高8位赋初值
TL0 = (65536-921)%256;//定时器T0的高8位赋初值
TR0 = 1;
while(1)
{
if( a < x )
{
speed = 1;
}
else
{
speed = 0;
}
}
return 0;
}
void timer0(void) interrupt 1
{
a++;
if ( a==10 ) //10ms
{
a=0;
}
TH0=(65536-921)/256; //定时器T0的高8位重新赋初值
TL0=(65536-921)%256; //定时器T0的高8位重新赋初值
}
这个程序是接三个口的 |
|