利用AD转换设计一个室温温度计

利用AD转换设计一个室温温度计
利用AD转换设计一个室温温度计

利用A/D转换设计一个室温温度计

摘要

当今社会,温度测量系统被广泛的应用于社会生产、生活的各个领域。在工业、环境检测、医疗、庭等多方面均有应用。在这个信息爆发的时代,计算机技术的高速发展和广泛应用,而A/D转换器作为计算机与被处理物理信息之间的联系通道也被广泛应用,特别是在数字信号处理、雷达信号分析、医用成像设备、高速数据采集等应用方面,对ADC的速度要求很高。由于ADC的发展及应用的深入,其静态参数已不足以表征ADC的全部性能。在输入信号是时间的函数时,ADC所表现出来的性能称为动态性能。而在和数字信号处理一起工作的ADC、一些音频应用的ADC以及用于视频应用的ADC (称为采样型ADC)中,动态性能尤为重要。因此,分析、测试ADC的动态性能是非常重要的。

本课题是利用A/D 转换设计一个室温温度计,当用计算机来构成数据采集系统时,利用温度传感器的敏感特性,去检测展示的温度,所经采集的温度信号是连续变化的模拟量,而计算机能处理不连续的数字量,因此,我们必须用模数转换器即A/D 转换器把模拟信号转换成数字信号后才能送入计算机进行处理,再利用显示电路把转换后的数字信号显示出来。整个流程先通过单片机的P3.3 口对温度传感器进行操作,实现数字温度采集;在转换的过程中用到芯片ADC0809;最后通过发光二极管显示出所测温度。

本文将讲述80C51芯片,温度传感器LM35及ADC0809芯片的基本原理和特点,并介绍了基于单片机的A/D转换电路的设计,对硬件部分和软件部分的设计进行了详细的介绍。

关键词:ADC0809、LM35 、A/D转换器、80C51、发光二极管

目录

1 绪论 (1)

1.1课题描述 (1)

1.2基本工作原理及框图 (1)

2 相关芯片及硬件电路设计 (2)

2.1ADC0809芯片 (2)

2.1.1ADC0809外部特性(引脚功能) (2)

2.1.3 ADC0809内部结构 (4)

2.1.4 ADC0809典型应用及系统硬件原理图 (4)

2.2LM35芯片 (5)

2.2.1 LM35介绍 (5)

2.2.2LM35的主要性能参数 (5)

2.2.3LM35各引脚介绍及电路原理图 (6)

2.380C51芯片 (6)

2.3.1 80C51芯片的介绍及引脚图 (6)

2.3.2 80C51的功能特性 (7)

2.3.380C51的主要性能参数 (8)

2.4A/D转换电路 (8)

2.4.1 A/D转换电路定义 (8)

2.4.2A/D转换器的的分类 (9)

2.5主要电路的电路图及原理 (9)

2.5.1 温度采集电路 (9)

2.5.2放大电路 (10)

3系统软件设计 (11)

总结 ................................................................................................ 错误!未定义书签。致谢 ................................................................................................ 错误!未定义书签。参考文献 .............................................................................................. 错误!未定义书签。

1 绪论

1.1 课题描述

电子技术,特别是大规模集成电路的技术的飞速发展,人类生活发生了根本性的改变,如果说微型计算机的出现使现代科学技术研究的当了质的飞跃,那么可以毫不夸张地说,单片机技术的出现则是给现代工业测控领域带来了一次新的技术。单片机以其体积小、重量轻、抗干扰能力强、对环境要求不高、高可靠性、高性能价格比、开发较为容易,在诸如工业控制系统、数据采集系统等领域得到极为广泛的应用,并已走入家庭。革命性微电脑控制这个概念已然家喻户晓。通过已经掌握的芯片技术以及所学的电路方面的知识,适当的进行连接,完全可以找出一种人们所希望的连接方式来实现一种看似不可能的功能。集成电路以其体积小、重量轻、价格便宜、功能强大的特点在众多领域得到了广泛的应用,并已走人千家万户。因此,单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标志之一。本课题研究的内容就是以单片机为主要控制元件,通过温度传感器,A/D转换器,实现对温度的测量,并通过发光二级管直接显示所测温度。

1.2 基本工作原理及框图

本课程设计的温度计测温系统由温度传感器电路、信号放大电路、A/D转换电路、单片机系统、温度显示系统构成。其基本工作原理:温度传感器电路将测量到的温度信号转换成电压信号输出到信号放大电路,与温度值对应的电压信号经放大后输出至转A /D换电路,把电压信号转换成数字量送给单片机系统,单片机系统根据显示需要对数字量进行处理,再送温度显示系统进行显示。基本工作原理框图如图1.1所示。

图1.1基本工作原理框图

2 相关芯片及硬件电路设计

2.1ADC0809芯片

2.1.1 ADC0809外部特性(引脚功能)

ADC0809芯片有28条引脚,采用双列直插式封装,下面说明各引脚功能。

IN0~IN7:8路模拟量输入端。

2-1~2-8:8位数字量输出端。

ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路

