基于PT100热电阻的单片机温度检测系统设计

更新时间:2023-03-15 10:12:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目 录

摘 要 ................................................................................................................................. I Abstract .............................................................................................................................. II 1 绪论 ................................................................................................................................. 1

1.1 课题背景 .............................................................................................................. 1 1.2 方案论证 .............................................................................................................. 2

1.2.1 单片机选型 ....................................................................................................... 2 1.2.2 模数转换器选型 ............................................................................................... 3 1.2.3 显示方案确定 ................................................................................................... 3

2 硬件设计 ........................................................................................................................ 3

2.1 温度信号的获取与放大 .................................................................................. 3

2.1.1 元件介绍 ........................................................................................................... 3 2.1.2 放大电路设计 ................................................................................................... 4

2.2 模数转换单元 ..................................................................................................... 5

2.2.1 8位串行A/D转换器ADC0809 ....................................................................... 5 2.2.2 模数转换单元电路的设计 ............................................................................... 7

2.3 键盘电路的设计 ................................................................................................ 8 2.4 LED显示电路的设计 ....................................................................................... 8

2.4.1 LED数码管原理 ............................................................................................... 8 2.4.2 LED数码管编码方式 ....................................................................................... 9 2.4.3 LED数码管显示方式和典型应用 ................................................................. 10 2.4.4 LED数码管的原理图 ..................................................................................... 11

2.5 声光报警电路 .................................................................................................... 12 2.6 单片机接口电路 ............................................................................................... 12

2.6.1单片机的时钟电路 .......................................................................................... 12 2.6.2复位电路和复位状态 ...................................................................................... 13

3 软件设计 ....................................................................................................................... 15

3.1 程序设计语言的选用 ...................................................................................... 15 3.2 软件程序的设计 ............................................................................................... 16

3.2.1 程序流程 ......................................................................................................... 16 3.2.2 键盘管理 ......................................................................................................... 17 3.2.3 LED显示 ......................................................................................................... 18 3.2.4 模拟量的采集与处理 ..................................................................................... 19

4 抗干扰设计 .................................................................................................................. 20

4.1 用于单片机系统的干扰抑制元件 ............................................................... 20 4.2 提高单片机系统抗干扰能力的主要手段 ................................................. 21 结 论 ................................................................................................................................ 23 致 谢 ................................................................................................................................ 24 参考文献 ........................................................................................................................... 25 附录1 ................................................................................................................................. 26 附录2 ................................................................................................................................. 27

基于PT100热电阻的单片机温度检测系统设计

摘 要

本课题以AT89C51单片机系统为核心,对单点的温度进行实时检测。采用模拟

温度传感器PT100对温度进行检测;采用串型模数转换器ADC0809进行A/D转换把温度信号调解转换为电压信号与AT89C51单片机接口设置LED八段数码管实时显示温度值。本设计包括温度传感器、A/D转换模块、数据传输模块、温度显示模块四个部分。文中对每个部分功能、实现过程作了详细介绍。

关键词 单片机;PT100热电阻;ADC0809;温度检测

I

基于PT100热电阻的单片机温度检测系统设计

The design of Single Chip Microcomputer

Temperature Detection System

Based on the Resistive Thermal Detector of PT100

Abstract

This article AT89C51 monolithic integrated circuit which produces by ATMEL Corporation is the core, can inspect a single point of the temperature in real time. The adoption of the serial A/D for temperature signals into voltage signal mediation AT89C51 Single-Ship Compute interfaces with the eighth LED digital display of real-time temperature. The design includes four parts of the temperature sensor and the A / D converter module and the data transmission modules and the temperature display module. Each part functions and the process was described in the Paper in detail.

Key words Single-Ship Computer; Resistive Thermal Detector of PT100; ADC0809; Measure-temperature

II

基于PT100热电阻的单片机温度检测系统设计

1 绪论

1.1 课题背景

在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎?的工业部门都不得不考虑着温度的因素。

温度对于工业如此重要,由此推进了温度传感器的发展。传感器主要大体经过了三个发展阶段。

