• 1.55 MB
  • 2022-04-22 11:28:25 发布

水温控制器设计毕业设计论文.doc

  • 49页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'xx大学本科毕业设计(论文)学生毕业设计(论文)题目水温控制器设计作者院(系)专业测控技术与仪器指导教师答辩日期Ⅰ xx大学本科毕业设计(论文)毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:     日 期:     指导教师签名:     日  期:     使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:     日 期:     Ⅰ xx大学本科毕业设计(论文)毕业设计(论文)诚信责任书本人郑重声明:所呈交的毕业设计(论文),是本人在导师的指导下独立进行研究所取得的成果。毕业设计(论文)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。尽我所知,除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人毕业设计(论文)与资料若有不实,愿意承担一切相关的法律责任。论文作者签名:年月日Ⅰ xx大学本科毕业设计(论文)摘要水温控制无论是在工业生产中,还是在日常生活中都起着非常重要的作用。过低的温度或过高的温度都会使水资源失去应有的作用,从而造成水资源的巨大浪费,给生活和生产带来许多不利因素。本文以单片机技术和温度传感器技术为基础,制定出一套以硬件和软件相结合的方式完成水温控制器设计的方案。硬件方面,利用AT89S52单片机作为核心控制器件,结合外围的晶振电路、复位电路、报警电路、显示电路和测温电路组成水温控制器系统。软件方面,给出了系统的软件流程图,并采用C语言作为编程语言进行程序设计,使系统可以显示温度等信息。水温控制器系统可以广泛地应用于电器、汽车、材料、生物工程等领域。该系统操作简单、功率消耗低、准确率高,具有较好的适用性和推广价值。关键词:DS18B20;AT89S52;水温控制;C语言Ⅰ xx大学本科毕业设计(论文)Ⅰ xx大学本科毕业设计(论文)TheDesignofWaterTemperatureControllerABSTRACTTemperaturecontrolinindustrialproductionplaysaveryimportantroleinourdailylife.Lowtemperatureorhightemperaturewillcausethewatertoloseitsproperrole,resultinginahugewasteofwaterresources,bringmanynegativefactorstothelifeandproduction.Thispaperbasedonthesinglechipcomputertechnologyandsensortechnology,developsasetofsolutionofhardwareandsoftwarecombinationtocompletetemperaturecontrollerdesign.Intermsofhardware,thispaperusesAT89S52microcontrollerasthecorecontroldevice,combineswithcrystalcircuit,resetcircuit,alarmcircuit,displaycircuitandperipheraltemperaturemeasurementcircuittemperaturecontrollersystem.Intermsofsoftware,thesoftwareflowchartofthesystemisgiven.ThispaperusesClanguageasaprogramminglanguagedesignandthesystemcandisplaythetemperatureandotherinformation.Thewatertemperaturecontrollersystemcanbewidelyusedinelectricalappliances,vehicles,materials,bio-engineeringandotherfields.Thesystemissimple,lowpowerconsumption,highaccuracy,andhasgoodapplicabilityandpromotionalvalue.Keywords:DS18B20;AT89S52;Watertemperaturecontrol;Clanguage xx大学本科毕业设计(论文) xx大学本科毕业设计(论文)目录摘要IABSTRACTII1绪论11.1水温控制器的介绍11.2本设计的要求12主要器件介绍32.1单片机的选择32.1.1AT89C52单片机性能简介32.1.2AT89C52单片机引脚功能说明32.2传感器的选择52.2.1DS18B20的简介52.2.2DS18B20的引脚功能说明62.3驱动芯片的选择72.3.174LS245的简介72.3.274LS245的引脚说明72.4显示器的选择82.4.1数码管的简介82.4.2数码管驱动方式82.4.3数码管的引脚功能说明93系统硬件构成113.1设计原理113.2外围电路113.2.1电源电路113.2.2晶振电路123.2.3复位电路133.2.4报警电路133.2.5加热控制电路143.2.6测温电路143.2.7显示电路154系统软件设计175软件调试及仿真19 xx大学本科毕业设计(论文)5.1软件编译195.1.1工程的创建195.1.2AT89C52单片机的选择195.1.3程序的编译205.2系统仿真测试216结论25参考文献27致谢29附录A31附录B33 xx大学本科毕业设计(论文)1绪论1.1水温控制器的介绍水是生命之源,自从生命在水中形成的第一天起,水在生命体中所起的作用就没有发生过改变,无论日常生活还是生产过程中都离不开水,水温控制器广泛应用于社会生产、生活中的各个领域,如家用电器、汽车、材料、生物工程中等,都起着重要作用,温度过低或过高都会使水资源失去应有的作用,降低水资源的利用率,而且会造成水资源的巨大浪费,造成不必要的损失,给生活生产带来多不利因素,并且不符合当代社会的可持续发展。本系统的设计可以用于水温控制,它以单片机AT89S52为核心,使用温度转换芯片DS18B20实时采集温度,通过数码管显示温度,并提供各种运行指示灯用来指示系统现在所处状态[1]。传统的温度采集电路相当复杂,需要经过温度采集、信号放大、滤波、AD转换等一系列工作才能得到温度的数字量,并且这种方式不仅电路复杂,元器件个数多,而且线性度和准确度都不理想,抗干扰能力弱。现在常用的温度传感器芯片不但功率消耗低、准确率高,而且比传统的温度传感器有更好的线性表现,最重要的一点是使用起来方便[2]。1.2本设计的要求基于AT89S52单片机水温控制器晶振采用12MHz,具体要求如下:(1)初始温度设置为50℃。(2)越线报警温度设置为70℃。(3)控制精度为1℃。(4)控制范围为环境温度室温到70℃。39 xx大学本科毕业设计(论文)39 xx大学本科毕业设计(论文)2主要器件介绍2.1单片机的选择本次设计单片机选用ATMEL公司的AT89S52单片机。2.1.1AT89C52单片机性能简介AT89C52单片机是美国爱特梅尔(Atmel)公司生产的51系列单片机的一个型号[3]。它是一个低电压、高性能CMOS8位的单片机,片内含8kbytes的可反复檫写Flash只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,与标准的MCS-51指令系统和8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元[4]。AT89C52单片机的主要性能特征如下[5]:(1)与标准的MCS-51指令系统和8052产品引脚兼容;(2)8kbytes的可反复檫写(>1000)Flash只读程序存储器;(3)256×8bit内部RAM;(4)全静态操作:时钟频率0~24MHz;(5)32个可编程I/O口;(6)2个串行中断;(7)2个外部中断源;(8)6个中断源;(9)2个读写中断口线;(10)3个16位定时/计数器;(11)可编程UART串行通道。2.1.2AT89C52单片机引脚功能说明AT89C52的引脚如图2-1所示。39 xx大学本科毕业设计(论文)图2-1AT89C52的引脚图各引脚功能说明[6]:AT89C52单片机有4组8位可编程I/O口,分别为P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。其中P0口是一个漏极开路的8路准双向I/O端口,作输入口使用时要先写1,这就是准双向的含义。P0(P0.0~P0.7)口:一组8位漏极开路型双向I/O口,即地址/数据总线复用口。当作为输出口使用时,每位可以驱动8个TTL逻辑门电路;当对端口写“1”时,引脚用作高阻抗输入;当Flash编程时,端口接收指令字节;当程序校验时,需要外接上拉电阻;当访问外部数据存储器或者程序存储器时,这组口线分时地转换低8位地址和数据总线复用,在访问期间激活内部的上拉电阻。P1(P1.0~P1.7)口:一组带内部上拉电阻的8位双向I/O口,端口的输出缓冲级可驱动4个TTL逻辑门电路。当对端口写“1”时,可用作输入口;当作为输入口使用时,被外部信号拉低的引脚会输出电流IIL。此外,P1.0和P1.1还能分别作为定时/计数器2的外部计数输入和输入。P2(P2.0~P2.7)口:一组带内部上拉电阻的8位双向I/O口,端口的输出缓冲级可驱动4个TTL逻辑门电路。当对端口写“1”时,可用作输入口;当作为输入口使用时,被外部信号拉低的引脚由于内部存在上拉电阻会输出一个电流IIL;当Flash编程或校验时,端口接收高8位地址字节和一些控制信号;当访问外部程序存储器或16位地址的外部数据存储器时,端口送出高8位地址数据;当访问839 xx大学本科毕业设计(论文)位地址的外部数据存储器时,端口输出P2锁存器中的内容。P3(P3.0~P3.7)口:一组带内部上拉电阻的8位双向I/O口,端口输出缓冲级可驱动4个TTL逻辑门电路。当对端口写“1”时,可用作输入口;当作为输入口使用时,被外部信号拉低的引脚由于内部存在上拉电阻会输出一个电流IIL。另外,P3口还具有第二功能如表2-1所示[7]。表2-1P3口第二功能表引脚第二功能特性P3.0串行输入口RXDP3.1串行输出口TXDP3.2外中断0P3.3外中断1P3.4定时/计数器0P3.5定时/计数器1P3.6外部存储器写选通P3.7外部存储器读选通EA/VPP口:外部访问允许控制信号。要使CPU仅访问外部程序存储器,EA端必须保持低电平(接地)。若EA端为高电平(接Vcc端),则CPU执行内部程序存储器中的指令。ALE/PROG口:地址锁存控制信号。当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存地址的低8位字节。每当访问外部数据存储器时,跳过一个ALE脉冲。RST:复位输入端口,外接电阻电容组成复位电路。当晶振工作时,RST引脚持续两个机器周期以上的高电平将使单片机复位。XTAL1口:内部时钟发生器和振荡器反相放大器的输入端。XTAL2口:振荡器反相放大器的输出端。PSEN口:外部程序存储器的读选通信号。当单片机由外部程序存储器取指令时,每个机器周期输出两个脉冲;当访问外部数据存储器时,PSEN不被激活[8]。2.2传感器的选择本次设计选用的是单线数字传感器DS18B20。2.2.1DS18B20的简介39 xx大学本科毕业设计(论文)DS18B20是美国DALLAS半导体器件公司在其前代产品DS18B20的基础上推出的单线数字化智能集成温度传感器,其特点是[9]:(1)独特的单线接口,只需1个接口引脚即可通信。(2)不需要额外的外部元件搭建外围电路即可正常运行。(3)可用数据线供电,不需要备份电源。(4)测量范围为-55~+125℃,增量值为0.5℃;等效的华氏温度范围是-67~257℉,增量值为0.9℉。(5)以9~12位数字值方式读出温度。(6)在1s典型值内把温度变换为数字。(7)用户可定义的非易失性的温度告警设置。主要的优点是:(1)DS18B20可将被测温度直接转换成计算机能识别的数字信号输出。(2)DS18B20能提供9~12位温度读数,精密度高且其信息传输只需1根信号线,与计算机接口的连接十分简便,读写及温度变换的功率全部来自于数据线,因此,不需要额外的附加电源。(3)每一个DS18B20都含有一个唯一的序列号,这样的设计是为了允许多个DS18B20连接到同一总线上,因此,非常适合构建多点温度检测系统。(4)负压特性。DS1820的电源极性接反时,它虽然不能正常工作,但也不会因发热而烧毁。2.2.2DS18B20的引脚功能说明DS18B20全部传感元件及转换电路集成在形如一只三极管的集成电路内。三端口分别是地线、数据线和电源线,其外围电路非常简单。每一个DS18B20有唯一的序列号,多个DS18B20可以存在于同一条单线总线上[10]。其DS18B20的管脚配置和封装结构如图2-2所示。图2-2DS18B20的引脚图39 xx大学本科毕业设计(论文)引脚定义:(1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。2.3驱动芯片的选择本设计驱动芯片选择74LS2452.3.174LS245的简介74LS245是我们常用的芯片,用来驱动LED或者其他的装备,它是8路同相三态双向总线收发器,可双向传输数据[11]。74LS245还具有双向三态功能,既可以输出,也可以输入数据。当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。2.3.274LS245的引脚说明当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)DIR=“1”,信号由A向B传输;(发送)当CE为高电平时,A、B均为高阻态。由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,E端接地,保证数据线畅通。8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1←D1),其它时间处于输出(P0.1→D1)。74LS245的引脚如图2-3所示。图2-374LS245引脚图39 xx大学本科毕业设计(论文)2.4显示器的选择本设计显示器选择2位8段共阳数码管。2.4.1数码管的简介数码管是电路中常见的显示元件,按段数分为七段数码管和八段数码管。把段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按照显示“8”的个数可分为1位,2位,4位等数码管(如图2-4);按发光二极管单元连接方式分为共阳极数码管和共阴极数码管[12]。八段数码管是数码管的一种,是半导体发光器件,数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数码管多一个发光二极管单元,其基本单元是发光二极管。其优点是价格便宜、使用简单,通过对其不同的管脚输入相对的电流,使其发亮,从而显示出数字,能够显示时间、日期、温度等所有可用数字表示的参数的器件。图2-4AT89C52的引脚图图2-4数码管位数2.4.2数码管驱动方式直流驱动:指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。优点是编程简单,显示亮度高,缺点是占用I/O端口多。39 xx大学本科毕业设计(论文)动态显示驱动:将所有数码管通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示。将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。2.4.3数码管的引脚功能说明七段LED有共阴极与共阳极两种。在图2-5中,公共阴极接地,当阳极上的信息为“1”时,段就点亮;信息为“0”时,段就不亮。在图2-6中,公共阳极接到+5V,当阴极上的信息为“1”时,段就不亮;信息为“0”时,段就点亮。图中R是限流电阻。图2-6表示七段LED内段的排列。图2-5数码管共阴极接法图2-6数码管共阳极接法39 xx大学本科毕业设计(论文)图2-77段数码管内段的排列共阴极和共阳极数码管0-9这十个数字的段码表,如表2-2所示。表2-2数字段码表数字0123456789共阴0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f共阳0xc00xf90xa40xb00x990x920x820xf80x800x9039 xx大学本科毕业设计(论文)3系统硬件构成3.1设计原理根据系统总体的设计方案,水温控制器的硬件设计部分采用AT89C52单片机作为核心控制器件,结合外围的测温电路和数码管显示电路等硬件辅助电路,组成水温控制器系统。通过按键电路来设置加热温度,并将设置的温度值在数码管上显示,环境温度由DS18B20来测出,传到单片机进行处理。硬件设计总体结构框图如图3-1所示。AT89S52单片机测温传感器加热装置光电隔离复位电路晶振电路按键5V电源报警电路显示电路图3-1硬件总体原理框图3.2外围电路本系统选用单片机AT89S52作为核心控制器件,结合电源电路、晶振电路、复位电路、报警电路、测温电路、显示电路等外围辅助电路,可以实现基本的水温控制功能。其总电路图见附录A。3.2.1电源电路本次设计的电源电路为+5V稳压电源,其电路如图3-2所示。39 xx大学本科毕业设计(论文)图3-2电源电路原理图稳压电源电路即利用晶体管作为调整元件和负载串联,调整元件看做是可变电阻,从输出电压中提取全部或部分电压调节调整管所呈现的电阻来维持输出电压基本不变。它的输出电压可以随意连续调节,输出电流也可达到很大,稳压精度较高。稳压电源电路主要由变压器、三端集成稳压器7805、整流电路、滤波电路组成。变压器是利用电磁感应原理进行变换交流电压、阻抗和电流的器件;三端稳压器可靠性高、精度高、电路实现简单且价格低廉,可以实现可靠的直流稳压电源;整流电路采用全桥式整流桥,即利用四个二极管两两并联后接入输出电压;电容滤波电路即在输出端并联一个电容器。3.2.2晶振电路单片机是一种时序电路,必须提供脉冲才能正常工作。MCS-51系列单片机内部都有一个时钟振荡电路,只需外接晶振源,就可以产生一定频率的时钟信号送到单片机的内部各个单元,决定单片机的工作速度。XTAL1和XTAL2脚分别构成单片机片内振荡电路的反相放大器的输入端和输出端,外接石英晶体X1和振荡电容C1、C2构成并联谐振电路。晶振是石英振荡器的简称,英文名为Crystal,是利用石英晶体(SiO2晶体)的压电效应制成的一种谐振器件;两个振荡电容C1、C2是分别接在晶振的两个脚和对地的电容,本设计分别选用12.0MHz的标准石英晶振和两个22pF的电容。晶振电路如图3-3所示。39 xx大学本科毕业设计(论文)图3-3晶振电路图3.2.3复位电路89系列单片机的复位信号是从RST引脚输入到芯片内的触发器中的,当系统处于正常工作状态且振荡器稳定时,如果RST脚上有一个高电平并维持两个机器周期以上,CPU就可响应并且将系统复位。不管是单片机刚接上电源还是断电后或发生故障后均要进行复位的操作。通常采用手动复位和上电自动复位的组合,在通电瞬间,电容C通过电阻R充电,RST端出现正脉冲,用于复位。复位电路如图3-4所示。图3-4复位电路原理图3.2.4报警电路当环境温度不在设置温度范围内,需要发出警报,报警电路由PNP三极管和扬声器组成。电路中用PNP三极管,选用低功率三极管9012,当P1.0低电平,三极管集电极正偏,发射机反偏,三极管导通,驱动蜂鸣器报警。报警电路如图3-5所示。39 xx大学本科毕业设计(论文)图3-5复位电路原理图3.2.5加热控制电路当控制温度大于设定温度,则关闭加热器;当控制温度小于设定温度,则打开加热器。为了防止干扰,在单片机接光电隔离。加热控制电路如图3-6所示。图3-6加热控制电路原理图3.2.6测温电路DS18B20可以采用两种方式供电,一中采用电源方式供电,此时DS18B201脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。当S18B20处于写存储器操作和温度A/D转换操作时,总线上必须有上拉,上拉开启时间最大为10us。采用寄生供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。测温电路如图3-7所示。39 xx大学本科毕业设计(论文)图3-7测温电路原理图3.2.7显示电路数码管显示电路采用AT89S52单片机控制,通过芯片74LS245驱动进行显示。本次设计采用的是两位共阳极8段数码管。P2.0控制个位,P2.1控制十位。采用数码管作为系统的数据显示器具有价格低、性能稳定和影响速度快等特点。显示电路如图3-8所示。图3-8显示电路原理图39 xx大学本科毕业设计(论文)39 xx大学本科毕业设计(论文)4系统软件设计单片机先进行温度控制的预设置,并显示控制温度,通过和环境温度进行比较决定加热器打开还是关闭,主程序流程图如图4-1所示。其软件程序见附录B。开始设定控制温度显示设定温度读取环境温度环境温度和设定温度比较控制温度大于设定温度?控制温度小于设定温度?关闭加热器打开加热器YYNN图4-1系统主程序主要流程图39 xx大学本科毕业设计(论文)39 xx大学本科毕业设计(论文)5软件调试及仿真本次设计软件调试工具采用KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统KeiluVision2,KeilC51标准C编译器为8051微控制器的软件开发提供了C语言环境,并保留了汇编代码高效、快速的特点。软件仿真工具采用英国LabcenterElectronics公司研发的多功能EDA软件Proteus,其中的ProteusISIS是一款操作简单便捷的电子系统原理设计和仿真平台软件,它运行于Windows操作系统,可以仿真和分析各种模拟器和集成电路。5.1软件编译5.1.1工程的创建运行KeiluVision2软件点击Project点击NewProject,如图5-1所示。图5-1工程的创建5.1.2AT89C52单片机的选择本次设计选用的是单片机AT89C52,如图5-2所示。39 xx大学本科毕业设计(论文)图5-2单片机选择5.1.3程序的编译(1)程序代码的编写通过C语言对系统进行程序代码的编写工作,如图5-3所示。图5-3程序的编写(2)生成仿真所需的.hex文件39 xx大学本科毕业设计(论文)点击Project点击OptionsforTardet设置晶振为12.0MHz点击Output选定CreateHEXFi,如图5-4所示。图5-4.hex文件生成设置5.2系统仿真测试将编译生成的水温控制器模拟仿真.hex文件写入单片机AT89S52进行仿真测试,仿真测试结果正常。如下图所示。39 xx大学本科毕业设计(论文)图5-5水温控制器初始温度仿真39 xx大学本科毕业设计(论文)图5-6水温控制器报警温度仿真39 xx大学本科毕业设计(论文)39 xx大学本科毕业设计(论文)6结论本设计基于单片机技术和温度传感器,利用美国爱特梅尔(Atmel)公司的AT89S52单片机作为主控芯片,结合电源电路、复位电路、晶振电路、报警电路、测温电路、显示电路等外围辅助电路,并采用C语言对程序进行编译。通过硬件和软件相结合的方式完成了水温控制器的设计,将所测量的温度信号直接通过数字温度传感器DS18B20检测到温度后,送到单片基AT89S52中,单片机把检测的温度显示在数码管上。通过和环境温度进行比较,来显示控制温度。水温控制器系统可以广泛地应用于电器、汽车、材料、生物工程等领域。该系统操作简单、功率消耗低、准确率高,具有较好的适用性和推广价值。39 xx大学本科毕业设计(论文)39 xx大学本科毕业设计(论文)参考文献[1]杨居义.单片机课程设计指导[M].北京:清华大学出版社,2009:125-138.[2]韩志军,沈晋源,王振波.单片机应用系统设计[M].北京:机械工业出版社,2005:57-61.[3]余永权.ATMEL89单片机应用技术[M].北京:北京航空航天大学出版社,2002:91-107.[4]俞红珊.基于AT89C52数字走马灯电路的设计[J].山西电子技术,2008,(5):30-32.[5]江力.单片机原理及其接口技术[M].北京:清华大学出版社,2006:23-38.[6]王增福,李昶,魏永明.新编常用稳压电源电路[M].北京:电子工业出版社,2005:53-79.[7]马义德.微型计算机原理及应用[M].北京:高等教育出版社,2004:36-44.[8]李朝青.单片机原理及接口技术[M].北京:北京航空航天大学出版社,2005:39-43.[9]张建民.传感器与检测技术[M].北京:机械工业出版社,1996:66-73.[10]楼然苗,李光飞.单片机课程设计指导[M].北京:北京航空航天大学出版社,2007:102-117.[11]康光华.单片机典型外围器件及应用实例[M].北京:人民邮电出版社,2003:58-69.[12]娄建忠.水温控制系统[J].河北大学学报(自然科学版),2001,(4):27-31.39 xx大学本科毕业设计(论文)39 xx大学本科毕业设计(论文)致谢值此本科毕业论文完成之际,我的心也总算是放了下来。从论文选题、开题,到中期写作,至整篇论文的反复修改直到完成,我感觉我像是经历了一场人生,酸甜苦辣,喜怒哀乐,无所不有。为此,我感谢所有在我生命中出现的人,你们让我懂得了生活,懂得了生命。感谢父母家人对我的容忍、鼓励和支持。当你们伴随着我的成长一路走来时,我们彼此都哭过,却也笑过。每当我一次次遇到困难挫折时,你们总是默默地鼓励和支持,对于我犯过的错误,你们也是一次次细心的教导,使我一步步走向那有阳光的地方。对于你们,我心存愧疚,我定当记住你们的谆谆教诲,不辜负你们对我的期望。感谢所有帮助过我的老师、朋友和同学,正是由于你们的关心和帮助,才使我总是在困惑中顿悟,迷途中知返。39 xx大学本科毕业设计(论文)39 xx大学本科毕业设计(论文)附录A39 xx大学本科毕业设计(论文)39 xx大学本科毕业设计(论文)附录B软件程序部分:******************************************************************水温控制器设计******************************************************************#include"reg52.h"#include"intrins.h"#defineDisdataP0//段码输出口#definediscanP2//位选输出口#defineucharunsignedchar#defineuintunsignedintsbitDQ=P3^7;//温度输入口sbitHa=P1^5;//加热器sbitWa=P1^5;//报警器sbitkey_I=P3^2;sbitkey_II=P3^3;uinth;uintkey_[2]={5,0};//初始温度uchardis_7[12]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};//数码管显示列表"0""1""2""3""4""5""6""7""8""9"ucharcodescan_con[2]={0xfd,0xfe};//列扫描控制字uchartemp_data[2];//11us延时函数voiddelay(uintt){for(;t>0;t--);}//显示扫描函数voidscan(){chark;39 xx大学本科毕业设计(论文)for(k=0;k<2;k++)//2位LED扫描控制{Disdata=dis_7[key_[k]];discan=scan_con[k];}delay(50);discan=0xff;}//DS18B20写命令函数voidwrite_byte(ucharval){uchari;for(i=8;i>0;i--){DQ=1;#pragmaASMNOPNOP#pragmaENDASMDQ=0;#pragmaASMNOPNOPNOPNOPNOP#pragmaENDASM;//5usDQ=val&0x01;//最低位移出delay(6);//66usval=val/2;//右移一位}DQ=1;delay(1);}//DS18B20读1个字节函数ucharread_byte(void)39 xx大学本科毕业设计(论文){uchari;ucharvalue=0;for(i=8;i>0;i--){DQ=1;_nop_();_nop_();value>>=1;DQ=0;#pragmaASMNOPNOPNOPNOP#pragmaENDASM//4usDQ=1;#pragmaASMNOPNOPNOPNOP#pragmaENDASMif(DQ)value|=0x80;delay(6);//66us}DQ=1;return(value);}//DS18B20复位函数ow_reset(void){charpresence=1;while(presence){while(presence)39 xx大学本科毕业设计(论文){DQ=1;#pragmaASMNOPNOP#pragmaENDASMDQ=0;delay(50);DQ=1;delay(6);presence=DQ;//presence=0继续下一步}delay(45);//延时500uspresence=~DQ;}DQ=1;}voidread_temp(){write_byte(0XCC);write_byte(0XBE);//发读命令temp_data[0]=read_byte();//温度低8位temp_data[1]=read_byte();//温度高8位ow_reset();write_byte(0XCC);write_byte(0X44);//发转换命令}//温度数据处理函数//越线报警//加热控制voidwork_temp(){uchartt_[2],tt,key;key=key_[0]*10+key_[1];tt_[0]=temp_data[0]&0xf0;39 xx大学本科毕业设计(论文)tt_[1]=temp_data[1]&0x0f;tt=tt_[1]+tt_[2];if(tt>0x70){Wa=0;}//报警if(tt>key)Ha=1;//关加热器if(tt