温度采集系统设计Word格式文档下载.docx
《温度采集系统设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《温度采集系统设计Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
3.用protel或proteus软件绘制电路原理图。
4.软件设计,给出流程图及源代码并加注释
4.主要参考文献:
1.顾德英.计算机控制技术(第二版).北京邮电大学出版社,2005
2.李顺增,吴国东,赵河明,乔志伟.微机原理及接口技术.机械工业出版社,2004
5.设计成果形式及要求:
1.电路原理图
2.软件流程图和程序清单
3.编写课程设计报告。
6.工作计划及进度:
201312月15日~12月17日查找资料,确定方案
12月18日~12月21日设计硬件电路,绘制电路原理图
12月22日~12年25日软件设计,并调试通过
12月26日~12月28日编写课程设计报告,答辩或成绩考核
系主任审查意见:
签字:
年月日
1引言……………………………………………………………………………1
2计设计目的任务和要求………………………………………………………1
2.1设计目的……………………………………………………………………1
2.2设计内容和要求……………………………………………………………1
3系统总体方案设计……………………………………………………………1
3.1方案设计……………………………………………………………………1
3.2原理框图……………………………………………………………………1
4硬件设计………………………………………………………………………2
4.1硬件控制电路………………………………………………………………2
4.2传感器电路…………………………………………………………………2
4.3显示电路的选择……………………………………………………………3
4.4CPU的选择………………………………………………………………3
4.58位A/D转换器ADC0809芯片………………………………………5
4.6AT89C51与ADC0809接口电路…………………………………………6
4.7单片机控制电路……………………………………………………………7
5软件设计………………………………………………………………………7
5.1绘制程序流程图……………………………………………………………7
5.2编制汇编源程序……………………………………………………………8
6调试及仿真……………………………………………………………………10
6.1电路接线图…………………………………………………………………10
6.2仿真及结果…………………………………………………………………10
7结论及心得体会………………………………………………………………11
附录……………………………………………………………………………13
参考文献…………………………………………………………………………14
1引言
温度是工业控制中主要的被测参数,随着电子技术和微型计算机的迅速发展,微机的测量和控制技术在工业发展中起到了举足轻重的作用。
单片机具有处理能力强、运行速度快、功耗低等优点。
应用在温度测量方面简单方便、测量范围广、精度高,从而提高了生产效率。
一般来说一个测温系统由以下三部分组成:
测量部分、控制部分、显示部分。
因此本设计就是以单片机为核心设计温度采集系统,将采集的信号通过转换以数字方式显示。
2设计目的任务和要求
2.1设计目的
本设计包括确定控制任务、系统总体方案设计、硬件系统设计、软件程序的设计等,使学生进一步学习与理解计算机控制系统的构成原理、接口电路与应用程序,巩固与综合专业基础知识和相关专业课程知识,提高学生运用理论知识解决实际问题的实践技能;
2.2设计内容和要求
以8086CPU(或单片机)为核心设计一个温度采集系统,系统可以实现一路温度的采集,在3位LED显示器上显示当前温度。
本设计所用器件主要有传感器,A/D转换器,8086CPU(或单片机),可编程并行接口8255(或不用),LED显示器等。
首先传感器把所测的温度转换为电压,输入A/D转换器中进行转换,然后再把得到的二进制数经CPU在LED上显示出来。
3系统总体方案设计
3.1方案设计
以8086CPU为核心设计一个温度巡回监测系统(A/D采用ADC0809).系统可实现温度信号的采集,在3位LED显示器上显示当前的温度。
经标度变换后送LED显示器显示,只进行一路采集。
该系统主要用于温度检测,并在LED上显示当前的温度值。
当温度信号改变时,LED显示的值也随之改变。
3.2原理框图
温度传感器
LED显示
ADC0809
8086控制器
并行接口8255
图3-1原理框图
4硬件设计
4.1硬件控制电路
首先应用温度传感器进行温度测量。
当外界环境温度发生变化,传感器的输出电压也会发生对应的变化,电桥的输出信号与ADC0809的模拟量输入端IN0连接,经A/D转换后,ADC0809的输出引脚与AT89C51的P0口连接。
4.2传感器电路
在自动控制、机电整合的应用中,温度的测量为常见的需求,感测温度的产品有多种型态,依特性可概分为膨胀变化型、颜色变化型、电阻变化型、电流变化型、电压变化型、频率变化型…等,常见的电压变化型的温度传感器有LM35、LM335,其不同点为LM35之输出电压是与摄氏温标呈线性关係,而LM335则是与凯氏温标呈线性关系。
由於摄氏温标较常使用,因此本文将针对LM35做介绍。
LM35是由NationalSemiconductor所生产的温度感测器,其输出电压与摄氏温标呈线性关係,转换公式如式
(1),0°
C时输出为0V,每升高1°
C,输出电压增加10mV。
公式
(1)
LM35有多种不同封装型式。
在常温下,LM35不需要额外的校准处理即可达到±
1/4C的准确率。
其电源供应模式有单电源与正负双电源两种,正负双电源的供电模式可提供负温度的量测;
单电源模式在25°
C下静默电流约50μA,非常省电。
下图是利用LM35温度传感器及晶体管IN914组成单电源供电的测温电路(一般需正负电源)。
图4-1利用LM35温度传感器及晶体管IN914组成单电源供电的测温电路
4.3显示电路的选择
在单片机应用中常用的显示器是LED,因为LED显示器具有功耗低、配置灵活、线路简单、安装方便、寿命长且价格低廉等优点。
本设计用8155芯片控制七段显示器动态显示数据。
4.4CPU的选择
本次设计以CPU选用AT89C5l作为控制芯片.AT89C51的结构简单并可以在编程器上实现闪烁式的电擦写达几万次以上.使用方便等优点。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51的引脚结构图所图示,其管脚说明如下:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4
个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器图4-2AT89C51管脚图
周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
4.58位A/D转换器ADC0809芯片
目前应用较多的A/D转换器是ADC0809,ADC0809是一种八路模拟输入八路数字输出的转换器件,主要特性如下:
分辨率:
8位
转换时间:
次/64个时钟周期
电源:
+5V
模拟输入电压范围:
单极性0-5V,具有可控三态输出锁存器。
以上数据满足设计要求,所以选用ADC0809
ADC0809的引脚排列如图4-3所示,各功能如下:
IN0~IN7:
8个模拟量输入端。
START:
启动A/D转换。
当START为高电平时,开始A/D转换。
EOC:
转换结束后。
当A/D转换完毕时,此信号可用作A/D转换是否完成的查询信号或向CPU请求中断的信号。
OE:
输出允许信号,或称为A/D数据信号。
当此信号为高电平时,可从A/D转换器中读取数据。
CLK:
实时时钟,最高允许值为640kHz,可通过外接电路提供频率信号,也可由系统ALE分频获得。
ALE:
地址锁存允许,高电平有效。
当ALE为高电平时,允许ADDC、ADDB、ADDA锁存到通道地址锁存器,并选择对应通道的模拟输入送A/D转换器。
ADDA、ADDB、ADDC:
通道地址输入,C为最高位,A为最低位。
D0~D7:
数字量输出。
VREF(+)、VREF(-):
正、负参考电压,用来提供D/A转换器的基准参考电压。
一般VREF(+)接+5V,VREF(-)接地。
VCC、GND:
电源电压VCC接+5V,GND接地。
图4-3ADC0809芯片管脚图
4.6AT89C51与ADC0809接口电路
如图3-4所示,系统中的ADC0809转换器的片选信号接P2.7,其通道地址IN0~IN7分别为7FF8H~7FFFH。
当AT89C51产生写信号时,由一个或非门产生转换器的启动信号START和地址锁存信号ALE(高电平有效),同时将通道地址ADDA、ADDB、ADDC送地址总线,模拟量通过被选中的通道送到A/D转换器,并在START下降沿时开始逐位转换,当转换结束时,转换结束信号EOC变高电平,经反相器可向CPU发中断请求。
也可采用查询方式,当AT89C51产生读信号时,则由一个或非门产生OE输出信号(高电平有效),使A/D转换结果读入AT89C51单片机。
ADC0809转换器所需时钟信号可以由AT89C51的ALE信号分频获得。
图4-4AT89C51与ADC0809接口电路图
4.7单片机控制电路
(1)由于设计要求利用3位数码管显示温度,故在P1、P2、P3口进行数码管连接。
由于只显示整数位,小数点不进行连接,因此数码管连接7只引脚即可。
(2)由于本系统使用片内程序存储器,故EA引脚接高电平即可。
综上所述,要实现单片机的温度采集及显示,控制电路如图3-5所示:
图4-5单片机控制电路图
5软件设计
5.1绘制程序流程图
本控制程序结构流程图如5-1图。
图5-1控制程序结构流程图
5.2编制汇编源程序
1.ADC0809调试程序
ORG0000H
MOVR1,#20H
MOVR2,#08H;
设定8个通道
MOVTL0,#00H
MOVTH,#0B8H
MOVTMOD,#01H;
给计数器设定初值并初始化
CLRET0;
SETBTR0;
启动计数器
MOVSCON,#40H
MOVDPTR,#78FFH;
置DPTR,使模拟通道对应的入口地址为78FFH
LOOP:
MOVA,R2
SUBBA,R1
JNZLOOP2;
跳转至LOOP2
MOVR1,#00H
MOVDPTR,#78FFH
LOOP1:
JNBTF0,LOOP1
CLRTF0
MOVTH0,#0B8H;
重新给计数器设初值
LOOP2:
MOVX@DPTR,A;
重启A/D
LOOP3:
JPP1.0,LOOP3
LOOP4:
JNPP1.0,LOOP4;
由P1.0查询ADC0809的EOC信号,确定转换是否完成
MOVXA,@DPTR;
查询结果
MOV@R1,A;
保存结果
INCDPH;
查询下一模拟通道
INCR1;
同时将下一通道的值保存
LJMPLOOP
END
2.程序执行过程:
ORG0000H
LJMPMAIN13
ORG0D00H
MAIN13:
MOVSP,#50H
MOVP2,#0FFH
MOVA,#81H
MOVDPTR,#0FF23H
MOVX@DPTR,A
MOV79H,#00H
LOOP0:
LCALLDISPLAY
MOVA,#00H
MOVDPTR,#0FF80H
MOVX@DPTR,A
MOVR7,#0FFH
LOOP1:
DJNZR7,LOOP1
MOVXA,@DPTR
MOV79H,A
SJMPLOOP0
DISPLAY:
MOVA,79H
MOVB,#10
DIVAB
MOVDPTR,#TAB2
MOVCA,@A+DPTR
MOVP2,A
MOVA,B
MOVP1,A
MOVA,R3
RET
ORG0E30H
TAB2:
DB0C0H,0F9H,0A4H
DB0B0H,99H,92H
DB82H,0F8H,80H
DB90H
END
6调试及仿真
6.1电路接线图
图6-1电路接线图
6.2仿真及结果
图6-2仿真结果图
(一)
图6-3仿真结果图
(二)
7结论及心得体会
该课程是以单片机8051为核心,以热敏电阻为测温元件对温度进行有效的测量,通过ADC0809芯片将电压信号转化为数字信号,经过单片机处理后通过8155芯片扩展的I/O以动态方式显示,再加上相应的时钟电路、复位电路、分频电路,最后编写程序,温度采集系统的设计就完成了。
在设计之初因为对该课题不是很熟悉,所以只能每天找资料,在找了一些相关课题的资料后才着手此次课题的设计。
除了了解相关设计的硬件原理电路图外,还要了解具体的型号,熟悉相关软件的使用,如Protel、Word等,虽然在实际操作过程中遇到了很多困难,但经过不懈努力还是完成了本课程的设计。
附录
参考文献
[1]与海生.电力电子和电力拖动控制系统的MATLAB仿真.机械工业出版社,2006
[2]贾伯年.传感器技术[M].南京:
东南大学出版社,2007
[3]李顺增,吴国东,赵河明,乔志伟.微机原理及接口技术.机械工业出版社,2004
[4]顾德英.计算机控制技术(第二版).北京邮电大学出版社,2005
[5]朱群峰.基于DS18B20的多路温度采集系统[J].船电技术,2009,Vol.29No.2.
[6]wertet.DS1820单线数字温度计[Z].2009