单片机温度报警系统设计_第1页
单片机温度报警系统设计_第2页
单片机温度报警系统设计_第3页
单片机温度报警系统设计_第4页
单片机温度报警系统设计_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计基于单片机的温度报警系统设计 学校: 专业: 班级; 姓名:

摘要近年来随着计算机与控制技术的蓬勃发展与广泛应用,人们从中受益良多,生活中也随处可见电子产品,自动化,智能化成为发展趋势,而以单片机为核心的应用正在不断地走向深入,同时带动传统控制检测的日新月益。本设计论述了一种以STC89C51单片机为控制单元,以DS18B20为温度传感器的温度控制系统。该控制系统可以实时存储相关的温度数据并可设置温度上下限值,实现对环境温度测量并在超出范围的情况下发出警告。系统设计了相关的硬件电路和相关应用程序。硬件电路主要包括STC89C51单片机最小系统,测温电路、LCD液晶显示电路以及报警电路等。系统程序主要包括主程序,读出温度子程序,计算温度子程序、按键处理程序、LCD显示程序以及数据存储程序等。关键词:STC89C51单片机;DS18B20;LCD显示电路

AbstractInrecentyears,alongwiththecomputerandcontroltechnologyofboomingdevelopmentandwideapplication,peoplebenefitalotfromit,lifealsocanbeseeneverywhereelectronicproducts,automation,intelligentbecomedevelopmenttrend,andwiththesinglechipprocessorasthecoreapplicationiscontinuouslytothedeepening,andpushthetraditionalcontrolexaminationonthenewvictims.ThisdesignisdiscussedinSTC89C51microcontrolisacontrolunit,withthetemperaturesensorDS18B20forthetemperaturecontrolsystem.Thecontrolsystemcanstorerelatedtemperaturedatareal-timeandsetupanddowntemperaturelimits,andtorealizetheenvironmenttemperaturemeasurementandbeyondthescopeofthewarning.Thesystemdesignoftherelatedhardwarecircuitandrelatedapplications.ThehardwarecircuitSTC89C51mainlyincludessinglechipminimizesystem,temperaturemeasurementcircuit,LCDdisplaycircuit,alarmcircuit,etc.Systemprogrammainlyincludesthemainprogram,readthetemperatureprocedure,thecalculationoftemperatureprocedure,keyprocessingprogram,LCDdisplayproceduresanddatastorageprocedures,etc.keywords:STC89C51single-chipmicrocomputer;DS18B20;LCDdisplaycircuit

1绪论1.1课题的背景及其意义二十一世纪是科技高速发展的信息时代,电子技术、单片机技术更是得到广泛的应用,伴随着科学技术的发展,需要对仪器设备的各种参数进行测量。而温度涉及到生活生产的各个方面,应运而生温度测量控制也成为了生活生产中关注的热点,对温度的控制在各行各业中也发挥着重要的作用。例如在工业生产之中,利用测量与控制温度来保证生产的正常运行;在农业中,用于保证蔬菜大棚的恒温生产;更具体点在生活中冰箱,空调等都需要对温度进行实时控制。温度是表征物体冷热程度的物理量,温度测量则是工农业生产过程中一个很重要而普遍的参数。温度的测量及控制对保证产品质量、提高生产效率、节约能源、生产安全、促进国民经济的发展起到非常重要的作用。由于温度测量的普遍性,温度传感器的数量在各种传感器中居首位。而且随着科学技术和生产的不断发展,温度传感器的种类还是在不断,从而满足生产生活中的各种需要。单片机温度测量控制系统中的关键是测量温度、控制温度,从而达到各种需求。因此,单片机温度测量则是对温度进行有效的测量,并且能够在工业生产中得到了广泛的应用,尤其在电力工程、化工生产、机械制造、冶金工业、无线控制等重要工业领域中,扮演着重要角色。在日常生活中,也可广泛实用于空调器、电加热器等各种家居电器。

