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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機超聲波測距報警系統Proteus仿真+程序 親測可用

  [復制鏈接]
跳轉到指定樓層
樓主
ID:753230 發表于 2020-7-18 23:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
Proteus仿真圖及程序文件由附件下載
要想做超聲波測距系統的仿真,核心是怎么解決這個問題:實物系統實際存在的超聲波并利用它測距如何在仿真圖中實現。我也下載過很多別人的仿真圖,可是自己一運行就是沒顯示,全部都不能用,其實問題就是出在仿真圖中超聲波發射接收模塊。經過修改的仿真圖如下(親測可用)

這個仿真圖還包含按鍵設置模塊和報警模塊(前者用于設置報警值,后者在測得距離小于設置報警值時候蜂鳴器報警),由上圖中標注的按鍵模塊和報警模塊實現,按鍵設置模塊用法如下:
按下一次KEY1,顯示屏顯示當前設置的報警值,按下KEY2最小值加1CM,按下KEY2減1CM,設置完成后按下KEY1保存,顯示屏返回顯示距離,如此往復循環。


KEIL程序框架圖


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

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



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

  16.         while(1)
  17.         {
  18.                 count();                                        //計算距離
  19.                 if(S>=S_H || S<=S_L)                //如果超出設定的范圍,則顯示"---"
  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;                        //關閉蜂鳴器
  31.                         dis_distance();                //顯示距離
  32.                 }

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

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

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

來自 2#
ID:262 發表于 2022-12-16 03:18 | 只看該作者

這是個無源的蜂鳴器,怎么可能會有聲音,換成有源的就行了,看教程
http://www.zg4o1577.cn/bbs/dpj-209241-1.html

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

117.37 KB, 下載次數: 76, 下載積分: 黑幣 -5

回復

使用道具 舉報

板凳
ID:242753 發表于 2020-7-19 07:42 | 只看該作者
的確網上很多關于超聲測距的仿真都有樓主說的問題
回復

使用道具 舉報

地板
ID:750491 發表于 2020-12-20 14:26 來自手機 | 只看該作者
加個溫度補償
回復

使用道具 舉報

5#
ID:864717 發表于 2020-12-22 13:43 來自手機 | 只看該作者
程序運行結果:

51hei.png (40.72 KB, 下載次數: 146)

51hei.png
回復

使用道具 舉報

6#
ID:864717 發表于 2020-12-23 08:47 來自手機 | 只看該作者
qiaodou 發表于 2020-12-22 13:43
程序運行結果:

我的代碼顯示錯誤,讓師傅給調師傅說缺的東西太多了調不出來,能分享一下代碼嗎,感謝大佬
回復

使用道具 舉報

7#
ID:864717 發表于 2020-12-23 08:52 來自手機 | 只看該作者
我的代碼運行出來是錯的,讓師傅給調說是缺的太多了,什么問題呢能分享一下代碼嗎謝謝大佬孩子要交設計了能分享能分享
回復

使用道具 舉報

8#
ID:864717 發表于 2020-12-23 08:58 來自手機 | 只看該作者
qiaodou 發表于 2020-12-22 13:43
程序運行結果:

能分享一下代碼嗎
回復

使用道具 舉報

9#
ID:830448 發表于 2021-3-18 18:38 來自手機 | 只看該作者
發射模塊和接收模塊是一起的嗎
回復

使用道具 舉報

10#
ID:1056758 發表于 2022-12-15 20:54 | 只看該作者
蜂鳴器沒聲音
回復

使用道具 舉報

11#
ID:45879 發表于 2022-12-16 09:29 | 只看該作者
當年的畢設跟這個類似
回復

使用道具 舉報

12#
ID:1058975 發表于 2023-1-8 09:53 | 只看該作者
不錯,可以參考
回復

使用道具 舉報

13#
ID:802770 發表于 2023-2-9 15:01 | 只看該作者
請問左下角的模擬脈沖是為了增加真實度嗎?有別的具體作用嗎?
回復

使用道具 舉報

14#
ID:914036 發表于 2024-3-22 15:40 | 只看該作者
不會用超聲波,試試看
回復

使用道具 舉報

15#
ID:1117272 發表于 2024-4-26 19:44 | 只看該作者
我測試一下成功了分享
回復

使用道具 舉報

16#
ID:1117272 發表于 2024-4-26 19:45 | 只看該作者
我測試測試如果成功了分享大家
回復

使用道具 舉報

17#
ID:186710 發表于 2024-5-25 16:10 | 只看該作者
測距模塊必需的TR信號,居然是由虛擬信號源提供的!圖上的TR接的是P1.3,但是,!做做仿真還可以,做成實物就不行了。必須另外設置定時計數器T0或者T1從P1.3輸出一個脈沖給TR管腳,用來啟動測距!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产高清视频在线播放 | 日韩在线看片 | 久久国产精品72免费观看 | 99在线免费观看视频 | 欧美啊v在线观看 | 日本精品一区二区三区在线观看视频 | 伊人二区 | 精品国产免费一区二区三区演员表 | 日本网站免费观看 | 毛片在线免费 | 亚洲一区二区三区国产 | 99色综合 | 久久天天躁狠狠躁夜夜躁2014 | 国产特级毛片 | 成人三级在线观看 | 黄色香蕉视频在线观看 | 久热精品在线播放 | 亚洲欧美中文日韩在线v日本 | 午夜影院| 亚洲成人综合社区 | 好姑娘影视在线观看高清 | 成人在线看片 | 久久精品欧美一区二区三区麻豆 | 国产在线一区二 | 欧美国产一区二区 | 国产高清久久 | 国产美女一区二区 | 99热播精品 | 人人色视频 | 91免费在线看 | 国产在线观看一区二区 | 91网站视频在线观看 | 欧美视频一区二区三区 | 91视频久久 | 成人在线免费观看av | 精彩视频一区二区三区 | 一区二区三区在线观看视频 | 国产女人第一次做爰毛片 | 国产精品视频中文字幕 | 免费在线看黄 | 亚洲一区二区三区四区五区午夜 |