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

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

QQ登錄

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

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

Proteus超聲波測(cè)距仿真電路圖+單片機(jī)源程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:236171 發(fā)表于 2020-4-1 00:25 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
大多數(shù)人感覺(jué)超聲波測(cè)距proteus仿真是無(wú)法實(shí)現(xiàn)的,雖然proteus自帶的庫(kù)有GUR03和SRF04兩種模型,但是卻與實(shí)際傳感器使用方法相差甚遠(yuǎn),即使求助度娘也很難找到簡(jiǎn)單易懂的教程。



之前很多人想做超聲波測(cè)距仿真但都沒(méi)有找到很好的辦法去實(shí)現(xiàn),在軟件里沒(méi)有這樣的元件,有人用一個(gè)按鍵開(kāi)關(guān)去模擬仿真,這樣仿真出來(lái)的效果,非常不好。還有人用555時(shí)基電路產(chǎn)生一個(gè)延時(shí)信號(hào)(555電路作為超聲波仿真的內(nèi)部元件),來(lái)模擬超聲波頭發(fā)送后遇到回波返射回來(lái)的這階段時(shí)間,來(lái)對(duì)單片機(jī)超聲波測(cè)距單片機(jī)系統(tǒng)進(jìn)行模擬,能完成對(duì)超聲波測(cè)距模塊大致仿真,但需要繁雜的設(shè)計(jì)。

下面是一個(gè)超聲波測(cè)距模塊的proteus模型,能直接用于proteus仿真,且使用方法與實(shí)際傳感器幾乎一致,模型如下圖。樓主千辛萬(wàn)苦終于完成了仿真,分享交流一下,請(qǐng)大家不嗇賜教!

(library文件見(jiàn)附件)

下面是仿真效果:


單片機(jī)程序代碼:
  1. #include <reg51.h>
  2. #include <intrins.h>
  3. #include <LCDcmd.h>

  4. #define Delay4us(){_nop_();_nop_();_nop_();_nop_();}

  5. sbit LEDRed=P2^4;        //測(cè)距指示燈,亮表示正在測(cè)距,滅表示測(cè)距完成
  6. sbit Trig=P1^7;                //HC-SR04觸發(fā)信號(hào)輸入
  7. sbit Echo=P1^6;                //HC-SR04回響信號(hào)輸出

  8. float DistanceValue=0.0;        //測(cè)量的距離值
  9. float SPEEDSOUND;                                //聲速

  10. //延時(shí)函數(shù) 20微秒 @12.000MHz
  11. void Delay20us()
  12. {
  13.         uchar i;
  14.         _nop_();
  15.         i = 7;
  16.         while (--i);
  17. }


  18. //測(cè)量距離
  19. float MeasuringDistance()
  20. {
  21.         //最大定時(shí)時(shí)間約65ms
  22.         TH0=0;
  23.         TL0=0;
  24.         
  25.         //生成20us的脈沖寬度的觸發(fā)信號(hào)
  26.         Trig=1;                                
  27.         Delay20us();
  28.         Trig=0;

  29.         //等待回響信號(hào)變高電平
  30.         while(!Echo);        
  31.         TR0=1;                //啟動(dòng)定時(shí)器0

  32.         //等待回響信號(hào)變低電平
  33.         while(Echo);               
  34.         TR0=0;                //關(guān)閉定時(shí)器0

  35.         //返回距離值(mm)
  36.         return (SPEEDSOUND*(TH0*256.0+TL0))/2000;
  37. }

  38. //HCSR04初始化
  39. void HCSR04_Initialize()
  40. {

  41.         SPEEDSOUND=334.1+25*0.61;                                
  42.         Trig=0;        
  43.         Echo=0;
  44.         TMOD=0x01;
  45. }

  46. //測(cè)距的數(shù)值排序求平均
  47. float DistanceStatistics()
  48. {
  49.         uchar i;
  50.         float disData;
  51.         for(i=0;i<7;i++)          //連續(xù)測(cè)距
  52.         {
  53.                 disData+=MeasuringDistance();        
  54.                 delay(1);        
  55.         }
  56.         return disData/7.0;
  57. }

  58. void main()
  59. {

  60.         LcdInitiate();//1602初始化
  61.         HCSR04_Initialize();//HC-SR04初始化
  62.         while(1)
  63.         {
  64.                 DistanceValue= DistanceStatistics()        ;
  65.                 display_val((int)DistanceValue,0x45);//顯示距離值
  66.                 delay(1000);
  67.                 LEDRed=~LEDRed;                //測(cè)距系統(tǒng)工作指示燈
  68.                
  69.         }
  70. }