1.2课题研究的内容及要求我的毕业设计的题目是基于单片机的温度控制报警系统设计。它是多种技术知识的结合,不仅涉及到硬件的设计,还需要软件编程,同时还要兼顾到精度、测量误差、稳定性等各种因素。电路板是从电子市场买来,要自己亲手焊接,这就要考虑如何布线,来达到外观美观,功能实现的目标。经过查阅资料发现许多应用场合原来就有测温仪器,只是随着对生产质量与生产需要的要求在不断地提高、升级。其中,有部分应用场合对精度提高的幅度要求也不是特别高。因此,为了提高性价比,我所设计的系统提出在原有设计的基础上进行一些简单的修改,以此为出发点,主要阐述的是温度测量自动报警系统的实现方法。本文所要研究的课题是基于单片机的温度报警系统设计,主要是介绍了对环境温度的测量、显示、控制及报警,实现了动态温度的实时显示。温度控制部分,提出了用AT89C51单片机、DS18S20、及LCD显示的硬件电路完成对环境温度的实时检测及显示,利用DS18S20与单片机连接由软件与硬件电路配合来实现,超出设定的上下限温度,报警系统就自动报警。控制器是用89C51单片机,适合于应对多点的温度测控系统,可直接将温度转化成串行数字信号供微机处理,而且每片DS18S20都有唯一的产品号,可以一并存入其ROM中,以便在构成大型温度测控系统时在单线上挂接任意多个DS18S20芯片。从DS18S20读出或写入DS18S20信息仅需要一根口线,其读写及其温度变换功率来源于数据总线,该总线本身也可以向所挂接的DS18S20供电。同时DS18S20能提供九位温度读数,它无需任何外围硬件即可方便地构成温度检测系统。而且利用本次的设计主要实现温度测试,温度显示,温度门限设定,超过设定的门限值时自动启动自动报警等功能。而且还要以单片机为主机,使温度传感器通过一根口线与单片机相连接,再加上温度控制部分和人机对话部分来共同实现温度的监测与控制。1.3课题的研究方案温度控制系统是比较常见和典型的过程控制系统。温度是工业生产过程中重要的被控参数之一,当今计算机控制技术在这方面的应用,已使温度控制系统达到自动化、智能化,比过去单纯采用电子线路进行PID调节的控制效果要好得多,可控性方面也有了很大的提高。本设计方案很简单,采用了STC89C51单片机系统来实现。单片机软件编程灵活、自由度大,可用软件编程实现各种控制算法和逻辑控制。单片机系统可以用液晶屏幕来显示环境温度的实际值,能用键盘输入设定上下线值。本方案选用了STC89C51芯片,本身存储器已够用,不需要外扩展存储器,可使系统整体结构大为简单从而大大提高了系统的智能化。

2电路设计的理论基础2.1系统设计的框架本课题设计的是一种以STC89C51单片机为主控制单元,以DS18B20为温度传感器的温度控制报警系统。该控制系统可以实时存储相关的温度数据。其主要包括:电源电路、温度采集电路、按键处理电路、LCD显示电路、报警电路以及单片机基本电路。下图(图2-1)为设计框架图。报警电路显示电路单片机电源电路按键调节信号采集报警电路显示电路单片机电源电路按键调节信号采集 2.2单片机发展史单片机根据其基本操作处理的二进制位数主要分为:4位单片机、8位单片机、16位单片机和32位单片机。单片机的发展史可大致分为4个阶段。第一阶段(1974年--1976年):单片机初级阶段。因工艺限制,单片机采用双片的形式而且功能比较简单。1974年12月,仙童公司推出了8位的F8单片机,实际上只包括了8位CPU、64BRAM和2个并行口。:

