标题:
舵机51单片机控制转向源代码 智能小车循迹(舵机版)
[打印本页]
作者:
鹏鹏哥哥
时间:
2017-4-30 09:34
标题:
舵机51单片机控制转向源代码 智能小车循迹(舵机版)
舵机控制实例
#include<reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
void scan();
void init_time0();
void Direction(uchar jd);
void DELAY(uint xms);
void pwm_ENA(uchar k);
sbit l_1=P1^0;
sbit l_2=P1^1;
sbit l_3=P1^2;
sbit cen=P1^3;
sbit r_1=P1^6;
sbit r_2=P1^5;
sbit r_3=P1^4;
sbit duoji=P2^7;
sbit pwm1=P2^0;
sbit pwm2=P2^1;
uchar count,cycle,jd;
uchar flag=0;
void main()
{
DELAY(3000);
P1=0x00;
cycle=0;
count=0;
jd=12;
init_time0();
while(1)
{
scan();
}
}
void scan()
{
if(cen==0)
{
//中
flag=0;
}
else if(r_1==0)
//右 1
{
}
flag=1;
else if(r_2==0)
//右 2
{
flag=2;
}
else if(r_3==0)
//右 3 P14
{
flag=3;
}
else if(l_1==0)
//左 1
{
flag=4;
}
else if(l_2==0)
//左 2
P11
{
flag=5;
}
{
else if(l_3==0)
flag=6;
//左 3 P12
}
switch(flag)
{
case
0:
{Direction(12);pwm_ENA(5);break;}
//
P13
P15
case 1: {Direction(15);pwm_ENA(3);break;} // delay(1);;pwm_ENA1(1)
P16
case 2: {Direction(14);pwm_ENA(3);break;}
//
case 3: {Direction(13);pwm_ENA(4);break;}
//run()run()
P14
P10
case 4: {Direction(9);pwm_ENA(3);break;} // delay(1)
pwm_ENA1(1);
case 5: {Direction(10);pwm_ENA(3);break;}
//
P11
case 6: {Direction(11);pwm_ENA(4);break;}
//
run()
P12
}
}
void init_time0()
{
TMOD=0x01;
//定时器方式 1
//定时 0.1ms
TH0=(65536-100)/256;
TL0=(65536-100)%256;
IE=0x82;
TR0=1;
}
void Dreaction(uchar jd)
{
if(cycle<jd)
//判断 0.05ms 次数是否小于角度标识
//确定小于, duoji 输出高电平
duoji=1;
else
duoji=0;
//大于则输出低电平
}
void DELAY(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=125;j>0;j--);
}
void pwm_ENA(uchar k)
{
if(count<=k)
{
pwm1=0;
}
else if(count>k&&count<13)
{
pwm1=1;
}
else if(count==13)
count=0;
}
void Time0_ISP(void) interrupt 1
{
//定时器中断
cycle+=1;
//0.1ms 次数加 1
//次数始终保持为 200 即保持周期为 20ms
cycle=cycle%200;
}
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
完整代码下载:
智能小车循迹(舵机版).rar
(2.42 MB, 下载次数: 37)
2017-4-30 18:49 上传
点击文件名下载附件
控制转向
下载积分: 黑币 -5
作者:
小润龙
时间:
2017-11-10 23:16
运行程序有错误啊,由10多个,下载下的程序也不可以用,楼主,你可以发一下源码吗???.c文件可以吗??
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1