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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

超聲波測距超出量程以后顯示錯誤數據。

[復制鏈接]
跳轉到指定樓層
樓主
ID:279646 發表于 2018-1-25 15:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
超聲波模塊用的是HC-SR04,參數上寫的是最大測距4.5m。在超出量程以后LCD上顯示的卻是1米多,其他的距離測量都正常,就這里很奇怪,找不到原因,大家幫我看看哪里有問題?
附上主程序
#include<reg52.h>
#include"LCD1602.H"
sbit in=P1^0;
sbit out=P1^1;
char list[]={'0','1','2','3','4','5','6','7','8','9','.','-'};
char value[5];
int time=0;
int j=0;
bit flag=0;

void delay12us()   //誤差 -0.064236111111us
{
    uchar a;
    for(a=4;a>0;a--);
}
void delay60ms()   //誤差 -0.000000000014us
{
    unsigned char a,b,c;
    for(c=7;c>0;c--)
        for(b=168;b>0;b--)
            for(a=22;a>0;a--);
}



void Timerinit(){
        TMOD=0x10;
        TL1=0;
        TL1=0;
        EA=1;
        ET1=1;
}

void Wavedriver(){
        in=1;
        delay12us();
        in=0;
}
void Readtime(){
        while(!out);
        TR1=1;
        while(out);
        TR1=0;
}
void Datapros(){
        float tp;
        int distance;
        time=256*TH1+TL1;
        tp=0.017*time*1.085;
        TH1=0;
        TL1=0;
        distance=tp*100;
        if((distance>=45000)||(flag==1))
                {
                        value[0]=list[11];
                        value[1]=list[11];
                        value[2]=list[11];
                        value[3]=list[11];
                        value[4]=list[11];
                        flag=0;
                }
        else
                {
                        value[0]=list[distance/10000];
                         value[1]=list[distance%10000/1000];
                     value[2]=list[distance%1000/100];
                     value[3]=list[10];
                     value[4]=list[distance%100/10];
                }
}                 

void Lcddisplay(){
        lcdinit();
        for(j=0;j<5;j++)
        {
                writedat(value[j]);
        }

}
int main(){
        Timerinit();
        while(1){
                Wavedriver();
                Readtime();
                Datapros();
                Lcddisplay();
                delay60ms();
        }       

}

void Timerint() interrupt 3
{
        flag=1;
}

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

使用道具 舉報

沙發
ID:82765 發表于 2018-1-25 16:10 | 只看該作者
提示: 作者被禁止或刪除 內容自動屏蔽
回復

使用道具 舉報

板凳
ID:279646 發表于 2018-1-27 19:33 | 只看該作者
cjjcjj1 發表于 2018-1-25 16:10
HC-SR04測量距離,經過實物測試是 2.4 米以內

不止,用這個我測量最大到過3米左右。 而且這不是主要問題 主要問題是當明顯超量程以后 它應該顯示----。但是我這個超量程了顯示錯誤的數據。程序的問題不知道出在哪。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品一区二区av | 欧美黄在线观看 | 国产精品毛片av一区 | 毛片a级| 久久久久国产一区二区三区四区 | 天天射色综合 | 日产久久 | 精品国产欧美一区二区 | 久久久av| 羞羞视频在线免费 | 国产精品二区三区 | 国产农村一级片 | 中文字幕成人在线 | 久久亚洲一区二区三区四区 | 欧美一区二区三区视频 | 美女久久 | 男人的天堂在线视频 | 欧美簧片| 欧美一级欧美三级在线观看 | 久久精品久久久久久 | 中文字幕av网 | 在线免费观看成人 | 一区二区三区在线看 | 国产良家自拍 | 可以免费看的毛片 | 国产精品久久久久久久久久久免费看 | av电影一区| 亚洲91精品 | 国产精品性做久久久久久 | 中文字幕在线看人 | 久久久网 | 欧美久久一区二区 | 欧美精品一区在线 | 亚洲精品一区二区网址 | 日韩在线免费电影 | 国产精品高潮呻吟久久aⅴ码 | a欧美 | 国产精品一区二区日韩 | 精品一区二区三区中文字幕 | 亚洲视屏 | 久久不卡 |