第二阶段(1976年--1978年):低性能单片机阶段。1976年,Intel公司推出的MCS--48单片机(8位单片机)极大地促进了单片机的变革和发展;1977年,GI公司推出了PIC1650,但这个阶段的单片机仍然处于低性能阶段第三阶段(1978年--1983年):高性能单片机阶段。1978年,Zilog公司推出了Z8单片机;1980年,Intel公司在MCS--48单片机的基础上推出了MCS--51系列,Motorola公司推出了6801单片机,这些产品使单片机的性能及应用跃上了一个新的台阶。此后,各公司的8位单片机迅速发展起来。这个阶段推出的单片机普遍带有串行I/O口、多级中断系统、16位定时器/定时器,片内ROM、RAM容量加大,且寻址范围可达64KB,有的片内还带有A/D转换器。由于这类单片机的性能价格比高,所以被广泛应用,是目前应用数量最多的单片机。第四阶段(1983年--现在):8位单片机巩固、发展及16位单片机和32位单片机推出阶段。16位单片机的典型产品为Intel公司生产的MCS--96系列单片机。而32位单片机除了具有更高的集成度外,其数据处理速度比16位单片机提高许多,性能比8位、16位单片机更加优越。20世纪90年代是单片机制造业大发展的时期,这个时期的Motorola、Intel、ATMEL、德州仪器(TI)、三菱、日立、Philips、LG等公司也开发了一大批性能优越的单片机,极大地单片机的应用。近年来,又有不少新型的高集成度的单片机产品涌现出来,出现了单片机丰富多彩的局面。目前,除了8位单片机得到广泛用用上的展表明,80C51可能最终形成事实上的标准MCU芯片。

2.3STC89C51系列单片机介绍2.3.1STC89C51特性STC89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—flashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。而AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。STC89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。·与MCS-51兼容

·4K字节可编程闪烁存储器

·寿命:1000写/擦循环

·数据保留时间:10年

·全静态工作:0Hz-24Hz

·三级程序存储器锁定

·128*8位内部RAM

·32位可编程I/O线

·两个16位定时器/计数器

·5个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片内振荡器和时钟电路2.3.2STC89C51系列引脚功能STC89C51有40引脚双列直插(DIP)形式。其逻辑引脚图如图2-2 图2-2STC89C51引脚图

各引脚功能叙述如下:1.电源和晶振VCC(40脚)——接+5V电源GND(20脚)——接数字地XTAL1(19脚)——片内震荡器反相放大器和时钟发生器电路的输入端XTAL2(18脚)——片内震荡器反相放大器的输出端2.I/O(4个口,32根)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口输出地址的高八位。在给出地址“1”P3口——P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

同时,P3口也可作为STC89C51的一些特殊功能口,如下表所示:

口管脚备选功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)

P3.3/INT1(外部中断1)

P3.4T0(记时器0外部输入)

P3.5T1(记时器1

3.控制线(共4根)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)。

3硬件电路设计3.1电源电路工作原理:220V交流市电经过电源变压器变换成交流低电压,再经过桥式整流电路D2~D5和滤波电容C5的整流和滤波,在三端稳压器LM7805的Vin和GND两端形成一个并不十分稳定的直流电压(该电压常常会因为市电电压的波动或负载的变化等原因而发生变化)。此直流电压经过LM7805的稳压和C7的滤波便在稳压电源的输出端产生了精度高、稳定度好的直流输出电压。本稳压电源可作为TTL电路或单片机电路的电源。三端稳压器是一种标准化、系列化的通用线性稳压电源的集成电路,其具有体积小、成本低、性能好、工作可靠、使用简捷方便等特点,成为目前稳压电源中应用最为广泛的一种单片式集成稳压器件。电源电路图如图3-1。 图3-1电源电路

LM7805简介:LM7805是一种常用的三端稳压器,一般使用的是TO-220封装,能提供DC5V的输出电压,应用范围极广,内含过流过热及调整管的保护电路和过载保护电路。带散热片时能持续提供1A的电流。电子制作中经常采用。但当稳压管温度过高时,稳压性能将变差,甚至损坏。其外形引脚如图3-2。 图3-2LM7805引脚图(管脚图)

