版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
參考文獻(xiàn)[1]
胡振山,江振青,呂海燕.
基于GSM的垃圾桶溢出報(bào)警系統(tǒng)設(shè)計(jì).
物聯(lián)網(wǎng)技術(shù).2022.[2]
于雯,王艷,張佳佳,陳思思.
多功能智能垃圾桶結(jié)構(gòu)設(shè)計(jì)和功能實(shí)現(xiàn)[C],
工業(yè)儀表與自動(dòng)化裝置.2022.[3]
張河,
張桂梅,
段磊鵬,
王婷婷.
基于51單片機(jī)的智能垃圾桶系統(tǒng)開(kāi)發(fā)[C],
科技創(chuàng)新與應(yīng)用.2021.[4]
王睿錚,趙意如,石義
.
基于
STM89C51
的防雨魚(yú)塘浮標(biāo)自動(dòng)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
[J].
電子制作,2020.[5]
黃國(guó)維.
基于深度學(xué)習(xí)的城市垃圾桶智能分類研究[J].
安徽理工大學(xué),2019.[6]
朱瑩.
智能垃圾桶的設(shè)計(jì)與研究[M].
中國(guó)礦業(yè)大學(xué),2019.[7]
肖茜月,李代偉,劉田俊睿
.
基于
GSM
模塊的家庭智能報(bào)警系統(tǒng)設(shè)計(jì)與研究
[J].
電腦知識(shí)與技術(shù),2021.[8]
劉炳海
.
從零開(kāi)始學(xué)電子電路設(shè)計(jì)
[M].化學(xué)工業(yè)出版社,2019[9]
陳鐸,盧元爍,張幽彤.
語(yǔ)音控制智能垃圾桶設(shè)計(jì)[J].
電子技術(shù)與軟件工程.2022[10]
楊帆,
秦智鵬.
基于STM32的語(yǔ)音分類垃圾桶設(shè)計(jì)[M].
武漢工程大學(xué)學(xué)報(bào).2020[11]
王熹.
基于YOLOv5的垃圾溢出檢測(cè)研究[D].江漢大學(xué),2022.[12]
胡振山,江振青,呂海燕.
基于GSM的垃圾桶溢出報(bào)警系統(tǒng)設(shè)計(jì)[J].
物聯(lián)網(wǎng)技術(shù),2022,12(01):4-6.[13]
司徒凌云,王林章,李宣東,劉楊.
基于應(yīng)用視角的緩沖區(qū)溢出檢測(cè)技術(shù)與工具[J].
軟件學(xué)報(bào),2019,30(06):1721-1741.[14]
張國(guó)強(qiáng),殷博,邱宇,王偉靜.
基于概率層次分析的緩沖區(qū)溢出檢測(cè)工具評(píng)估[J].
計(jì)算機(jī)應(yīng)用與軟件,2018,35(07):27-32+103.[15]
李智超.
多層無(wú)縫的防破壞防盜防火報(bào)警系統(tǒng)的設(shè)計(jì)[D].東華理工大學(xué),2017.[16]
T.
Vairam;S.
Sarathambekai.
Proficient
smart
trash
can
management
using
internet
of
things
and
SDN
architecture
approach.[M].2022[17]
Jia
Gangyong;Zhu
Yujie;Han
Guangjie;Chan
Sammy;Shu
Lei.
STM:
an
intelligent
trash
can
system
based
on
both
NB-IoT
and
edge
computing
for
smart
cities.2020.[18]
Tremblay,
Ken.
Sprinkler
douses
fire
started
by
ignition
of
oily
rags
in
trash
can.2019[19]
Juan
Guo;Xiaoying
Yu.
The
Design
of
Intelligent
Wastebin
Based
on
AT89S52
[P].
Journal
of
Information
Hiding
and
Privacy
Protection.2021[20]
Design
of
Household
Items
Delivery
Robot.
Design
of
Household
Items
Delivery
Robot
[J].
IOP
Conference
Series:
Earth
and
Environmental
Science
.2019
附錄電路圖源代碼#include"sys.h"#include"delay.h"#include"oled.h"#include"tim.h"#include"port.h"#include"app.h"#include"bsp_gsm_usart.h"#include"bsp_gsm_gprs.h"#include"hcsr04.h"#include"timer.h"#include"HX711.h"intmain(void){ delay_init(); //延時(shí)函數(shù)初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置中斷優(yōu)先級(jí)分組為組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí) system_Time_Init(9,7199); sys_gpio_init(); key_init(10,500,1100,3000); OLED_Init(); //初始化OLED OLED_Clear();OLED_ShowString(0,0,"nihao",12); hsr04_init();TIM3_PWM_Init();Init_HX711pin(); GSM_USART_Config();//u2 while(gsm_cmd("AT\r","OK",1000)!=GSM_TRUE); while(IsInsertCard()!=GSM_TRUE){ delay_ms(500); } while(1) { app(); } }/*********************************************************************************@fileGPIO/IOToggle/stm32f10x_it.c*@authorMCDApplicationTeam*@versionV3.5.0*@date08-April-2011*@briefMainInterruptServiceRoutines.*Thisfileprovidestemplateforallexceptionshandlerandperipherals*interruptserviceroutine.*******************************************************************************@attention**THEPRESENTFIRMWAREWHICHISFORGUIDANCEONLYAIMSATPROVIDINGCUSTOMERS*WITHCODINGINFORMATIONREGARDINGTHEIRPRODUCTSINORDERFORTHEMTOSAVE*TIME.ASARESULT,STMICROELECTRONICSSHALLNOTBEHELDLIABLEFORANY*DIRECT,INDIRECTORCONSEQUENTIALDAMAGESWITHRESPECTTOANYCLAIMSARISING*FROMTHECONTENTOFSUCHFIRMWAREAND/ORTHEUSEMADEBYCUSTOMERSOFTHE*CODINGINFORMATIONCONTAINEDHEREININCONNECTIONWITHTHEIRPRODUCTS.**<h2><center>©COPYRIGHT2011STMicroelectronics</center></h2>*******************************************************************************//*Includes*/#include"stm32f10x_it.h"voidNMI_Handler(void){}voidHardFault_Handler(void){/*GotoinfiniteloopwhenHardFaultexceptionoccurs*/while(1){}}voidMemManage_Handler(void){/*GotoinfiniteloopwhenMemoryManageexceptionoccurs*/while(1){}}voidBusFault_Handler(void){/*GotoinfiniteloopwhenBusFaultexceptionoccurs*/while(1){}}voidUsageFault_Handler(void){/*GotoinfiniteloopwhenUsageFaultexceptionoccurs*/while(1){}}voidSVC_Handler(void){}voidDebugMon_Handler(void){}voidPendSV_Handler(void){}voidSysTick_Handler(void){}/******************************************************************************//*STM32F10xPeripheralsInterruptHandlers*//*AddheretheInterruptHandlerfortheusedperipheral(s)(PPP),forthe*//*availableperipheralinterrupthandler'snamepleaserefertothestartup*//*file(startup_stm32f10x_xx.s).*//******************************************************************************/#include"delay.h"http:////////////////////////////////////////////////////////////////////////////////// //如果需要使用OS,則包括下面的頭文件即可.#ifSYSTEM_SUPPORT_OS#include"includes.h" //ucos使用 #endifstaticu8fac_us=0; //us延時(shí)倍乘數(shù) staticu16fac_ms=0; //ms延時(shí)倍乘數(shù),在ucos下,代表每個(gè)節(jié)拍的ms數(shù) #ifSYSTEM_SUPPORT_OS //如果SYSTEM_SUPPORT_OS定義了,說(shuō)明要支持OS了(不限于UCOS).//當(dāng)delay_us/delay_ms需要支持OS的時(shí)候需要三個(gè)與OS相關(guān)的宏定義和函數(shù)來(lái)支持//首先是3個(gè)宏定義://delay_osrunning:用于表示OS當(dāng)前是否正在運(yùn)行,以決定是否可以使用相關(guān)函數(shù)//delay_ostickspersec:用于表示OS設(shè)定的時(shí)鐘節(jié)拍,delay_init將根據(jù)這個(gè)參數(shù)來(lái)初始哈systick//delay_osintnesting:用于表示OS中斷嵌套級(jí)別,因?yàn)橹袛嗬锩娌豢梢哉{(diào)度,delay_ms使用該參數(shù)來(lái)決定如何運(yùn)行//然后是3個(gè)函數(shù)://delay_osschedlock:用于鎖定OS任務(wù)調(diào)度,禁止調(diào)度//delay_osschedunlock:用于解鎖OS任務(wù)調(diào)度,重新開(kāi)啟調(diào)度//delay_ostimedly:用于OS延時(shí),可以引起任務(wù)調(diào)度.//本例程僅作UCOSII和UCOSIII的支持,其他OS,請(qǐng)自行參考著移植//支持UCOSII#ifdef OS_CRITICAL_METHOD //OS_CRITICAL_METHOD定義了,說(shuō)明要支持UCOSII #definedelay_osrunning OSRunning //OS是否運(yùn)行標(biāo)記,0,不運(yùn)行;1,在運(yùn)行#definedelay_ostickspersec OS_TICKS_PER_SEC //OS時(shí)鐘節(jié)拍,即每秒調(diào)度次數(shù)#definedelay_osintnesting OSIntNesting //中斷嵌套級(jí)別,即中斷嵌套次數(shù)#endif//支持UCOSIII#ifdef CPU_CFG_CRITICAL_METHOD //CPU_CFG_CRITICAL_METHOD定義了,說(shuō)明要支持UCOSIII #definedelay_osrunning OSRunning //OS是否運(yùn)行標(biāo)記,0,不運(yùn)行;1,在運(yùn)行#definedelay_ostickspersec OSCfg_TickRate_Hz //OS時(shí)鐘節(jié)拍,即每秒調(diào)度次數(shù)#definedelay_osintnesting OSIntNestingCtr //中斷嵌套級(jí)別,即中斷嵌套次數(shù)#endif//us級(jí)延時(shí)時(shí),關(guān)閉任務(wù)調(diào)度(防止打斷us級(jí)延遲)voiddelay_osschedlock(void){#ifdefCPU_CFG_CRITICAL_METHOD //使用UCOSIII OS_ERRerr; OSSchedLock(&err); //UCOSIII的方式,禁止調(diào)度,防止打斷us延時(shí)#else //否則UCOSII OSSchedLock(); //UCOSII的方式,禁止調(diào)度,防止打斷us延時(shí)#endif}//us級(jí)延時(shí)時(shí),恢復(fù)任務(wù)調(diào)度voiddelay_osschedunlock(void){ #ifdefCPU_CFG_CRITICAL_METHOD //使用UCOSIII OS_ERRerr; OSSchedUnlock(&err); //UCOSIII的方式,恢復(fù)調(diào)度#else //否則UCOSII OSSchedUnlock(); //UCOSII的方式,恢復(fù)調(diào)度#endif}//調(diào)用OS自帶的延時(shí)函數(shù)延時(shí)//ticks:延時(shí)的節(jié)拍數(shù)voiddelay_ostimedly(u32ticks){#ifdefCPU_CFG_CRITICAL_METHOD OS_ERRerr; OSTimeDly(ticks,OS_OPT_TIME_PERIODIC,&err); //UCOSIII延時(shí)采用周期模式#else OSTimeDly(ticks); //UCOSII延時(shí)#endif}//systick中斷服務(wù)函數(shù),使用ucos時(shí)用到voidSysTick_Handler(void){ if(delay_osrunning==1) //OS開(kāi)始跑了,才執(zhí)行正常的調(diào)度處理 { OSIntEnter(); //進(jìn)入中斷 OSTimeTick(); //調(diào)用ucos的時(shí)鐘服務(wù)程序 OSIntExit(); //觸發(fā)任務(wù)切換軟中斷 }}#endif //初始化延遲函數(shù)//當(dāng)使用OS的時(shí)候,此函數(shù)會(huì)初始化OS的時(shí)鐘節(jié)拍//SYSTICK的時(shí)鐘固定為HCLK時(shí)鐘的1/8//SYSCLK:系統(tǒng)時(shí)鐘voiddelay_init(){#ifSYSTEM_SUPPORT_OS //如果需要支持OS. u32reload;#endif SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); //選擇外部時(shí)鐘HCLK/8 fac_us=SystemCoreClock/8000000; //為系統(tǒng)時(shí)鐘的1/8#ifSYSTEM_SUPPORT_OS //如果需要支持OS. reload=SystemCoreClock/8000000; //每秒鐘的計(jì)數(shù)次數(shù)單位為M reload*=1000000/delay_ostickspersec; //根據(jù)delay_ostickspersec設(shè)定溢出時(shí)間 //reload為24位寄存器,最大值:16777216,在72M下,約合1.86s左右 fac_ms=1000/delay_ostickspersec; //代表OS可以延時(shí)的最少單位 SysTick->CTRL|=SysTick_CTRL_TICKINT_Msk; //開(kāi)啟SYSTICK中斷 SysTick->LOAD=reload; //每1/delay_ostickspersec秒中斷一次 SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk; //開(kāi)啟SYSTICK#else fac_ms=(u16)fac_us*1000; //非OS下,代表每個(gè)ms需要的systick時(shí)鐘數(shù)#endif} #ifSYSTEM_SUPPORT_OS //如果需要支持OS.//延時(shí)nus//nus為要延時(shí)的us數(shù). voiddelay_us(u32nus){ u32ticks; u32told,tnow,tcnt=0; u32reload=SysTick->LOAD; //LOAD的值 ticks=nus*fac_us; //需要的節(jié)拍數(shù) tcnt=0; delay_osschedlock(); //阻止OS調(diào)度,防止打斷us延時(shí) told=SysTick->VAL; //剛進(jìn)入時(shí)的計(jì)數(shù)器值 while(1) { tnow=SysTick->VAL; if(tnow!=told) { if(tnow<told)tcnt+=told-tnow; //這里注意一下SYSTICK是一個(gè)遞減的計(jì)數(shù)器就可以了. elsetcnt+=reload-tnow+told; told=tnow; if(tcnt>=ticks)break; //時(shí)間超過(guò)/等于要延遲的時(shí)間,則退出. } }; delay_osschedunlock(); //恢復(fù)OS調(diào)度 }//延時(shí)nms//nms:要延時(shí)的ms數(shù)voiddelay_ms(u16nms){ if(delay_osrunning&&delay_osintnesting==0) //如果OS已經(jīng)在跑了,并且不是在中斷里面(中斷里面不能任務(wù)調(diào)度) { if(nms>=fac_ms) //延時(shí)的時(shí)間大于OS的最少時(shí)間周期 { delay_ostimedly(nms/fac_ms); //OS延時(shí) } nms%=fac_ms; //OS已經(jīng)無(wú)法提供這么小的延時(shí)了,采用普通方式延時(shí) } delay_us((u32)(nms*1000)); //普通方式延時(shí)}#else//不用OS時(shí)//延時(shí)nus//nus為要延時(shí)的us數(shù). voiddelay_us(u32nus){ u32temp; SysTick->LOAD=nus*fac_us; //時(shí)間加載 SysTick->VAL=0x00; //清空計(jì)數(shù)器 SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk; //開(kāi)始倒數(shù) do { temp=SysTick->CTRL; }while((temp&0x01)&&!(temp&(1<<16))); //等待時(shí)間到達(dá) SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk; //關(guān)閉計(jì)數(shù)器 SysTick->VAL=0X00; //清空計(jì)數(shù)器 }//延時(shí)nms//注意nms的范圍//SysTick->LOAD為24位寄存器,所以,最大延時(shí)為://nms<=0xffffff*8*1000/SYSCLK//SYSCLK單位為Hz,nms單位為ms//對(duì)72M條件下,nms<=1864voiddelay_ms(u16nms){ u32temp; SysTick->LOAD=(u32)nms*fac_ms; //時(shí)間加載(SysTick->LOAD為24bit) SysTick->VAL=0x00; //清空計(jì)數(shù)器 SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk; //開(kāi)始倒數(shù) do { temp=SysTick->CTRL; }while((temp&0x01)&&!(temp&(1<<16))); //等待時(shí)間到達(dá) SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk; //關(guān)閉計(jì)數(shù)器 SysTick->VAL=0X00; //清空計(jì)數(shù)器 }#endif#include"port.h"Keykey_in[KEY_NUM];void_key_init(Key*_key_ptr,u32_filter,u32_click_times,u32_clicks_times,u32_long_press_times){ _key_ptr->status=0; _key_ptr->up=1; _key_ptr->down=0; _key_ptr->filter_start_timing=0; _key_ptr->filter_times=_filter; _key_ptr->click_times=_click_times; _key_ptr->clicks_times=_clicks_times; _key_ptr->long_press_times=_long_press_times;}voidkey_init(u32_filter,u32_click_times,u32_clicks_times,u32_long_press_times){ u8i; for(i=0;i<KEY_NUM;i++) { _key_init(&key_in[i],_filter,_click_times,_clicks_times,_long_press_times); kin[i]=0; }}u8key_update(Key*_key_ptr,u16_s)//適用于觸發(fā)為低電平邏輯{ u8status; if(_s) status=1; else status=0; if(status!=_key_ptr->status) { if(_key_ptr->filter_start_timing==0) { _key_ptr->filter_time=sys_running_timer.ms; _key_ptr->filter_start_timing=1;//開(kāi)始計(jì)時(shí),去抖 } else { if((sys_running_timer.ms-_key_ptr->filter_time)>_key_ptr->filter_times) { _key_ptr->filter_start_timing=0; if(status==KEY_ACTIVE) { _key_ptr->up=0; _key_ptr->down=1; _key_ptr->click_time=sys_running_timer.ms; _key_ptr->long_press_time=sys_running_timer.ms; } else { _key_ptr->long_press=0; _key_ptr->up=1; _key_ptr->down=0; if((sys_running_timer.ms-_key_ptr->click_time)<_key_ptr->click_times) { if(_key_ptr->clicks==0) _key_ptr->clicks++; elseif((sys_running_timer.ms-_key_ptr->clicks_time)<_key_ptr->clicks_times) { _key_ptr->clicks++; } _key_ptr->clicks_time=sys_running_timer.ms; } } _key_ptr->status=status; } } } else { if(status==KEY_ACTIVE&&(sys_running_timer.ms-_key_ptr->long_press_time)>_key_ptr->long_press_times) { _key_ptr->long_press=1; } } if((sys_running_timer.ms-_key_ptr->clicks_time)>=_key_ptr->clicks_times) { _key_ptr->key_clicks=_key_ptr->clicks; _key_ptr->clicks=0; } return_key_ptr->status;}u8key_begin_timing=0;sys_timkey_tim;u8kin[KEY_NUM]={0};voidkey_logic(void){ u8i;for(i=0;i<KEY_NUM;i++){kin[i]=key_update(&key_in[i],*IO.keys[i]);}}/***************************短信功能****************************/uint8_tgsm_sms(char*num,char*smstext);//發(fā)送短信(支持中英文,中文為GBK碼)char*gsm_waitask(uint8_twaitask_hook(void));//等待有數(shù)據(jù)應(yīng)答,返回接收緩沖區(qū)地址uint8_t IsReceiveMS (void);uint8_t readmessage (uint8_tmessadd,char*num,char*str);/***************************GPRS功能***************************/uint8_t gsm_gprs_init (void); //GPRS初始化環(huán)境uint8_tgsm_gprs_tcp_link (char*localport,char*serverip,char*serverport); //TCP連接uint8_tgsm_gprs_udp_link (char*localport,char*serverip,char*serverport); //UDP連接uint8_tgsm_gprs_send (constchar*str); //發(fā)送數(shù)據(jù)uint8_tgsm_gprs_link_close (void); //IP鏈接斷開(kāi)uint8_tgsm_gprs_shut_close (void); //關(guān)閉場(chǎng)景uint8_t PostGPRS(void);/*調(diào)試用串口*/#defineGSM_DEBUG_ON 0#defineGSM_DEBUG_ARRAY_ON0#defineGSM_DEBUG_FUNC_ON 0//Logdefine#defineGSM_INFO(fmt,arg...)printf("<<-GSM-INFO->>"fmt"\n",##arg)#defineGSM_ERROR(fmt,arg...)printf("<<-GSM-ERROR->>"fmt"\n",##arg)#defineGSM_DEBUG(fmt,arg...)do{\if(GSM_DEBUG_ON)\printf("<<-GSM-DEBUG->>[%d]"fmt"\n",__LINE__,##arg);\ }while(0)#defineGSM_DEBUG_ARRAY(array,num)do{\int32_ti;\
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年云南師范大學(xué)基礎(chǔ)教育集團(tuán)人才招聘(若干)備考考試題庫(kù)及答案解析
- 飛機(jī)模型介紹教學(xué)
- 沈陽(yáng)戶外施工方案(3篇)
- 車輛信息安全分級(jí)管理制度(3篇)
- 2026年安徽廣播電視臺(tái)阜陽(yáng)發(fā)射臺(tái)招聘工勤崗位1人備考考試題庫(kù)及答案解析
- 2026年度延邊州教育局所屬事業(yè)單位教師專項(xiàng)招聘(53人)筆試模擬試題及答案解析
- 飛機(jī)介紹教學(xué)課件
- 2026廣西北海市合浦縣紀(jì)委監(jiān)委招錄公益性崗位人員1人備考考試題庫(kù)及答案解析
- 2026浙江嘉興海寧智能制造崗位專場(chǎng)招聘?jìng)淇伎荚囶}庫(kù)及答案解析
- 2025安徽銅陵市利業(yè)人才發(fā)展有限公司招聘派遣制專職財(cái)務(wù)人員(出納崗位)補(bǔ)充1人備考考試題庫(kù)及答案解析
- 2025年尿液分析儀行業(yè)分析報(bào)告及未來(lái)發(fā)展趨勢(shì)預(yù)測(cè)
- 2026屆湖北省宜昌市秭歸縣物理八年級(jí)第一學(xué)期期末質(zhì)量跟蹤監(jiān)視試題含解析
- 無(wú)人機(jī)系統(tǒng)安全培訓(xùn)課件
- 課程顧問(wèn)工作總結(jié)
- 《社區(qū)居家適老化環(huán)境設(shè)計(jì)》健康養(yǎng)老專業(yè)全套教學(xué)課件
- 2025年高考(甘肅卷)地理真題(學(xué)生版+解析版)
- 2025年山東省村級(jí)后備干部選拔考試題(含答案)
- 后勤副校長(zhǎng)述職課件
- GB/T 45758-2025室內(nèi)照明環(huán)境下光催化材料細(xì)菌減少率的測(cè)定半干法估算實(shí)際環(huán)境細(xì)菌污染表面抗菌活性
- 護(hù)理教學(xué)如何融入思政
- 放療患者的飲食指導(dǎo)及護(hù)理
評(píng)論
0/150
提交評(píng)論