有什么网站做任务给钱的,钦州seo,网站建设 软件有哪些,最新军事新闻事件今天作品功能
这个智能温度控制系统基于MSP430单片机设计#xff0c;能够实时监测环境温度并根据预设的温度报警值自动调节风扇和加热片的工作状态。主要功能包括#xff1a;
实时显示当前温度。通过OLED屏幕显示温度报警值。通过按键设置温度报警值。实际温度超过报警值时能够实时监测环境温度并根据预设的温度报警值自动调节风扇和加热片的工作状态。主要功能包括
实时显示当前温度。通过OLED屏幕显示温度报警值。通过按键设置温度报警值。实际温度超过报警值时自动开启风扇。实际温度低于报警值时自动开启加热片。
硬件材料
MSP430 单片机DS18B20 温度传感器OLED 显示屏风扇加热片按键
电子元器件如何连接 DS18B20 温度传感器 VCC 接 3.3VGND 接 GNDDATA 接 P1.5 OLED 显示屏 VCC 接 3.3VGND 接 GNDSCL 接 P2.0SDA 接 P2.2 加热片 VCC 接 3.3VGND 接 GNDDATA 接 P2.3 风扇 VCC 接 3.3VGND 接 GNDDATA 接 P2.6 按键 按键1 接 P1.1 板子上有按键2 接 P2.1 板子上有
代码讲解
初始化部分
初始化了OLED显示屏并在屏幕上设置了温度控制相关的汉字显示位置同时配置了按键和传感器的端口。
WDTCTL WDTPW WDTHOLD; // Stop WDTOLED_Init(); // OLED初始化
// 第一排显示 温度检测控制
OLED_ShowCHinese(16 * 1, 0, 0);
OLED_ShowCHinese(16 * 2, 0, 1);
OLED_ShowCHinese(16 * 3, 0, 2);
OLED_ShowCHinese(16 * 4, 0, 3);
OLED_ShowCHinese(16 * 5, 0, 4);
OLED_ShowCHinese(16 * 6, 0, 5);// 第二排显示 温度
OLED_ShowCHinese(16 * 0, 2, 6);
OLED_ShowCHinese(16 * 1, 2, 7);
OLED_ShowCHinese(16 * 2, 2, 8);// 第三排显示 临界
OLED_ShowCHinese(16 * 0, 4, 9);
OLED_ShowCHinese(16 * 1, 4, 10);
OLED_ShowCHinese(16 * 2, 4, 11);// 显示临界值
display_num_oled(16 * 3, 4, Temp_critical_value);主循环部分
在主循环中系统会不断读取温度传感器的值并更新显示。如果按下按键1增加临界值按下按键2减少临界值。根据当前温度和临界值的比较自动控制风扇和加热片的开关。
while (1) {delay_ms(10);t (t 1) % 20;if (t 1) {temperature get_one_temperature(); // 读取温度display_num_oled(16 * 3, 2, temperature); // 显示温度}// 按键1增加临界值if (!(P1IN BIT1)) {while (!(P1IN BIT1));if (Temp_critical_value 400) {Temp_critical_value 10;}display_num_oled(16 * 3, 4, Temp_critical_value); // 显示临界值}// 按键2减少临界值if (!(P2IN BIT1)) {while (!(P2IN BIT1));if (Temp_critical_value 20) {Temp_critical_value - 10;}display_num_oled(16 * 3, 4, Temp_critical_value); // 显示临界值}// 温度控制逻辑if (temperature (Temp_critical_value 10)) {P2OUT | BIT3; // 关闭加热片P2OUT ~BIT6; // 打开风扇OLED_ShowCHinese(16 * 0, 6, 14); // 显示制冷OLED_ShowCHinese(16 * 1, 6, 15); // 显示制冷} else if (temperature (Temp_critical_value - 10)) {P2OUT ~BIT3; // 打开加热片P2OUT | BIT6; // 关闭风扇OLED_ShowCHinese(16 * 0, 6, 12); // 显示加热OLED_ShowCHinese(16 * 1, 6, 13); // 显示加热} else {P2OUT | BIT3; // 关闭加热片P2OUT | BIT6; // 关闭风扇OLED_ShowString(0, 6, );}
}全部代码
https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tabBB08J2