① 模拟集成温度传感器。该传感器是采用硅半导体集成工艺制成,因此亦称硅传感器或单片集成温度传感器。此种传感器具有功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等。

② 模拟集成温度控制器。模拟集成温度控制器主要包括温控开关、可编程温度控制器,典型产品有LM56、AD22105和MAX6509。某些增强型集成温度控制器(例如TC652/653)中还包含了A/D转换器以及固化好的程序,这与智能温度传感器有某些相似之处。但它自成系统,工作时并不受微处理器的控制,这是二者的主要区别。

③ 智能温度传感器。能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。

进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。 目前市场主要存在单点和多点两种温度测量仪表。对于单点温测仪表,主要采用传统的模拟集成温度传感器,其中又以热电阻、热电偶等传感器的测量精度高,测量范围大,而得到了普遍的应用。此种产品测温范围大都在-200℃~800℃之间,分辨率12

1

基于PT100热电阻的单片机温度检测系统设计

1 1 1 IN7 数字量输出及控制线:11条

ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。

CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ。

VREF(+),VREF(-)为参考电压输入。

ADC0809应用注意事项 :① ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。② 初始化时,使ST和OE信号全为低电平。③ 送要转换的哪一通道的地址到A,B,C端口上。④ 在ST端给出一个至少有100ns宽的正脉冲信号。⑤ 是否转换完毕,我们根据EOC信号来判断。⑥ 当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。

2.2.2 模数转换单元电路的设计

电路原理图如图2-5。

图2-5 A/D转换电路原理图

由图2-5可以看出A、B、C都接地(都为0),故信号输入口选IN0,其空间地

7

基于PT100热电阻的单片机温度检测系统设计

址为7FF8H。

2.3 键盘电路的设计

本设计采用1*3独立按键。其原理图如图2-6。

图2-6 键盘电路原理图

2.4 LED显示电路的设计

在单片机应用系统中,如果需要显示的内容只有数码和某些字母,使用LED数码管是一种较好的选择。LED数码管显示清晰、成本低廉、配置灵活,与单片机接口简单易行。

2.4.1 LED数码管原理

LED数码管是由发光二极管作为显示字段的数码型显示器件。图2-7a为0.5英尺

LED数码管的外形和引脚图,其中七只发光二极管分别对应a~g笔段构成“”字形另一只发光二极管dp作为小数点。因此这种LED显示器称为七段数码管或八段数码管。

图2-7 LED数码管

8

基于PT100热电阻的单片机温度检测系统设计

LED数码管按电路中的连接方式可以分为共阴极和共阳极两大类,如图2-7 b、c所示。共阳型是将各段发光二极管的正极连在一起,作为公共端COM,公共端COM接高电平,a~g、dp各笔段通过限流电阻接控制端。某笔段控制端低电平时,该笔段发光,高电平时不发光。控制这几段笔段发光,就能显示出某个数码或字符。共阴型是将各数码发光二极管的负极连在一起,作为公共端COM接地,某笔段通过限流电阻接高电平时发光。

LED数码管按其外形尺寸有多种形式,使用较多的是0.5英寸和0.8英寸;按显示颜色也有多种形式,主要有红色和绿色;按亮度强弱可分为高亮和普亮,指通过同样的电流显示亮度不一样,这是因发光二极管的材料不一样而引起的。

LED数码管的使用与发光二极管相同,根据其材料不同正向压降一般为1.5~2V额定电流为10mA,最大电流为40mA。静态显示时取10mA为宜,动态扫描显示可加大,加大脉冲电流,但一般不超过40mA。

2.4.2 LED数码管编码方式

当LED数码管与单片机相连时,一般将LED数码管的各笔段引脚a、b、…、g、dp按某一顺序接到MCS-51型单片机某一个并行I/O口D0、D1、…、D7,当该I/O口输出某一特定数据时,就能使LED数码管显示出某个字符。例如要使共阳极LED数码管显示“0”,则a、b、c、d、e、f各笔段引脚为低电平,g和dp为高电平,如表2-8。

表2-8 共阳极LED数码管显示数字“0”时各管段编码

