课程设计题目:单片机恒温箱温度控制系统的设计本课程设计要求:本温度控制系统为以单片机为核心,实现了对温度实时监测和控制,实现了控制的智能化。设计恒温箱温度控制系统,配有温度传感器,采用DS18B20数字温度传感器,无需数模拟∕数字转换,可直接与单片机进行数字传输,采用了PID控制技术,可以使温度保持在要求的一个恒定范围内,配有键盘,用于输入设定温度;配有数码管LED用来显示温度。技术参数和设计任务:1、利用单片机AT89C2051实现对温度的控制,实现保持恒温箱在最高温度为110℃。2、可预置恒温箱温度,烘干过程恒温控制,温度控制误差小于±2℃。3、预置时显示设定温度,恒温时显示实时温度,采用PID控制算法显示精确到0.1℃。4、温度超出预置温度±5℃时发出声音报警。5、对升、降温过程没有线性要求。6、温度检测部分采用DS18B20数字温度传感器,无需数模拟∕数字转换,可直接与单片机进行数字传输7、人机对话部分由键盘、显示和报警三部分组成,实现对温度的显示、报警。一、本课程设计系统概述1、系统原理选用AT89C2051单片机为中央处理器,通过温度传感器DS18B20对恒温箱进行温度采集,将采集到的信号传送给单片机,在由单片机对数据进行处理控制显示器,并比较采集温度与设定温度是否一致,然后驱动恒温箱的加热或制冷。2、系统总结构图总体设计应该是全面考虑系统的总体目标,进行硬件初步选型,然后确定一个系统的草案,同时考虑软硬件实现的可行性。总体方案经过反复推敲,确定了以美国Atmel公司推出的51系列单片机为温度智能控制系统的核心,并选择低功耗和低成本的存储器、数码显示器等元件,总体方案如下图:输入部加热制冷恒温箱驱动控制温度传感器AT89C2051显示部上位PC图1系统总体框图二、硬件各单元设计1、单片机最小系统电路单片机选用Atmel公司的单片机芯片AT89C2051,完全可以满足本系统中要求的采集、控制和数据处理的需要。单片机的选择在整个系统设计中至关重要,该单片机与MCS-51系列单片机高度兼容、低功耗、可以在接近零频率下工作等诸多优点,而广泛应用于各类计算机系统、工业控制、消费类产品中。AT89C2051是AT89系列单片机中的一种精简产品。它是将AT89C51的P0口、P2口、EA/Vpp、ALE/PROG、PSEN口线省去后,形成的一种仅20引脚的单片机,相当于早期Intel8031的最小应用系统。这对于一些不太复杂的控制场合,仅有一片AT89C2051就足够了,是真正意义上的“单片机”。AT89C2051为很多规模不太大的嵌入式控制系统提供了一种极佳的选择方案,使传统的51系列单片机的体积、功耗大、可选模式少等诸多弱点不复存在。该型号单片机包括:(1)一个8位的微处理器(CPU)。(2)片内有2K字节的程序存储器(ROM)和128/256字节RAM。(3)15条可编程双向I/O口线。(4)两个16位定时器/计数器都可以设置成计数方式,用以对外部事件进行计数,也可设置成定时方式,并可以根据计数或定时的结果实现计算机控制。(5)五个中断源的中断控制系统。(6)一个全双工UATR(通用异步接收发送器)的串行I/0口,用于实现单片机之间或单片机与微机之间的串行通信。(7)片内含模拟比较器。(8)低功耗的闲置和掉电模式。123456ABCD654321DCBATitleNumberRevisionSizeBDate:21-May-2008SheetofFile:C:\DocumentsandSettings\ck.AB7BDC14214F47A\桌面\恒温控制\电路图\99恒温.DDBDrawnBy:12Y112MHz33pF33pF10uFRST+5V+5VR11KR210KRST1(RXD)P3.02(TXD)P3.13XTAL24XTAL15(INT0)P3.26(INT1)P3.37(T0)P3.48(T1)P3.59GND10Vcc20P1.719P1.618P1.517P1.416P1.315P1.214P1.1(AIN1)13P1.0(AIN0)12P3.711*AT89C2051图2最小系统电路AT89C2051是一个20脚的双列直插封装(DIP)芯片。最小系统电路包括晶体振荡电路和手动复位电路,如图2。本设计使用一片AT89C2051就代替了原来的8031、EPROM2732和地址锁存器74LS373,因为AT89C2051内部的2KBEPROM和128B的RAM,对智能化温度传感器测试系统已能满足设计要求,而且降低了成本,结构设计也较精巧。2、温度传感器采用数字温度传感器DS18B20,与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。可以分别在93.75ms和750ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高,成本更低。测量温度范围为~55℃~+125℃。C,在一10℃~+85℃。C范围内,精度为±0.5℃。DS1822的精度较差为±2℃。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。其引脚分布如图3所示图3DS18B20引脚图(1)引脚功能如下:NC(1、2、6、7、8脚):空引脚,悬空不使用。VDD(3脚):可选电源脚,电源电压范围3~5.5V。DQ(4脚):数据输入/输出脚,漏极开路,常态下高电平。(2)DS18B20测温原理DS18B20的测温原理如图4所示,图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。DS18B20在正常使用时的测温分辨率为0.5℃,如果要更高的精度,则在对DS18B20测温原理进行详细分析的基础上,采取直接读取DS18B20内部暂存寄存器的方法,将DS18B20的测温分辨率提高到0.1~0.01℃。斜率累加器高温度系数晶振预置低温度系数晶振温度寄存器计数器1比较预置计数器2=0=0加1停止LSB置位/请除图4测温原理图(3)DS18B20与单片机接口电路P1.3口和DSl8B20的引脚DQ连接,作为单一数据线。U2即为温度传感芯片DSl8B20,本设计虽然只使用了一片DSl8B20,但由于不存在远程温度测量的考虑,所以为了简单起见,采用外部供电的方式,如图2.6所示。测温电缆采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一对接VCC和地线,屏蔽层在电源源端单点接地。RST1(RXD)P3.02(TXD)P3.13XTAL24XTAL15(INT0)P3.26(INT1)P3.37(T0)P3.48(T1)P3.59GND10VCC20P1.719P1.618P1.517P1.416P1.315P1.214P1.1(AIN1)13P1.0(AIN0)12P3.711U1AT89C2051NC1VDD3NC6GND5NC2DQ4NC7NC8U2DS18B20R154.7K+5V图5DS18B20与单片机接口电路3、键盘显示电路LED与控制器的连接有并行和串行方式。由于串行方式占用较少接口,因此得到广泛应用。显示电路中选用MAX7219作为LED驱动芯片。MAX7219是一个高集成化的串行输入/输出的共阴极LED驱动显示器。每片可驱动8位7段加小数点的共阴极数码管。片内包括BCD译码器、多路扫描控制器、字和位驱动器和8×8静态RAM。外部只需要一个电阻设置所有LED显示器字段电流。MAX7219和控制器只需要三根导线连接,每位显示数字有一个地址由控制器写入。允许使用者选择每位是BCD译码或不译码。使用者还可以选择停机模式、数字亮度控制、从1~8位选择扫描位数和对所有LED显示器的测试模式。(1)引脚功能MAX7219是24引脚芯片,它的引脚排列如图2.7所示。各引脚功能如下:1)DIN(1脚):串行数据输入端,当CLK为上升沿时数据被载入16位内部移位寄存器。2)CLK(13脚):串行时钟脉冲输入端,最大工作频率可达10MHz。3)LOAD(12脚):片选端,当LOAD为低电平时,芯片接收来自DIN的数据,接收完毕,LOAD回到高电平,接收的数据将被锁定。4)DIG0~DIG7(2、3、5、6、7、8、10、11脚):吸收显示器共阴极电流的位驱动线,最大值可达500mA。图6MAX7219引脚图5)SEGA~SEGG、SEGDP(14、15、16、17、20、21、22、23脚):驱动显示器7段及小数点的输出电流,一般为40mA,可编程调整。6)ISET(18脚):硬件亮度调节端。7)DOUT(24脚):串行数据输出端;V+,正电源。8)GND(9脚):接地。(2)MAX7219与单片机和LED及键盘的接口电路1)MAX7219的3个输入端DIN、CLK和LOAD与单片机的三个I/O口连接,DIG0~DIG7分别与八个共阴极LED的公共端连接,SEGA~SEGG、SEGDP分别与每个LED七段动和小数点驱动端相连。电路图如图7所示。2)键盘功能介绍采用独立式按键设计,如图上图所示。由于只有四个按键,因此按键接口电路的设计比较简单,单片机P1.4~P1.7端口设定为输入状态,平时通过电阻上拉到Vcc,按键按下时,对应的端口的电平被拉到低电平。这样就可以通过查询P1的高4位来判断有门有按键按下按键各接一根输入线,一根输入线的按键工作状态不会影响其他输入线上的工作状态。通过读I/O口,判断各I/O口的电平状态,即可识别出按下的按键。4个按键定如下:A、P1.4:S1功能键,按此键则开始键盘控制。B、P1.5:S2加,按此键则温度设定加1度。C、P1.6:S3减,按此键则温度设定减1度。D、P1.7:S4发送,按此键将传感器的温度传送到上位机。RST1(RXD)P3.02(TXD)P3.13XTAL24XTAL15(INT0)P3.26(INT1)P3.37(T0)P3.48(T1)P3.59GND10VCC20P1.719P1.618P1.517P1.416P1.315P1.214P1.1(AIN1)13P1.0(AIN0)12P3.711U1AT89C2051R55.1KR55.1KR55.1KR55.1KS2S3S4S1+5VabfcgdeDPYa10b9c8d5e4f2g3abcdefgDp7dpdpA1A6DS0DpyAmber-CAabfcgdeDPYa10b9c8d5e4f2g3abcdefgDp7dpdpA1A6DS7DpyAmber-CADIGODIG7..................LOAD12DIG2DIG26DIG3DIG37DIG4DIG43DIG5DIG50DIG6DIG65DIG7DIG78DOUT24GND9GND4SEGG17gSEGF15fSEGE21eISET18V+19SEGA14aSEGB16bSEGC20cSEGD23dDIG0DIG02DIG1DIG111CLK13DIN1SEGDP22DPU2MAX7219CNG+5VR19.5K图7MAX7219与单片机和LED及键盘的接口电路4、驱动控制电路(1)热电制冷介绍热电制冷原理:半导体热电偶由N型半导体和P型半导体组成。当电流的极性如图8所示时,电子从电源负极出发,