• 大小: 69.61MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2022-05-26
  • 语言: 其他
  • 标签: 单片机  毕设  程序  

资源简介

基于51单片机的智能小车避障 该项目包括原理图电路图 程序源码 演示视频讲解文档全套资料 三分拿去 超值了

资源截图

代码片段和文件信息

/*****************ZYDJ-CSB09A舵机控制*****************
*  平台:ZYDJ-CSB09A舵机控制 + Keil U4 + STC89C52
*  程序名称:超声波避障程序+舵机转向摇头
*  公司:湖南智宇科教设备有限公司
*  淘宝:http://tmmcu1688.taobao.com       
*  网站:www.china-zhiyu.com
*  编写:智宇公司研发一部
*  日期:2015-1-15
*  交流:智能车QQ:1018973181 
*  晶振:11.0592MHZ
*  售后技术说明:免费开源,不支持客户自己修改程序分析与改正,可以提供我公司程序说明
*  视频教程:本小车配套学习C语言详细视频教程,资料统一网盘下载
******************************************************************/

/* 程序名:左右扫描哪一边没有障碍往哪边走两边有退后转大转断续走
  angle=12  舵机 居中    angle=9  刚好右边   angle=16  刚好左边

  调试舵机剧中的方法:插入电源,主板工作时,舵机刚好是居中的
  ,此时,将舵机底板装入白色舵机齿轮上面,用螺丝搞紧就可以了。

/* 晶振:11.00592 MHz CPU型号:STC89C52 */
/*****************************************************************/ 
#include 
#include 
#define uchar unsigned char
#define uint  unsigned int

sbit TRIG=P1^6;
sbit ECHO=P1^7;

sbit pwm=P1^6;//PWM信号输出口

sbit in1=P1^0;
sbit in2=P1^1;
sbit in3=P1^2;
sbit in4=P1^3;

uchar ncountangleleftright;//距离标志位,0.5ms次数,角度标识
float S;//距离变量

void DelayUs2x(uchar t)
{   
while(--t);
}
void DelayMs(uchar t)
{
while(t--)
{
    //大致延时1mS
DelayUs2x(245);
    DelayUs2x(245);
}
}

void go()//前进
{
in1=1;
in2=0;
in3=1;
in4=0;
}

void back()//后退
{
in1=0;
in2=1;
in3=0;
in4=1;
}

void turnleft()//左转
{
in1=0;
in2=1;
in3=1;
in4=0;
}

void turnright()//右转
{
in1=1;
in2=0;
in3=0;
in4=1;
}

void stop()//停车
{
in1=0;
in2=0;
in3=0;
in4=0;
}

/*------------------------------------------------
                    定时器01初始化
------------------------------------------------*/
void TIM0init(void)
{
TMOD|=0x11;//定时器1工作方式1 (超声波),定时器0舵机
TH1=0x00;    
    TL1=0x00;
    TH0=0xff;
    TL0=0xa3;//11.0592MHz晶振,0.5ms
    ET1=1;
    ET0=1;
    EA=1;
    TR0=1;//定时器开始
    IE=0x82;
}
void chaoshengbo()
{
TRIG=1;//触发信号是高电平脉冲,宽度大于10us
    DelayUs2x(10);
    TRIG=0;
    while(!ECHO);//等待高电平
    TR1=1;
    while(ECHO);//等待低电平
    TR1=0;
    S=TH1*256+TL1;//取出定时器值高8位和低8位合并
    S=S/58;       //为什么除以58等于厘米,  Y米=(X秒*344)/2
                  // X秒=( 2*Y米)/344 -> X秒=0.0058*Y米 -> 厘米=微秒/58 
    if(S>=25)
    {n=1;}
    if(S<25)
    {n=0;}

    TH1=0;
    TL1=0;//清除定时器0寄存器中的值
}
/*------------------------------------------------
                    主函数
------------------------------------------------*/
main()
{
angle=12;//舵机居中
    count=0;
    TIM0init();//初始化定时器
    while(1)
    {          
chaoshengbo();
        DelayMs(20);
        if(n==1)//如果大于一定距离
        {go();}//前进
        
if(n==0)//如果小于一定距离
        {
stop();//停车
DelayMs(3000);
back();
DelayMs(2000);
turnleft();
DelayMs(2000);
turnright();
DelayMs(2000);
stop();
DelayMs(2000);
go();



            

}        
}
}

