使用KEIL 5 打開
解壓文件后彈窗點擊選擇 Cancel
否則編譯會出現錯誤
如果第一次彈窗沒有點擊取消,則重新解壓。
51hei.png (102.32 KB, 下載次數: 63)
下載附件
2021-9-15 00:39 上傳
51hei.gif (239.43 KB, 下載次數: 69)
下載附件
2021-9-15 00:39 上傳
單片機源程序如下:
- /**************************************
- * 文件名 :main.c
- * 描述 :串口顯示溫濕度,當溫度高于設定閾值時,LED閃爍,當濕度低于設定閾值時,蜂鳴器鳴響。
- * 實驗平臺:CH32最小系統 基于CH32F103C8T6
- * 庫版本 :ST3.0.0
- *********************************************************/
- #include "delay.h"
- #include "sys.h"
- #include "usart.h"
- #include "led.h"
- #include "dht11.h"
-
- //測試主函數
- #define LED_ON GPIO_SetBits(GPIOC, GPIO_Pin_13)
- #define LED_OFF GPIO_ResetBits(GPIOC, GPIO_Pin_13)
- #define Buzzer_ON GPIO_SetBits(GPIOC, GPIO_Pin_14)
- #define Buzzer_OFF GPIO_ResetBits(GPIOC, GPIO_Pin_14)
- void Buzzer_Init()
- {
- GPIO_InitTypeDef p;
-
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
-
- p.GPIO_Pin = GPIO_Pin_14;
- p.GPIO_Mode = GPIO_Mode_Out_PP;
- p.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOC, &p);
- }
- int main(void)
- {
- u8 temp,humi;
- LED_Init();
- Buzzer_Init();
- delay_init(); //延時函數初始化
- NVIC_Configuration(); //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級
- uart_init(9600); //串口初始化為9600
- printf("串口測試\r\n");
- while(DHT11_Init())
- {
-
- printf("傳感器設置錯誤\n");
- delay_ms(500);
- }
- while(1)
- {
- DHT11_Read_Data(&temp,&humi);
- printf("temp:%d humi:%d \n",temp,humi);
- delay_ms(500);
-
-
- if(temp>30)
- {
- LED_ON;
- printf("LED On\n");
- delay_us(200000);
- LED_OFF;
- delay_us(200000);
- }
- else
- {
- LED_OFF;
- }
- if(humi>30)
- {
- Buzzer_ON;
- printf("Buzzer On\n");
- delay_us(200000);
- }
- else
- {
- Buzzer_OFF;
- }
- delay_us(500000);
- }
- }
復制代碼
所有代碼51hei附件下載:
基于STM32F103C8T6+DHT11.7z
(1.15 MB, 下載次數: 45)
2021-9-15 00:39 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|