基于protues多点数字温度计毕业设计_第1页
基于protues多点数字温度计毕业设计_第2页
基于protues多点数字温度计毕业设计_第3页
基于protues多点数字温度计毕业设计_第4页
基于protues多点数字温度计毕业设计_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

PAGEIII毕业设计(论文)说明书多点数字温度计设计摘要在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统应用于诸多领域。这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。本次多点数字温度计设计采用AT89C51单片机作为控制核心,使用闸刀开关设计控制电路,采用DS18B20温度传感器采集温度,结合LCD显示屏和74HC00芯片实现温度的数字显示。硬件电路设计主要包括中央处理单元电路、闸刀开关电路以及温度收集电路。软件程序设计则采用汇编语言实现。本设计的测量温度范围为0°C到70°C、采集的温度分辨率为0.1°C以及能显示10个温度探测点的当前采集温度。实现了采集和显示10个温度探测点的当前温度的功能,达到了设计的要求和目的,并在Proteus软件上进行了仿真和调试。关键词:数字温度计;AT89C51;74HC00AbstractInhumanlifeenvironment,thetemperatureisplayinganextremelyimportantrole.Nomatterwhereyoulive,engagedinanywork,ever-presentandtemperaturedealtwith.Sincetheeighteenthcenturysincetheindustrialrevolution,industrialdevelopmenttowhethercanmasterhasabsolutetemperatureofcontact.Inmetallurgy,steel,petrochemical,cement,glass,medicineindustryandsoon,itcanbesaidthatalmost80%ofindustrialdepartmenthavetoconsiderthefactorsoftemperature.Withtherapiddevelopmentofmoderninformationtechnologyandtraditionalindustrialtransformationgraduallyrealize,abletoworkindependentlytemperaturedetectionanddisplaysystemappliedtomanyfields.Alongwiththerapiddevelopmentofmoderninformationtechnologyandtraditionalindustrialtransformationgraduallyrealize,abilitytoworkindependentlytemperaturedetectionanddisplaysystemappliedtomanyfields.Hereisthethermometerdesigneddigitalreadoutsconvenient,temperaturemeasuringrange,temperaturemeasurementprecision,digitaldisplay,wideapplicationscope,etc.ThemoredigitalthermometerdesignusetheAT89C51microcontrollerascontrolcore,usetheknifeswitchdesignthecontrolcircuit,usethetemperaturesensorDS18B20collectiontemperature,combinedwithLCDscreenand74HC00chiprealizetemperatureofthedigitaldisplay.Hardwarecircuitdesignincludesthecentralprocessingunitcircuit,theknifeswitchcircuit,andthetemperaturecollectcircuit.Softwareprogramdesignisrealizedbyassemblylanguage.Thisdesignofmeasuringtemperaturerangeof0℃to70℃,acquisitionofthetemperatureresolutionforthe0.1°C,andcanindicatethat10ofthecurrentcollectiontemperaturedetectionpointtemperature.Realizetheacquisitionanddisplaytemperaturedetectionpointof10currentofthefunctionKeywords:Digitalthermometer;AT89C51;74HC00目录摘要 IAbstract II第一章绪论 11.1设计背景 11.2数字温度计设计方案论证 11.2.1方案一 11.2.2方案二 21.3方案二的总体设计框图 2第二章主要元器件介绍 32.1AT89C51的性能介绍 32.1.1AT89C51的主要特性 32.1.2AT89C51的管脚说明 32.1.3振荡器特性 52.1.4芯片擦除 52.2DS18B20数字温度传感器概述 62.2.1DS18B20的基本情况 62.2.2DS18B20的性能特点 62.2.3DS18B20的内部结构 72.2.4DS18B20数据输出格式 92.2.5DS18B20的相关命令 10第三章硬件设计 123.1中央处理单元电路 12使用AT89C51单片机作为这部分电路的主要元器件,从DS18B20温度传感器电路和闸刀开关电路接收信号,并向LCD显示电路发送信号。 123.2DS18B20温度传感器采集温度电路 133.3闸刀开关电路 133.4LCD温度数字显示电路 14第四章软件设计 154.1主程序流程图 15主程序流程图如图4.1所示。 154.2DS18B20子程序流程图 164.3读取温度子程序流程图 16第五章仿真软件 175.1PROTEUS仿真软件介绍 175.2ProteusISIS智能原理图输入系统 175.3ProteusISIS的界面和功能介绍 18第六章仿真调试与系统测试 216.1仿真调试 216.1.1绘制仿真原理图如6.1所示: 216.2系统调试 216.3仿真 236.1.3开始仿真 23结束语 24参考文献 25致谢 26附录1元器件清单 27表附录1元器件清单表 27附录2程序 28PAGE29第一章绪论1.1设计背景 在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。温度对于工业如此重要,由此推进了温度传感器的发展。传感器主要大体经过了三个发展阶段:模拟集成温度传感器。该传感器是采用硅半导体集成工艺制成,因此亦称硅传感器或单片集成温度传感器。此种传感器具有功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等;模拟集成温度控制器。模拟集成温度控制器主要包括温控开关、可编程温度控制器,典型产品有LM56、AD22105和MAX6509。某些增强型集成温度控制器(例如TC652/653)中还包含了A/D转换器以及固化好的程序,这与智能温度传感器有某些相似之处。但它自成系统,工作时并不受微处理器的控制,这是二者的主要区别;智能温度传感器。能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。1.2数字温度计设计方案论证1.2.1方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。但是,这种设计需要用到A/D转换电路,感温电路比较麻烦。1.2.2方案二采用DS18B20温度传感器和AT89C51单片机电路设计设计硬件电路,通过汇编程序实现采集和显示当前温度。这样,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。1.3方案二的总体设计框图根据方案二的设计,多点数字温度计设计的电路设计总体方框图如图1.1所示。使用AT89C51单片机作为控制核心,用LCD显示屏来实现温度的数字显示。图1.1结构框图第二章主要元器件介绍2.1AT89C51的性能介绍AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2.1.1AT89C51的主要特性●与MCS-51兼容●4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年●全静态工作:0Hz-24Hz●三级程序存储器锁定●128*8位内部RAM●32可编程I/O线●两个16位定时器/计数器●5个中断源●可编程串行通道●低功耗的闲置和掉电模式●片内振荡器和时钟电路2.1.2AT89C51的管脚说明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的一些特殊功能口,如下表(表2-1)所示:表2-1AT89C51的特殊功能口口管脚备选功能P3.0RXD串行输入口P3.1TXD串行输出口P3.2/INT0外部中断0P3.3/INT1外部中断1P3.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:来自反向振荡器的输出。2.1.3振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2.1.4芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。2.2DS18B20数字温度传感器概述2.2.1DS18B20的基本情况Dallas公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器,具有以下基本特性:●只要有一个I/O引脚即可实现温度的采集,实际应用中不需要外部任何元器件即可实现测温;●测量温度范围为-55℃~+125●数字温度计的分辨率用户可以从9位到12位选择,精度为±0.5℃●内部有E2PROM,用户可以进行温度上、下限报警设置。2.2.2DS18B20的性能特点●独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯●DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温●DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内●适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电●温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃●零待机功耗●可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温●在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快●用户可定义报警设置●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件●测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作以上特点使DS18B20非常适用与多点、远距离温度检测系统。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列、各种封装形式如图2-1所示,DQ为数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。图2-1DS18B20外部封装形式2.2.3DS18B20的内部结构图2-2为DS18B20的内部框图,它主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图2-2所示:图2-2DS18B20的内部结构图64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图2-3所示。图2-364位闪速ROM的结构DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图2-4所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器(图2-5),它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图2.3所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。图2-4DS18B20温度传感器的内部存储器图2-5配置寄存器由表2-2可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。表2-2DS18B20温度转换时间表R1R0分辨率/位温度最大转换时间/ms00993.750110187.5101137511127502.2.4DS18B20数据输出格式DS18B20读出的温度结果的数据为两字节,用16位符号扩展的二进制补码读数形式提供。因此,在系统中要将得到温度值数据进行格式转换,才能用于显示。这两字节的数据格式如图2-6所示。图2-6DS18B20的数据格式高8位中的高5位是符号位,表示温度是零上还是零下。高8位中的低3位D6、D5、D4和低8位中的高4位D3、D2、D1、D0构成温度的整数部分。低8位中的D-1、D-2、D-3、D-4为温度的小数部分(为0.5+0.25+0.125+0.0625)。表2-3是几个温度值的格式举例。表2-3几个温度值的格式举例温度二进制表示十六进制表示+125000001111101000007D0H+8500000101010100000550H+25.062500000001100100010191H+10.125000000001010001000A2H+0.500000000000010000008H000000000000000000000H-0.51111111111111000FFF8H-10.1251111111101011110FF5EH-25.06251111111001101111FE6FH-551111110010010000FC90HDS18B20上电复位时的温度值固定为0550H(85℃)2.2.5DS18B20的相关命令首先要对DS18B20进行初始化,由主机发出的复位脉冲和跟在其后的由DS18B20发出的应答脉冲构成。当DS18B20发出响应主机的应答脉冲时,即向主机表明DS18B20已处在总线上并且准备工作。ROM命令ROM命令通过每个器件64位的ROM码,使主机指定某一特定器件(如果有多个器件挂在总线上)与之进行通信。相关命令如表2-4所列。表2-4ROM命令命令描述协议此命令发出后总线上的活动SEARCHROM识别总线上挂着的所有DS18B20的ROM码F0H所有DS18B20向主机传送ROM码READROM当只有一个DS18B20挂在总线上时,可用此命令来读取ROM码33HDS18B20向主机传送ROM码MATCHROM主机用ROM码来指定某一DS18B20,只有匹配的DS18B20才会响应55H主机向总线传送一个ROM码SKIPROM用于指定总线上所有的器件CCHALARMSEARCH与SEARCHROM命令类似,但只有温度超出警报线的DS18B20才会响应ECH超出警报线的DS18B20向主机传送ROM码(2)功能命令主机通过功能命令对DS18B20的Scratchpad存储器进行读/写。或者启动温度转换,如表2-5所列。表2-5功能命令命令描述协议此命令发出后总线上的活动ConvertT开始温度转换44HDS18B20向主机传送转换状态READScratchpad读暂存器完整的数据BEHDS18B20向主机传送总共9位字节的数据WriteScratchpad向暂存器的2、3和4字节写入数据(TH,TL和精度)4EH主机向DS18B20传送3个字节的数据CopyScratchpad将TH、TL和配置寄存器的数据复制到EEPROM48HDS18B20向主机传送调用状态RecallE2将TH、TL和配置寄存器的数据从EEPROM中调到暂存器中B8HReadPowerSupply向主机示意电源供电状态B4HDS18B20向主机传送供电状态第三章硬件设计系统整体硬件电路包括四个部分:中央处理单元电路(AT89C51)、DS18B20温度传感器采集温度电路、LCD温度数字显示电路和闸刀开关电路。各部分之间相互协作,构成一个统一的有机整体,实现多点数字温度计的功能。各部分的硬件电路设计如下:3.1中央处理单元电路使用AT89C51单片机作为这部分电路的主要元器件,从DS18B20温度传感器电路和闸刀开关电路接收信号,并向LCD显示电路发送信号。图3.13.2DS18B20温度传感器采集温度电路图3.1.2DS18B20温度传感器采集温度电路使用DS18B20温度传感器采集温度设计温度采集电路,并将采集到的温度传送给AT89C51单片机。3.3闸刀开关电路使用闸刀开关设计电路,进行温度传感器切换,从温度采集电路接受温度信号并将信号传送给AT89C51单片机。图3.3LCD温度数字显示电路3.4LCD温度数字显示电路使用LCD显示屏和74HC00芯片设计LCD温度数字显示电路,经接口从AT89C51单片机接收信号,实现温度数字的功能。图3.4LCD温度数字显示电路第四章软件设计按照方案设计要求,在硬件电路的基础上,进行软件设计,为增加程序可读性,可分为以下D个功能模块:主程序。主程序流程图如图4.1所示。子程序。流程图如图4.2所示。子程序。流程图如图4.3所示。4.1主程序流程图主程序流程图如图4.1所示。图4.1主程序流程图4.2DS18B20子程序流程图图4.2DS18B20子程序流程图4.3读取温度子程序流程图图4.3读取温度子程序流程图第五章仿真软件5.1PROTEUS仿真软件介绍Proteus软件是一款功能强大的电路设计分析软件。在利用其进行单片机的软件仿真时,仅仅是使用了其部分功能(如使用其中的ISIS智能原理图输入系统来绘制电路原理图)。因此这里主要介绍该部分的相关知识。5.2ProteusISIS智能原理图输入系统ProteusISIS是Proteus软件的核心,具有以下特性:出版高质量的原理图:ISIS提供给用户图形外观,包括线宽、填充类型、字符库等的全部控制,使用户生成精美的原理图。画完图后可以以图形文件输出。良好的用户界面:用户只需要单击元件的引脚或者先前布好的线,就能实现布线。而且摆放、移动和删除操作能都直接用鼠标实现,无需去单击菜单或图标。自动走线:只要单击想要连接的两个引脚,就能简单地实现走线。在特殊的位置需要布线时,只需在中间的角落单击。自动走线也能在元件移动时操作,自动解决相应连线。节点能够自动布置和移除,节约时间,又避免一些可能的错误。层次设计:ISIS支持层次图设计,特殊的元件能够定义为通过电路图表示的模块,能够任意设定层次。模块可画成标准元件,在使用中可放置和删除端口的子模块电路。总线支持:ISIS的元件库包含8000多个元件,有标准符号、三极管、二极管、CMOS、微处理器、存储器元件、模拟IC和运算放大器等。ProteusISIS运行于Windows98/2000/XP环境,对计算机的配置要求不是很高。在运行ProteusISIS的执行程序后,先出现一个启动画面,随机进入如图5-1所示的ProteusISIS编辑环境。图5.1ProteusISIS的编辑环境5.3ProteusISIS的界面和功能介绍ProteusISIS的工作界面是一种标准的Windows界面,如图5.2所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。图5.2Proteus窗口界面图(1)原理图编辑窗口顾名思义,它是用来绘制原理图的。蓝色方框内为可编辑区,元件要放到它里面。注意,这个窗口是没有滚动条的,你可用预览窗口来改变原理图的可视范围。(2)预览窗口它可显示两个内容,一个是:当你在元件列表中选择一个元件时,它会显示该元件的预览图;另一个是,当你的鼠标焦点落在原理图编辑窗口时(即放置元件到原理图编辑窗口后或在原理图编辑窗口中点击鼠标后),它会显示整张原理图的缩略图,并会显示一个绿色的方框,绿色的方框里面的内容就是当前原理图窗口中显示的内容,因此,你可用鼠标在它上面点击来改变绿色的方框的位置,从而改变原理图的可视范围。(3)模型选择工具栏主要模型(MainMode:●1选择元件(coponents(默认选择的)●2放置连接点●3放置标签(用总线时会用到)●4放置文本●5用于绘制总线●6用于放置子电路●7用于即时编辑元件参数(先单击该图标再单击要修改的元件)配件(Gadgets)●1终端接口(teinals有、地、输出、输入等接口●2器件引脚:用于绘制各种引脚●3仿真图表(graph用于各种分析,如NoiseAnalysis●4录音机●5信号发生器(generators)●6电压探针:使用仿真图表时要用到●7电流探针:使用仿真图表时要用到●8虚拟仪表:有示波器等2D图形(2DGraphics)●1画各种直线●2画各种方框●3画各种圆●4画各种圆弧●5画各种多边形●6画各种文本●7画符号●8画原点等元件列表用于挑选元件(components)终端接口(terminals)信号发生器(generators)仿真图表(graph)等。举例,当你选择“元件(components)”单击“P”按钮会打开挑选元件对话框,选择了一个元件后该元件会在元件列表中显示,以后要用到该元件时,只需在元件列表中选择即可。(5)方向工具栏旋转:旋转角度只能是90的整数倍。成水平翻转和垂直翻转。使用方法:先右键单击元件,再点击(左击)相应的旋转图标。(6)仿真工具栏仿真控制按钮●1运行●2单步运行●3暂停●4停止第六章仿真调试与系统测试6.1仿真调试6.1.1绘制仿真原理图如6.1所示:图6.1仿真原理图6.2系统调试1.双击单片机出现下图所示画面图6.2-1,在ProgramFile一栏中选取仿真项目的源程序代码,点击OK。6.2-1加载源程序图2.点击菜单中的“Source”—“BuildAll”,得到如图6.2-2所示的“BuildLog”。图6.2-2检查日志图6.3仿真6.1.3开始仿真单击Play按钮,进入仿真状态,出现下图4.5所示:图6.3-1仿真结果一图6.3-2仿真结果二结束语经过几周的努力,我终于完成了多点数字温度计的设计。本次多点数字温度计设计采用AT89C51单片机作为控制核心,使用闸刀开关设计控制电路,采用DS18B20温度传感器采集温度,结合LCD显示屏和74HC00芯片实现温度的数字显示,达到设计要求和目的。通过这份毕业设计,我成长了很多,单片机毕业设计重点就在于软件算法的设计,需要有很巧妙的程序算法。这提高了我编写软件程序的能力。同时,本次毕业设计也使我对单片机技术有了更进一步的了解。实践和理论有很大的联系,又高于理论。要把课本上所学的知识跟实际联系起来,才能把理论变成实际。本次电路的设计既巩固了我从课本上所学的知识,也使我把理论与实际结合起来,增强了学习的兴趣,考验了我们借助图书馆、互联网搜索、查阅相关资料的综合能力。这也为我以后从事电子电路设计、研制电子产品方面的工作奠定了一定的基础。参考文献[1]李朝青.单片机原理及接口技术(简明修订版).杭州;北京航空航天大学出版社,1998[2]李广弟.单片机基础[M].北京;北京航空航天大学出版社,1994[3]阎石.数字电子技术基础(第三版).北京;高等教育出版社,1989[4]高卫东,辛友顺,韩彦征.51单片机原理与实践[M].北京;北京航空航天大学出版社,2008致谢在毕业设计即将完成之际,我特别感谢xxx老师的热情关怀和悉心指导。在我毕业设计制作过程中,xxx老师倾注了大量的心血和汗水,无论是在课题的选题、构思和资料的收集方面,还是在课题的研究方法以及成文定稿方面,我都得到了xxx老师悉心细致的教诲和无私的帮助,特别是他广博的学识,令我扩展了程序应用软件方面的认识,在此表示真诚地感谢和深深的谢意。写作过程中,也得到了许多同学的宝贵建议,在此一并致以诚挚的谢意。感谢所有关心、支持、帮助过我的良师益友。

最后,向在百忙中抽出时间对本文进行评审并提出宝贵意见的各位老师表示衷心地感谢!附录1元器件清单表附录1元器件清单表物质名称规格型号数量(单位)AT89C51单片机AT89C51块74HC00芯片74HC003块LCD显示屏LM016L1块闸刀开关一SW-SPDT1个闸刀开关二SW-SPDT-52个温度传感器DS18B2010个附录2程序DQ BIT P1.0FLAG BIT 00H FLAG_NEG BIT 01HTEMP_L EQU30HTEMP_H EQU 31HTEMP_INT EQU32HTEMP_DP EQU33HTEMP_100 EQU 34HTEMP_10 EQU 35HTEMP_1 EQU 36HWR_LCD BITP3.6;写LCD函数RD_LCD BIT P3.7 ORG0000H LJMPSTART ORG1000HSTART: MOVSP,#60H LCALLINITMAIN: LCALLREAD_TEMP LCALLPROC_TEMP LJMPMAIN;*********************************READ_TEMP: SETB DQ;DQ置位进位为1 LCALLINI_DQ JB FLAG,RE_0 RETRE_0: MOVA,#0CCH LCALLWRITE_DQ MOVA,#44H LCALLWRITE_DQ LCALLDISPLAY ;调用lcd显示程序,并起延时作用 LCALLINI_DQ MOVA,#0CCH LCALLWRITE_DQ MOVA,#0BEH LCALLWRITE_DQ LCALLREAD_DQ RET ;************DS18B20初始化程序***************INI_DQ: SETB DQ;DQ置位进位为1 NOP NOP CLR DQ MOV R1,#3INI_0: MOV R0,#80 DJNZ R0,$ DJNZ R1,INI_0 SETB DQ;DQ置位进位为1 NOP NOP NOP MOV R7, #25INI_1:JNB DQ,INI_2 DJNZ R7,INI_1;延时 LJMP INI_3INI_2: SETB FLAG;标志位 LJMP INI_4INI_3: CLR FLAG LJMP INI_5INI_4:MOV R0,#80 DJNZ R0,$;时序要求延时一段时间INI_5:SETB DQ;DQ置位进位为1 RET;**************DS18B20写命令******************WRITE_DQ: MOV R6, #8 CLRCTloop: CLR DQ MOVR2,#6 DJNZR2,$ RRC A ;最低位移到C中 MOVDQ,C MOVR2,#23 DJNZR2,$ SETBDQ;DQ置位进位为1 NOP DJNZR6,Tloop SETBDQ;DQ置位进位为1 RET;**************读DS18B20数据函数*************READ_DQ: MOVR5, #2 MOVR0, #30HREAD_0: MOV R6, #8READ_1: CLR C SETBDQ;DQ置位进位为1 NOP NOP CLR DQ NOP NOP NOP NOP SETB DQ;DQ置位进位为1 MOV R2,#9 DJNZ R2,$ MOV C,DQ MOV R3,#23 DJNZ R3,$ RRC A DJNZ R6, READ_1 MOV @R0,A INC R0 DJNZ R5,READ_0 SETB DQ;DQ置位进位为1 RET;***************温度数据处理程序*****************PROC_TEMP: CLRFLAG_NEG MOVA,TEMP_L SWAPA ORLA,#0F0H MOVTEMP_INT,A MOVA,TEMP_H SWAPA ORLA,#0FH ANLTEMP_INT,A MOVA,TEMP_H JB ACC.7,NEGTIVE MOVA,TEMP_L ANLA,#0FH MOVDPTR,#TAB3 MOVCA,@A+DPTR MOVTEMP_DP,A LJMPPRO_0NEGTIVE: ;温度值为负时处理程序,按实际情况,处理过程比较复杂 SETBFLAG_NEG;FLAG_NEG置位进位为1 MOVA,TEMP_L CPLA ANLA,#0FH MOVR1,A CJNER1,#0FH,PRO_1 PUSHACC MOVA,TEMP_INT SUBBA,#1 MOVTEMP_INT,A POPACC MOVTEMP_DP,#00H LJMPPRO_2PRO_1: ADDA,#1 MOVDPTR,#TAB3 MOVCA,@A+DPTR MOVTEMP_DP,APRO_2: MOVA,TEMP_INT CPLA MOVTEMP_INT,APRO_0: MOVA,TEMP_INT MOVB,#100 DIVAB MOVTEMP_100,A MOVA,B MOVB,#10 DIVAB MOVTEMP_10,A MOVTEMP_1,B RET;**************LED显示***********************;**************LCD初始化**********************INIT: MOVDPTR,#8000H SETB WR_LCD SETB RD_LCD MOVA,#01H ACALLF_BUSY MOVX@DPTR,A ACALLF_BUSY MOVA,#38H MOVX@DPTR,A ACALLF_BUSY MOVA,0EH MOVX@DPTR,A ACALLF_BU

温馨提示

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

评论

0/150

提交评论