TLC549温度采集系统Word文档下载推荐.docx
《TLC549温度采集系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《TLC549温度采集系统Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
2)程序流程图
3)具体程序
2.图纸部分:
具体电路原理图打印版
四、进程安排
教学内容学时地点
资料查阅与学习讨论2天现代电子技术实验室
分散设计5天现代电子技术实验室
编写报告2天现代电子技术实验室
成果验收1天现代电子技术实验室
五、主要参考资料
《电子设计自动化技术基础》马建国、孟宪元编清华大学出版2004年4月
《实用电子系统设计基础》姜威2008年1月
《单片机系统的PROTEUS设计与仿真》张靖武2007年4月
指导老师成绩
答辩小组成绩
总成绩
目录
摘要7
第一章硬件介绍9
1.1AT89C51单片机介绍9
1.2AD590介绍9
1.3TLC549介绍10
第二章设计思路及电路原理图11
2.1温度测量采集及加热电路模块12
2.2串行A/D(模数)转换模块13
2.3静态数码管显示模块13
2.4蜂鸣器报警模块14
第三章理论分析、流程图及程序清单15
3.1各模块接线及原理说明15
3.2最小分度、量程及报警温度的算法15
3.3程序流程图16
3.4程序清单17
第四章结果分析21
总结21
参考文献21
摘要
温度是工业生产和自动控制中最常见的工艺参数之一。
过去温度检测系统设计中,大多采用模拟技术进行设计,这样就不可避免地遇到诸如传感器外围电路复杂及抗干扰能力差等问题;
而其中任何一环节处理不当,就会造成整个系统性能的下降。
随着半导体技术的高速发展,特别是大规模集成电路设计技术的发展,数字化、微型化、集成化成为了传感器发展的主要方向。
以单片机为核心的控制系统.利用汇编语言程序设计实现整个系统的控制过程。
在软件方面,结合TLC549串行8位A/D转换器的工作时序,AT89C5l单片机与TLC549串行A/D转换器件的接口电路图,提出基于器件工作时序进行汇编程序设计的基本技巧。
本系统包括温度传感器,数据传输模块,温度显示模块和温度调节驱动电路,其中温度传感器为数字温度传感器AD590,包括了单总线数据输出电路部分。
文中对每个部分功能、实现过程作了详细介绍。
关键词:
单片机、汇编语言、TLC549、温度传感器AD590。
Abstract
Temperatureisthemostcommononeofprocessparametersinautomaticcontrolandindustrialproduction.Inthetraditionaltemperaturemeasurementsystemdesign,oftenusingsimulationtechnologytodesign,andthiswillinevitablyencountererrorcompensation,suchaslead,complexoutsidecircuit,pooranti-jammingandotherissues,andpartofadealwiththemImproperly,couldcausetheentiresystemofthedecline.Withmodernscienceandtechnologyofsemiconductordevelopment,especiallylarge-scaleintegratedcircuitdesigntechnologies,digital,miniaturization,integrationsensorsarebecominganimportantdirectionofdevelopment.
InthecontrolsystemswiththecoreofSCM,assemblylanguageprogrammingisusedtoachievethecontrolofthewholesystem.CombiningwiththeoperationsequenceofTLC549,theinterfacecircuitdiagramsofAT89C51SCMandTLC549serialA/Dconvegeralegiven.Thebasicskillsofassemblylanguageprogrammingbasedontheoperationse—queneeofthechipaleputforward.Thissystemincludetemperaturesensoranddatatransmission,themoduledisplaysmoduleandthermoregulationdrivencircuitfromthesensorsintofiguresofthetemperaturesensorsAD590,includingalistofthedataoutputcircuit.Thetextofeverypartofthefunctionsandprocedureatpresent.
Keywords:
single-chip;
assemblylanguage;
serialA/Dconversion;
TLC549;
TemperaturesensorAD590
第一章硬件介绍
1.1AT89C51单片机介绍
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,可提供以下标准功能:
4K字节闪存,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
图1AT89C51引脚图
1.2AD590介绍
AD590是AD公司利用PN结构正向电流与温度的关系制成的电流输出型两端温度传感器(热敏器件)。
图2AD590的封装及其基本应用电路图3AD590内部电路原理图
1.3TLC549介绍
TLC549是美国德州仪器公司生产的8位串行A/D转换器芯片,可与通用微处理器、控制器通过CLK、CS、DATAOUT三条口线进行串行接口。
具有4MHz片内系统时钟和软、硬件控制电路,转换时间最长17μs,TLC549为40000次/s。
总失调误差最大为±
0.5LSB,典型功耗值为6mW。
TLC549采用差分参考电压高阻输入,抗干扰,可按比例量程校准转换范围,由于其VREF-接地时,(VREF+)-(VREF-)≥1V,故可用于较小信号的采样,此外,该芯片还单电源3~6v的供电范围。
图4TLC封装引脚图
图5串行I/O接口
图6工作时序图
第二章设计思路及电路原理图
温度采集系统由温度采集模块、AD转换模块和温度值显示模块三大部分组成。
其中温度采集模块主要用AD590采集温度,并输出一个模拟电压信号,TLC549接收到模拟信号后,进行AD转换把模拟信号转换位数字信号,并串行输出(一个时钟下降沿输出一次),单片机接到数据后存入累加器A,经过一定的转化,经过74LS164输入到四段七位数码管中,并静态显示出来,当温度超过设定的报警温度,蜂鸣器报警装置自动报警。
图7系统组成框图
图8proteus制作的电路图
2.1温度测量采集及加热电路模块
T-DETECT接到TLC549模拟信号输入端AIN,T-CON接高电平时开始加热。
图9温度测量采集及加热电路原理图
图10参考电压电路
2.2串行A/D(模数)转换模块
图11串行模数转换电路
2.3静态数码管显示模块
图12静态数码管显示模块电路原理图
2.4蜂鸣器报警模块
图13蜂鸣器报警电路原理
第三章理论分析、流程图及程序清单
TLC549温度采集系统采用了AD590采集温度信号,TLC549转换温度模拟信号,AT89C51(伟福仿真器仿真)控制TLC549转换,静态数码管显示,设定报警。
3.1各模块接线及原理说明
3.1.1AD590采集温度信号模块
将T-DETECT接到TLC549的AIN端口,然后用T-CON控制电路加热与否。
不需要进行其他的控制。
3.1.2TLC549A/D(模数)转换模块
TLC549的三个I/O口分别为DATA、CLK和CS端口,其中CLK为时钟、CS为片选、DATA为数据输出。
3.1.3静态数码管显示模块
静态数码管显示电路由四只74LS164、四只共阴极LED数码管组成。
输入只有两个信号,它们是串行数据线DIN和移位信号CLK。
四只74LS164首尾相连,每只74LS164的并行输出作为LED数码管的段码。
因此,选取单片机的两个I/O口分别控制串行数据线DIN和移位信号CLK,使四位数码管静态显示。
3.1.4蜂鸣器报警模块
由AT89C51的I/O口直接输出信号到蜂鸣器的控制信号输入端口C,当输入信号为高点平时,蜂鸣器报警。
3.2最小分度、量程及报警温度的算法
3.2.1最小分度、量程的算法
TLC549C工作温度为0℃~70℃,温度与电压成正比。
当设定量程与70℃接近时测量所得温度与实际温度才能相符。
TLC549C的A/D输出为00H到FFH,可进行256等分:
FFH=255D255/4=63.75
以此算法设定最小分度为0.25℃,量程为0℃~63.75℃,比较符合要求。
3.2.2报警温度的算法
设定最小温度分度为0.25℃,量程为0℃~63.75℃,所以,0℃时A/D输出的数字量为00H,63.75℃时A/D输出的数字量为FFH。
报警温度以0℃为基准:
报警时A/D输出的数字量=报警温度*4/16
将所得的数字量转化成二进制表示形式,输入程序相应位置即可完成设定。
3.3程序流程图
3.4程序清单
CLKBITP3.4
DOBITP3.5
CSBITP3.2
DINBITP2.0
PXBITP2.1
BJBITP2.2
GWEQU41H
SWEQU40H
ORG0000H
JMPMAIN
ORG0030H
MAIN:
MOVSP,#60H;
调整指针首地址
CLRBJ
AD:
SETBCLK;
置位CLK
SETBCS;
置位CS
MOVR0,#00H
CLRCLK
CLRCS;
启动转换
LCALLREAD;
调用读数
停止转换
CLRC;
清零CY
MOVR1,A
MOVB,#4;
设计最小精度0.25度
DIVAB
MOVR0,B
PY0:
CJNER0,#0,PY1;
判断余数B,PY0判断余数是否为0
LCALLL0
JMPAD
PY1:
CJNER0,#1,PY2;
判断余数B,PY1判断余数是否为1
LCALLL1
PY2:
CJNER0,#2,PY3;
判断余数B,PY2判断余数是否为2
LCALLL2
PY3:
LCALLL3
READ:
MOVC,DO;
读取数据
RLCA
MOVR6,#07H
RE:
一个下降沿读入一次数据
NOP
CLRCLK
MOVC,DO
RLCA
DJNZR6,RE;
循环8次
SETBCLK
RET
L0:
LCALLDIV1;
显示XX.00
MOVA,#0
LCALLXSSJ;
XSSJ显示数据
LCALLXSSJ
MOVA,GW;
个位数
LCALLL4
MOVA,SW;
十位数
LCALLD10MS
LCALLFMQ;
调用蜂鸣器报警子程序
L1:
显示XX.25
MOVA,#5
MOVA,#2
MOVA,GW
MOVA,SW
LCALLFMQ
L2:
显示XX.50
LCALLFMQ
L3:
显示XX.75
MOVA,#7
LCALLFMQ
DIV1:
MOVB,#10;
把二进制转化成十进制
MOVSW,A;
MOVGW,B;
D_1S:
MOVR6,#100;
以下为延时子程序
D10MS:
MOVR5,#40H
DL:
MOVR4,#123
DJNZR4,$
DJNZR5,DL
DJNZR6,D10MS
L4:
MOVR3,#10;
带小数点显示
L5:
INCA
DJNZR3,L5
FMQ:
MOVA,R1;
蜂鸣器报警子程序
CJNEA,#10001100B,LP1;
报警温度设定
LP1:
JCLP2
SETBBJ
LCALLD_1S
LP2:
CLRBJ
RET
XSSJ:
MOVDPTR,#TAB;
查表,显示数据
MOVCA,@A+DPTR
L8:
JBACC.7,L6;
CLRDIN
JMPL7
L6:
SETBDIN
L7:
CLRPX;
片选
SETBPX
RLA
DJNZR7,L8
MOVR7,#8
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
DB0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH
END
第四章结果分析
该系统的主要功能是用AD590采集一个温度信号,输出一个模拟电压信号,经过一系列转换后,将该温度显示出来,采集的温度范围为0℃~63.75℃,显示的最大值为63.75℃,精度为0.25℃/LSB,误差在5%左右,并能实现报警。
总结
本次课程设计是用AD590、AT89C51、TLC549和四段七位静态数码管设计一个简易温度采集系统,经过两个星期的努力,成果满足设计要求,验证无误。
设计中要用到了多种芯片,程序也比较长比较麻烦,过程中遇到不少麻烦,尤其是关于TLC549转换模块的设计实现。
关于显示模块,在以前的实验中做过,所以题目很轻易解决。
将编写好的源程序输入电脑,编译后出现很多错误,这些错误有很多是在平时的实验过程中碰到过的,幸好这些错误在平时的实验中碰到了,所以改错误很轻易。
还有几条错误时我从来没有碰到过的,如:
JMP跳转指令跳不回指定的地位,是由于跳转的长度大于JMP跳转的长度,最后只好用LJMP。
在前期的程序编写和几天的上机调试,使我又获得了很多新的知识,由于前期编写程序时查了很多材料学到了很多知识,这几天的调试更时获得很新的知识,由于程序中又很多的错误,为了修正错误必须看书或向别人请教,这个过程中无意识的获得了很多知识。
这同时也使我对单片机更感兴趣了,相信在以后的单片机有关的学习中会有更好地表现。
通过这两周的课程设计,我对一些专业知识和电子设计有了更深的了解,同时也尝试着去应用自己的所掌握的知识。
这次课程设计不仅给我们提供了一个很好的展现应用自己所掌握的知识的平台,又是检验自己所学知识的一次考核。
单片机是我们本学期学的一门很重要的课程,有强大的功能。
这次设计主要是以单片机为主的,一个是KeilC,另一个便是对单片机的一个应用温度采集系统。
这次设计过程中我们遇到了很多的问题,尤其是在调试过程中,会因为某些原因出不来结果,或两人之间出现了意见分歧,但在最后都达成了一致。
最后调试结果出来的时候,我们更是无比的兴奋。
总之,通过这次课程设计,对自己的知识有了更好的掌握。
感谢老师在课程设计中给予我们巨大帮助和耐心的指导。
参考文献
《电子设计自动化技术基础》马建国、孟宪元编清华大学出版2004年4月
网络查找所得资料