本設(shè)計(jì):
基于STM32的超聲波測(cè)距proteus仿真 HC-SR04(仿真+源碼+講解視頻)
仿真:proteus8.9
程序編譯器:keil 5
編號(hào)C0037
功能描述:
基于STM32F103C6的HC-SR04超聲波測(cè)距的Proteus仿真。
使用定時(shí)器timer3開(kāi)發(fā),數(shù)據(jù)非常準(zhǔn)確且穩(wěn)定,范圍0-300左右。
仿真圖(源文件):

仿真測(cè)試:

源程序(提供源文件):

以下為部分程序,完整程序可在下載鏈接獲?。?/p>
int main(void)
{
float SRF04_Value = 123.45;
uint8_t adcxxx[3] = {0, 0, 0};
uint8_t temp_val = 0;
// uint8_t temp1[2] = {0, 0};
// uint8_t temp2[1] = {0};
HAL_Init();
Stm32_Clock_Init(RCC_PLL_MUL9);
delay_init(72);
DS18B20_Init();
LCD_init();
SRF04_init();
TIM3_Init(1000-1, 72-1);
LCD_write_string(1, 0, " HC-SRF04");//第一行顯示
LCD_write_string(0, 1, "Distance:");//第二行顯示
while(1)
{
temp_val++;
if(temp_val>200){//計(jì)算變量。200次進(jìn)一次采集
temp_val = 0;
SRF04_Value = Hcsr04GetLength();//得到SFR04的實(shí)時(shí)檢測(cè)值
if(SRF04_Value >= 600)
SRF04_Value = 400;
adcxxx[0] = (uint16_t)SRF04_Value / 100 + 48;
adcxxx[1] = (uint16_t)SRF04_Value % 100 / 10 + 48;
adcxxx[2] = (uint16_t)SRF04_Value % 100 % 10 + 48;
LCD_write_string(11, 1, (char*)adcxxx);
delay_ms(200);
}
}
}
審核編輯:湯梓紅
-
Proteus
+關(guān)注
關(guān)注
79文章
1692瀏覽量
110525 -
STM32
+關(guān)注
關(guān)注
2310文章
11162瀏覽量
373510 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3368瀏覽量
123692 -
仿真設(shè)計(jì)
+關(guān)注
關(guān)注
3文章
97瀏覽量
17355 -
超聲波測(cè)距
+關(guān)注
關(guān)注
5文章
247瀏覽量
39726
原文標(biāo)題:基于STM32的HC-SRF04超聲波測(cè)距仿真設(shè)計(jì)(仿真+源碼+講解視頻)
文章出處:【微信號(hào):嘉盛單片機(jī),微信公眾號(hào):嘉盛單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
基于STM32的超聲波測(cè)距設(shè)計(jì)
關(guān)于HC-SR04超聲波測(cè)距模塊
如何利用HC-SR04超聲波測(cè)距模塊去實(shí)現(xiàn)精確的直線測(cè)距呢
HC-SRF05超聲波測(cè)距模塊的原理是什么
如何利用現(xiàn)成的SysTick去實(shí)現(xiàn)HC-sr04超聲波測(cè)距呢
HAL庫(kù)實(shí)現(xiàn)定時(shí)器實(shí)現(xiàn)多個(gè)超聲波(HC-SR04)測(cè)距
HC-SR04超聲波測(cè)距模塊原理
簡(jiǎn)單的超聲波測(cè)距模塊制作_HC-SR04超聲波測(cè)距模塊及制作圖詳解
使用單片機(jī)和HC-SR04設(shè)計(jì)超聲波測(cè)距系統(tǒng)的設(shè)計(jì)資料合集
基于STM32的HC-SRF04超聲波測(cè)距proteus仿真設(shè)計(jì)
評(píng)論