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

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

QQ登錄

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

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

STM32F103超聲波測(cè)距源碼

  [復(fù)制鏈接]
ID:183120 發(fā)表于 2018-7-1 10:05 | 顯示全部樓層 |閱讀模式
超聲波用32的定時(shí)器的捕獲功能,捕獲超聲波回傳的高電平時(shí)間,從而算出距離

單片機(jī)源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "usart.h"
  6. #include "timer.h"

  7. /**********************************************
  8. * 文件名  : main.c
  9. * 描述    :超聲波測(cè)距模塊,UltrasonicWave_Configuration()函數(shù)
  10.              初始化超聲模塊,UltrasonicWave_StartMeasure()函數(shù)
  11.                          啟動(dòng)測(cè)距,并將測(cè)得的數(shù)據(jù)通過(guò)串口1打印出來(lái)         
  12. * 實(shí)驗(yàn)平臺(tái):戰(zhàn)艦 STM32開(kāi)發(fā)板  STM32F103ZET6
  13. * 硬件連接:------------------
  14. *          | PC1  - TRIG      |
  15. *          | PA0  - ECHO      |
  16. *           ------------------
  17. *
  18. * 作者    :MasterMiao
  19. *********************************************************************************/

  20. #define Trig PCout(1)                //PC1        TRIG

  21. //函數(shù)聲明
  22. void UltrasonicWave_Configuration(void);
  23. void UltrasonicWave_StartMeasure(void);


  24. extern u8  TIM5CH1_CAPTURE_STA;                //輸入捕獲狀態(tài)                                                   
  25. extern u16        TIM5CH1_CAPTURE_VAL;        //輸入捕獲值        

  26. int main(void)
  27. {               
  28.          u32 temp=0;
  29.         float UltrasonicWave_Distance=0;      //計(jì)算出的距離
  30.         delay_init();                     //延時(shí)函數(shù)初始化         
  31.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);         //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
  32.         uart_init(115200);         //串口初始化為115200
  33.          LED_Init();                             //LED端口初始化

  34.         UltrasonicWave_Configuration();
  35.          TIM5_Cap_Init(0XFFFF,72-1);        //以1Mhz的頻率計(jì)數(shù)
  36.          
  37.            while(1)
  38.         {
  39.                 UltrasonicWave_StartMeasure();//開(kāi)始測(cè)距
  40.                                  
  41.                  if(TIM5CH1_CAPTURE_STA&0X80)//成功捕獲到了一次上升沿
  42.                 {
  43.                         temp=TIM5CH1_CAPTURE_STA&0X3F;
  44.                         temp*=65536;//溢出時(shí)間總和
  45.                         temp+=TIM5CH1_CAPTURE_VAL;//得到總的高電平時(shí)間
  46.                         
  47.                         UltrasonicWave_Distance=(float)temp*170/10000;//距離計(jì)算公式:距離=高電平持續(xù)時(shí)間*聲速/2   
  48.                                                                                                                   //即 距離= 高電平持續(xù)時(shí)間*340*100/(2*1000 000) = 高電平持續(xù)時(shí)間*170/10000
  49.                         
  50.                         printf("Distance:%f cm\r\n",UltrasonicWave_Distance);//打印總的高點(diǎn)平時(shí)間
  51.                         TIM5CH1_CAPTURE_STA=0;//開(kāi)啟下一次捕獲
  52.                 }
  53.         }
  54. }


  55. /*
  56. * 函數(shù)名:UltrasonicWave_Configuration
  57. * 描述  :超聲波模塊的初始化
  58. * 輸入  :無(wú)
  59. * 輸出  :無(wú)        
  60. */
  61. void UltrasonicWave_Configuration(void)
  62. {
  63.         GPIO_InitTypeDef GPIO_InitStructure;
  64.         
  65.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

  66.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;                                         //PC8接TRIG
  67.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                     //設(shè)為推挽輸出模式
  68.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                 
  69.         GPIO_Init(GPIOC, &GPIO_InitStructure);                         //初始化外設(shè)GPIO

  70. }

  71. /*
  72. * 函數(shù)名:UltrasonicWave_StartMeasure
  73. * 描述  :開(kāi)始測(cè)距,發(fā)送一個(gè)>10us的脈沖,然后測(cè)量返回的高電平時(shí)間
  74. * 輸入  :無(wú)
  75. * 輸出  :無(wú)        
  76. */
  77. void UltrasonicWave_StartMeasure(void)
  78. {
  79.         Trig = 1;
  80.         delay_us(20);                                      //延時(shí)20US
  81.         Trig = 0;
  82.         
  83. }