3.2温度传感器电路DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,使用方便,封装形式多样,适用于各种狭小空间设备的数字测温和控制领域。DS18B20温度传感器是美国达拉斯(DALLAS)半导体公司推出的应用单总线技术的数字温度传感器。该器件将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上。超小的体积,超低的硬件开销,抗干扰能力强,精度高,附加功能强,使得DS18B20更受欢迎,DS18B20的优势更是我们学习单片机技术和开发温度相关小制作不二的选择,其技术性能描述为:①独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。②测温范围-55℃~+125℃,固有测温分辨率0.5℃。③支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。④工作电源:3~5V/DC⑤在使用中不需要任何外围元件⑥测量结果以9~12位数字量方式串行传送⑦温度数字量转换时间200ms(典型值)

⑧用户可定义的非易失性温度报警设置其外形如图3-3所示。图3-3传感器外形图本设计采用一线制数字温度传感器DS18B20来作为本课题的温度传感器。传感器信号经4.7K的上拉电阻直接接到单片机的P2.0管脚上。DS18B20温度传感器只有三根外接线:单线数据传输总线DQ,外供电源线VDD,共用地线GND。DS18B20有两种供电方式:一种为数据线供电方式,此时VDD接地,它是通过内部电容在空闲时从数据线获取能量,来完成温度的转换,相应的完成温度转换所需时间也较长。这种情况下,用单片机的一个I/O口来完成对DS18B20总线的上拉。另外一种是外部供电方式(VDD接+5V),相应的完成温度测量的时间会较短。

工作原理及其应用:DS18B20温度检测与数字数据的传输集成于一个芯片之上。其工作一个周期可以分为二个部分,即温度检测与数据处理。18B20有三种形态的存储资源,分别是ROM,RAM,EEPROM。ROM只读存储器,共64位,用于存放DS18B20ID编码,其前八位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后的八位是以上56位的CRC(冗余校验码)。其数据在出厂时设置,不由用户更改。RAM数据暂存器,用于数据计算和数据存取,数据在掉电后消失,DS18B20共9个字节的RAM,每个字节为八位,第1,2字节是温度转换后的数据值信息,第3,4字节是用户EEPROM(常用于温度报警值的存储)的镜像。在上电复位时,其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6,7,8个字节则是计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是温度转换、计算的暂存单元,第9个字节是前八个字节的CRC码。EEPROM是非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据。DS18B20共3位EEPROM,并在RAM上都存在镜像,以方便用户操作。我们在读温度之前都必须进行复杂的且精准的时序处理,因为DS18B20硬件简单,从而导致软件的巨大开销,也是尽力减少有形资产化为无形资产的投入。

控制器对DS18B20的操作流程:1.复位:首先我们必须对DS18B20进行复位,复位就是由控制器给DS18B20单总线至少480us的低电平信号,当DS18B20接到此复位信号后,回发一个芯片的存在脉冲。2.存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在15--60us后接受存在脉冲,存在脉冲为一个60--240us的低电平信号。至此,通信双方已达成了基本的协议,接下来将会是控制器与DS18B20的数据通信,如果复位低电平的时间不足或是单总线断路都不会接收到存在脉冲。3.控制器发送ROM指令:双方打完招呼后就要进行交流了,ROM指令共5条,每一个工作周期只能发送一条,ROM指令分别是读ROM数据,指定匹配芯片,跳跃ROM,芯片搜索,报警芯片搜索。ROM指令为八位长度,功能是对片内的64位光刻ROM进行操作。其主要目的是为了分别总线上挂接的多个器件并做处理,一般情况下,直挂一个DS18B20的就跳过ROM指令,此处并不是不发送ROM指令,而是用一条特有的一条“跳过指令”。4.控制器发送存储器操作指令:在发送ROM指令之后,接着就发送存储器操作指令。操作指令同样为八位,共六条,分别为写RAM数据,读RAM数据,将RAM数据复制到EEPROM,温度转换,将EEPROM中报警值复制到RAM,工作方式切换。存储器操作指令是命令DS18B20做什么样的工作,是芯片控制的关键。5.执行或数据读写:这个操作要视存储器操作指令而定。

