#单片机温度采集显示系统设计

上传人:工**** 文档编号:557506333 上传时间:2023-09-02 格式:DOC 页数:9 大小:709.50KB
返回 下载 相关 举报
#单片机温度采集显示系统设计_第1页
第1页 / 共9页
#单片机温度采集显示系统设计_第2页
第2页 / 共9页
#单片机温度采集显示系统设计_第3页
第3页 / 共9页
#单片机温度采集显示系统设计_第4页
第4页 / 共9页
#单片机温度采集显示系统设计_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《#单片机温度采集显示系统设计》由会员分享,可在线阅读,更多相关《#单片机温度采集显示系统设计(9页珍藏版)》请在金锄头文库上搜索。

1、课程设计课程名称:微机原理与接口技术课程设计题目名称:温度采集显示系统学生学院专业班级学号学生姓名指导教师一、设计题目温度采集系统二、设计任务和要求功能要求:(1) 温度测量范围0-99C。(2) 温度分辨率土C。(3) 选择合适的温度传感器。(4) 使用键盘输入温度的最高点和最低点,温度超出范围时候报警。(报警温度不需要保存)要求完成的内容:(1) 系统硬件设计,并用电子CAD软件绘制出原理图,(2) 给出流程图,编写并调试程序。(3) 撰写设计报告。三、原理电路图和设计程序1、方案比较(1)、系统总体方案设计总体框架图如图1示,软件流程图如图示备如下功能:A、实时采集温度;B显示温度;C串

2、行传送数据;D控制外设;E、温度超限报警;系统硬件设计系统的硬件设计部分主要由以下几部分组成:A、单片机最小系统;B温度采集模块;C温度显示模块;D串行通信模块;E、报警电路;电阻初始化方案一控制核心,以使用最为普遍的器件ADC0809乍模数转换加电使其升温和开动风扇使其降温,控制上使用/序存储器刊需要扩展,增加了电路的复杂性此方案简易可行,器件的价格便且|,但&)31内部没有,且AdC809是8位的模数转换,不能满足本题目的精度要求。方案匀E运I采用比较流行的AT89S51作为电路的控制核心丞砂89S52不但与80518052指令,脚完全兼容,而且其片内的程序存储/T89S52单片机还支持在

3、线编程,用户,$减少谣试程序时不断拆卸和扌插入给丿器采用FLASH工艺,用户可以用电的方式瞬间擦除、改写。单片机通过简单的电路连接就可以将电脑里的程序下载到芯片带来的损坏。此外AT89S52单片机有8KB的程序存器和256B的数据存储器,不需外部扩展存储芯片,可以降低硬件电路的复杂度。此方案电路单并且可以满足题目中的各项要求的精度I流程图综上分析,我们米用方案二。仿真总体电路图如图3示(3)、单元电路设计围设备的工作以及与上位机进行通信等工作。单片机最小系统主要由两块组成,其一为晶振起振电路,其二为复位电路,在此,采用按键手动复位,相对来讲,这种复位方式更加方便,更加人性化,不必要切断电源即可

4、对系统进行复位。、单片机最小系统设计RP1单片机是整个系统的核心处理器,AT89S51简介:AT89S52是89系列单片机的一种,它不但与8051,8052指令,管脚完全兼容,而且其片内的程序存储器采用FLASH工艺,用户可以用电的方式瞬间擦除、改写。AT89S52单片机还支持在线编程,用户通过简单的电路连接就可以将电脑里的程序下载到单片机中,减少调试程序时不断拆卸和插入给芯片带来的损坏。此外AT89S52单片机有8KB的程序存储器和256B的数据存储器,不需外部扩展存储芯片,可以降低硬件电路的复杂度。、温度采集模块设计温度传感器是该系统的关键器件,本系统选用的是美国Dallas半导体公司生产

5、的数字化温度传感器DS18B20本系统中DS18B20的DQ口与单片机的P1.0口连接,GND接地,VDD接电源,信号和5V电源之间的接上一个上拉电阻RDS18B2C简介:DS18B20有三个主要数字部件组成:64位激光ROM温度传感器、非易失性的温度报警触发器TH和TL0DS18B20支持“一线总线”接口,测量温度范围为-55C+125C,被测温度用符号扩展的16位数字量方式串行输出,在-10+85C范围内,精度为土0.5CoDS18B20采集到的现场温度直接以先进的单总线数据通信方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产