ALE:地址锁存允许信号,输入,高电平有效。

START:A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。

EOC:A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。

OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。

CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。

REF(+)、REF(-):基准电压。

Vcc:电源,单一+5V。

GND:地。

2.1.2 ADC0809 引脚图以及主要功能

图2.1 ADC0809引脚图

ADC0809芯片主要特性

1)8路输入通道,8位A/D转换器,即分辨率为8位。

2)具有转换起停控制端。

3)转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz时)4)单个+5V电源供电

5)模拟输入电压范围0~+5V,不需零点和满刻度校准。

6)工作温度范围为-40~+85摄氏度

7)低功耗,约15mW。

2.1.3 ADC0809内部结构

ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图13.22所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近。

图2.2 ADC0809内部结构

2.1.4 ADC0809典型应用及系统硬件原理图

ALE脚的输出频率为1MHz,(时钟频率为6MHz),经D触发器二分频为500kHz 时钟信号。

ADC0809输出三态锁存,8位数据输出引脚可直接与数据总线相连。引脚C、B、A分别与地址总线A2、A1、A0相连,选通IN0~IN7中的一个。P2.7(A15)作为片选信号,在启动A/D转换时,由WR和P2.7控制ADC的地址锁存和转换启动,由于ALE 和START连在一起,因此ADC0809在锁存通道地址的同时,启动并进行转换。

读取转换结果,用RD信号和P2.7脚经或非后,产生的正脉冲作为OE信号,用以打开三态输出锁存器。对8路模拟信号轮流采样一次,采用软件延时的方式,并依次把结果转储到数据存储区。

图2.3 ADC0809典型应用

2.2 LM35芯片

2.2.1 LM35介绍

NS公司生产的集成温度传感器LM35,具有很高的工作精度和较宽的线性工作范围,其输出电压与摄氏温度线性呈比例,且无需外部校准或微调,可以提供±0.25℃的常用室温精度。从使用角度来说,与用开尔文标准的线性温度传感器相比更有优越之处,它无需外部校准或微调,在各类民用控制、工业控制以及航空航天技术方面得到了广泛使用。在很多工作场合,元器件工作温度指标达不到工业级或普军级温度要求,可以通过设计加温电路的办法得以解决。小型、低功耗、可靠性高、低成本的LM35温度传感器已经越来越受到设计者的关注。

2.2.2 LM35的主要性能参数

LM35的主要性能参数如下:

·工作电压:直流4~30V;

·工作电流:小于133μA

·输出电压:+6V~-1.0V

·输出阻抗:1mA负载时0.1Ω;

·精度:0.5℃精度(在+25℃时);

·漏泄电流:小于60μA;

·比例因数:线性+10.0mV/℃;

·非线性值:±1/4℃;

·校准方式:直接用摄氏温度校准;

·封装:密封TO-46晶体管封装或塑料TO-92晶体管封装;

·使用温度范围:-55~+150℃额定范围。

2.2.3LM35各引脚介绍及电路原理图

LM35引脚介绍如下:

●1脚正电源Vcc;

●2脚输出;

●3脚输出地/电源地。

图2.4 LM35电路原理图

2.3 80C51芯片

2.3.1 80C51芯片的介绍及引脚图

80C51单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,

改进了8048的缺点,增加了如乘(MUL)、除(DIV)、减(SUBB)、比较(PUSH)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。采用40引脚双列直插式DIP(Dual In Line Package),内有128个RAM单元及4K的ROM。80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。80C51内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。由于80C51的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用来作为控制核心。80C51引脚图如图2.5所示。

图2.5 80C51引脚图

2.3.2 80C51的功能特性

80C51提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个十六位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,80C51可降至0Hz的静态逻辑操作,并支持两种软件可

选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。

2.3.3 80C51的主要性能参数

80C51主要性能参数如下:

●8位CPU

●4KB片内程序存储器(ROM)

●128B片内数据存储器(RAM)

●32条并行I/O口线

●21个专用寄存器

●2个16位定时/计数器

●5个中断源,2个优先级

●一个双全工串行通信口

●外部数据存储器寻址空间为64KB

●外部程序存储器寻址空间为64KB

●逻辑操作位寻址功能

●一个片内时钟振荡器和时钟电路

●单一+5V电源供电

2.4 A/D转换电路

2.4.1 A/D转换电路定义

模/数转化器是一种将连续的模拟量转化成离散的数字量的一种电路或器件,模拟信号转换为数字信号一般需要经过采样、保持和量化编码三个过程。针对不同的采样对象,有不同的A/D转换器(ADC)可供选择,有些ADC还包含有其他功能,在选择ADC 器件时需要考虑多种因素,除了关键参数、分辨率和转换速度以外,还应考虑其他因素,如静态与动态精度。

逐次逼近式转换器,通常是用一个比较输入信号与作为基准的n位DAC输出进行比较,并进行n次1位转换。这种方法类似于天平上用二进制砝码称量物质。采用逐次

