找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

超聲波模塊控制電機前進 但超聲波不工作 求大神指點迷津

[復制鏈接]
跳轉到指定樓層
樓主
ID:297418 發(fā)表于 2018-5-7 18:46 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
超聲波模塊控制電機前進 但超聲波不工作 求大神指點迷津

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long

unsigned int time=0;
unsigned int timer=0;
float S=0;
bit flag=0;

sbit SHINENG1=P1^0;
sbit SHINENG2=P1^5;
sbit IN1=P1^1;
sbit IN2=P1^2;
sbit IN3=P1^3;
sbit IN4=P1^4;
sbit echo=P3^2;
sbit trig=P3^3;

void delay20us(void)   //?? -0.46875us
{
    unsigned char a,b;
    for(b=3;b>0;b--)
        for(a=1;a>0;a--);
}
void delay10ms(void)   //?? -0.000000000002us
{
    unsigned char a,b;
    for(b=249;b>0;b--)
        for(a=17;a>0;a--);
}

void juli(void)
{
        time=0;
        S=0;
        time=TH0*256+TH0;
        TH0=0;
        TL0=0;
        S=(time*1.87)/100;
        if(S>50)
        {
                SHINENG1=1;
                SHINENG2=1;
                IN1=0;
                IN2=1;
                IN3=1;
                IN4=0;
        }
        else
        {
                SHINENG1=0;
                SHINENG2=0;
        }
}
void time0() interrupt 1
{
        flag=1;
}
void QDCSB()
{
        echo=1;
        delay20us();
        echo=0;
}
void main(void)
{
        TMOD=0x01;
        TH1=0;
        TL1=0;
        TH0=0;
        TL0=0;
       
        ET0=1;
       
        EA=1;
       
        while(1)
        {
                QDCSB();
                while(!echo);
                TR0=1;
                while(echo);
                TR0=0;
                juli();
                delay10ms();
        }
}

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

使用道具 舉報

沙發(fā)
ID:164602 發(fā)表于 2018-5-8 08:36 | 只看該作者
很簡單嘛!
你的發(fā)波程序:
void QDCSB()
{
        echo=1;
        delay20us();
        echo=0;
}
錯了啊。
將這里面的echo,全部改為trig。
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表