基于AT89C51单片机的测温系统设计6800字_第1页
基于AT89C51单片机的测温系统设计6800字_第2页
基于AT89C51单片机的测温系统设计6800字_第3页
基于AT89C51单片机的测温系统设计6800字_第4页
基于AT89C51单片机的测温系统设计6800字_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1基于AT89C51单片机的测温系统设计性作用的物理量。本文主要介绍并设计一款基于AT89C51单片机及DS18B20温目录 1 31.1课题背景 31.2课题研究的目的和意义 41.3设计的主要任务 42系统方案 42.1设计方案概述 42.2设计方案框架图 53器件功能简介 53.1AT89C51单片机功能简介 53.1.1AT89C51简介 53.1.2引脚分布及功能说明 63.2DS18B20数字温度传感器的功能简介 723.2.1DS18B20的简介 73.2.2DS18B20的内部与外部结构 7 9 94.2显示电路设计 5软件编程设计 5.1主程序设计 5.2DS18B20程序设计 5.3显示程序 5.4按键报警程序 6软件仿真结果 6.1软件介绍 6.2Proteus仿真结果 31绪论置温度报警范围功能。而在本次设计产品中将会使用DS18B20温度传感器作为和学习。4本文主要介绍了51系列单片机在采集数据、检测环境温度方面中的应用。本课题研究的目的在于充分认识AT89C51单片机的引脚功能和特性,学习温度传感器DS18B20的结构、功能、工作原理。巩固并加深平时对单片机的应用知本论文主要设计研究的任务是制作一款基于51系列单片机的数字温度测量要采用的传感器型号为DS18B20,利用4位数码管进行温度的读取。(4).蜂鸣器报警提示(5).观察并记录实验设计过程(6).通过研究设计过程得到结论并记录2系统方案点,并设计使用了自由设置特定值进行报警的功能。其输出温度采用LED数码而本设计的主控制器使用的是51单片机AT89C51,AT89C51单片机在工业控制、测量、仪器仪表中应用范围十分广泛。测温传感器使用的是DS18B20,温度传感器DS18B20是一种高精度数字式温度传感器。在电路系统中它可以直度测量电路变得简单、精准。对于温度数据的显示,则是使用4位共阴极LED5数码管实现,LED数码管有着显示数字清晰查看方便的优点。报警系统将采用温度计电路设计总体设计框图如图2-1所示,控制器采用单片机AT89S52,温度传感器采用DS18B20,显示则采用4位LED数码管,报警采用蜂鸣器报警,3器件功能简介AT89C51单片机是由美国公司ATMEL公司生产的低功耗、高性能的8位CMOS微型计算机,简称单片机。器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。在单芯片上,(1)4K字节可编程Flash存储器(2)可与MCD-51兼容6(3)1000次可擦/写寿命(4)数据可保留时间:10年(5)全静态工作范围:OHz-24MHz(6)128x8字节内部RAM(7)32个8位可编程I/O线(8)两个16位定时器计/数器(9)5个中断源(10)可编程串行UART通道(11)低功耗闲置和掉电模式3.1.2引脚分布及功能说明AT89C51的引脚排列方式如图3-1所示。铁图3-1AT89C51引脚排列图P⁰.4/AD4P2.1/A9P22/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P3.1/TXDAT89C51单片机一共有40个引脚,图中隐藏了VCC(电源)引脚和GND (接地)。引脚PO□为一个8位漏级开路双向I/O□。当PO□的引脚第一次写P3□都是内部提供上拉电阻的8位双向I/O□,当这三个引脚写入1时,管脚内部上拉,电阻拉高,并都可作为输入。工作电压为4.0-5.5V。同时,P3□也可以作为特殊功能口使用例如:P3.0:RXD(串行输入口);7 P3.3:INT1(外中断1);P3.6:WR(外部数据存储器写选通);RST:复位端。时钟电路正常工作时,当该端信号连续两个机器周期信号以上置为1,则主控芯片进行复位操作。3.2DS18B20数字温度传感器的功能简介DS18B20温度传感器是美国半导体公司DALLAS推出的一款改良型智能据用户要求通过简单编程实现9至12位的读数方式。(1)它拥有独特的单线接口,在与单片机连接时仅仅需要一个端口引脚进(2)测温范围广(3)支持多点组网功能(4)温度测量结果以9~12位二进制数字表示(5)工作电源电压范围为3.0~5.5V,并且可通过数据线通电工作(6)适用于各种狭小的空间DS18B20采用3脚TO-92封装或8脚SO或μSOP封装,其8NCNC8DS18B20的内部结构一共有四个部分,为64位光刻ROM、温度传感器、的,每次上电复位时刷新。并且在DS18B20温度传感器的内部存储器中,有着一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM。且高速暂存RAM的结构为8字节的存储器,结构如图3-3所示。、图2-3DS18B20的高速暂存RAM的结构0123456878度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器,接着单片十进制;当符号位s=1时,表示测得的温度值为负值,这时需要先将补码变成原码,再计算十进制数值。输出的二进制数的高5位是符号位,最后4位是温度小数点位,中间7位是温度整数位。表2-2是部分温度值对应的二进制温度数据。9温度值二进制输出十六进制输出+10.125℃-0.5℃-10.125℃4系统硬件电路仿真设计方案DS18B20温度传感器是单总线器件与单片机的接口电路,采用电源供电方电源供电方式如图4-1所示,此时DS18B20的引脚1接地,引脚2为信号线接通芯片,引脚3与电源连接。显示电路是由四位的共阴数码管进行显示读数的,设计图如图4-2所示。按键电路的设计采用四个按键k1、k2、k3以及一个消音用按键来实现调节设定报警温度的上下限,并且可查看上下限报警温度的功能。电路设计图如图4-3所示。报警电路是用于测量温度大于上限或小于下限时提供报警功能的电路。该电路是由蜂鸣器和红色的发光二极管组成,电路如图4-4所示。图2-9报警电路设计图4.5单片机电路设计单片机电路是由晶振电路,上电复位、按键复位电路组成。设计图如图4-5所示。本章节描述了温度测量仪器的软件编程和功能实现器响应。系统主流程图如图5-1所示。是图5-1主程序流程图主程序代码********************#defineucharunsignedcharucharmax=0x00,min=0x00;//max是上限报警温度,bitsl=0;/s1标志位用于上下限查看时的显示voiddisplay1(uintz);{timer1_init(O);//初始化定时器1(未启动定时器1){}DS18B20获取电源后进行初始化,收到温度数值转化命令后,对温度进行读取,而后对将温度数据进行处理,将温度值转化为数字值并显示。最后对已储存的数值进行判断,判断其是否处于设定的温度值之间,如超出最高值或低于温度最低值范围便报警处理。如图5-2所示。开始初始化温度显示温度是否超出范围报警图5-2DS18B20程序流程图详细DS18B20程序代码见附录。显示电路是由四位一体的共阴极数码管来实现的。由于单片机的I/O口有限,所以将采用动态扫描数码管的方式来进行显示。程序流程图如图5-3所示。根据的值进行选择图5-3显示程序流程图显示程序代码voiddisplay(uchart{uchari;{{ ,if(a==1)/于上下限查看时的显示)if(a==2)//若a=2则在第二个数码管上显‘ ,{weil=0;wei3=0;wei4=0;wei2=1;的个位 ,if(s==0)selsct_2(f_m}if(a==2)//若a=2则在第三个数码管上显示下if(sl==1)selsct_2(f}weil=0;wei2=0;wei4=0;wei3=1;brea小数位if(a==1)//若a=显示}if(a==2)//若a=2则在第四{if(s==0)PO=temperatureif(s1==1)PO=temperature}weil=0;wei2=0;wei3=0;wei4=1;break;}}5.4按键报警程序按键报警程序的设定以三个按键k1,k2,k3实现上下限报警温度。按下k1进入上下限调节模式,再次按下k2进入下限调节模式。在正常模式下,首次按下k2进入查看上限温度模式,显示1s左右自动退出;首次按下k3进入查看下限温度模式,显示1s左右自动退出;首次按下K4消除按键音,再次按下启动按键音。在调具体流程图如5-4所示。S-1调下限NYRNY按键程序源代码见附录6软件仿真结果本章节主要介绍了对于已经写好的代码进行软件整体编译,并且对编译完成的代码实现软件仿真。本设计中索引用到的两种软件工具为仿真软件Proteus软件以及软件编写程序Keil软件,本章将对两个在研究设计中最广泛使用的软件进行简单的介绍。Proteus软件是由英国公司LabCenterElectronics公司出版的一款使用范围最广的仿真工具软件之一。它具有强大的EDA仿真功能,并可以对单片机及其外围的器件进行仿真。同时它在编译方面支持IAR、Keil和MATLAB等多种编译器,软件仿真测试效果几乎和实物产品测试效果相同,是一款功能强大的Keil软件是美国公司KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,它对于目标代码的生成有着非常高的效率。并且C语言与汇编语言相比,C语言在功能上、结构性、可读性、可维护性上有显著的且巨大的优势。所以keil软件是我们在学习生涯里不可缺少的一款高实用性的编程软将温度传感器Db18B20所处的环境温度设置为20度,如图6-1所示。运行Proteus仿真,按下k1键显示最高温度限定值,后按下k2键,将最高温度限定值设置为30度,按两次k1退出设定值,温度正常显示。仿真结果如图6-2所示。重复上面的操作,将最高温度限定值设置为10度,电路报警,蜂鸣器响应,如图6-3所示。连续两次按下k1键后,led数码管显示“L”数值,为温度下限值,按下k3键调节最低温度限定值为0度,如图6-4所示。R23调节传感器仿真温度为-1度,电路报警,蜂鸣器响应,如图6-5所示。本文主要介绍基了AT89C51系列单片机的数字温度计控制设计,通过将测得的温度数据显示出来,并进行判断操作,判断是否超出或低于限定数在设计过程中,关于按键系统的设计让我很是头疼,代码编译错误,主程序编译失败,导致仿真无法成功运行都挡住了我继续实验的脚步,同时我也去求助了学长,老师,在网上查阅了相关资料最后成功地实现了我想要的功这是我第一次通过自己的想法,导师同学以及辅助资料得帮助下所完成的产品。在这一次长达几个月的学习研究、设计实验中,我深刻地认识到

温馨提示

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

评论

0/150

提交评论