目录
一、项目成品展示
二、功能介绍
三、硬件组成
四、PCB展示
五、程序设计
六、资料分享
资料获取 查看主页介绍:兆龙电子单片机设计
一、项目成品展示
项目成品图片展示:
哔哩哔哩视频链接:
STM32单片机智能农业大棚控制系统-插件款
二、功能介绍
三、硬件组成
四、PCB展示
五、程序设计
int main(void)
{ delay_init(); //延时函数初始化 NVIC_Configuration();delay_ms(500); //上电瞬间加入一定延时在初始化DS18B20_GPIO_Init();Adc_Init(); //ADC初始化KEY_GPIO_Init(); //按键初始化LCD_Init(); //屏幕初始化DS18B20_Init();LCD_Write_String(0,0," loading... ");LCD_Write_String(0,0,"Moisture:00% ZD ");//显示字符串LCD_Write_String(0,1,"Gx:00% Temp:00 C");LCD_Write_Char(14,1,0xdf);TIM3_Init(99,719); //定时器初始化,定时1ms//Tout = ((arr+1)*(psc+1))/Tclk ; //Tclk:定时器输入频率(单位MHZ)//Tout:定时器溢出时间(单位us)while(1){ keyscan();if(setn == 0){if(shuaxin == 1){shuaxin = 0;displayLight(); //显示光照displaySoilMoisture(); //显示土壤湿度displayTemperature(); //显示温度if(mode==0) {if(light<=setLightValue)RELAY1=1;else RELAY1=0; //光线暗开灯if(soilMoisture<=setSoilMoisture)RELAY2=1;else RELAY2=0; //湿度低开水泵if(temperature>=setTempValue)RELAY3=1;else RELAY3=0; //温度高开风扇if(light<=setLightValue||temperature>=setTempValue||soilMoisture<=setSoilMoisture)BEEP=1;else BEEP=0; //蜂鸣器提醒}else{BEEP=0;}}}delay_ms(20);}
}void TIM3_IRQHandler(void) //TIM3中断,50毫秒一次中断
{static u16 timeCount1 = 0;if(TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) //检查指定的TIM中断发生与否:TIM 中断源 {TIM_ClearITPendingBit(TIM3, TIM_IT_Update); //清除TIMx的中断待处理位:TIM 中断源 timeCount1++;if(timeCount1 >= 300) //300ms{timeCount1 = 0;shanshuo = !shanshuo;shuaxin = 1;}}
}