基于单片机的温度测控系统
系统的初始化,等待定时中断。在中断服务程序中,先判断是否到30 s。若不到30s,则返回;若到30s,进行以下操作:拨盘设定值检测、温度检测、标度变换、温度显示和温度控制,并根据温度检测值决定是否报警。
在应用程序总体结构中,将以下6个功能程序作为模块程序:温度设定输入、温度检测、温度值标度变换、温度显示、温度控制和报警程序模块。
2.2 程序模块设计
下面说明温度检测和温度控制这两个模块的程序设计。
1)温度检测程序模块。温度检测程序的功能是连续进行4次A/D转换,求取转换结果的平均值,存入内部50 H单元,A/D转换采用查询方式。
2)温度控制程序模块。温度控制程序的功能是将温度实测值(存于50H)与设定值(存于51H)作比较,如测值高于设定值1℃(注意,此值小于要求误差2℃,对应的数字量为04H),则关闭1台电炉;如实测值低于设定值,则接通一台电炉;否则不与调节。3台电炉接通的顺序是3#、2#、1#,这样可以保持电炉的通断具有相对稳定性。
3)主程序和中断服务程序设计。在定时中断服务程序中,各功能程序都已模块化,可直接调用。
先说明30 s定时的实现方法。当振荡频率为6 MHz时,STC89C58内部定时器的最大定时值为131 ms。要实现30 s定时,需要另外设置一软件计数器。现使定时器T0工作于方式1,定时时间为130 ms,则其时间常数为:
N=216-130*10-3*6*106/12=536=0218H
软件计数器的初值=30、0.13≈E7H
主程序清单:
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP T0INT//转定时中断服务程序
ORC 0030H
MCS-51单片机 温度检测 温度控制 温度传感器 相关文章:
- MCS-51单片机汇编指令详解(12-01)
- MCS-51单片机的存储器结构---单片机基础(11-29)
- mcs-51单片机中断优先级寄存器IP(11-27)
- MCS-51单片机底层工作原理分析1(11-25)
- MCS-51单片机底层工作原理分析2——总线结构(11-25)
- 单片机教程-MCS-51单片机简述(11-25)