復(fù)制代碼

全部文件已打包,請(qǐng)自行下載(2個(gè)文件內(nèi)容一樣,推薦下載7z的):
7z: 7z壓縮版.7z (96.58 KB, 下載次數(shù): 269)
winrar: 超聲波測(cè)距(仿真原理圖+源程序).rar (102.08 KB, 下載次數(shù): 1255)


評(píng)分

參與人數(shù) 3黑幣 +72 收起 理由
15961840023 + 12 很給力!
Jeff_BlindCat + 10 共享資料的黑幣獎(jiǎng)勵(lì)!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:446113 發(fā)表于 2020-4-1 09:02 | 只看該作者
感謝樓主奉獻(xiàn);好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

板凳
ID:236171 發(fā)表于 2020-4-1 10:16 | 只看該作者
我用的軟件版本是proteus 8.8 SP1,低于此版本的軟件可能會(huì)打不開(kāi),現(xiàn)在將我的軟件安裝包和原理圖單獨(dú)發(fā)出來(lái),以供參考。

另外,開(kāi)樓時(shí)附上的源碼只是main.c的內(nèi)容,還有一個(gè)LCD.h的頭文件,需要下載全部附件才有,否則程序是跑不起來(lái)的。


*—————————————proteus 8.8 SP1安裝包—————————————————————--
百度獲取
*——————————————完整原理圖截圖———————————————————————

回復(fù)

使用道具 舉報(bào)

地板
ID:255559 發(fā)表于 2020-4-1 15:26 | 只看該作者
謝謝分享,好資料,51黑有你更精彩!!!用Proteus8.8版本,載入單片機(jī)和超聲波兩個(gè)不同的hex后,終于成功了,效果如下

51hei.png (129.63 KB, 下載次數(shù): 170)

51hei.png
回復(fù)

使用道具 舉報(bào)

5#
ID:687441 發(fā)表于 2020-4-1 20:47 | 只看該作者
為什么hex文件復(fù)制過(guò)去后還是會(huì)提示加載失敗?
回復(fù)

使用道具 舉報(bào)

6#
ID:236171 發(fā)表于 2020-4-1 22:17 | 只看該作者
fjvhhhcyxrxuv 發(fā)表于 2020-4-1 20:47
為什么hex文件復(fù)制過(guò)去后還是會(huì)提示加載失敗?

不好意思,忘了寫進(jìn)去了,開(kāi)始仿真之前,需要雙擊超聲波傳感器加載那個(gè)hex文件,跟51單片機(jī)加載hex是一樣的哈
回復(fù)

使用道具 舉報(bào)

7#
ID:236171 發(fā)表于 2020-4-1 22:22 | 只看該作者
補(bǔ)充說(shuō)明:
1、樓主使用的Proteus版本是Proteus8.8 SP1,低于此版本可能打不開(kāi)仿真文件,下面是安裝包,如有需要請(qǐng)百度 Proteus8.8白菜直裝版
2、超聲波傳感器的庫(kù)文件里包含有一個(gè)hex文件,仿真時(shí)需要將其加載到超聲波傳感器中(操作類似于單片機(jī)加載hex文件);
3、正文所分享的代碼只是MAIN.C的內(nèi)容,工程文件中還有一個(gè)LCDcmd.h頭文件,請(qǐng)自行下載附件查看。
回復(fù)

