本设计:
基于STM32的超声波测距proteus仿真 HC-SR04(仿真+源码+讲解视频)
仿真:proteus8.9
程序编译器:keil 5
编程语言:C语言
编号C0037
功能描述:
基于STM32F103C6的HC-SR04超声波测距的Proteus仿真。
使用定时器timer3开发,数据非常准确且稳定,范围0-300左右。
仿真图(源文件):

仿真测试:

源程序(提供源文件):

以下为部分程序,完整程序可在下载链接获取:
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){//计算变量。200次进一次采集
temp_val = 0;
SRF04_Value = Hcsr04GetLength();//得到SFR04的实时检测值
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);
}
}
}
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !