-
大小: 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个文件信息
评论
共有 条评论