使用道具 舉報(bào)

8#
ID:352458 發(fā)表于 2020-4-1 23:04 | 只看該作者
已經(jīng)收藏,謝謝樓主的分享
回復(fù)

使用道具 舉報(bào)

9#
ID:720750 發(fā)表于 2020-4-2 10:09 | 只看該作者
謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

10#
ID:484200 發(fā)表于 2020-4-3 17:37 | 只看該作者
想要,,真的,,很需要
回復(fù)

使用道具 舉報(bào)

11#
ID:687441 發(fā)表于 2020-4-3 18:39 | 只看該作者
午夜蹦迪丶 發(fā)表于 2020-4-1 22:17
不好意思,忘了寫進(jìn)去了,開(kāi)始仿真之前,需要雙擊超聲波傳感器加載那個(gè)hex文件,跟51單片機(jī)加載hex是一樣 ...

好的,謝謝樓主
回復(fù)

使用道具 舉報(bào)

12#
ID:722021 發(fā)表于 2020-4-4 14:31 來(lái)自觸屏版 | 只看該作者
大哥 可不可以分享 想問(wèn)問(wèn)一些關(guān)于超聲波的仿真知識(shí)
回復(fù)

使用道具 舉報(bào)

13#
ID:692635 發(fā)表于 2020-4-4 16:36 | 只看該作者
大神牛逼,小弟佩服佩服
回復(fù)

使用道具 舉報(bào)

14#
ID:376311 發(fā)表于 2020-4-4 18:41 | 只看該作者
沒(méi)辦法,畢竟是仿真軟件,只能模擬,不過(guò)功能也挺全了
回復(fù)

使用道具 舉報(bào)

15#
ID:353551 發(fā)表于 2020-4-5 00:30 | 只看該作者
大家仿真的時(shí)候哦那個(gè)LCD會(huì)有顯示嗎,為什么LCD沒(méi)顯示呢
回復(fù)

使用道具 舉報(bào)

16#
ID:715369 發(fā)表于 2020-4-5 14:07 來(lái)自觸屏版 | 只看該作者
附件LCD那個(gè)怎么找,小白
回復(fù)

使用道具 舉報(bào)

17#
ID:715369 發(fā)表于 2020-4-5 15:24 來(lái)自觸屏版 | 只看該作者
internal exception access violation in module plc EX.DLL
回復(fù)

使用道具 舉報(bào)

18#
ID:715369 發(fā)表于 2020-4-5 15:24 來(lái)自觸屏版 | 只看該作者
仿真有錯(cuò)誤,internal exception access violation in module  plc  EX.DLL
回復(fù)

使用道具 舉報(bào)

19#
ID:236171 發(fā)表于 2020-4-5 16:25 | 只看該作者
冬天別來(lái)無(wú)恙 發(fā)表于 2020-4-5 15:24
仿真有錯(cuò)誤,internal exception access violation in module  plc  EX.DLL

你好,可能是軟件版本不同導(dǎo)致的,請(qǐng)嘗試從庫(kù)里選擇新的89C52芯片進(jìn)行替換,或許可以解決。
回復(fù)

使用道具 舉報(bào)

20#
ID:236171 發(fā)表于 2020-4-5 16:27 | 只看該作者
KobeHuang 發(fā)表于 2020-4-4 14:31
大哥 可不可以分享 想問(wèn)問(wèn)一些關(guān)于超聲波的仿真知識(shí)

你好,請(qǐng)直接提出你的問(wèn)題,我會(huì)盡力提供幫助
回復(fù)

使用道具 舉報(bào)

21#
ID:715369 發(fā)表于 2020-4-5 17:49 來(lái)自觸屏版 | 只看該作者
午夜蹦迪丶 發(fā)表于 2020-4-5 16:25
你好,可能是軟件版本不同導(dǎo)致的,請(qǐng)嘗試從庫(kù)里選擇新的89C52芯片進(jìn)行替換,或許可以解決。

換了一個(gè)也不行