復(fù)制代碼

所有資料51hei提供下載:
STM32超聲波.rar (288.11 KB, 下載次數(shù): 1291)


評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:95821 發(fā)表于 2018-7-2 15:21 | 顯示全部樓層
正好在學(xué)習(xí)這個(gè)
回復(fù)

使用道具 舉報(bào)

ID:363691 發(fā)表于 2018-7-3 09:38 | 顯示全部樓層
xiangyao
回復(fù)

使用道具 舉報(bào)

ID:183120 發(fā)表于 2018-7-4 09:47 | 顯示全部樓層
alai318 發(fā)表于 2018-7-2 15:21
正好在學(xué)習(xí)這個(gè)

哈哈可以參考參考我這個(gè)人,代碼易懂
回復(fù)

使用道具 舉報(bào)

ID:243702 發(fā)表于 2018-7-4 11:07 | 顯示全部樓層
感謝分享 下載了
回復(fù)

使用道具 舉報(bào)

ID:366660 發(fā)表于 2018-7-7 09:43 來(lái)自觸屏版 | 顯示全部樓層
感謝樓主,
回復(fù)

使用道具 舉報(bào)

ID:366881 發(fā)表于 2018-7-7 16:05 | 顯示全部樓層
謝謝分享 收下了
回復(fù)

使用道具 舉報(bào)

ID:456093 發(fā)表于 2018-12-27 09:11 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:393077 發(fā)表于 2018-12-28 10:32 | 顯示全部樓層
看的欲猶未盡
回復(fù)

使用道具 舉報(bào)

ID:457126 發(fā)表于 2018-12-28 11:32 | 顯示全部樓層
學(xué)習(xí)一下, 謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:244299 發(fā)表于 2019-1-8 21:34 來(lái)自觸屏版 | 顯示全部樓層
就定義了一個(gè)trig能行?
回復(fù)

使用道具 舉報(bào)

ID:9987 發(fā)表于 2019-1-9 15:51 | 顯示全部樓層
謝謝,學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:465861 發(fā)表于 2019-1-10 17:03 | 顯示全部樓層
感謝分享
回復(fù)

使用道具 舉報(bào)

ID:470877 發(fā)表于 2019-1-20 15:12 | 顯示全部樓層
輸入捕獲初始化時(shí)跟正點(diǎn)原子代碼一樣對(duì)吧,怎么我返回的一直是0啊,好像沒(méi)有檢測(cè)到返回的高電平
回復(fù)

使用道具 舉報(bào)

ID:470877 發(fā)表于 2019-1-20 15:13 | 顯示全部樓層
輸入捕獲那個(gè)代碼是跟正點(diǎn)原子的例程一樣對(duì)吧,怎么我返回的一直是0啊,好像沒(méi)有檢測(cè)到返回的高電平,
回復(fù)

使用道具 舉報(bào)

ID:470883 發(fā)表于 2019-1-20 15:23 | 顯示全部樓層
贊一個(gè)  學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:479385 發(fā)表于 2019-2-22 16:28 | 顯示全部樓層
正在學(xué)習(xí)這個(gè),喜歡
回復(fù)

使用道具 舉報(bào)

ID:116773 發(fā)表于 2019-2-22 20:14 | 顯示全部樓層
好資料,正好可以學(xué)習(xí)、借鑒和參考。
回復(fù)

使用道具 舉報(bào)