D7 dp 1 D6 g 1 D5 f 0 D4 e 0 D3 d 0 D2 c 0 D1 b 0 D0 a 0 字段码 C0H 显示数 0 C0H称为共阳极LED数码管显示“0”的字段码,不计小数点的字段码称为七段码,包括小数点的字段称为八段码。

LED数码管编码方式有多种,按小数点计否可分为七段码和八段码;按共阴共阳可分为共阴字段码和共阳字段码,不计小数点的共阴字段码与共阳字段码互为反码;按a、b、…、g、dp编码顺序是高位在前,还是低位在前,又可分为顺序字段码和逆序字段码。甚至在某些特殊情况下将a、b、…、g、dp顺序打乱编码。表2-9为共阴极和共阳极LED数码管几种八段编码表。

9

基于PT100热电阻的单片机温度检测系统设计

表2-9 共阴极和共阳极LED数码管几种八段编码

共阴顺序小数点暗 dp g f e d c b a 0 1 2 3 4 5 6 7 8 9 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 16进制 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH a b c d e f g dp 1 1 1 1 1 1 0 0 16进制 FCH 小数点亮 40H 79H 24H 30H 19 H 12 H 02 H 78 H 00 H 10 H 小数点暗 C0 H F9 H A4 H B0 H 99 H 92 H 82 H F8 H 80 H 90 H 共阴逆序小数点暗 共阳顺序 共阳顺序 0 1 1 0 0 0 0 0 60H 1 1 0 1 1 0 1 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 DAH F2H 66H B6H BEH E0H FEH F6H 2.4.3 LED数码管显示方式和典型应用

LED数码管显示电路在单片机应用系统中可分为静态显示方式和动态显示方式。 ① 静态显示方式。在静态显示方式下,每一位显示器的字段需要一个8位I/O口控制,而且该I/O口须有锁存功能,N位显示器就需要N个8位I/O口,公共端可直接接+5V(共阳)或接地(共阴)。显示时,每一位字段码分别从I/O控制口输出,保持不变直至CPU刷新显示为止。也就是各字段的亮灭状态不变。静态显示方式编程较简单,但占用I/O口线多,即软件简单、硬件成本高,一般适用显示位数较少的场合。

② 动态扫描显示方式。当要求显示位数较多时,为简化电路、降低硬件成本,常采用动态扫描显示电路。所谓动态扫描显示电路是将显示各位的所有相同字段线连在一起,每一位的a段连在一起,b段连在一起…g段连在一起,共8段,由一个8位I/O口控制,而每一位的公共端(共阳或共阴COM)由另一个I/O口控制。这种连接方式由于将多位字段线连在一起,当输出字段码时,由于多门同时选通,每一位将显示相同的内容。因此要显示不同的内容,必须采取轮流显示的方式。即在某一瞬间时,只让某一位的字位线处于选通状态(共阴极LED数码管为低电平,共阳极为

10

基于PT100热电阻的单片机温度检测系统设计

高电平),其他各位的字位线处于开断状态,同时字段线上输出这一位相应要显示字符的字段码。在这一瞬时,只有这一位在显示,其他几位暗。同样在下一瞬时,单独显示下一位,这样依次轮流显示,循环扫描。由于人的视觉滞留效应,人们看到的是多位同时稳定显示。

本设计为静态显示,电路如图2-10所示。显示器由4个LED数码管组成。输入有12个信号,它们是段选信号P1.0~P1.7和位选信号INT1、INT0、T1、T0。若想使LED发光则必须保证有足够大的电流流过LED的各段。流过LED的电流大时,LED发光亮度高;流过LED的电流小时,LED发光亮度就低,为了使LED 能够长期可靠地工作应使流过LED的电流为其额定电流。为LED显示器提供电流的电路称为LED的驱动电路。由于显示部分选择了静态显示,因此驱动电路也选择静态驱动。

静态显示电路的驱动电路分为段驱动电路和位驱动电路两种。段驱动电路考虑到所有的段电流均流过位选线,因此位驱动电路的驱动能力应为段驱动能力的8倍(最严重情况八段全亮)。

