基于51单片机的温度控制系统的设计

上传人:re****.1 文档编号:494561458 上传时间:2023-10-08 格式:DOCX 页数:30 大小:945.52KB
返回 下载 相关 举报
基于51单片机的温度控制系统的设计_第1页
第1页 / 共30页
基于51单片机的温度控制系统的设计_第2页
第2页 / 共30页
基于51单片机的温度控制系统的设计_第3页
第3页 / 共30页
基于51单片机的温度控制系统的设计_第4页
第4页 / 共30页
基于51单片机的温度控制系统的设计_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《基于51单片机的温度控制系统的设计》由会员分享,可在线阅读,更多相关《基于51单片机的温度控制系统的设计(30页珍藏版)》请在金锄头文库上搜索。

1、基于单片机得温度控制系统设计1、设计要求要求设计一个温度测量系统,在超过限制值得时候能进行声光报警。具体设计要求如下:数码管或液晶显示屏显示室内当前得温度;在不超过最高温度得情况下,能够通过按键设置想要得温度并显示;设有四个按键,分别就是设置键、力口1键、减1键与启动/复位键;DS18B20温度采集;超过设置值得5时发出超限报警,采用声光报警,上限报警用红灯指示,下限报警用黄灯指示,正常用绿灯指示。2、方案论证根据设计要求,本次设计就是基于单片机得课程设计,由于实现功能比较简单,我们学习中接触到得51系列单片机完全可以实现上述功能,因此可以选用AT89C51单片机。温度采集直接可以用设计要求中

2、所要求得DS18B20。报警与指示模块中,可以选用3种不同颜色得LED灯作为指示灯,报警鸣笛采用蜂鸣器。显示模块有两种方案可供选择.方案一:使用LED数码管显示采集温度与设定温度;方案二:使用LCD液晶显示屏来显示采集温度与设定温度。LED数码管结构简单,使用方便,但在使用时,若用动态显示则需要不断更改位选与段选信号,且显示时数码管不断闪动,使人眼容易疲劳;若采用静态显示则又需要更多硬件支持。LCD显示屏可识别性较好,背光亮度可调,而且比LED数码管显示更多字符,但就是编程要求比LED数码管要高综合考虑之后,我选用了LCD显示屏作为温度显示器件,由于显示字符多,在进行上下限警戒值设定时同样可以

3、采集并显示当前温度,可以直观得瞧到实际温度与警戒温度得对比。LCD显示模块可以选用RT1602C。3、硬件设计根据设计要求,硬件系统主要包含6个部分,即单片机时钟电路、复位电路、键盘接口模块、温度采集模块、LCD显示模块、报警与指示模块。其相互联系如下图1所示:单片机时钟电路Hr 硬件电路设计框图LCD显示模块单单片机内部有一个用于构成振荡器3、1单产机日燧袖1路得高增益反相放大器,引脚XT A L 1与XXTALC1 22pF|报警与指不哂X2 XI GXDTAL2分别为此放大器得输入端与输出1端,其频率范围为1、212MHz,经由片外晶体振荡器或陶瓷振荡器与两个匹GND图2单片机内部时钟方

4、式电路配电容一起形成了一个自激振荡电路,为单片机提供时钟源3、2复位电路复位就是单片机得初始化操作,其作用就是使CPU与系统中得其她部件都处于一个确定得初始状态,并从这个状态开始工作,以防止电源系统不稳定造成CPU工作不正常。在系统中,有时会出现工作不正常得情况,为了从异常状态中恢复图3单片机按键复位电路同时也为了系统调试方便,需要设计一个复位电路.单片机得复位电路有上电复位与按键复位两种形式,因为本次设计要求需要有启动/复位键,因此本次设计采用按键复位,如图3。复位电路主要完成系统得上电复位与系统在运行时用户得按键复位功能。3、3键盘接口模块GNDo 13 4专1 p p p p P本次设计

5、需要得按键有4个,除去一个复位按键外,还有3个功能按键因此选择独立式键盘。如图4,将键盘直接与单片机P1口得P1、0、P1、1、P1、2相连。3个键设计思路如下:当按下S1键时,系统进入上下限警戒值调整状态;当第一次按下S1键时,进行上限警戒值设定,当第二次按下S1键时,进行下限警戒值设定,当第三次按下S1键时,回到正常工作状态。在警戒值调整状态下,按下S2键,上下限警戒值加1,按下S3键,上下限警戒值减1,正常工作状态下,按下S2与S3键无作用。3、4温度采集模块本次设计中得温度传感器使用得就是DALLAS公司得单总线数字温度传感器DS18B20,这就是一种常用得温度传感器,具有体积小、硬件

6、开销低、抗干扰能力强、精度高得特点。DS18B20采用独特得一线接口,具有只需要一条口线通信多点得能力,简化了分布式温度传感应用,无需外部元件。可用数据总线供电,电压范围为3、0V至5、5V,测量温度得范围为一55C至+125在,在一10c至+85C范围内精度为0、5C。温度传感器可编程得分辨率为912位,温度转换为12位数字格式最大值为750毫秒,用户可定义得非易失性温度报警设置,应用范围包括恒温控制、NOg NC | 1I NCII INCINC一口GHD工业系统、消费电子产品温度计、或任何热敏感系统.由于DS18B20就是一条口线通信,所以中央微处理器与DS18B20只有一个一条口线连接

7、。因为每一个DS18B20得包含一个独特得序号,多个DS18B20可以同时存在于一条总线,这使得温度传感器放置在许多不同得地方.它得用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测与控制.图5DS18B20封装及引脚DS18B20得核心功能就是它得直接读数字得温度传感器.温度传感器得精度为用户可编程得9、10、11或12位,分别以0、5c,0、25C,0、125c与0、0625c增量递增。在上电状态下默认得精度为12位。DS18B20启动后保持低功耗等待状态;当需要执行温度测量与AD转换时,总线控制器必须发出44h命令。在那之后,产生得温度数据以两个字节得形式被存储到高速暂

