|
基于STM32F103C8T6最小開(kāi)發(fā)板設(shè)計(jì)的戶外環(huán)境監(jiān)測(cè)系統(tǒng)(運(yùn)用了DHT11模塊,GY-30數(shù)字光照模塊,低電平觸發(fā)蜂鳴器,OLED顯示)
實(shí)踐成果展示:
單片機(jī)源程序如下:
- #include "stm32f10x.h"
- #include "usart.h"
- #include "delay.h"
- #include "DTH117.h"
- #include "sys.h"
- #include "bh1750.h"
- #include "oled.h"
- #include "bmp.h"
- #include "Beep.h"
- #include <stdarg.h>
- #include <string.h>
- #include <stdio.h>
- /*
- *讀取溫濕度傳感器DHT11的值,并用串口打印出來(lái)
- */
- void clock_init(void);
- u8 temp = 0,humi = 0,Light=0;
- /**************************************************************************
- 函數(shù)名:int main(void)
- 參數(shù)說(shuō)明:無(wú)
- 返回值:無(wú)
- 函數(shù)作用:主函數(shù)
- ***************************************************************************/
- int main(void)
- {
-
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
- delay_init();
- DHT11_Init();
- clock_init();
- bh1750_Init();
- OLED_Init();
- Beep_Init();
- OLED_Clear();
- Usart1_Init(115200); //初始化串口
- Usart2_Init(115200);
- //UsartPrintf(USART_DEBUG,"HardWare init OK\r\n");
-
-
-
-
- while(1)
- {
- //if (timeCount % 40==0){
- bh1750_ReadOneTime();
- bh1750_ReadContinuous1();
- DHT11_Read_Data(&temp,&humi);
- Light=getValue();
-
- UsartPrintf(USART_DEBUG,"\r\n 溫度:%d,濕度:%d,光照:%d",temp,humi,Light);
- OLED_Clear();
- OLED_ShowCHinese(0,0,0);
- OLED_ShowCHinese(15,0,1);
- OLED_ShowCHinese(30,0,2);
- OLED_ShowCHinese(45,0,3);
- OLED_ShowCHinese(60,0,4);
- OLED_ShowCHinese(75,0,5);
- OLED_ShowCHinese(90,0,6);
- OLED_ShowCHinese(105,0,7);
- OLED_ShowCHinese(0,2,8);
- OLED_ShowCHinese(17,2,9);
- OLED_Show(temp,humi,Light);//屏幕顯示成果
- delay_ms(50);//建議不要低于這個(gè)數(shù)值
- Beep_Warn(temp,humi);
- //}
- delay_ms(10);
- }
-
- }
- // }
-
- /**************************************************************************
- 函數(shù)名:void clock_init(void)
- 參數(shù)說(shuō)明:無(wú)
- 返回值:無(wú)
- 函數(shù)作用:開(kāi)啟高速外部時(shí)鐘,
- ADCCLK設(shè)置為12MHZ, SYSCLK設(shè)置為72Mhz,PCLK1設(shè)置為36MHZ,PKLC2設(shè)置為72mhz
- ***************************************************************************/
- void clock_init(void)
- {
- RCC->CR = 0x1010000;
- RCC->CFGR = 0x1DC402;
- }
復(fù)制代碼
Keil代碼下載:
代碼.7z
(208.34 KB, 下載次數(shù): 154)
2021-8-1 17:53 上傳
點(diǎn)擊文件名下載附件
|
|