多路温度采集控制系统方案设计书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于51单片机的多路温度采集控制系统设计

随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。

本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LED进行显示。本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。

我所采用的控制芯片为AT89C52,此芯片功能较为强大,能够满足设计要求。通过对电路的设计,对芯片的外围扩展,来达到对某一车间温度的控制和调节功能。

关键词:温度多路温度采集驱动电路

正文:

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的INO通道的地址为FOFFH输出驱动控制信号由pl.O输出,4个LED 为状态指示,其中,LED1为输出驱动指示,LED2为温度正常指示,LED3为高于上限温度指示,LED 4为低于下限温度指示。当温度高于上限温度值时,有p1.0 输出驱动信号,驱动外设电路工作,同时LED1 亮、LED2 灭、LED3 亮、LED4 灭。外设电路工作后,温度下降,当温度降到正常温度后,LED1 亮、LED2 亮、LED3 灭、LED4

灭。温度继续下降,当温度降到下限温度值时,p1.0 信号停止输出,外设电路停止工作,同时LED1 灭、LED2 灭、LED3 灭、LED4 亮。当外设电路停止工作后,温度开始上升,接着进行下一工作周期。

2、温度控制器程序设计

本软件系统有 1 个主程序, 6 个子程序组成。 6 个子程序为定时/ 计

数器0 中断服务程序、温度采集及模数转换子程序ADCO、N 温度计

算子程序CALCU驱动控制子程序DRVCON十进制转换子程序METRICCO及数码管显示子程序DISP。

(1)主程序

主程序进行系统初始化操作,主要是进行定时/ 计数器的初始化。(2)定时/ 计数器0 中断服务程序

应用定时计数器0 中断的目的是进行定时采样,消除数码管温度显示的闪烁现象,用户可以根据实际环境温度变化率进行采样时间调整。每当定时时间到,调用温度采集机模数转换子程序ADCON ,得到一个温度样本,并将其转换为数字量,传送给89C51 单片机,然后在调用温度计算子程序CALCU ,驱动控制子程序DRVCON ,十进制转换子程序MERTRICCON ,温度数码显示子程序DISP。

(3)温度采集及模数转换子程序ADCON

该子程序进行温度采样并将其转换为8 位数字量传送给89C51 的P0 口。采样得到的温度数据存放在片内RAM的20H单元中。

(4)温度计算子程序CALCU

根据热敏电阻的分度值和电路参数计算出出一张温度表,存放

在DATATAB数据表中,由于篇幅关系,本程序只给出0-49C的温

度数据。一个温度有两个字节组成,前一字节为温度值,后一字节

为该温度所对应的热敏电阻上的电压的数字量。根据采样值,通过查表及比较的方法计算出当前的温度值,并将其存入片内RAM 的21H 单元。采用查表法计算温度值时为了克服热敏电阻的阻值——温度特性曲线的非线性,提高测量精度。

(5)驱动控制子程序DRVCON 该子程序调节温度,当温度高于上限温度

时(本程序设为

30 °C), P1.0输出驱动控制信号,驱动外设工作降温;当温度下降

到下限温度时(本程序设为25C), P1.0停止输出,温度上升,周而复始;工作状态有LED1-LED4 指示。

(6)十进制转换子程序METRICCON

将存放于内部RAM21H 单元的当前温度值得二进制数形式转换为十进制数(BCD 码)形式,以便输出显示,转换结果存放在片内RAM的32H单元(百位)、31H (十位)、30H单元(个位)。

(7)数码显示子程序DISP

该子程序利用89C51 串口的方式0 串行移位寄存器工作方式,将片内RAM 的30H、31H、32H 单元的BCD 码查表转换为七段码后由RXD 端串行发出去,然后经74LS 1 64串并转换,将七段值传送给数码管,以十进制形式显示出当前温度值。

根据以上分析画出的部分程序设计流程图如图1-0至图1-4所示

图1-0部分程序设计流程图的设计框架

图1-1主程序流程图

图1-2 TO中断服务程序流程图

图1-3温度采样及模数转换子程序流程图

图1-4温度计算子程序流程图

3、具体内容

(1)温度控制器电器原理图设计

按以上分析及相关知识设计出的温度控制器电路原理图如图1-5 所示。

输出控制

图1-5温度控制电路原理图+5V

R1 LED1 jF™ -

—P H-

R2绿 LED2

200 R3 I

R3红 LED3

^■^0^:-------------- ----------

R4 黄 LED4 上.

□- ----------------Pt*:—

c1

I0U F

P1.1

P1.2

P1.3

P1.4

P1.5

P1.6

P1.7

IC1

RST

AT89C51 15 T1

14 TO

31

29 EA/Vp

10

11

P

PSEN

RXD

TXD

P0.0

P0.1

P0.2

P0.3

P0.4

P0.5

P0.6

P0.7

P2.0

P2.1

P2.2

P2.3

P2.4

P2.5

P2.6

P2.7

RD

WR

INT0

39 17

~38~ 14

37 15

36 8

~35~ 18

34 19

33 20

~32~ 21

21 25

22 24

23 23

VR(+)

VR(-)

12

16

26

27

28

17

IC3E

16 6

12

IC2

ADC0809

INO 26

1 r ---

5

-----

5 74LS02

b4

10

OE IN1 27

ALE IN2 28

SC IN3

IN4

EOC

CLK

IN5

IN6

IN7

INT1

ALE

13

30

401

一 6MHz —

C0P F-30:F

om

470x21 nnntntn nnncn iiniKDiO OODCO

IC5 01234567

74LS164

IC6 IC7 IC8

74LS16474LS164

D0

D1

D2

D3

D4

D5

D6

D7

A

B

C

24

25 9

IC3A74LS02

2 22

6

3

om

1 g f e d c b a g f e d c b a d g f e d c b a g f e d c b a

1 2 3 4 5

74LS164

1

相关文档
最新文档