标题:
基于stm32的pwm智能台灯程序设计 HTU21温湿度采集
[打印本页]
作者:
小驴特工
时间:
2019-4-11 20:16
标题:
基于stm32的pwm智能台灯程序设计 HTU21温湿度采集
基于stm32的智能台灯设计
STM32F103C8T6,输出PWM通过三极管开关控制高亮灯珠。
按键控制模式转变,自动手动感应三种模式。
HTU21温湿度采集。
光强度采集。
单片机源程序如下:
#include "delay.h"
#include "sys.h"
#include "oled.h"
#include "bmp.h"
#include "SHT2x.h"
#include "adc.h"
#include "led.h"
#include "key.h"
#include "timer.h"
u16 light,RT;
float temp,humi;
u16 DS18B20Temp;
extern u8 mode_flag;
int main(void)
{
delay_init(); //延时函数初始化
NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 LED_Init();
Adc1_Channe_Init();
LED_Init();//LCED端口初始化
KEY_Init();
OLED_Init(); //初始化OLED
OLED_StartShow();
OLED_Clear();
OLED_StaticShow();
delay_ms(20);
SHT2x_Init();
TIM4_PWM_Init(1000,0);//PWM频率80KHz
TIM_SetCompare4(TIM4,1000);//初始化灯灭,1000为反相占空比
while(1)
{
KEY_Scan_s();
light=get_Adc_Value(ADC_Channel_1);
light=light*10000/(409.6*17);
temp= SHT2x_GetTempPoll();//获取SHT20 温度
humi= SHT2x_GetHumiPoll();//获取SHT20 湿度
RT=get_Adc_Value(ADC_Channel_4);
// light_on_off();
OLED_ShowNum(36,4,temp,2,16);//显示温度值
OLED_ShowNum(36,6,humi,2,16);//显示湿度值
OLED_ShowNum_point(32,2,light);
// OLED_ShowNum(120,0,mode_flag,1,16);//显示ASCII字符的码值
}
}
复制代码
所有资料51hei提供下载:
基于单片机的智能台灯程序.7z
(214.6 KB, 下载次数: 74)
2019-4-11 20:26 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
hujiaqi06
时间:
2019-4-11 23:15
学习了,感谢楼主
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1