6、品等。DS18B20可程序设定912位的分辨率,精度可达土0.5CoDS18B2C具有内置的EEPROJM用户设定的分辨率和报警温度都可存储在其中,且掉电后依然存在。*J1GNDDQVDDCPU只需一根端口线就能与DS18B20进行通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。与前一代产品(DS1820温度传感器)不同,DS18B20支持3.0V5.5V的电压范围,使系统设计更灵活、方便,而且DS18B20价格更便宜,体积更小。DS18B20如图J1所示,DS18B20有三个管脚:3脚GND为电源地,2脚DQ为数字信号输入/输出端,1脚VDD为外接供电电源接入端(用寄生电源方式时接

7、地)。在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时理论上总线可以挂接任意多个DS18B20传感器,组成多点测温系统。在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85C。温度显示模块设计根据实际应用情况,该温度显示模块采用七段数码管显示电路,数码管选用共阳极数码管,如图U3示,以动态方式显示,显示数据由P1口送出,位控信号由P2口送出,经74LS244进行信号放大,以产生足够大的电流驱动数码管显示。流程图如图示:据串行通信模块设计-I京AT机内部含有一个可编程全

8、双工串行通信接口,由示寄辞XD引脚来传送串行数该接口具有UART通用异步接收时进行数据的发送和接收,也可作为一个同步移位寄廿报警电路设计“本设计采用蜂鸣器报警电路,它由晶体管和蜂通,者多机通信系统。豐出给定的上则蜂鸣器报警、器)的全部功能,它不仅能组成。当温度的测量限时计由单片机的iP3.&口输出信号控制晶体管导系统软件设计卜本系统采用忍89S珞作为核心处理器件,把经:十位数昱黍祥寻百dS18B20现场实时采*44百位敷显示数摇J的温度数据,存AT89S52的内部数据存储器,并送LED数码管显示,并与温度的设定值进行比较,然后由单片机输出控制信号去控制外部设备。进行温度控制程序的设计还应考虑越

9、与温度的设置值进行比较后,若发现当前温度值越限,则产生报警信I与硬件电路相关联,诵温度控制系统的软件设计主要分为以下几个部分:主程序,温度上下值设定子程序、温度读取子程序、温度显示子程序、串口通信子程序、输出控制子程序和报警艮报号。警,当采集到的温度子程序等。其中温度上下限值设定子程序完成对温度范围值的设定及数据保存;温度读取子程序完成对温度传感器数据的读取,并通过温度显示子程序显示温度值;串口通信子程序将采集到的温度数据传送到PC机,以实现远程监控;输出控制子程序根据采集到的温度数据完成对外部设备的控制;报警子程序则当采集到的温度数据超过设定的温度上下限值时报警。整个运行程序,见电子版F面是

10、测温程序段:sbitDQ=P3A3;/定义DQ引脚为P3.3延时函数*24卩s,然后每次计数需16卩s功能:在11.059MHz的晶振条件下调用本函数需要*IvoidDS18_delay(intuseconds)ints;for(s=0;suseconds;s+);复位函数*功能:完成单总线的复位操作。*复位时间为480卩s,因此延时时间为(480-24)/16=28.5,取29卩s。*经过70卩s之后检测存在脉冲,因此延时时间为(70-24)/16=2.875,取3卩s。*Iunsignedcharow_reset(void)unsignedcharpresence;DQ=0;DQ=0;/将

11、DQ线拉低DS18_delay(29);DS18_delay(29);II保持480卩sDQ=1;DQ=1;IIDQ返回高电平DS18_delay(3);DS18_delay(3);II等待存在脉冲presence=DQ;presence=DQ;II获得存在信号DS18_delay(25);DS18_delay(25);II等待时间隙结束return(presence);return(presence);II返回存在信号,0=器件存在,1=无器件号,位写入函数*功能:向单总线写入1位值:bitvalvoidwrite_bit(charbitval)DQ=0;DQ=0;II将DQ拉低开始写时间隙

12、if(bitval=1)DQ=1;II如果写1,DQ返回高电平DS18_delay(5);II在时间隙内保持电平值,DQ=1;IIDS18_delay*函数每次循环延时16卩s,因此DS18_delay(5)=104卩s*功能:向单总线写入一个字节值:valvoidds18write_byte(charval)unsignedchari;unsignedchartemp;for(i=0;ii;temp&=0x01;write_bit(temp);/写入字节,每次写入一位DS18_delay(5);位读取函数*功能:从单总线上读取一位信号,所需延时时间为15卩s,因此无法调用前面定义的DS18_

13、delay()函数,而采用一个for()循环来实现延时。unsignedcharread_bit(void)unsignedchari;DQ=0;unsignedchari;DQ=0;/将DQ拉低开始读时间隙DQ=1;/thenreturnhighfor(i=0;i3;i+);/延时15卩sreturn(DQ);/返回DQ线上的电平值字节读取函数*功能:从单总线读取一个字节的值unsignedcharDSread_byte(void)unsignedchari;unsignedcharvalue=0;/读取字节,每次读取一个字节/然后将其左移for(i=0;i8;i+)if(read_bit()value|=0x01i;DS18_delay(6);return(value);读取温度函数*功能:如果单总线节点上只有一个器件则可以直接掉用本函数。如果节点上有多个器件,为了避免数据冲突,应使用MatchROM函数来选中特定器件。注:本函数是根据DS1820的温度数据格式编写的,若用于DS18B20必须根据DS18B20的温度数据格式作适当修改。*/unsig*

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号