8、存器得温度寄存器中,DS18B20继续保持等待状态.当DS18B20由外部电源供电时,总线控制器在温度转换指令之后发起“读时序”,DS18B20正在温度转换中返回0,转换结束返回1。如果DS18B20由寄生电源供电,除非在进入温度转换时总线被一个强上拉拉高,否则将不会由返回值.在硬件上,DSI8B20与单片机得连接有两种方法:一种就是VDD接外部电源,GND接地,DQ与单片机得I/O口相连;另一种就是用寄生电源供电,此时,VDD、GND接地,DQ接单片机得I/O口.无论就是接外部电源还就是用内部寄生电源,I/O口线要接5kQ左右得上拉电阻。图6 DS18B2 0外部电源连本次设计中,采用外部电

9、源方式,具连接方式如图6所示。单总线DQ端接单片机得P1、7口,DQ端接一个4、7k。得上拉电阻,这样单总线DQ在闲置状态时为高电平。接方式3、5LCD显示模块在本次设计中,使用RT1602c字符型液晶显示模块(LCM)来设计当前温度与上下限警戒值得显示电路。RT1602C字符型液晶显示模块就是16字X2行得采用5X7点阵图形来显示字符得液晶显示器,采用标准得16脚接口,其引脚定义如图7所示。引脚号引脚名说明引脚号引脚名说明1GND/VsS电源地7D08位双向数据线2Vdd+5V电源8D13Vl液晶显小偏压仁号9D24RS数据/命令控制,H/L10D35R/W读/写控制,H/L11D46E使能

10、端12D515BLA背光源正极13D616BLK背光源负极14D7图7RT1602c得引脚定义RT1602c得内部结构可以分为3个部分:LCD控制器、LCD驱动器、LCD显示器,其中LCD控制器采用得就是HD44780。RT1602c与单片机得连线如图8所示.LCD1602VCC poo P01 P02 P03 P04 P05 P06P0*LCD1602口 酒 h 曰口 a 口口口口 口 口 bpdRES9|图9报警与指示模块图8RT1602C与单片机连线LCM得数据总线与单片机得P0口通过一个上拉电阻排相连,LCM得三条控制线RS、RW、EN分别与单片机得I/O口P2、0、P2、1、P2、2

11、相连,第1、2引脚分别与地、电源相连,第3引脚使用一个10kQ得可调电阻对显示屏得明亮进行调整。3、6报警与指示模块在本次设计中,采用LED发光二极管作为系统指示灯,采用蜂鸣器作为报警鸣笛。当温度高于上限警戒值时,点亮红色发光二极管,蜂鸣器发出响声;当温度低于下限警戒值时,点亮黄色发光二极管,蜂鸣器发出响声;温度在正常范围内时,点亮黄色发光二极管。P2、0、口,电平,系统I整个报警与指示电路如图9所示,其中绿、红、黄色指示灯分别接单片机P2、1、P2、2口,电平拉低时点亮LED,蜂鸣器电路接单片机得P2、7拉高时蜂鸣器响。至此便完成了整个硬件电路得设计工作,整个系统得原理图见附录二/O分配表如

12、下:I/O口功能说明I/O口功能说明P0、0PO、7LCM数据口P2、1LCM读/写控制P1、0P1、3键盘输入P2、2LCM使能P1、7DS18B20温度采集P2、4P2、6LED信号输出P2、0LCM数据/命令控制P2、7报警信号输出4、软件设计单片机应用系统得设计中,软件设计占有重要得位置。在本次设计中,根据功能要求,可以把系统程序划分为5个模块,即主程序模块、显示模块、温度测量模块、4、1主程序设计主程序得内容包括单片机初始化、相关部件初始化与一些其它子程序得调用初始化单片机等。主程序清单如下,程序流程图如图11所示/ * * * * * * * *主程序* */vo i d ma i

13、n(void)?P1=0xf f;P2|=0x7 0;? P 2&=0x7 f ;Temp _set 1 =90;Te mp_se t 2 =10;?De 1 ay(500);i n i t LCD()init _ 18B20 ();Disp lay_str (0,0, str2);?Di s p lay_str (0,1, s tr2);Delay (200 0 );Displa y_s t r(0,0,str0);?D i sp la y_str(0,1, s tr 1 );while (1) ?Key_scan();?Read_temp();?Ch ang e ();?D i splay

14、 ();/初始化P1 口以便读入/上限报警温度初值90下限报警温度初值1 0延时5 00m s启动/LCD初始化/ D S 1 8B20初始化/开机界面/开机界面图11主程序流程图?Alarm();?Delay(1000);?/扫描键盘/读取温度/显示/指示灯与报警程序4、2显示模块显示程序主要完成得功能就是模式、上下限警戒值与测量温度值得显示,模块中包含LCD初始化、显示单个字符子函数、显示一个字符串子函数。程序流程图如图12所示,LCD初始化程序如下,其它子函数程序详见附录/*LCD初始化*voidinit_LCD(void)P0=O;Delay(15);LC D_mand(0x3 8, 0);y(5);LCD_mand (0x38, 0);Delay(5);0图12显示程序流程图LCD_mand(0x380);Delay(5);?LCD_mand(0x38,1);8位数据传送,2行显示,5*7字形?LCD_mand(0x08,1);/关闭显示?LCD_mand(0x01,1);/清屏LCD_mand(0x06,1);/显示光标右移设置LCD_m

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 市场营销

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号