標(biāo)題: STM32F4超聲波測(cè)距程序 [打印本頁(yè)]

作者: 智博無(wú)用    時(shí)間: 2019-11-19 17:56
標(biāo)題: STM32F4超聲波測(cè)距程序
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "timer.h"
  5. #include "lcd.h"


  6. extern u8  TIM5CH1_CAPTURE_STA;                //輸入捕獲狀態(tài)                                                   
  7. extern u32        TIM5CH1_CAPTURE_VAL;        //輸入捕獲值  
  8.   
  9.        
  10. //超聲波函數(shù)引腳初始化
  11.        
  12.         void ChaoShengBo_Init(void)
  13. {             
  14.   GPIO_InitTypeDef  GPIO_InitStructure;

  15.   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);//使能GPIOF時(shí)鐘

  16.   //GPIOF9,F10初始化設(shè)置
  17.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  18.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//普通輸出模式
  19.   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽輸出
  20.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
  21.   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉
  22.   GPIO_Init(GPIOF, &GPIO_InitStructure);//初始化
  23.        
  24.         GPIO_ResetBits(GPIOF,GPIO_Pin_10);//GPIOF9,F10設(shè)置高,燈滅

  25. }
  26.        
  27.        
  28.        
  29.        
  30.        
  31.        
  32. int main(void)
  33. {
  34.         u8 key;           //保存鍵值
  35.         long long High_TIME=0,distance=0;  
  36.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置系統(tǒng)中斷優(yōu)先級(jí)分組2
  37.         delay_init(168);  //初始化延時(shí)函數(shù)
  38.         uart_init(115200);//初始化串口波特率為115200
  39.         ChaoShengBo_Init();
  40.         LCD_Init();           //初始化LCD FSMC接口   
  41.         TIM5_CH1_Cap_Init(0XFFFFFFFF,84-1); //以1Mhz的頻率計(jì)數(shù)

  42.            while(1)
  43.         {
  44.                         delay_ms(100);
  45.                         GPIO_SetBits(GPIOF,GPIO_Pin_10);
  46.                         delay_ms(1);
  47.                         GPIO_ResetBits(GPIOF,GPIO_Pin_10);  // 給超聲波一個(gè)高電平
  48.                 if(TIM5CH1_CAPTURE_STA&0X80)        //成功捕獲到了一次高電平
  49.                 {
  50.                         High_TIME=TIM5CH1_CAPTURE_STA&0X3F;
  51.                         High_TIME*=0XFFFFFFFF;                                          //溢出時(shí)間總和
  52.                         High_TIME+=TIM5CH1_CAPTURE_VAL;                   //得到總的高電平時(shí)間 單位us
  53.                         distance=High_TIME*340/2/10000;            //單位cm
  54.                         LCD_ShowString(30,40,210,24,24,"High_TIME:");       
  55.                   LCD_ShowString(30,70,210,24,24,"distance:");
  56.                         LCD_ShowxNum(90,40,High_TIME,15,24,0);       
  57.                         LCD_ShowxNum(150,70,distance,20,24,0);         
  58.                         TIM5CH1_CAPTURE_STA=0;                             //開(kāi)啟下一次捕獲
  59.                 }
  60.         }
  61. }
復(fù)制代碼

全部資料51hei下載地址:
點(diǎn)陣.7z (1.52 MB, 下載次數(shù): 39)

作者: 2289477193    時(shí)間: 2019-12-24 19:55
這個(gè)程序   我覺(jué)得你這個(gè)不對(duì)啊    還有你下面那個(gè)文件是騙壇友嗎
作者: yidashu    時(shí)間: 2020-4-14 10:26
2289477193 發(fā)表于 2019-12-24 19:55
這個(gè)程序   我覺(jué)得你這個(gè)不對(duì)啊    還有你下面那個(gè)文件是騙壇友嗎

自信一點(diǎn),把“覺(jué)得”去掉,他的程序確實(shí)不對(duì)




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1