




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
當(dāng)今社會(huì)正有越來越多的人被不同的睡眠問題所困擾著,2020年我國首次引入大數(shù)據(jù)對(duì)睡眠問題進(jìn)行分析,分析結(jié)果顯示我國平均睡眠時(shí)長為6.92小時(shí),普遍入睡時(shí)間為深夜23點(diǎn)-24點(diǎn)之間。時(shí)至2022年《中國睡眠報(bào)告》調(diào)查顯示,國民平均睡眠時(shí)長為7.4小時(shí),近半數(shù)(47.55%)的民眾睡眠時(shí)長不足8小時(shí),16.79%的民眾睡眠時(shí)長不足7小時(shí),雖然和2020年相比民眾睡眠有所改善但仍然有待提高。STMF103C8T6實(shí)物圖功能介紹在確定STM32F103單片機(jī)休眠環(huán)境監(jiān)控系統(tǒng)的硬件電路板焊接無誤后,隨其進(jìn)行了實(shí)驗(yàn)。首先對(duì)MCU進(jìn)行供電,初始化了LCD1602液晶顯示屏以及ESP8266無線網(wǎng)絡(luò)接口模塊。在完成初始化工作后,對(duì)STM32F103單片機(jī)休眠環(huán)境監(jiān)控系統(tǒng)中各傳感器的功能進(jìn)行了測試。參考文獻(xiàn)DetectionandMonitoring[J].Sensors,2018,18(2).[27]
#include"delay.h"#include"sys.h"#include"usart.h"#include"SGP30.h"#include"beep.h"#include"oled_iic.h"#include"lux.h"#include"dht11.h"#include"key.h"#include"pulse.h"externintIBI;externintBPM;externintSignal;externunsignedcharQS;intyuzhi1=60;voiddisplay(void){OLED_ShowChar(0,0,'T');OLED_ShowChar(10,0,':');OLED_ShowChar(0,2,'S');OLED_ShowChar(10,2,':');OLED_ShowChar(0,4,'B'); OLED_ShowChar(10,4,'P'); OLED_ShowChar(20,4,'M'); OLED_ShowChar(30,4,':');/*OLED_ShowChar(60,4,'c');OLED_ShowChar(70,4,'/');OLED_ShowChar(80,4,'m');OLED_ShowChar(90,4,'i');OLED_ShowChar(100,4,'n');*/OLED_ShowChar(40,0,'C');OLED_ShowChar(40,2,'%'); OLED_ShowChar(0,6,'y');OLED_ShowChar(10,6,'u');OLED_ShowChar(20,6,'z');OLED_ShowChar(30,6,'h');OLED_ShowChar(40,6,'i');OLED_ShowChar(50,6,':');}intmain(void){ vu8key=0; u8Temperature,HUM; u16test_adc1,LUX; delay_init(); KEY_Init(); ADC1_Init(); BEEP_Init(); RELAY1_Init(); RELAY2_Init(); LED_Init(); TIM3_Init(71,2000); PWM_Init(7199,0); DHT11_Init(); OLED_Init(); OLED_Clear(); TIM3->CR1|=1<<0; OLED_ShowNum(60,6,yuzhi1,3 ,16); while(1) { display(); key=KEY_Scan(0); if(key) { switch(key) { caseKEY0_DOWN: if(yuzhi1==1) yuzhi1=1;elseyuzhi1=yuzhi1-1; OLED_ShowNum(60,6,yuzhi1,3,16); break; caseKEY1_DOWN: if(yuzhi1==100) yuzhi1=100;elseyuzhi1=yuzhi1+1; OLED_ShowNum(60,6,yuzhi1,3,16); break; }} DHT11_Read_Data(&Temperature,&HUM);//?áè???êa?è?μ OLED_ShowNum(20,0,Temperature,2,16); OLED_ShowNum(20,2,HUM,2,16); if(QS==1) { OLED_ShowNum(40,4,BPM,3,16); if(BPM<yuzhi1) { LED=0; RD=0; LD=1; PWMA=3600; } else { LED=1; RD=1; LD=0; PWMA=0; } QS=0; } delay_ms(20); } }#include"delay.h"staticu8fac_us=0; staticu16fac_ms=0; #ifSYSTEM_SUPPORT_OS systick#ifdef OS_CRITICAL_METHOD #definedelay_osrunning OSRunning #definedelay_ostickspersec OS_TICKS_PER_SEC#definedelay_osintnesting OSIntNesting #endif#ifdef CPU_CFG_CRITICAL_METHOD #definedelay_osrunning OSRunning #definedelay_ostickspersec OSCfg_TickRate_Hz #definedelay_osintnesting OSIntNestingCtr #endifvoiddelay_osschedlock(void){#ifdefCPU_CFG_CRITICAL_METHOD OS_ERRerr; OSSchedLock(&err); #else OSSchedLock(); #endif}voiddelay_osschedunlock(void){ #ifdefCPU_CFG_CRITICAL_METHOD OS_ERRerr; OSSchedUnlock(&err); #else OSSchedUnlock(); #endif}voiddelay_ostimedly(u32ticks){#ifdefCPU_CFG_CRITICAL_METHOD OS_ERRerr; OSTimeDly(ticks,OS_OPT_TIME_PERIODIC,&err); OSTimeDly(ticks); #endif}voidSysTick_Handler(void){ if(delay_osrunning==1) { OSIntEnter(); OSTimeTick(); OSIntExit(); }}#endif voiddelay_init(){#ifSYSTEM_SUPPORT_OS u32reload;#endif SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); fac_us=SystemCoreClock/8000000; #ifSYSTEM_SUPPORT_OS reload=SystemCoreClock/8000000; reload*=1000000/delay_ostickspersec; fac_ms=1000/delay_ostickspersec; SysTick->CTRL|=SysTick_CTRL_TICKINT_Msk; SysTick->LOAD=reload; SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk;#else fac_ms=(u16)fac_us*1000; #endif} #ifSYSTEM_SUPPORT_OS voiddelay_us(u32nus){ u32ticks; u32told,tnow,tcnt=0; u32reload=SysTick->LOAD; ticks=nus*fac_us; tcnt=0; delay_osschedlock(); told=SysTick->VAL; while(1) { tnow=SysTick->VAL; if(tnow!=told) { if(tnow<told)tcnt+=told-tnow; elsetcnt+=reload-tnow+told; told=tnow; if(tcnt>=ticks)break; } }; delay_osschedunlock(); }voiddelay_ms(u16nms){ if(delay_osrunning&&delay_osintnesting==0) { if(nms>=fac_ms) { delay_ostimedly(nms/fac_ms); } nms%=fac_ms; } delay_us((u32)(nms*1000)); } voiddelay_us(u32nus){ u32temp; SysTick->LOAD=nus*fac_us; SysTick->VAL=0x00; SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk; do { temp=SysTick->CTRL; }while((temp&0x01)&&!(temp&(1<<16))); SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk; SysTick->VAL=0X00; ÷ }voiddelay_ms(u16nms){ u32temp; SysTick->LOAD=(u32)nms*fac_ms; SysTick->VAL=0x00; SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk; //?aê?μ1êy do { temp=SysTick->CTRL; }while((temp&0x01)&&!(temp&(1<<16))); SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk; SysTick->VAL=0X00; }#endif;Amountofmemory(inbytes)allocatedforStack;Tailorthisvaluetoyourapplicationneeds;<h>StackConfiguration;<o>StackSize(inBytes)<0x0-0xFFFFFFFF:8>;</h>Stack_SizeEQU0x00000400AREASTACK,NOINIT,READWRITE,ALIGN=3Stack_MemSPACEStack_Size__initial_sp;<h>HeapConfiguration;<o>HeapSize(inBytes)<0x0-0xFFFFFFFF:8>;</h>Heap_SizeEQU0x00000200AREAHEAP,NOINIT,READWRITE,ALIGN=3__heap_baseHeap_MemSPACEHeap_Size__heap_limitPRESERVE8THUMB;VectorTableMappedtoAddress0atResetAREARESET,DATA,READONLYEXPORT__VectorsEXPORT__Vectors_EndEXPORT__Vectors_Size__VectorsDCD__initial_sp;TopofStackDCDReset_Handler;ResetHandlerDCDNMI_Handler;NMIHandlerDCDHardFault_Handler;HardFaultHandlerDCDMemManage_Handler;MPUFaultHandlerDCDBusFault_Handler;BusFaultHandlerDCDUsageFault_Handler;UsageFaultHandlerDCD0;ReservedDCD0;ReservedDCD0;ReservedDCD0;ReservedDCDSVC_Handler;SVCallHandlerDCDDebugMon_Handler;DebugMonitorHandlerDCD0;ReservedDCDPendSV_Handler;PendSVHandlerDCDSysTick_Handler;SysTickHandler;ExternalInterruptsDCDWWDG_IRQHandler;WindowWatchdogDCDPVD_IRQHandler;PVDthroughEXTILinedetectDCDTAMPER_IRQHandler;TamperDCDRTC_IRQHandler;RTCDCDFLASH_IRQHandler;FlashDCDRCC_IRQHandler;RCCDCDEXTI0_IRQHandler;EXTILine0DCDEXTI1_IRQHandler;EXTILine1DCDEXTI2_IRQHandler;EXTILine2DCDEXTI3_IRQHandler;EXTILine3DCDEXTI4_IRQHandler;EXTILine4DCDDMA1_Channel1_IRQHandler;DMA1Channel1DCDDMA1_Channel2_IRQHandler;DMA1Channel2DCDDMA1_Channel3_IRQHandler;DMA1Channel3DCDDMA1_Channel4_IRQHandler;DMA1Channel4DCDDMA1_Channel5_IRQHandler;DMA1Channel5DCDDMA1_Channel6_IRQHandler;DMA1Channel6DCDDMA1_Channel7_IRQHandler;DMA1Channel7DCDADC1_2_IRQHandler;ADC1&ADC2DCDUSB_HP_CAN1_TX_IRQHandler;USBHighPriorityorCAN1TXDCDUSB_LP_CAN1_RX0_IRQHandler;USBLowPriorityorCAN1RX0DCDCAN1_RX1_IRQHandler;CAN1RX1DCDCAN1_SCE_IRQHandler;CAN1SCEDCDEXTI9_5_IRQHandler;EXTILine9..5DCDTIM1_BRK_IRQHandler;TIM1BreakDCDTIM1_UP_IRQHandler;TIM1UpdateDCDTIM1_TRG_COM_IRQHandler;TIM1TriggerandCommutationDCDTIM1_CC_IRQHandler;TIM1CaptureCompareDCDTIM2_IRQHandler;TIM2DCDTIM3_IRQHandler;TIM3DCDTIM4_IRQHandler;TIM4DCDI2C1_EV_IRQHandler;I2C1EventDCDI2C1_ER_IRQHandler;I2C1ErrorDCDI2C2_EV_IRQHandler;I2C2EventDCDI2C2_ER_IRQHandler;I2C2ErrorDCDSPI1_IRQHandler;SPI1DCDSPI2_IRQHandler;SPI2DCDUSART1_IRQHandler;USART1DCDUSART2_IRQHandler;USART2DCDUSART3_IRQHandler;USART3DCDEXTI15_10_IRQHandler;EXTILine15..10DCDRTCAlarm_IRQHandler;RTCAlarmthroughEXTILineDCDUSBWakeUp_IRQHandler;USBWakeupfromsuspendDCDTIM8_BRK_IRQHandler;TIM8BreakDCDTIM8_UP_IRQHandler;TIM8UpdateDCDTIM8_TRG_COM_IRQHandler;TIM8TriggerandCommutationDCDTIM8_CC_IRQHandler;TIM8CaptureCompareDCDADC3_IRQHandler;ADC3DCDFSMC_IRQHandler;FSMCDCDSDIO_IRQHandler;SDIODCDTIM5_IRQHandler;TIM5DCDSPI3_IRQHandler;SPI3DCDUART4_IRQHandler;UART4DCDUART5_IRQHandler;UART5DCDTIM6_IRQHandler;TIM6DCDTIM7_IRQHandler;TIM7DCDDMA2_Channel1_IRQHandler;DMA2Channel1DCDDMA2_Channel2_IRQHandler;DMA2Channel2DCDDMA2_Channel3_IRQHandler;DMA2Channel3DCDDMA2_Channel4_5_IRQHandler;DMA2Channel4&Channel5__Vectors_End__Vectors_SizeEQU__Vectors_End-__VectorsAREA|.text|,CODE,READONLY;ResethandlerReset_HandlerPROCEXPORTReset_Handler[WEAK]IMPORT__mainIMPORTSystemInitLDRR0,=SystemInitBLXR0LDRR0,=__mainBXR0ENDP;DummyExceptionHandlers(infiniteloopswhichcanbemodified)NMI_HandlerPROCEXPORTNMI_Handler[WEAK]B.ENDPHardFault_Handler\PROCEXPORTHardFault_Handler[WEAK]B.ENDPMemManage_Handler\PROCEXPORTMemManage_Handler[WEAK]B.ENDPBusFault_Handler\PROCEXPORTBusFault_Handler[WEAK]B.ENDPUsageFault_Handler\PROCEXPORTUsageFault_Handler[WEAK]B.ENDPSVC_HandlerPROCEXPORTSVC_Handler[WEAK]B.ENDPDebugMon_Handler\PROCEXPORTDebugMon_Handler[WEAK]B.ENDPPendSV_HandlerPROCEXPORTPendSV_Handler[WEAK]B.ENDPSysTick_HandlerPROCEXPORTSysTick_Handler[WEAK]B.ENDPDefault_HandlerPROCEXPORTWWDG_IRQHandler[WEAK]EXPORTPVD_IRQHandler[WEAK]EXPORTTAMPER_IRQHandler[WEAK]EXPORTRTC_IRQHandler[WEAK]EXPORTFLASH_IRQHandler[WEAK]EXPORTRCC_IRQHandler[WEAK]EXPORTEXTI0_IRQHandler[WEAK]EXPORTEXTI1_IRQHandler[WEAK]EXPORTEXTI2_IRQHandler[WEAK]EXPORTEXTI3_IRQHandler[WEAK]EXPORTEXTI4_IRQHandler[WEAK]EXPORTDMA1_Channel1_IRQHandler[WEAK]EXPORTDMA1_Channel2_IRQHandler[WEAK]EXPORTDMA1_Channel3_IRQHandler[WEAK]EXPORTDMA1_Channel4_IRQHandler[WEAK]EXPORTDMA1_Channel5_IRQHandler[WEAK]EXPORTDMA1_Channel6_IRQHandler[WEAK]EXPORTDMA1_Channel7_IRQHandler[WEAK]EXPORTADC1_2_IRQHandler[WEAK]EXPORTUSB_HP_CAN1_TX_IRQHandler[WEAK]EXPORTUSB_LP_CAN1_RX0_IRQHandler[WEAK]EXPORTCAN1_RX1_IRQHandler[WEAK]EXPORTCAN1_SCE_IRQHandler[WEAK]EXPORTEXTI9_5_IRQHandler[WEAK]EXPORTTIM1_BRK_IRQHandler[WEAK]EXPORTTIM1_UP_IRQHandler[WEAK]EXPORTTIM1_TRG_COM_IRQHandler[WEAK]EXPORTTIM1_CC_IRQHandler[WEAK]EXPORTTIM2_IRQHandler[WEAK]EXPORTTIM3_IRQHandler[WEAK]EXPORTTIM4_IRQHandler[WEAK]EXPORTI2C1_EV_IRQHandler[WEAK]EXPORTI2C1_ER_IRQHandler[WEAK]EXPORTI2C2_EV_IRQHandler[WEAK]EXPORTI2C2_ER_IRQHandler[WEAK]EXPORTSPI1_IRQHandler[WEAK]EXPORTSPI2_IRQHandler[WEAK]EXPORTUSART1_IRQHandler[WEAK]EXPORTUSART2_IRQHandler[WEAK]EXPORTUSART3_IRQHandler[WEAK]EXPORTEXTI15_10_IRQHandler[WEAK]EXPORTRTCAlarm_IRQHandler[WEAK]EXPORTUSBWakeUp_IRQHandler[WEAK]EXPORTTIM8_BRK_IRQHandler[WEAK]EXPORTTIM8_UP_IRQHandler[WEAK]EXPORTTIM8_TRG_COM_IRQHandler[WEAK]EXPORTTIM8_CC_IRQHandler[WEAK]EXPORTADC3_IRQHandler[WEAK]EXPORTFSMC_IRQHandler[WEAK]EXPORTSDIO_IRQHandler[WEAK]EXPORTTIM5_IRQHandler[WEAK]EXPORTSPI3_IRQHandler[WEAK]EXPORTUART4_IRQHandler[WEAK]EXPORTUART5_IRQHandler[WEAK]EXPORTTIM6_IRQHandler[WEAK]EXPORTTIM7_IRQHandler[WEAK]EXPORTDMA2_Channel1_IRQHandler[WEAK]EXPORTDMA2_Channel2_IRQHandler[WEAK]EXPORTDMA2_Channel3_IRQHandler[WEAK]EXPO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國自動(dòng)果蔬切丁機(jī)行業(yè)市場規(guī)模及投資前景預(yù)測分析報(bào)告
- 2023-2028年中國云南省跨境電商行業(yè)市場深度分析及投資策略咨詢報(bào)告
- 健康睡眠與慢性病預(yù)防
- 健康的情感升華課件下載
- 健康牙齒上的黑洞課件
- 蕭縣電動(dòng)自行車管理辦法
- 蔬菜種植標(biāo)準(zhǔn)化管理辦法
- 蚌山區(qū)老舊小區(qū)管理辦法
- 2024年電子油門踏板項(xiàng)目資金申請(qǐng)報(bào)告代可行性研究報(bào)告
- 補(bǔ)充林地指標(biāo)管理暫行辦法
- 醫(yī)療器械輻照滅菌確認(rèn)報(bào)告
- 南瑞繼保103-主體部分
- MT/T570—1996煤礦電氣圖專用圖形符號(hào)
- 燃?xì)廨斉涔こ淘O(shè)計(jì)施工驗(yàn)收技術(shù)規(guī)范 DB11T 302-2005
- 自動(dòng)噴水滅火系統(tǒng)嚴(yán)密性試驗(yàn)記錄
- 河北省城市集中式飲用水水源保護(hù)區(qū)劃分
- 工程材料采購方案(完整版)
- 部編本新人教版一年級(jí)下冊(cè)語文教學(xué)計(jì)劃
- 慢阻肺的健康教育
- CH-iVMS-4200部署方案
- 銀河YH3120系列智能稱重顯示控制器
評(píng)論
0/150
提交評(píng)論