在本设计中采用外部供电方式实现DS18B20传感器与单片机的连接,其接口电路如图3-4所示。 图3-4温度传感器电路3.3显示电路1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线其各引脚介绍如表3-1。 表3-1LCD引脚说明引脚符号功能说明1VSS接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,使用时可以通过一个10K的电位器调整对比度4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器5RWR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作6E使能端7D0双向数据总线8D1双向数据总线9D2双向数据总线10D3双向数据总线11D4双向数据总线12D5双向数据总线13D6双向数据总线14D7双向数据总线15BL+背光电源正极16BL-背光电源负极本设计显示电路采用1602液晶显示,其电路图如下(图3-5): 图3-5显示电路3.4报警电路报警电路采用简单的发光二极管与蜂鸣器组合电路,当温度超出上下门限值时,二极管发光,同时蜂鸣器鸣响。其电路图如图3-6:图3-6报警电路

3.5复位电路本设计所用复位电路与其他单片机所用电路类似,为电容式复位,其电路图如下(图3-7): 图3-7复位电路

4软件设计系统的软件主要是采用C语言,对单片机进行编程实现各种功能。当然,也可以采用汇编语言,但程序设计较麻烦,本设计采用C语言来编程,主程序对模块进行初始化,而后调用读温度、处理温度、显示、键盘,报警等模块。用的是循环查询方式,来显示和调节温度,主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值并负责调用各子程序,其程序流程如图4-1系统程序流程图。开始开始初始化 初始化启动启动DB18B20读温度计算温度LCD显示图4-1系统程序流程图

4.1按键处理子程序按键处理子程序主要是负责参数的设置,主程序每循环一次都要对按键进行扫描,判断是否有输入键按下则进行一系列的按键输入操作。其程序流程框图如图4-2所示。开始 开始是否按下S2否 是否按下S2是否按下S3是否按下S3 是是否再按下S2 否是是否再按下S2UP子程序否UP子程序是否按S4是是否按S4是否再按下S2按下否是是否再按下S2按下down子程序 down子程序否是退出子程序,返回主程序退出子程序,返回主程序 图4-2温度转换流程图

5系统调试及结论分析单片机应用系统组装后,便可进行调试,其主要任务是排除硬件故障,并完善其硬件结构,试运行所设计的程序,一一排除程序错误之处,并优化程序的结构,使系统达到设计的期望值。5.1硬件调试单片机应用系统的硬件和软件调试是交叉进行的,但通常是先排除仿真时明显的硬件故障,尤其是电源故障,才能安全地进行仿真,进一步进行硬件及软件综合调试。5.1.1硬件电路故障及解决方法1.错线、开路、短路:由于电路图设计错误和焊接过程中的工艺性错误所造成的错线、开路、短路等故障,例如电源电路正负极相连、虚焊、漏焊等。本设计在焊接时就出现过错焊,漏焊现象。解决方法:在画原理图时仔细检查、校正,在焊接时注意连接好即可解决。2.元器件损坏:由于对元器件使用要求的不熟悉及制作调试过程中操作不当操作等致使器件损坏。解决方法:在设计过程中要明确各元器件的工作条件,严格按照制作要求进行操作,在焊接过程中,注意温度的控制,损坏的元器件要及时更换,以免影响电路功能的实现。

