本项目为设计一个可以报警的智能温度显示系统,该系统由单片机最小系统、oled显示屏电路、复位电路、 功能按键电路等组成。
系统上电后开始工作,可通过功能按键设置好运行模式,启动运行后数字温度传感 器DS18B20不断采集温度数据,并送给单片机处理,单片机将系统设置数据与当前温度传感器DS18B20 采集的温度传感器数据进行对比,决定是否报警。
本项目采用STC89C52RC单片机作为主控制器,由oled屏显示,使用8550和SS8050三极管驱动, LED灯作为报警装置,温度传感器采用数字输出形式的DS18B20,通过温度检测和设定温度比较, 三种工作方式:风扇停止,风扇转动,风扇全速转动。
#include
#include
#include "ds18b20.h"
#include "oled.h"
#include "key.h"
sbit fengsan=P2^3;//控制风扇
unsigned char time=0;
void Timer0Init(void)
//5毫秒@11.0592MHz
{
TMOD = 0x01; //设置定时器模式
TL0 = 0xCD; //设置定时初值
TL0 = 0x00; //设置定时初值
TH0 = 0x28; //设置定时初值
TR0 = 1; //定时器0开始计时
ET0 = 1;
EA=1;
}
void main()
{
fengsan=0;
shang=3000;
xia=2000; //初始上下限值
OLED_Init();
OLED_Clear();//清屏
init_ds18b20();
Timer0Init();
//30微秒@11.0592MHz
OLED_ShowCHinese(0,0,0);//当
OLED_ShowCHinese(18,0,1);//前
OLED_ShowCHinese(36,0,2);//温
OLED_ShowCHinese(54,0,3);//度
while(1)
{
if(time==1)
{
duquwendu=DS_OneWire()*100;
gaodiwensheji();//高低温检测值
zhidowenkong();//自动控制风扇
}
}
}
void InterruptTimer0() interrupt 1
{
time=1;
}


什么是RTSP? RTSP和RTMP的区别
时间:2026-04-24
LCD1602显示原理
时间:2026-04-24
什么是BGA?BGA的结构和性能
时间:2026-04-24
降低电机驱动风险:栅极驱动器隔离的关键作...
时间:2026-04-24
电阻温度系数
时间:2026-04-24
占空比什么意思_占空比计算公式
时间:2026-04-24
详解卡尔曼滤波原理
时间:2026-04-23
什么是IMU(惯性传感器)
时间:2026-04-23
编码器是什么?编码器有哪些分类?
时间:2026-04-23
电容器颜色代码
时间:2026-04-23
石英灯电子变压器电路原理
时间:2026-03-06
半导体光刻工艺 光刻—半导体电路的绘制
时间:2026-03-09
什么是室温超导?半导体时代将走向结束?芯...
时间:2026-03-09
适用于DCM、QR的同步整流ic U7710SG介绍
时间:2026-03-09
北京理工大学实现了光导型向平面光伏型量子...
时间:2026-03-09
什么是硅片或者晶圆?一文了解半导体硅晶圆
时间:2026-03-09
汽车芯片业应汲取的教训
时间:2026-03-09
电阻的原理和作用 电阻色环识别图 电路中电...
时间:2026-03-09
半导体行业之ICT技术简介
时间:2026-03-09
NVIDIA CPU+GPU超级芯片大升级!
时间:2026-03-09