温度采集,,实验报告
课
程
设
计
任
务
书
题 题
目
基于A0 D590 得温度测控系统设计
系 系
( (部 部)
信息科学与电气工程学院
专 专
业
电气工程及其自动化
班 班
级
电气 092
学生姓名
刘玉兴
学 学
号
090 8192 10
月
日至
月
日
共
周 周
指导教师 ( 签字)
系 系 主 任 任 ( 签字)
年
月
日 一、设计内容及要求 在单片机实验台上实现智能温度采集系统得设计.要求利用温度传感器 AD590 采集温度信号,并调理放大采集到得电压信号,用ADC0809 进行电压转换,实现温度采集,并将采集温度用数码管静态方式显示出来。
设计内容包括:1)AD590 温度采集电路;2)ADC0809 接口电路;3)数码管静态方式实时显示温度;4)可按键设置报警上下限。
设计要求:1)能演示;2)能回答答辩过程中提问得问题;3)完成设计报告.
二、设计原始资料 单片机原理及应用教程
范立南
2006 年 1月 单片机原理及应用教程
刘瑞新
2003年 07 月
三、设计完成后提交得文件与图表
1.计算说明书部分 1)方案论证报告打印版或手写版 2)程序流程图 3)具体程序
2.图纸部分: 具体电路原理图打印版
四、进程安排
教学内容
地点 资料查阅与学习讨论
现代电子技术实验室 分散设计
现代电子技术实验室 编写报告
现代电子技术实验室 成果验收
现代电子技术实验室
五、主要参考资料 《电子设计自动化技术基础》马建国、孟宪元编 清华大学出版
2004 年 4 月
《实用电子系统设计基础》
姜威
2008 年 1 月
《单片机系统得 PROTEUS 设计与仿真》
张靖武
2007 年 4月
摘要
ﻩ 温度就是工业生产与自动控制中最常见得工艺参数之一。过去温度检测系统设计中,大多采用模拟技术进行设计,这样就不可避免地遇到诸如传感器外围电路复杂及抗干扰能力差等问题;而其中任何一环节处理不当,就会造成整个系统性能得下降。随着半导体技术得高速发展,特别就是大规模集成电路设计技术得发展, 数字化、微型化、集成化成为了传感器发展得主要方向。
以单片机为核心得控制系统.利用汇编语言程序设计实现整个系统得控制过程。在软件方面,结合ADC0809并行8位A/D转换器得工作时序,给出80C51单片机与ADC0908并行
A/D转换器件得接口电路图,提出基于器件工作时序进行汇编程序设计得基本技巧。本系统包括温度传感器,数据传输模块,温度显示模块与温度调节驱动电路,其中温度传感器为数字温度传感器AD590,包括了单总线数据输出电路部分.文中对每个部分功能、实现过程作了详细介绍。
关键词:单片机、汇编语言、ADC0809、温度传感器AD590 A Abs tract
Temperature is the most mon one of process parameters in automatic control and industrial production、 、
In the traditional temperature measurement system design, often using simulation technology to design, and this will inevitably encounter error pensation, such as lead,plex outside circuit,poor anti-jamming and other issues, and part of a deal with them Improperly, could cause the entire system of the decline、 With modern science and technology of semiconductor development, especially large-scale integrated circuit design technologies, digital, miniaturization, integration sensors are being an important direction of development、 In the control systems with the core of SCM,assembly language programming is used to achieve the control of the whole system.bining with the operation sequence of ADC0809,the interface circuit diagrams of 80C51 SCM and ADC0809 parallel A/D conveger ale given。The basic skills of assembly language programming based on the operation se—quenee of the chip ale put forward。This system include temperature sensor and data transmission, the moduledisplays module and thermoregulation driven circuit from the sensors intofigures of the temperature sensors AD590, including a list of the data outputcircuit、 The text of every part of the functions and procedure at present、 K Key words:single-chip;assembly language;parallel A/D conversion; ADC0809;Temperature sensor AD590 目录 摘要误错ﻩ 错误! 未定义书签。
Abstract ..................................................................................................... 错误! 未定义书签。
第一章 系统功能原理及硬件介绍误错ﻩ 错误! 未定义书签。
1、1 80C51 单片机介绍 ...................................................... 错误! 未定义书签。
1、2 ADC0809 介绍—-误错ﻩ 错误! 未定义书签。
l、2、1 ADC0809 得主要特点 ............................ 错误! 未定义书签。
1、2、2 ADC0809 芯片得工作原理7ﻩ
1、3 AD590 得介绍............................................................ 错误! 未定义书签。
第二章
理论分析误错ﻩ 错误! 未定义书签。
2、1
各模块接线及原理说明误错ﻩ 错误! 未定义书签。
2、1、1 AD590采集温度信号模块 ........................ 错误! 未定义书签。
2、1、2
ADC0809 A/D(模数)转换模块 ............. 错误! 未定义书签。
2、1、3动态数码管显示模块.................................... 错误! 未定义书签。
2、1、4
蜂鸣器超量程报警模块................................ 错误! 未定义书签。
2、2最小分度、量程及报警温度得算法误错ﻩ 错误! 未定义书签。
2、2、1 最小分度、量程得算法误错ﻩ 错误! 未定义书签。
第三章
各模块电路设计误错ﻩ 错误! 未定义书签。
3、1 温度测量采集及加热电路模块.................................... 错误! 未定义书签。
3、2
并行 A/D(模数)转换模块 ...................................... 错误! 未定义书签。
3、3
蜂鸣器超量程报警模块误错ﻩ 错误! 未定义书签。
3、4
可按键设置报警模块误错ﻩ 错误! 未定义书签。
第四章 电路与程序设计误错ﻩ 错误! 未定义书签。
4、1 程序流程图............................................................. 错误! 未定义书签。
4、2 程序清单....................................................................... 错误! 未定义书签。
总结误错ﻩ 错误! 未定义书签。
参考文献.......................................................................................................... 错误! 未定义书签。
第一章 系统功能原理及 硬件介绍 该数字温度计利用AD590集成温度传感器及其接口电路完成温度得测量并转换成模拟电压信号,经由模数转换器 ADC0809 转换成单片机能够处理得数字信号,然后送到单片机 80C51 中进行处理变换,最后将温度值显示在 LED 显示器上。系统以 80C51 单片机为控制核心,加上 AD590测温电路、ADC0809 模数转换电路、温度数据显示电路以及外围电源等组成。系统组成框图如图 1 所示.
图 1 系统组成框图
80C51 温度显示 电源及复位电路等 ADC0809 模数转化 AD590 测温电路 超量程报警
1、1 80C 51 单片机介绍 80C51就是美国ATMEL公司生产得低电压,高性能CMOS8位单片机,可提供以下标准功能:4K 字节闪存,128 字节内部RAM,32个 I/O 口线,两个 16 位定时/计数器,一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,80C51 可降至0HZ得静态逻辑操作,并支持两种软件可选得节电工作模式。空闲方式停止 CPU 得工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作.掉电方式保存 RAM 中得内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
图 2 80C51 引脚图 引脚功能说明 Vcc:电源电压
GND:地
P0 口:P0 口就是一组 8 位漏极开路型双向 I/O口,即地址/数据总线复位口.作为输出口用时,每位能吸收电流得方式驱动 8 个逻辑门电路,对端口写“1”可 作为高阻抗输入端用.在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)与数据总线复用,此时 P0 激活内部得上拉电阻。
P1 口:P1 就是一个带有内部上拉电阻得8位双向I/O口。P1 得输出缓冲级可驱动(输入或输出)4个 TTL 逻辑门电路。对端口写“1",通过内部得上拉电阻把端口拉到高电平,此时可做输入口。因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
P2口:P2 就是一个带有内部上拉电阻得 8 位双向 I/O 口,P2 得输出缓冲级可驱动(输入或输出电流)4个 TTL逻辑门电路。对端口写“1”,通过内部得上拉电阻把端口拉到高电平,此时可作为输入口.因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器获 16位地址得外部数据存储器(例如执行 MOVX
DPTR指令)时,P2 口送出高8位地址数据。在访问 8 位地址得外部数据存储器(如执行 MOVX RI指令)时,P2 口线上得内容(也即特殊功能寄存器(SFR)区中 R2 寄存器得内容),在整个访问期间不改变。
P3 口:P3口就是一组带有内部上拉电阻得 8 位双向 I/O口。P3 口输出缓冲级可驱动(输入或输出)4 个 TTL 逻辑门电路.对P3 口写入“1”时,她们被内部上拉电阻拉高并可作为输入口。此时,被外部拉低得 P3口将用上拉电阻输出电流。
RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片机复位。
ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址得低 8 位字节。即使不访问外部存储器,ALE仍以时钟振荡频率得 1/6输出固定得正脉冲信号,因此它可对输出时钟信号或用于定时。要注意得就是:当访问外部数据存储器时将跳过一个ALE 脉冲。闪存编程期时,该引脚还用于输入编程脉冲. PSEN:程序存储允许输出就是外部程序存储器得读选通信号,当 80C51 由外部程序存储器取指令(或数据)时,每个机器周期两个 PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效得PSEN 信号不出现。
EA/VPP:外部访问允许.要使 CPU仅访问外部程序存储器(地址为0000H-—-FFFFH),EA端必须保持低电平(接地)。需注意得就是; 如果加密位 LB1 被编程,复位时内部会锁存EA 端状态。如 EA端为高电平(接 VCC 端),CPU 则执行内部程序存储器中得指令。
XTAL1:振荡器反相放大器及内部时钟发生器得输入端。
XTAL2 :振荡器反相放大器得输出端。
1 、2 A DC080 9介绍 l、 、 2、1 ADC0 809 得主要特点 ADC0809 模数转换器,ADC0809 就是 8 通道8位CMOS 逐次逼近式 A/D转换芯片,片内有模拟量通道选择开关及相应得通道锁存、译码电路,A/D转换后得数据由三态锁存器输出,由于片内没有时钟需外接时钟信号。
芯片得引脚如图 21-1,各引脚功能如下:
IN0~IN7:八路模拟信号输入端. ADD—A、ADD-B、ADD-C:三位地址码输入端。
CLOCK:外部时钟输入端。CLOCK 输入频率范围在 10~1280KHz,典型值为 640KHz,此时 A/D 转换时间为100us。51 单片机 ALE 直接或分频后可与CLOCK 相连。
D0~D7:数字量输出端. OE:A/D 转换结果输出允许控制端. 当 OE 为高电平时,允许 A/D 转换结果从 D0~D7 端输出。
图21—1 ADC0809 引脚 ALE:地址锁存允许信号输入端。
八路模拟通道地址由 A、B、C 输入,在ALE 信号有效时将该八路地址锁存. START:启动 A/D转换信号输入端。
当 START 端输入一个正脉冲时,将进行A/D转换。
EOC:A/D 转换结束信号输出端。
当 A/D 转换结束后,EOC 输出高电平。
Vref(+)、Vref(—):正负基准电压输入端。
基准正电压得典型值为+5V. 1 、2 、2
ADC0809 芯片得工作原理
ADC0809带有片内系统时钟,该时钟与I/OCLOCK就是独立工作得,无需特殊得速度或相位匹配。当CS为高时,数据输 D 端处于高阻状态,此时 I/O CLOCK不起作用。这种 CS控制作用允许在同时使用多片 ADC0809 时,共用 I/OcLOCK,以减少多路(片)A/D 使用时得I/O 控制端口。一组通常得控制时序操作图如下:
图 4 TLC549得工作时序 1 、3 AD 590 得介绍 AD590就是AD公司利用PN结构正向电流与温度得关系制成得电流输出型两端温度传感器、(热敏器件) AD590 就是美国模拟器件公司生产得单片集成两端感温电流源.它得主要特性如下:
1、流过器件得电流(mA)等于器件所处环境得热力学温度(开尔文)度数,即:mA/K 式中: -流过器件(AD590)得电流,单位为 mA; T—热力学温度,单位为 K。
2、AD590 得测温范围为—55℃~+150℃。
3、AD590得电源电压范围为 4V~30V。电源电压可在 4V~6V 范围变化,电流 变化 1mA,相当于温度变化 1K。AD590 可以承受 44V正向电压与20V反向电压,因而器件反接也不会被损坏.
4、输出电阻为 710MW。
5、精度高。AD590 共有 I、J、K、L、M 五档,其中 M 档精度最高,在-55℃~+150℃范围内,非线性误差为±0、3℃。
AD590 温度感测器就是一种已经 IC化得温度感测器,它会将温度转换为电流,在 8051得各种课本中常瞧到它,相当常用到.
其规格如下:
温度每增加 1℃,它会增加 1μA输出电流.
可量测范围—55℃至 150℃。
供应电压范围+4V 至 30V.
AD590得输出电流值说明如下:
其输出电流就是以绝对温度零度(-273℃)为基准,每增加 1℃,它会增加 1μA输出电流,因此在室温 25℃时,其输出电流 Io=(273+25)=298μA。
Vo 得值为Io乘上 10K,以室温 25℃而言,输出值为2、98V(10K×298μA)。
量测 Vo 时,不可分出任何电流,否则量测值会不准。
AD590 得输出电流 I=(273+T)μA(T 为摄氏温度),因此量测得电压 V 为(273+T)μA ×10K= (2、73+T/100)V。为了将电压量测出来又需使输出电流 I 不分流出来,我们使用电压追随器其输出电压 V2 等于输入电压V。
由于一般电源供应较多零件之后,电源就是带杂讯得,因此我们使用齐纳二极体作为稳压零件,再利用可变电阻分压,其输出电压V1 需调整至 2、73V.
接下来我们使用差动放大器其输出 Vo 为 (100K/10K)×(V2-V1)=T/10V。如果现在为摄氏 28 度,输出电压为 2、8V.
图 5
AD590得封装及其基本应用电路
图 6
AD590内部电路原理图 第二章
理论分析 ADC08099温度采集系统采用了 AD590采集温度信号,ADC0809 转换温度模拟信号,80C51(伟福仿真器仿真)控制 ADC0809 转换,静态数码管显示,超量程报警。
2 2、 、1 1
各模块接线及原理说明 2、1 、1 AD 590 采集温度信号模块 将 T-DETECT 接到 ADC0809 得IN—0 端口,然后用T-CON 控制电路加热与否。不需要进行其她得控制。
2 、1 、2
A DC0809 A/D( 模数)转换模块 ADC0809 得三个I/O口分别为 EOC、CLK与 CS 端口,其中 CLK为时钟、CS 为片选、EOC为转换结束状态信号。
2 、1 、3静态数码管显示模块 静态数码管显示电路由四只74LS164、四只共阴极LED 数码管组成.输入只有两个信号,它们就是串行数据线 DIN 与移位信号 CLK.单片机得P3 口输出显示段码,经由一片7
4LS164 驱动输出给 LED 管,由 P3、0 口输出位码,经由74L164 输出给 LED 管. 2 、1 、4
蜂鸣器超量程报警模块 由 AT89C51 得 I/O 口直接输出信号到蜂鸣器得控制信号输入端口 C,当输入信号为高点平时,蜂鸣器报警。
2 、2 最小分度、量程及报警温度得算法
2、2 、1 最小分度、量程得算法 ADC0809工作温度为 0℃~80℃,温度与电压成正比.当设定量程与80℃接近时测量所得温度与实际温度才能相符。
ADC0809 得A/D 输出为 00H到 FFH,可进行 256 等分,3 能被 256整除,以此算法设定最小分度为 0、33℃,量程为 0℃~80、0℃,比较符合要求。
2 、2 、2 报警温度得算法 设定最小温度分度为 0、33℃,量程为 0℃~80、0℃,所以,15、0℃时A/D 输出得数字量为 2DH,63、67℃时 A/D 输出得数字量为0BFH。报警温度为:15、0℃~63、67℃ 第三章
各模块电路设计 温度采集系统由温度采集模块、AD 转换模块与温度值显示模块三大部分组成。其中温度采集模块主要用 AD590 采集温度,并输出一个模拟电压信号,ADC0809 接收到模拟信号后,进行A/D 转换把模拟信号转换位数字信号,并行输出(一个时钟下降沿输出一次),单片机接到数据后存入累加器A,经过一定得转化,经过74LS164 输入到七位数码管中,并静态显示出来,当温度超过设定得报警温度,蜂鸣器报警装置自动报警. 3、1 1 温度测量采集及加热电路模块 T—DETECT接到 ADC0809模拟信号输入端 IN-0,T-CON 接高电平时开始加热。
图 7
温度测量采集及加热电路原理图
图 8
参考电压电路
3.2 并行A/D( 模数) 转换模块
图 9
并行模数转换电路 3 3 、 4
蜂鸣器超量程报警模块
图 11
蜂鸣器超量程报警原理电 3、5
可按键报警模块 通过 I/O 口控制按键输入,暂存在寄存器 B,并由 P2 口通过显示灯显示出来。与暂存在寄存器 A 中数对比,若 A 高于 B 就报警,否则正常显
示。
第四章 电路与程序设计 4 、1
程序流程图 开始 温度采集 启动转换 进行标度转换 将十位、个位、小数位分开 处理小数位 各位暂存在单片机 就是否达到 报警下限温度 执行报警子程序 查段码,送静态显示管 观察示数 结束 就是否达到 报警上限温度 Y N Y N
4 4 、2 2
程序清单 ORG 0000H
SJMP MAIN
MAIN:MOV DPTR,#7FF8H
;DPTR 指向 0 通道 MOVX DPTR,A
;启动 A/D 转换
JNB P3、2,$
;等待 MOVX A,DPTR
;读数
MOV 40H,A
;存数 LCALL DNOW
;设置下限 LOP0:LCALL UP
;设置上限 LOP1:LCALL TRAN
;模数—数据转换 LCALL DISP
;数据得静态显示 LCALL DELAY1s SJMP MAIN DNOW:MOV A,40H CJNE A,#2DH,LOP2
LOP2:JNC LOP0
;Cy=0,转LOP0 AJMP LOP4
;Cy=1,转 LOP4 UP:MOV A,40H CJNE A,#0BFH,LOP3 LOP3:JNC LOP4
;Cy=0,转 LOP4 AJMP LOP1
;Cy=1,转 LOP1 LOP4:MOV SP,#60H
;给堆栈指针赋初值 ACALL MUSIC AJMP LOP1 ;;;;;;;;;;蜂鸣器输出声子程序;;;;;;;;;;; MUSIC:MOV 4AH,#34H LOP6:MOV R5,#60H
;控制音长 MIC:CPL P1、5 ACALL DELAY5ms
;控制音调 DJNZ R5,MIC DJNZ 4AH,LOP6 RET
;;;;;;;;;;;;;;;;数据转换;;;;;;;;;;;;;;; ﻩTRAN:MOV R0,#40H
MOV R3,#30H
;用来存放小数位
MOV A,R0
;把R0 中得数给A MOV B,#03H
DIV AB
;标度变换 3 格一度 MOV R3,B
;存小数
MOV B,#0AH
DIV AB;
ﻩ 开分位个与位十得果结换变度标将ﻩ
MOV R0,A
;将十位数送显示缓冲单元 INC R0
;指向缓冲单元下一地址 MOV R0,B
;将个位数送显示缓冲单元 MOV A,R3
;标度转换结果小数部分处理 MOV B,#03H
MUL AB
;实现三格一度 INC R0
;指向下一个缓冲单元
MOV R0,A
;将小数送显示缓冲单元 LOP8:RET
;返回
;;;;;;;;;;静态显示子程序—串入并出;;;;;;; DISP:MOV DPTR,#TAB
;段码表首地址
MOV R0,#40H
;R0 指向缓存区首地址 MOV A,R0
;将整数位数给 A MOVC A,A+DPTR
;查十位段码 MOV 40H,A
;将段码结果送入 40H INC R0
;R0 指向缓存区下一地址 MOV A,R0
;将个位数给 A MOVC A,A+DPTR
;查个位段码 MOV 41H,A
;将段码结果送入 41H INC R0
;R0 指向缓存区下一地址 MOV A,R0
;将小数给A MOVC A,A+DPTR
;查小数段码 MOV 42H,A
;将段码结果送入 42H ;;;;;;;;;;;最后一位清零;;;;;;;;;;;; MOV 43H,#00H MOV A,43H MOV R7,#08H CCC:JB ACC、7,AAA CLR P3、0 JMP BBB AAA:SETB P3、0 BBB:SETB P3、1
;CLK 下降沿触发 CLR P3、1 RL A
DJNZ R7,CCC ;;;;;;;;小数位数显示;;;;;;; MOV A,42H
MOV R7,#08H
CC:JB ACC、7,AA CLR P3、0 JMP BB AA:SETB P3、0 BB:SETB P3、1
;CLK 下降沿触发 CLR P3、1
RL A DJNZ R7,CC
;所有位检测后顺序执行 ;;;;;;;;;;;;个位数显示;;;;;;;;;;; ORL 41H,#80H
;个位数后置小数点 MOV A,41H MOV R7,#08H DD:JB ACC、7,EE CLR P3、0 JMP FF EE:SETB P3、0 FF:SETB P3、1
;CLK 下降沿触发 CLR P3、1 RL A
DJNZ R7,DD
;所有位检测后顺序执行
;;;;十位数数显示;;;;; MOV A,40H MOV R7,#08H GG:JB ACC、7,HH CLR P3、0 JMP II HH:SETB P3、0 II:SETB P3、1
;CLK 下降沿触发
CLR P3、1 RL A
DJNZ R7,GG
;所有位检测后顺序执行 TAB:
DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH LOP9:RET ;;;;;;;;;;为使数据显示稳定延时1秒;;;;;;;; DELAY1s:MOV R4,#10 DH0:MOV R5,#100 DH1:MOV R7,#249 DH2:NOP NOP DJNZ R7,DH2 DJNZ R5,DH1 DJNZ R4,DH0 L0P10:RET ;;;;;;;;;;;;;;延时子程序;;;;;;;;;;;;;;;;; DELAY5ms:MOV R7,#03H DELAY0:MOV R6,#40H DELAY1:DJNZ R6,DELAY1 DJNZ R7,DELAY0 LOP11:RET
END 总结
在这一周得课程设计与实习中,我从中学到了很多很多、
首先,感谢潘老师对我们得得指导与她对我们严格得要求。起初得两天,我们查阅资料,从书中找,上网查,但就是始终没有一个具体方案,经过潘老师第二天下午对我们得指点,我们可以从宏观把握整个实验,大体分成四部分做:1 设计 AD590温度采集电路;2 ADC0809接口电路;3 数码管静态方式实时显示温度;4 可按键设置报警上下限。
之后几天,我们逐个问题攻破,把每块都制作出来,然后整合成我们所需要得程序,刚开始还调试不出来,经过我们小组成员得努力,最后我们终于弄好了。
老师还告诉我门,设计要注重软件与硬件得结合,尤其就是硬件,有了硬件,软件程序很好写。这次课程设计让我受益匪浅,也实实在在得学到了不少东西,尤其就是那严谨得态度. 参考文献 [1] 李全利《单片机原理及接口技术》北京:高等教育出版社,2009、1 [2] 张靖武 周灵彬 《单片机原理、应用与 PROTEUS 仿真 》电子工业出版社,2008 [3] 赵全利 肖兴达《单片机原理及应用教程》机械工业出版社,2007 [4] 何立民、单片机应用技术选编[M]、北京:北京航空航天大学出版社,2004、 [5] 邱关源、电路 第五版、高等教育出版社 [6] 实验台原理图
[7] 实验台实验指导书
[8] 网络 指导老师成绩 答辩小组成绩 总成绩