/*------------------------------------------------
                 定时器中断子程序
------------------------------------------------*/
void Time0_0(v

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       32282  2018-05-02 10:56  原理图.rar
     目录           0  2018-10-10 18:51  成品\
     目录           0  2018-04-29 13:02  成品\70241资料整理\
     文件      204288  2018-04-29 12:28  成品\70241资料整理\70241.SchDoc
     文件       82022  2018-04-29 12:28  成品\70241资料整理\70241.SchDocPreview
     文件     1275153  2018-04-27 16:37  成品\70241资料整理\70241论文(修改).doc
     文件     4053563  2018-04-29 12:44  成品\70241资料整理\IMG20180429121841.jpg
     目录           0  2018-04-29 12:36  成品\70241资料整理\超声波避障程序\
     目录           0  2018-04-29 12:36  成品\70241资料整理\超声波避障程序\hex\
     文件        8067  2018-04-29 12:36  成品\70241资料整理\超声波避障程序\hex\超声波避障(舵机摇头)
     文件        2320  2018-04-29 12:36  成品\70241资料整理\超声波避障程序\hex\超声波避障(舵机摇头).hex
     文件         120  2018-04-29 12:36  成品\70241资料整理\超声波避障程序\hex\超声波避障(舵机摇头).lnp
     文件        8741  2018-04-29 12:36  成品\70241资料整理\超声波避障程序\hex\超声波避障(舵机摇头).obj
     文件        8842  2018-04-29 11:00  成品\70241资料整理\超声波避障程序\超声波避障(舵机摇头)
     文件        3751  2018-04-29 12:36  成品\70241资料整理\超声波避障程序\超声波避障(舵机摇头).c
     文件        2521  2018-04-29 11:00  成品\70241资料整理\超声波避障程序\超声波避障(舵机摇头).hex
     文件        7742  2018-04-29 12:36  成品\70241资料整理\超声波避障程序\超声波避障(舵机摇头).LST
     文件       12062  2018-04-29 12:36  成品\70241资料整理\超声波避障程序\超声波避障(舵机摇头).M51
     文件        9775  2018-04-29 11:00  成品\70241资料整理\超声波避障程序\超声波避障(舵机摇头).OBJ
     文件         248  2015-06-30 22:16  成品\70241资料整理\超声波避障程序\超声波避障(舵机摇头).plg
     文件       71178  2018-04-29 12:36  成品\70241资料整理\超声波避障程序\超声波避障(舵机摇头).uvgui.Administrator
     文件       71177  2018-04-29 12:29  成品\70241资料整理\超声波避障程序\超声波避障(舵机摇头).uvgui_Administrator.bak
     文件        5086  2018-04-29 12:36  成品\70241资料整理\超声波避障程序\超声波避障(舵机摇头).uvopt
     文件        5087  2018-04-29 12:19  成品\70241资料整理\超声波避障程序\超声波避障(舵机摇头)_uvopt.bak
     文件       13454  2018-04-28 21:32  成品\70241资料整理\超声波避障程序\超声波避障(舵机摇头)_uvproj.bak
     目录           0  2018-10-10 18:51  视频\
     文件    72212947  2018-05-25 18:52  视频\70241(20180525晚录制).wmv
     目录           0  2018-10-10 18:52  需求\
     文件       80384  2018-04-12 22:12  需求\70241.doc

评论

共有 条评论