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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 9832|回復(fù): 16
收起左側(cè)

51單片機(jī)超聲波測(cè)距報(bào)警系統(tǒng)Proteus仿真+程序 親測(cè)可用

  [復(fù)制鏈接]
ID:753230 發(fā)表于 2020-7-18 23:14 | 顯示全部樓層 |閱讀模式
Proteus仿真圖及程序文件由附件下載
要想做超聲波測(cè)距系統(tǒng)的仿真,核心是怎么解決這個(gè)問(wèn)題:實(shí)物系統(tǒng)實(shí)際存在的超聲波并利用它測(cè)距如何在仿真圖中實(shí)現(xiàn)。我也下載過(guò)很多別人的仿真圖,可是自己一運(yùn)行就是沒(méi)顯示,全部都不能用,其實(shí)問(wèn)題就是出在仿真圖中超聲波發(fā)射接收模塊。經(jīng)過(guò)修改的仿真圖如下(親測(cè)可用)
1.png
這個(gè)仿真圖還包含按鍵設(shè)置模塊和報(bào)警模塊(前者用于設(shè)置報(bào)警值,后者在測(cè)得距離小于設(shè)置報(bào)警值時(shí)候蜂鳴器報(bào)警),由上圖中標(biāo)注的按鍵模塊和報(bào)警模塊實(shí)現(xiàn),按鍵設(shè)置模塊用法如下:
按下一次KEY1,顯示屏顯示當(dāng)前設(shè)置的報(bào)警值,按下KEY2最小值加1CM,按下KEY2減1CM,設(shè)置完成后按下KEY1保存,顯示屏返回顯示距離,如此往復(fù)循環(huán)。


KEIL程序框架圖
2.png

單片機(jī)源程序如下:
  1. #include "task.h"

  2. extern unsigned int S;        //聲明距離緩存變量,在文件"task.c"中定義
  3. extern unsigned int dis_buf[4];        //聲明顯示緩存數(shù)組,在文件"task.c"中定義
  4. extern unsigned int code duan_ma[16];
  5. extern unsigned int S_H, S_L;        //S_H:報(bào)警上限值,默認(rèn)400cm,S_L:報(bào)警下限值,默認(rèn)10cm



  6. /* 主函數(shù) */
  7. void main(void)
  8. {
  9.         digDuan = 0x40;                //顯示"----"
  10.         digWei1 = 0;
  11.         digWei2 = 0;
  12.         digWei3 = 0;
  13.         digWei4 = 0;
  14.         delayms(1000);                //延時(shí)大約1s
  15.         InitTimer0();                //定時(shí)器0初始化

  16.         while(1)
  17.         {
  18.                 count();                                        //計(jì)算距離
  19.                 if(S>=S_H || S<=S_L)                //如果超出設(shè)定的范圍,則顯示"---"
  20.                 {
  21.                         dis_buf[3] = 0x00;
  22.                         dis_buf[2] = 0x40;                 //顯示"---"
  23.                         dis_buf[1] = 0x40;
  24.                         dis_buf[0] = 0x40;       
  25.                         BEEP = 0;                        //蜂鳴器鳴叫
  26.                         delayms(1000);
  27.                 }
  28.                 else
  29.                 {
  30.                         BEEP = 1;                        //關(guān)閉蜂鳴器
  31.                         dis_distance();                //顯示距離
  32.                 }

  33.                 if(key_scan() == 1)                //如果按下設(shè)置鍵,則進(jìn)入設(shè)置報(bào)警功能
  34.                 {
  35.                         BEEP = 0;                        //按鍵提示音
  36.                         delayms(50);
  37.                         BEEP = 1;
  38.                         delayms(100);
  39.                          key_fuction();                //進(jìn)入設(shè)置報(bào)警功能
  40.                 }                       
  41.         }
  42. }
復(fù)制代碼

所有資料51hei提供下載:
雷達(dá)測(cè)距.rar (120.28 KB, 下載次數(shù): 506)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:262 發(fā)表于 2022-12-16 03:18 | 顯示全部樓層
H459 發(fā)表于 2022-12-15 20:54
蜂鳴器沒(méi)聲音

這是個(gè)無(wú)源的蜂鳴器,怎么可能會(huì)有聲音,換成有源的就行了,看教程
http://www.torrancerestoration.com/bbs/dpj-209241-1.html