ID:237159 發(fā)表于 2019-3-18 10:09 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:302291 發(fā)表于 2019-3-22 18:12 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:244434 發(fā)表于 2019-3-24 06:47 | 顯示全部樓層
同樣初學(xué)者,也在學(xué)習(xí)中。一同進(jìn)步
回復(fù)

使用道具 舉報(bào)

ID:496304 發(fā)表于 2019-4-4 08:03 | 顯示全部樓層
感謝分享
回復(fù)

使用道具 舉報(bào)

ID:382747 發(fā)表于 2019-4-4 08:33 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:514953 發(fā)表于 2019-4-17 20:47 | 顯示全部樓層
很好 感謝分享
回復(fù)

使用道具 舉報(bào)

ID:298733 發(fā)表于 2019-4-29 15:47 | 顯示全部樓層
頂一個(gè),你這個(gè)代碼比其他的好多了
回復(fù)

使用道具 舉報(bào)

ID:509107 發(fā)表于 2019-5-16 13:31 | 顯示全部樓層
這個(gè)是F103的嗎?
回復(fù)

使用道具 舉報(bào)

ID:199471 發(fā)表于 2019-6-6 09:28 | 顯示全部樓層
下載看看,謝謝樓主
回復(fù)

使用道具 舉報(bào)

ID:160995 發(fā)表于 2019-6-8 19:40 | 顯示全部樓層

下載看看,謝謝樓主
回復(fù)

使用道具 舉報(bào)

ID:541246 發(fā)表于 2019-6-25 20:45 | 顯示全部樓層
希望對(duì)自己能有所幫助
回復(fù)

使用道具 舉報(bào)

ID:569443 發(fā)表于 2019-6-27 19:13 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:379723 發(fā)表于 2019-6-30 19:59 | 顯示全部樓層
我試過(guò)了好幾個(gè)代碼就你的能測(cè),終于決解了
回復(fù)

使用道具 舉報(bào)

ID:368494 發(fā)表于 2019-7-1 16:53 | 顯示全部樓層
有用看看
回復(fù)

使用道具 舉報(bào)

ID:543162 發(fā)表于 2019-7-12 10:54 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:543162 發(fā)表于 2019-7-14 16:49 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:547459 發(fā)表于 2019-7-20 09:06 | 顯示全部樓層

謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:339823 發(fā)表于 2019-7-20 12:52 | 顯示全部樓層
希望對(duì)自己能有所幫助
回復(fù)

使用道具 舉報(bào)

ID:382878 發(fā)表于 2019-7-20 13:31 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:382878 發(fā)表于 2019-7-20 13:32 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:587428 發(fā)表于 2019-7-20 17:01 | 顯示全部樓層
正好在看這方面的
回復(fù)

使用道具 舉報(bào)

ID:588497 發(fā)表于 2019-7-23 09:47 | 顯示全部樓層
謝謝,學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 色综合天天网 | 久久国产精品视频 | 久久精品 | 91视频一区二区三区 | 国产二区视频 | 中文字幕一区二区三区四区五区 | 中文字幕第二十页 | 日韩一区二区三区av | www.精品一区 | 国产女人与拘做视频免费 | 久久精品av | 一区二区精品 | 欧美天堂 | 久久综合久 | 色婷婷综合久久久中字幕精品久久 | 中文字幕一区二区三区乱码图片 | 久久久噜噜噜www成人网 | 日本免费一区二区三区四区 | 久久99深爱久久99精品 | 一区二区三区四区在线 | 99国产在线| 日韩有码一区 | 国产一伦一伦一伦 | 亚洲三级在线观看 | 一区二区在线 | 99热.com| 成人h视频| www.婷婷 | 波多野结衣精品在线 | 国产蜜臀97一区二区三区 | 国产东北一级毛片 | 免费观看黄色一级片 | 成人在线亚洲 | 亚洲精品一区二区网址 | 精品一区二区三区在线播放 | av大片在线 | 精精久久| 三级成人在线 | 日韩精品一区二区三区中文字幕 | 久久久久久毛片免费观看 | 国产人久久人人人人爽 |