版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 工 程 训 制 作 设 计 报 告 题目: 测温系统 班级: 指导老师: 设计者: 目录1 绪言 1.1 课题背景.4 1.2 课题的主要任务和内容.42 温度测量系统的总体设计方案.5 2.1 温度测量系统的硬件设计方案.5 2.2 温度测量系统的软件设计方案.53 温度测量系统的硬件电路设计 3.1 概述.7 3.2 传感器简介 3.2.1 DS18B20引脚功能介绍.8 3.2.2 DS18B20的测量原理.8 3.3 单片机的原理及应用 3.3.1 AT89S51单片机原理简介9 3.4 单片机外围电路的设计 3.4.1 晶振电路和复位电路的设计.12 3.4.2 LCD电路的设计.
2、144 温度测量系统的软件程序设计4.1 概述154.2 温度测量系统的总体程序设计.164.3 DS18B20子程序的设计174.4 LCD显示子程序的设计185 系统调试与分析5.1 调试故障及原因分析.186 结论与展望6.1 结论.186.2 展望.19参考文献.19附录20软件代码.23第一章 绪言1.1课题背景 温度控制广泛应用于人们的生活和生产中,人们使用温度计来采集温度,通过人工操作加热、通风和降温设备,这样不仅控制精度低、实时性差,而且操作人员的劳动强度大。即使有些用户采用半导体二极管作温度传感器,但由于其互换性差,效果也不理想。在某些行业中对温度要求较高,由于工作环境温度不
3、合理而引发的事故时有发生。对工业生产可靠进行产生影响,甚至操作人员的安全。为了避免这些缺点,需要在某些特定的环境里安装数字温度测量及控制设备。本设计由于采用了新型单片机对温度进行控制,以其测量精度高,操作方便,可运行性强,价格低廉等优点,特别适用于生活、医疗、工业生产等方面的温度测量及控制。1.2课题的主要任务及内容 本设计是一个数字温度控制系统,能测量温度,并能实时显示出温度,还能通过串口将温度值显示到pc机上。主要任务是能对温度进行自动的监测和控制。设计中采用单片机来控制温度,因此要有温度的采集电路,温控电路,显示电路等几个部分。要实现系统的设计要用到的知识点有单片机的原理及其应用,温度传
4、感器的原理和应用,及显示电路的设计等。第二章 温度测量系统的整体设计方案2.1温度测量系统的硬件设计方案采用温度传感器DS18B20。DS18B20可以满足从-55摄氏度到+125摄氏度测量范围,可编程为0.0625。且DS18B20测量精度高,增值量为0.5摄氏度,在一秒内把温度转化成数字,测得的温度值的存储在两个八位的RAM中,单片机直接从中读出数据转换成十进制就是温度,使用方便。采用寄生电源工作方式用CPU口线少,可节省大量引线和逻辑电路。采用LCD显示。LCD液晶显示具有丰富多样性、灵活性、电路简单、易于控制而且功耗小等优点。 当DS18B20接收到温度转换命令后,开始启动转换。转换完
5、成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0.062 5 /LSB形式表示。2.1温度测量系统的软件设计方案主程序是系统的监控程序,在程序运行的过程中必须先经过初始化,包括中断程序以及各个控制端口的初始化工作。流程图如图所示。系统在初始化完成后就进入温度测量程序,实施的测量当前的温度并通过显示电路在LCD上显示。程序中以中断的方式来重新设定温度上下限。根据硬件设计完成对温度的控制。系统软件流程图开始系统初始化温度测量显示系统第三章 温度测量系统的硬件电路设计3.1 概述 该温度测量系统
6、主要由DS18B20、AT89S51、LCD1602等部分构成,根据系统的设计要求,当温度传感器DS18B20把所测得的温度发送到AT89S51单片机上,经AT89S51处理,将把温度在显示电路上显示,除了显示温度以外还可以设置一个晶振电路,对所测温度进行监控。利用外接的键盘设置电路,对温度进行上下限设置。当温度高于或低于设定温度时,就启动相应程序。 选择DS18B20作为本系统的温度传感器,选择单片机AT89S51为测控系统的核心来完成数据采集、处理、显示、报警等功能。选用数字温度传感器DS18B20,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路,省却了采样/保持
7、电路、运放、数模转换电路以及进行长距离传输时的串并转换电路,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。 当LCD液晶显示器接收到来自AT89S51单片机传送来的温度信息后,分别显示了当前的温度,温度上限,温度下限和温度计运行时间。 设计性能要求: (1)利用温度传感器(DS18B20)测量某一点环境温度。 (2)测量范围为-55110,精度为0.5。 (3)用LCD1602液晶进行实际温度值显示。 3.2 传感器简介3.2.1 DS18B20引脚功能的介绍 DS18B20管脚图 在硬件上,DS18B20与单片机的连接有两种方法,一种是VCC接外部电源,GND接地,I/O与单片机的
8、I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。内部寄生电源I/O口线要接5K左右的上拉电阻。P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。传感器数据采集电路主要指DS18B20温度传感器与单片机的接口电路。DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式考虑到实际应用中寄生电源供电方式适
9、应能力差且易损坏,此处采用电源供电方式,I/O口接单片机的P2.0口。3.2.2 DS18B20的测量原理当DSI8B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的0,1字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0062 5LSB形式表示。 DS18B20 的测温原理如图 3所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B
10、20 就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55所对应的基数分别置入减法计数器1、温度寄存器中,减法计数器1和温度寄存器被预置在-55所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1 的预置值减到0 时,温度寄存器的值将加1,减法计数器1 的预置将重新被装入,减计数器1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2 计数到0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图中的斜率累加器用于补偿和修正测温过程中的非线性,其
11、输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM 功能命令发存储器操作命令处理数据。各种操作的时序图与DS1820 相同。3.3 单片机的原理及应用 3.3.1 AT89S51单片机原理简介AT89S51作为温度测试系统设计的核心器件。该器件采用了可靠的CMOS工艺制造技术。具有高性能的8位单片机,属于标准的MCS一51的CMOS产品。片内含8K bytes
12、的可贩毒擦写的只读程序存储器(PEROM)和256 bytes的随机存取数据存储器(RAM),器件兼容标准的MCS-51指令系统。片内置通用8位中央处理器(CPU)和Flash存储单元。结合了HMOS的高速和高密度技术及CHMOS的低功耗特征。AT89S51单片机提供以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S51 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中
13、断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 由于此设计需要编写程序,需要将程序烤入单片机中,因此单片机必须具有足够多的存储空间,其具有8K字节的Flash完全满足要求。32位的I/O 口线能够使得单片机与温度显示器、温度传感器、键盘、报警电路、按键电路和指示灯连接等等变得可能。16位的定时计数器使得读取数据变得更加简单,同时其结构有利于晶振电路和复位电路的连接。最重要的是,能够在掉电状态下保存RAM内的数据。 AT89S51单片机有两种可用软件编程的省电模式,它们是空闲模式和掉电工作模式。这两种方式是控制专用寄存器PCON(即
14、电源控制寄存器)中的PD(PCON1)和IDL(PCON0)位来实现的。PD是掉电模式,当PD=1时,激活掉电工作模式,单片机进入掉电工作状态。IDL是空闲等待方式,当IDL=1,激活空闲工作模式,点偏激进入睡眠状态。如需同时进入两种工作模式,即PD和IDL同时为1,则先激活掉电模式。 在空闲工作状态下,CPU保持睡眠状态而所有的片内的外设都保持激活状态,这种方式由软件产生,此时,片内RAM和所有特殊功能寄存器的内容保持不变。空闲模式可由任何允许的中断请求或硬件复位终止。 终止空闲工作模式的方法有两种,进入中断服务程序,执行完中断服务程序并紧随RST1(中断返回)指令后,下一条要执行的指令就是
15、使单片机进入空闲模式的那条指令后面的一条指令。 其二是通过硬件复位可以将空闲工作模式终止。需要注意的是,当由硬件复位来终止空闲工作模式时,CPU通常是从激活空闲模式那条指令的吓一跳指令开始继续执行程序的,要完成内部复位操作,硬件复位脉冲要保持两个机器周期(24个时钟周期)有效,在这种情况下,内部禁止CPU访问片内RAM,而允许访问其他端口。为了避免可能对端口产生意外写入,激活空闲状态的那条指令后一条指令不应是一条端口或外部存储器的写入指令。 在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令。片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬
16、件复位,复位后将重新定义全部特殊功能寄存器但并没有因此改变RAM中的内容,在Vcc恢复到正常工作电平前,复位应无效,但必须保持一定时间以使振荡器重启动并稳定工作。 AT89S51单片机具有一些极限参数: (1)工作温度:-55摄氏度至+125摄氏度 (2)储藏温度:-65摄氏度至+150摄氏度 (3)任一引脚对地电压:-1.0V至+7.0V (4)最高工作电压:6.6V (5)直流输出电流:15.0mA 3.4 单片机外围电路的设计 3.4.1 晶振电路和复位电路的设计 晶振电路和复位电路与单片机连接构成最小系统电路, 在晶振电路中,主要用 到了XTAL1和XTAL2两个引脚。 (1)XTAL
17、1:反向振荡放大器的输入及内部时钟工作电路的输入。(2)XTAL2:来自反向振荡器的输出。在晶振电路中,AT89S51具有两种晶振方式,一种是片内时钟振荡方式,但需要在引脚外接石英晶体和振荡电容,振荡电容的值一般取10-30pf。另一种是外部时钟方式,即将XTAL1接外部时钟,XTAL2脚悬空。本设计的晶振电路如图1所示。图1 晶振电路单片机的晶振频率采用11.0592MHZ,加两个30pF电容。XTAL1和XTAL2分别为反向放大器的输入和输出,外接石英晶体和振荡电容,构成了片内时钟振荡方式。而振荡周期指的就是单片机外接石英晶体振荡器的周期。当时钟起振后,产生一定的频率的时钟信号,单片机的C
18、PU在时钟信号的控制下能一步一步完成自己的工作,同时与整个系统相关的周期还有振荡周期、状态周期、机器周期和指令周期。电容C1和C2主要用于校正波形,振荡器的作用主要是产生时钟振荡。而整个电路的作用则是为了产生自激振荡。对于复位电路,AT89S51有两种复位方式,分别是上点复位和按键复位。本设计采用的是按键复位,即利用一个复位电容和按键的组合使得复位变得更加直接和简单。引脚RST作用是复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。在按下按键后,系统自动复位,十分方便。在复位电路中添加按键主要是为了能够使得复位更加方便,电容主要是在复位后进行充电,而上拉电阻起到限流的作用,
19、保护了电路。图2 复位电路单片机最小系统3.4.2 LCD电路的设计液晶显示器是一种将液晶显示器件,连接器件,集成电路,PCB线路板,背光源,结构器件装配在一起的组件。在显示电路中,VSS接地,VDD接5V正电源, VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,为了获得最佳对比度,VEE接地。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。E端为使能
20、端,当E端由高电平跳变成低电平时,液晶模块执行命令。RS和R/W选用不同的高低电平,将影响寄存器的选择。表4-1 寄存器选择控制表RSR/W操作说明00写入指令寄存器(清除屏等)01读busy flag(DB7),以及读取位址计数器(DB0DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据 由于液晶显示器的功能是显示各字符,所以RS置高电平,R/W接地。8位双向数据线D0-D7与双向I/O口相连。第四章 温度测量系统的软件程序设计4.1 概述在硬件设计完成之后,接下来就是设计最核心和最主要的软件部分设计。所谓软件需求就是把软件变换成软件的具体设计方案(即模块结构)的过程。模块
21、化结构设计既是根据要求和硬件设计的结构,将整个系统的功能分成许多小的功能模块,再根据小的功能模块进行程序编写的过程。这样的设计方法,使得系统的整个功能和各部分的功能趋于明朗化。当系统出现问题,就可以根据功能设置找出问题的根源,从而更快的解决问题。所以,在整个设计过程中,软件设计必须与硬件设计紧密结合在一起。基于DS18B20温度传感器的温度显示器的软件设计程序包括初始化函数、复位函数、写命令函数、写数据函数、显示函数、温度转换函数等几部分。4.2 温度测量系统的总体程序设计在主程序模块中,需要完成对LCD初始化、温度转换、显示函数的设计。AT89S51的P0端口连接的是LCD1602的D0到D
22、7端口用于显示温度,AT89S51的P2.7(28引脚)端口连接的是LCD1602的RS端口,AT89S51的P2.6(27引脚)端口连接的是LCD1602的En端口,高电平时显示温度,P2.0(21引脚)端口连接DA18B20的I/O端口,用于收集温度。其程序流程如图所示:开始初始化是否正温度读取温度值温度值转换LCD显示读取温度值返回4.3 DS18B20子程序的设计初始化DS18B20温度采集处理显示处理子程序退出4.4 LCD显示子程序的设计 首先要对LCD初始化,然后将由单片机和温度采集器处理后的温度按照所给定的地址显示在所指定的位置。第五章 系统调试与分析5.1故障及原因分析在测试
23、lcd时发现,单片机不能正常工作。首先对单片机与lcd进行了检查,没发现问题;然后对晶振电路与复位电路进行了检查,均未找到故障;在对pcb板的电路线进行检查时发现单片机的19引脚和20引脚串联接地,经过与原理图的对比发现19引脚与20引脚之间无短路,经过调试与纠正后lcd可正常工作。第六章 结论与展望6.1 结论 在本次的项目设计中,我们发现了很多问题,只有通过实践才能真正的掌握从课本学到的知识,其中让我们感触最深的就是单片机的学习和对单片机算法的设计,这让我们深刻的认识到C语言程序的设计并不像我们在课堂上学到的简单,如果我们只学习理论的知识,根本谈不上对知识的掌握。从这次的课题设计中,我们真
24、正的意识到,在以后的学习中应多联系实际,把我们所学的理论知识应用到实际生活中去,学习单片机更是如此。程序只有在平时多读多写才能提高。这是我们本次次项目的主要收获。6.2 展望 通过这次的课题设计中,我们小有收获的认识了单片机,激发了我们继续深入实践的兴趣,我们要锲而不舍的继续努力学习更多的未知的知识。参考文献附录原理图和PCB图 软件代码#includereg52.h#define uchar unsigned char#define uint unsigned int#define jump_ROM 0xCC /写跳过读ROM指令。因为只对一个DB18B20操作。#define start
25、0x44 /写温度转换指令。#define read_EEROM 0xBE /读暂存器,读内部RAM中9字节的温度sbit DQ=P20; /DS18B02唯一与单片机连接的数据端sbit lcdrs=P27; /数据命令选择控制sbit lcden=P26; /使能信号uchar i;uchar TMPH,TMPL; /用于读取高低 8位数据。uchar code tab11 = 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x2e; /带小数点/00101110为小数点 /uchar show11 = 0x30,0x31,0x32,0
26、x33,0x34,0x35,0x36,0x37,0x38,0x39,0x2e; uchar show6 = 0,0,0,0x2e,0,0x43; /带小数点/00101110为小数点 /* 以下为延时函数,晶振为11.0592的时候,延时一次大约为:16us。*/void delay(uint us) uint s; for(s=0;sus;s+);/* 一下为复位函数。resert() 并且读取它的信号。 注意:一个delay(1)=16us*/uchar resert(void) uchar receive_ready; DQ=0; delay(32) ; /最好延时时间为480us。 本
27、次为32*16=512us。 DQ=1; delay(3); /延时等待。 receive_ready=DQ; /获取信号。 delay(25); /等待时间隙 完。 不超过480us,本次为400us。 return receive_ready; /返回信号/* 名称 : read_bit()* 功能 : 从DS18B20读一个位值* 输入 : 无* 输出 : 从DS18B20读出的一个位值*/uchar read_bit() uchar i; DQ=0; DQ=1; for(i=0;i3;i+); /从时间隙开始延时15us。 return DQ; /读出的一个位值返回/* 名称 : wr
28、ite_bit()* 功能 : 向DS18B20写一位* 输入 : bitval(要对DS18B20写入的位值)* 输出 : 无*/void write_bit(bitval) DQ=0; /先把数据位置0,开始时间隙。 /delay(1); /延时16us。 if(bitval=1) DQ=1; delay(5); /5 /在其余的时间隙保持值。 DQ=1;/* 名称 : read_byte()* 功能 : 从DS18B20读一个字节* 输入 : 无* 输出 : 从DS18B20读到的值*/uchar read_byte() uchar i; uchar value=0; for(i=0;i
29、8;i+) if(read_bit() /当read_bit()=0时,value=0; 当 read_bit()=1时,执行 value|=0x01i;,value=1。 value|=0x01i; /按位或|。 有一个为1则为1 delay(6) ; /6 /等待剩下时间隙。 return value;/* 名称 : write_byte()* 功能 : 向DS18B20写一个字节* 输入 : val(要对DS18B20写入的命令值)* 输出 : 无*/void write_byte(uchar val) uchar i,temp; for(i=0;ii; temp=temp&0x01; write_bit(temp); delay(5); /1/*获取温度的数值*uint get_temp() float f_temp; uint temp; / P2=0x00; resert(); /通过单总线的所有执行(处理 )都从一个初始化程序开始。其包括总线发出的复位脉冲和 从机发出的脉冲。(单机) write_byte(jump_ROM); / 写跳过读ROM指令。因为只对一个DB18B20操作。 write_byte(read_EEROM); /read_EEROM =0xBE ,读暂存器,读内部RAM中9字节的温度 TMPL =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年弥勒市森林消防专业队招聘劳务派遣制工作人员60人备考题库及参考答案详解
- 2025年广州中医药大学动物实验中心招聘2名自聘合同制工作人员的备考题库带答案详解
- 2025年航天时代低空科技有限公司招聘行政人员劳务派遣岗位备考题库及完整答案详解1套
- 陵水黎族自治县妇幼保健院2025年公开招聘编外人员备考题库有答案详解
- 2025年库尔勒市国有资产经营有限公司所属子公司招聘6人备考题库完整答案详解
- 2025年安徽老年开放大学兼职教师招聘备考题库带答案详解
- 2025年成都市金牛区人民医院四季度招聘工作人员的备考题库及一套完整答案详解
- 2025年绵竹市人民检察院公开招聘编制外工作人员的备考题库及完整答案详解一套
- 2025年西北工业大学集成电路学院(微电子学院)非事业编制人员招聘备考题库及一套答案详解
- 2025年西藏气象部门公开招聘应届高校毕业生9人备考题库(第二批)及一套参考答案详解
- TCECS10270-2023混凝土抑温抗裂防水剂
- 【语 文】第19课《大雁归来》课件 2025-2026学年统编版语文七年级上册
- 2025辽宁葫芦岛市总工会招聘工会社会工作者5人笔试考试参考题库及答案解析
- 印刷消防应急预案(3篇)
- 餐饮签协议合同范本
- 空调维修施工方案
- 2025河南洛阳市瀍河区区属国有企业招聘14人笔试考试备考题库及答案解析
- 医德医风行风培训
- 2025-2026学年小学美术人教版 四年级上册期末练习卷及答案
- 辽宁省名校联盟2025-2026学年高三上学期12月考试物理试卷
- 2025广东肇庆市鼎湖区人民武装部招聘民兵专职教练员8人备考题库带答案解析
评论
0/150
提交评论