温度巡回检测仪.docx
《温度巡回检测仪.docx》由会员分享,可在线阅读,更多相关《温度巡回检测仪.docx(19页珍藏版)》请在冰豆网上搜索。
温度巡回检测仪
XX大学
《单片机原理及应用》
课程设计说明书
学生XX:
学号:
学院:
机电工程学院
专业:
电子信息工程技术
班级:
10级电子一班
题目:
8点温度巡回检测仪
指导教师:
2012年6月15日
设计要求
1温度传感器用AD590
2显示用LED4位动态显示器(-50℃~+125℃)
3要求画出各部分程序的流程图,并写出程序清单
4画出原理图
一.根据设计题意,本设计系统方框图如下:
…
…
二.硬件设计
1.传感器AD590
AD590温度传感器是电流型温度传感器,通过对温度的测量可得到所需要的电流值。
根据特性分挡,AD590的后缀以I,J,K,L,M表示。
AD590L,AD590M一般用于精密温度测量电路,它采用金属壳3脚封装,其中1脚为电源正端V+;2脚为电流输出端I0;3脚为管壳,一般不用。
1、流过器件的电流(
)等于器件所处环境的热力学温度(开尔文)度数,即:
式中:
——流过器件(AD590)的电流,单位
。
T——热力学温度,单位K。
2、AD590的测温X围-55℃~+150℃。
3、AD590的电源电压X围为4V-30V。
电源电压可在4V-6VX围变化,电流
变化1
,相当于温度变化1K。
AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会损坏。
4、输出电阻为710MΩ。
5、精度高。
AD590共有I、J、K、L、M五档,其中M档精度最高,在-55℃~+150℃X围内,非线形误差±0.3℃。
2.运算放大电路
放大电路图如图所示:
LM324是四运放集成电路。
AD590的输出电压I=(273+T)uA(T为摄氏温度),因此测量的电压V为(273+T)uA*10K=2.73V+10TmV.为了将电压测量出来又必须输出电流I不分流,需使用电压跟随器,其输出电压V2等于输入电压V0;使用齐纳二极管作为稳压元件,再利用可变电阻分压,其输出电压V1需调整至2.73V.
使其差动放大器其输出Vout为(100K/10K)*(V2-V1)=T/10,如果现在为摄氏25℃,输出电压为2.5V,输出电压接A/D转换器,那么A/D转换输出的数字量就和摄氏温度成线性关系。
输出电压Vout作为ADC0809模数转换的输入,ADC0809输出的数字量与单片机P0口相接。
采用中断方式读取数据。
3.A/D转换器的选取
ADC0809是TI公司生产的8位逐次逼近式模数转换器,包括一个8位的逼近型的ADC部分,并提供一个8通道的模拟多路开关和联合寻址逻辑,为模拟通道的设计提供了很大的方便。
用它可直接将8个单端模拟信号输入,分时进行A/D转换,在多点巡回监测、过程控制等领域中使用非常广泛,所以本设计中选用该芯片作为A/D转换电路的核心。
ADC0809八位逐次逼近式A/D转换器是一种单片CMOS器件,包括8位模拟转换器、8通道转换开关和与微处理器兼容的控制逻辑。
对于该八路通道输入信号,八位A/D转换器,其精度为
输入为0~5V时,分辨率为
其中:
—A/D转换器的满量程值
—ADC的二进制位数
量化误差为
4.ADC0809与51单片机的接口
由于ADC0809无片内时钟,时钟信号有51单片机的ALE信号经D触发器二分频后获得。
此外,由于ADC0809内部设有地址锁存器,所以通道地址由P0口的低3位直接与ADC0809的ABC相连。
通道基本地址为0000H~0007H。
其对应关系如下表所示:
由于ADC0809无片内时钟,时钟信号时可由单片机的ALE信号经D触发器二分频后获得。
ALE引脚得脉冲频率是8051时钟频率的1/6.该题目中单片机时钟频率采用6MHz,则ALE输出的频率是1MHz,二分频后为500Hz,符合ADC0809对频率的要求。
地址码
输入通道
C
B
A
0
0
0
IN0
0
0
1
IN1
0
1
0
IN2
0
1
1
IN3
1
0
0
IN4
1
0
1
IN5
1
1
0
IN6
1
1
1
IN7
如表ADC0809输入通道地址
由于ADC0809内部没有地址锁存器,所以通道地址有P0口的低3位直接
与ADC0809的A,B,C相连。
通道基本地址为0000H~0007H。
控制信号:
将P2.7作为片选信号,在启动A/D转换时。
由单片机的写信号和P2.7控制ADC的地址锁存和启动转换。
由于ALE和START连在一起,因此ADC0809在锁存通道地址的同时也启动转换。
在读取转换结果时,用单片机的读信号
和P2.7引脚经或非门后,产生正脉冲作为OE信号用一打开三态输出锁存器。
ADC0809与51单片机的接口电路如图所示:
5.显示电路
显示电路用4位LED显示器,由于单片机P1口有驱动功能,则不需要驱动器去驱动LED,选电阻R=250欧姆作为限流电阻(段选码),在用7407反相器接P2口(位选码)。
显示与单片机接口电路如图所示:
6.电源电路:
因为本设计接入220V的交流电源,且电路各部及单片机的工作电压是+5V,故采用由W7805三端稳压电源的电源电路来实现提供+5V的稳压电压。
由于ADC0809需要+5V的基准电压,用MC1403和一个同相集成放大电路实现。
+5V的稳压电压和+5V的基准电压电路如图所示:
三.软件设计
1.主程序流程图及其程序:
主要的功能子程序有:
数据采集、
数字滤波、标度变换、
数制转换、
数值显示、和部分中断子程序。
主程序流程图如图所示。
2.A/D转换程序流程图:
1.数据采集模块:
先读取上次A/D转换结果,保存数据的转换的结果于指定的路数的采集数据单元,然后通道加1,在启动新通道转换。
每路有8个储存单元按列队滚存。
先每路采集一个数据,八路都采集完,循环8次,实现每路都采集八次,并实现滚动存取。
3.数字滤波
模拟信号都必须经过A/D转换后才能为单片机接受,如果模拟信号受到扰动影响,将使A/D转换结果偏离真实值。
因此仅仅对模拟量采样一次,我们是无法确定该结果是否可信的,必须经过多次采样,得到一个A/D转换的数据序列。
由于数字滤波不需要硬件设备,因而可靠性高、稳定性好,各回路之间
不存在阻抗匹配等问题。
首先将每路8次采集来的数据相加取平均值后再通过A/D转换,读取转换值。
温度滚动采集处理:
采集8路INOA\D数据,每次循回采集一路的数据。
将采集到的数据分别放到对应的分配单元当中去。
其中单元的分配方法是每一路分有8个单元,存取新的数据之前,将原来的数据采用滚存的形式移存到相应的下一个单元当中去,最后把新采集的数据存在该路对应的八个单元中的首地址中。
本设计用去极值平均滤波。
4.标度变换
所谓标度变换通俗地说就是放大或缩小也即码尺的变换,对分形来说用不同的码尺所测得的结果,有随码尺的变化而变化的,也有随码尺的变化而不变的。
分形理论就是基于对事物在不同标度变换下的不变性。
标度变换:
将对应参数值的大小转换成能直接显示有量纲的被测工程量数值,也称为工程转换。
生产过程中的各个参数都有着不同的量纲,例如压力的单位是Pa,流量的单位是m3/h,温度的单位是℃等。
由测量仪表转换成模拟电信号,经过A/D转换后成为相应的数字量仅仅对应被测工程量参数值的大小,并不是原来带有量纲的参数值。
标度变换有线性和非线性之分,应根据实际要求选用适当的标度变换方法。
.线性标度变换
对于一般的线性仪表来说,参数值与A/D转换结果之间是线性关系,其标度变换公式为:
AX=A0+(Am-A0)(Nx-N0)/(Nm-N0)
A0——测量仪表的下限;
Am——测量仪表的上限;
Ax——标度变换后的测量值;
N0——仪表下限所对应的数字量;
Nm——仪表上限所对应的数字量;
Nx——测量值对应的数字量。
其中A0、Am、N0、Nm对于某一具体的参数来说为常数,不同的参数有不同的值。
该单片机系统中,被测量经过A/D转换,均统一为0~255二进制码,因此要把A/D转换的数码X变换成被测量的实际数值。
5.数制转换
由于标度变换后得到两个字节的实际数值,不能直接送显示端显示,须经过适当的处理(此处将其转换为5位非压缩BCD码),才能送显示端输出显示。
四.程序如下:
8通道采样程序:
ORG0000H
AJMPMAIN
ORG0013H
AJMPINT1
ORG0030H
MAIN:
MOVSP,#40H
SETBEA
SETBIT1
SETBEX1
MOVR7,#08H
MOVR6,#04H
MOVDPTR,#3000H
MOVP2,#7FH
MOVP0,#F8H
MOVXR0,A
SJMP$
RG0100H
INT1:
MOVXA,R0
MOVDPTR,A
INCR0
INCDPTR
DJNER7,AA
MOVR7,#O8H
DJNER6,BB
RETI
AA:
MOVXR0,A
BB:
RETI
数字滤波及去极值平均滤波程序:
MOVR7,#7
LOOP1:
MOVA,R7
MOVR5,A
MOVR0,#40H
CLRF0
LOOP2:
MOVA,R0
INCR0
MOVB,A
CLRC
SUBBA,R0
JCAA
MOVA,B
XCHA,R0
DECR0
MOVR0,A
INCR0
SETBF0
AA:
DJNZR5,LOOP2
JNBF0,BB
DJNZR7,LOOP1
BB:
MOVR1,#41H
MOVR4,#6
CLRA
MOVR3,A
MOVR2,A
LOOP3:
MOVA,R1
ADDA,R2
MOVR2,A
MOVA,R3
ADDCA,#0
MOVR3,A
NCR1
DJNZR4,LOOP3
MOVA,R3
RRA
RRA
MOVR3,A
MOVA,R2
RRA
RRA
MOVR6,A
RET
温度转化程序:
MOVA,31H
MOVB,#20
MULAB
MOVB,#51
DIVAB
MOVR1,A
MOVA,B
MOVB,#10
MULAB
MOVB,#51
DIVAB
MOV32H,A;小数后一位放于32H
MOV31H,R1;结果存放31H
MOVB,#100
MOVA,31H
DIVAB
MOV73H,A;温度的百位
MOVA,B
MOVB,#10
DIVAB
MOV72H,A;温度的十位
MOV71H,B;温度的个位
MOV70H,32H;温度的十分位
MOV75H,30H;通道数
温度的显示,显示缓冲区为内不RAM90H至93H,程序如下:
DSP:
MOVR0,#90H
MOVR2,#01H
MOVR7,#04H
LOOP:
MOVA,R0
MOVP1,A
MOVP2,R2
ACALLDL1ms
INCR0
MOVA,R2
RLA
MOVR2,A
DJNER7,LOOP
RET
DL1ms:
MOVR5,#50
D1:
MOVR4,#98
NOP
NOP
D2:
DJNZR4,D2
DJNZR5,D1
RET
END
五.总结
在这次课程设计里有掌握了单片机应用系统开发,运用了Protel画图。
当然有些理念是参考了网上相应的资源,但是整个设计过程中,有自己的想法,总之,此次课程设计收获不小。
8点温度巡回检测电路总图