逼近寄存器,输入信号仅与最高位(MSB)比较,确定DAC的最高位(DAC满量程的一半)。确定后结果(0或1)被锁存,同时加到DAC上,以决定DAC的输出(0或1/2)。

逐次逼近式A/D转换器,如ADC0809、AD574等,其特点是转换速度快,精度也比较高,输出为二进制码,直接接I/O口,软件设计方便。ADC0809芯片内包含8位模/数转换器、8通道多路转换器与微机控制兼容的控制逻辑。8通道多路转换器能直接连通8个单端输入信号中的任何一个

2.4.2A/D转换器的的分类

1、根据A/D转换器的原理可将A/D转换器分成两大类。

一大类是直接型A/D转换器,另一类是间接型A/D转换器。直接型A/D转换器的输入模拟电压被直接转换成数字代码,不经任何中间变量;在间接型A/D转换器中,首先把输入的模拟电压转换成某种中间变量(时间、频率、脉冲宽度等),然后再把这个中间变量转换为数字代码输出。

2、根据输出数字量方式,A/D转换器可分为并行输出转换器和串行输出转换器两种:

并行ADC的特点是占用较多的数据线,但转换速度快,在转换位数较少时,有较高的性价比。串行ADC具有输出占用的数据线少、转换后的数据诸位输出、输出速度较慢的特点。

3、根据输出数字量表示形式,A/D转换器可分为二进制输出格式和BCD码输出格式。二进制输出格式一般要将转换数据送单片机处理后使用。BCD码输出格式采用分时输出万、千、百、十、个位的方法,可以很方便的驱动LCD显示。

2.5主要电路的电路图及原理

2.5.1 温度采集电路

温度采集电路即测温电路,电路中用热敏电阻和一个可调电阻串联节+5V电压。温度变化经过热敏电阻转化为电压或电流信号变化。然后将该电信号接入到温度放大电路上。其电路图如2.6所示。

图2.6温度采集电路

2.5.2放大电路

信号放大电路的主要作用是将采集温度信号转化的电信号进行放大处理,以便后面的电路进行使用。其电路图2.7示。

图2.7放大电路

3系统软件设计

程序启动后,首先清理系统内存,然后进行采集,并通过A/D转换后,传输到单片机再由单片机控制显示设备,显示现在的温度。

图4.1主程序框图

主程序如下:

0809选通信号接A14,CLK接ALE,INT0接电位器

PAGE 60,132

MODEL SMALL

STACK 20H

DATA 20H

AD0809 EQU 0B000H

A8255 EQU 7000H

B8255 EQU 7001H

C8255 EQU 7002H

D8255 EQU 7003H

DCLK0 EQU 00000000B

DCLK1 EQU 00000001B

DIN0 EQU 00000010B

DIN1 EQU 00000011B

CODE

DIDATA DB

ORG 0100H

MAIN: MOV SP,9000H

MOV DX,D8255

MOV AL,80H ;写控制字A、B输出,C输入

OUT DX,AL

NEXT: MOV DX,AD0809

MOV AL,00H

OUT DX,AL ;启动AD转换

CALL DELAY ;延时

IN AL,DX ;转换结束读取结果

CMP AL,DIDATA

JZ NEXT

MOV DIDATA,AL

CALL DISP

CALL DELAY1

JMP NEXT

;*************************************************************** ; /*显示子程序*/ *

;*************************************************************** DISP: MOV AL,DIDATA ;取低位

AND AL,0FH

CALL SEND ;显示

MOV AL,DIDATA

MOV CL,04H

SHR AL,CL ;取高位

CALL SEND ;显示

RET

SEND: PUSH CX

MOV AH,00H

MOV DI,AX

MOV BX,OFFSET SGTB1

MOV AL,[BX+DI] ;取字符

MOV AH,AL

MOV CX,01H

SEND1: MOV DX,D8255

MOV AL,DCLK0 ;DCLK<-0

OUT DX,AL

MOV AL,AH

RCL AL,CL

JC SEND2

MOV AL,DIN0 ;DIN<-0

OUT DX,AL

JMP SEND3

SEND2: MOV AL,DIN1 ;DIN<-1

OUT DX,AL

SEND3: MOV AL,DCLK1

OUT DX,AL ;DCLK<-1

INC CX

CMP CX,09H

JNZ SEND1

MOV AL,DIN1

OUT DX,AL

POP CX

RET

;*********************************************************************** ******

; /*延时程序*/

;***********************************************************************

******

DELAY: PUSH CX

MOV CX,0FFH ;延时

LOOP $

POP CX

RET

DELAY1: PUSH CX

MOV CX,0FFFFH ;延时

LOOP $

POP CX

RET

SGTB1 DB 0C0H ;0

DB 0F9H ;1

DB 0A4H ;2

DB 0B0H ;3

DB 99H ;4

DB 92H ;5

DB 82H ;6

DB 0F8H ;7

DB 80H ;8

DB 90H ;9

DB 88H ;A

DB 83H ;B

DB 0C6H ;C

DB 0A1H ;D

DB 86H ;E

DB 8EH ;F

DB 00H

END

第16页

相关主题
相关文档
最新文档