云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 西北农林科技大学智能小车实习总结(完整版) - 图文

西北农林科技大学智能小车实习总结(完整版) - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 16:32:03

③安装电机驱动、联轴器。注意联轴器的顶丝要装上。

④安欧装轮胎、牛眼,把一根30mm和两根8mm的铜柱拼接起来,两条铜柱要平行,固定牛眼的螺母安装在驱动的下方。

⑤安装光电开关、寻迹传感器。注意两侧安装光电开关的安装角度;注意调整寻迹传感器的安装角,适合寻线的宽度。然后插上线,注意区分Vcc、GND、OUT三根线不要弄混。最后接上电机电源。安装好的步进电机小车如图3-7所示。

图3-7 安装好的步进电机小车实物图

3.3.2步进电机小车的“T”字形行走任务实现 ①步进电机小车的“T”字形行走程序如下:

#include \定义头文件

#include \#include #include

#define uchar unsigned char #define uint unsigned int sbit en_left = P1^0;

- 38 -

sbit cw_left = P1^1; sbit clk_left = P1^2; sbit en_right = P1^3; sbit cw_right = P1^4; sbit clk_right = P1^5; void timer_init(); void

move_left(uint

speed_l,uchar cw,uchar en);

void move_right(uint {en_left=1;} else {en_left=0;} } void

函数

{

speed=speed_r; if(cw==1) {cw_right=1;} else

{cw_right=0;} if(en==1) {en_right=1;} else

{en_right=0;} }

void main (void)//“T”字形行

走主程序

{

delay(10); timer1_init(); while(1)

move_right(uint

speed_r,uchar cw,uchar en);

void delay(unsigned int k); void stop(); uint n; uint speed; 延时函数

{

unsigned int i,j; for(i=0;i

void timer1_init()//中断服务子函数

{

TMOD=0x10; ET1=1; EA=1;

TH1=(65536-100)/256; TL1=(65536-100)%6; TR1=1; } void 函数

{

speed=speed_l; if(cw==1) {cw_left=1;} else

{cw_left=0;} if(en==1)

- 39 -

void delay(unsigned int k)//speed_r,uchar cw,uchar en)//右转子

{;}}

move_left(uint 4s

{

2s

move_right(20,0,1); delay(2000);

move_left(20,1,1);//左转move_left(20,0,1);//前进move_right(20,1,1); delay(4000);

move_left(20,1,1);//后退

speed_l,uchar cw,uchar en)//左转子

0.9s

5s

} }

void stop() {TR1=0;} “T”字形行走。

move_right(20,1,1); delay(5000); stop();//停止 move_right(20,1,1); delay(900);

move_left(20,0,1);//直行

void timer1_serve() interrupt

3//中断定时复位程序

{

TH1=(65536-100)/256; TL1=(65536-100)%6; n=n+1; if(n==speed) { } }

clk_left=~clk_left; clk_right=~clk_right; n=0;

②程序解释:小车先前进4秒,再后退2秒,左转前进4秒后停止,完成 3.3.3步进电机小车的遥控控制任务实现 ①步进电机小车的遥控控制程序如下:

#include \#include \#include #include

#define uchar unsigned char #define uint unsigned int sbit en_left = P1^0; sbit cw_left = P1^1; sbit clk_left = P1^2; sbit en_right = P1^3; sbit cw_right = P1^4; sbit clk_right = P1^5; sbit B_key=P2^0; sbit D_key=P2^1; sbit A_key=P2^2;

sbit C_key=P2^6;//接口定义 void timer_init(); void

speed_l,uchar cw,uchar en);

void

move_right(uint

speed_r,uchar cw,uchar en);

void delay(unsigned int k); uint n; uint speed;

void delay(unsigned int k)//

时间延时

{ }

void timer1_init()//定时中断

初始化

{

TMOD=0x10;

- 40 -

unsigned int i,j; for(i=0;i

{;}}

move_left(uint }

ET1=1; EA=1;

TH1=(65536-100)/256; TL1=(65536-100)%6; TR1=1;

}

void main (void)//主函数 {

move_left(uint

delay(10);//延时 timer1_init(); while(1)//等待中断 {

void

义子函数

{ } void

义子函数

{

speed_l,uchar cw,uchar en)//左转定

if(A_key==1&&B_key==0&&C_key==0&&D_key==0)//设置按键A为前进

speed=speed_l; if(cw==1) {cw_left=1;} else

{cw_left=0;} if(en==1) {en_left=1;} else

{en_left=0;}

} else {

EA=1;

move_left(20,0,1); move_right(20,1,1);

if(A_key==0&&B_key==1&&C_key==0&&D_key==0) 设置按键B为右转

move_right(uint

{

EA=1;

speed_r,uchar cw,uchar en)//右转定

move_left(20,0,1);

move_right(20,0,1);

} else

speed=speed_r; if(cw==1) {cw_right=1;} else

{cw_right=0;} if(en==1) {en_right=1;} else

{en_right=0;}

- 41 -

if(A_key==0&&B_key==0&&C_key==1&&D_key==0) 设置按键C为左转

{

EA=1;

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

③安装电机驱动、联轴器。注意联轴器的顶丝要装上。 ④安欧装轮胎、牛眼,把一根30mm和两根8mm的铜柱拼接起来,两条铜柱要平行,固定牛眼的螺母安装在驱动的下方。 ⑤安装光电开关、寻迹传感器。注意两侧安装光电开关的安装角度;注意调整寻迹传感器的安装角,适合寻线的宽度。然后插上线,注意区分Vcc、GND、OUT三根线不要弄混。最后接上电机电源。安装好的步进电机小车如图3-7所示。 图3-7 安装好的步进电机小车实物图 3.3.2步进电机小车的“T”字形行走任务实现 ①步进电机小车的“T”字形行走程序如下: #include \定义头文件 #include \#include #include #defi

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com