基于单片机的数字温度计设计_第1页
基于单片机的数字温度计设计_第2页
基于单片机的数字温度计设计_第3页
基于单片机的数字温度计设计_第4页
基于单片机的数字温度计设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE3攀枝花学院综合实验(论文)PAGE3攀枝花学院专业基础综合实验报告基于单片机的数字温度计设计

摘要在日常生活及工农业生产中经常要检测温度,传统的方式是采用热电偶或热电阻。其硬件电路和软件调试比较复杂,制作成本较高。近年来随着科技的飞速发展,单片机的应用正不断走向深入。所以我们选用单片机作为核心部件进行逻辑控制及信号的产生,用单片机本生的优势节约成本,使电路更简单。温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发。在这里介绍了一种基于AT89C52单片机的温度测量及控制系统的硬件结构以及C语言程序设计,该系统设计和布线简单,结构紧凑,体积小,重量轻,抗干扰能力强,性价比高,扩展方便,在大型仓库,工厂,智能化建筑等领域的多点温度检测中有广阔的应用前景。关键词DS18B20AT89C52温度测量控制 目录摘要 I1开题报告 11.1本课题的研究意义,国内外研究现状、水平和发展趋势 ……11.2本课题的基本内容,预计可能遇到的困难,提出解决问题的方法和措施………………21.3本课题拟采用的研究手段(途径)和可行性分析 21.4工作进度安排 32方案设计 42.1总体初步方案 42.2模块方案分析 43整机电路 104软件设计 115仿真与调试 145.1仿真与调试……………………145.2调试与运行……………………146成品制作 156.1电路板设计 15由于在布线过程中需用单层布线,在我的原理图中元件多,所以我将原理图划分为了两块,一块以第一个板块主要以单片机AT89C52和传感器为主,由于未找到传感器,用三极管替之,另一块主要以锁存器和LED显示器为主。两块原理图及封装见附录2。 156.2电路板制作 156.2.1PCB制作流程 15表6.2.1 156.2.2制作工艺注意事项 15钻孔时,不宜将眼睛距离钻机太近,以防碎屑溅入眼内。腐蚀用筷子夹起板子时动作要缓慢,以防硫酸溅到身上。在烤箱烘烤2分钟左右即可,取出时应用夹子等工具夹出,以防烫伤手。焊接时,要正确使用焊笔和焊锡,以防烫伤。在焊接时,还应注意不能让锡将两铜导线短路。 156.3器件检测 156.3.1PCB板检测 156.3.2所用元器件的检测 167结论 17参考文献 18附录一…………………19附录二…………………20附录三…………………22攀枝花学院综合实验(论文)1开题报告目录1开题报告1.1本课题的研究意义,国内外研究现状、水平和发展趋势温度的测量对人类日常生活、工业生产、气象预报、物资仓储等都起着极其重要的作用,因此研究温度的测量方法和装置具有重要的意义。近年来,温度检测领域发展迅速,并且随着数字技术的发展,温度的测控芯片也相应的登上历史的舞台,能够在工业、农业等各个领域中广泛使用。温度的测量的关键之处是温度传感器,其往往决定着一个温度检测系统的性能。传统的温度检测以热敏电阻和AD590为温度敏感元件。热敏电阻虽成本低,但需信号处理电路,电路复杂,可靠性较低,测温准确度及抗干扰能力也有一定的不足。近年来,传感器正处于传统型向新型传感器转型的发展阶段。新型的温度传感器的特点是微型化、数字化、智能化、多功能化、系统化、网络化,它提高了抗干扰能力和可靠性,而且使系统结构更简洁,维护方便,缩小了空间。单片机具有集成度高、功能强、体积小、价格低、抗干扰能力等优于一般CPU的优点,因此往往采用单片机作为数字控制器取代模拟控制器。温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比,仍然有着较大的差距。成熟的温控产品主要以“点位”控制及常规的PID控制器为主,它们只能适应一般温度系统控制,而用于较高控制场合的智能化、自适应控制仪表,国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。随着我国经济的发展及加入WTO,我国政府及企业对此都非常重视,对相关企业资源进行了重组,相继建立了一些国家、企业的研发中心,开展创新性研究,使我国仪表工业得到了迅速的发展。目前国际通用的温标是1975年第15届国际权度大会通过的《1968年国际实用温标-1975年修订版,记为:IPTS-68(Rev-75)。但由于IPTS-68温标存在一定的不足,国际计量委员会在18届国际计量大会第七号决议授权予1989年会议通过了1990年国际温标ITS-90,ITS-90温标替代了IPTS-68。1.2温度检测的发展背景在众多温度仪表中温度传感器是开发最早,也是现在应用最广的一类温度仪表。现在温度仪市场中温度传感器的份额已大大超过了其他的传感器。从17世纪初人们开始利用温度进行测量。温度检测在各个领域都具有广泛的应用,随着传感器技术、微电子技术、单片机技术的不断发展,为智能温度测控系统测控功能的完善、测控精度的提高和抗干扰能力的增强等提供了条件。再则人们在温度检测的准确度、便捷、快速等方面有着越来越高的要求。而传统的温度传感器已经不能满足人们的需求,所以新型的温度传感器将逐渐代替传统的温度传感器。温度检测系统的发展趋势随着工业生产效率的不断提高,自动化水平与范围也不断扩大,因而对温度检测技术的要求也愈来愈高,现在工业上通用的温度检测范围为200-3000C,而今后要求能测量超高温与超低温。尤其是液化气体的极低温度检测更为迫切,如1OK以下的温度检测是当前重点研究课题。温度检测技术将会由点测温发展到线、面,甚至立体的测量。应用范围己经从土业领域延伸到环境保护、家用电器、汽车工业及航天工业领域。利用以前的检测技术生产出适应于不同场合、不同工况要求的新型产品,以满足用户需要。同时利用新的检测技术制造出新的产品。对许多场合中的温度检测器有特殊要求,如防硫、防爆、耐磨等性能要求;又如移动物体和高速旋转物体的测温、钢水的连续测温、火焰温度检测等。温度仪表向数字化方向发展。其最大优点是直观、无读数误差、分辨率高、测量误差小,因而有广阔的销售市场。所以说数字温度计的发展前景是相当可观的。1.2本课题的基本内容,预计可能遇到的困难,提出解决问题的方法和措施数字温度计采用温度敏感元件也就是温度传感器(如铂电阻,热电偶,半导体,热敏电阻等),将温度的变化转换成电信号的变化,如电压和电流的变化,温度变化和电信号的变化有一定的关系,如线性关系,一定的曲线关系等,将电信号转换成数字信号。如单片机或者PC机等,处理单元经过内部的软件计算将这个数字信号和温度联系起来,成为可以显示出来的温度数值,如25.0摄氏度,然后通过显示单元,如LED,LCD或者电脑屏幕等显示出来给人观察。这样就完成了数字温度计的基本测温功能。该系统利用AT89C52芯片控制温度传感器DS18B20进行时温度检测并显示,能够实现快速检测环境温度。可能遇到的问题及注意事项:(1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。(2)在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。(3)连接DS18B20的总线电缆是有长度限制的。(4)在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某一个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。1.3本课题拟采用的研究手段(途径)和可行性分析采用数字温度芯片DS18B20测量温度,输出信号全数字化。测温系统的结构就比较简单,体积也不大。采用51单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC机通信上传数据,另外AT89C52在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。因此可行性还是很高。1.4工作进度安排序号日期进度安排1第八周开题报告2第九周硬件,元件清单3第十周软件(keil,proteus)4第十一周DXP原理图,PCB板5第十二周实物作品,论文备注:根据实际情况调整时间表1攀枝花学院本科毕业设计(论文)5XXXX38攀枝花学院本科毕业设计(论文)6结论PAGE17攀枝花学院综合实验(论文)2方案设计2.1总体初步方案采用数字温度芯片DS18B20测量温度,输出信号全数字化。便于单片机处理和控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性质稳定,它温用作工业测温元件,此元件线性较好。在0-100摄氏度时,最大线性偏差小于1摄氏度。DS18B20的最大特点之一是采用了单总数的数据传输,由数字温度计DS18B20和微控制器AT89C52构成温度测量装置,它直接输出温度的数字信号,可直接和计算机连接。这样温度系统的结构就比较简单,体积也不大。采用51单片机控制软件编程的自由度大,而且体积小,硬件实现简单,安装方便。该系统利用AT89C52芯片控制温度传感器DS18B20进行温度的实时检测并显示,能够实现快速测量环境温度。硬件以微控制器为核心,外接时钟电路、复位电路、温度测量电路、LED显示电路组成。硬件设计方案如图1所示。LED显示电路时钟电路LED显示电路时钟电路微控制器模块微控制器模块复位电路复位电路温度传感器温度传感器图2.1系统硬件框图2.2模块方案分析模块一微处理器模块单片机AT89C2051具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。AT89C52是一个低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C52提供了高性价比的解决方案。AT89C52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。图2.2AT89C52单片机的管脚图兼容MCS-51指令系统4k可反复擦写(>1000次)FlashROM32个双向I/O口可编程UARL通道两个16位可编程定时/计数器全静态操作0-24MHz1个串行中断128x8bit内部RAM两个外部中断源共6个中断源可直接驱动LED3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能表2-1AT89C52单片机的管脚功能VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时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口也可作为AT89C51的一些特殊功能口,如下所示:P3口管脚备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(计时器0外部输入)P3.5T1(计时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。模块二复位电路为确保两点间温度控制系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般电路正常工作需要供电电源为5V±5%,即4.75~5.25V。复位是单片机的初始化操作,其目的是使CPU及各专用寄存器处于一个确定的初始状态。如:把PC的内容初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当单片机系统在运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要复位以使其恢复正常工作状态。RST端的外部复位电路有两种操作方式:上电自动复位和按键手动复位。按键手动复位有电平方式和脉冲方式两种,本系统设计采用上电复位,如图2.3所示。上电复位是直接将RST端通过电阻接高电平来实现单片机的复位。图2.3复位电路模块三时钟电路单片机的时钟信号用来提供单片机内各种微操作的时间基准,时钟电路用于产生单片机工作所需要的时钟信号。单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。本系统设计采用内部振荡方式,如图2.2.3图图2.4时钟电路模块四温度传感器温度传感器DS18B20将被测环境温度转化成带符号的数字信号(以十六位补码形式,占两个字节)在通过单片机发出命令送给显示器。它的输出脚I/O直接与单片机相连,并接一个上拉电阻,传感器采用外部电源供电。传感器控制程序是按照DS18B20的通信协议编制。系统的工作是在程序控制下,完成对传感器的读写和对温度的显示。DS18B20特点采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位);(2)测温范围为-55℃~+125℃,测量分辨率为0.0625℃;(3)内含64位经过激光修正的只读存储器ROM;(4)适配各种单片机或系统机;(5)用户可分别设定各路温度的上、下限;(6)内含寄生电源。其管脚图如图2.2.4图2.5模块五LED显示电路通过排阻与LED显示器相连组成,电路图如图2.2.5图2.63整机电路当接通电源以后,温度传感器正常工作,温度传感器将根据被测温度的不同来采集不同的数据,然后将所采集到的数据传送到比较器到中,然后由比较器将采集到的数据转变成高低电平,在送入单片机,单片机通过控制各个引脚电平的高低来来控制温度的显示输出。整机电路图如图3.1图3.14软件设计整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型的时候软件也基本定下拉了,从软件的功能不同,可以分为两的类:一是主程序,它是整个软件的核心,专门用来协调各个执行模块和操作者的联系。二是子程序,它是用来完成各种实质性的工作的,如测量、计算、显示、通讯等。每一个执行软件就是一个小的执行模块,这里将每一个模块一一列出来,并为每个执行模块进行功能定义和接口定义。各执行模块规划好以后,就可以规划监控软件了。首先要根据系统的总体功能选择一种最合适的主程序结构,然后根据实时性的条件,合理安排监控软件和执行软件之间的调度关系。程序:#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitDQ=P3^3;sbitA=P2^4;sbitE=P2^5;sbitC=P2^6;sbitD=P2^7;uintn;uchartimer1;ucharledout[5];ucharcodenum[]={0xc0,0xcf,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};ucharcodewexu[]={0x01,0x02,0x04,0x08};voidinit_ds18b20(void);voiddelay(uintt);voidwrite_byte(uintdat);ucharread_byte(void);uintreadtemperature(void);voiddisplay(void);voiddelay_50us(uintt){uintx;for(;t>0;t--)for(x=19;x>0;x--);}voidmain(){ while(1){n=readtemperature();display();}}voidinit_ds18b20(void){uintn;DQ=1;delay(8);DQ=0;delay(80);DQ=1;delay(8);n=DQ;delay(4);}voiddelay(uintt){while(t--);}voidwrite_byte(uintdat){uinti;for(i=0;i<8;i++){DQ=0;DQ=dat&0x01;delay(4);DQ=1;dat>>=1;}delay(4);}ucharread_byte(void){uinti,value;for(i=0;i<8;i++){DQ=0;value>>=1;DQ=1;if(DQ)value|=0x80;delay(4);}returnvalue;}uintreadtemperature(){uinta=0,b=0;init_ds18b20();write_byte(0xcc);write_byte(0x44);delay(300);init_ds18b20();write_byte(0xcc);write_byte(0xbe);a=read_byte();b=read_byte();b<<=4;b+=(a&0xf0)>>4;returnb;}voiddisplay(void){uchari;ledout[0]=num[n/1000];ledout[1]=num[n%1000/100];ledout[2]=num[n%100/10];ledout[3]=num[n%10];for(i=0;i<4;i++){switch(i){ case0:A=1;E=0;C=0;D=0;break; case1:A=0;E=1;C=0;D=0;break; case2:A=0;E=0;C=1;D=0;break; case3:A=0;E=0;C=0;D=1;break;}P1=ledout[i];delay_50us(70);}5仿真与调试5.1仿真与调试此设计的电路在Proteus软件中进行仿真,运行Proteus的ISIS程序后,进入该仿真软件的主界面。主界面由菜单栏、工具栏、预览窗口、元件选择按钮、元件列表窗口、原理图绘制窗口和仿真进程控制按钮组成(如图7-2所示)。通过元件选择按钮P(从库中选择元件命令)命令,在弹出的PickDevices窗口中选择电路所需的元件,放置元件并调整其相对位置,对元件参数设置及元器件间连线,完成单片机系统的硬件原理图绘制。5.2调试与运行(1)首先启动KEILC51软件的集成开发环境,从桌面上双击uVision图标以启动软件。(2)建立工程文件。通常单片机应用系统软件包含多个源程序文件,KEILC51使用工程这一概念,将这些参数设置和所需的所有文件都加在一个工程中。因此,需要建立一个工程文件,并为这个工程选择CPU,确定编译,汇编,连接的参数,指定调试的方式。(3)建立并添加源文件。使用菜单或者单击工具栏的新建文件按钮,出现文本便捷窗口,在该窗口中输入新编制的源程序并保存该文件。然后,我打开已经画好的仿真图,再将生成的HEX文件导入单片机里,点击开始按钮,电路正常工作,并且能够实现预先设想的所有功能,而且效果很好,从而验证了我的程序的正确性。仿真成果图见附录1。6成品制作6.1电路板设计由于在布线过程中需用单层布线,在我的原理图中元件多,所以我将原理图划分为了两块,一块以第一个板块主要以单片机AT89C52和传感器为主,由于未找到传感器,用三极管替之,另一块主要以锁存器和LED显示器为主。两块原理图及封装见附录2。6.2电路板制作6.2.1PPCB板制作流程如表6.2.1所示:钻孔钻孔印PCB板图印PCB板图腐蚀20-30分钟腐蚀20-30

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论