标题: stc15w单片机超声波代码 7脚oled屏幕显示 [打印本页]

作者: yanzewu    时间: 2021-7-13 15:58
标题: stc15w单片机超声波代码 7脚oled屏幕显示
超声波使用的是HC-SR04,显示用的是7脚oled屏幕,利用spi协议书写
单片机频率使用11.0592MHZ,可直接添加c文件到任意工程
实物图如下:


单片机源程序如下:
  1. //Trig=P3.4
  2. //ECHO=P3.3
  3. #include "mian.h"
  4. u16 xdata Acoustic_Distance;          //定时器值保存,超声波测量结果
  5. u16 xdata Timer1_time;                                                                 //距离保存
  6. //***************************************************************************
  7. // 定时器一的服务函数
  8. //***************************************************************************
  9. void Timer1_Routine() interrupt 3
  10. {
  11.         Timer1_time++;                                                    //测量距离多少毫米
  12.         if(Timer1_time>=500)
  13.         {
  14.                 TR1=0;                                                                                                                //关闭定时器
  15.         }
  16. }        
  17. //***************************************************************************
  18. // 定时器1的配置初始化
  19. //***************************************************************************
  20. void Timer1_Init()
  21. {
  22.         AUXR|=0x40;
  23.         TMOD&=0x0f;                                                                                                        //八位自动重装初值
  24.         TMOD|=0xa0;                                                                                                        //GATE置1
  25.         TH1=0x53;                                                                                                                //定时器初始值
  26.         TL1=0x53;                          
  27.         TF1=0;
  28.         TR1=0;
  29.         ET1=1;
  30.         EA=1;
  31. }
  32. //***************************************************************************
  33. // 超声波初始化
  34. //***************************************************************************
  35. void Acoustic_Init()
  36. {
  37.         Timer1_Init();
  38.         Pulse=0;
  39. }        
  40. //***************************************************************************
  41. // 超声波触发与测量服务
  42. //***************************************************************************
  43. void Acoustic_Amount_Drive()
  44. {
  45.         static xdata u16 count=0;
  46.         switch(count)
  47.         {
  48.                 case 1: Pulse=1;TR1=1;Timer1_time=0; break;
  49.                 case 2: Pulse=0; break;
  50.                 case 100:count=0;Acoustic_Distance=Timer1_time; break;
  51.         }
  52.         count++;
  53. }
复制代码

Keil代码工程文件51hei附件下载:
超声波.zip (87.08 KB, 下载次数: 86)



作者: 简繁    时间: 2021-7-22 20:31
写得真不错
作者: lsh04    时间: 2021-7-23 09:54
带仿真原理图吗?
作者: 杰dasdad    时间: 2021-10-21 20:58
为什么不弄个带返回值的函数

作者: ycygxlz    时间: 2022-5-23 18:43
怎么只有程序,没有原理图呢
作者: lhqsbz    时间: 2022-10-24 19:05
唉,整了半天都没有整出来,看下高手 的呢




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1