已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
题 目: 基于单片机的数字温度计设计 系 别: 机 电 工 程 系 专 业: 机 电 一 体 化 班 级: 机电一体化1101班 姓 名: 贾 鹏 勇 学 号: 0202110107 指导老师: 胡 老 师 日 期: 2013 年 10 月 6日 河 南 工 业 职 业 技 术 学 院Henan Polytechnic Institute毕 业 设 计毕业设计任务书设计题目基于单片机的数字温度计设计设计要求1、用单片机与DS18B20芯片设计一个数字温度计,测量范围在-55125;2、数字温度计的误差不能大于0.5;3、数字温度计测得的温度值能够在数码管LED上直接显示出来。设计任务 1设计硬件电路,画出电路原理图(0-2号);2. 设计软件,编制程序,画出程序流程图(2-3号);3调试程序,写出源程序代码;4写出详细毕业设计说明书(6000字以上),要求字迹工整,原理叙述正确,会计算主要元器件的一些参数,并选择元器件。设计进度要求 第一周:确定毕业设计的题目和设计内容实现的功能;第二周:分析设计内容所要用到的硬件;第三周:查找资料,了解相关硬件的工作原理并记录;第四周:根据设计内容设计流程图并编写程序;第五周:将软件和硬件结合演示并调试;第六周:整理毕业设计论文;第七周:毕业答辩。 指导老师(签名): 摘要目前,随着国民经济的发展,人们需要对各中加热炉、热处理炉、反应炉和锅炉中温度进行监测和控制。采用单片机来对他们控制不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。本文介绍一种设计AT89C51单片机的一种温度测量及报警电路,该电路采用DS18B20作为温度监测元件,测量范围-55-+125,使用LED模块显示,能设置温度报警上下限。正文着重给出了软硬件系统的各部分电路,介绍了集成温度传感器DS18B20的原理,AT89C51单片机功能和应用。该电路设计新颖、功能强大、结构简单。关键词:温度测量;DS18B20 温度芯片;AT89C51 单片机 目录摘要I第一章 概述- 1 -1.1设计的目的与意义- 1 -1.1.1设计的目的- 1 -1.1.2设计的意义- 1 -1.2单片机概述与应用- 2 -第二章 设计原理- 7 -2.1设计思路与方案- 7 -方案一- 7 -方案二- 8 -2.2程序设计框图- 9 -2.3原理图设计- 10 -第三章 硬件电路设计- 11 -3.1主控制器选择- 11 -3.2测温器件- 11 -3.3时钟电路设计- 14 -3.4复位电路设计- 15 -3.5显示电路设计- 16 -第四章 程序设计- 17 -4.1程序设计思路及流程图- 17 -4.2程序代码与清单- 18 -致谢- 23 -总结- 24 -参考文献- 25 -第一章 概述1.1设计的目的与意义1.1.1设计的目的1. 巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力。2. 培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力。3. 通过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。1.1.2设计的意义随着现代信息技术的飞速发展和传统工业改造的逐步实现能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。与传统的温度计相比,这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。在生产过程中,为了高效地进行生产,必须对它的主要参数,如温度、压力、流量等进行有效的控制。温度控制在生产过程中占有相当大的比例。温度测量是温度控制的基础,技术已经比较成熟。传统的测温元件有热电偶和二电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。我们用一种相对比较简单的方式来测量。 本次采用美国DALLAS半导体公司继DS18B20之后推出的一种改进型智能温度传感器DS18B20作为检测元件,温度范围为-55125 ,最高分辨率可达0.0625 。DS18B20可以直接读出北侧温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。1.2单片机概述与应用单片机(Single Chip Microcomputer)是将CPU、存储器、控制器、I/O接口电路等计算机主要构成部件集成在一块集成电路芯片上的微型计算机,通常也称为微控制器(MCU).单片机主要用于控制领域。单片机具有功能强、集成度高、体积小、价格低、功耗小、等优点。本次所用的AT89C51单片机的主要特性有:1 与MCS-51 兼容,4K字节可编程闪烁存储器;2 灵活的在线系统编程,掉电标识和快速编程特性;3 寿命为1000次写/擦周期,数据保留时间可10年以上;4 全静态工作模式:0Hz-33Hz;5 三级程序存储器保密;6 128*8位内部RAM,32可编程I/O线;7 两个16位定时器/计数器,6个中断源;8 片内振荡器和时钟电路。由此可知AT89C51提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时器/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟。同时, AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式何在RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直接到一个硬件复位。 AT89C51的原理图与引脚分布如右:AT89C51的引脚主要功能说明如下:1 主电源引脚Vcc:电源端GND:接地端2 外接晶体引脚 图 1-1 AT89C51单片机原理图XTAL1:接外部晶体管的一个引脚。在单片机内部,它是构成片内振荡器反相放大器及内部时钟发生器的输入端。当采用外部振荡器时,该引脚接收外部振荡器的信号,即把此引脚直接接到外部时钟发生器的输出端。 XTAL2:接外部晶体管的另一个引脚。在单片机内部,它是构成片内振荡器反相放大器的输出端。采用外部振荡器时,此引脚应悬浮不连接。3 输入/输出引脚(I/O口线)P0口(P0.0-P0.7):P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口,作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端口。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在对片内Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口(P1.0-P1.7):P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。P1口可作一般的通用I/O口使用。在对片内Flash编程和程序校验时,P1口接收低8位地址。P2口(P2.0-P2.7):P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。在访问位地址的外部数据存储器(如执行:MOVX Ri 指令)时,P2口线上的内(也即特殊功能寄存器,在整个访问期间不改变。Flash 编程或校验时,P2也接收高位地址和其它控制信号。)P3口(P3.0-P3.7):P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端口时,被外部拉低的P3口将用上拉电阻输出电流I。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,P3口的第二功能如下表。 表1-1 P3口的第二功能 端口功能第二功能端口引脚第二功能RXD(P3.0)串行输入口T0(P3.4)定时/计数器0外部输入TXD(P3.1)串行输出口T1(P3.5)定时/计数器1外部输入INT0(P3.2)外中断0WR(P3.6)外部数据存储器写选通INT1(P3.3)外中断1RD(P3.7)外部数据存储器读选通4 控制信号引脚RST:复位输入。当振荡工作时,RST引脚出现两个机器周期上高电平将使单片机复位。WDT益出将使该引脚输出高电平,设置SFR AUXR 的 DISRTO 位(地址8EH)可打开或关闭该功能。DISRTO 位缺省为RESET输出高电平打开状态。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出的正脉冲信号,因此它可对外输出时钟或用于定时目地,要注意的是:第当访问外部数据存储器时将跳过一个ALE脉冲。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位禁位后,只有一条MOVX 和MOVC指令ALE才会被激活。此外,该引脚伎被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,高有两次有效的PSEN信号。EA/VPP:外部访问允许。欲使CPU公访问外部程序存储器(地址0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上12V的编程电压Vpp。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 1.在智能仪器仪表上的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。 2. 在工业控制中的应用 用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管 芯片 理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。 3. 在家用电器中的应用 可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。 4. 在计算机网络和通信领域中的应用 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 5. 单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 在各种大型电器中的模块化应用 某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。 6. 单片机在汽车设备领域中的应用 单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,abs防抱死系统,制动系统等等。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。第二章 设计原理2.1设计思路与方案本次设计要求设计一个数字温度计,测量范围在-55125;数字温度计的误差不能大于0.5;数字温度计测得的温度值能够在数码管LED上直接显示出来。方案一采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成,热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。数据采集部分则使用带有A/D 通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。热电偶的优点是工作温度范围非常宽,且体积小,但是它们也存在着输出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到A/D 转换电路,感温电路比较麻烦。系统主要包括对A/D0809 的数据采集,自动手动工作方式检测,温度的显示等,这几项功能的信号通过输入输出电路经单片机处理。此外还有复位电路,晶振电路,启动电路等。故现场输入硬件有手动复位键、A/D 转换芯片,处理芯片为51 芯片,执行机构有4 位数码管、报警器等。【1】系统框图如图 2-1所示。 图 2-1 热电偶温差电路测温系统框图方案二采用数字温度芯片DS18B20 测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100 摄氏度时,最大线形偏差小于1 摄氏度。DS18B20 的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89S51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大。采用51 单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC 机通信上传数据,另外AT89C51 在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。【1】该系统利用AT89C51芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。该系统扩展性非常强,它可以在设计中加入时钟芯片DS1302以获取时间数据,在数据处理同时显示时间,并可以利用AT24C16芯片作为存储器件,以此来对某些时间点的温度数据进行存储,利用键盘来进行调时和温度查询,获得的数据可以通过MAX232芯片与计算机的RS232接口进行串口通信,方便的采集和整理时间温度数据。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。与传统的温度计相比,这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。因此选用(方案一)AT89C51型单片机作为主控制器件,DSl8B20作为测温传感器通过串口传送数据,实现温度显示。通过DSl8B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在0100最大线性偏差小于0.1。该器件可直接向单片机传输数字信号,便于单片机处理及控制。另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。2.2程序设计框图主控制器AT89C51复位电路LED显示温度传感器DS18B20时钟震荡报警电路 图2-2 数字温度芯片测温程序图2.3原理图设计原理图设计如下图: 图 2-3 设计原理图 控制器使用单片机AT89C51,测温传感器使用DS18B20,用4位共阳极LED数码管以动态扫描法实现温度显示.本设计利用温度传感器DS18B20可以直接读取被测温度值,进行转换的特性,模拟温度值经过DS18B20处理后转换为数字值,然后送到单片机中进行数据处理,并与设置的温度报警限比较,超过限度后进行系统复位。同时处理后的数据送到LED显示屏中显示。第3章 硬件电路设计3.1主控制器选择单片机AT89C51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。3.2测温器件温度传感器采用美国DALLAS半导体公司生产的DS18B20温度传感器。与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。DS18B20的性能特点如下:1 独特的单线接口仅需要一个端口引脚进行通信;2 多个DS18B20可以并联在惟一的三线上,实现多点组网功能;3 无须外部器件;4 可通过数据线供电,电压范围为3.05.5;5 零待机功耗;6 温度以或位数字;7 用户可定义报警设置;8 报警搜索命令识别并标志超过程序限 定温度(温度报警条件)的器件; 图 3-1 DS18B20封装示意图9 负电压特性,电源极性接反时,温度计不 会因发热而烧毁,但不能正常工作; DS18B20采用脚PR35封装或脚SOIC封装,封装示意与原理图如图:其引脚功能说明为: NC :空引脚,悬空不使用; VDD :可选电源脚,电源电压范围35.5V。当工作于寄生电源时,此引脚必须接地。 DQ :数据输入/输出脚。漏极开路,常态下高电平。 GND :为电源地。 图 3-2 DS18B20原理图DS18B20的内部结构如图: 图 3-3 DS18B20内部结构图DS18B204个主要的数据部件:1. 光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位 (28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用 是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 2. DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以 0.0625/LSB形式表达,其中S为符号位。3. DS18B20温度传感器的存储器 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器 TH、TL和结构寄存器。 4. 配置寄存器。温度的读取:DS18B20在出厂时以配置为12位,读取温度时共读取16位,所以把后11位的2进制转化为10进制后在乘以0.0625便为所测的温度,还需要判断正负。前5个数字为符号位,当前5位为1时,读取的温度为负数;当前5位为0时,读取的温度为正数。DS18B20的初始化: 1. 先将数据线置高电平“1”。2. 延时(该时间要求的不是很严格,但是尽可能的短一点)。3. 数据线拉到低电平“0”。4. 延时750微秒(该时间的时间范围可以从480到960微秒)。5.数据线拉到高电平“1”。6. 延时等待(如果初始化成功则在15到60毫秒之内产生一由DS18B20返回的低电平“0”。不能无限的进行等待,不然程序会进入死循环,所以要进行超时控制)7. 若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。8.将数据线再次拉高到高电平“1”后结束。 DS18B20的写操作: 1. 数据线先置低电平“0”。2. 延时确定的时间为15微秒。3. 按从低位到高位的顺序发送字节(一次只发送一位)。4. 延时时间为45微秒。 5. 将数据线拉到高电平。6. 重复上(1)到(6)的操作直到所有的字节全部发送完为止。7. 最后将数据线拉高。 DS18B20的读操作:1. 将数据线拉高“1”。2. 延时2微秒。3. 将数据线拉低“0”。4. 延时15微秒。5. 将数据线拉高“1”。6. 延时15微秒。7. 读数据线的状态得到1个状态位,并进行数据处理。8. 延时30微秒。 3.3时钟电路设计时钟是用来控制单片机的各个组成部件按照一定的节拍同步工作,时钟频率越高,单片机的运行速度越快。单片机时钟频率的倒数叫时钟电路,外部时钟或时钟电路的晶体震荡频率就是单片机工作的时钟频率。MCS-51单片机执行指令所用的时间以及机器周期为单位,12个时钟周期构成1个机器周期。所以,当外接时钟电路的晶振频率为12MHz时机器周期为1us,时钟为6MHz时机器周期为2us。本次设计 图 3-4 外部时钟电路接线图选用晶振频率为12MHz。连接方式如图: 3.4复位电路设计复位的目的是使单片机及其他功能电路具有一个确定的初始状态,以便单片机能在这个确定的状态下开始工作。当单片机上电或程序跑飞等情况下都需要复位,上电时的复位是自动复位,有故障时的复位可能是手动复位,也可能是通过外加电路自动复位。本次设计中运用的是外加电路复位,连接如图: 图 3-5 外部复位电路接线图在MCS-51单片机中,当RET引脚持续两个机器周期的高电平就会复位。当MCS-51单片机复位后,MCS-51单片机的部分特殊功能寄存器及复位后的状态如表 图 3-6 MCS-51单片机的部分特殊功能寄存器及复位后的状态表3.5显示电路设计显示电路部分所采用的是4位共阳动态数码管扫描显示。所谓LED数码管动态显示就是一位一位轮流点亮各位数码管,对于每一位LED数码管来说,每隔一段时间点亮一次,利用人眼的“视觉暂留”效应,采用循环扫描方式,分时轮流选通各数码管公共端,使数码管轮流导通显示。当扫描速度达到一定程度时,人眼就分辨不出来了。尽管实际上各位数码管并非同时点亮,但只要扫描速度够快,给人的感觉就是一组稳定的显示数据,并认为数码管是同时点亮的。若数码管位数不大于8位时,只需两个8位I/O口。LED数码管动态显示要考虑每一位点亮的保持时间和间隔时间。保持时间太短,则发光太弱人眼无法看清;时间太长,则间隔时间也将变长,会使人眼看到数字闪烁。在程序中要合理的选择合适的点亮保持时间和间隔时间。而循环次数则正比于显示的变化时间。 图 3-7 4位共阳数码管第四章 程序设计 4.1程序设计思路及流程图整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。首先要根据系统的总体功能选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。主程序流程如图。开始报警结束显示温度判断温度是否超出规定范围?MCU初始化DS18B20初始化 是 否 图4-1 主流程图设计DS18B20初始化流程图:报警温度显示温度超出范围?开始单片机寄存器初始化DS18B20是否存在?温度数据处理读取温度温度转换命令 否 是 是 否 图4-2 DS18B20初始化流程图4.2程序代码与清单基于AT89C51单片机数字温度计程序清单如下所示。# include intrins.h # define disdata P0# define discan P2# define uchar unsigned char # define uint unsigned int sbit DQ = P37; sbit DIN = P07;uint h;uchar code ditab16= 0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09; uchar code dis_712= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf;uchar code scan_con4=0xf7,0xfB,0xFD,0xFE; uchar data temp_data2=0x00, 0x00,; uchar data display5=0x00,0x00,0x00,0x00,0x00; void delay(uint t) for(;t0;t-); scan() char k; for(k=0;k0;i-) DQ=1;_nop_();_nop_(); DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_(); DQ=val&0x01; delay(6); val=val/2; DQ=1; delay(1); uchar read_byte(void) uchar i; uchar value=0; for(i=8;i0;i-) DQ=1;_nop_();_nop_(); value=1; DQ=0; _nop_();_nop_();_nop_();_nop_(); DQ=1;_nop_();_nop_();_nop_();_nop_(); if(DQ) value|=0x80; delay(6); DQ=1; return(value); read_temp() ow_reset(); write_byte(0xcc); write_byte(0xbe); temp_data0=read_byte(); temp_data1=read_byte(); ow_reset(); write_byte(0xcc); write_byte(0x44); work_temp() uchar n=0; if(temp_data1127) temp_data1=(255-temp_data1);temp_data0=(255-temp_data0);n=1; display4=temp_data0&0x0f;display0=ditabdisplay4; display4=(temp_data0&0xf0)4)|(temp_data1&0x0f)4) ; display3=display4/100; display1=display4%100; display2=display1/10; display1=display1%10; if(!display3)display3=0x0a; if(!display2)display2=0x0a; if(n)display3=0x0b; main () disdata=0xff; discan=0xff; for(h=0;h4;h+) displayh=8; ow_reset(); write_byte(0xcc); write_byte(0x44); for(h=0;h500;h+) scan(); while(1) read_temp(); work_temp();for(h=0;h500;h+) scan(); 致谢回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在这几周的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。这次课程设计终于顺利完成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年咸宁辅警协警招聘考试备考题库及答案详解(全优)
- 2023年运城辅警招聘考试真题及答案详解(历年真题)
- 2023年驻马店辅警协警招聘考试备考题库及一套答案详解
- 2023年迪庆州辅警招聘考试题库含答案详解(培优)
- 2023年省直辖行政单位辅警协警招聘考试备考题库带答案详解(完整版)
- 2024年安庆辅警招聘考试题库附答案详解(研优卷)
- 2023年青海辅警协警招聘考试备考题库附答案详解(综合题)
- 2024年厦门辅警协警招聘考试备考题库及答案详解(网校专用)
- 2024年密云县辅警协警招聘考试真题及答案详解一套
- 2023年荆州辅警协警招聘考试备考题库及一套参考答案详解
- 六西格玛绿带知识笔记
- NY/T 295-1995中性土壤阳离子交换量和交换性盐基的测定
- GB/T 6170-20151型六角螺母
- 主要草原有害生物防治指标
- 国外发票模板invoice
- 第十二章 材料的压电性能与铁电性能-材料性能学
- 护士长述职报告PPT通用模板
- 中医药治疗艾滋病试点项目实施方案
- 胸腔闭式引流的护理
- 「纸箱厂的安全生产注意事项」
- 强脉冲光在皮肤治疗中的应用
评论
0/150
提交评论