单片机课程设计温度操纵系统文档格式.docx
- 文档编号:17593336
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:40
- 大小:568.32KB
单片机课程设计温度操纵系统文档格式.docx
《单片机课程设计温度操纵系统文档格式.docx》由会员分享,可在线阅读,更多相关《单片机课程设计温度操纵系统文档格式.docx(40页珍藏版)》请在冰豆网上搜索。
ThetemperaturecontrolsystembasedonAT89S52SCMasthecontrollerisintroducedinthispaper.Thetemperaturemeasurementunitconsistsofdigitalthermometerchip.TheoutputofswitchingvaluefromAT89S52controlstheswitchofsolidstaterelaytoregulatethetemperatureintheoven.Anevidentimprovementonsteady-statebehaviorandresponseofsystemisachievedwhenthePIDcontrolalgorithmisused.
Keywords:
temperaturecontrol;
singlechipmicroprocessor;
PIDalgorithm;
DS18B20
一、系统设计
项目概要
整个系统主控部份采纳AT89S52组成单片机应用系统;
温度检测部份采纳DS18B20单总线数字温度传感器对温度进行检测;
操纵部份由固态继电器操纵加热管的通断。
工作时,由键盘输入设定温度值,系统采纳PID操纵算法进行运算,通过单片机AT89S52的开关量操纵固态继电器(SSR)的通断,以调剂烤箱内温度至设定值,稳态误差在+(-)1℃。
液晶实时显示烤箱内温度和设定温度值。
单片机温度操纵系统原理图如图1所示
图1单片机温度操纵系统原理图
设计任务和大体要求:
(1)实现0~99度范围的温度检测,精度为级。
通过2位LED显示器显示被测温度值。
(2)可用按键设置温度报警值,而且在LED上显示。
当超过报警限制时,发作声光报警。
(3)当温度超限时,依照某种操纵规律操纵执行器操作。
二、硬件设计
硬件设计概要
依照需求,咱们将系统分为五个模块,信息处置模块,温度搜集模块、时刻模块、操纵调剂模块、报警电路模块,显示模块。
信息处置模块
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处置器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器能够反复擦除100次。
该器件采纳ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微操纵器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式操纵系统提供了一种灵活性高且价廉的方案。
单片机模块如图
(1)所示。
图2单片机模块
温度搜集模块
传感器DS18b20简介
DALLAS最新单线数字温度传感器DS18b20简介新的“一线器件”,体积更小、适用电压更宽、更经济。
Dallas半导体公司的数字化温度传感器DS18b20是世界上第一片支持“一线总线”接口温度传感器。
一线总线独特而且经济的特点,利用户可轻松地组建传感器网络,为测量系统的构建引入全新的概念。
DS18b20、DS1822“一线总线”数字化温度传感器同DS1820一样,DS18b20也支持“一线总线”接口,测量温度范围为-55℃~+125℃,在-10℃~+85℃范围内,精度为
℃。
DS18b20的精度较差为
2℃。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:
环境操纵、设备或进程操纵、测量类消费电子产品等。
与前一代产品不同,新的产品支持3V~5V的电压范围,使系统设计更灵活、方便。
而且新一代产品更廉价,体积更小。
DS18b20内部结构要紧由四部份组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄放器。
实验模拟电路图
温度检测操纵模拟电路图Ds18b20原件及其连线如图(3),此温度传感器上显示的温度同步显示到LCD1602上,并有加温,减温按钮。
图3温度检测操纵模拟电路图
程序流程图
图4主程序流程图
图5DS18B20初始化子程序流程图
图6DS18B20读写的程序流程图
操纵调剂模块
升温调剂系统
通过继电器的开合来操纵加热片电路的通断,来达到设温成效,咱们预设温度为25度,当温度低于25度时,单片机引脚输出高电平,继电器导通,对温度传感器加热,加热模块如图7所示。
图7加温操纵电路
温度上下限调剂系统
通过按键操纵键选着调剂对象,通过上升下降调剂值大小,模拟电路图如图(78主控电路:
咱们设定温度为10--20度,为表示方便,那个地址设操纵开关,升温开关,降温开关别离为,k1,k2,k3,开始显示的是当前温度,K1主控开关,用来操纵进入的是当前温度,温度上限,下限的调剂界面。
按k1,一次进入三个界面。
按K2为加1开关,按一下,加1,k3减1开关,按一下,减1.
例如:
开始时显示的是当前温度界面,按下k1进入高温设定界面,显示器上显示当前温度和温度上限,按k2,上限加1,按k3,上限减1,再按k1进入显现设定界面,显示器显示当前温度,和温度下限,按k2,下限加1,按k3,下限减1,再按k1,进入显示当前温度界面。
如图(8)
报警电路系统
通过蜂鸣器的鸣叫实现报警,若是温度超过上限蜂鸣器鸣叫,温度低于下限蜂鸣器鸣叫。
如图8、9。
图8温度设定开关
图9报警模块
显示模块
通过搜集DS18B20的温度,同步显示到LCD1602上,精准到小数点后第一名。
如以下图
图10温度显示界面
通过DS1302时钟芯片将时刻同步显示到LCD1602上。
如以下图(时刻能够设置在此没有设置)
图11时刻显示界面
通过2402记录超过设定值的温度,如以下图:
图12记录超过设定值的温度显示界面
三、仿真后,部份显示功效
图(10)开始启动时,显示时刻信息
图(11)显示当前温度
图(12)温度低于低温下限,蜂鸣器鸣叫
图(13)温度高于温度上限,蜂鸣器鸣叫
图(14)显示学号界面
四、参考文献
[1]郭天祥.新概念51单片机C语音教程——入门提高开发拓展攻略[M].北京:
北京:
电子工业出版社,2009.
[2]韩广兴.电子元器件与有效电路基础[M].北京:
电子工业出版社,2005.
[3]方大千,朱丽.电子操纵系统装置制作入门[M].北京:
国防出版社,2006.
[4]刘向举,刘丽娜.[J].齐齐哈尔大学学报(自然科学版).2012(03)
[5]黄文力,邓小磊.[J].仪器仪表用户.2020(06)
[6]黄晓林.[J].自动化技术与应用.
2020(11)
[7]王文,王直.[J].电子设计工程.2020(20)
六、附录
原理图
参考程序
文件:
#include"
"
#include<
>
uchardatadatadis[]={0x00,0x00,0x00,0x00,0x00};
uinttemp=0;
sbitK1=P1^0;
sbitK2=P1^1;
sbitK3=P1^2;
sbitK4=P1^3;
sbitK5=P1^4;
sbitL1=P1^6;
sbitK7=P1^7;
sbitbeep=P1^5;
//sbitK1=P1^4;
//sbitK2=P1^5;
//sbitK3=P1^6;
//sbitK4=P1^7;
//sbitK5=P3^3;
//sbitL1=P2^5;
//sbitspeaker=P3^2;
ucharkeynum=1,flag,flag1,flag2,flag4,adder,q;
uintk,count=1,th,tl,set;
systemtimerealtime;
//CurrentTime;
ucharth1=8;
ucharth2=5;
ucharth3=2;
ucharth4=0;
uchartab,w;
voiddelay(ucharz)
{
ucharx,y;
for(x=z;
x>
0;
x--)
for(y=110;
y>
y--);
}
/*操纵页面1-4页*/
ucharkey4()
if(K4==0)
{
delay(5);
if(K4==0)
{
while(!
K4);
keynum++;
if(keynum==6)keynum=1;
}
}
returnkeynum;
/*****设置时刻键盘函数*********/
voidkey_time()
if(flag4==1&
&
k==1)
if(K7==0)
delay(5);
if(K7==0)
{
while(!
K7);
count++;
if(count==8)count=2;
}
switch(count)
case2:
if(K1==0)
delay(5);
if(K1==0)
{
set++;
while(!
K1);
if(set==60)set=0;
}
if(K2==0)
if(K2==0)
set--;
K2);
if(set==-1)set=59;
DS1302_SetTime(0x80,set);
break;
//设置秒
}
case3:
DS1302_SetTime(0x82,set);
//设置分
case4:
DS1302_SetTime(0x84,set);
//设置时
case5:
if(set==31)set=0;
if(set==-1)set=30;
DS1302_SetTime(0x86,set);
//设置日
case6:
if(set==13)set=0;
if(set==-1)set=12;
DS1302_SetTime(0x88,set);
//设置月
case7:
if(set==100)set=0;
if(set==-1)set=99;
DS1302_SetTime(0x8c,set);
//设置年
}
default:
else
flag4=0;
/*******设置温度的键盘扫描函数******/
voidkey_lcd()
if(flag1==1&
k==3)//k一定不能掉,不然会在其他菜单里出现乱码
if(K3==0)//按键判断,选择设置温度的光标
if(K3==0)
K3);
flag++;
//按键标识位
if(flag==5)flag=1;
switch(flag)
case1:
th1++;
if(th1==10)th1=0;
th1--;
if(th1==-1)th1=9;
LCD_pos(0x43);
write_dat(th1+0x30);
}break;
th2++;
if(th2==10)th2=0;
th2--;
if(th2==-1)th2=9;
LCD_pos(0x44);
//位置设定
write_dat(th2+0x30);
if(K1==0)
th3++;
if(th3==10)th3=0;
th3--;
if(th3==-1)th3=9;
LCD_pos(0x4c);
write_dat(th3+0x30);
th4++;
if(th4==10)th4=0;
th4--;
if(th4==-1)th4=9;
LCD_pos(0x4d);
write_dat(th4+0x30);
default:
break;
elseflag1=0;
//m必然不能掉,不然在调剂温度的时候会阻碍其他菜单
th=th1*10+th2;
//获取设置温度的高位
tl=th3*10+th4;
//获取设置温度的低位
voidalarm_beep()//报警系统与当前温度进行比较并处理
{
if(temp>
(th*10)||temp<
(tl*10))
beep=~beep;
L1=0;
adder++;
tab=temp/10;
write_add(adder,tab);
}
beep=1;
L1=1;
/*****主函数*******/
voidmain()
init_18b20();
init_lcd();
init_2402();
beep=1;
//Set_RTC();
count=7;
while
(1)
{
k=key4();
get_ds1302(&
realtime);
//取时刻
temp=read_temp();
//取温度
delay(200);
//延时保持数据稳定避免数据刷新
switch(k)
//菜单一,显示时间并且可以设置时间
//key_time();
//get_ds1302(&
LCD_pos(0);
print("
Time:
"
);
print;
LCD_pos(0x40);
Date:
flag4=1;
}break;
//菜单二,显示温度
{
DS18B20isOK"
print("
NOWTEMP:
if(flagt==1)datadis[0]=0x2d;
elsedatadis[0]=temp/1000+0x30;
datadis[1]=temp/100%10+0x30;
datadis[2]=temp/10%10+0x30;
datadis[3]=0x2e;
datadis[4]=temp%10+0x30;
LCD_pos(0x49);
print(datadis);
LCD_pos(0x4e);
//写入摄氏度符号
write_dat(0xdf);
LCD_pos(0x4f);
write_dat(0x43);
//菜单三,显示温度设置值
print("
changetemp:
TH=TL="
LCD_pos(0x43);
write_dat(th1+0x30);
LCD_pos(0x44);
write_dat(th2+0x30);
LCD_pos(0x45);
//摄氏度符号
LCD_pos(0x46);
LCD_pos(0x4c);
write_dat(th3+0x30);
LCD_pos(0x4d);
write_dat(th4+0x30);
//摄氏度符号
writ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 温度 操纵 系统