基于51单片机的避障小车程序_第1页
基于51单片机的避障小车程序_第2页
基于51单片机的避障小车程序_第3页
基于51单片机的避障小车程序_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上基于51单片机的避障小车程序程序中有我写的注释,看不懂程序的话,可以参考。#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit IN1=P21;/左电机输入端1sbit IN2=P22;/左电机输入端2sbit IN3=P23;/右电机输入端1sbit IN4=P24;/右电机输入端2sbit ENA=P20;/右电机使能控制端sbit ENB=P25;/左电机使能控制端sbit TX=P10; /超声波发送控制端

2、sbit RX=P11; /超声波接收控制端uint time=0,ERROR;/用于存放定时器时间值uint PWM1,PWM2,num1=0,num2=0;uint s=0;/用于存放距离的值 uchar tt=0;void Delay20us()/11.0592MHz 延时20usunsigned char i;_nop_();_nop_();_nop_();i = 52;while (-i);void forwardg() /前进函数 IN1=1; IN2=0; IN3=1; IN4=0; PWM1=15; PWM2=18;void stopg()/停止函数 IN1=1; IN2=1;

3、 IN3=1; IN4=1; PWM1=0; PWM2=0;void count() /测距函数tt=200;if(tt=200) /20ms超声波发送一次tt=0;TX=1; /超声波发送端Delay20us(); /延时20usTX=0; /超声波发送端ERROR=50000; /while(RX=0&&ERROR>0)/判断是否有接收&&等待时常ERROR-; /等待时长if(RX=1) /超声波有接收RX=1TR0=1; /开始计时while(RX&&!TF0);/接收完毕(RX=0)或者超出量程结束语句TR0=0; /停止计时if

4、(TF0=1) /如果溢出(超出量程)TF0=0; /置溢出标志位为0s=999;/直行控制elsetime=TH0*256+TL0;TH0=0; TL0=0;s=(time*1.7)/100; /距离计算公式elses=999; void time0init() /定时器0初始化TMOD|=0x01; /设置定时器0为工作方式1TH0=0;TL0=0; /定时器赋初值void time1init() /定时器1初始化ET1=1; /开定时器中断TR1=1; /开定时器1中断TH1=0xFF; /定时器赋初值TL1=0xA3;TMOD|=0x10; /设置定时器1为工作方式1void time1() interrupt 3 /定时计数器1中断TH1=0xFF;TL1=0xA3; /赋初值tt+;num1+;num2+;if(num1>=100) /PWM的周期为100*0.1=10msnum1=0;if(num2>=100)num2=0;if(num1<PWM1)ENA=1; /打开右电机使能控制端if(num2<PWM2)ENB=1;if(num1>=PWM1)ENA=0; /关闭右电机使能控制端if(num2>=PWM2)ENB=0;void main()time0init();time1init();EA=1; /开总中断while(1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论