您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 温度采集系统单片机课程设计
单片机课程设计报告————温度采集系统的设计1温度采集系统课程设计报告学院:电信学院班级:自09-2学生姓名:学号:指导老师:时间:2012年1月4日到2012年1月13日单片机课程设计报告————温度采集系统的设计2目录第一章系统方案..............................................................................................31.1设计内容................................................................................................31.2设计要求................................................................................................31.3设备及工作环境......................................................................................3第二章理论分析与计算.................................................................................42.1设计思路.................................................................................................42.2硬件结构及原理电路图..........................................................................42.3重要硬件元件功效阐明..........................................................................5第三章程序设计..............................................................................................63.1实验源程序.............................................................................................63.2程序清单.................................................................................................7第四章结果分析............................................................................................10第五章总结....................................................................................................10参考文献....................................................................................................11单片机课程设计报告————温度采集系统的设计3第一章系统方案1.1设计内容利用温度传感器AD590采集温度信号,并调理放大采集到的电压信号,用TLC549进行电压转换,实现温度采集,并将采集温度显示出来。1.2设计要求(1)在综合单片机实验台的硬件结构上编写软件完成设计。(2)程序的首地址应使目标机可以直接运行,即从0000H开端。(3)LCD显示屏显示,(最高温度为63.75度)。(4)上机调试程序。(5)答辩。(6)写课程设计报告。1.3设备及工作环境(1)硬件:计算机一台、单片机综合实验台,数据线若干。(2)软件:Windows操纵系统、KeilC51软件。单片机课程设计报告————温度采集系统的设计4第二章理论分析与计算2.1设计思路温度采集系统由温度采集模块、AD转换模块和温度值显示模块三大部分组成。其中温度采集模块主要用AD590采集温度,并输出一个模拟电压信号,TLC549接收到模拟信号后,进行AD转换把模拟信号转换位数字信号,并串行输出(一个时钟下降沿输出一次),单片机接到数据后存入累加器A,经过一定的转化,经过OCMJ4X8C_3型液晶显示屏显示出来。2.2硬件结构及原理电路图TLC549:串行A/D转换图1TLC549简易引脚图温度采集及测量模块(实验台)T-DETECT接到TLC549模拟信号输入端,T-CON接高电平时开始加热。图2温度采集及测量模块电路图Vref+1AIN2Vref-3GND4CS5DATA6I/OCLK7VCC8U6DTLC549VCCVCCC14D0.1uFVCCP11DAINP12DCLKR27D100R28D100R29D100P13DDATAP14DCS_549VrefVrefVrefVCC+12V-12V+12V-12V23647U7AOP07-2.74V213Q5AAD590T-DETECTR27A2KRW11A25K123RW9A500123RW10A50045678123S4ALED6ASurveyR28A1KR29A2KP7ATinR30A10K23647U8AOP07R33A2KR31A1KR32A20K12Z25.6VP8AT-DETECTR60A1KR61A1K单片机课程设计报告————温度采集系统的设计5显示模块OCMJ4X8C_3型液晶显示屏图3液晶显示电路2.3重要硬件元件功效阐明TLC549:TLC549是一种采用8位逐次逼近式工作的A/D转换器。内部包含系统时钟、采样和保持、8位A/D转换器、数据寄存器以及控制逻辑电路。TLC549每25uS重复一次“输入——转换——输出”。器件有两个控制输入:I/OCLOCK和片选(CS)。内部系统时钟和I/OCLOCK可独立使用。应用电路的设计只需利用I/O时钟启动转换或读出转换结果。当CS为高电平时,DATAOUT处于高阻态且I/O时钟被禁止。当CS变为低电平时,前次转换结果的最高有效位(MSB)开始出现在DATAOUT端。在接下来的7个I/OCLOCK周期的下降沿输出前次转换结果的后7位,至此8位数据已经输出。然后再将第8个时钟周期加至I/OCLOCK,此时钟周期的下跳沿变使芯片进行下一轮的AD转换。在第8个I/OCLOCK周期之后,CS必须变为高电平,并且保持高电平直至转换结束为止(17uS),否则CS的有效高电平至低电平的转换将引起复位。本课程设计用到的TLC549是8位的,其参考电压为5V,即数字信号的最大值为255。计算方法为输入的模拟电压信号除以参考电压5,然后再乘以256,得到输出数字信号的值。AT89C51:AT89C51是8位CPU,具有片内振荡器和时钟电路,2个16位的定时器/计数器,5个中断源,两个中断优先级,32个I/O口,其中P1、P2、P3口有上拉电阻。AD590AD590是AD公司生产的一种精度和线性度较好的双端集成温度传感器,其输出电流与绝对温度有关,对于电源电压从5-10V变化只引起1A最大电流的变化或1摄氏度等效误差。单片机课程设计报告————温度采集系统的设计6OCMJ4X8C_3型液晶显示屏此模块可以显示字母、数字符号、中文字型及图形,具有绘图及文字画面混合显示功能。提供三种控制接口,分别是8位微处理器接口,4位微处理器接口及串行接口(OCMJ4X16A/B无串行接口)。第三章程序设计3.1实验源程序:单片机课程设计报告————温度采集系统的设计73.2程序清单:LCD_RSEQUP3.2LCD_RWEQUP3.3LCD_ENEQUP3.4LCD_DATAEQUP1DATBITP3.5CLKBITP3.0CSBITP3.1LCDDBufEQU40H;显示数据缓冲SetTempEQU50H;设定温度缓冲CurTempEQU51H;测得温度缓冲ORG0LJMPSTARTORG0030HSTART:LCALLSET_LCDSTART1:LCALLTLC549_ADCLCALLCONVMOVA,#80HLCALLWCOM;写入命令mova,LCDDBUF+1ORLA,#30HLCALLWDATAMOVA,#81HLCALLWCOM;写入命令mova,LCDDBUFORLA,#30HLCALLWDATALJMPSTART1CONV:MOVB,#67;ADHEX*67/256MULABMOVA,BMOVCurTemp,A单片机课程设计报告————温度采集系统的设计8movb,#10;拆开显示divabmovLCDDBUF+1,Amova,bmovLCDDBUF,ARETMOVA,#0CFH;设置LCD的第一行地址LCALLWCOM;写入命令mova,#41hLCALLWDATAsjmp$WCOM:;以8位控制方式将命令写至LCDMOVLCD_DATA,A;写入命令CLRLCD_RS;RS=L,RW=L,D0-D7=指令码,E=高脉冲CLRLCD_RWSETBLCD_ENLCALLDECLRLCD_ENRET;=============================================WDATA:;以8位控制方式将数据写至LCDMOVLCD_DATA,A;写入数据SETBLCD_RSCLRLCD_RWSETBLCD_ENLCALLDECLRLCD_ENLCALLDERETSET_LCD:;8位I/O控制LCD接口初始化单片机课程设计报告————温度采集系统的设计9MOVA,#38H;双列显示,字形5*7点阵LCALLWCOMLcalldelay1MOVA,#38HLCALLWCOMLcalldelay1MOVA,#38HLCALLWCOMLcalldelay1MOVA,#0CH;开显示,显示光标,光标不闪烁LCALLWCOMLcalldelay1MOVA,#01H;清除LCD显示屏LCALLWCOMLcalldelay1RETDELAY1:;延时5MSMOVR6,#25DL2:MOVR7,#100DJNZR7,$DJNZR6,DL2RETDE:MOVR7,#250DJNZR7,$RETTLC549_ADC:CLRACLRCLKCLRCSMOVR6,#8ADLOOP:SETBCLKNOPNOPMOVC,DAT单片机课程设计报告————温度采集系统的设计10RLCACLRCLKNOPDJNZR6,ADLOOPSETBCSSETBCLKRETEND第四章结果分析该系统的主要功能是用AD590采集一个温度信号,输出一个模拟电压信号,经过一系列转换后,将该温度显示出来,采集的温度范围为0到67度,显示的最大值为63.75度,精度为0.25度每LSB,误差在5%左右;第五章总结本次课程设计是用AD590、AT89C51、TLC549和OCMJ4X8C_3型液晶显示屏设计一个简易温度采集系统,经过两个星期的努力,成果满足设计要求,验证无误。设计中要用到了多种芯片,程序也比较长比较麻烦,过程中遇到不少麻烦,尤其是关于TLC549转换模块的设计实现。关于显示模块,在以前的实验中做过,所以题目很轻易解决。将编写好的源程序输入电脑,编译后出现很多错误,这些错误有很多是在平时的实验过程中碰到过的,例如:输入的分号格式不正确,零和字母O弄混杂了,LOP5呈现了几次,CJNE写成了CJNZ等等,幸好这些错误在平时的实验中碰到了,所以改错误很轻易;但同时,错误也在不断地改变,证实错误我还没有真正地改正,这点我以后
本文标题:温度采集系统单片机课程设计
链接地址:https://www.777doc.com/doc-5824890 .html