多路数据采集系统设计_第1页
多路数据采集系统设计_第2页
多路数据采集系统设计_第3页
多路数据采集系统设计_第4页
多路数据采集系统设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

摘要在日常科研和生活中,出于平安、方便等方面的需要,在很多工程及研究领域都需要用到数据采集器的产品。多路数据采集器是集计算机技术、电子技术一体化高科技产品,具有平安性高,使用方便等优点。经过不断的开展,单片机以其体积小、功能强和价格低廉的优点,广泛地应用于家电、工业过程控制、仪器仪表、智能武器、航空和空间飞行器等领域。本文以单片机的功能、特性和使用方法为根底,介绍了多路数据采集系统的工作原理和特点,硬件电路设计,软件的设计和调试,以及PCB板的具体制作。本文从经济实用的角度出发,以ATMEL公司所生产的89系列单片机AT89S52为核心设计多路数据采集系统。该系统包含系统硬件和软件两大局部。硬件局部包含单片机主控电路、模数转换电路、显示电路。系统软件设计包含多路数据采集主程序、温度采集子程序。在程序设计时使用单片机C语言,并用KeilC51软件进行编译和软硬件仿真。在硬件电路制作过程中,使用Protel99SE设计制作PCB板,然后分别对各局部电路焊接,再进行性能和功能测试。该数据采集系统具有数据采集、数据处理、数据显示等功能,其结构简单、本钱低,具有一定的市场前景。关键词:主控电路;温度采集;电压采集;显示电路;制作调制AbstractIndailyscientificresearchandlife,Stemmingfromsafe,isconvenientandsoontheaspectneed,Allneedtouseinverymanyprojectsandtheresearchareatothedataacquisitionproduct。Themultichanneldataacquisitioniscollectioncomputertechnology,theelectronictechnologyintegrationhightechproduct,Hasthesecuritytobehigh,Meritandsooneasytooperate。Afterunceasingdevelopment,Themonolithicintegratedcircuitbyitsvolumesmall,thefunctionisstrongandthepriceinexpensivemerit,Widelyappliesintheelectricalappliances,domainandsooncommercialruncontrol,instrumentmeasuringappliance,intelligentweapon,aviationandspatialflightvehicle。Widelyappliesintheelectricalappliances,domainandsooncommercialruncontrol,instrumentmeasuringappliance,intelligentweapon,aviationandspatialflightvehicle,Introducedthemultichanneldataacquisitionsystemprincipleofworkandthecharacteristic,Hardwarecircuitdesign,Softwaredesignanddebugging,AswellasPCBboardconcretemanufacture。Thisarticleembarksfromtheeconomicalpracticalangle,89seriesmonolithicintegratedcircuitsAT89S52produceswhichbyATMELCorporationisthecoredesignmultichanneldataacquisitionsystem.Thissystemcontainsthesystemhardwareandthesoftwaretwomajorpart.Thehardwarepartiallycontainsthemonolithicintegratedcircuithosttocontroltheelectriccircuit,thea/dconversionelectriccircuit,thedisplaycircuit.Thesystemsoftwaredesigncontainsthemultichanneldataacquisitionmasterroutine,thetemperaturegatheringsubroutine。WhenprogrammingusesthemonolithicintegratedcircuitClanguage,AndsoftwarecarriesonthetranslationandthesoftwareandhardwaresimulationwithKeiltheC51。Inhardwareelectriccircuitmanufactureprocess,UsesProtelthe99SEdesigntomanufacturethePCBboard,Thenseparatelytoeachpartofelectriccircuitswelding,Againcarriesontheperformanceandthefunctiontest。Thisdataacquisitionsystemhasfunctionandsoondataacquisition,dataprocessing,datadisplay,Itsstructuresimple,thecostislow,HasthecertainmarketprospectKeywords:Thehostcontrolstheelectriccircuit;emperaturegathering;voltagegathering,Displaycircuit;Manufacturemodulation目录引言………………………11系统总体设计………11.1单片机系统简介………11.2系统总体设计…………21.2.1系统总体指标………2系统方案………22硬件系统设计………32.1硬件系统的电路构成…………………42.1.1主控电路……………42.1.2温度采集电路………82.1.3电压采集电路……………………132.1.4显示电路…………153系统软件设计………163.1编程语言的选择………163.2工作流程图…………184电路设计、制作、调制……………184.1Protel99se简介………184.2设计原理图和PCB图…………………194.3焊接和调制…………225结果分析……………236结论…………………23谢辞……………………25参考文献………………26附录……………………27引言单片机(SingleChipMicrocomputer)以其体积小、功能强和价格低廉的优点,广泛地应用于家电、工业过程控制、仪器仪表、智能武器、航空和空间飞行器等领域。近30年来,世界上各大电气厂商、测控技术企业和机电行业都竞相把单片机作为其产品更新、智能化的重要工具。目前世界上单片机年产量已达十多亿片,通常是当年微处理器产量的4~5倍以上。其数量之大和应用面之广,是其它任何类型的计其机所无法比较的。单片机是应工业测控需要而诞生的。它把计算机最根本的功能电路,如CPU、程序存储器、数据存储器、I/0接口、定时器/计数器、中断系统等集成到一块芯片上,形成单片形态的计算机。单片机通常以最小系统运行,在家用电器中和常用的智能仪器仪表中常常可以“单片〞工作。而在工业测控的系统中,目前还需要在单片机的根底上外扩存储器、I/O接口以及一些外围电路,形成功能更强、更完善的系统。单片机在目前的开展形势下,表现出几大趋势:〔1〕可靠性及应用水平越来越高,和互联网连接已是一种明显的走向;〔2〕所集成的部件越来越多;NS(美国国家半导体)公司的单片机已把语音、图像部也集成到单片机中,也就是说,单片机的意义只是在于单片集成电路,而不在于其功能了;如果从功能上讲它可以讲是万用机。原因是其内部已集成了各种应用电路;〔3〕功耗越来越低;〔4〕与模拟电路的结合越来越多;1系统的总体设计1.1单片机系统简介要用增加硬件的方法减轻软件的负担。因此,设计应用系统的时候,要对硬件和软件都要有足够单片机要组成一个完整的工业调控系统,通常有两个内容,即单片机的系统扩展与系统配置。系统扩展是指单片机内部的根本单元不能满足应用系统的要求时,必须在片外扩展相应的电路或器件。大多数的单片机都有可供外部扩展的三总线结构(DB,AB,CB)。51系列单片机由P0口构成8位数据总线,P2、P0口构成16位地址总线,可供外部扩展成64KB程序存储器和64KB数据存储器。系统配置是指为了满足系统功能要求而配置的各种接口电路。例如,要构成数据采集系统时,必须配置传感器接口。它需要根据对象的不同选用不同的信号放大、A/D转换、脉冲整形放大、信号滤波等等电路。而要构成伺服系统时那么必须配置伺服控制接口。当然,通常还必须有人机接口,有时还要有网络接口等。系统配置与控制对象和操作者密切相关。要用单片机构成一个满足对象测控要求的用户系统.在硬件系统设计上有两个层次的任务:即由单片机最小系统通过系统扩展构成能满足测控对象要求的计算机系统,称为单片机系统;根据用户及对象的技术要求,通过系统配置各种接口电路,以构成与对象相关的系统,那么称为单片机应用系统。事实上,单片机应用系统组成包含硬件设计和软件设计两局部。而硬件和软件之间的相互关系既密切又制约。设计应用系统很关键的阶段就是确定它们之间的相互关系。有时,我们可以对软件提出一些要求而简化硬件的投入,但有时有的知识,并且对所控制的对象有深刻的认识。要从总体上权衡硬件和软件的可以和可能,合理划分其负担,以得到一个最正确的方案,综上所述本次设计可按以下发方案进行。1.2系统总体设计1.2.1系统总体指标设计课题要求利用所学的单片机和数字模拟电路知识制作一个由单片机实现的多路数据采集系统,一路实现0—5V直流电压采集、处理、存储、显示:一路实现温度、采集、处理、存储、显示。采用开关控制输出通道号。1.2.2系统方案基于以上的具体设计要求考虑,本工程就利用单片机和相应的一些数字模拟电路来实现这些设想,完成一个基于单片机,构成具有上述具体功能的多路数据采集系统。电压采集:把“单片机系统板〞区域中的P0端口的P0.0-P0.7用8芯排线连接到“动态数码显示〞区域中的ABCDEFGDP端口上,作为数码管的驱动。把“单片机系统板〞区域中的P2端口的P2.0-P2.3用8芯排线连接到“动态数码显示〞区域中的T1T2T3T4端口上作为数码管的位段选择。把“单片机系统板〞区域中的P1端口的P1.0-P1.7用8芯排线连接到“模数转换模块〞区域中的D0D1D2D3D4D5D6D7端口上,A/D转换完毕的数据输入到单片机的P1端口把“模数转换模块〞区域中的VREF端子用导线连接到“电源块〞区域中的VCC端子上;把“模数转换模块〞区域中的A2A1A0端子用导线连接地端;把“模数转换模块〞区域中的ST端用导线连接到“单片机系统〞区域中的P3.0端;把“模数转换模块〞区域中的OE端用导线连接到“单片机系统〞区域中的P3.1端;把“模数转换模块〞区域中的EOC端用导线连接到“单片机系统〞区域中的P3.2端;把“模数转换模块〞区域中的CLK端子用导线连接到“单片机系统〞区域中的P3.3端,把“模数转换模块〞区域中的IN0端用导线连接到“1路可调压模块〞区域中的RP1端;ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。ST为转换启动信号。当ST上跳沿时,所有内部存放器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,说明转换结束;否那么,说明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由AT89S52提供,通常使用频率为500KHZ.温度采集本方案是由DS18B20芯片实现温度的采集和模拟量与数据量的转变,这样一个DS18B20就实现了热电阻和ADC0809的功能,采集后的数据经过模数转换后通过一个单总线传送到单片机AT89S52的.P3.6口上,经过单片机的处理,先把一位位的数据经过软件的汇成一个个字节,在通过对DS18S20写到AT89S52里面,最后通过单片机的P0端口P0端口的P0.0-P0.7输出数据量和P2端的P2.0-P2.3控制四合一高亮动态数码管显示。这就可以充分的利用了AT89S52的FLASH的特性,随时根据用户的选择安装相应的控制软件。基于以上的设计思路,初步确定硬件系统的系统框图如图1--1所示。图1图1—1系统框图AT89S52AT89S52单片机时钟电路复位电路电压采集电路温度采集电路LED显示器驱动电路4位LED显示器2硬件系统设计根据以上系统设计构思的具体要求,开始着手对硬件系统进行设计。硬件和软件是单片机控制系统的两个重要方面,硬件是根底,软件是关键,但两者又是可以相互转化的。为了提高系统的可靠性,应在满足系统精度和速度要求根底上进可能把硬件功能改。用软件来实现。对于硬件系统的设计,涉及单片机最小应用系统方面的知识,单片机最小应用系统是指仅使用单片机内部资源辅以必须的外围电路所构建的简单的应用系统。它包括两方面的内容:单片机的选择和单片机最小应用系统的设计。通过单片机的选择,最大限度满足应用系统对硬件资源的要求。最小应用系统设计那么是指单片机最根本的、最通常的外围电路设计,如时钟电路、复位电路等。任何一个复杂的应用系统都是以最小应用系统为根底,通过“搭接〞外部功能模块的方法实现的。下面先介绍基于单片机的多路数据采集系统的硬件系统。2.1硬件系统的电路构成硬件系统的电路由单片机主控电路、温度采集电路、电压采集电路、LED驱动驱动电路、显示电路等这几个主要局部构成。见附录一2.1.1主控电路由单片机AT89S51、振荡电路、复位电路等构成。见附录一〔1〕单片机的选择考虑到硬件电路的简单化和本钱,以及选材和调试的方便性等因素,本次设计选用ATMEL公司的AT89S052单片机作为微处理器。ATMEL公司创立于1984年,总部位于美国加利福尼亚州圣何塞市,在北美及欧洲都拥有制造工厂。ATMEL公司在全世界范围内设计、制造并推出基于先进逻辑的混合信号永久性存储器及射频〔RF〕半导体,同时也是使用CMOS、BiCMOS、SiGe及高压BCDMOS工艺的系统级整合半导体解决。方案的主要供给商。同时,ATMEL拥有广泛的基于80S51结构的微控制器,包括可在线编程的FLASH版本,OTP版本以及ROM版本。同时还提供先进的片上外设功能,如CAN总线控制器,USB控制器,MP3解码器,以及智能卡接口。本次设计所用到的AT89S52单片机内含4KB快闪程序存储器,其编程和擦除完全用电实现,而且4KB的容量完全能够满足本次设计所用的编程,免去了对存贮器及IO口扩展的麻烦;AT89S52单片机的时钟频率为0~24kHz,并且其价格低廉,大批量采购的价格在10元以内。因此,用AT89S52加上相应的时钟和复位电路就组成了,本次设计所需的单片机最小系统。以下结合本次设计的具体内容,简单介绍AT89S52单片机的主要功能特性及其管脚说明:①主要功能特性与MCS-51单片机产品兼容8K字节在系统可编程Flash存储器1000次擦写周期全静态操作:0Hz~33Hz三级加密程序存储器32个可编程I/O口线三个16位定时器/计数器八个中断源全双工UART串行通道低功耗空闲和掉电模式掉电后中断可唤醒看门狗定时器双数据指针掉电标识符②管脚说明:AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到复位为止。P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1〞时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1〞时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流〔IIL〕。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入〔P1.0/T2〕和时器/计数器2的触发输入〔P1.1/T2EX〕,具体如表1--1所示。在flash编程和校验时,P1口接收低8位地址字节。表1—1P1口功能说明表引脚号第二功能P1.0T2〔定时器/计数器T2的外部计数输入〕,时钟输出P1.1T2EX〔定时器/计数器T2的捕捉/重载触发信号和方向控制〕P1.5MOSI〔在系统编程用〕P1.6MISO〔在系统编程用〕P1.7SCK〔在系统编程用〕P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1〞时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流〔IIL〕。在访问外部程序存储器或用16位地址读取外部数据存储器〔例如执行MOVX@DPTR〕时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址〔如MOVX@RI〕访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4TTL逻辑电平。对P3端口写“1〞时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流〔IIL〕。P3口亦作为AT89S52特殊功能〔第二功能〕使用,如表1--2所示。在flash编程和校验时,P3口也接收一些控制信号。表1—2P3口功能说明表引脚号第二功能P3.0RXD〔串行输入〕P3.1TXD〔串行输出〕P3.2INT0(外部中断0)P3.3INT0(外部中断0)P3.4T0〔定时器0外部输入〕P3.5T1〔定时器1外部输入〕P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通)RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊存放器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号〔ALE〕是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚〔PROG〕也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1〞,ALE操作将无效。这一位置“1〞,ALE仅在执行MOVX或MOVC指令时有效。否那么,ALE将被微弱拉高。这个ALE使能标志位〔地址为8EH的SFR的第0位〕的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号〔PSEN〕是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。〔2〕时钟电路时钟电路如图2—1所示时钟电路是计算机的心脏,它控制着计算机的工作节奏。单片机AT89S52的时钟信号可以由两种方式产生:一种是内部方式,利用芯片内部的振荡电路,产生时钟信号;另一种为外部方式,时钟信号由外部引入。考虑到本次设计对时间的要求不是很高,所以选用内部方式产生时钟脉冲。AT89S52内部有一个用于构成振荡器的高增益反相放大器,引脚X1和X2分别为放大器的输入端和输出端。该放大器与作为反响元件的片外晶体或陶瓷谐振器(简称晶振)一起构成自激振荡器。89S52单片机虽然有内部振荡电路,但要形成时钟,必须外接元件,如电路图所示。外接晶振以及电容C2和C3构成并联谐振电路,这种方式就是内部时钟方式。如果振荡器已起振,那么在X2引脚上输出3v左右的正弦波。振荡频率f取决于晶振的频率。不同型号的产品,可选择的频率范围有所不同,一般在0.5-12MHz之间。常用的晶振有6MHz、12MHz和11.0592MHz。电容C8和C9主要作用是帮助起振(谐振),称其为谐振电容,其值的大小对振荡频率也有影响。因此常用调节C2或C3的容量大小对频率进行微调,电容容量通常在20~100pF之间选择,当时钟频率为12MHz时典型值为30pF。本次设计的电路就是选择12MHz的时钟频率。〔3〕复位电路复位电路如图2--2所示而对于AT89C2051单片机的复位电路有两种,上电自动复位和人工复位,人工复位方式只是将一个按键并联在上电自动复位电路上,根据系统的需要这里选择人工复位方式。在电路中,时间常数RC越大,上电时RST端保持高电平的时间越长,当振荡频率f=12MHz时,典型值C=4.7uF,R=10k。想要复位时,只要按一下开关就会在RST端出现一段时间的高电平,使单片机复位。AT89S52的复位输入引脚RST提供了初始化的手段,使程序从指定位置开始执行,即程序从程序存储器的0000H单元处开始执行。在89S52单片机时钟电路工作之后,只要在RST引脚上出现2个机器周期以上的高电平,就能确保单片机可靠复位。假设RST保持高电平,AT89S52维持复位状态,只有当RST由高电平变为低电平以后,AT89S52才会退出复位状态,程序从0000H地址单元开始执行。对于单片机的复位电路,如图2.1.2所示,只要在RST复位端接一个电容至VCC和一个电阻至地即可。很多电子产品中,电容器都是必不可少的电子元器件,它在电子设备中充当整流器的平滑滤波、电源和退耦、交流信号的旁路、交直流电路的交流耦合等。进一步了解电容可使电容在电路中发挥更好的作用。在加电瞬间,RST端出现一定时间的高电平,只要高电平保持时间足够长,就可以使单片机有效地复位。电容器应用在高压场合时,必须注意电晕的影响。电晕是由于在介质/电极层之间存在空隙而产生的,它除了可以产生损坏设备的寄生信号外,还会导致电容器介质击穿。在交流或脉动条件下,电晕特别容易发生。对于所有的电容器,在使用中应保证直流电压与交流峰值电压之和不的超过直流电压额定值。RST端在加电时应保持的高电平时间包括VCC的上升时间和振荡器起振的时间。VCC的上升时间约为10us,振荡器起振时间和频率有关,频率为12MHz时约为1us。频率为1MHz时约为10us,所以一般为了可靠地复位,RST在上电时保持20us以上高电平即可。图2—1复位电路图2—2时钟外电路2.1.2温度采集电路温度采集电路如图2--3所示本方案是由DS18B20芯片实现温度的采集和模拟量与数据量的转变,这样一个芯片DS18B20就实现了热电阻和ADC0809的功能,采集后的数据经过模数转换后通过一个单总线传送到单片机AT89S52的.P3.6口上,经过单片机的处理,先把一位位的数据经过软件的汇成一个个字节,在通过对DS18S20写到AT89S52里面,最后通过单片机的P0端口P0端口的P0.0-P0.7输出数据量和P2端的P2.0-P2.3控制四合一高亮动态数码管显示。这就可以充分的利用了AT89S52的FLASH的特性,随时根据用户的选择安装相应的控制软件。图2--3温度采集电路DS18B20芯片介绍DS18B20是DALLAS公司生产单总线数字温度计,DS1820数字温度计提供9位温度读数,指示器件的温度信息经过单线接口送入DS1820或从DS1820送出因此从中央处理器到DS1820仅需连接一条线和地读写和完成温度变换所需的电源可以由数据线本身提供而不需要外部电源因为每一DS1820有唯一的系列号siliconserialnumber因此多个DS1820可以存在于同一条单线总线上这允许在许多不同的地方放置温度灵敏器件此特性的应用范围包括HVAC环境控制建筑物设备或机械内的温度检测以及过程监视和控制中的温度检测DS1820的主要部件DS1820有三个主要的数据部件164位激光laseredROM;2温度灵敏元件和3非易失性温度告警触发器TH和TL器件从单线的通信线取得其电源在信号线为高电平的时间周期内把能量贮存在内部的电容器中在单信号线为低电平的时间期内断开此电源直到信号线变为高电平重新接上寄生电容电源为止作为另一种可供选择的方法DS1820也可用外部5V电源供电与DS1820的通信经过一个单线接口在单线接口情况下在ROM操作未定建立之前不能使用存贮器和控制操作主机必须首先提供五种ROM操作命令之一1ReadROM(读ROM)2MatchROM(符合ROM),3)SearchROM(搜索ROM),4)SkipROM(跳过ROM),或5AlarmSearch(告警搜索)这些命令对每一器件的64位激光ROM局部进行操作如果在单线上有许多器件那么可以挑选出一个特定的器件并给总线上的主机指示存在多少器件及其类型在成功地执行了ROM操作序列之后可使用存贮器和控制操作然后主机可以提供六种存贮器和控制操作命令之一一个控制操作命令指示DS1820完成温度测量该测量的结果将放入DS1820的高速暂存便笺式存贮器Scratchpadmemory通过发出读暂存存储器内容的存储器操作命令可以读出此结果每一温度告警触发器TH和TL构成一个字节的EEPROM如果不对DS1820施加告警搜索命令这些存放器可用作通用用户存储器使用存储器操作命令可以写TH和TL对这些存放器的读访问通过便笺存储器所有数据均以最低有效位在前的方式被读DS18B20特点独特的单线接口只需1个接口引脚即可通信多点multidrop能力使分布式温度检测应用得以简化不需要外部元件可用数据线供电不需备份电源测量范围从-55至+125增量值为0.5等效的华氏温度范围是-67F至257F增量值为0.9F以12位数字值方式读出温度在1秒典型值内把温度变换为数字用户可定义的非易失性的温度告警设置告警搜索命令识别和寻址温度在编定的极限之外的器件温度告警情况应用范围包括恒温控制工业系统消费类产品温度计或任何热敏系统②DS18B20引脚介绍如图2—4所示图2—4DS18B2管脚图表2—1DS18B2管脚说明引脚8脚SOIC引脚PR35符号说明51GND地42DQ单线运用的数据输入/输出引脚漏极开路见寄生电源一节33VDD可选VDD引脚有关连接的细节见寄生电源一节表2—2DS1820命令集指令说明约定代码发出约定代码后单总线的操作温度变换启动温度变换44h读温度忙状态1读暂存存储器从暂存存储器读字节BEh读9字节数据写暂存存储器写字节至暂存存储器地此2和3处TH和TL温度触发器4Eh写数据至地此2和地此3的2个字节复制暂存存储器把暂存存储器复制入非易性存储器仅地此2和地此343h读复制状态2重新调出E2把贮存在非易失性存储器内的数值重新调入暂存存储器温度触器E3h读温度忙状态读电源发DS1820电源方式的信号至主机B4h读电源状态表2—3DS1820命令字数据位转换时间9位93.75ms10位187.5ms11位375ms12位750ms(2)DS18B20读时序当从DS1820读数据时主机产生读时间片当主机把数据线从逻辑高电平拉至低电平时产生读时间片数据线必须保持在低逻辑电平至少1微秒来自DS1820的输出数据在读时间片下降沿之后15微秒有效因此为了读出从读时间片开始算起15微秒的状态主机必须停止把I/O引脚驱动至低电平见图12在读时间片结束时I/O引脚经过外部的上拉电阻拉回至高电平所有读时间片的最短持续期限为60微秒各个读时间片之间必须有最短为1微秒的恢复时间图12指出TINRT,TRC和TSAMPLE之和必须小于15s如图2--5说明通过使TINRT和TRC尽可能小且把主机采样时间定在15s期间的末尾系统时序关系就有最大的余地图2图2—5读时序图(2)DS18B20写时序当主机把数据线从高逻辑电平拉至低逻辑电平时产生写时间片有两种类型的写时间片写1时间片和写0时间片所有时间片必须有最短为60微秒的持续期在各写周期之间必须有最短为1微秒的恢复时间在I/O线由高电平变为低电平之后DS1820在15s至60s的窗口之间对I/O线采样如果线为高电平写1就发生如果线为低电平便发生写0见图2--6对于主机产生写1时间片的情况数据线必须先被拉至逻辑低电平然后就被释放使数据线。在图2图2—6写时序图写时间片开始之后的15微秒之内拉至高电平对于主机产生写0时间片的情况数据线必须被拉至逻辑低电平且至少保持低电平602.1.3电压采集电路电压采集电路如图2--7所示图2—7电压采集电路电压采集电路只要是由ADC0809和单片机组成ADC0809芯片介绍ADC0809结构如图2--8所示ADC0809是CMOS的8位A/D转换器,采用逐次逼近式进行A/D转换。芯片内有一个8路模拟开关,一个比较器,一个带有树状模拟开关的256R分压器和一个逐次逼近的存放器等等。因而ADC0809有8路模拟量输入通道。ALE为地址锁存信号,高电平有效时,ADDC、ADDB、ADDA被锁存,从而可通过对ADDC、ADDB、ADDA三端输入的地址译码,选通8路模拟量输入〔IN1~IN8〕的任意一路进入片内进行A/D转换。ADC0809引脚及功能ADC0809外部引脚如图2--9所示IN0—IN7:8路模拟量输入端,在多路开关控制下,任一时刻只能有一路模拟量实现A/D转换。A、B、C:多路开关地址选择输入端,当取植000—111时与A/D转换对应的通道为IN0—IN7ALE:地址锁存输入线,该信号上升沿可将地址选择信号A、B、C锁入地址存放器。START:启动转换输入线,其上升沿用以清楚A/D内部存放器,其下降沿用以启动内部控制逻辑开始A/D转换工作。EOC:转换完毕输出线,其上出现高电平是表示A/D转换完毕。2-1—2-8〔D7—D0〕:为8位数据输出端,可直接接入微型机的数据端。OE:允许输出控制端,高电平有效。底电平时,数据输出端为高阻态;高电平时,将A/D转换后的8位数据送出。CLOCK:转换定时脉冲输入端。它的频率决定了A/D转换器的转换速度,使用频率小于等于640KHZ,对应转换速度大于等于100US。Ref(+),Ref(-)(VREF(+))和(VREF(-)):是内部A/D转换器的参考电压输入端。Vcc为+5V,GND为地。图2—8ADC0809结构2.1.4显示电路显示电路包刮LED驱动电路和四位数码管,如图2--10所示显示电路只要又四个8050三极管和四位数码管组成,本电路所用于显示的数码管为四合一共阳数码管入如图2--11所示,为选通的数码管,而单片机虽然能产生5V的高电平,但是产生的电流很小,所以需要用到三极管的开关特性来增大驱动电流。3系统软件设计合理的软件结构是设计出一个性能优良的单片机应用系统软件的根底,必须予以充分重视。由系统的定义,可以把整个工作分解为几个相对独立的操作,根据这些操作的图2—10显示电路图2—9ADC0809外部引脚图2—11四位数码管管脚图相互联系和时间关系,设计出一个合理的软件结构。在程序设计方法上,模块程序设计是单片机应用中最常用的程序设计技术。这种方法的优点是:单个程序模块的设计和调试比较方便且容易完成,一个模块可以为多个程序共享;缺点是:各个模块的连接有时有一定难度。在实际设计中,不管是利用单片机进行数值运算,还是进行实时控制或数据处理,首先总是要把所要解决的问题编成程序,然后计算机才能根据所编的程序进行操作,所以学会编制程序是应用单片机的重要件。在软件结构设计确定之后就可以进行程序设计。一般程序设计过程如下:根据问题的定义,描述出各个输入变量和各个输出变量之间的数学关系,即建立数学模型。然后根据系统功能及操作过程,先列出程序简单功能流程框图〔粗框图〕,再对粗框图进行扩充和具体化,即对存储器、存放器、标志位等工作单元作具体的分配和说明。把功能流程图中每一个粗框图转变为对具体的存储单元、存放器和I/O口的操作,从而绘制出详细的程序流程图〔细框图〕。在完成流程图设计以后,便可编写程序。单片机应用程序可以采用汇编语言,也可以采用C语言等高级语言。编写完后均需汇编成机器码,经调试正常运行后,再固化到非易失性存储器中去,完成系统的设计。在实际应用中,解决某一问题、实现某一功能的程序并不是唯一的。评价它们的质量好坏通常有以下几个标准:〔1〕程序的执行时间。〔2〕程序所占用的内存字节数。〔3〕程序的逻辑性、可读性。〔4〕程序的兼容性、可扩展性。〔5〕程序的可靠性。一般来说,一个程序的执行时间越短,占用的内存单元越少,其质量也就越高。这就是程序设计中的“时间〞和“空间〞的概念。程序设计的逻辑性强、层次清楚、数据结构合理、便于阅读也是衡量程序优劣的重要标准;同时还要保证程序在任何实际的工作条件下、都能正常运行。另外,在较复杂的程序设计中,必须充分考虑程序的可读性和可靠性。同时,程序的可扩展性、兼容性以及容错性等都是衡量与评价程序优劣的重要标准。下面结合汇编语言和C语言的各自特性及优势,对编程语言做出选择。3.1编程语言的选择程序的编写涉及到程序语言的选择,下面就两种程序编写语言:汇编语言和C语言进行选择。〔1〕C语言的优势单片机C语言具有以下优越性:在不需要完全了解单片机系统具体硬件的情况下,也能够编出符合硬件实际的专业水平的程序;不同函数的数据实行覆盖,有效利用片上有限的RAM空间;程序具有巩固性:数据被破坏是导致程序运行异常的重要因素。C语言对数据进行了许多专业性的处理,防止了运行中间非异步的破坏;C语言提供复杂的数据类型〔数组、结构、联合、枚举、指针等〕,极大地增强了程序处理能力和灵活性;提供auto、static、const等存储类型和专门针对8051单片机的data、idata、pdata、xdata、code等存储类型,自动为变量合理地分配地址;提供small、compact、large等编译模式,以适应片上存储器的大小;中断效劳程序的现场保护和恢复,中断向量表的填写,是直接与单片机相关的,都由C编译器代办;提供常用的标准函数库,以供用户直接使用;头文件中定义宏、说明复杂数据类型和函数原型,有利于程序的移植和支持单片机的系列化产品的开发;有严格的句法检查,错误很少,可容易地在高级语言的水平上迅速地被排除掉;可方便地接受多种实用程序的效劳:如片上资源的初始化有专门的实用程序自动生成;再如,有实时多任务操作系统可调度多道任务,简化用户编程,提高运行的平安性等等。〔2〕汇编语言的优点用助记符表示指令系统的语言称为符号语言或汇编语言,用汇编语言编写的程序称为汇编语言程序。在单片机领域,汇编语言是目前最广泛使用的语言,它比机器语言前进了一大步,汇编语言通俗易懂,不易出错,即使出错也容易发现和修改。这给编写、阅读和修改程序带来了很大的方便。因此它是单片机编程所使用的主要语言之一。采用汇编语言编程与采用高级语言编程相比具有以下优越性:占用的内存单元和CPU资源少,能直接对硬件进行控制;程序简短执行速度快;可直接调用单片机的全部资源,并可有效地利用单片机的专有特性;能准确地掌握指令的执行时间,适用于实时控制系统;通过对上述两种编程语言的特性及优点的了解,同时考虑到设计者本人对C语言程序的理解和应用较为熟悉,本次设计中系统软件的设计编程采用C语言进行编写。3.2工作流程图工作流程如图3—1和3--2所示4电路的设计、制作和调试4.1Protel99SE简介Protel99是由一向注重为印刷板设计者们开发软件产品的PROTELTECHNOLOGY公司研制。它提供拉一系列的电路设计工具,优秀的文件管理系统,以及真正的客户/效劳器电路设计系统。Protel使设计人员从繁琐的电路设计中解脱出来,只需一个鼠标便可完成原理图到最终的印刷电路板设计的全部过程,从而真正到达Windows视窗软件风格。Protel99SE采用数据库的管理方式。Protel99SE软件沿袭了Protel以前版本方便图3图3—1主程序流程图易学的特点,内部界面与Protel99大体相同,新增加了一些功能模块,功能更加强大。新增的层堆栈管理功能,可以设计32个信号层,16个地电层,16个机械层新增的3D功能让您在加工印制版之前可以看到板的三维效果。增强的打印功能,使您可以轻松修改打印设置控制打印结果。Protel99SE容易使用的特性还表达在“这是什么〞帮助,按下右上角的小问号,然后输入所要的信息,可以很快地看到特性的功能,然后用到设计中,按下状态栏末端的按钮,使用自然语言帮助参谋。下面就简单介绍一下用Protel99SE来制作本次设计的简单过程。4.2设计原理图和PCB图根据以下步骤可正确的作出本次设计的原理图和PCB图。图3—1子主程序流程图〔1〕选择好SCH,PCB等文件的名字〔用英文,数字〕,加上扩展名。〔2〕原理图:先设计好删格大小,图纸大小,选择公制,加好库元件。按电路功能模块画原理好图,元件和线的画法应让人很容易看清楚原理,尽量均匀,美观,元件里面不要走线,注意不要在管脚中间走线。最好不要让两个元件管脚直接相连,画完后可以自动编号〔特殊要求例外〕,然后加上对应标称值,最好把标称值改为红色,粗体,这样可以和标号区分开。最好把标号和标称值放在适宜位置,一般左边为标号,右边为标称值,或上面为标号,下面没标称值。在设计过程中要注意习惯性保存!首先保证原理图是完全正确的,进行ERC检查无错,然后打印核对。其次最好能搞清楚电路原理,对上下压;大小电流;模拟,数字;大小信号;大小功率分块,以便在后面布局时方便。〔3〕制作PCB元件库:对于标准库和自己的常用库里面没有的元件封装进行制作,要注意画俯视图,注意尺寸,焊盘大小,位置,号,内孔大小,方向。名字用英文,容易看为好,最好有标明对应的尺寸,以便下次用时查找〔可以使用名字和对应尺寸对应的表格形式保存〕。对于常用的二极管,三极管应该注意标号的表示方法,最好在自己库里面有常用系列的二极管,三极管封装,对发光二极管LED,RAD0.1,RB.1/.2等常用而标准库有的元件封装应该都在自己库里面有。像本次设计中所用按键的元件封装都必须自制。〔4〕生成网络表:在原理图里面加好封装,保存,ERC检查,生成元件清单检查。生成网络表。〔5〕建立PCB:选择好公制,捕获和可见删格大小,按要求设计好外框〔向导或自己画〕,然后放好固定孔的位置,大小〔3.0mm的螺丝可以用3.5mm的内孔焊盘,2.5的可以用3的内孔〕,边缘的先改好焊盘,孔大小,位置固定。添加好需要用到的库。〔6〕布局:调用网络表,调入元件,修改局部焊盘大小,设置好布线规那么,可以改变标号的大小,粗细,隐藏标称值。然后先把需要特殊位置的元件放好并琐定。然后根据功能模块布局,〔可以用SCH里面选择过度到PCB里面选择的方式〕,一般不用X,Y进行元件的翻转,而是用空格旋转,或L键,〔因为有些元件是不能翻转的,如集成块,继电器等〕。对于一个功能模块先放中心元件,或大元件,然后放旁边的小元件,〔比方集成块先放,然后放直接和集成块两管脚直接相连的元件,再放和集成块一个管脚相连的元件,而且类似的元件尽量放在一起,比较美观也要考虑后面连线的方便性〕。当然一些特殊关系的元件先放,比方一些滤波电容和晶振等需要靠近某些元件的先放好。还有会干扰的元件先整体考虑要离远点。上下压模块要间隔6.4mm以上。要注意留出散热片,接插件,固定架的位置。一些不能布线的地方可以用FILL。还要考虑散热,热敏元件。电阻,二极管的放置方式:分为平放与竖放两种:①、平放:当电路元件数量不多,而且电路板尺寸较大的情况下时平放较好;对于1/4W以下的电阻平放时,两个焊盘间的距离一般取4/10英寸,1/2W的电阻平放时,两焊盘的间距一般取5/10英寸;二极管平放时,1N400X系列整流管,一般取3/10英寸;1N540X系列整流管,一般取4~5/10英寸。②、竖放:当电路元件数较多,而且电路板尺寸不大的情况下,一般是采用竖放,竖放时两个焊盘的间距一般取1~2/10英寸。〔7〕布线:先设置好规那么里面的内容,VCC,GND大功率等大电流的线可以设置的宽点〔〕,一般1mm可以通过1A的电流。对于大电压的线间距可以设置大点,一般1mm为1000V。设置好了,先布VCC,GND等一些比较重要的线。注意各个模块的区分。对单面板最好可以加一些条线。加过孔,不一定横平竖直,集成块的焊盘间一般不走线,大电流的宽线可以在solder层画上线,以便后面上锡;走线用45度角。〔8〕手工修改线:修改一些线的宽度,转角,补泪地或包焊盘〔单面板必须做〕,覆铜,处理地线。〔9〕检查:DRC,EMC等检查,然后可以打印检查,网络表比照。进行元件清单检查。〔10〕加型号〔一般在丝网成〕。〔11〕布线与布线注意的问题:①、电位器的调节一般是顺时针为加大〔电压,电流等〕。②、高频〔>20MHz〕一般是多点接地。小于10MHz或者小于1MHz单点接地。其余为混合接地。③、根据需要,不是所有器件都要按标准封装,可以是跨接或立接的焊接。④、在印制板布线时,应先确定元器件在板上的位置,然后布地线,电源线。在安排高速信号线时,最好考虑低速信号线。元气件的位置按电源电压,数字模拟,速度快慢,电流大小等分组。平安的条件下,电源线应尽量靠近地。减小差摸辐射的环面积,也有助于减小电路的交流干扰。当需要在电路板上布置快速,中速,低速逻辑电路时,高速的应放在靠近边缘连接器范围内,而低速逻辑和存储器,应放在远离连接器范围内。这样对共阻抗偶合,辐射和交扰的减小都是有利的。同时也要注意接地的重要性。最后把所有文件作个备份。本次基于单片机的多路数据采集系统的原理图和PCB印刷板图见附录页。4.3焊接和调制〔1〕焊接做出正确的PCB图后,如用热转印法泡制电路板,那么要用熨斗把PCB图转印到单层印制铜板上,并用三氯化铁泡制好后,用打孔机把所需的插元器件的孔打好,再用焊锡把元器件焊接好才能完成电路板的根本制作。焊接电路板时应细心,并掌握好焊接要领,才不至于造成虚焊,把不该连的两线之间接上等错误。下面就简单介绍一下焊接过程中体会到的要领。①、保持烙铁头的清洁。因为焊接时烙铁头长期处于高温状态,外表很容易氧化而形成一层黑色杂质,使烙铁头失去加热作用。因此,要随时在烙铁架上蹭去杂质,或用棉丝把烙铁头上的氧化物擦干净。②、烙铁头要要拿稳,不能抖动,最好将45度左右的角度进行焊接,且以烙铁头一面去接触焊点,这样传热面大,焊接快而好。焊接时不要只接触一个点,更不要将烙铁头在焊点上来回移动或用力下压。以免损坏元件和印刷线。③、焊接时应扶稳焊件,特别是焊点凝固过程中不能晃动焊件,否那么容易造成虚焊。④、焊锡不要太多,能包住焊接头即可,每个焊点能一次焊成最好,如果需要再次焊接时一定要等两次焊锡融化前方可移开烙铁头。⑤、助焊剂。过量的松香将延长加热时间〔松香融化,挥发需要带走热量而降低焊工作效率,而加热时间缺乏时又容易夹杂到焊锡中形成“夹渣〞缺陷。对使用松香芯的焊锡来说根本不用再涂松香。因为选用了发光二极管,所以制板时特别注意到以下几点事项:首先要正确弯折管脚。弯折管脚应在焊馅之前进行、不能在焊到电路板上后再进行。而且要注意正确操作:用钳子夹住管脚根部。保持管脚根部固定不动,然后再将管脚弯成所需的形状。然后要正确焊接。焊接条件要求:温度260度,时间在3s之内。焊接时应用镊子夹住管脚的根部以利散热。焊接点要远离管子的树脂包装根部,并勿使管子受力。禁忌焊接温度过高和焊接时间过长。〔2〕调制一个单片机应用系统经过方案论证、硬件设计、印制板的布图、加工和焊接包括软件的编制,通常不可能一次成功,不可防止的要出现一些错误,这就要靠调试来解决。调试的次序一般是先易后难,后面的调试应尽可能采用以前调好的电路,各单元电路〔或称作单元模块〕都调好以后,再进行系统总调。对于本设计电路,其硬件电路可以按如下步骤进行。①、硬件电路总体检查在一块电路试验板上,焊接好电路,按实际电路图插好元器件,连好线。在接上电源之前,用万用表粗略检查电路的正确性,尤其是要检查电源和地之间的电阻。对于本次设计来说。确保电源和地无故障之后,再通电,然后检查各电源+5V电压数值的正确性。排除可能出现的故障后,再进行各单元电路调试。②、单元电路调试单片机系统调试:首先按照前面设计的单片机系统和电源,焊接并插上相应的元器件,连好线,检查无误后,接上电源,用示波器测试单片机的时钟波形。假设时钟波形和频率正确,那么进行下一步检查。然后切断电源,空出单片机AT89S52的位置,并在此位置上插入仿真器的20芯仿真头。连好相应线,检查正确无误后,接上电源,然后启动仿真器,检查复位等电路的正确性。5结果分析本系统经过调试后可以实现对电压、环境温度的采集和显示。温度采集调制情况,当用一个热源〔例如电烙铁,人体等〕或冷源〔例如冰块等〕贴近温度传感器件时,LCD的显示值就会发生上升或下降。温度采集数据如表5—1所示表5—1温度采集数据单位:0C实际温度值显示值20.019.921.221.021.921.722.522.023.123.223.423.625.625.726.326.326.826.827.527.428.828.929.029.40C之间,但是由于所设计的显示电路精度有限,程序使用了16×4的数组,LED显示的温度值呈现的上升或下降,DS18B20测温范围是-550C--+1250C,DS18B20在出厂时默认为12位转换精确度,DS18B20工作在9位、10位、11位和12位模式时温度分辨率依次分别为0.50C、0.250C、0.1250C、0.06250C。可用下述方法获得更高的分辨力。首先,读取温度值,将〔LSB〕从读取的值中截去,这个值叫做TEMP_READ。然后读取计数器中剩余的值,这个值是门周期结束后保存下的值〔COUNT_REMAIN〕。最后,将用到在这个温度下每度的计数值〔COUNT_PER_C〕。于是可以用下面的公式计算实际温度值:温度采集系统的分辨率可以精确到0.040C,满足设计要求。LED对输入信号的反响是很快的,响应时间在毫秒级范围,但是当温度改变时,LED的显示会有一定时间的延迟,这是因为在软件程序设计中时序处理上的问题,由于环境和电路的限制,DS18B20以及LED的延迟在500ms左右。电压采集调制情况,电压采集数据如表5—2所示表5--2电压采集数据单位:V第一次测量得到的数据第一次测量得到的数据输入电压值显示电压值输入电压值显示电压值5.005.025.005.024.504.524.534.564.004.014.004.033.523.543.503.523.063.073.003.012.712.712.502.522.202.222.002.021.501.511.501.511.001.001.001.000.500.510.500.490.000.000.000.00分析上表得到电压显示误差在0.01-0.03V,由于环境和电路的限制等因素造成误差。现所对存在误差分析如下:一个n位A/D转换器的模数转换表达式是〔5-1〕式中n——n位A/D转换器;VR+、VR-——基准电压源的正、负输入;VIN——要转换的输入模拟量;B——转换后的输出数字量。即当基准电压源确定之后,n位A/D转换器的输出数字量B与要转换的输入模拟量VIN呈正比。例如:一个8位A/D转换器,设VR+=5.02V,VR=0V,计算当VIN分别为0V、2.5V、5V时所对应的转换数字量。解:把数代入公式〔5-1〕0V、2.5V、5V时所对应的转换数字量分别为00H、80H、FFH。此种A/D转换器的常用品种有普通型8位单路ADC0801~ADC0805、8位8路ADC0808/0809、8位16路ADC0816/0817等,混合集成高速型12位单路AD574A、ADC803等。〔1〕分辨率分辨率是指A/D转换器对微小输入信号变化的敏感程度。分辨率越高,转换时对输入量微小变化的反响越灵敏。通常用数字量的位数来表示,如8位、10位、12位等。分辨率为n,表示它可以对满刻度的1/2n的变化量作出反响。即:分辨率=满刻度值/2n〔2〕A/D转换器的转换精度可以用绝对误差和相对误差来表示所谓绝对误差,是指对应于一个给定数字量A/D转换器的误差,其误差的大小由实际模拟量输入值和理论值之差来度量。绝对误差包括增益误差,零点误差和非线性误差等。相对误差是指绝对误差与满刻度值之比,一般用百分数来表示,对A/D转换器常用最低有效值的位数LSB〔LeastSignificantBit)〕来表示,1LSB=1/2n。例如,对于一个8位0-5V的A/D转换器,如果其相对误差为±1LSB,那么其绝对误差为±19.5mV,相对百分误差为0.39%。一般来说,位数n越大,其相对误差〔或绝对误差〕越小。6结论在这几个月的毕业设计中,通过理论和实践的相结合,我学到了许多新的知识和理论,为以后在实际工作中的应用打下坚实的根底。首先自己通过查阅和翻译有关方面的书籍、资料和设计、制作、调试电路板,使我在总结大学四年所学的许多根底和专业知识的根底上,很好地锻炼了自己的动手能力和实践能力,进一步稳固了对电子电路分析和设计的根本方法。这其中包括:根据设计任务和指标查找有关资料,初选电路;通过调查研究,设计计算,确定硬件电路方案;设计电路的整个过程中,在硬件电路方面我更加熟悉了三极管和单片机的使用。选择元件,安装电路,用适宜的程序语言编写相关程序并进行调试,分析实验结果,根据实验调试结果做出相应的改良,写出毕业设计总结报告。其次,对单片机的具体应用有了更加深入的了解,特别是在结合课堂上所学的有关单片机的理论知识,通过自己实际动手操作,对AT89S52的性能及其工作原理有了进一步的了解。软件方面,在充分熟悉AT89S52的工作原理的情况下,利用C语言,写出了符合此次设计要求的程序。在设计中,通过对多种软件的应用,加深了对KeilC及Protel99SE的认识使用和对C语言编程的进一步了解。通过这次设计,也掌握了不少Protel99SE的应用技巧,用Protel99SE制作电路板的过程中,我有以下几点体会:〔1〕在元器件的布局方面,应该把相互有关的元件尽量放得靠近一些,例如,时钟发生器、晶振、CPU的时钟输入端都易产生噪声,在放置的时候应把它们靠近些。对于那些易产生噪声的器件、小电流电路、大电流电路开关电路等,应尽量使其远离单片机的逻辑控制电路和存储电路〔ROM、RAM〕,如果可能的话,可以将这些电路另外制成电路板,这样有利于抗干扰,提高电路工作的可靠性。〔2〕尽量在关键元件,如ROM、RAM等芯片旁边安装去耦电容。实际上,印制电路板走线、引脚连线和接线等都可能含有较大的电感效应。大的电感可能会在Vcc走线上引起严重的开关噪声尖峰。防止Vcc走线上开关噪声尖峰的唯一方法,是在Vcc与电源地之间安放一个0.1uF的电子去耦电容。如果电路板上使用的是外表贴装元件,可以用片状电容直接紧靠着元件,在Vcc引脚上固定。最好是使用瓷片电容,这是因为这种电容具有较低的静电损耗〔ESL〕和高频阻抗,另外这种电容温度和时间上的介质稳定性也很不错。在调试电路的时候,遇到的问题最多,从电路的最前面一点一点测试芯片管脚的电压值,每一局部电路都应实现自己的功能,才能得出最终的结果,到达目标。我认为调试电路不但要熟悉根底电路知识,还要有相当的调试经验,但电路出现问题的时候应该大胆的做尝试,在这方面我比较欠缺,我会在以后的工组学习中尽量弥补自己的弱点。由于我是第一次使用单片机进行设计,本设计就是采用了AT89S52单片机的最小应用设计。通过不断调试,掌握了一些电路调试的一般规律。实验中出现一般故障,能通过“观察,判断,试验,再判断〞的根本方法去解决;能对实验结果独立地进行分析,评价。掌握常用电子仪器和专用电路实验箱的使用方法和测试技能等等总的来说,我觉得本设计还没有完全符合实际使用的功能,虽然能够进行温度、电压采集和显示,这还需要进一步完善,进行5路以上的数据采集,采用无线发射和接受数据,我也这方面进行过制作,但是没有成功,只要原因是面自己掌握的知识也有很限。谢辞本次毕业设计从开题到方案的设计和具体电路试验的实施始终是在导师徐亚宁精心指导和周密安排下进行的,徐亚宁老师对系统的方案设计特别是相应软件的编写提出了很好的建议,起到了至关重要的作用。在本次设计目标的实现过程中,周跃军同学给了很大的帮助。另外在本次毕业设计中,系领导,学校本次毕业设计表示了极大的关心和支持;在此,我谨向徐亚宁老师以及所有给予我关心和帮助的老师和同学们表示衷心感谢!在桂林电子科技大学学习的四年时间里,我得到了许多老师和同学们的关心和助,使我掌握了许多科学文化知识和专业技能。感谢老师对我多年来的培养,毕业在即,谨向所有老师、同学们致以崇高的敬意和衷心的感谢!参考文献[1]何立民.单片机应用系统设计[M].北京:北京航空航天大学出版社,2003.[2]谢自美.电子线路设计·实验·测试[M].武汉:华中科技大学出版社,2002.[3]李群芳,黄建.单片微型计算机与接口技术[M].北京:高等教育出版社,2002.[4]黄冰,覃伟年,黄知超.微机原理及应用[M].重庆:重庆大学出版社,2003.[5]康杰.电子元气件简明手册[M].地震出版社,1998.[6]江国强.现代数字逻辑电路[M].北京:电子工业出版社,2002.[7]吴炳胜.80C51单片机原理与应用[M].北京:冶金出版社,2003.[8]赵子婴,赵辉,王洪君等.单片机原理及应用[M].济南:山东大学出版社,2003.[9]谭家玉,郑大宇等.单片机原理及接口技术[M].哈尔滨:哈尔滨工业大学出版社,2003.[10]StanleyG.BurnsPaulR.Bond.PRINCIPLESOFELECTRONICCIRCUITS[M].北京:机械工业出版社,2001.[11]王卫东.模拟电子电路根底[M].西安:西安电子科技大学出版社,2003.[12]PhilipEAllen,DouglasRHolberg.CMOSAnalogCircuitDesign[M].NewYork:PublishingHouseofElectronicsIndustry,1980:170~203.附录一原理图附录二PCB图附录三主程序〔电压采集〕#include<AT89X51.H>插入8051单片机的预定义文件#include<ds18b20.h>插入DS18B20单片机的预定义文件#defineSTP3_0#defineOEP3_1#defineEOCP3_2#defineCLKP3_3unsignedcharcodedispbitcode[]={0xf8,0xf4,0xf2,0xf1};unsignedcharcodedispcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,

温馨提示

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

评论

0/150

提交评论