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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1988|回復: 2
收起左側

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

[復制鏈接]
ID:389862 發表于 2018-8-25 10:48 | 顯示全部樓層 |閱讀模式
小車由小白 做到現在 從L298N 到 單片機程序的考入  經歷了很多 也學習了很多   最好的就是小車開關打開后 能自己走了  可是紅外的程序 又不好用  是不是我應該一步步來  紅外和一起 弄是不是復雜 了   感覺自己進展的太慢了  有沒有 可以指明方向的 求解呀

點
回復

使用道具 舉報

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
2.jpg

51最小系統.pdf

298.58 KB, 下載次數: 3

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品日韩一区二区 | 欧美午夜在线 | 中文字幕一区二区三区不卡在线 | 亚洲一区二区在线 | 国产精品免费大片 | 在线免费看91 | 在线视频91 | 精品久久久久久国产 | 亚洲一区二区三区视频 | 中文在线一区二区 | 国产小视频在线看 | 欧美视频中文字幕 | 国产高清不卡 | 中文字幕1区2区 | aaa大片免费观看 | 欧美一级二级视频 | 久久精品中文字幕 | 日韩一区精品 | 蜜臀网站 | 亚洲精品成人在线 | 九九精品影院 | 午夜影院在线观看 | 97精品超碰一区二区三区 | 搞黄视频免费看 | 国产精品久久久久aaaa九色 | 91av在线免费播放 | 国产一区二区三区 | 尹人av| 中文字幕97| 久久久久亚洲av毛片大全 | 日韩精品久久一区二区三区 | 精品一区二区三区免费毛片 | 狠狠涩| 天天操天天干天天透 | 亚洲综合五月天婷婷 | 中文字幕在线第一页 | 欧美久久一区二区 | 视频一区二区三区中文字幕 | 精品国产一区二区三区久久久蜜月 | caoporn视频在线 | www4虎|