- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
智能搬运小车C语言程序(完整)
智能搬运小车C语言程序(完整)
智能搬运小车希望能够希望得到可以自动抓取货物,循迹行进,自动卸货物的功能。
#includereg52.h
unsigned char zkb1=0 ; //左边电机的占空比,最大100
unsigned char zkb2=0 ; //右边电机的占空比,最大100
unsigned char t,t1=0; //定时器中断计数器
char jd1=2,jd2=4,jd3=3; //舵机角度控制
unsigned char ftaiqi=0,fjiaqu=0; //是否已经取物,抬起夹子?
sbit RSIGN1=P2^0; //左边信号1
sbit RSIGN2=P2^1; //左边信号2
sbit LSIGN1=P2^2; //右边信号1
sbit LSIGN2=P2^3; //右边信号2
sbit IN1=P0^0;
sbit IN2=P0^1;
sbit IN3=P0^2;
sbit IN4=P0^3;
sbit PWM1=P0^4; //左直流减速电机
sbit PWM2=P0^5; //右直流减速电机
sbit duoji1=P1^5; //左舵机
sbit duoji2=P1^6; //右舵机
sbit duoji3=P1^7; //上下舵机
void xunji();
void delay(int z) //延时函数//1ms
{
int j,k;
for(j=z;j0;j--)
for(k=125;k0;k--);
}
//初始化定时器,中断
void time_init() //O.1ms,0.5ms
{
TMOD=0x11;
TH0=(65536-7100)/256;
TL0=(65536-7100)%256;
TH1=(65536-500)/256;
TL1=(65536-500)%256;
EA=1;
ET0=1;
ET1=1;
TR0=1;
TR1=1;
}
void timer0() interrupt 1
{
TH0=(65536-7100)/256;
TL0=(65536-7100)%256;
if(tzkb1)
PWM1=1;
else
PWM1=0;
if(tzkb2)
PWM2=1;
else
PWM2=0;
t++;
if(t=100)
t=0;
}
void timer1() interrupt 3
{
TH1=(65536-500)/256;
TL1=(65536-500)%256;
if(t1jd1)
duoji1=1;
else
duoji1=0;
if(t1jd2)
duoji2=1;
else
duoji2=0;
if(t1jd3)
duoji3=1;
else
duoji3=0;
t1++;
if(t1==40)
t1=0;
}
void qianjinfangxiang() //前进方向
{
IN1=1;
IN2=0;
IN3=1;
IN4=0;
}
void houtuifangxiang() //后退方向
{
IN1=0;
IN2=1;
IN3=0;
IN4=1;
}
void qianjin() //直行
{
zkb1=40;
zkb2=40;
}
void turn_left1()//小左转函数
{
zkb1=10;
zkb2=40;
}
void turn_left2()//大左转函数
{
zkb1=0;
zkb2=50;
}
void turn_right1()//小右转函数
{
zkb1=40;
zkb2=10;
}
void turn_right2()//大右转函数
{
zkb1=50;
zkb2=0;
}
void jiaqu() //夹取货物
{
fjiaqu=1;
jd1=4;
jd2=2;
delay(400);
}
void songkai() //松开货物
{
jd1=2;
jd2=4;
delay(400);
fjiaqu=0;
}
void taiqi() //抬起货物
{
ftaiqi=1;
jd3=5;
dela
文档评论(0)