久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2048|回復: 2
打印 上一主題 下一主題
收起左側

智能小車 超聲波紅外壁障 沒有合適的程序

[復制鏈接]
跳轉到指定樓層
樓主
小車由小白 做到現在 從L298N 到 單片機程序的考入  經歷了很多 也學習了很多   最好的就是小車開關打開后 能自己走了  可是紅外的程序 又不好用  是不是我應該一步步來  紅外和一起 弄是不是復雜 了   感覺自己進展的太慢了  有沒有 可以指明方向的 求解呀

IMG_20180825_104217.jpg (3.83 MB, 下載次數: 29)

點
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:386381 發表于 2018-8-26 01:16 來自觸屏版 | 只看該作者
既然紅外的不好用,那就試試433的或者315的遙控呢
回復

使用道具 舉報

板凳
ID:164602 發表于 2018-8-27 09:02 | 只看該作者
第一:單片機應用中,什么是合適的程序?能發揮硬件性能的程序,就是適合的。你不說你的配件,只要合適的程序是不可能有的。
第二:我有一個,你可以參考。/*
簡易小車。51單片機最小系統板,L298N帶動兩個電機,12V電機電源,L298N自帶5V邏輯電源,
供板子使用。
超聲波測距HC-SR04,用舵機SG90使它轉動探測。
目標:壁障;
*/
#include <reg51.h>
#include <intrins.h>

sbit ZLDJ10=P2^3;//直流電機的控制口
sbit ZLDJ11=P2^2;
sbit ZLDJ20=P2^1;
sbit ZLDJ21=P2^0;

sbit RX=P2^6;//超聲波測距HC-SR04數據口Echo
sbit TX=P2^5;//超聲波測距HC-SR04數據口Trig

sbit DJ=P2^7;//SG90舵機的數據口

bit flag=0;
unsigned int  time=0;
unsigned int  timer=0;
unsigned long S=0;
unsigned long SPD[5]={5000,5000,5000,5000,5000};

unsigned char GT,DT;

void Delay10ms(unsigned int c);
void Delay50us(unsigned int c);

void DJZD (void);
void SG90 (void);
void Conut(void);
void CSBCJ(void);

void main(void)
{
        TMOD=0x11;//設T0、T1為方式1,GATE=0;
        TH0=0;
        TL0=0;         
        TH1=0xf8;
        TL1=0x30;
        ET0=1;
        ET1=1;
        EA=1;
        TR1=1;

        GT=30;DT=350;DJ=0;
        DJZD();

        TC();

        RX=1;
        TX=0;
        Delay10ms(500);
        RX=0;
        while(1)
        {
                CSBCJ();
                SPD[2]=S;
                if((S>=2500)||flag==1)
                {         
                        KZXCYD();
                }
                if (S<=2500)
                {
                        ZL();
                }
        }
}

void Conut(void)
{
        time=TH0*256+TL0;
        TH0=0;
        TL0=0;
        S= (long)(time*0.17);
}

void zd1() interrupt 1
{                                       
        flag=1;
}

void  zd3()  interrupt 3
{
        TH1=0xf8;
        TL1=0x30;
        timer++;
        if(timer>=100)
        {
                timer=0;
                TX=1;
                _nop_();
                _nop_();
                _nop_();
                _nop_();
                _nop_();
                _nop_();
                _nop_();
                _nop_();
                _nop_();
                _nop_();
                _nop_();
                _nop_();
                _nop_();
                _nop_();
                _nop_();
                TX=0;
        }
}

void CSBCJ(void)
{  
        while(!RX);
        TR0=1;
        while(RX);
        TR0=0;
        Conut();
}

void SG90(void)
{
        flag=0;
        GT=10;DT=390;DJZD ();
        CSBCJ();
        if ((flag==0)&&(S<=2500))
        {
                SPD[0]=S;
        }
        else
        {
                SPD[0]=5000;
        }
        flag=0;
        GT=20;DT=380;DJZD ();
        CSBCJ();
        if ((flag==0)&&(S<=2500))
        {
                SPD[1]=S;
        }
        else
        {
                SPD[1]=5000;
        }
        flag=0;
        GT=30;DT=370;DJZD ();
        CSBCJ();
        if ((flag==0)&&(S<=2500))
        {
                SPD[2]=S;
        }
        else
        {
                SPD[2]=5000;
        }
        flag=0;
        GT=40;DT=360;DJZD ();
        CSBCJ();
        if ((flag==0)&&(S<=2500))
        {
                SPD[3]=S;
        }
        else
        {
                SPD[3]=5000;
        }
        flag=0;
        GT=50;DT=350;DJZD ();
        CSBCJ();
        if ((flag==0)&&(S<=2500))
        {
                SPD[4]=S;
        }
        else
        {
                SPD[4]=5000;
        }
        flag=0;
        GT=10;DT=390;DJZD ();
        CSBCJ();
        if ((flag==0)&&(S<=2500))
        {
                SPD[0]=S;
        }
        else
        {
                SPD[0]=5000;
        }
        flag=0;
        GT=20;DT=380;DJZD ();
        CSBCJ();
        if ((flag==0)&&(S<=2500))
        {
                SPD[1]=S;
        }
        else
        {
                SPD[1]=5000;
        }
        flag=0;
        GT=30;DT=370;DJZD ();
        CSBCJ();
        if ((flag==0)&&(S<=2500))
        {
                SPD[2]=S;
        }
        else
        {
                SPD[2]=5000;
        }
        flag=0;
        GT=30;DT=370;DJZD ();
        Delay10ms(5);
}

void DJZD (void)
{
        unsigned char i;
        for (i=0;i<75;i++)
        {
                DJ=1;
                Delay50us(GT);
                DJ=0;                  
                Delay50us(DT);
        }
        DJ=0;
}

void Delay10ms(unsigned int c)
{
    unsigned char a,b;
    for(c;c>0;c--)
    {
                for(b=44;b>0;b--)
                {
                        for (a=112;a>0;a--)
                        {
                        }
                }
        }
}

void Delay50us(unsigned int c)
{
    unsigned char a;
    for(c;c>0;c--)
        {
                for (a=19;a>0;a--)
                {
                }
        }
}



1.jpg (35.91 KB, 下載次數: 16)

1.jpg

2.jpg (28.83 KB, 下載次數: 16)

2.jpg

51最小系統.pdf

298.58 KB, 下載次數: 3

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日日操操 | 国内精品免费久久久久软件老师 | 99pao成人国产永久免费视频 | 国产成人网 | 中文字幕在线观看一区二区 | av网站免费在线观看 | 日韩av在线中文字幕 | 亚洲激情在线视频 | 久草在线高清 | 国产精品久久欧美久久一区 | 三级黄色片在线观看 | 男人天堂99 | 巨大黑人极品videos精品 | 午夜在线 | 亚洲成网 | av国产精品| 艹逼网| 美女三区| 亚洲一av| 中文字幕亚洲视频 | 国产精品久久久久无码av | 黄视频网站在线 | 欧美日韩在线观看一区 | 草久久| 91社区在线观看播放 | 精品一区二区在线观看 | av大片 | 国产一级片在线观看视频 | julia中文字幕久久一区二区 | 在线欧美一区二区 | 免费成人高清 | 日韩免费在线 | 国产日韩欧美另类 | 国产福利91精品一区二区三区 | 两性午夜视频 | 成人av播放 | 羞羞视频在线免费 | 亚洲国产精品一区二区三区 | 亚洲久草视频 | 午夜精品一区二区三区在线 | 中文字幕亚洲免费 |