-
大小: 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個文件信息
評論
共有 條評論