0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

51單片機(jī)超聲波模塊數(shù)碼管程序分享

2oON_changxuemc ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師陳翠 ? 2018-10-05 09:18 ? 次閱讀

超聲波原理簡(jiǎn)單測(cè)距準(zhǔn)確,應(yīng)用廣泛下面貼一個(gè)自己寫的數(shù)碼管程序,顯示部分需要改,寫的是我使用的是慧凈開發(fā)板,共陰數(shù)碼管。

//超聲波模塊程序

//Trig = P2^0

//Echo = P3^2

#include

#define uchar unsigned char

#define uint unsigned int

unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,

0x6d,0x7d,0x07,0x7f,0x6f}; //0-9的碼表

uinttime = 0;

uintTImeH = 0;

uintTImeL = 0;

uint succeed_flag;

sbit dula=P2^0; //段選信號(hào)的鎖存器控制

sbit wela=P2^1; //位選信號(hào)的鎖存器控制

sbit Trig = P2^2;

sbit Echo = P3^2;

//

void delay(uint z)

{

uint x,y;

for(x=z;x》0;x--)

for(y=125;y》0;y--);

}

//

void delay_20us()

{

uchar a ;

for(a=0;a《100;a++);

}

//***************************************************************

//顯示數(shù)據(jù)轉(zhuǎn)換程序

void display(uinttemp)

{

uchar qian,ge,shi,bai;

qian = temp/1000;

bai=temp/100%10;

shi=temp%100/10;

ge=temp%10;

wela=1;

//P0=0xf7;

P0 = 0xfe;

wela=0;

dula=1;

P0=table[qian];

dula=0;

delay(5);

wela=1;

//P0=0xf7;

P0 = 0xfd;

wela=0;

dula=1;

P0=table[bai];

dula=0;

delay(5);

dula=1;

P0=0x00; //關(guān)位碼

dula=0;

wela=1;

//P0=0xef;

P0 = 0xfb;

wela=0;

dula=1;

P0=table[shi];

dula=0;

delay(5);

dula=1;

P0=0x00; //關(guān)位碼

dula=0;

dula=1;

P0=table[ge];

dula=0;

wela=1;

//P0=0xdf;

P0 = 0xf7;

wela=0;

delay(5);

dula=1;

P0=0x00; //關(guān)位碼

dula=0;

}

//***************************************************************

void main()

{

uint distance;

uint test =0;

Trig=0; //首先拉低脈沖輸入引腳

EA=1; //打開總中斷0

TMOD=0x10; //定時(shí)器1,16位工作方式

while(1)

{

EA=0; //關(guān)總中斷

Trig=1; //超聲波輸入端

delay_20us(); //延時(shí)20us

Trig=0; //產(chǎn)生一個(gè)20us的脈沖

while(Echo==0); //等待Echo回波引腳變高電平

succeed_flag=0; //清測(cè)量成功標(biāo)志

EA=1;

EX0=1; //打開外部中斷0

TH1=0; //定時(shí)器1清零

TL1=0; //定時(shí)器1清零

TF1=0; //計(jì)數(shù)溢出標(biāo)志

TR1=1; //啟動(dòng)定時(shí)器1

delay(20); //等待測(cè)量的結(jié)果

TR1=0; //關(guān)閉定時(shí)器1

EX0=0; //關(guān)閉外部中斷0

if(succeed_flag==1)

{

TIme=TImeH*256+timeL;

distance=time*0.172; //厘米

display(distance);

}

if(succeed_flag==0)

{

distance=0; //沒有回波則清零

test = !test; //測(cè)試燈變化

}

}

}

//***************************************************************

//外部中斷0,用做判斷回波電平

void exter() interrupt 0 // 外部中斷0是0號(hào)

{

timeH =TH1; //取出定時(shí)器的值

timeL =TL1; //取出定時(shí)器的值

succeed_flag=1;//至成功測(cè)量的標(biāo)志

EX0=0; //關(guān)閉外部中斷

}

//****************************************************************

//定時(shí)器1中斷,用做超聲波測(cè)距計(jì)時(shí)

void timer1() interrupt 3 //