驱动电路可采用分立元件电路,也可采用集成驱动电路,此外有些硬件译码电路本身包括驱动电路。由于这里采用动态输出,且单片机的内部结构决定了数码管可以直接由单片机驱动。因此采用分立元件的显示驱动电路也很简单。

2.4.4 LED数码管的原理图

LED数码管显示原理图如图2-10。

图2-10 LED数码管显示原理图

11

基于PT100热电阻的单片机温度检测系统设计

2.5 声光报警电路

报警电路原理如图2-11。

图2-11 声光报警电路原理图

2.6 单片机接口电路

2.6.1单片机的时钟电路

单片机内部的振荡电路是一个高增益反相放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。单片机的时钟产生方式有两种。

① 内部时钟方式。利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路便产生自激振荡,用示波器可以观察到XTAL2输出的时钟信号。最常用的是在XTAL1和XTAL2之间连接晶体振荡器与电容构成稳定的自激震荡器,如图2-12所示。晶体可在1.2~12MHz之间选择。MCS-51单片机在通常应用情况下,使用振荡频率为6MHz的石英晶体,而12Hz频率的晶体主要是在高速串行通信情况下才使用。对电容值无严格要求,但它的取值对振荡频率输出的稳定性、大小及振荡电路起振速度有少许影响。C1和C2可在20~100pF之间取值,一般取30pF左右。

② 外部时钟方式。在由我单片机组成的系统中,为了各单片机之间时钟信号的

12

基于PT100热电阻的单片机温度检测系统设计

同步,应当引入惟一的合用外部振荡脉冲作为各单自片机的时钟。外部时钟方式中是把外部振荡信号源直接接入XTAL1或XTAL2。由于HMOS和CHMOS单片机外部时钟进入的引线不同,其外部振荡信号源接入的方式也不同。HMOS型单片机由XTAL2进入,外部振荡信号接至XTAL2,而内部反相放大器的输入端XTAL1应接地,如图2-13所示。由于XTAL2端的逻辑电平不是TTL的,故还要接一上接电阻。CHMOS型单片机由XTAL1进入,外部振荡信号接至XTAL1,而XTAL2可不接地,如图2-14所示。

图2-12 内部时钟电路 图2-13 HMOS型外部时钟电路 图2-14外部时钟电路

2.6.2复位电路和复位状态

单片机的复位是靠外部电路实现的。单片机工作后,只要在它的RST引线上加载10ms以上的高电平,单片机就能够有效地复位。

① 复位电路。单片机通常采用上电自动复位和按键复位两种方式。最简单的复位电路如图2-15所示。上电瞬间,RC电路充电,RST引线端出现正脉冲,只要RST端保持10ms以上的高电平,就能使单片机有效地复位。在应用系统中,有些外围芯片也需要复位。如果这些芯片复位端的复位电平的要求一致,则可以将复位信号与之相连。

图 2-15 简单的复位电路

13

基于PT100热电阻的单片机温度检测系统设计

② 复位状态。复位电路的作用是使单片机执行复位操作。复位操作主要是把PC初始化为0000H,使单片机从程序存储器的0000H单元开始执行程序。程序存储器的0003H单元即单片机的外部中断0的中断处理程序的入口地址。留出的0000H~0002H 3个单元地址,仅能够放置一条转移指令,因此,MCS-51单片机的主程序的第一条指令通常情况下是一条转移指令。

除PC之外,复位还对其他一些特殊功能的寄存器有影响,它们的复位状态如表2-16所示。利用它们的复位状态,可以减少应用程序中的初始化编程。

由表2-16可知,除SP=07H,P0~P3 4个锁存器均为FFH外,其他所有的寄存器均为0,很好记忆。记住他们的复位状态,对于熟悉单片机的操作,减少应用程序中的初始化编程都是十分必要的。

单片机的复位不影响片内RAM的状态(包括通用寄存器Rn)。

P0、P1、P2、P3共有4个8位并行I/O口,它们引线为:P0.0~P0.7、P1.0~P1.7、P2.0~P2.7、P3.0~P3.7,共32条引线。这32条引线可以全部用做I/O线,也可将其中部分用做单片机的片外总线。

