• 大小: 1.55MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-20
  • 语言: 其他
  • 标签:

资源简介

stm32开发之传感器DHT11,读取温度和湿度
,包括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\objects\
     文件      344648  2020-03-22 13:55  Keil5\objects\exti_stm32f4xx.crf
     文件        1939  2020-03-22 13:55  Keil5\objects\exti_stm32f4xx.d
     文件      342960  2020-03-22 13:55  Keil5\objects\exti_stm32f4xx.o
     文件      263936  2020-03-22 14:06  Keil5\objects\LED1.axf
     文件        4116  2020-03-22 14:06  Keil5\objects\LED1.build_log.htm
     文件        6290  2020-03-22 14:06  Keil5\objects\LED1.hex
     文件          21  2020-03-22 14:09  Keil5\objects\LED1.hex.asm
     文件       46133  2020-03-22 14:06  Keil5\objects\LED1.htm
     文件         520  2020-03-22 14:06  Keil5\objects\LED1.lnp
     文件         494  2020-03-11 22:27  Keil5\objects\LED1.sct
     文件       16623  2020-03-22 14:06  Keil5\objects\LED1_Target 1.dep
     文件      312876  2020-03-22 14:06  Keil5\objects\main.crf
     文件        1522  2020-03-22 14:06  Keil5\objects\main.d
     文件      332280  2020-03-22 14:06  Keil5\objects\main.o
     文件      306826  2020-03-22 13:55  Keil5\objects\misc.crf
     文件        1631  2020-03-22 13:55  Keil5\objects\misc.d
     文件      319680  2020-03-22 13:55  Keil5\objects\misc.o
     文件          79  2020-03-22 13:55  Keil5\objects\startup_stm32f401xx.d
     文件        6920  2020-03-22 13:55  Keil5\objects\startup_stm32f401xx.o
     文件      307293  2020-03-22 13:55  Keil5\objects\stm32f4xx_exti.crf
     文件        1831  2020-03-22 13:55  Keil5\objects\stm32f4xx_exti.d
............此处省略27个文件信息

评论

共有 条评论

相关资源