标题:
关于LM298直流电机测试单片机源码
[打印本页]
作者:
木木没有大
时间:
2017-9-25 10:07
标题:
关于LM298直流电机测试单片机源码
单片机源程序如下:
//**************************************************************************//
// 程序名称:直流电机测试程序
// 功能描述:直流电机正转2秒,反转2秒,自动加速正转,自动减速反转,依次循环
// 单片机: AT89S52,外接12M晶振
// 硬件连接:P1.0----IN1
// P1.1----IN2
// P1.2----ENA
// 直流电机两端分别接OUT1和OUT2,
// 电机驱动电压根据所接电机而定,驱动板芯片逻辑电压为+5V
//**************************************************************************//
#include<reg52.h>
sbit IN1=P1^0;
sbit IN2=P1^1;
sbit ENA=P1^2;
void delay(unsigned int z);
void delay_us(unsigned int aa);
/*******************主函数**************************/
void main()
{
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);
}
IN1=0; //自动减速反转
IN2=1;
while(cycle!=T)
{ ENA=1;
delay_us(cycle++);
ENA=0;
delay_us(T-cycle);
}
}
}
/******************z秒延时函数*************************/
void delay(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/****************微妙延时******************************/
void delay_us(unsigned int aa)
{
while(aa--);
}
复制代码
所有资料51hei提供下载:
直流电机测试程序.rar
(19.69 KB, 下载次数: 27)
2017-9-25 10:06 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
鬼推磨
时间:
2019-11-12 12:11
sbit ENA=P1^2;外面接那里?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1