基于51单片机的温度控制系统的设计
- 格式:doc
- 大小:1.86 MB
- 文档页数:39
基于单片机的室内温度控制系统设计与实现1. 本文概述随着科技的发展和人们生活水平的提高,室内环境的舒适度已成为现代生活中不可或缺的一部分。
作为室内环境的重要组成部分,室内温度的调控至关重要。
设计并实现一种高效、稳定且经济的室内温度控制系统成为了当前研究的热点。
本文旨在探讨基于单片机的室内温度控制系统的设计与实现,以满足现代家居和办公环境的温度控制需求。
本文将首先介绍室内温度控制系统的研究背景和意义,阐述其在实际应用中的重要性和必要性。
随后,将详细介绍基于单片机的室内温度控制系统的设计原理,包括硬件设计、软件编程和温度控制算法等方面。
硬件设计部分将重点介绍单片机的选型、传感器的选取、执行机构的搭配等关键环节软件编程部分将介绍系统的程序框架、主要功能模块以及温度数据的采集、处理和控制逻辑温度控制算法部分将探讨如何选择合适的控制算法以实现精准的温度调控。
在实现过程中,本文将注重理论与实践相结合,通过实际案例的分析和实验数据的验证,展示基于单片机的室内温度控制系统的实际应用效果。
同时,还将对系统的性能进行评估,包括稳定性、准确性、经济性等方面,以便为后续的改进和优化提供参考。
本文将对基于单片机的室内温度控制系统的设计与实现进行总结,分析其优缺点和适用范围,并对未来的研究方向进行展望。
本文旨在为读者提供一种简单、实用的室内温度控制系统设计方案,为相关领域的研究和实践提供有益的参考。
2. 单片机概述单片机,也被称为微控制器或微电脑,是一种集成电路芯片,它采用超大规模集成电路技术,将具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种IO口和中断系统、定时器计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、AD转换器等电路)集成到一块硅片上,构成一个小而完善的微型计算机系统。
单片机以其体积小、功能齐全、成本低廉、可靠性高、控制灵活、易于扩展等优点,广泛应用于各种控制系统和智能仪器中。
基于51单片机的温度控制系统0引言在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。
例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。
采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。
因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。
本文以它为例进行介绍,希望能收到举一反三和触类旁通的效果。
1硬件电路设计以热电偶为检测元件的单片机温度控制系统电路原理图如图1所示。
1.1 温度检测和变送器温度检测元件和变送器的类型选择与被控温度的范围和精度等级有关。
镍铬/镍铝热电偶适用于0℃-1000℃的温度检测范围,相应输出电压为0mV-41.32mV。
变送器由毫伏变送器和电流/电压变送器组成:毫伏变送器用于把热电偶输出的0mV-41.32mV变换成4mA-20mA的电流;电流/电压变送器用于把毫伏变送器输出的4mA-20mA电流变换成0-5V的电压。
为了提高测量精度,变送器可以进行零点迁移。
例如:若温度测量范围为500℃-1000℃,则热电偶输出为20.6mV-41.32mV,毫伏变送器零点迁移后输出4mA-20mA范围电流。
这样,采用8位A/D转换器就可使量化温度达到1.96℃以内。
1.2接口电路接口电路采用MCS-51系列单片机8031,外围扩展并行接口8155,程序存储器EPROM2764,模数转换器ADC0809等芯片。
由图1可见,在P2.0=0和P2.1=0时,8155选中它内部的RAM工作;在P2.0=1和P2.1=0时,8155选中它内部的三个I/O端口工作。
相应的地址分配为:0000H - 00FFH 8155内部RAM0100H 命令/状态口0101H A 口0102H B 口0103H C 口0104H 定时器低8位口0105H 定时器高8位口8155用作键盘/LED显示器接口电路。
基于51单片机的温度报警系统设计温度报警系统是一种常见的安全监控系统,它可以监测环境温度,并在温度达到设定阈值时发出警报。
本文将介绍一个基于51单片机的温度报警系统的设计。
一、系统设计目标和功能本系统的设计目标是实时监测环境温度,并在温度达到预设阈值时发出警报。
具体功能包括:1.温度采集:通过温度传感器实时采集环境温度。
2.温度显示:将采集到的温度值通过数码管显示出来。
3.温度比较:将采集到的温度值与预设的阈值进行比较。
4.报警控制:当温度超过预设的阈值时,触发警报控制器。
5.报警指示:通过蜂鸣器或者LED灯等方式进行报警提示。
二、硬件设计本系统的硬件设计包括主控部分和外围部分。
1. 主控部分:使用51单片机作为主控芯片,通过AD转换器和温度传感器实现温度数据采集。
采用片内RAM和Flash存储器对数据进行处理和存储。
2.外围部分:包括数码管显示和报警指示。
使用数码管模块将温度值进行显示,使用LED灯或者蜂鸣器进行报警指示。
三、软件设计本系统的软件设计包括程序的编写和算法的设计。
1.程序编写:使用C语言编写单片机的程序。
程序主要包括温度采集、温度比较、报警控制和报警指示等功能。
2.算法设计:根据采集到的温度值与预设阈值进行比较,判断是否触发警报控制器。
同时,根据警报控制器的状态,控制报警指示的开关。
四、系统测试完成硬件和软件设计后,需要进行系统测试以验证系统的正确性和稳定性。
1.硬件测试:对硬件电路进行测试,包括电源、信号传输和外围器件等方面。
测试时需要注意电源的稳定性,信号的准确性和外围部件的工作状态。
2.软件测试:进行程序的运行测试,检查各功能是否正常运行。
特别关注温度采集和比较、报警控制和报警指示等功能。
五、系统性能分析对系统的性能进行分析,包括温度采集的准确性、报警控制的响应时间和报警指示的稳定性等方面。
1.温度采集准确性:主要受温度传感器的精度和ADC转换的准确性影响。
在设计中要选择合适的传感器和ADC。
《基于51单片机的温度控制系统设计与实现》篇一一、引言在现代工业控制领域,温度控制系统的设计与实现至关重要。
为了满足不同场景下对温度精确控制的需求,本文提出了一种基于51单片机的温度控制系统设计与实现方案。
该系统通过51单片机作为核心控制器,结合温度传感器与执行机构,实现了对环境温度的实时监测与精确控制。
二、系统设计1. 硬件设计本系统以51单片机为核心控制器,其具备成本低、开发简单、性能稳定等优点。
硬件部分主要包括51单片机、温度传感器、执行机构(如加热器、制冷器等)、电源模块等。
其中,温度传感器负责实时监测环境温度,将温度信号转换为电信号;执行机构根据控制器的指令进行工作,以实现对环境温度的调节;电源模块为整个系统提供稳定的供电。
2. 软件设计软件部分主要包括单片机程序与上位机监控软件。
单片机程序负责实时采集温度传感器的数据,根据设定的温度阈值,输出控制信号给执行机构,以实现对环境温度的精确控制。
上位机监控软件则负责与单片机进行通信,实时显示环境温度及控制状态,方便用户进行监控与操作。
三、系统实现1. 硬件连接将温度传感器、执行机构等硬件设备与51单片机进行连接。
具体连接方式根据硬件设备的接口类型而定,一般采用串口、并口或GPIO口进行连接。
连接完成后,需进行硬件设备的调试与测试,确保各部分正常工作。
2. 软件编程编写51单片机的程序,实现温度的实时采集、数据处理、控制输出等功能。
程序采用C语言编写,易于阅读与维护。
同时,需编写上位机监控软件,实现与单片机的通信、数据展示、控制指令发送等功能。
3. 系统调试在完成硬件连接与软件编程后,需对整个系统进行调试。
首先,对单片机程序进行调试,确保其能够正确采集温度数据、输出控制信号。
其次,对上位机监控软件进行调试,确保其能够与单片机正常通信、实时显示环境温度及控制状态。
最后,对整个系统进行联调,测试其在实际应用中的性能表现。
四、实验结果与分析通过实验测试,本系统能够实现对环境温度的实时监测与精确控制。
基于51单片机的温度控制系统设计引言:随着科技的不断进步,温度控制系统在我们的生活中扮演着越来越重要的角色。
特别是在一些需要精确控制温度的场合,如实验室、医疗设备和工业生产等领域,温度控制系统的设计和应用具有重要意义。
本文将以基于51单片机的温度控制系统设计为主题,探讨其原理、设计要点和实现方法。
一、温度控制系统的原理温度控制系统的基本原理是通过传感器感知环境温度,然后将温度值与设定值进行比较,根据比较结果控制执行器实现温度的调节。
基于51单片机的温度控制系统可以分为三个主要模块:温度传感器模块、控制模块和执行器模块。
1. 温度传感器模块温度传感器模块主要用于感知环境的温度,并将温度值转换成电信号。
常用的温度传感器有热敏电阻、热敏电偶和数字温度传感器等,其中热敏电阻是最常用的一种。
2. 控制模块控制模块是整个温度控制系统的核心,它负责接收传感器传来的温度信号,并与设定值进行比较。
根据比较结果,控制模块会输出相应的控制信号,控制执行器的工作状态。
51单片机作为一种常用的嵌入式控制器,可以实现控制模块的功能。
3. 执行器模块执行器模块根据控制模块输出的控制信号,控制相关设备的工作状态,以实现对温度的调节。
常用的执行器有继电器、电磁阀和电动机等。
二、温度控制系统的设计要点在设计基于51单片机的温度控制系统时,需要考虑以下几个要点:1. 温度传感器的选择根据具体的应用场景和要求,选择合适的温度传感器。
考虑传感器的测量范围、精度、响应时间等因素,并确保传感器与控制模块的兼容性。
2. 控制算法的设计根据温度控制系统的具体要求,设计合适的控制算法。
常用的控制算法有比例控制、比例积分控制和模糊控制等,可以根据实际情况选择适合的算法。
3. 控制信号的输出根据控制算法的结果,设计合适的控制信号输出电路。
控制信号的输出电路需要考虑到执行器的工作电压、电流等参数,确保信号能够正常控制执行器的工作状态。
4. 系统的稳定性和鲁棒性在设计过程中,需要考虑系统的稳定性和鲁棒性。
单片机基于51单片机温度控制设计简介一、引言本文将介绍基于51单片机的温度控制设计,其中包括硬件设计和软件设计两个部分。
温度控制是工业自动化中非常重要的一部分,其应用范围非常广泛,如冷库、温室、恒温水槽等。
本文所介绍的温度控制设计可广泛应用于各种场合。
二、硬件设计1.传感器部分本设计采用DS18B20数字温度传感器,其具有精度高、抗干扰能力强等优点。
传感器的输出信号为数字信号,与51单片机通信采用单总线方式。
2.控制部分本设计采用继电器控制加热器的开关,继电器的控制信号由51单片机输出。
同时,为了保证控制精度,本设计采用PID控制算法,其中P、I、D系数均可根据实际情况进行调整。
3.显示部分本设计采用LCD1602液晶显示屏,可显示当前温度和设定温度。
4.电源部分本设计采用12V直流电源供电,其中需要注意的是,由于继电器的电流较大,因此需要采用稳压电源。
三、软件设计1.初始化在程序开始运行时,需要对各个模块进行初始化,包括DS18B20传感器、LCD1602液晶显示屏和PID控制器等。
2.采集温度程序需要不断地采集温度,通过DS18B20传感器获取当前温度值,并将其显示在LCD1602液晶显示屏上。
3.控制加热器根据当前温度和设定温度的差值,通过PID控制算法计算出控制信号,控制继电器的开关,从而控制加热器的加热功率。
4.调整PID参数为了保证控制精度,需要不断地调整PID控制算法中的P、I、D系数,以达到最优控制效果。
四、总结基于51单片机的温度控制设计,可以实现对温度的精确控制,具有应用广泛、控制精度高等优点。
本文所介绍的硬件设计和软件设计,可供读者参考和借鉴,同时也需要根据实际情况进行调整和改进。
报告评分批改老师《现代电子综合实验》课程设计报告基于单片机的温度检测控制系统设计学生姓名 学 号专 业 班 级同组学生 提交日期 年 月 日指导教师目录2一、实验目的 .....................................................................................2二、实验要求 .....................................................................................2三、实验开发环境及工具 ...........................................................................2四、按键扫描和液晶显示功能实现 ...................................................................24.1矩阵键盘电路 ...............................................................................4.1.1矩阵键盘电路简介 .....................................................................224.1.2矩阵式按键扫描原理 ...................................................................24.1.3 按键扫描子程序设计思想及流程图 ......................................................34.2 LCD1602显示电路 ..........................................................................34.2.1 LCD1602模块简介 ....................................................................34.2.2 LCD1602模块引脚说明 .................................................................4.2.3 LCD1602控制方式及指令 ..............................................................344.2.4 LCD1602液晶显示子程序设计思想及流程图 ..............................................5五、基于单片机的温度检测控制系统设计过程 .........................................................55.1 系统整体电路框图及功能说明 ................................................................55.2 DS18B20数字温度传感器电路 ..............................................................55.2.1 单总线通信方式简介 ..................................................................65.2.2 DS18B20简介 ......................................................................5.2.3 DS18B20读写操作 ..................................................................665.3 声光报警及控制电路 ........................................................................75.4 软件设计 ..................................................................................5.4.1 主程序设计流程图 ....................................................................775.4.2 DS18B20子程序设计思想及流程图 ...................................................85.4.3 声光报警子程序设计思想及流程图 .....................................................9七、 实验过程及实验结果 ...........................................................................9八、实验中遇到的问题及解决方法 ...................................................................10附件 ............................................................................................一、实验目的(1). 掌握单片机应用系统的设计方法与步骤;(2).掌握硬件电路各功能模块的工作原理、应用电路与编程方法;(3).熟练掌握单总线的应用及编程;(4). 掌握基于单片机的温度检测控制系统的设计与实现。
基于51单片机的粮食烘干炉温度控制系统设计摘要:粮食烘干是农业生产中非常重要的一环,对于保证粮食质量和储存寿命具有重要意义。
本文基于51单片机设计了一种粮食烘干炉温度控制系统,通过对温度的实时监测和控制,实现了对粮食烘干过程中温度的自动调节。
实验结果表明,该系统能够有效地控制粮食烘干过程中的温度,提高了烘干效果。
关键词:51单片机;粮食烘干;温度控制;自动调节第一章绪论1.1 研究背景随着农业生产水平的提高和人们对粮食质量要求的不断提高,传统的太阳能和人工晾晒等方法已经无法满足现代农业生产中对于高质量、高效率、低成本、低能耗等方面需求。
因此,采用科学合理的方法进行粮食烘干成为了现代农业生产中不可或缺的环节。
1.2 研究目的和意义本文旨在设计一种基于51单片机的粮食烘干炉温度控制系统,通过对温度的实时监测和控制,实现对粮食烘干过程中温度的自动调节。
通过该系统,可以提高粮食烘干过程中的温度控制精度和稳定性,提高烘干效果,保证粮食质量。
第二章系统设计2.1 系统框架本系统主要由传感器、51单片机、执行器和人机交互界面等组成。
传感器用于实时监测炉内温度情况,将数据传输给51单片机进行处理;51单片机根据监测到的数据进行分析处理,并根据设定值控制执行器调节加热功率;人机交互界面用于设定目标温度、显示当前温度等。
2.2 传感器选择与接口设计在本系统中,选择了一种高精度、稳定性好的温度传感器作为监测元件。
该传感器通过模拟量信号输出当前温度值,并与51单片机进行连接。
2.3 信号采集与处理51单片机通过模拟输入接口采集传感器输出的模拟量信号,并通过模数转换将其转换为数字量信号。
然后,通过软件算法对数字信号进行处理,得到当前温度值。
2.4 控制算法设计本系统采用PID控制算法进行温度控制。
PID控制算法是一种经典的控制算法,具有调节快、稳定性好、适应性强等特点。
通过对PID参数的调整,可以实现对温度的精确控制。
2.5 执行器设计本系统采用电热丝作为执行器。
基于C51单片机的温度控制系统应用系统设计(附程序)基于C51单片机的温度控制系统应用系统设计--------- 单片机原理及应用实践周设计报告姓名:班级:学号:同组成员:指导老师:成绩:时间:2011 年7 月3 日单片机温度控制系统摘要温度是日常生活中无时不在的物理量,温度的控制在各个领域都有积极的意义。
很多行业中都有大量的用电加热设备,如用于热处理的加热炉,用于融化金属的坩锅电阻炉及各种不同用途的温度箱等,采用单片机对它们进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量。
因此,智能化温度控制技术正被广泛地采用。
本温度设计采用现在流行的AT89S51单片机,配以DS18B2数字温度传感器,上、下限进行比较,由此作出判断是否触发相应设备。
本设计还加入了常用的液晶显示及状态灯显示灯常用电路,使得整个设计更加完整,更加灵活。
关键词:温度箱;AT89C52 LCD1602单片机;控制目录1引言11.1温度控制系统设计的背景、发展历史及意义11.2温度控制系统的目的11.3温度控制系统完成的功能12总体设计方案22.1方案一 22.2方案二 23DS18B20温度传感器简介73.1温度传感器的历史及简介73.2DS18B20的工作原理7DS18B20工作时序7ROM操作命令93.3DS18B20的测温原理98B20的测温原理:9DS18B20的测温流程104单片机接口设计124.1设计原则124.2引脚连接12晶振电路12串口引脚12其它引脚135系统整体设计145.1系统硬件电路设计14主板电路设计14各部分电路145.2系统软件设计16 系统软件设计整体思路系统程序流图176结束语2116附录22参考文献391引言1.1温度控制系统设计的背景、发展历史及意义随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。
基于单片机的温度控制系统设计1.设计要求要求设计一个温度测量系统,在超过限制值的时候能进行声光报警。
具体设计要求如下:①数码管或液晶显示屏显示室内当前的温度;②在不超过最高温度的情况下,能够通过按键设置想要的温度并显示;设有四个按键,分别是设置键、加1键、减1键和启动/复位键;③DS18B20温度采集;④超过设置值的±5℃时发出超限报警,采用声光报警,上限报警用红灯指示,下限报警用黄灯指示,正常用绿灯指示。
2.方案论证根据设计要求,本次设计是基于单片机的课程设计,由于实现功能比较简单,我们学习中接触到的51系列单片机完全可以实现上述功能,因此可以选用AT89C51单片机。
温度采集直接可以用设计要求中所要求的DS18B20。
报警和指示模块中,可以选用3种不同颜色的LED灯作为指示灯,报警鸣笛采用蜂鸣器。
显示模块有两种方案可供选择。
方案一:使用LED数码管显示采集温度和设定温度;方案二:使用LCD液晶显示屏来显示采集温度和设定温度。
LED数码管结构简单,使用方便,但在使用时,若用动态显示则需要不断更改位选和段选信号,且显示时数码管不断闪动,使人眼容易疲劳;若采用静态显示则又需要更多硬件支持。
LCD显示屏可识别性较好,背光亮度可调,而且比LED 数码管显示更多字符,但是编程要求比LED 数码管要高。
综合考虑之后,我选用了LCD 显示屏作为温度显示器件,由于显示字符多,在进行上下限警戒值设定时同样可以采集并显示当前温度,可以直观的看到实际温度与警戒温度的对比。
LCD 显示模块可以选用RT1602C 。
3.硬件设计根据设计要求,硬件系统主要包含6个部分,即单片机时钟电路、复位电路、键盘接口模块、温度采集模块、LCD 显示模块、报警与指示模块。
其相互联系如下图1所示:图1 硬件电路设计框图3.1单片机时钟电路形成单片机时钟信号的方式有内部时钟方式和外部时钟方式。
本次设计采用内部时钟方式,如图2所示。
单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为此放大器的输入端和输出单片机时钟电路复位电路键盘接口模块温度采集模块单 片 机LCD 显示模块报警与指示模块图2 单片机内部时钟方式电路端,其频率范围为1.2~12MHz ,经由片外晶体振荡器或陶瓷振荡器与两个匹配电容一起形成了一个自激振荡电路,为单片机提供时钟源。
3.2复位电路复位是单片机的初始化操作,其作用是使CPU 和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作,以防止电源系统不稳定造成CPU 工作不正常。
在系统中,有时会出现工作不正常的情况,为了从异常状态中恢复,同时也为了系统调试方便,需要设计一个复位电路。
单片机的复位电路有上电复位和按键复位两种形式,因为本次设计要求需要有启动/复位键,因此本次设计采用按键复位,如图3。
复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能。
3.3键盘接口模块本次设计需要的按键有4个,除去一个复位按键外,还有3个功能按键,因此选择独立式键盘。
如图4,将键盘直接与单片机P1口的P1.0、P1.1、P1.2相连。
3个键设计思路如下:当按下S1键时,系统进入上下限警戒值调整状态;当第一次按下S1键时,进行上限警戒值设定,当第二次按下S1键时,进行下限警戒值设定,当第三次按下S1键时,回到正常工作状态。
在警戒值调整图3 单片机按键复位电路图4 键盘接口模块状态下,按下S2键,上下限警戒值加1,按下S3键,上下限警戒值减1,正常工作状态下,按下S2和S3键无作用。
3.4温度采集模块本次设计中的温度传感器使用的是DALLAS公司的单总线数字温度传感器DS18B20,这是一种常用的温度传感器,具有体积小、硬件开销低、抗干扰能力强、精度高的特点。
DS18B20采用独特的一线接口,具有只需要一条口线通信多点的能力,简化了分布式温度传感应用,无需外部元件。
可用数据总线供电,电压范围为3.0 V至5.5V,测量温度的范围为-55℃至+125 ℃,在-10℃至+85℃范围内精度为±0.5℃。
温度传感器可编程的分辨率为9~12位,温度转换为12位数字格式最大值为750毫秒,用户可定义的非易失性温度报警设置,应用范围包括恒温控制、工业系统、消费电子产品温度计、或任何热敏感系统。
由于DS18B20是一条口线通信,所以中央微处理器与DS18B20只有一个一条口线连接。
因为每一个DS18B20的包含一个独特的序号,多个DS18B20可以同时存在于一条总线,这使得温度传感器放置在许多不同的地方。
它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。
图5 DS18B20封装及引脚DS18B20的核心功能是它的直接读数字的温度传感器。
温度传感器的精度为用户可编程的9、10、11或12位,分别以0.5℃,0.25℃,0.125℃和0.0625℃增量递增。
在上电状态下默认的精度为12位。
DS18B20启动后保持低功耗等待状态;当需要执行温度测量和AD转换时,总线控制器必须发出[44h]命令。
在那之后,产生的温度数据以两个字节的形式被存储到高速暂存器的温度寄存器中,DS18B20继续保持等待状态。
当DS18B20由外部电源供电时,总线控制器在温度转换指令之后发起“读时序”,DS18B20正在温度转换中返回0,转换结束返回1。
如果DS18B20由寄生电源供电,除非在进入温度转换时总线被一个强上拉拉高,否则将不会由返回值。
在硬件上,DS18B20与单片机的连接有两种方法:一种是VDD接外部电源,GND接地,DQ与单片机的I/O口相连;另一种是用寄生电源供电,此时,VDD、GND接地,DQ接单片机的I/O口。
无论是接外部电源还是用内部寄生电源,I/O口线要接5kΩ左右的上拉电阻。
本次设计中,采用外部电源方式,其连接方式如图6所示。
单总线DQ端接单片机的P1.7口,DQ端接一个4.7kΩ的上拉电阻,这样单总线DQ在闲置状态时为高电平。
图6 DS18B20外部电源连接方式3.5 LCD显示模块在本次设计中,使用RT1602C字符型液晶显示模块(LCM)来设计当前温度和上下限警戒值的显示电路。
RT1602C字符型液晶显示模块是16字×2行的采用5×7点阵图形来显示字符的液晶显示器,采用标准的16脚接口,其引脚定义如图7所示。
图7 RT1602C的引脚定义RT1602C的内部结构可以分为3个部分:LCD控制器、LCD驱动器、LCD 显示器,其中LCD控制器采用的是HD44780。
RT1602C与单片机的连线如图8所示。
图8 RT1602C与单片机连线LCM的数据总线与单片机的P0口通过一个上拉电阻排相连,LCM的三条控制线RS、RW、EN分别与单片机的I/O口P2.0、P2.1、P2.2相连,第1、2引脚分别与地、电源相连,第3引脚使用一个10kΩ的可调电阻对显示屏的明亮进行调整。
3.6报警与指示模块在本次设计中,采用LED发光二极管作为系统指示灯,采用蜂鸣器作为报警鸣笛。
当温度高于上限警戒值时,点亮红色发光二极管,蜂鸣器发出响声;当温度低图9 报警与指示模块于下限警戒值时,点亮黄色发光二极管,蜂鸣器发出响声;温度在正常范围内时,点亮黄色发光二极管。
整个报警与指示电路如图9所示,其中绿、红、黄色指示灯分别接单片机P2.0、P2.1、P2.2口,电平拉低时点亮LED,蜂鸣器电路接单片机的P2.7口,电平拉高时蜂鸣器响。
至此便完成了整个硬件电路的设计工作,整个系统的原理图见附录二,系统I/O分配表如下:4.软件设计单片机应用系统的设计中,软件设计占有重要的位置。
在本次设计中,根据功能要求,可以把系统程序划分为5个模块,即主程序模块、显示模块、温度测量模块、键盘扫描模块、其它子程序模块,如图10所示。
图10 软件设计框图4.1主程序设计主程序的内容包括单片机初始化、相关部件初始化和一些其它子程序的调用等。
主程序清单如下,程序流程图如图11所示。
/************主程序************/void main(void) { P1=0xff; //初始化P1P2|=0x70; P2&=0x7f;Temp_set1=90; //上限报警温度初值 Temp_set2=10; //下限报警温度初值 Delay(500); //延时500ms 启动 init_LCD(); //LCD 初始化 init_18B20(); //DS18B20初始化 Display_str(0,0,str2); //开机界面Display_str(0,1,str2); //开机界面Delay(2000); Display_str(0,0,str0); Display_str(0,1,str1); while(1) { Key_scan(); //扫描键盘 Read_temp(); //读取温度 Change();Display(); //显示Alarm(); //指示灯与报警程序 Delay(1000);}}4.2显示模块显示程序主要完成的功能是模式、上下限警戒值和测量温度值的显示,模块中包含LCD 初始化、显示单个字符子函数、显示一个字符串子函数。
程序流程图如图12所示,LCD 初始化程序如下,其它子函数程序详见附录一。
/************LCD 初始化************/ void init_LCD(void){ P0=0;Delay(15);图11 主程序流程图LCD_Command(0x38,0);Delay(5);LCD_Command(0x38,0);Delay(5);图12 显示程序流程图LCD_Command(0x38,0);Delay(5);LCD_Command(0x38,1); //8位数据传送,2行显示,5*7字形LCD_Command(0x08,1); //关闭显示LCD_Command(0x01,1); //清屏LCD_Command(0x06,1); //显示光标右移设置LCD_Command(0x0c,1); //显示屏打开,光标不显示不闪烁}4.3温度测量模块温度测量程序主要功能是读出数字温度传感器的温度值。
要正确地读出温度值必须严格遵守单总线器件的命令序列,否则单总线器件不会响应主机。
单总线器件的命令序列如图13所示。
温度测量模块程序流程图如图14所示,DS18B20初始化程序如下,其它子程序详见附录一。
/************DS18B20初始化************/void init_18B20(void){uchar x=0;DQ=1; //DQ复位Delay_us(4); //延时DQ=0; //将DQ拉低Delay_us(250); //精确延时大于DQ=1; //拉高总线Delay_us(40);x=DQ;}4.4键盘扫描模块本次设计中使用了4个按键,除了1个复位键还有3个功能键,具体功能前面已介绍。