標(biāo)題:
stm32的溫濕度加pm2.5相冊的制作 附源程序
[打印本頁]
作者:
1299213877
時(shí)間:
2021-1-13 20:29
標(biāo)題:
stm32的溫濕度加pm2.5相冊的制作 附源程序
可以實(shí)現(xiàn)溫濕度顯示pm2.5顯示可以根究外界亮度改變亮度可以更換flash內(nèi)的圖片
IMG_3109.JPG
(2 MB, 下載次數(shù): 32)
下載附件
效果圖
2021-1-13 20:20 上傳
單片機(jī)源程序如下:
#include "stm32f10x.h"
#include "stdio.h"
#include "dida.h"
#include "usar.h"
#include "lcd.h"
#include "HTU21D.H"
#include "iic.h"
#include "spi.h"
#include "flash.h"
#include "adc.h"
#include "pwm.h"
#include "iwdg.h"
const u8 pm[]={"pm2.5:"};
const u8 ug[]={"ug/m3"};
extern u8 G,j;
extern u8 cnt;
u16 pmu;
u8 j1,m;
static float tem=-5,htu=0;
static int data;
int main()
{
adc_init();//adc-gpio初始化
SPI_Flash_Init(); //SPI FLASH 初始化9g
Lcd_Init(); //初始化OLED
LCD_ShowPicture(0,0,239,239,0);
TIM1_PWM_Init(4096,71);
HTU21DInit();//HTU21D初始化函數(shù)
usart_init(9600);//串口初始化
LCD_ShowChinese(10,180,0,16,WHITE,1);
LCD_ShowChinese(26,180,1,16,WHITE,1);
LCD_ShowChar(42,180,':',1,WHITE);
LCD_ShowChinese(10,200,2,16,WHITE,1);
LCD_ShowChinese(26,200,3,16,WHITE,1);
LCD_ShowChar(42,200,':',1,WHITE);
LCD_ShowChinese(92,200,5,16,WHITE,1);
LCD_ShowString(10,220,pm,WHITE);
LCD_ShowString(92,220,ug,WHITE);
didal_init(90000);//滴答定時(shí)器初始化
iwdg_init(4,1500);//看門狗初始化
while(1)
{
data=Get_Adc_Average(3,1);
if(data<400)
{
TIM_SetCompare1(TIM1,(4096-data));
}
else
{
TIM_SetCompare1(TIM1,(4096-400));
}
if(j!=j1)
{
j1=j;
LCD_ShowPicture(0,0,239,239,j);
LCD_ShowChinese(10,180,0,16,WHITE,1);
LCD_ShowChinese(26,180,1,16,WHITE,1);
LCD_ShowChar(42,180,':',1,WHITE);
LCD_ShowChinese(10,200,2,16,WHITE,1);
LCD_ShowChinese(26,200,3,16,WHITE,1);
LCD_ShowChar(42,200,':',1,WHITE);
LCD_ShowChinese(92,200,5,16,WHITE,1);
LCD_ShowString(10,220,pm,WHITE);
LCD_ShowString(96,220,ug,WHITE);
}
if(G&&(j==j1))
{
G=0;
if(tem>=0)
{
LCD_Fill1(50,180,114,196,j);
LCD_ShowNum1(50,180,tem,4,WHITE);
LCD_ShowChinese(92,180,4,16,WHITE,1);
}
else
{
LCD_Fill1(50,180,116,196,j);
LCD_ShowChar(50,180,'-',1,WHITE);
LCD_ShowNum1(58,180,tem,4,WHITE);
LCD_ShowChinese(100,180,4,16,WHITE,1);
}
LCD_Fill1(50,200,90,216,j);
LCD_ShowNum1(50,200,htu,4,WHITE);
LCD_Fill1(58,216,88,234,j);
LCD_ShowNum(58,220,pmu,4,WHITE);
if(tem<20)
{
LCD_Fill1(160,180,224,196,j);
LCD_ShowChinese(160,180,6,16,WHITE,1);
LCD_ShowChinese(176,180,7,16,WHITE,1);
LCD_ShowChinese(192,180,8,16,WHITE,1);
LCD_ShowChinese(208,180,9,16,WHITE,1);
}
else if(tem>20&&tem<37)
{
LCD_Fill1(160,180,224,196,j);
LCD_ShowChinese(160,180,10,16,WHITE,1);
LCD_ShowChinese(176,180,11,16,WHITE,1);
LCD_ShowChinese(192,180,12,16,WHITE,1);
LCD_ShowChinese(208,180,13,16,WHITE,1);
}
else if((tem>37))
{
LCD_Fill1(160,180,224,196,j);
LCD_ShowChinese(160,180,14,16,WHITE,1);
LCD_ShowChinese(176,180,15,16,WHITE,1);
LCD_ShowChinese(192,180,16,16,WHITE,1);
LCD_ShowChinese(208,180,17,16,WHITE,1);
}
if(htu<45)
{
LCD_Fill1(160,200,224,216,j);
LCD_ShowChinese(160,200,18,16,WHITE,1);
LCD_ShowChinese(176,200,19,16,WHITE,1);
LCD_ShowChinese(192,200,20,16,WHITE,1);
LCD_ShowChinese(208,200,21,16,WHITE,1);
}
else if((htu>45)&&(htu<60))
{
LCD_Fill1(160,200,224,216,j);
LCD_ShowChinese(160,200,10,16,WHITE,1);
LCD_ShowChinese(176,200,11,16,WHITE,1);
LCD_ShowChinese(192,200,12,16,WHITE,1);
LCD_ShowChinese(208,200,13,16,WHITE,1);
}
else if(htu>60)
{
LCD_Fill1(160,200,224,216,j);
LCD_ShowChinese(160,200,22,16,WHITE,1);
LCD_ShowChinese(176,200,23,16,WHITE,1);
LCD_ShowChinese(192,200,24,16,WHITE,1);
LCD_ShowChinese(208,200,25,16,WHITE,1);
}
if(pmu<=50)
{
LCD_Fill1(160,220,224,236,j);
LCD_ShowChinese(160,220,26,16,WHITE,1);
}
else if((pmu>50)&&(pmu<=100))
{
LCD_Fill1(160,220,224,236,j);
LCD_ShowChinese(160,220,27,16,WHITE,1);
}
else if((pmu>100)&&(pmu<=150))
{
LCD_Fill1(160,220,224,236,j);
LCD_ShowChinese(160,220,28,16,WHITE,1);
LCD_ShowChinese(176,220,29,16,WHITE,1);
LCD_ShowChinese(192,220,30,16,WHITE,1);
LCD_ShowChinese(208,220,31,16,WHITE,1);
}
else if((pmu>150)&&(pmu<=200))
{
LCD_Fill1(160,220,224,236,j);
LCD_ShowChinese(160,220,32,16,WHITE,1);
LCD_ShowChinese(176,220,33,16,WHITE,1);
LCD_ShowChinese(192,220,34,16,WHITE,1);
LCD_ShowChinese(208,220,35,16,WHITE,1);
}
else if((pmu>200)&&(pmu<=300))
{
LCD_Fill1(160,220,224,236,j);
LCD_ShowChinese(160,220,36,16,WHITE,1);
LCD_ShowChinese(176,220,37,16,WHITE,1);
LCD_ShowChinese(192,220,38,16,WHITE,1);
LCD_ShowChinese(208,220,39,16,WHITE,1);
}
else if((pmu>300))
{
LCD_Fill1(160,220,224,236,j);
LCD_ShowChinese(160,220,40,16,WHITE,1);
LCD_ShowChinese(176,220,41,16,WHITE,1);
LCD_ShowChinese(192,220,42,16,WHITE,1);
LCD_ShowChinese(208,220,43,16,WHITE,1);
}
}
tem=HTU21DWork(0xf3)/(float)100;//觸發(fā)開啟溫度檢測
htu=((HTU21DWork(0xf5)/(float)100));//觸發(fā)開啟濕度檢測
IWDG_ReloadCounter();
}
}
復(fù)制代碼
所有資料51hei提供下載:
pcb工程.7z
(2.23 MB, 下載次數(shù): 19)
2021-1-13 20:38 上傳
點(diǎn)擊文件名下載附件
pcb文件
下載積分: 黑幣 -5
溫濕度pm2.5.7z
(200.85 KB, 下載次數(shù): 31)
2021-1-13 20:38 上傳
點(diǎn)擊文件名下載附件
主程序
下載積分: 黑幣 -5
其他資料.7z
(4.66 MB, 下載次數(shù): 24)
2021-1-13 20:38 上傳
點(diǎn)擊文件名下載附件
要用到的軟件跟程序
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1