找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2028|回复: 3
收起左侧

以stm32f103为基础的超声波测距系统程序设计

[复制链接]
ID:487256 发表于 2019-3-19 10:44 | 显示全部楼层 |阅读模式
当时做的开放性实验,实验板上插上超声波探头就能用,供大家参考
以下是主程序部分,大概思路就是这么着了

单片机源程序如下:
  1. #include"stm32f10x.h"
  2. #include"SysTick.h"
  3. #include"TFT_Drive.h"
  4. #include"GUI.h"
  5. #include"Uitr.h"
  6. #include"Time.h"


  7. void Count(void);
  8. void LED_GPIO_Config(void);

  9. uint32_t Distance;
  10. uint16_t Time;
  11. uint8_t ShowData[6]={0,0,0,0,0};
  12. int main(void)            
  13. {

  14.     TFT_Init();
  15.     Uitr_GPIO_Config();
  16.     LED_GPIO_Config();     
  17.     GUI_ClearScreen(BLACK);
  18.     GUI_WriteCHAR(0,300,"Distance:",RED,BLACK);
  19.       TIM4_Config();
  20.       TIM3_Config();
  21.     while(1)
  22.     {
  23.         while(ECHO_IN != 1);
  24.         TIM_Cmd(TIM4,ENABLE);                          //计数器开始计数
  25.         while(ECHO_IN == 1);
  26.         TIM_Cmd(TIM4,DISABLE);                          //计数器停止计数
  27.         Count();                                      //计算距离

  28.     }            
  29. }

  30. void Count(void)
  31. {
  32.     Time = TIM4->CNT;                                  //读计数器值
  33.     TIM4->CNT = 0;                                      //清除计数器
  34.     if(Time>23530)                                      //判断是否在4M范围,超出显示ERRO
  35.     {
  36.         GUI_WriteCHAR(72,300,"error    ",RED,BLACK);
  37.     }
  38.     else
  39.     {
  40.         Distance = (uint32_t)((Time*1.7)/10) ;      //计算出来的是MM   
  41.         ShowData[0]    = (Distance%10000/1000)+'0';
  42.         ShowData[1]    = '.';
  43.         ShowData[2]    = (Distance%1000/100)+'0';
  44.         ShowData[3]    = (Distance%100/10)+'0';
  45.         ShowData[4]    = (Distance%10/1)+'0';
  46.         ShowData[5]    = 'm';

  47.         GUI_WriteCHAR(72,300,ShowData,RED,BLACK);      //显示距离值
  48.     }
  49.    
  50. }
复制代码

所有资料51hei提供下载:
STM32-超声波测距.7z (228.55 KB, 下载次数: 46)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:494315 发表于 2019-3-19 22:27 | 显示全部楼层
刚好要用到超声波
回复

使用道具 举报

ID:116773 发表于 2019-3-20 09:28 | 显示全部楼层
不错,代码清晰,结构简捷,适合初学者。
回复

使用道具 举报

ID:116773 发表于 2019-3-20 13:34 | 显示全部楼层
请问TIM4如何配置呢?另外TIM3是起什么作用呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表