您现在的位置:首页 > >

基于51单片机的多路温度采集控制系统方案设计书_图文

发布时间:

前言 随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中 扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统 的设计与研究有十分重要的意义。 本次设计的目的在于学习基于 51 单片机的多路温度采集控制系统设计的基本流程。本设计 采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器, 把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控 制信息改变报警和控制执行模块的状态,同事将当前温度信息发送到 LED 进行显示。本系 统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数 据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。 我所采用的控制芯片为 AT89C51,此芯片功能较为强大,能偶满足设计要求。通过对电路 的设计,对芯片外围扩展,来达到对某一车间温度的控制和调节功能。 关键词:温度 多路温度采集 驱动电路 正文: 1、温度控制器电路设计 本电路由 89C51 单片机温度传感器、模数转换器 ADC0809、串入并出移位寄存器 74LS164、数码管和 LED 显示电路等组成。由热敏电阻温度传感器测量环境温度,将 其电压值送入 ADC0809 的 IN0 通道进行模数转换,转换所得的数字量由数据端 D0-D7 输出到 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.01 输出驱动信号,驱动外设电路工作,同时 LED1 亮、LED2 灭、LED3 亮、LED4 灭。 外设电路工作后,温度下降,当温度降到正常温度后,LED1 亮、LED2 亮、LED3 灭、LED4 灭。温度继续下降,当温度下降到下限温度值时,P1.01 输出停止输出,外 设电路停止工作,同时 LED1 灭、LED2 灭、LED3 灭、LED4 亮。当外设电路停止工 作后,温度开始上升,接着进行下一工作周期。 2、温度控制器程序设计 本软件系统有 1 个主程序,6 个子程序组成,6 个子程序为定时/计数器 0 中断服务程 序、温度采集及模数转换子程序 ADC0N、温度计算子程序 CALCU、驱动控制子程序 DRVCON、十进制转换子程序 METRICCON 及数码管显示子程序 DISP。 (1) 主程序 主程序进行系统初始化操作,主要是进行定时/计数器的初始化。 (2) 定时/计数器 0 中断服务程序 应用定时计数器 0 中断的目的是进行定时采样,消除数码管温度显示的闪烁现象,用 户可以根据实际环境温度变化率进行采样时间调整。每当定时时间到,调用温度采集及模 数转换子程序 ADCON,得到一个温度样本,并将其转换为数字量,传送给 89C51 单片 机,然后在调用温度计算子程序 CALCU,驱动控制子程序 DVRCON,十进制转换子程序 METRICCON,温度数码管显示子程序 DISP。 (3) 温度采集及模数转换子程序 ADCON 该子程序进行温度采样并将其转换为 8 位数字量传送给 89C51 的 P0 口。采样得到的 温度数据存放在片内 RAM 的 20H 单元中。 (4) 温度甲酸子程序 CALCU 根据热敏电阻的分度值和电路参数计算出一张温度表,存放在 DATATAB 数据表中, 由于篇幅关系,本程序只给出 0~49℃的温度数据,一个温度有两个字节组成,前一字节为 温度值,后一字节为该温度所对应的热敏电阻上的电压的数字量。根据采样值,通过查表 及比较的方法计算出当前的温度值,并将其存入片内 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 所示。 开始 在 0000H 处放置一条长跳转 指令,LJMP MAIN 跳转到 主程序 在 0000H 处放置一条长跳转 指令,LJMP T0INT 跳转到 T0 中断服务程序 图 1-0 部分程序设计流程图的设计框架 主程序 计数寄存器 R1 赋初值 10 P1 口赋初值 FFH,所有指 示灯全灭 TH0 赋初值 3CH, TL0 赋初值 B0H, T0 定时 100ms IE 赋初值 82H,T0 允许中 断 SETB TR0 启动 T0 工作 动态停机 图 1-1 主程序流程图 T0 中断服务


热文推荐
猜你喜欢
友情链接: 简历 面试求职范文 职业规划 自我管理 社交礼仪 76242百科