IMG_20200405_174639.jpg (1.06 MB, 下載次數(shù): 169)

IMG_20200405_174639.jpg
回復(fù)

使用道具 舉報(bào)

22#
ID:715369 發(fā)表于 2020-4-5 18:37 來(lái)自觸屏版 | 只看該作者
大佬,換了一個(gè)芯片還是不行
回復(fù)

使用道具 舉報(bào)

23#
ID:353551 發(fā)表于 2020-4-8 14:32 | 只看該作者
COG電子 發(fā)表于 2020-4-4 18:41
沒(méi)辦法,畢竟是仿真軟件,只能模擬,不過(guò)功能也挺全了

朋友,你好,請(qǐng)問(wèn)你仿真的時(shí)候LCD顯示了嗎
回復(fù)

使用道具 舉報(bào)

24#
ID:353551 發(fā)表于 2020-4-8 14:56 | 只看該作者
pengliang123 發(fā)表于 2020-4-5 00:30
大家仿真的時(shí)候哦那個(gè)LCD會(huì)有顯示嗎,為什么LCD沒(méi)顯示呢

解決了,那個(gè)軟件在管理員條件下運(yùn)行就OK了
回復(fù)

使用道具 舉報(bào)

25#
ID:314730 發(fā)表于 2020-4-9 11:41 | 只看該作者
請(qǐng)教一下:這個(gè)邊框是怎么畫的?
回復(fù)

使用道具 舉報(bào)

26#
ID:502152 發(fā)表于 2020-4-17 12:06 | 只看該作者
感謝大佬,這幾天正為這焦頭爛額
回復(fù)

使用道具 舉報(bào)

27#
ID:731406 發(fā)表于 2020-4-17 15:41 | 只看該作者
樓主你好,我想問(wèn)一下你:在你這個(gè)超聲波模塊仿真中,我們?cè)趺床拍芸闯鏊呀?jīng)測(cè)到前面地距離了,因?yàn)槲覐男赂牧艘幌挛业拇a,智能小車需要先用超聲波測(cè)距,然后系統(tǒng)判斷距離前方障礙物的距離來(lái)做出小車如何移動(dòng)的指令,但是我用你這個(gè)超聲波模塊仿真后,一直顯示不出距離。
回復(fù)

使用道具 舉報(bào)

28#
ID:236171 發(fā)表于 2020-4-18 08:37 | 只看該作者
1257627505 發(fā)表于 2020-4-9 11:41
請(qǐng)教一下:這個(gè)邊框是怎么畫的?

你好,打開(kāi)軟件后直接新建project會(huì)自動(dòng)有這個(gè)框,標(biāo)題欄里的內(nèi)容也會(huì)自動(dòng)更新
回復(fù)

使用道具 舉報(bào)

29#
ID:111893 發(fā)表于 2020-4-18 13:12 | 只看該作者
感謝,喊著很棒,謝謝大神的分享
回復(fù)

使用道具 舉報(bào)

30#
ID:733648 發(fā)表于 2020-4-21 17:38 | 只看該作者
你好,問(wèn)一下我第一次打開(kāi)仿真,圖里面有那個(gè)Digitai Oscilloscope窗口,第二次打開(kāi)就沒(méi)了,應(yīng)該在哪里重新打開(kāi)
回復(fù)

使用道具 舉報(bào)

31#
ID:733648 發(fā)表于 2020-4-21 17:40 | 只看該作者
你好,問(wèn)一下第一次打開(kāi)仿真圖會(huì)自動(dòng)出現(xiàn)Digital那個(gè)窗口,第二次就沒(méi)了。那個(gè)窗口是干什么的,怎么才能再次打開(kāi)?
回復(fù)

使用道具 舉報(bào)

32#
ID:236171 發(fā)表于 2020-4-23 18:16 | 只看該作者
TX666 發(fā)表于 2020-4-21 17:40
你好,問(wèn)一下第一次打開(kāi)仿真圖會(huì)自動(dòng)出現(xiàn)Digital那個(gè)窗口,第二次就沒(méi)了。那個(gè)窗口是干什么的,怎么才能再 ...

