• 大小: 33.19MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-06-13
  • 语言: 其他
  • 标签:

资源简介

使用STM8S103F3P6读取DS18B20的温度数据、读取HC-SR04模块的距离数据,使用按键调整距离阈值数据,使用OLED显示数据。当被测距离小于阈值距离,进行报警并且亮红灯LED;当被测距离大于等于阈值距离,亮绿灯LED;当采集被测距离失败,亮黄灯LED。

资源截图

代码片段和文件信息

//*****************************头文件声明***************************
#include “iostm8s103f3.h“
#include “typedef.h“
#include “key.h“
#include “init.h“
#include “beep.h“
#include “ultrasonic.h“
#include “display.h“
#include “oled.h“
#include “ds18b20.h“

__IO u8 cnt;
__IO u8 Cnt_TIM1 = 0;
__IO u8 Cnt_MainLoop = 0;
__IO u8 Cnt_Alarm = 0;
__IO FlagStatus Flag_MainLoop = RESET;
//__IO u8 Flag_MainLoop = 0;
//__IO u8 isr = 0;
//__IO u16 cnt = 0;

//*******************************主函数*****************************

/* 1.系统初始化*/
/* 2.发射信号 -> 超声波信号*/
/* 3.检测信号-> 读取距离值、OLED显示 */
/* 3.1数据异常操作 -> 亮LED灯*/
/* 3.2数据正常操作 -> 亮LED灯、响蜂鸣响*/
/* 4.报警调整 -> 按键 */

void main(void)
{
/*Init_System(); // 系统初始化
//Init_Data(); // 默认数据初始化
//Init_Disp(); // 显示初始化
Delay(200);

while(1)
{
if(Flag_MainLoop == SET)
{
Flag_MainLoop = RESET;
Scan_Keys(); // 按键扫描
Disp_Data(); // 显示数据
Get_Distance(); // 获得超声波返回距离
Detect_Data(); // 检查与处理数据
Check_Alarm(); // 是否警报
//ON_LED_Y();
//TRIG = 1;
}
}*/
        Init_Clock();
        Init_GPIO();
        Init_TIM1();
        Init_TIM2();
        Init_TIM4();
        Init_Beep();
        Init_Disp();
        
        LOW_TRIG();
        //Clean_TIM2Counter();
        Delay(200);
        while(1)
        {
                //sdelay_TIM4(500);
                //OLED_ShowNum(30 4 TIM4_CNTR 4 16);
                //usdelay_TIM4(50);
                //msdelay_TIM4(30);
                //ON_LED_Y();
if(Flag_MainLoop == SET)
{
Flag_MainLoop = RESET;
Scan_Keys(); // 按键扫描
//Disp_Data(); // 显示数据
Get_Distance(); // 获得超声波返回距离
                        /*if(++cnt >= 3)
                        {
                            cnt = 0;
                            Get_Distance(); // 获得超声波返回距离
                        }*/
//Detect_Data(); // 检查与处理数据
//Check_Alarm(); // 是否警报
                        ON_LED_Y();
                        
//TRIG = 1;
}       
        }
}

//*****************************中断程序****************************
#pragma vector = TIM1_OVR_UIF_vector    // 0x0D
__interrupt void TIM1_OVF_IRQHandler() // 125us
{
if(TIM1_SR1 & (1<<0))
{
                //ON_LED_Y();
TIM1_SR1 &= ~(1<<0);       // 清除中断标志位
                TIM1_SR2 &= ~(1<<0);
if(++Cnt_TIM1 >= 8)    // 1ms
{
                        Cnt_TIM1 = 0;
                        //ON_LED_Y();
                        if(++Cnt_Alarm >= 5)
                        {
                          Cnt_Alarm = 0;
                          Check_Alarm();
                        }
                        if(++Cnt_MainLoop >= 20)        //20ms
                        {
                          Cnt_MainLoop  = 0;
                          Flag_MainLoop = SET;
                          //ON_LED_Y();
                          //ON_LED_G();
                        }
}
//SignalSend();
//GetDistance();
}
else
{
TIM1_SR1 = 0x00;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-05-12 19:54  基于STM8S103F3P6的超声波测距仪与温度显示\
     文件       35354  2019-05-11 14:04  基于STM8S103F3P6的超声波测距仪与温度显示\code.dep
     文件       12636  2019-01-05 22:06  基于STM8S103F3P6的超声波测距仪与温度显示\code.ewd
     文件       44882  2019-03-17 11:25  基于STM8S103F3P6的超声波测距仪与温度显示\code.ewp
     文件      112539  2019-03-17 11:25  基于STM8S103F3P6的超声波测距仪与温度显示\code.ewt
     文件         158  2019-01-05 22:06  基于STM8S103F3P6的超声波测距仪与温度显示\code.eww
     目录           0  2019-05-12 19:53  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\
     目录           0  2019-05-12 19:53  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Exe\
     文件       17378  2019-05-10 20:55  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Exe\code.hex
     文件      103724  2019-05-10 20:55  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Exe\code.out
     目录           0  2019-05-12 19:53  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\List\
     文件       32104  2019-05-10 20:55  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\List\code.map
     目录           0  2019-05-12 19:53  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Obj\
     文件        6909  2019-05-10 20:55  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Obj\beep.o
     文件      206097  2019-04-17 16:36  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Obj\beep.pbi
     文件       11633  2019-04-17 16:36  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Obj\beep.pbi.cout
     文件      251395  2019-05-10 20:54  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Obj\code.pbd
     文件      251395  2019-05-10 20:54  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Obj\code.pbd.browse
     文件       13357  2019-04-11 14:03  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Obj\detect.o
     文件      214887  2019-04-11 14:03  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Obj\detect.pbi
     文件       11635  2019-04-11 14:03  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Obj\detect.pbi.cout
     文件       19022  2019-04-11 15:57  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Obj\display.o
     文件      216373  2019-04-11 15:57  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Obj\display.pbi
     文件       11636  2019-04-11 15:57  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Obj\display.pbi.cout
     文件       24648  2019-04-11 15:55  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Obj\ds18b20.o
     文件      217050  2019-04-11 15:55  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Obj\ds18b20.pbi
     文件       11636  2019-04-11 15:55  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Obj\ds18b20.pbi.cout
     文件        8213  2019-03-18 19:19  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Obj\hc-sr04.o
     文件      210860  2019-03-18 19:19  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Obj\hc-sr04.pbi
     文件       11636  2019-03-18 19:19  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Obj\hc-sr04.pbi.cout
     文件       16279  2019-03-17 11:22  基于STM8S103F3P6的超声波测距仪与温度显示\Debug\Obj\iic.o
............此处省略678个文件信息

评论

共有 条评论

相关资源