3.电源故障:设计中存在电源故障,即电源不能正常工作,上电后将造成元器件损坏,从而影响整个电路。电源的故障包括:电压值不符和设计要求,变压器功率不足,内阻大,负载能力差,电源电压不稳定等等。解决方法:电源必须单独调试好以后,测量准确稳定后才能加到系统中。5.1.2硬件调试方法本设计调试过程中所用的调试方法静态测试法。在加电之前,首先用万用表等仪表工具,根据硬件电器原理图和装配图仔细检查线路的正确性,并核对元器件的型号、规格、大小和安装是否符合要求。应特别注意电源的走线,防止电源之间的短路,第二步是加电后检查各个元件上引脚的电位是否正常,尤其应注意单片机插座上的各点电位,若有高压,联机时将会损坏元件。5.2软件调试在完成了各个模块的程序的调试工作以后,便可与硬件结合进行系统的综合调试。综合调试一般采用全速断点运行方式,这个阶段的主要工作社排除系统中遗留的错误以提高系统的动态性能以达到期望值。在综合调试的最后阶段,使系统全速运行目标程序,实现了预定功能指标后,便可将软件固化,然后再运行固化的目标程序,成功后目标系统便可脱机运行。一般情况下,这样的一个应用系统程序就算是研制成功了。

6总结与展望6.1总结毕业设计做结束后,也就意味着我们的大学生活接近尾声了,学无止境,我们的学习并没有结束,以后要学的还有很多,在本次设计中,使我更懂得了学习的重要性,同时,也是我们所学得到了实践。再设计中,有很多东西都是现学现用,感觉到今后还有很多要学习,本文用STC89C51单片机作为控制器,温度信号通过温度传感器传输给单片机,通过单片机分析计算,输出显示并响应报警。通过这次设计,使我有很深的感触:科学技术发展迅猛无比,尤其以单片机为核心的技术在未来社会发展中一定会起着十分重要的作用。本次设计主要分为两部分,软件程序设计和硬件电路板设计。软件设计包括用单片机C语言控制系统。硬件设计包括绘制电路原理图,元件焊件、再做硬件测试,调节,直至最后成功。通过这些都使我对采用单片机设计方法有了更深的理解,同时也让我把所学的知识在实践中得到锻炼,基本上做到了理论与实践相结合。此次设计无论从专业知识、动手能力,都使我受益匪浅。其中,这与老师和同学的热心帮助是分不开的。大学生活虽然快要结束了,但我们的学习并没有结束,只有通过不断努力的学习,用知识充实自己的大脑,才能在未来社会有一席之地,才能为社会的发展做出自己应有的贡献。

6.2展望单片机改变着我们的生活,纵观各个领域,各行各业,从飞机上各种仪表的控制到导弹的导航,从计算机的通讯与数据输入输出,到工业自动化过程的实现,以及我们生活中广泛使用的各种电子产品等等,这些都离不开单片机。相信,以后单片机会得到更为广泛的应用。目前,测温控温系统得到了很快的发展,近几年,国内也涌现出许多高精度的温度控制系统,但相对于用户来说,价格还是有点高。而由于竞争越来越激烈,现在企业发展的趋势是如何有效的提高生产效率,降低生产成本。寻求性能可靠、价格低廉,且应用广泛的元器件是生产过程的首先要考虑和解决的问题,因此像本设计这种控制简单、价格低廉的控制系统会有很好的发展前景,并且在此设计基础之上,还可扩展出其他应用功能,所以学好单片机技术也十分重要。通过本次的设计,使我感觉到单片机的应用会越来越广泛,并将深入到各个领域,自动化、智能化是其发展趋势,学好单片机及其与其它软件相结合技术必有光明前途。

参考文献[1]张毅刚,彭喜元,彭宇.单片机原理及应用[M].高等教育出版社,2010年5月.[2]曹巧媛主编.单片机原理及应用.第二版.北京:电子工业出版社.[3]何力民.单片机高级教程.北京:北京航空大学出版社.[4]金发庆.传感器技术与应用.北京机械工业出版社.[5]薛弘晔.计算机控制技术.西安电子科技大学出版社.[6]谭浩强.C程序设计[M].清华大学出版社.[7]康华光.电子技术基础.高等教育出版社.[8]华成英,童诗白主编.模拟电子技术基础[M].高等教育出版社.[9]阎石.数字电子技术基础[M].第五版.高等教育出版社,2005.[10]史久贵.基于AltiumDesigner的原理图与PCB设计[M].机械工业出版社,2011.

附录1:系统原理图

2:实物图

