没有合适的资源?快使用搜索试试~ 我知道了~
首页基于51单片机的多路温度采集控制系统设计
资源详情
资源评论
资源推荐

基于
51
单片机的多路温度采集控制系统设计
言:
随着现代信息技术的飞速发展,温度测量控制系统在工业、农
业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的
生活具有很大的影响,所以温度采集控制系统的设计与研究有十分
重要的意义。
本次设计的目的在于学习基于 51 单片机的多路温度采集控制
系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,
为了进行数据处理,单片机控制数字温度传感器,把温度信号通过
单总线从数字温度传感器传递到单片机上。单片机数据处理之后,
发出控制信息改变报警和控制执行模块的状态,同时将当前温度信
息发送到 LED 进行显示。本系统可以实现多路温度信号采集与显示,
可以使用按键来设置温度限定值,通过进行温度数据的运算处理,
发出控制信号达到控制蜂鸣器和继电器的目的。
我所采用的控制芯片为 AT89c51,此芯片功能较为强大,能够
满足设计要求。通过对电路的设计,对芯片的外围扩展,来达到对
某一车间温度的控制和调节功能。
关键词:温度 多路温度采集 驱动电路
1

正文 :
1、温度控制器电路设计
本电路由 89C51 单片机温度传感器、模数转换器 ADC0809、
窜入并出移位寄存器 74LS164、数码管、和 LED 显示电路等组成。
由热敏电阻温度传感器测量环境温度,将其电压值送入 ADC0809
的 IN0 通道进行模数转换,转换所得的数字量由数据端 D7-D0 输出
到 89C51 的 P0 口,经软件处理后将测量的温度值经单片机的 RXD
端窜行输出到 74LS164,经 74LS164 窜并转换后,输出到数码管
的 7 个 显 示 段 , 用 数字 形 式 显 示 出 当 前 的 温 度 值 。 89C51 的
P2.0 、 P2.1 、 P2.2 分 别 接 入 ADC0809 通 道 地 址 选 择 端
A、B、C,因此 ADC0809 的 IN0 通道的地址为 F0FFH。输出驱动
控制信号由 p1.0 输出,4 个 LED 为状态指示,其中,LED1 为输出
驱动指示,LED2 为温度正常指示,LED3 为高于上限温度指示,
LED4 为低于下限温度指示。当温度高于上限温度值时,有 p1.0 输
出驱动信号,驱动外设电路工作,同时 LED1 亮、LED2 灭、LED3
亮、LED4 灭。外设电路工作后,温度下降,当温度降到正常温度
后,LED1 亮、LED2 亮、LED3 灭、LED4 灭。温度继续下降,当
温度降到下限温度值时,p1.0 信号停止输出,外设电路停止工作,
同时 LED1 灭、LED2 灭、LED3 灭、LED4 亮。当外设电路停止工
作后,温度开始上升,接着进行下一工作周期。
2、 温度控制器程序设计
2

本软件系统有 1 个主程序,6 个子程序组成。6 个子程序为定时/
计数器 0 中断服务程序、温度采集及模数转换子程序 ADCON、温
度计算子程序 CALCU、驱动控制子程序 DRVCON、十进制转换子
程序 METRICCON 及数码管显示子程序 DISP。
(1) 主程序
主程序进行系统初始化操作,主要是进行定时/计数器的初始化。
(2) 定时/计数器 0 中断服务程序
应用定时计数器 0 中断的目的是进行定时采样,消除数码管温
度显示的闪烁现象,用户可以根据实际环境温度变化率进行采样时
间 调 整 。 每 当 定 时 时 间 到 , 调 用 温 度 采 集 机 模 数 转 换 子 程 序
ADCON,得到一个温度样本,并将其转换为数字量,传送给 89C51
单片机,然后在调用温度计算子程序 CALCU,驱动控制子程序
DRVCON,十进制转换子程序 MERTRICCON,温度数码显示子程
序 DISP。
(3)温度采集及模数转换子程序 ADCON
该子程序进行温度采样并将其转换为 8 位数字量传送给 89C51
的 P0 口。采样得到的温度数据存放在片内 RAM 的 20H 单元中。
(4)温度计算子程序 CALCU
根据热敏电阻的分度值和电路参数计算出出一张温度表,存放
在 DATATAB 数据表中,由于篇幅关系,本程序只给出 0-49℃的温
度数据。一个温度有两个字节组成,前一字节为温度值,后一字节
为该温度所对应的热敏电阻上的电压的数字量。根据采样值,通过
3

查表及比较的方法计算出当前的温度值,并将其存入片内 RAM 的
21H 单元。采用查表法计算温度值时为了克服热敏电阻的阻值——
温度特性曲线的非线性,提高测量精度。
(5)驱动控制子程序 DRVCON
该子程序调节温度,当温度高于上限温度时(本程序设为
30℃), P1.0 输出驱动控制信号,驱动外设工作降温;当温度下
降到下限温度时(本程序设为 25℃), P1.0 停止输出,温度上升,
周而复始;工作状态有 LED1-LED4 指示。
(6)十进制转换子程序 METRICCON
将存放于内部 RAM21H 单元的当前温度值得二进制数形式转换
为十进制数(BCD 码)形式,以便输出显示,转换结果存放在片内
RAM 的 32H 单元(百位)、31H(十位)、30H 单元(个位)。
(7)数码显示子程序 DISP
该子程序利用 89C51 串口的方式 0 串行移位寄存器工作方式,
将片内 RAM 的 30H、31H、32H 单元的 BCD 码查表转换为七段码
后由 RXD 端串行发出去,然后经 74LS164 串并转换,将七段值传送
给数码管,以十进制形式显示出当前温度值。
根据以上分析画出的部分程序设计流程图如图 1-0 至图 1-4 所示。
4

图 1-0 部分程序设计流程图的设计框架
开始
在 0000H 处放置一条长跳转
指令
LJMP MAIN 跳转到主程序
在 0000H 处放置一条长跳转指令
LJMP T0INT 跳转到 T0 中断服务程
序
5
剩余21页未读,继续阅读


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论4