表2-16 寄存器的复位状态

寄存器 PC ACC PSW SP DPTR P0~P3 IP IE ① 控制线

A、ALE地址锁存允许

当单片机访问外部存储器时,输出信号ALE用于锁存P0口输出的低8位地址A7~A0。ALE的输出频率为时钟振荡频率的1/6。

B、EA程序存储器选择

14

复位状态 0000H 00H 00H 07H 0000H FFH Xxx00000B 0xx00000B 寄存器 TMOD TCON TL0 TH0 TL1 TH1 SCON PCON 复位状态 00H OOH 00H 00H 00H 00H 00H 0xx00000B 基于PT100热电阻的单片机温度检测系统设计

EA=0,单片机只访问外部程序存储器。对内部无程序存储器的单片机8031,EA必须接地。EA=1,单片机访问内部程序存储器,若地址超过内部程序存储器的范围,单片机将自动访问外部程序存储器。对内部有程序存储器的单片机,EA应接高电平。

C、PSEN片外程序存储器的选通信号。此信号为读外部程序存储器的选通信号。 D、RST复位信号输入 ② 电源及时钟

VSS地端接地线,VCC电源端接+5V,XTAL1和XTAL2接晶振或外部振荡信号源。

3 软件设计

3.1 程序设计语言的选用

本设计中采用的处理器是AT89C51单片机,由此可采用面向MCS-51的程序设计语言,包括ASM51汇编语言和C51高级语言,这两种语言各有特点。汇编语言更接近机器语言,常用来编制与系统硬件相关的程序,如访问I/O端口、中断处理程序、实时控制程序、实时通信程序等;而数学运算程序则适合用C51高级语言编写,因为用高级语言编写运算程序可提高编程效率和应用程序的可靠性。

考虑到汇编语言的以下特点,在智能测控装置的基本功能软件开发中,全部程序均采用ASM51汇编语言编写:

① 汇编语言是最基本的程序设计语言。迄今为止,汇编语言仍然是计算机系统底层软件(例如汇编程序、PC机的BIOS等)设计的基本语言;

② 能充分利用机器的硬件功能与结构特点。汇编语言与机器语言密切相关,因此能透彻地反映计算机硬件的功能与特点。程序员可充分利用机器硬件系统的许多特性(如寄存器、标志位以及一些特殊指令等)。这样能充分发挥程序设计的技巧;

③ 用汇编语言编写的程序比起用高级语言编写程序具有更高的系统性能。汇编语言程序具有执行速度快和节省存储空间的特点,它可以精确地描述算法,把计算过程和控制过程刻画得更具体;

④ 实时性能好。用汇编语言编制的程序可以对各种接口芯片及I/O端口直接进行控制,实时性能好。对于一些应用领域(例如工业监控系统等)汇编语言是不可缺少的,一般高级语言不适合这种应用,因为一般高级语言不能充分地利用计算机硬件

15

基于PT100热电阻的单片机温度检测系统设计

所提供的诸如中断等方面的功能。

3.2 软件程序的设计

3.2.1 程序流程

程序主要由主程序和子程序两部分构成。

主程序主要实现系统的初始化,键值处理,A/D转换,显示数据。

系统的初始化包括寄存器的初始化(控制寄存器、堆栈、中断寄存器等),通信的初始化(串口的初始化,ADC0809的初始化,通信缓冲区的初始化),LED显示的初始化,输出端口的初始化,采集、累计数据的初始化。

键值处理包括对系统三个键的判断与处理。

A/D转换包括数据转换(主要实现将测量电路监测到的电压信号转换成LED显示所需的数据类型)。

显示数据包括数据转换(主要实现将各类参数、测量数据、计算累计值等转换成LED显示所需的数据类型)和显示屏的刷新(包括刷新采集数据屏和根据按下的键更改显示屏)。

子程序主要由温度信号采集程序和键值处理程序等。 其程序流程图如图3-1。

16

本文来源:https://www.bwwdw.com/article/t27v.html

Top