3:系统相关程序#include<reg52.h>#defineuintunsignedint//宏定义#defineucharunsignedchar//宏定义sbitdq=P2^0;//位声明sbitbeep=P1^1;sbitd=P1^0;sbitk1=P1^2;sbitk2=P1^3;sbitk3=P1^4;sbitlcden=P2^6;sbitlcdrw=P2^5;sbitlcdrs=P2^4;ucharcodestr[]="OK";ucharcodestr0[]="TOOHIGH!";ucharcodestr1[]="TOOLOW!";ucharcodestr2[]="SET";ucharcodestr3[]="MAX:";ucharcodestr4[]="MIN:";uchartemp,flag1,flag2,max,min;voidwrite_com(uchar);//液晶写命令子程序voidwrite_data(uchar);//液晶写指令子程序voiddelay_(uint);//一微秒延时程序voidinit_d();//ds18b20初始化子程序voiddelay(uint);//一毫秒延时子函数voidwrite_byte(uchar);//ds18b20写字节子程序ucharread_t();//检测温度程序ucharread_byte();//ds18b20读字节子程序voiddisplay();//显示温度子程序voidwrite_str(uchar*);//向液晶内写入字节voiddisplay_max();//显示最大值子程序voiddisplay_min();//显示最小值子程序voidmain(){ max=40; min=20; lcdrw=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(1); while(1

{ while((flag1==0)&&(flag2==0)) { write_com(1); temp=read_t(); display(); write_com(0x80+9); write_data('C'); if(temp>max) { beep=0; d=0; write_com(0x80+0x40+4); write_str(str0); delay(200); } elseif(temp<min) { beep=0; d=0; write_com(0x80+0x40+4); write_str(str1); delay(200); } else { beep=1; d=1; write_com(0x80+0x40+7); write_str(str); delay(200); } if(k1==0) { delay(5); //消抖 if(k1==0) { if((flag1==0)&&(flag2==0)) flag1=1; elseif((flag1==1)&&(flag2==0)) { flag1=0; flag2=1; }

else { flag1=0; flag2=0; } while(!k1); //松手检测 write_com(1); } } } while((flag1==1)&&(flag2==0)) { beep=1; d=1; write_com(0x80+1); write_str(str2); write_com(0x80+6); write_str(str3); write_com(0x80+14); write_data('C'); write_com(0x80+0x40+6); write_str(str4); write_com(0x80+0x40+14); write_data('C'); display_max(); display_min(); while((flag1==1)&&(flag2==0)) { if(k2==0) { delay(5); if(k2==0) { while(!k2); max++; if(max==61) max=min+5; display_max(); } }

if(k3==0) { delay(5); if(k3==0) { while(!k3); max--; if(max==(min+4)) max=60; display_max(); } } if(k1==0) { delay(5); //消抖 if(k1==0) { if((flag1==0)&&(flag2==0)) flag1=1; elseif((flag1==1)&&(flag2==0)) { flag1=0; flag2=1; } else { flag1=0; flag2=0; } while(!k1); //松手检测 write_com(1); } } } } while((flag1==0)&&(flag2==1)) { beep=1; d=1;

write_com(0x80+0x40+1); write_str(str2); write_com(0x80+6); write_str(str3); write_com(0x80+14); write_data('C'); write_com(0x80+0x40+6); write_str(str4); write_com(0x80+0x40+14); write_data('C'); display_max(); display_min(); while((flag1==0)&&(flag2==1)) { if(k2==0) { delay(5); if(k2==0) { while(!k2); min++; if(min==(max-4)) min=0; display_min(); } } if(k3==0) { delay(5); if(k3==0) { while(!k3); min--; if(min==255) min=max-5; display_min(); } } if(k1==0) { delay(5); //消抖

if(k1==0) { if((flag1==0)&&(flag2==0)) flag1=1; elseif((flag1==1)&&(flag2==0)) { flag1=0; flag2=1;

温馨提示

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

评论

0/150

提交评论