資源簡介
stm32開發之傳感器DHT11,讀取溫度和濕度
,包括proteus仿真程序以及keil程序(沒什么好說的了)
,包括proteus仿真程序以及keil程序(沒什么好說的了)

代碼片段和文件信息
#include?//單片機工程可以不用
#include?//這個頭文件一定要包含?---這個頭文件官方幫我們定義好了所有寄存器的地址
#define?LCD_RS?GPIO_Pin_0
#define?LCD_RW?GPIO_Pin_1
#define?LCD_EA?GPIO_Pin_2
int?Tem?=?8;
int?Hum;
unsigned?char?table[]=“Tem?00?Hum?00“;
/*----systick定時器模塊,用于精準延時------------------------------------------------------------------*/
void?systick_init(void)
{
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
}
void?delay_us(unsigned?int?us)
{
unsigned?int?set_time?=?us*84;//得到設定值??us*84<16777215???us<199728
unsigned?int?tmp;
//初始化
SysTick->LOAD?=?set_time;//把當前獲取需要的延時的時間設定值丟給LOAD寄存器?24bit
SysTick->VAL??=?0;//先清空計數器的當前值??寫0??之后再開啟定時器后?會將LOAD的設定值自動裝載進VAL
//開滴答定時器
SysTick->CTRL?|=?0x01;//給最低位1?開滴答定時器
while(1)
{
tmp?=?SysTick->CTRL;//讀取
//只要該條件為非零?就表示已經遞減計數到0
if(tmp?&?0x10000)
{
break;//跳出
}
}
SysTick->VAL?=?0;//把計數值清零
SysTick->CTRL?&=?(~0x01)?;//關閉定時器???0xFFFFFFFE?1110
//0|任何位不會改變該位
//1|任何位都會變為1
}
void?delay_ms(unsigned?int?ms)
{
unsigned?int?set_time?=?ms*84000;//得到設定值??us*84000<16777215???us<199.728??最高這一次延時
unsigned?int?tmp;
//初始化
SysTick->LOAD?=?set_time;//把當前獲取需要的延時的時間設定值丟給LOAD寄存器?24bit
SysTick->VAL??=?0;//先清空計數器的當前值??寫0??之后再開啟定時器后?會將LOAD的設定值自動裝載進VAL
//開滴答定時器
SysTick->CTRL?|=?0x01;//給最低位1?開滴答定時器
while(1)
{
tmp?=?SysTick->CTRL;//讀取
//只要該條件為非零?就表示已經遞減計數到0
if(tmp?&?0x10000)
{
break;//跳出
}
}
SysTick->VAL?=?0;//把計數值清零
SysTick->CTRL?&=?(~0x01)?;//關閉定時器???0xFFFFFFFE?1110
//0|任何位不會改變該位
//1|任何位都會變為1
}
void?delay_s(unsigned?int?s)
{
while(--s)
{
delay_ms(100);
delay_ms(100);
delay_ms(100);
delay_ms(100);
delay_ms(100);
delay_ms(100);
delay_ms(100);
delay_ms(100);
delay_ms(100);
delay_ms(100);
}
}
/*----DHT11傳感器模塊,讀取溫度和濕度------------------------------------------------------------------*/
void?GPIO_INIT(void)
{
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC?ENABLE);
GPIO_InitTypeDef?aaa;
aaa.GPIO_Pin?=?GPIO_Pin_All;//引腳號選擇??PA0??也要按照官方的填法??怎么填?去頭文件?stm32f4xx_gpio.h
aaa.GPIO_Mode?=?GPIO_Mode_OUT;//輸出模式
aaa.GPIO_OType?=??GPIO_OType_PP;//推挽輸出
aaa.GPIO_Speed?=?GPIO_High_Speed;//高速
//寫入
GPIO_Init(GPIOC&aaa);//&
//控制引腳
GPIO_WriteBit(GPIOC?GPIO_Pin_All??1);
}
//初始化PD0為輸出模式
void?DATAPin_ModeOut(void)
{
GPIO_InitTypeDef??aaa;//定義一個結構體變量
//1、使能指定的GPIO模塊時鐘--默認復位后開機時鐘不會全部提供給各個模塊?使用時需要自己開啟
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD?ENABLE);
//2、初始化引腳
aaa.GPIO_Pin?=?GPIO_Pin_0;//引腳號選擇??PA0??也要按照官方的填法??怎么填?去頭文件?stm32f4xx_gpio.h
aaa.GPIO_Mode?=?GPIO_Mode_OUT;//輸出模式
aaa.GPIO_OType?=??GPIO_OType_PP;//推挽輸出?低功率設備驅動
aaa.GPIO_PuPd??=?GPIO_PuPd_UP;//內部上拉使能
aaa.GPIO_Speed?=?GPIO_High_Speed;//高速
GPIO_Init(GPIOD&aaa);//&
}
//初始化PD0為輸入模式
void?DATAPin_ModeIn(void)
{
GPIO_InitTypeDef??aaa;//定義一個結構體變量
//1、使能指定的GPIO模塊時鐘--默認復位后開機時鐘不會全部提供給各個模塊?使用時需要自己開啟
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_G
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2020-03-22?16:05??Keil5\
?????文件???????????0??2020-03-10?11:37??Keil5\LED.uvmpw
?????文件???????94435??2020-03-22?16:05??Keil5\LED1.uvguix.攝心為戒
?????文件???????20251??2020-03-22?14:04??Keil5\LED1.uvoptx
?????文件???????19212??2020-03-14?15:46??Keil5\LED1.uvprojx
?????目錄???????????0??2020-03-18?11:11??Keil5\Listings\
?????文件???????73729??2020-03-22?14:06??Keil5\Listings\LED1.map
?????文件???????68267??2020-03-22?13:55??Keil5\Listings\startup_stm32f401xx.lst
?????文件????????7505??2020-03-23?16:28??Keil5\main.c
?????目錄???????????0??2020-03-22?14:06??Keil5\ob
?????文件??????344648??2020-03-22?13:55??Keil5\ob
?????文件????????1939??2020-03-22?13:55??Keil5\ob
?????文件??????342960??2020-03-22?13:55??Keil5\ob
?????文件??????263936??2020-03-22?14:06??Keil5\ob
?????文件????????4116??2020-03-22?14:06??Keil5\ob
?????文件????????6290??2020-03-22?14:06??Keil5\ob
?????文件??????????21??2020-03-22?14:09??Keil5\ob
?????文件???????46133??2020-03-22?14:06??Keil5\ob
?????文件?????????520??2020-03-22?14:06??Keil5\ob
?????文件?????????494??2020-03-11?22:27??Keil5\ob
?????文件???????16623??2020-03-22?14:06??Keil5\ob
?????文件??????312876??2020-03-22?14:06??Keil5\ob
?????文件????????1522??2020-03-22?14:06??Keil5\ob
?????文件??????332280??2020-03-22?14:06??Keil5\ob
?????文件??????306826??2020-03-22?13:55??Keil5\ob
?????文件????????1631??2020-03-22?13:55??Keil5\ob
?????文件??????319680??2020-03-22?13:55??Keil5\ob
?????文件??????????79??2020-03-22?13:55??Keil5\ob
?????文件????????6920??2020-03-22?13:55??Keil5\ob
?????文件??????307293??2020-03-22?13:55??Keil5\ob
?????文件????????1831??2020-03-22?13:55??Keil5\ob
............此處省略27個文件信息
- 上一篇:modbus模擬器.rar
- 下一篇:中國省級shp
評論
共有 條評論