Ⅰ MCS-51单片机的温度测控设计(开题报告)
1 绪论
1.1 课题概述和意义
单片微型计算机是随着超大规模集成电路技术的发展而诞生的,由于它具有体积小、功能强、性价比高等特点,所以广泛应用于电子仪表、家用电器、节能装置、军事装置、机器人、工业控制等诸多领域,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。本文主要介绍单片机在温度控制中的应用。
在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。
在人类的生活环境中,温度扮演着极其重要的角色。温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程都与温度密切相关,因此温度控制是生产自动化的重要任务。对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,燃料,控制方案也有所不同。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。
1.2 本文主要研究的工作
本文所要研究的课题是基于单片机控制的温度闭环控制系统的设计,介绍了对水箱温度的显示、控制及报警,实现了温度的实时显示及控制。水箱水温控制部分,提出了用DS18S20、89C51单片机及LED的硬件电路完成对水温的实时检测及显示,利用DS18S20与单片机连接由软件与硬件电路配合来实现对加热电阻丝的实时控制及超出设定的上下限温度的报警系统......
本文介绍了对锅炉水位及室内温度的显示、控制及报警,实现了锅炉温度的实时显示及控制。锅炉水温控制部分,提出了用DS18S20、89C51单片机及LED的硬件电路完成对锅炉水温的实时检测及显示,利用DS18S20与单片机连接由软件与硬件电路配合来实现对加热电阻丝的实时控制及超出设定的上下温度的报警系统。
炉内温度控制部分,采用一套PID闭环负反馈控制系统,由DS18S20检测炉内温度,用中值滤波的方法取一个值存入程序存取器内部一个单元作为最后检测信号,并在LED中显示。控制器是用89C51单片机,用PID算法对检测信号和设定值的差值进行调节后输出控制信号给执行机构,去调节电阻炉的加热功率,从而控制炉内温度。
它具有微型化、低功耗、高性能、抗干拢能力强、易配微处理器等优点,特别适合于构成多点温度测控系统,可直接将温度转化成串行数字信号供微机处理,而且每片DS18S20都有唯一的产品号并可存入其ROM中,以便在构成大型温度测控系统时在单线上挂接任意多个DS18S20芯片。从DS18S20读出或写入DS18S20信息仅需要一根口线,其读写及温度变换功率来源于数据总线,该总线本身也可以向所挂接的DS18S20供电,而无需额处电源。DS18S20能提供九位温度读数,它无需任何外围硬件即可方便地构成温度检测系统。
Ⅱ 有关温度报警器的程序,有关DS18B20的程序已写好,求助有关蜂鸣器报警和温度上下限设置的程序
本设计的温度测量及加热控制系统以 AT89S52 单片机为核心部件,外加温度采集电
路、键盘及显示电路、加热控制电路和越限报警等电路。采用单总线型数字式的温度传
感器 DS18B20,及行列式键盘和动态显示的方式,以容易控制的固态继电器作加热控制
的开关器件。本作品既可以对当前温度进行实时显示又可以对温度进行控制,以使达到
用户需要的温度,并使其恒定在这一温度。人性化的行列式键盘设计使设置温度简单快
速,两位整数一位小数的显示方式具有更高的显示精度。建立在模糊控制理论上的控制
算法,使控制精度完全能满足一般社会生产的要求。通过对系统软件和硬件设计的合理
规划,发挥单片机自身集成众多系统级功能单元的优势,在不减少功能的前提下有效降
低了硬件成本,系统操控简便。
实验证明该温控系统能达到 0.2℃的静态误差,0.45℃的控制精度,以及只有 0.83%
的超调量,因而本设计具有很高的可靠性和稳定性。
关键 词: 单片机 恒温控制 模糊控制
1
引 言
温度是工业生产中主要的被控参数之一,与之相关的各种温度控制系统广泛应用于
冶金、化工、机械、食品等领域。温度控制是工业生产过程中经常遇到的过程控制,有
些工艺过程对其温度的控制效果直接影响着产品的质量,因而设计一种较为理想的温度
控制系统是非常有价值的。
硬件 系统的设计
1、电路总体原理框图
温度测量及加热系统控制的总体结构如图 1 所示。系统主要包括现场温度采集、实
时温度显示、加热控制参数设置、加热电路控制输出、与报警装置和系统核心 AT89S52
单片机作为微处理器。
图 1:系统总体原理框图
温度采集电路以数字量形式将现场温度传至单片机。单片机结合现场温度与用户设
定的目标温度,按照已经编程固化的模糊控制算法计算出实时控制量。以此控制量控制
固态继电器开通和关断,决定加热电路的工作状态,使水温逐步稳定于用户设定的目标
值。在水温到达设定的目标温度后,由于自然冷却而使其温度下降时,单片机通过采样
回的温度与设置的目标温度比较,作出相应的控制,开启加热器。当用户需要比实时温
度低的温度时,此电路可以利用风扇降温。系统运行过程中的各种状态参量均可由数码
管实时显示。
2、温度采集电路的设计
温度采集电路模块如图 2 示。DS18B20 内部结构主要由四部分组成:64 位光刻 ROM、
温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。其中 DQ 为数字信号输
入/输出端;GND 为电源地;VDD 为外接供电电源输入端。
2
图 2:温度采集电路
DS18B20 中的温度传感器可完成对温度的测量,以 12 位转化为例:用 16 位符号扩展
的二进制补码读数形式提供,以 0.0625℃/LSB 形式表达,其中 S 为符号位。
这是 12 位转化后得到的 12 位数据,存储在 18B20 的两个 8 比特的 RAM 中,二进
制中的前面 5 位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将测到的数值乘
于 0.0625 即可得到实际温度;如果温度小于 0,这 5 位为 1,测到的数值需要取反加 1
再乘于 0.0625 即可得到实际温度。
3、键盘和显示的设计
键盘采用行列式和外部中断相结合的方法,图 3 中各按键的功能定义如下表 1。其
中设置键与单片机的 INT 0 脚相连,S 0 −−S 9 、YES、NO 用四行三列接单片机 P0 口,REST
键为硬件复位键,与 R、C 构成复位电路。模块电路如下图 3:
表 1:按键功能
按键 键名 功能
REST 复位键 使系统复位
RET 设置键 使系统产生中断,进入设置状态
S 0 −−S 9 数字键 设置用户需要的温度
YES 确认键 用户设定目标温度后进行确认
NO 清除键 用户设定温度错误或误按了 YES 键后使用
3
图 3 键盘接口电路
显示采用 3 位共阳 LED 动态显示方式,显示内容有温度值的十位、个位及小数点后
一位。用 P2 口作为段控码输出,并用 74HC244 作驱动。P1.0—P1.2 作为位控码输出,
用 PNP 型三极管做驱动。模块电路如下图 4:
4、加热控制电路的设计
图 4 显示接口电路
用于在闭环控制系统中对被控对象实施控制,被控对象为电热杯,采用对加在电热
杯两端的电压进行通断的方法进行控制,以实现对水加热功率的调整,从而达到对水温
控制的目的。对电炉丝通断的控制采用 SSR-40DA 固态继电器。它的使用非常简单,只
要在控制端 TTL 电平,即可实现对继电器的开关,使用时完全可以用 NPN 型三极管接
成电压跟随器的形式驱动。当单片机的 P1.3 为高点平时,三极管驱动固态继电器工作
接通加热器工作,当单片机的 P1.3 为低电平时固态继电器关断,加热器不工作。控制
电路图如下图 5:
4
图 5 加热控制电路
5、报警及指示灯电路的设计
当用户设定的目标温度达到时需用声音的形式提醒用户,此时蜂鸣器为三声断续的
滴答滴答的叫声。在本系统中我们为用户设计了越限报警,当温度低于用户设置的目标
温度 10 度或高于 10 度时蜂鸣器为连续不断的滴答滴答叫声。当单片机 P1.7 输出高电
平时,三极管导通,蜂鸣器工作发出报警声。P1.7 为低电平时三极管关断,蜂鸣器不
工作。
D1 为电热杯加热指示灯,P1.5 低电平有效;D0 为检测到 DS18B20 的指示,高电平
有效;D10 为降温指示灯,低电平有效。报警及指示灯电路如下图 6 示:
图 6 报警及指示灯电路
5
软 件系统的设计
系统的软件由三大模块组成:主程序模块、功能实现模块和运算控制模块。
1、主程序模块
主程序主要完成加热控制系统各部件的初始化和实现各功能子程序的调用,以及实
际测量中各个功能模块的协调在无外部中断申请时,单片机通过循环对外部温度进行实
时显示。把设置键作为外部中断 0,以便能对数字按键进行相应处理。主程序流程图如
下图 7:
6
图 7 主程序流程图
7
2、功能实现模块
以用来执行对固态继电器及电热杯的控制。功能实现模块主要由中断处理子程序、
温度比较处理子程序、键盘处理子程序、显示子程序、报警子程序等部分组成。键盘显
示及中断程序流程图如下图 8:
3、运算控制模块
图 8 键盘、显示、中断 子程序流程图
该模块由标度转换、模糊控制算法,及其中用到的乘法子程序。
3.1 标度转换
16
式中 A 为二进制的温度值, A0 为 DS18B20 的数字信号线送回来的温度数据。
8
单片机在处理标度转换时是通过把 DS18B20 的信号线送回的 16 位数据右移 4 位得
到二进制的温度值。其小数部分通过查小数表的形式获取。程序流程图如下图 9:
开始
将28H低4位与29H高4位组合成
一个字节
将合成的字节(整数部分)送29H
单元
将29H单元低4位送A
给DPTR赋常数表格2首地址
将查到的数值(即小数部分)送
30H单元
结束
3.2 模糊控制算法子程序
图 9 标度转换子程序流程图
该系统为一温度控制系统,由于无法确切确定电炉的物理模型,因而无法建立其数
学模型和传递函数。加热器为一惯性系统,我们采用模糊控制的方法,通过多次温度测
量模糊计算当用户设定目标温度时需提前关断加热器的温度,利用加热器自身的热惯性
使温度上升到其设定温度。每隔 5 摄氏度我们进行一次温度测量,并当达到其温度时关
断加热器记录下因加热器的热惯性而上升的温度值。从而可以建立热惯性的温度差值
表,在程序中利用查表法,查出相应设定温度对应的关断温度。通过实验数据我们可以
看出,当水温从 0℃加热到 50℃这段温度区域,其温度惯性曲线可近似成线性的直线,
水温从 50℃加热到 100℃这段温度惯性曲线可近似成另一条线性的直线段。通过对设置
的目标温度与温控系统监测温度进行差值处理就可近似的求出单片机的提前关断温度。
程序流程图如图 10:
9
4.源程序见附录[2]
图 10 模糊控制算法子程序流程图
设计 总结
我们的温度控制系统是基于 AT89S52 单片机的设计方案,她能实时显示当前温度,
并能根据用户的要求作出相应的控制。此系统为闭环系统,工作稳定稳定性高,控制精
度高,利用模糊控制算法使超调量大大降低。软件采用模块化结构,提高了通用性。本设
计的目的不仅仅是温度控制本身,主要提供了单片机外围电路及软件包括控制算法设计
的思想,应该说,这种思想比控制系统本身更为重要。
1、设计所达到的性能指标
1.1 温控系统的标度误差
我们将标准温度计和温控系统探头放人同一容器中,选定若干不同的温度点,记
录下标准温度计显示的温度和温控系统显示的温度进行比较。测量数据如下表 2 所示:
表 2 标准温度计测量的温度和温控系统显示的温度
标准温度计和温控系统显示的温度(℃)
标准温度计 16.9 47.7 57.8 63.0 72.8 85.1 90.9
温控系统 16.5 48.0 58.3 62.9 73.0 85.5 90.5
差值比较 -0.4 0.3 0.5 0.1 0.2 0.4 -0.4
标度误差 1.5%
10
1.2 温控系统的静态误差
通过测量在不同的温度点同标准温度的温度差来确定温控系统的静态误差。其测量
数据如下表 3:
表 3 标准温度和温控系统显示的温度
标准温度和温控系统显示的温度(℃)
标准温度 26.0 37.0 46.0 60.0 70.0 83.0
系统显示值 25.7 36.4 46.1 59.6 70.0 83.3
差值 -0.3 -0.6 -0.1 -0.4 0 0.3
静态误差 0.18℃
1.3 温控系统的控制精度
通过设定不同的温度值,使加热器加热,待温度稳定时记录各温度点的温度计数据
和温控系统的显示值。其记录数据如下表 4:
温度计读数和温控系统显示的温度(℃)
设定温度
值 20.0 28.0 35.0 45.0 55.0 75.0 87.0 91.0
系统显示
值 20.5 27.7 34.4 45.1 54.1 74.9 86.1 91.2
差值 0.5 -0.3 -0.6 0.1 -0.9 -0.1 -0.9 0.2
控制精度 0.45℃
超调量 0.83%
2、结果分析论述
我们的系统完全满足设计要求,静态误差方面可以达到 0.18℃的误差,在读数正确
方面与标准温度计的读数误差为 1.5%,对一般的工业生产完全可以采用我们的设计。
该系统具有较小的超调值,超调值大约为 0.83%左右。虽然超调为不利结果,但另
一方面却减小了系统的调节时间。从其数据表可以看出该系统为稳定系统。
3、设计方案评价
3.1 优点
在硬件方面:本设计方案采用了单总线型数字式的温度传感器,提高了温度的采集
精度,节约了单片机的口线资源。方案还使用仅一跟口线就可控制的美国生产的固态继
电器 SSR—40DA 作加热控制器件,使设计简单化,且可靠性强。在控制精度方面,本设
计在不能确定执行机构的数学模型的情况下,大胆的假设小心的求证,利用模糊控制的
算法来提高控制精度。
在软件方面:我们采用模块化编程,思路清晰,使程序简洁、可移植性强。
3.2 缺点
本设计方案虽然采用了当前市场最先进的电子器件,使电路设计简单,但设计方案
造价高。本系统虽然具有较小的超调量,但加大了调节时间。如果需要更高的控制精度,
则我们的模糊控制将不适应,需修改程序。
11
3.3 方案的改进
在不改变加热器容量的情况下,为减小调节时间,可以实行在加热快达到设定温度
时开启风扇来减小热惯性对温度的影响的措施。在控制精度上可采用先进的数字 PID
控制算法,对加热时间进行控制,提高控制精度。
可以改进控制系统使能同 PC 联机通信,以利用 PC 的图形处理功能打印显示温度曲
线。AT89S52 串行口为 TTL 电平,PC 串行口为 RS232 电平,使用一片 MAX232 作为电
平转换驱动。
参考 文献
[1] 李广弟 单片机基础 北京:北京航空航天大学出版社,2001
[2] 王福瑞 单片微机测控系统设计大全 北京:北京航空航天大学出版社,1997
[3] 赵茂泰 智能仪器原理及应用(第 2 版) 北京:电子工业出版社,2004
[4] 赖寿涛 微型计算机控制技术 北京:机械工业出版社,2000
[5] 沙占友 模拟与数字万用表检测及应用技术 北京:电子工业出版社 1999
12
附 录
附录[1]使用说明书
按 键功能说明
数字键:按 SET 键后,按相应的数字键(0~9)可对温度进行设置,所设置的温
度将实时显示在 LED 显示器上;
SET 键:按 SET 键可对温度的十位、个位以及小数部分进行设置;
YES 键:设置好温度后按 YES 键,系统将据你所设置的温度(须大于当前实际
温度)对水进行加热;
NO 键:若误按了 SET 键,或对输入有误,可按 NO 键进行取消;
RST 键:对系统进行复位。
指示 灯及报警器说明
红 灯:加热状态标志;
绿 灯:温度传感器正常工作标志;
蓝 灯:保温状态标志;
报警器:功能①当水温达到预设值时报警提醒;
功能②当水温达到或超越上、下限时报警提示。
13
附录[2]设计总电路
14
附录[3]程序清单
TEMPER_L EQU 29H ;用于 保存读出温度的低 8 位
TEMPER_H EQU 28H ;用于 保存读出温度的高 8 位
FLAG EQU 38H ;是否 检测到 DS 18B20 标志位
DAYU EQU 44H ;设温 >实温
XIYU EQU 45H ;设温 <实温
DEYU EQU 46H ;设温 =实温
GAOLE EQU 47H ;水温 高于最高温度
DILE EQU 48H ;水温 低于最低温度
A_bit EQU 79h ;数码 管个位数存放内存位置
B_bit EQU 7Ah ;数码 管十位数存放内存位置
C_BIT EQU 78H ;数码 管小数存放内存位置
ORG 0000H
AJMP START
ORG 0003H
AJMP PITO
ORG 0030H
START: CLR P1.7
CLR P1.3
CLR P1.5
SETB P1.6
MOV R4, #00H
MOV SP, #60H ;确立堆栈区
MOV PSW, #00H ;
MOV R0, #20H ;RAM 区首地址
MOV R7, #60H ;RAM 区单元个数
ML: MOV @R0, #00H
INC R0
DJNZ R7, ML
CLR IT0
MAIN:LCALL GET_TEMPER ;调用读温度子程序 进行温度显示,这里我们考
;虑用网站提供的两位数码管来显示温度
;显示范围 00 到 99 度,显示精度为 1 度
;因为 12 位转化时每一位的精度为 0.0625 度,
;我们不要求显示小数所以可以抛弃 29H 的低 4
;位将 28H 中的低 4 位移入 29H 中的高 4 位,这
;样获得一个新字节,这个字节就是实际测量获
;得的温度
LCALL DISPLAY ;调用数码管显示 子程序
JNB 00H, MAIN
CLR 00H
15
MOV A, 38H
CJNE A, #00H, SS
AJMP MAIN
SS: LCALL GET_TEMPER
LCALL DISPLAY;调用 数码管显示子程序
LCALL BIJIAO
LCALL XIAOYU
LCALL JIXIAN
JNB DEYU ,LOOP
CLR P1.3 ;关加热器
SETB P1.6 ;关 蓝灯
SETB P0.7 ;关风扇
CLR DEYU
LCALL GET_TEMPER
LCALL DISPLAY
AJMP TT2
LOOP:JNB DAYU ,TT
CLR DAYU
SETB P1.3
SETB P1.6
SETB P0.7
CLR P1.7
LCALL GET_TEMPER
LCALL DISPLAY
AJMP TT2
TT:JNB XIYU, TT2
CLR XIYU
CLR P0.7
CLR P1.6
CLR P1.3
CLR P1.7
LCALL GET_TEMPER
LCALL DISPLAY
TT2:MOV A, 29H
CLR C
CJNE A, 50H, JX
MOV A , 30H
CLR C
CJNE A, 51H, JIA1
AJMP YS2
JIA1:JC JX
MOV A, 51H
MOV 52H, A
ADD A, #2
16
MOV 52H, A
CLR C
MOV A, 30H
CJNE A, 52H, JIA2
JIA2:JNC JX
YS2:SETB P1.7
CLR P1.6
MOV R5, #20H
YS:LCALL GET_TEMPER
LCALL DISPLAY
DJNZ R5, YS
CLR P1.7
SETB P1.6
MOV R5, #20H
YS1:LCALL GET_TEMPER
LCALL DISPLAY
DJNZ R5, YS1
YS3:SETB P1.7
CLR P1.6
MOV R5, #20H
YS0:LCALL GET_TEMPER
LCALL DISPLAY
DJNZ R5, YS0
CLR P1.7
SETB P1.6
MOV R5, #20H
YS01:LCALL GET_TEMPER
LCALL DISPLAY
DJNZ R5, YS01
YS4:SETB P1.7
CLR P1.6
MOV R5, #20H
YS02:LCALL GET_TEMPER
LCALL DISPLAY
DJNZ R5, YS02
CLR P1.7
SETB P1.6
MOV R5, #20H
YS03:LCALL GET_TEMPER
LCALL DISPLAY
DJNZ R5, YS03
JX: MOV A, 29H
CJNE A, 31H, JX00
JX01:SETB P1.7
17
CLR C
AJMP LAST
JX00:JC JX01
CLR P1.7
CJNE A,
JX02:SETB P1.7
CLR C
AJMP LAST
JX03:JNC JX02
32H,
JX03
CLR P1.7
LAST:LCALL GET_TEMPER
LCALL DISPLAY
AJMP SS
;***************************常数表格区**** ******************************************
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8 H,80H ;0-8
DB 90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH ,0CH ;9,A,B,C,D,E,F,灭,p.
TAB1:DB40H,79H,24H,30H,19H,12H,02H,78H,00H ,10H, ;0.--9.
TAB2:DB 0, 0, 1, 2, 3, 3, 4, 4, 5, 5, 6, 7, 8, 8, 9, 9, ;小数点
;*************************1ms 延时程序*************** *********************
;************************* ****中断服务程序* *********************************
; 完成按键识别,键值求取,按键实时显示 等功能;
;************************* **************** **********************************
PITO: PUSH ACC
PUSH PSW
SETB RS0
CLR RS1
SET B 00H
MAIN1: MOV R7 , #03H ;显示位数为 2 位
MOV R0, #7AH
MOV 78H, #00H
MOV 79H, #00H
MOV 7AH, #00H
KK: LCALL DIR
LCALL KEY1
LOOP1:CJNE A, #11, LOOP2
AJMP LAST0
LOOP2:CJNE A, #12, LOOP3
LJMP LAST3
LOOP3: CJNE A, #10, L4
MOV A, #00H
L4: MOV @R0, A
LCALL DIR
DEC R0
DJNZ R7, KK
18
SETB 01H
LAST0:JNB 01H, KK
LOOP4:LCALL KEY1
CJNE A, #12, LOOP5
AJMP LAST3
LOOP5:CJNE A, #11, LOOP4
LAST1:LCALL DIR
LCALL MUN
LCALL JD
LCALL BIJIAO
LAST3:POP PSW
POP ACC
RETI
;******************精度控制 子程序********** ******
JD: PUSH ACC
PUSH PSW
CLR C
MOV A, 38H
MOV 50H, A
MOV A, 39H
MOV 51H, A
CJNE A, 29H, L001
L001:JC LAST02 ;设温<实温,则跳出
MOV A, 29H
MOV 41H, A
MOV A, 38H
CJNE A, #25, L002
L003:CLR C ;0 <T<25
SUBB A, 41H
CJNE A, #3, L004
L005:MOV A, 30H
ADD A, #5 ;0<T<25, 差值小于 3 度
DA A
JNB ACC.4, L0051
ANL A, #0FH
SETB C
L0051:MOV 39H, A
MOV A, 29H
ADDC A, #1
MOV 38H, A
AJMP LAST2
LAST02: AJMP LAST2
L004:JC L005
MOV A, 39H
19
SUBB A, #0
DA A
MOV 39H, A
JNC L0041
DEC 38H
L0041:MOV A, 38H
SUBB A, #2 ;0<T<25, 差值大 于 3 度
MOV 38H, A
AJMP LAST2
L002:JC L003
CJNE A, #50, L006
L007:CLR C ;25<T<5 0
SUBB A, 41H
CJNE A, #3, L008
L009:MOV A, 30H
ADD A, #1
DA A
JNB ACC.4, L0091
ANL A, #0FH
SETB C
L0091:MOV 39H, A
MOV A, 29H
ADDC A, #1
MOV 38H, A
AJMP LAST2
L008:JC L009
MOV A, 39H
SUBB A, #0
MOV 39H, A
MOV A, 38H
SUBB A, #2
MOV 38H, A
AJMP LAST2
L006:JC L007
CJNE A, #65, L010
L011:CLR C
SUBB A, 41H
CJNE A, #3, L012
L013:MOV A, 30H
ADD A, #2
JNB ACC.4, L00131
ANL A, #0FH
SETB C
L00131:MOV 39H, A
20
MOV A, 29H
ADDC A, #1
MOV 38H, A
AJMP LAST2
L012:JC L013
MOV A, 39H
SUBB A, #0
MOV 39H, A
MOV A, 38H
SUBB A, #2
MOV 38H, A
AJMP LAST2
L010:JC L011
CJNE A, #90, L016
L017:CLR C
SUBB A, 41H
CJNE A, #2, L014
L015:MOV A, 30H
ADD A, #0
JNB ACC.4, L00151
ANL A, #0FH
SETB C
L00151:MOV 39H, A
MOV A, 29H
ADDC A, #1
MOV 38H, A
AJMP LAST2
L014:JC L015
CLR C
MOV A, 38H
SUBB A, #1
MOV 38H, A
AJMP LAST2
L016:JC L017
LAST2:POP PSW
POP ACC
RET
;*******************************键扫描** ************************************
KEY1:LCALL KS1 ;键 扫描
JNZ LK1
LCALL DIR
AJMP KEY1
LK1:LCALL DIR
LCALL DIR
21
LCALL KS1
JNZ LK2
LCALL DIR
AJMP KEY1
LK2:MOV R2, #0FEH ;确定键值
MOV R4, #01H
MOV A, R2
LK4:MOV P0, A
NOP
MOV A, P0
JB ACC.3, LONE
MOV A, #00H
AJMP LKP
LONE:JB ACC.4 , LTWO
MOV A, #03H
AJMP LKP
LTWO:JB ACC.5, LTHR
MOV A, #06H
AJMP LKP
LTHR:JB ACC.6, NEXT5
MOV A, #09H
AJMP LKP
NEXT5:INC R4
MOV A, R2
JNB ACC.2 ,KND
RL A
MOV R2, A
AJMP LK4
KND:AJMP KEY1
LKP: ADD A, R4
PUSH ACC
LK3:LCALL DIR
LCALL KS1
JNZ LK3
POP ACC
RET
KS1: PUSH PSW
MOV P0, #78H
NOP
MOV A, P0 ;判断有无键按下
CPL A
ANL A, #78H
POP PSW
22
RET
;*************求设置温度的二 进制代码,值保存在 38H 单元**************
MUN: PUSH PSW
MOV R0, #7AH ;求键值
MOV A, @R0
SWAP A
DEC R0
ADD A, @R0
MOV R1, A
ANL A, #0F0 H
SWAP A
MOV B, #10
MUL AB
MOV R2, A
MOV A, R1
ANL A, #0FH
ADD A, R2
MOV 38H, A
MOV R0, #78H
MOV 39H, @R0
POP PSW
RET
;*************比较实际温度和设置温度的大小 并设置相应的标志位***********
BIJIAO:MOV A, 29 H ;实际温度
摘自网络知道
Ⅲ 跪求单片机课程设计 要完全呦
题 目:单片机课程设计报告
目 录
一、设计目的
二、程设计具体要求
三、单片机发展简史
四、8051单片机系统简介
五、8051单片机内部定时器/计数器简介
六、程序电路
七、程序流程
八、程序代码
九实验总结-要求写出完整的论文以及心得体会
十参考资料及小结
原 文 : 一.目的
1. 进一步熟悉和掌握8051单片机的结构及工作原理。
2. 掌握单片机的接口技术及相关外围芯片的外特性,控制方法。
3. 通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。
4. 通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
5. 通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应打下基础。
二.课程设计的体要求
a) 原理图设计。
1. 原理图设计要符合项目的工作原理,连线要正确,端了要不得有标号。
2. 图中所使用的元器件要合理选用,电阻,电容等器件的参数要正确标明。
3. 原理图要完整,CPU,外围器件,扩器接口,输入/输出装置要一应俱全。
b) 程序调计
1. 根据要求,将总体项能分解成若干个子功能模块,每个功能模块完成一个特定的功能。
2. 根据总体要求及分解的功能模块,确定各功能模块之间的关系,设直出完整的程序流程图。
c) 程序调试将设计完的程序输入,汇编,排除语法错误,生成*OBJ文件。
1. 按所设计的原理图,在实验平台上连线,检查无误。
2. 将汇编后生成的*OBJ文件传送到实验装置的,执行该程序,检查该程序、是否达到设计要求,若未达到,修改程序,直到达到要求为止,
d) 说明书
1. 原理图设计说明
简要说明设计目的,原理图中所使用的元器件功能及在图中的作用,各器件的工作过程及顺序。
2. 程序设计说明
对程序设计总体功能及结构进行说明,对各子模块的功能以及各子模块之间的关系作较详细的描述。
3. 画出工作原理图,程序流程图并给出程序清单。
目前,单片机已广泛应用到图民经济建设和日常生活的许多领域,成为测控技术现代化必不可少的重要工具。下面介绍一本单片机课程设计的好书,介绍了很多实例有兴趣者可以去买哦,价格不贵【图书目录】 - 8051单片机课程设计实训教材
第1章 绪论
1.1 课程设计所需硬件工具
1.2 专题制作所需软件使用工具
1.3 8051程序开发测试平台
1.4 使用免费汇编编译器
1.5 89CXX烧录模拟器操作实例
1.6 自制8051微电脑单板IO51
1.7 IO51操作实例
1.8 以Windows98 工作模式结合DOS模式来执行
第2章 8051单片机课程设计中的基本软硬件设计
2.1 8051各种基本的硬件设计
2.2 工作指示灯LED
2.3 8051延迟时间计算
2.4 基本按键设计
2.5 建立8051通信接口
2.6 简易8051调试界面
2.7 压电喇叭测试
2.8 键盘扫描
2.9 扫描控制七段显示器
2.10 LCD接口控制
2.11 8051定时器模式的工作
2.12 定时器模式0测试
2.13 定时器模式1测试
2.14 定时器模式2测试
2.15 以定时器产生各种频率的声音
2.16 以定时器演奏—段旋律
第3章 带单片机的LCD时钟
第4章 定时闹铃
第5章 定时闹铃LCD
第6章 音乐倒数定时器
第7章 密码锁控制
第8章 可存储式电子琴
第9章 8051八音盒
第10章 红外线遥控器研究
10.1 红外线遥控器动作原理
10.2 如何观察红外线遥控器信号
10.3 红外线遥控器译码功能说明
第11章 红外线家电遥控
第12章 8051伺服机控制
12.1 伺服机工作原理及改装
第1.3章 8051伺服车控制
13.1 功能说明
13.2 伺服车组装及实验
第14章 红外线遥控伺服车
14.1 功能说明
14.2 遥控伺服车组装及实验
14.3 控制电路
14.4 控制程序
第15章 无线电家电遥控
15.1 功能说明
15.2 遥控编码解码控制
第16章 8051声控设计
16.1 声控基本知识介绍
16.2 系统组成
16.3 声控模块介绍
16.4 基本控制电路
16.5 基本控制程序
16.6 声控课题设计
附录H 如何使用KEIL 8051开发系统汇编和编译程序及调试
附录I EPM89 890XX烧录模拟器特性
附录J 1051 8051 10控制板特性
附录K VCMM声控模块特性
附录L IO51控制板完整电路图
附录M 需要从网站下载的相关资料的使用说明
附录N 硬件接口板版权声明及如何订购
附录A 简易稳压电源制作
附录B 本书实验所需软硬件工具及零件
附录C 8051内部控制寄存器介绍
附录D 8051指令集
附录E 如何自制8051单板
附录F 课程设计报告参考内容
附录G IO51控制板窗口版驱动程序使用说明
Ⅳ 单片机的无线温度监控系统:1、本课题的目的及研究意义 2.本课题的国内外的研究现状 这2条怎么写啊急急
一、论文选题的目的和意义
温度控制器是对用冷部位(如空调室、冷冻水、库温等)的温度及其波动范围进行控制的电开关。根据制冷装置的大小和供冷方式的不同,温度继电器电路的电控对象亦不同。例如,对小型制冷装置(如空调器、冷饮水机、电冰箱)温度控制器可以根据设定温度直接控制压缩机电机的停开
二、国内外关于该论题的研究现状和发展趋势
国外对温度控制技术研究较早,始于20世纪70年代。先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。80年代末出现了分布式控制系统。目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。现在世界各国的温度测控技术发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展。
我国对于温度测控技术的研究较晚,始于20世纪80年代。我国工程技术人员在吸收发达国家温度测控技术的基础上,才掌握了温度室内微机控制技术,该技术仅限于对温度的单项环境因子的控制。我国温度测控设施计算机应用,在总体上正从消化吸收、简单应用阶段向实用化、综合性应用阶段过渡和发展。在技术上,以单片机控制的单参数单回路系统居多,尚无真正意义上的多参数综合控制系统,与发达国家相比,存在较大差距。我国温度测量控制现状还远远没有达到工厂化的程度,生产实际中仍然有许多问题困扰着我们,存在着装备配套能力差,产业化程度低,环境控制水平落后,软硬件资源不能共享和可靠性差等缺点。
Ⅳ 温控系统的组成有哪几部分啊有专家知道可以告诉一下我的吗
中央控制器、温度探测器、湿度监测器、空气质量监控器、空调系统、地暖系统、加湿器、空气净化器、通风系统、远程控制设备。
智能温控系统可以根据季节变化、一天中时段的变化、室外的温度变化,而自动调整室内温度,创造最优室内环境,提高人体舒适度,保障一家人的身心健康。
温控系统使用注意事项
温控器使用应按照本用户手册所附的温控器使用说明书。请先确定所使用的温控器类型,然后按说明进行操作使用。
建议不要随意改动房屋的原有墙体结构、门窗形式、地面装修等,如须改动,务必提前通知物业,以便对采暖设计进行相应更改,将温控器设在很高的温度或相应的档位上,并不会使房间很快地温暖起来,设定在您所需要的温度即可。
Ⅵ 我是机电专业的学生,快要毕业了,我的毕业论文题目是基于51单片机的温度控制系统设计
第1章 硬件电路分析
第1.1节 硬件电路概述该测温系统由五部分组成:电源模块、侦测模块、显示模块、控制模块、通讯模块。电源模块完成将200V,50Hz市电转换为稳定的直流+5V电源的任务,包含变压、整流、滤波和稳压四部分,其中稳压部分采用LM7805集成块。串口通信模块的任务是实现单片机与计算机的通信,通过软件将程序下载至单片机中进行运行调试
以上内容来自5173论文网 http://www.lw5173.com/article/html/4627.html 点击参考更多
Ⅶ 求《单片机温度测量系统设计》的相关资料!
要:本文介绍了一种基于MSP430 单片机的温度测控装置。该装置可实现对温度的测量,并能根据设定值对环境温度进行调节,实现控温的目的。控制算法基于数字PID算法。
0 引言
温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用[1]。单片机具有处理能强、运行速度快、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范围广,精度较高。
本文设计了一种基于MSP430单片机的温度测量和控制装置,能对环境温度进行测量,并能根据温度给定值给出调节量,控制执行机构,实现调节环境温度的目的。
1 整体方案设计
单片机温度控制系统是以MSP430单片机为控制核心。整个系统硬件部分包括温度检测系统、信号放大系统、A/D转换、单片机、I/O设备、控制执行系统等。
单片机温度控制系统控猜神制框图如下所示:
温度传感器将温度信息变换为模拟电压信号后,将电压信号放大到单片机可以处理的范围内,经过低通滤波,滤掉干扰信号送入单片机。在单片机中对信号进行采样,为进一步提高测量精度,采样后对信号再进行数字滤波。单片机将检测到的温度信息与设定值进行比较,如果不相符,数字调节程序根据给定值与测得值的差值按PID控制算法设计控制量,触发程序根据控制量控制执行单元。如果检测值高于设定值,则启动制冷系统,降低环境温度;如果检测值低于设定值,则启动加热系统,提高环境温度,达到控制温度的目的。
2 温度信号检测
本系统中对检测精度要求不是很高,室温下即可,所以选用高精度热敏电阻作为温度传感器。热敏电阻具有灵敏度较高、稳定性强、互换精度高的特点。可使放大器电路极为简单, 又免去了互换补偿的麻烦。
热敏电阻具有负的电阻温度特性,当温度升高时,电阻值减小,它的阻值—温度特性曲线是一条指数曲线,非线性度较大。而对于本设计,因为温度要求不高,是在室温环境下,热敏电阻的阻值与环境温度基本呈线性关系[2],这样可以通过电阻分压简单地将温度值转化为电压值。
给热敏电阻通以恒定的电流,可得到电阻两端的电压,根据与热敏电阻特性有关的温度参数T0 以及特性系数k,可得下式
T=T0-kV(t) (1)
式中T为被测温度。
根据上式,可以把电阻值随温度的变化关系转化为电压值随温度变化的关系,由于热敏电阻的电信号一般都是毫伏级,必须经过放祥缓大,将热敏电阻测量到的电信号转化为0~3.6之间,才能在单片机中使用。
下图为放大电路原理图。稳压管的稳压值为1.5V。
由于传感器输出微弱的模拟信号,当信号中存在环境干扰时,干扰信号也被同时放大,影响检测的精度,需用滤波电路对先对模拟信号进行处理,以提高信号的抗干扰能力。本系统采用巴特沃斯二阶有源低通滤波电路。选取该巴特沃斯二阶有源低通滤波电路的截止频率
fH=10 kHz 。
3 控制系统设计
3.0 软件设计
单片机温度控制器控制温度范围100℃到400℃,采用通断控制,通过改变给定控制周期内加热和制冷设备的导通和关断时间,来提高和降低温度,以达到调节温度的目的。
软件设计中选取控制周期TC 为200(T1×C) ,导通时间取Pn ×T1×C ,其中Pn 为输出的控制量,Pn值介于0~200之间, T1 为定时器定时的时间,C为常数。由上两式可看出,通过改变T1 定时时间或常数C,就可改变控制周期TC 的大小。温度控制器控制的最高温度为400℃,当给定温度超过400℃时以400℃计算。
图3为采样中断流程图。
数模转换部分使用单片机自带的12位A/D转换器,能同时实现数模转换和控制,免去使用专用的转换芯片,使系统处理速度更快,精度更高,使电路简化。采样周期为500 μs ,当采集完16个点的数据以后,设置标志“nADCFlag =1”,通知主程序采集完16个点的数据,主程序从全局缓冲区里读出数据。
为进一步减小随机信号对系统精度的影响,A/D转换后,用平均值法对采样值进行数字滤波。每16个采样点取一次平均值。然后将计算到的平均值作为测量数据进行显示。同时,按照PID算法,对温度采样值和给定值之间的偏差进行控制谨兆模,得到控制量。采样全过程完成后就可屏蔽采样中断,同时启动T1定时[3],进入控制过程。
温度值和热敏电阻的测量值在整个温度采样区间内基本呈线性变化,因此在程序中不需要对测量数据进行线性校正。MSP430的T1定时器中断作为控制中断,温度采样过程和控制输出过程采用了互锁结构,即在进行温度采样,温度值处理和运算等过程时T1不定时,待采样全过程进行完时再启动T1定时并同时屏蔽采样中断。T1定时开始就进入控制过程,在整个控制过程中都不采样,直到200(T1×C) 定时时间到,要开始新一轮的控制周期。在启动采样的同时屏蔽T1中断。
图4为T1定时中断流程图。
图中,M代表定时器控制周期计数值,N则表示由调节器计算出的控制量。首先判断控制周期TC是否己经结束。若控制周期TC已结束(即M=0),则屏蔽T1定时器中断,进行新一轮温度采样;若控制周期TC还未结束〔即M≠0 〕,则开始判断导通时间是否结束。若导通时间己结束(即N=0),则置输出控制信号为低,并重新赋常数C值,启动定时器定时,同时退出中断服务程序;若导通时间还未结束(即N ≠0 ),则置输出控制信号为高,控制执行其间继续导通,重新赋常数C值,启动定时器定时,同时退出中断服务程序。
3.1 数字PID
本文控制算法采用数字PID 控制,数字PID 算法表达式如下所示:
其中,KP 为比例系数;KI=KPT/TI 为积分系数;T 为采样周期,TI 为积分时间系数;KD=KPTD/T 为微分系数,TD 为微分时间系数。u(k) 为调节器第k次输出, e(k) 为第k 次给定与反馈偏差。
对于PID 调节器,当偏差值输出较大时,输出值会很大,可能导致系统不稳定,所以在实际中,需要对调节器的输出限幅[4],即当|u|>umax 时,令u=umax 或u=-umax ,或根据具体情况确定。
3.2 温度调节
PI 控制器根据温度给定值和测量值之间的偏差调节,给出调节量,再通过单片机输出PWM 波,调节可控硅的触发相位的相位角,以此来控制执行部件的关断和开启时间,达到使温度升高或降低的目的。随后整个系统再通过检测前一阶段控制后的温度,进行近一步的控制修正,最终实现预期的温度监控目的。
4 结论
本设计利用单片机低功耗、处理能力强的特点,使用单片机作为主控制器,对室内环境温度进行监控。其结构简单、可靠性较高,具有一定的实用价值和发展前景。
参考文献
[1] 赵丽娟,邵欣.基于单片机的温度监控系统的设计与实现.机械制造,2006,44(1)
[2] 张开生,郭国法.MCS-51 单片机温度控制系统的设计.微计算机信息,2005,(7)
[3] 沈建华,杨艳琴,翟骁曙..MSP430 系列16 位超低功耗单片机原理与应用.清华大学出版社,2004,148-155
[4] 赖寿宏.微型计算机控制技术.北京:机械工业出版社,1994:90-95