久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
DHT11的stm32溫濕度測量源代碼
[打印本頁]
作者:
郝鵬
時間:
2017-4-24 19:36
標題:
DHT11的stm32溫濕度測量源代碼
stm32的溫度測量
CMSIS 存放的是由ARM和ST官方提供的一些芯硬件底層定義
HARDWARE 存放開發(fā)者自己定義的外設 比如LED
STLib 存放ST官方對32的支持庫
startup 是STM32的啟動文件
USR 主函數(shù)入口 和一些用戶文件
SYSTEM 存放原子開發(fā)的系統(tǒng)函數(shù)
OBJ LIST 存放生成的中間文件和最后生成的hex文件
PROJ 存放工程文件
0.png
(47.49 KB, 下載次數(shù): 73)
下載附件
2017-4-24 21:40 上傳
完整源碼下載:
DHT11.7z
(243.25 KB, 下載次數(shù): 86)
2022-12-15 18:23 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
部分代碼預覽:
/**********************************
* 功能:讀取溫濕度傳感器數(shù)據(jù)
* 版本:V1.0
* 作者:zx
* 日期:2016/5/29
* 說明:不要試著在傳感器正常工作時將其拔掉,否則會使程序卡死,如果這種情況發(fā)生了,請重啟設備!
* 原因是程序可能會卡在while循環(huán)上,解決的最有效辦法是加入限時跳出機制,但此版本沒有!
***********************************/
#include "DHT11.h"
//依次是濕度整數(shù)、小數(shù)部分、溫度整數(shù)、小數(shù)部分、校驗碼
u8 HR,H_temp,Temp,T_temp,checkcode;
void DHT11_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC,&GPIO_InitStructure);
GPIO_SetBits(GPIOC,GPIO_Pin_0);
}
void Data_IO_IN(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOx,&GPIO_InitStructure);
}
void Data_IO_OUT(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOx,&GPIO_InitStructure);
}
u8 DHT11_ReadByte(void)
{
u8 i,dat = 0;
Data_IO_IN(GPIOC,GPIO_Pin_0);
for(i=0;i<8;++i)
{
while(!GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_0));
Delay_us(30);
if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_0))
{
dat <<= 1;
dat |= 0x01;
}
else
{
dat <<= 1;
}
while(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_0));
}
return dat;
}
u8 DHT11_ReadData(void)
{
Data_IO_OUT(GPIOC,GPIO_Pin_0);
LINE_LOW(GPIOC,GPIO_Pin_0);
Delay_ms(25);
LINE_HIGH(GPIOC,GPIO_Pin_0);
Data_IO_IN(GPIOC,GPIO_Pin_0);
while(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_0));
while(!GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_0));
while(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_0));
HR = DHT11_ReadByte();
H_temp = DHT11_ReadByte();
Temp = DHT11_ReadByte();
T_temp = DHT11_ReadByte();
checkcode = DHT11_ReadByte();
if(HR+H_temp+Temp+T_temp==checkcode)
return SUCCESS;
else
return FAIL;
}
復制代碼
#include "user_app.h"
extern u8 HR,H_temp,Temp,T_temp,checkcode;
extern char LCD_Start_UI[]; //開機UI
extern char LCD_Menu_UI[]; //主界面菜單UI
extern char LCD_Temp_UI[];
extern char LCD_Hum_UI[];
extern char LCD_CPU_UI[];
extern char Pos[];
extern char DHT11_Init_OK[];
extern char DS18B20_Init_OK[];
extern char DS18B20_Init_ERROR[];
extern char LED_Init_OK[];
extern char BEEP_Init_OK[];
int main(void)
{
s16 i = 0;
u8 sta = 0;
//SysTick_Init();
Delay_init();
UART_Config(115200);
LCD_Show(LCD_Start_UI);
Delay_ms(1000);
BIOS_Check();
LCD_Show(LCD_Menu_UI);
Delay_ms(300);
for(;;)
{
i = DS18B20_Get_Temp();
DHT11_ReadData();
Warning_Beep(i);
Temp_Convert(i);
Hum_Convert(HR);
DrawGraph(i);
sta = !sta;
LED_RUN(sta);
//GPIOB->ODR ^= 1<<10;
LCD_Show(LCD_Temp_UI);
Delay_ms(100);
LCD_Show(LCD_Hum_UI);
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
作者:
jubaolun
時間:
2017-12-20 19:45
學習了。感謝分享。
作者:
Treasure9479
時間:
2018-3-13 22:02
不能下載源代碼馬??
作者:
2294012034
時間:
2018-4-11 16:23
能使用proteus仿真嗎
作者:
MO7777777
時間:
2018-4-24 14:09
好東西值得學習
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
日韩福利视频
|
91精品国
|
av资源在线
|
国产精品久久
|
国产二三区
|
免费理论片
|
欧美又大又硬又粗bbbbb
|
国产精品偷乱一区二区三区
|
精品黄色片
|
亚洲成人精品在线观看
|
特黄一级视频
|
亚洲免费一区二区
|
精品亚洲一区二区三区
|
欧美区在线
|
一级黄片毛片
|
三级黄色片免费看
|
精品国产一区二区在线观看
|
亚洲第一毛片
|
天天插天天狠天天透
|
精品久久网站
|
日韩精品综合
|
一级特黄毛片
|
国产精品第一区
|
日韩av在线免费
|
蜜乳av懂色av粉嫩av
|
色综合色综合
|
午夜久久久久久
|
www.久久爱
|
国产美女毛片
|
美日韩在线视频
|
国产欧美日韩综合
|
青青视频网
|
精品久久国产
|
日韩欧美二区
|
黄色网免费
|
国产精品国产成人国产三级
|
欧美一区免费
|
国产伦精品一区二区免费
|
黄色一级大片在线免费看产
|
www.日本在线观看
|
国产午夜三级
|