基于单片机的温度控制系统设计与实现
1 项目要求此系统的主要功能:
● 可以测量一定摄氏度内的温度;
● 用液晶显示温度,精确到小数点后两位;
● 利用温度传感器(DS18B20)测量某一点环境温度;
● 至少有高、低两路限温控制输出接口控制外部电路。
● 高、低两路限温控制点可在一定范围内独立设置,通过发光二极管模拟显示其控制状态输出。
● 当温度达到高、低限温控制点发光报警;
● 提高温度测量精度,使分辨率不低于0.10C;
● 可以通过按键设置高、低两路限温控制点。
2项目分析和系统设计此数字温度控制系统硬件部分利用了MSP430G2553芯片内部的ADC10功能配置,结合DS18B20温度传感器来测量环境中的温度,将所测数值在LCD1602串行显示;软件部分利用CCS软件来进行编译,并且根据实际需要来完成各模块程序的编写,再进行复杂的调试。
3 硬件设计该温度控制系统在MSP430G2553芯片的功能配置和协调下,与其他模块搭建来完成。由MSP430控制温度传感器DS18B20实时测量环境中的温度,然后在LCD5110显示出来,当该温度超过了设定的最大或者最小温度值时,LED开始报警。
图3.1系统结构框图
3.1单片机选型模块基于名为Launch Pad,MSP-EXP430G2低成本实验板是一款适用于TI最新MSP430G2XXX犀利产品的完整开发解决方案。基于USB的集成型仿真器可提供全系列MSP430G2XX器件开发应用所必备的所有软件、硬件。Lunch Pad具有集成的DIP目标插座,可支持多达20个引脚,从而使MSP430Value Line器件能够轻松插入LaunchPad实验板电路。
图3.2单片机选型模块图
3.2温度测量模块温度测量传感器采用DALLAS公司DS18B20的单总线数字化温度传感器,测温范围为-55℃~125℃,可编程为9位~12位A/D转换精度,测温分辨率达到0.0625℃,采用寄生电源工作方式,CPU只需一根口线便能与DS18B20通信,占用CPU口线少,可节省大量引线和逻辑电路。接口电路如图3.3所示。
图3.3 DS18B20测量电路图
3.3 LCD液晶显示模块LCD液晶显示模块采用LCD1602型号,性价比高,LCD1602可以显示32个字符,口相对简单。1602共16个管脚,但是编程用到的主要管脚不过三个,分别为:RS(数据命令选择端),R/W(读写选择端),E(使能信号);以后编程便主要围绕这三个管脚展开进行初始化,写命令,写数据。
以下具体阐述这三个管脚:
RS为寄存器选择,高电平选择数据寄存器,低电平选择指令寄存器。
R/W为读写选择,高电平进行读操作,低电平进行写操作。
E端为使能端,后面和时序联系在一起。
除此外,D0~D7分别为8位双向数据线。
其接线如图3.4所示
图3.4 LCD显示电路
3.4系统电源整个电路采用USB电源,为所有的USB 外设提供了单一的易于使用的标准的连接类型,简化了USB 外设的设计。整个的USB 的系统只有一个端口和一个中断节省了系统资源。
4 软件设计4.1主程序本系统整体工作主要由单片机程序控制实现,其工作过程为:由MSP430控制温度传感器DS18B20实时测量环境中的温度,然后在LCD1602显示出来,当该温度超过了设定的最大或者最小温度值时,LED开始报警。
程序流程图如下:
图4.2 温度测量子程序图
5 系统调试5.1硬件调试主要根据系统框图和硬件原理设计进行原理的绘制、各参数的设置、电路板的制作,以及元器件的焊接等。具体如下:
5.1.1 各单元电路,确认各单元电路链接无误,尤其是关键元器件,一定要接保护电阻。
(1)在样机加电之前,首先用万用表等工具,根据硬件电器原理图和装配图仔细检查样机线路的正确性,并核对元器件的型号、规格和安装是否符合要求。应特别注意电源的走线,防止电源之间的短路和极性错误,电源连接是否正确测试LCD显示屏是否有输出,LCD显示屏上的温度的显示是否符合;
(2)运用MSP430单片机中简单的I/O口功能,优异在检查硬件是否正常工作时先检测单片机本身的I/O口设置,可以先不连接外部电路,使用单片机本身I/O口,测试程序是否正确,以免在软件调试中引起不必要的麻烦。
5.1.2 PCB设计注意事项:
在进行PCB设计时,必须遵守PCB设计的一般原则,并注意其要求。
(1)此系统采用的电阻和电容较多,注意在画PCB时注意各器件的封装,对照使用的实物选取封装,保证焊接硬件的正确性。
(2)此系统采用光敏电阻及较大的极性电容,介于成本的原因,采用的封装是是直插式的,在PCB设计时特别注意
(3)根据电路的模块布局,这样便于在出现问题时进行检查,尤其注意MSP430单片机系统中I/O口是否设置正确。
5.2程序调试此程序设计中仅使用了MSP430单片机系统中I/O口资源,调试过程中,主要使用寄存器窗口,以及设置断点,观察系统程序主要实现对采集来的模拟信号进行模数转换,并对数字信号进行液晶显示,所以程序有采集模拟信号、DA转换和液晶显示三部分;在中断子程序设置断点,判断运行是否正确。在调试过程中,由局部到整体,判断程序可能出现的问题,认真分析逻辑,实现要求的功能,在简化程序。
5.2.1 CCSV5的打开步骤
- 右键Code Composer Studio v5快捷方式,左键打开。会出现如图5.2所示界面:
图5.1 Code Composer Studio v5软件加载界面
(2)加载完毕之后会有如图5.3所示界面出现:
图5.2 Code Composer Studio v5软件打开界面
(3)选择Project->Import Existing CCS Eclipse Project,导入程序文件夹中的工程;具体操作如图5.4:
图5.3 Code Composer Studio v5程序导入步骤图
5.2.2CCSV5的使用步骤
(1)CCS新建工程:
①首先打开CCS并确定工作区间,然后选择project-->New CCS Project
弹出图5.5对话框。,在简化程序。
图5.4创建新工程主界面
②在project name中输入新建工程名称turang。
③在Device部分中,Variant中选择MSP430G××× Family,芯片选择MSP430G2553,其余选择默认。
④选择空工程,然后单击Finish,完成新工程的创建。
⑤创建工程如图5.6所示:
图5.5ProjectExplorer界面
⑥然后选择File-->New-->Source File,新建一个C文件,并且命名为turang.C,并在工程名上右击选择Add Files,创建工程如图5.7:
图5.6 新建工程界面
(2)CCS调试:
①调试之前,先确定目标配置文件是否已经创建并且配置正确。
②首先进行工程编译:选择Project-->Build Project,编译目标工程。编译结果如图5.8所示,表示没有错误,可以进行下载调试,如果有错误,知道调试到没错误为止。
图5.7工程调试结果
③单击运行图标

运行程序,可以观察显示的结果。在程序调试的过程中,也可通过设置断点来调试程序,选择需要设置断点的位置,右击鼠标选择Breakpoints-->Breakpoint,断点设置成功后显示图标可以通过双击该图标来取消该断点。程序运行的过程中还可以通过单步调试按钮进行调试。
5.3联合调试整个系统的软硬件都完成后,需要进行联合调试,主要是针对系统设定的功能能否完成和完善进行调试。将电路线连接好,接入3V电源,LCD显示屏亮,且测得当前温度,如果当前温度超过给定的量程范围内LED等就会亮,此时就是发出警报,提示当前温度已超出给定温度范围。超出给定的温度(35°)LED灯就会亮,否则LED灯就会灭,如下图。
图5.8联合调试图
1