
电气工程及其自动化2012级单片机
课程设计报告
评语:考勤(10)守纪(10)实习报告(20)实训过程(20)实训报告(30分)小组答辩(10)总成绩(100)
专业:电气工程及其自动化
班级:电气1201
姓名:武金甲
学号:201209621
指导教师:张鑫
兰州交通大学自动化与电气工程学院
2014年12月31日
1设计题目
基于单片机的电厂锅炉过热蒸汽温度监测系统设计。
2.1设计目的
本文是针对电厂锅炉过热蒸汽温度监测系统进行的分析和设计,而对锅炉过热蒸汽的良好监测是保证系统输出蒸汽温度稳定的前提,并且随着现代信息技术的飞速发展和传统工业改造的逐步实现,温度自动检测和显示系统在很多领域得到广泛应用,人们在温度检测的准确度、便捷、快速等方面有着越来越高的要求。而传统的温度传感器已经不能满足人们的需求,其渐渐被新型的温度传感器所代替。
本文设计并制作了一个电厂锅炉过热蒸汽温度监测系统,本设计采用了单片机AT89C51和温度传感器DS18B20组成了电厂锅炉过热蒸温度自动监测系统。在此设计中利用了AT89C51单片机作为主控制器件,DS18B20作为测温传感器通过LED数码管串口传送数据,实现温度显示。通过DS18B20直接读取被测温度值,进行数据转换,能够设置温度上限来设置报警温度。并且在到达报警温度后,系统会自动报警。
本文的设计是从主函数,延迟函数,测温函数等几个方面来分析说明的。该器件可直接向单片机传输数字信号,便于单片机处理及控制。另外,该温度计还能直接采用测温器件测量温度。从而简化数据传输与处理过程。此设计的优点主要体现在可操作性强,结构基础简单,拥有很大的扩展空间等。
2.2设计要求
(1)可利用温度传感器(DS18B20)测量过热蒸汽温度。
(2)测量范围为+100℃~+125℃,误差为1℃。
(3)用LED进行实际温度值显示。
(4)能够根据需要方便设定上限报警温度。
(5)当达到报警温度后,能够自动发出报警。
2.3设计方法
主控制器件采用AT89C51进行控制,选用DS18B20温度传感器进行温度的采集,并且采用2个4位的LED数码管进行温度的显示,在超出预先设置的上限温度时,会自动发出报警。
3设计方案及原理
根据系统的设计要求,当温度传感器DS18B20把所测得的温度发送到AT89C51单片机上,经AT89C51处理,将把温度在显示电路上显示,除了显示温度以外还可以设置一个报警温度,对所测温度进行监控,对温度进行上限设置。当温度高于设定温度时,自动开始报警。
利用AT89C51芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上限报警温度。
系统框图如图1所示
图1电厂锅炉过热蒸汽温度监测系统框图
4硬件设计
4.1.1单片机的选择
设计中我们选用的是AT89C51单片机。AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,引脚图如图2所示:
图289C51引脚图
4.1.2AT89C51基本性质
1)与MCS-51兼容
2)4K字节可编程FLASH存储器
3)寿命:1000写/擦循环
4)数据保留时间:10年
5)全静态工作:0Hz-24MHz
6)三级程序存储器锁定
7)128×8位内部RAM
8)32可编程I/O线
9)两个16位定时器/计数器
10)5个中断源
11)可编程串行通道
12)低功耗的闲置和掉电模式
13)片内振荡器和时钟电路
4.2温度传感器的选择
设计中我们选用的是DS18B20数字温度传感器,DS18B20是美国DALLAS公司继DS1820之后推出的增强型单总线数字式温度传感器,它在转换速度、转换时间、传输距离、分辨率等方面较之前产品有了很大的改进,给用户带来了更方便、更令人满意的效果。DALLAS最新单线数字温度传感器DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。温度测量范围为-55~+125摄氏度,可编程为9位~12位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DQ为数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。
在硬件上,DS18B20与单片机的连接有两种方法,一种是VCC接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻,其原理图如图3所示。
图3DS18B20温度传感器原理图
DS18B20的性能特点如下:独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
4.2.2DS18B20基本特点
1)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电。
2)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。(3)零待机功耗。
3)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
4)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
5)用户可定义报警设置。
6)报警搜索命令识别并标志超过程序限定温度的器件。
7)结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
4.2.3DS18B20的测温原理
DS18B20的测温原理如图4所示,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
首先用DS1820提供的读暂存寄存器指令(BEH)读出以0.5℃为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度整数部分T整数,然后再用BEH指令读取计数器1的计数剩余值M剩余和每度计数值M每度,考虑到DS1820测量温度的整数部分以0.25℃、0.75℃为进位界限的关系,实际温度T实际可用下式计算得到:T实际=(T整数-0.25℃)+(M每度-M剩余)/M每度。
图4DS18B20的测温原理框图
4.3显示器的选择
设计中要求显示测试温度,工作电压不能太高,与单片机的连接方式需要简单,显示准确。本设计中采用的是共阴极的2个4位LED数码管,共阴极则是把所有LED的阴极连接到共同接点,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点),原理图如图5所示。
图54位LED数码管原理图
其中S1,S2,S3,S4是用来选择每一个位的数码管工作的,a,b,c,d,e,f,g和dp这些是控制每一位数码管的段店亮,共阴极的是位选线为低电平,段选线为高电平。
5软件设计
5.1主函数流程图
主函数流程图如图6所示,主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,并且判断当前的温度是否超出设置的温度上限,如果超出,则会进行报警处理。
图6主函数流程图
5.2DS18B20读温度子程序流程图
读温度子程序流程图如图7所示,CPU对DS18B20的访问流程是:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
初始化DS18B20程序时,先将DQ复位,再稍做延时,利用单片机将DQ拉低,进行一段精确延时大于480us小于960us,再拉高总线,延时15~60us后接收60-240us的存在脉冲,判断如果x=0则初始化成功,x=1则初始化失败,稍作延时返回。
图7读温度子程序流程图
6系统仿真
6.1使用软件
仿真中使用的是Proteus仿真软件,Proteus是英国Labcenter公司开发的电路分析与实物仿真及印制电路板设计软件,它可以仿真、分析各种模拟电路与集成电路,软件提供了大量模拟与数字元器件及外部设备,各种虚拟仪器,特别是它具有对单片机及其外围电路组成的综合系统的交互仿真功能。
Proteus主要由ISIS和ARES两部分组成,ISIS的主要功能是原理图设计及与电路原理图的交互仿真,ARES主要用于印制电路板的设计。