換好了蜂鳴器的版本.7z

117.37 KB, 下載次數(shù): 76, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報(bào)

ID:242753 發(fā)表于 2020-7-19 07:42 | 顯示全部樓層
的確網(wǎng)上很多關(guān)于超聲測(cè)距的仿真都有樓主說(shuō)的問(wèn)題
回復(fù)

使用道具 舉報(bào)

ID:750491 發(fā)表于 2020-12-20 14:26 來(lái)自手機(jī) | 顯示全部樓層
加個(gè)溫度補(bǔ)償
回復(fù)

使用道具 舉報(bào)

ID:864717 發(fā)表于 2020-12-22 13:43 來(lái)自手機(jī) | 顯示全部樓層
程序運(yùn)行結(jié)果:
51hei.png
回復(fù)

使用道具 舉報(bào)

ID:864717 發(fā)表于 2020-12-23 08:47 來(lái)自手機(jī) | 顯示全部樓層
qiaodou 發(fā)表于 2020-12-22 13:43
程序運(yùn)行結(jié)果:

我的代碼顯示錯(cuò)誤,讓師傅給調(diào)師傅說(shuō)缺的東西太多了調(diào)不出來(lái),能分享一下代碼嗎,感謝大佬
回復(fù)

使用道具 舉報(bào)

ID:864717 發(fā)表于 2020-12-23 08:52 來(lái)自手機(jī) | 顯示全部樓層
我的代碼運(yùn)行出來(lái)是錯(cuò)的,讓師傅給調(diào)說(shuō)是缺的太多了,什么問(wèn)題呢能分享一下代碼嗎謝謝大佬孩子要交設(shè)計(jì)了能分享能分享
回復(fù)

使用道具 舉報(bào)

ID:864717 發(fā)表于 2020-12-23 08:58 來(lái)自手機(jī) | 顯示全部樓層
qiaodou 發(fā)表于 2020-12-22 13:43
程序運(yùn)行結(jié)果:

能分享一下代碼嗎
回復(fù)

使用道具 舉報(bào)

ID:830448 發(fā)表于 2021-3-18 18:38 來(lái)自手機(jī) | 顯示全部樓層
發(fā)射模塊和接收模塊是一起的嗎
回復(fù)

使用道具 舉報(bào)

ID:1056758 發(fā)表于 2022-12-15 20:54 | 顯示全部樓層
蜂鳴器沒(méi)聲音
回復(fù)

使用道具 舉報(bào)

ID:45879 發(fā)表于 2022-12-16 09:29 | 顯示全部樓層
當(dāng)年的畢設(shè)跟這個(gè)類似
回復(fù)

使用道具 舉報(bào)

ID:1058975 發(fā)表于 2023-1-8 09:53 | 顯示全部樓層
不錯(cuò),可以參考
回復(fù)

使用道具 舉報(bào)

ID:802770 發(fā)表于 2023-2-9 15:01 | 顯示全部樓層
請(qǐng)問(wèn)左下角的模擬脈沖是為了增加真實(shí)度嗎?有別的具體作用嗎?
回復(fù)

使用道具 舉報(bào)

ID:914036 發(fā)表于 2024-3-22 15:40 | 顯示全部樓層
不會(huì)用超聲波,試試看
回復(fù)

使用道具 舉報(bào)

ID:1117272 發(fā)表于 2024-4-26 19:44 | 顯示全部樓層
我測(cè)試一下成功了分享
回復(fù)

使用道具 舉報(bào)

ID:1117272 發(fā)表于 2024-4-26 19:45 | 顯示全部樓層
我測(cè)試測(cè)試如果成功了分享大家
回復(fù)

使用道具 舉報(bào)

ID:186710 發(fā)表于 2024-5-25 16:10 | 顯示全部樓層
測(cè)距模塊必需的TR信號(hào),居然是由虛擬信號(hào)源提供的!圖上的TR接的是P1.3,但是,!做做仿真還可以,做成實(shí)物就不行了。必須另外設(shè)置定時(shí)計(jì)數(shù)器T0或者T1從P1.3輸出一個(gè)脈沖給TR管腳,用來(lái)啟動(dòng)測(cè)距!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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