基于单片机的温度控制器附程序代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
生产实习报告书
报告名称基于单片机的温度控制系统设计
姓名
学号541007070138、541007070140、541007070141 院、系、部计算机与通信工程学院
专业信息工程10-01
指导教师
2013年 9 月 1日
目录
1.引言 (1)
2.设计要求 (1)
3.设计思路 (1)
4.方案论证 (2)
4.1方案一 (2)
4.2方案二 (2)
5.工作原理 (2)
6.硬件设计 (2)
6.1单片机模块 (2)
6.2 数字温度传感器模块 (4)
6.2.1 DS18B20性能 (4)
6.2.2 DS18B20外形及引脚说明 (5)
6.2.3 DS18B20接线原理图 (5)
6.3按键模块 (6)
6.4声光报警模块 (6)
6.5数码管显示模块 (7)
7.程序设计 (8)
7.1主程序模块 (8)
7.2 读温度值模块 (8)
7.2.1读温度值模块流程图: (9)
7.2.2 DS18B20写字节和读字节子程序流程图: (10)
7.3 中断模块 (10)
7.4 温度设定、报警模块 (10)
8.实物效果图 (12)
9.实习总结 (14)
附录 (15)
基于单片机的温度控制系统设计
1.引言
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便是不可否定的,各种数字系统的应用也使人们的生活更加舒适。数字化控制、智能控制为现代人的工作、生活、科研等方面带来方便。其中数字温控器就是一个典型的例子。数字温控器具有读数方便、测温围广、测温精确、功能多样话等优点。其主要用于对测温要求准确度比较高的场所,或科研实验室使用,该设计使用STC12C5A60S2单片机作控制器,数字温度传感器DS18B20测量温度,单片机接受传感器输出,经处理用LED数码管实现温度值显示,并能任意设定报警温度的温度围,实现声光报警。在我们的实习过程中,我们首先要根据原理图焊接一个STC12C5A60S2单片机的开发板,经测试准确无误后,编写程序实现上面所说的数字温度控制器。
2.设计要求
1.控制温箱温度
2.加热:电炉丝,这里改成发光二极管
3.冷却:自然or风冷
4.温度目标区间:-50-100℃
5.运行环境:常温
6.供电:+5v
7.控制精度:±2 ℃
8.温度可设定,如果下限超过上限,显示错误。
9.温度可显示
10.超温报警
3.设计思路
设计一个单片机测控系统,一般可分为四个步骤:
(1)需求分析,方案论证和总体设计
需求分析:被测控参数的形式(电量、非电量、模拟量、数字量等)、被测控参数的围、性能指标、系统功能、工作环境、显示、报警、打印要求等。
方案论证:根据要求,设计出符合现场条件的软硬件方案,又要使系统简单、经济、可靠,这是进行方案论证与总体设计一贯坚持的原则。
(2)器件选择,电路设计制作,数据处理算法,软件的编制阶段。
(3)系统调试与性能测定。
(4)文件编制。
文件包括:任务描述、设计的指导思想及设计方案论证、性能测定及现场试用报告与说明、使用指南、软件资料(流程图、子程序使用说明、地址分配、程序清单)、硬件资料(电原理图、元件布置图及接线图、接插件引脚图、线路板图、注意事项)。
文件不仅是设计工作的结果,而且是以后使用、维修以及进一步再设计的依据。因此,一定要精心编写,描述清楚,使数据及资料齐全。
4.方案论证
4.1方案一
由于本设计是测温电路,可以使用热敏电阻之类的器件,将随被测温度变化的电压或电流采样,进行A/D转换后就可以用单片机进行数据处理,实现温度显示。这种设计需要用到A/D转换电路,增大了电路的复杂性,而且要做到高精度也比较困难。
4.2方案二
考虑到在单片机属于数字系统,容易想到数字温度传感器,可选用DS18B20数字温度传感器,此传感器为单总线数字温度传感器,起体积小、构成的系统结构简单,它可直接将温度转化成串行数字信号给单片机处理,即可实现温度显示。另外DS18B20具有3引脚的小体积封装,测温围为-55~+125摄氏度,测温分辨率可达0.0625摄氏度,其测量围与精度都能符合设计要求。
以上两种方案相比较,第二种方案的电路、软件设计更简单,此方案设计的系统在功耗、测量精度、围等方面都能很好地达到要求,故本设计采用方案二。
5.工作原理
温度传感器 DS18B20 从设备环境的不同位置采集温度,单片机 AT89S51 获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备 (压缩制冷器) ,并通过三极管驱动扬声器发出警笛声。当采集的温度经处理后低于设定温度的下时 , 单片机通过三极管驱动继电器开启升温设备 (加热器) ,并通过三极管驱动扬声器发出警笛声。
6.硬件设计
6.1单片机模块
STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼
容传统8051,但速度快8-12倍。部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。
1.增强型8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051;
2.工作电压:STC12C5A60S2系列工作电压:5.5V-
3.3V(5V单片机)STC12LE5A60S2系列工作电压:3.6V-2.2V(3V单片机);
3.工作频率围:0 - 35MHz,相当于普通8051的 0~420MHz;
4.用户应用程序空间8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K 字节;
5.片上集成1280字节RAM;
6.通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口),可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏,每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55Ma;
7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片;
8.有EEPROM功能(STC12C5A62S2/AD/PWM无部EEPROM);
9. 看门狗;
10.部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K 电阻到地);
11.外部掉电检测电路:在P4.6口有一个低压门槛比较器,5V单片机为1.32V,误差为+/-5%,3.3V单片机为1.30V,误差为+/-3%;
12.时钟源:外部高精度晶体/时钟,部R/C振荡器(温漂为+/-5%到+/-10%以) 1用户在下载用户程序时,可选择是使用部R/C振荡器还是外部晶体/时钟,常温下部R/C振荡器频率为:5.0V单片机为:11MHz~15.5MHz,3.3V单片机为:8MHz~12MHz,精度要求不高时,可选择使用部时钟,但因为有制造误差和温漂,以实际测试为准;
13.共4个16位定时器两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器再加上2路PCA模块可再实现2个16位定时器;
14. 2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟;
15.外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,Power Down模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4, T1/P3.5, RxD/P3.0,CCP0/P1.3(也可通过寄存器设置到P4.2 ), CCP1/P1.4 (也可通过寄存器设置到P4.3);
16. PWM(2路)/PCA(可编程计数器阵列,2路):
——也可用来当2路D/A使用
——也可用来再实现2个定时器
——也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持);
17.A/D转换, 10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)18.通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口;
19. STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3);