{

TH1=0;

TL1=0;

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 超聲波
    +關(guān)注

    關(guān)注

    63

    文章

    2981

    瀏覽量

    138146
  • 51單片機(jī)
    +關(guān)注

    關(guān)注

    273

    文章

    5697

    瀏覽量

    122991
  • 數(shù)碼管
    +關(guān)注

    關(guān)注

    32

    文章

    1873

    瀏覽量

    90865

原文標(biāo)題:51單片機(jī)超聲波模塊數(shù)碼管程序編寫

文章出處:【微信號(hào):changxuemcu,微信公眾號(hào):暢學(xué)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    51單片機(jī) 超聲波模塊程序怎么寫???

    求大神給個(gè) 51單片機(jī)超聲波模塊程序
    發(fā)表于 08-02 20:10

    如何去編寫51單片機(jī)超聲波測(cè)距(數(shù)碼管顯示)程序?

    51單片機(jī)超聲波測(cè)距(數(shù)碼管顯示)程序/*超聲波模塊的TRIG管腳接在
    發(fā)表于 07-06 08:12

    怎樣去設(shè)計(jì)一個(gè)基于STC89C51/52單片機(jī)超聲波測(cè)距報(bào)警系統(tǒng)

    【本設(shè)計(jì)基于STC89C51/52(與AT89S51/52、AT89C51/52通用,可任選)單片機(jī)。硬件構(gòu)成:51
    發(fā)表于 12-08 07:47

    基于51單片機(jī)超聲波模塊測(cè)距程序設(shè)計(jì)系統(tǒng)

    基于51單片機(jī)超聲波模塊測(cè)距程序設(shè)計(jì)系統(tǒng)
    發(fā)表于 02-18 17:08 ?40次下載

    基于51單片機(jī)的MB1242的超聲波模塊

    51單片機(jī)I2C驅(qū)動(dòng)MB1242超聲波模塊。
    發(fā)表于 10-25 12:15 ?6次下載

    51單片機(jī)超聲波模塊數(shù)碼管程序編寫

    超聲波原理簡(jiǎn)單測(cè)距準(zhǔn)確,應(yīng)用廣泛下面貼一個(gè)自己寫的數(shù)碼管程序,顯示部分需要改,寫的是我使用的是慧凈開發(fā)板,共陰數(shù)碼管
    發(fā)表于 09-18 17:08 ?2872次閱讀
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>超聲波模塊</b><b class='flag-5'>數(shù)碼管程序</b>編寫

    51單片機(jī)超聲波測(cè)距的數(shù)碼管程序

    51單片機(jī)超聲波 超聲波原理簡(jiǎn)單測(cè)距準(zhǔn)確,應(yīng)用廣泛下面貼一個(gè)自己寫的數(shù)碼管程序,顯示部分需要改,寫的是我使用的是慧凈開發(fā)板,共陰
    發(fā)表于 10-13 20:17 ?589次閱讀
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>超<b class='flag-5'>超聲波</b>測(cè)距的<b class='flag-5'>數(shù)碼管程序</b>

    使用數(shù)碼管顯示51單片機(jī)超聲波測(cè)距的程序資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用數(shù)碼管顯示51單片機(jī)超聲波測(cè)距的程序資料免費(fèi)下載。
    發(fā)表于 12-10 08:00 ?26次下載
    使用<b class='flag-5'>數(shù)碼管</b>顯示<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>超聲波</b>測(cè)距的<b class='flag-5'>程序</b>資料免費(fèi)下載

    使用51單片機(jī)控制HC-SR04超聲波模塊的測(cè)試程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)控制HC-SR04超聲波模塊的測(cè)試程序免費(fèi)下載。
    發(fā)表于 09-03 17:27 ?12次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>控制HC-SR04<b class='flag-5'>超聲波模塊</b>的測(cè)試<b class='flag-5'>程序</b>免費(fèi)下載

    使用STM32單片機(jī)51單片機(jī)實(shí)現(xiàn)HC04超聲波測(cè)距模塊程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用STM32單片機(jī)51單片機(jī)實(shí)現(xiàn)HC04超聲波模塊測(cè)距的程序免費(fèi)下載。
    發(fā)表于 08-21 17:31 ?27次下載
    使用STM32<b class='flag-5'>單片機(jī)</b>和<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>實(shí)現(xiàn)HC04<b class='flag-5'>超聲波</b>測(cè)距<b class='flag-5'>模塊</b>的<b class='flag-5'>程序</b>免費(fèi)下載

    使用51單片機(jī)進(jìn)行超聲波測(cè)距數(shù)碼管顯示的程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)進(jìn)行超聲波測(cè)距數(shù)碼管顯示的程序免費(fèi)下載。
    發(fā)表于 08-14 17:32 ?36次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>進(jìn)行<b class='flag-5'>超聲波</b>測(cè)距<b class='flag-5'>數(shù)碼管</b>顯示的<b class='flag-5'>程序</b>免費(fèi)下載

    使用51單片機(jī)應(yīng)用HC-SR04超聲波模塊程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)應(yīng)用HC-SR04超聲波模塊程序免費(fèi)下載。
    發(fā)表于 07-11 17:40 ?12次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>應(yīng)用HC-SR04<b class='flag-5'>超聲波模塊</b>的<b class='flag-5'>程序</b>免費(fèi)下載

    基于51單片機(jī)超聲波測(cè)距模塊設(shè)計(jì)

    超聲波測(cè)距的模塊,51單片機(jī)接上12864液晶,HC-SR04超聲波模塊,就可以了,具體程序沒怎
    發(fā)表于 12-10 16:33 ?6933次閱讀

    51單片機(jī)驅(qū)動(dòng)超聲波測(cè)距模塊

    51單片機(jī)驅(qū)動(dòng)超聲波測(cè)距模塊(單片機(jī)最小系統(tǒng))-使用51單片
    發(fā)表于 07-22 10:01 ?61次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>驅(qū)動(dòng)<b class='flag-5'>超聲波</b>測(cè)距<b class='flag-5'>模塊</b>

    51單片機(jī)超聲波測(cè)距(數(shù)碼管顯示)

    51單片機(jī)超聲波測(cè)距(數(shù)碼管顯示)程序/* 超聲波模塊的TRIG管腳接在
    發(fā)表于 11-12 15:06 ?7次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>超聲波</b>測(cè)距(<b class='flag-5'>數(shù)碼管</b>顯示)