|
溫控風(fēng)扇源碼
- #include "delay.h"
- #include "sys.h"
- #include "pwm.h"
- #include "usart.h"
- #include "stdio.h"
- #include "dht11.h"
- //DHT11 接線方法:三個(gè)引腳,-接地,S接PB14,中間接3.3v
- //u8 buff[30]; //參數(shù)顯示緩存數(shù)組
- u8 DHT11_Temp,DHT11_Hum; //溫濕度
- int main(void)
- {
- u8 flag =0; //作為手動(dòng)擋和自動(dòng)擋
- int pluse=200; //保存捕獲比較寄存器的值
- int j=0; //電風(fēng)扇手動(dòng)擋檔數(shù)
- delay_init();
- TIM3_PWM_Init();
- DHT11_Init();
- uart_init(115200);
- fan_gpio();
- while(1)
- {
-
- if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)==1)//WA_UP
- {
- delay_ms(100);
- if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)==1)
- {
- flag+=1;
- }
- }
- //我用的板子按鍵有問(wèn)題,所以一上電就進(jìn)入手動(dòng)模式了
-
- // /*自動(dòng)情況*/
- if(!flag%2)
- {
- printf("自動(dòng)調(diào)速模式中\(zhòng)r\n" );
- DHT11_Read_Data(&DHT11_Temp,&DHT11_Hum);
- printf("當(dāng)前溫度:%d℃ 當(dāng)前濕度:%d%%\r\n",DHT11_Temp,DHT11_Hum);
- delay_ms(1000);
-
- if(DHT11_Temp>=30)
- {
- TIM_SetCompare2(TIM3,0); //全速開(kāi)風(fēng)
- }
- else if(25<DHT11_Temp&&DHT11_Temp<30)
- {
-
- TIM_SetCompare2(TIM3,80); //
- }
-
- else{
- TIM_SetCompare2(TIM3,200); //關(guān)閉
- }
- }
- //
- // /*手動(dòng)模式*/
- if(flag%2)
-
- {
- printf("手動(dòng)調(diào)速模式中\(zhòng)r\n" );
- printf("按Key0進(jìn)行檔位切換,當(dāng)前擋位:%d\r\n\r\n" ,j);
- TIM_SetCompare2(TIM3,pluse); //關(guān)閉
- delay_ms(1000);
- delay_ms(1000);
- if(GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_4)==0)//KEY0
- {
- delay_ms(10);
- if(GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_4)==0)
- {
-
- pluse=pluse-50;
- j=j+1;
- if(pluse<0)
- {
- pluse=200;
- j=0;
- }
- TIM_SetCompare2(TIM3,pluse); //關(guān)閉
- }
- }
- }
- }
- }
-
復(fù)制代碼
Keil代碼下載:
溫控風(fēng)扇代碼.7z
(197.95 KB, 下載次數(shù): 28)
2021-11-28 04:01 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|