




免费预览已结束,剩余33页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
温度控制系统的设计【摘要】:本文阐述了使用at89s52单片机作为主控制器,采用一线制数字温度传感器ds18b20作为温度传感器,采用液晶1602作为显示器件,采用ds1302作为时钟设置芯片。该方案实现了目标温度的测量、显示与控制,并能实现万年历和设置闹钟提醒等功能。1 绪论31.1温度控制系统的设计背景31.2温度控制系统发展状况32 温度控制系设计要求33 温度控制系统的方案论证33.1温控系统的总体方案33.2 温度控制系统的各个模块的方案论证43.2.1 单片机控制芯片模块43.2.2 键盘控制模块43.2.3传感器测试电路模块53.2.4液晶显示模块54 硬件部分64.1主控芯片部分电路64.2各个模块电路74.2.1温度测量模块74.2.2实时时钟电路74.2.3液晶1602接口电路74.2.4温度控制电路84.2.5键盘控制部分94.2.6蜂鸣器报警模块115 软件部分125.1主程序流程图125.2各模块工作流程图125.2.1 ds18b20采集计算温度流程图135.2.2键处理子程序流程图146 系统调试146.1硬件调试146.2软件调试146.3测试结果与性能分析157 总结16第一章 绪论11温度控制系统的设计背景温度是一个和人们生活环境有密切关系的物理量,也是一个人们在科学实验和生产生活中经常需要加以监测和控制的重要物理量。温度控制技术是一种比较重要的工业技术,不仅应用在化工、医疗、航空、航天等高科技领域,还应用在人们的日常生活中。在现代化电器装置中,许多设备也装有电风扇用于散热,但是在设备长期的运行中,若电风扇损坏的话,对设备的运行有潜在的威胁。为了保障设备的可靠运行,需要人们专门设计一个具有超温或低温报警功能温控系统,当设备的温度超过或低于某一限制时发出报警声,并能实现温度的自动调节。12温度控制系统发展状况 现在工业上用到的温度控制系统一般是干式变压器温度控制系统,经历了盘式温度表、毛细管式温控器、ptc(正温度系数)热敏电阻温控装置、铂热电阻测温装置的发展历程。随着电力工业的发展,温度控制系统的设计水平也相应的有所提高和完善。前三种温控系统逐渐被淘汰,铂热电阻温控系统则得到了长足发展。随着干式变压器应用领域的不断扩展,温度控制系统的功能也得到不断的完善a、b、c三相巡回显示;最大值显示;直接启停风机;超温、故障报警;光电耦合,冗余保护系统;自修正子程序等。第二章 温度控制系统设计要求2.1系统设计要求1.采集温度,精度0.1;2.实时显示温度;3.具有实现万年历的功能,通过液晶显示,要求可以设置年、月、日、星期、小时、分钟和秒;4.温度控制范围:2040:当温度t=40时,能驱动鼓风机电路运转降温,并发出报警;当温度低于20时,能驱动加热电路加热。第三章 温度控制系统方案论证 3.1温控系统的总体方案本系统由51系列单片机at89s52、按键、时钟、液晶显示和外围降温、加热电路等部分构成。对温度进行实时采集并通过程序设定最高温度、最低温度。采集到的实时温度通过串口向单片机进行传输,最后将测得的结果发送到液晶1602显示出来。该系统对所测得的温度值进行分析,当温度高于或者低于设定的温度限时自动报警,并驱动相应的降温或加热设备,以达到对温度智能控制,从而使环境温度维持在设定的有利温度范围内。系统总体结构图如图3-1 图3-1 温控系统总体结构框图32温度控制系统的各个模块的方案论证3.2.1 单片机控制芯片模块方案一:pic16c84单片机。是8位cmos eeprom微控制器。它有高性能的类似于risc的指令,共有35条单字节的指令,所有的指令除程序分支指令需要两个指令周期外,都只需要一个指令周期。程序指令的宽度为14位,在芯片内有1k14的eeprom程序存储器。方案二:凌阳spce061a单片机。该芯片拥有8路10位精度的adc,两路10精度的dac,只需要外接功放(spy0030a)即可完成语音的播放。另外凌阳十六位单片机具有易学易用的效率较高的一套指令系统和集成开发环境。在此环境中,支持标准c语言,可以实现c语言与凌阳汇编语言的互相调用为软件开发提供了方便的条件。spce061a片内还集成了一个ice(在线仿真电路)接口,使得对该芯片的编程、仿真都变得非常方便,而ice接口不占用芯片上的硬件资源,结合凌阳科技提供的集成开发环境(unsp ide)用户可以利用它对芯片进行真实的仿真;而程序的下载(烧写)也是通过该接口进行下载。 方案三: at89s52单片机。是一种低功耗、高性能cmos8位微控制器,具有 8k 在系统可编程flash 存储器。易失性存储与工业80c51 产品指令和引脚完 全兼容。在单芯片上,拥有灵巧的8 位cpu 和在系统 可编程flash,使得at89s52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 基于以上所述,根据系统需要本设计选方案三。3.2.2 键盘控制模块方案一:独立式键盘。如图3-2。它是利用单片机i/o口读取口的电平高低来判断是否有键按下,这种方式的缺点是占用的i/o 口数较多。 图3-2方案二:44矩阵键盘。如图3-3。矩阵键盘又称为行列式键盘,它是用4条i/o线作为行线,4条i/o线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是44个。这种行列式键盘结构能够有效地提高单片机系统中i/o口的利用率。图3-3 基于以上所述,根据系统需要我选方案二。3.2.3传感器测试电路模块方案一:热敏电阻。可满足40-90的测量范围,但热敏电阻精度、重复性、可靠性都比较差,对于检测小于1的温度信号是不适用的。方案二:ds18b20温度传感器 。采用“一线总线”接口,测量温度范围为 -55c到 +125c,在-10到+85c范围内,精度为0.5c。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,支持3v-5.5v的电压范围, ds18b20可以程序设定9-12位的分辨率,精度为0.5c。综合上述,采用方案二。3.2.4液晶显示模块方案一:数显液晶模块。是一种由段型液晶显示器件于专用的集成电路组装成一体的功能部件,只能显示数字和一些标识符号。段型液晶显示器件大多应用在便携、袖珍设备上。方案二:液晶点阵字符模块。它是由点阵字符液晶显示器件和专用的行、列驱动器、控制器及必要的连接件,结构件装配而成的,可以显示数字和西文字符。这种点阵字符模块本身具有字符发生器,显示容量大,功能丰富。方案三:点阵图形液晶模块。模块也是点阵模块的一种,其特点是点阵像素连续排列,行和列在排布中均没有空格。因此可以显示连续、完整的图形。考虑到实用性和经济性,本设计选择方案二。第四章 温度控制系统的硬件部分41主控芯片部分电路 图4-142各个模块电路421温度测量模块ds18b20通过p3.3口和at89s52进行通讯。gnd为接地线, q为数据输入输出接口,通过一个较弱的上拉电阻与单片机相连。vcc为电源接口,既可由数据线提供电源,又可由外部提供电源,范围3o55 v。其接口电路如图4-2. 图4-2422实时时钟电路利用ds1320芯片完成实时时钟的读取和设置,能实现对年、月、日、星期、时、分、秒进行记时,具有闰年补偿功能。其工作电压为2.5伏到5.5伏,采用三线接口与cpu进行同步通信,并可采用突发方式一次传递多个字节的时钟信号或ram数据。其接口电路如图4-3. 图4-34.2.3液晶1602接口电路 字符型液晶模块1602是一种用57点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等。本设计用到的是最常用的2行16个字的1602液晶模块.接口电路如图4-4. 图4-44.2.4温度控制电路 当温度高于设定的温度上限时,驱动外围降温设备(这里用鼓风机来降温);当温度低于设定的温度下限时,驱动外围加热装置,以使温度维持在有利得范围内。降温电路和加热电路分别如图4-5,4-6。 图4-5 降温电路其中4n251,4n252代表光耦p251;q5,q6代表三极管9013;q1q4代表达林顿管tip132;b1代表直流电机。 图4-6 加热电路4.2.5键盘控制部分采用44矩阵键盘的形式。(1) 原理图 图4-7(2) 按键说明 k4 设定闹钟使能与禁止。按k4键后,lcd1602的第二行的最右边有小喇叭显示,闹钟使能。再按k4键,不显示小喇叭,闹钟禁止。k3 时间设定键。设定顺序:年,月,日,星期,时,分,秒。被选中的设定位闪动。k2 加键 。设定数增加k1 减键。设定数减少每当有键按下,蜂鸣器会响一声。双键功能:k1 k2先按住k1,然后再按k2,写入程序默认时间值。06/05/01 week:1time: 23:59:00k1 k3先按住k1,然后再按一下k3,程序进入查看定时时间值。 06/05/01 week:1 alarm:23:59:00 小喇叭显示 此界面显示2-3秒后,返回到正常时间显示界面k1 k4先按住k1,然后再按一下k4,程序进入设定定时时间值。设定顺序:时,分。 (k4键选择)被选中的设定位闪动。k2 加键 。设定数增加k1 减键。设定数减少每当有键按下,蜂鸣器会响一声。当定时时间与现行时间相等时,蜂鸣器响一分钟。可以按k4键止闹。4.2.6蜂鸣器报警模块 (1) 控制端口为p3.7,其接口电路如图4-8. 图4-8 (2) 工作原理单片机通过p3.7来控制蜂鸣器的工作与关闭。当p3.7=1时,pnp三极管关闭,蜂鸣器停止工作。当p3.7=0时,pnp三级管导通,蜂鸣器开始工作。从而单片机只需要p3.7输出0或者1开控制鉴别鸣器即可。(3)、功能说明 当温度高于设定的温度上限40时,蜂鸣器响一声,说明温度过限,这时驱动降温设备降温; 当温度高于设定的温度下限20时,蜂鸣器响一声,说明温度低限,这时驱动加热设备加热。第五章 软件部分5.1主程序流程图 图5-1主程序流程图5.2各模块工作流程图5.2.1 ds18b20采集计算温度流程图 图5-2 ds18b20采集计算温度流程图5.2.2键处理子程序流程图第六章 系统调试6.1硬件调试硬件调试的主要任务是排除硬件故障,其中包括设计错误和工艺性故障。用万用表逐步按照电路原理图检查电路板中所有器件的各引脚,尤其是电源的连接是否正确;检查各开关按键是否能正常开关,是否连接正确;各限流电阻是否短路等。为了保护芯片,应先对各ic座(尤其是电源端)电位进行检查,确定其无误后再插入芯片检查。可以通过一些简单的测试程序来查看接各硬件是否联接正常。6.2软件调试程序的调试应一个模块一个模块地进行,首先单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;最后逐步将各子程序连接起来总调。联调需要注意的是,各程序模块间能否正确传递参数,特别要注意各子程序的现场保护与恢复。6.3测试结果与性能分析 次数项目第一次第二次第三次第四次第五次第六次时钟08/06/02 week:1time: 22:59:0008/06/03 week:2time: 08:34:1508/06/03 week:2time: 08:50:2408/06/03 week:2time: 14:25:1008/06/08 week:7time: 09:13:2908/06/11 week:3time: 15:05:06闹钟08/06/02 week:1time: 22:59:0008/06/03 week:2time: 08:34:1508/06/03 week:2time: 08:50:2408/06/03 week:2time: 14:25:1008/06/08 week:7time: 09:13:2908/06/11 week:3time: 15:05:06标准温度计16.926.037.046.047.757.0系统显示值16.525.736.446.148.057.0差值-0.4-0.3-0.6-0.10.30静态误差 0.18设定温度上下限() 35/14 35/14 40/20 50/30 50/30 60/40报警及降温(y/n)n n yy y y继电器加热指示(y/n) y y yy y y从测量数据的对比我们可得出本系统所测温度是可靠的,静态误差方面可以达到0.18的误差,温度控制范围也与设定的温度上下限相吻合,对一般的工业生产完全可以采用本设计。第七章 总结 本系统以at89s52单片机为控制核心,利用其强大的处理能力,以及丰富的外围接口,再配合ds18b20温度传感器、液晶1602、ds1302等,很好的完成了实时温度的检测与显示,并当系统检测到温度高于设定的温度上限时准确的驱动鼓风机运转降温且发出报警;当温度低于设定的温度下限时继电器吸合代表加热指示。此外,本系统还能实现万年历功能,显示并可设置年、月、日、星期、小时、分钟和秒,而且还能设置闹钟提醒。因此本系统已基本符合了设计要求,在温度控制方面具有一定的先进性,可用于一般的工业生产温度控制。附录1 元件清单.元件名称型号数量单片机开发板me5001电阻1k欧姆411k欧姆4排线及管座2脚(单排)28脚(双排)2蜂鸣器1芯片at89s522ds13021ds18b201继电器hrs1h-s(5vdc)1光耦p2512液晶显示器16021二极管1n41484三极管90132c27051晶振32.768khz1电机1达林顿管tip1324附录2 系统测试仪器仪器名称型号指标数量 单片机开发板me500 1双通道示波器yb4365 100mhz 1 万用表model mf47 1 直流稳压电源df1731sc5a5v+5v 1 pc机isplay、keil 软件 1附录3 印制板图附录4 开发板实物图附录5 源程序#include#include#define uchar unsigned char#define uint unsigned int#define lcd_data 1 / datasbit lcd_rs = p20; sbit lcd_rw = p21;sbit lcd_en = p22;sbit lcd_led = p26;sbit k1 = p14;sbit k2 = p15;sbit k3 = p16;sbit k4 = p17;sbit reset = p12;sbit sclk = p10;sbit io = p11;sbit dq = p33;sbit beep = p37;sbit jdq1=p23;/驱动电动机(0表示接通,1表示关闭)bit flag=1,hour=0,min=0,sec=0;bit year=0,month=0,day=0,week=0;bit alarm_flag=0;sfr dbport = 0x80; /p0=0x80,p1=0x90,p2=0xa0,p3=0xb0.数据端口uchar timecount=0,count=0;uchar temp_value; /温度值uchar digital;uchar tempbuffer7; unsigned char frq;uchar str1= - - week: ;uchar str2= ;uchar str3=alarm: ;uchar init =0x00,0x00,0x00,0x00,0x00,0x00,0x00; /uchar init1 =0x00,0x00;uchar init2 =0x00,0x59,0x23,0x11,0x06,0x03,0x08; / /秒, 分, 时, 日, 月,星期,年uchar bj_time =0x00,0x00,0x00; /秒, 分, 时uchar code mytab8 = 0x01,0x1b,0x1d,0x19,0x1d,0x1b,0x01,0x00;/小喇叭#define delaynop(); _nop_();_nop_();_nop_();_nop_();void set_w1302(uchar addr);void set_flash(uchar row,uchar col);void set_place(uchar row,uchar col);void play_nowtime();void key_set(uchar num,uchar row,uchar col );void key_set_1(uchar num,uchar row,uchar col );void alarm_time();void play_alarmtime();void time_compare();void init_ds18b20(void);unsigned char readonechar(void);void writeonechar(uchar dat);void readtemp(void);void temp_to_str(void);void print(unsigned char *str);void lcd_write(bit style, unsigned char input);unsigned char lcd_wait(void);void read_ds18b20(void);void speak(void);void delayms(unsigned char ms);void beep_temp();void dianji(void);void delay1(int ms) unsigned char y; while(ms-) for(y = 0; y0;j-);/*/* */* 写字符串函数 */* */*/void write_str(uchar addr,uchar *p) uchar i=0; lcd_wcmd(addr); while(pi!=0) lcd_wdat(pi); i+; /*/* */* 设定显示位置 */* */*/void write_position(uchar row,uchar col) uchar place; if(row=1) place=0x80+col-1; lcd_wcmd(place); else place=0xc0+col-1; lcd_wcmd(place); /*/* */*自定义字符写入cgram */* */*/void writetab() unsigned char i; lcd_wcmd(0x40); /写cgram for (i = 0; i 8; i+) lcd_wdat(mytabi); /*/*/void write_byte(uchar inbyte) uchar i; for(i=0;i1; /*/*/uchar read_byte() /sclk的下跳沿读数据 uchar i,temp=0; io=1; /设置为输入口 for(i=0;i1; return (temp);/*/ 往ds1302的某个地址写入数据 /*/void write_ds1302(uchar cmd,uchar indata) sclk=0; reset=1; write_byte(cmd); write_byte(indata); sclk=0; reset=0;/*/ 读ds1302某地址的的数据 /*/uchar read_ds1302(uchar addr) uchar backdata; sclk=0; reset=1; write_byte(addr); /先写地址 backdata=read_byte(); /然后读数据 sclk=0; reset=0; return (backdata);/*/ 设置初始时间/*/void set_ds1302(uchar addr,uchar *p,uchar n) /写入n个数据 write_ds1302(0x8e,0x00); /写控制字,允许写操作 for(;n0;n-) write_ds1302(addr,*p); p+; addr=addr+2; write_ds1302(0x8e,0x80); /写保护,不允许写/*/ 读取当前时间 /*/void read_nowtime(uchar addr,uchar *p,uchar n) for(;n0;n-) *p=read_ds1302(addr); p+; addr=addr+2; /*/ 初始化ds1302/*/void init_ds1302() reset=0; sclk=0; write_ds1302(0x80,0x00); write_ds1302(0x90,0xa6); /一个二极管4k电阻充电 write_ds1302(0x8e,0x80); /写保护控制字,禁止写/*/* */* 蜂鸣器响一声 */* */*/void beep() unsigned char y; for (y=0;y100;y+) delay(); beep=!beep; /beep取反 beep=1; /关闭蜂鸣器 delay1(50); /*/* */* :闪动函数 */* */*/void flash() if(flag) write_position(2,3); lcd_wdat(:); write_position(2,6); lcd_wdat(:); else write_position(2,3); lcd_wdat(0x20); write_position(2,6); lcd_wdat(0x20); /*/ 主函数/*/void main() lcd_led=0; p1=0xff; tmod=0x01; th0=0x4c; /50ms定时 tl0=0x00; ea=1; et0=1; tr0=1; init_ds18b20( ) ; /ds18b20初
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年度工作总结汇报
- 7 汤姆 · 索亚历险记(节选) (教学设计)2023-2024学年-部编版语文六年级下册
- 三年级上美术教学设计-天外来客-苏少版
- 2024-2025学年高中历史 第一单元 古代中国经济的基本结构与特点 第1课 发达的古代农业(3)教学教学设计 新人教版必修2
- 2024-2025学年高中地理上学期第5周《自然界的水循环和水资源合理利用》教学设计 新人教版必修1
- 10《古诗三首》(教案)-2024-2025学年语文六年级下册统编版
- 2024川教版信息技术七年级上册第二单元第二节《制作在线宣传手册第二节(在线协作 选素材)》教案及教学设计
- 2《学做“快乐鸟”》教学设计-2023-2024学年道德与法治二年级下册统编版(五四制)
- 上海市理工大学附属中学2024年-学年高二体育上学期第2周 第1课教学设计
- 《第三单元 综合运用机器人 2 机器人工程日志》教学设计-2023-2024学年川教版信息技术(2019)六年级下册
- 一、长方体和正方体表面涂色的
- GPS施工放样测量记录表
- DBJ∕T45-099-2020 城镇道路沥青路面施工技术规范
- [龙湖地产]薪酬体系报告(全部图表说明)
- 主动脉夹层护理查房-PPT课件
- 零星工程施工组织设计方案
- 人教版七年级下册第五章53《平行线的性质》说课稿
- 8251芯片(课堂PPT)
- 江苏省电力公司电网生产业务外包管理办法(试行)
- 湿法炼锌电解车间设计论文
- 森林培育学复习提纲
评论
0/150
提交评论