你好,仿真開(kāi)始運(yùn)行后,點(diǎn)擊菜單欄的“debug”,下拉菜單中最后一行就是了
回復(fù)

使用道具 舉報(bào)

33#
ID:742560 發(fā)表于 2020-5-1 22:55 | 只看該作者
好的 樓主很有用,安裝了8.8白菜版終于成功了,用其他版本都不行 我測(cè)試了
回復(fù)

使用道具 舉報(bào)

34#
ID:740707 發(fā)表于 2020-5-7 12:29 | 只看該作者
為什么不能運(yùn)行呢
回復(fù)

使用道具 舉報(bào)

35#
ID:743531 發(fā)表于 2020-5-9 21:56 | 只看該作者
樓主為什么實(shí)物圖他會(huì)顯示亂碼呀
回復(fù)

使用道具 舉報(bào)

36#
ID:710551 發(fā)表于 2020-5-15 23:46 | 只看該作者
問(wèn)一下樓主這個(gè)超聲波器件怎么仿真,滑動(dòng)變阻器啥用處,還有怎么知道超聲波測(cè)得距離(好檢驗(yàn)看看顯示的對(duì)不對(duì)),望回答
回復(fù)

使用道具 舉報(bào)

37#
ID:755221 發(fā)表于 2020-5-20 00:39 | 只看該作者

開(kāi)始我也遇到這個(gè)問(wèn)題,后來(lái)我發(fā)現(xiàn)是這樣,就是超聲波加載的HEX文件要用Ultrasonic-Sensor-Library-for-Proteus-_by-eT文件夾里的UltraSonicTEP.HEX,不是單片機(jī)用的那個(gè)HEX文件,運(yùn)行就可以了
回復(fù)

使用道具 舉報(bào)

38#
ID:545457 發(fā)表于 2020-5-21 11:44 | 只看該作者
樓主的分享真心強(qiáng)
回復(fù)

使用道具 舉報(bào)

39#
ID:545457 發(fā)表于 2020-5-21 11:47 | 只看該作者
有一事不明:怎樣在仿真時(shí),調(diào)節(jié)屏幕顯示距離;還有直流激勵(lì)源那一塊,作用可以解答下嗎。辛苦了
回復(fù)

使用道具 舉報(bào)

40#
ID:727764 發(fā)表于 2020-5-24 12:28 來(lái)自觸屏版 | 只看該作者
請(qǐng)問(wèn),那個(gè)仿真的話,障礙物是怎么實(shí)現(xiàn)的
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 99精品欧美一区二区三区综合在线 | 免费在线观看一区二区三区 | 毛片免费看的 | 成人国产精品入口免费视频 | 日韩在线免费视频 | 黄色片免费在线观看 | 天天爽夜夜操 | 日干夜操| 国产成人99av超碰超爽 | 国产一区二区在线播放视频 | 国产欧美精品区一区二区三区 | 亚洲国产精品久久久久秋霞不卡 | 亚洲欧美一区二区三区视频 | 成人精品鲁一区一区二区 | 91视频91| 精品国产乱码久久久久久丨区2区 | 一区二区三区国产视频 | 亚洲欧美一区二区三区在线 | 国产四区 | 91精品国产91久久久久青草 | 久久久久国产一区二区三区四区 | 欧美午夜激情在线 | 91综合在线观看 | 国产乱码久久久久久 | 中文字幕99| 99视频久 | 中午字幕在线观看 | 欧美 日韩 综合 | 亚洲午夜在线 | 欧美成年黄网站色视频 | 亚洲欧美中文日韩在线v日本 | 天天干视频网 | 成人亚洲综合 | 精品人伦一区二区三区蜜桃网站 | 中文字幕一区二区三区乱码图片 | 欧美极品视频在线观看 | 久久国产综合 | 日本超碰 | 国产在线对白 | 亚洲一区二区三 | 欧美精品乱码99久久影院 |