一种爬楼机器人 - 图文(8)

2019-03-09 22:05

一种爬梯机械人的设计

图4.5 机器人爬楼主程序流程图

32

一种爬梯机械人的设计

C8051单片机采用 Silicon Laboratories IDE用C语言编写程序。C51程序结构与一般C语言相似,一个C51程序大体上是一个函数定义的集合[22],在这个集合中有且仅有一个名为main的函数(主函数)。主函数是程序的入口,主函数中的所有语句执行完毕,则程序执行结束。

使用C语言编程,程序员不必十分熟悉处理器的运算过程。这意味着对新的处理器也能很快上手,不必知道处理器的具体内部结构,使得采用C语言编写的程序比采用汇编程序有更好的可移植性。很多处理器都支持C编译器。

所有这些并不说明汇编语言就没了立足之地,很多系统,特别是实时时钟系统都是用C语言和汇编语言联合编程。当系统对时钟要求很严格时,采用汇编语言成了唯一的方法。C语言的特点就是,可以尽量少地对硬件进行操作,是一种功能性和结构性很强的语言。

用C语言编写的程序具有很好的结构性和模块化[23],容易阅读和维护,而且有很好的可移植性。功能化的代码能够很方便的从一个工程移植到另一个工程,从而减少了开发时间。假设在结构环境下面,红外距离传感器测到前方有障碍,红外高度传感器测得高度超过越障限度,则机器人继续前进,转向电机工作小车转向,另择它路;若高度在爬行范围内,则小车轮锁轴器工作锁紧小车轴和管轴,三星轮开始翻滚前进,行进过程中,陀螺仪开始工作,如果两个关键参数θ和q超过了规定值,则转向电机工作,调整好机器人小车姿态;若高度传感器测得高度在越障范围内,可以小车轮驱动电机直接驱动越过小障碍物[24]。爬楼机器人主程序流程图如4.5所示。

(1)电机驱动程序 void goahead() { s1=1; s2 =0; s3=1;

s4 =0;//驱动直流电机正向运转 }

Void goback() { s1=0 ;

33

一种爬梯机械人的设计

s2 =1; s3=0;

s4=1; //驱动直流电机反向运转 }

void turnleft ( ) { s3=1;

s4=0;//驱动驱动直流电机运转 }

void turnright ( ) { s1=1;

s2=0;//驱动转向直流电机运转 }

void stop () {

en1=0;//禁止使能右转 en2=0;//禁止使能左转 }

(2)避障程序 void bizhang() {

en1=1;//使能右转 en 2=1 ; //使能左转

goback () ; //遇到障碍车子倒退 mi d_red=0 ; //点亮中间的红色二极管baojing () ; //产生报警信号 goback () ; //车子倒退 for (i =0; i <8 ;i++) {

34

一种爬梯机械人的设计

en1=1 ; //使能右转 en2=1; //使能左转 delay(150); //延迟150ms en1=0 ; //禁止使能 en2=0 ; //禁止使能 delay(50); //延迟50ms }

sto p();//停止 delay(10); //延迟10ms turnleft () ; //向左行驶 for (i =0;i <11;i++) {

en1=0;//禁止使能 en2=1;//使能

delay(130);//延迟130ms en2=0;//禁止使能 delay(50);//延迟50ms } stop(); delay(10);

goahead ();//继续向前行走for (i =0;i <22;i++) {en1=1; en2=1; delay(130); en1=0; en2=0; delay(50); } stop();

35

一种爬梯机械人的设计

delay(10); turnright (); for (i =0;i<18;i++) { en1=1; en2=0; delay(130); en1=0 ; delay(50); }

xun:if ( (left_red= =1) &(right_red= =0))//遇到右边有障碍物 {

loop:turnleft ();//向左转 en1=0; en2=1; delay(30);

turnright ();//当左转道一定程度时,需向右转回到正轨上 en1=1; delay(50); en1=0; delay(50); en2=0; delay(50);

if ( (left_red= =1) & (right_ red= =1))//正前方有障碍物,车子应向后退 {

en1=1 ; //使能右转 en2=1; //使能左转 delay(150); //延迟150ms goback () ; //返回 }

36


一种爬楼机器人 - 图文(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国未来国运如何 深度分析 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: