找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2887|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

如何用51單片機(jī)來完成超聲波測(cè)距

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:193827 發(fā)表于 2017-4-26 14:32 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
求各路大神前來指導(dǎo)啊,首先我先來單片機(jī)控制超聲波測(cè)距模塊的程序,只要有大神來幫忙能完成的活,肯定少不了你的好處的
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:188933 發(fā)表于 2017-4-26 16:30 | 只看該作者
/***********************************************************************************************************/ //HC-SR04 超聲波測(cè)距模塊 DEMO 程序 //晶振:11。0592 //接線:模塊模塊 TRIG接 P2.0  ECH0 接P2.1  VCC接單片供電正極5V,GND接單片系統(tǒng)板的GND //蜂鳴器接p2.7 /***********************************************************************************************************/               #include   <AT89X51.H>     #include   <intrins.h>     #include   <STDIO.H>      #define uchar unsigned  char     #define uint  unsigned   int       #define  RX  P2_1     #define  TX  P2_0     #define  buzzer P2_7      unsigned int  time=0;     unsigned int  timer=0;     float         S=0;     bit           flag =0;          /********************************************************/  void delayms(unsigned int ms) {         unsigned char i=60,j;         for(;ms;ms--)         {                 while(--i)                 {                         j=10;                         while(--j);                 }         } } /********************************************************/     void Conut(void)         {          time=TH0*256+TL0;          TH0=0;          TL0=0;          S=(time*1.87)/100;     //算出來是CM          if((S>=42000)||flag==1)                    //超出測(cè)量          {           flag=0;           buzzer=1;//printf("S=-----CM\n");           }           else           {            buzzer=1;                    //delayms(500);                    delayms(S);        //printf("S=%fCM\n",S);                                    buzzer=0;                    delayms(S);                    }                    }  /********************************************************/      void zd0() interrupt 1                  //T0中斷用來計(jì)數(shù)器溢出,超過測(cè)距范圍   {     flag=1;                                                         //中斷溢出標(biāo)志   } /********************************************************/    void  StartModule()                          //T1中斷用來掃描數(shù)碼管和計(jì)800MS啟動(dòng)模塊   {           TX=1;                                         //800MS  啟動(dòng)一次模塊           _nop_();            _nop_();            _nop_();            _nop_();            _nop_();            _nop_();           _nop_();            _nop_();            _nop_();                               TX=0;   } /********************************************************/ void main(void) {       TMOD=0x21;                   //設(shè)T0為方式1,GATE=1;         SCON=0x50;         TH1=0xFD;         TL1=0xFD;         TH0=0;         TL0=0;          TR0=0;           ET0=1;             //允許T0中斷         TR1=1;                           //開啟定時(shí)器         TI=1;         EA=1;                           //開啟總中斷     //delayms(100);                         //printf("超聲波串口測(cè)量系統(tǒng)\n");           //delayms(100);                 while(1)         {                  StartModule();          while(!RX);                //當(dāng)RX為零時(shí)等待          TR0=1;                            //開啟計(jì)數(shù)          while(RX);                        //當(dāng)RX為1計(jì)數(shù)并等待          TR0=0;                                //關(guān)閉計(jì)數(shù)      Conut();                        //計(jì)算          //delayms(50);                  }  }  
回復(fù)

使用道具 舉報(bào)

板凳
ID:188933 發(fā)表于 2017-4-26 16:31 | 只看該作者
復(fù)制的時(shí)候格式亂了,將就著看吧
回復(fù)

使用道具 舉報(bào)

地板
ID:193827 發(fā)表于 2017-4-26 16:44 | 只看該作者
666,我去調(diào)試一下,可以的話在聯(lián)系你
回復(fù)

使用道具 舉報(bào)

5#
ID:193827 發(fā)表于 2017-4-26 16:45 | 只看該作者
美猴王HLM 發(fā)表于 2017-4-26 16:31
復(fù)制的時(shí)候格式亂了,將就著看吧

666,我去調(diào)試一下,可以的話在聯(lián)系你
回復(fù)

使用道具 舉報(bào)

6#
ID:185385 發(fā)表于 2017-4-26 21:31 | 只看該作者
樓上有回答了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表