新手上路
- 积分
- 31
- 金钱
- 31
- 注册时间
- 2020-11-3
- 在线时间
- 25 小时
|
10金钱
#include "stm32f10x.h"
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "oled.h"
#include "key.h"
#include "adc.h"
//int humidity_set=30;
//int humidity_now;
int main(void)
{
int humidity_set=70;
u8 t=0;
int humidity_now;
float temp;
float adcx;
delay_init(); //延时初始化
LED_Init(); //初始化与LED连接的硬件接口
KEY_Init(); //初始化与按键连接的硬件接口
Adc_Init(); //ADC初始化
LED0=0; //点亮LED
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
OLED_Init(); //初始化OLED
OLED_ShowString(0,0,"SET:",24);
OLED_ShowString(0,24, "NOW:",24);
OLED_ShowString(90,0, "%",24);
OLED_ShowString(90,24, "%",24);
OLED_Refresh_Gram();//更新显示到OLED
while(1)
{
adcx=Get_Adc_Average(ADC_Channel_1,10);
OLED_ShowNum(50,0,humidity_set,3,24); //显示设定的湿度值
temp=(float)adcx*(3.3/4096);
adcx=(temp)*10;
humidity_now=(adcx*(-5.7))+165;
OLED_ShowNum(50,24,humidity_now,3,24);
OLED_Refresh_Gram();//更新显示到OLED
t=KEY_Scan(0); //得到键值
switch(t)
{
case KEY0_PRES:
LED0=!LED0;
humidity_set=humidity_set+2;
GPIO_ResetBits(GPIOA,GPIO_Pin_12);
break;
case KEY1_PRES:
LED1=!LED1;
humidity_set=humidity_set-2;
break;
case WKUP_PRES:
LED0=!LED0;
LED1=!LED1;
GPIO_SetBits(GPIOA,GPIO_Pin_12);
// GPIO_ResetBits(GPIOA,GPIO_Pin_12);
default:
delay_ms(10);
}
if(humidity_set<humidity_set)
{
// GPIO_ResetBits(GPIOA,GPIO_Pin_12);
GPIO_SetBits(GPIOA,GPIO_Pin_12);
}
if(humidity_set>humidity_set)
{
GPIO_ResetBits(GPIOA,GPIO_Pin_12);
}
}
}
|
|