欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    毕业设计——基于单片机的温度控制系统的设计.doc

    • 资源ID:2172201       资源大小:703.01KB        全文页数:135页
    • 资源格式: DOC        下载积分:10
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要10
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计——基于单片机的温度控制系统的设计.doc

    基于单片机的温度控制系统的设计单片机正朝着高性能和多品种的方向发展,它具有低功耗、小体积、大容量、高性能、低价格和外部电路内装化等几个方面的发展特点。采用单片机来控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。温度控制系统采用STC89C52RC单片机作为主控芯片,温度传感器采用DS18B20来采集温度发,显示模块采用LED数码管以动态扫描方式实现温度动态显示,以矩正键盘实现温度设定,程序员设定温度控制电路的输入接口,蜂鸣器实现高、低温的报警,提醒人们作适当的温度调节。【关键词】: STC89C52RC单片机、传感器DS18B20、LED数码管ABSTRACTSCM are heading for high-performance and many varieties the direction of development, it has a low power consumption, small volume, high capacity, high performance, low price and an external circuit inside outfit change from several aspects such as the development features. By single chip microcomputer to control has not only convenient control, simple and flexible wait for an advantage, but also can greatly improve the technical index accused of temperature, thus greatly improve product quality and quantity. Temperature control system adopts STC89C52RC microcontroller as the master chip, temperature sensor DS18B20 mining to collect temperature temperature display module USES LED digital tube with dynamic scanning mode, in order to realize the dynamic display temperature torque is keyboard realize temperature setting, the programmer is set for temperature control circuit of input interface, high temperature, low temperature alarm buzzer realize reminder to make the suitable temperature regulation.【KEY WORD】: STC89C52RC microcontroller, sensor DS18B20, LED digital tube目 录引言1一、总体设计1二、硬件设计2(一)硬件总体框图2(二)工作原理3(三)部分元器件介绍3(四)各模块电路设计及分析7三、软件设计13(一)总体软件设计思想13(二)系统程序流程框图14总结18附录一 Protel图19附录二 程序20致谢26毕业论文引言二十一世纪是科技高速发展的信息时代,电子技术、微型单片机技术的应用更是空前广泛,伴随着科学技术和生产的不断发展,需要对各种参数进行温度测量。因此温度一词在生产生活之中出现的频率日益增多,与之相对应的,温度控制也在各行各业中也发挥着重要的作用。如在日趋发达的工业中,利用测量与控制温度来保证生产的正常运行。在农业中,用于保证蔬菜大棚的恒温保产等。蔬菜是人们日常生活中不可缺少的副食品,大棚蔬菜满足了人们能一年四季能吃到新鲜蔬菜的愿望,以单片机为主的温度控制系统可对大棚内部的温度和蔬菜所需的正常温度进行比较,以人性化的方式向大棚管理人员提供温度调节的信息,帮助农民提高作物的产量,减少农民的工作量。本设计所采用的温度控制系统以STC89C52RC单片机为核心,蔬菜大棚的温度经过温度传感器采样后变换成模拟电压信号,经低通滤波后滤掉干扰信号后送放大器,信号放大后经数字温度传感器DS18B20内部集成的A/D转换器转换成数字信号传送给单片机,单片机根据输入的温度得出结果,经过数码管显示温度值,超过温度的设定值范围时,报警电路会报警,及时提醒农民作出适当的温度调节。一、总体设计温度控制广泛应用于人们的生产和生活中,单片机控制系统是整个控制系统的核心,它完成整个系统的信息处理及协调功能。本设计选用STC89C52RC芯片,其功能强大,兼容性好。1.温度传感器的选择方案一:测温电路选用热敏电阻器件作为感测温度的核心元件,由于温度变化引起热敏电阻的变化,从而导致输出电压的微弱变化,再将其采集到A/D转换芯片ADC0809进行A/D转换,将模拟信号转化为数字信号后,送入单片机进行数据处理,利用显示电路把被测温度显示出来。方案二:使用数字集成温度传感器DS18B20作为感测温度的元件,直接输出数字温度信号给单片机进行处理,显示出被测温度值。方案比较:对于方案一,采用热敏电阻有价格便宜、元件易购的优点,但热敏电阻对温度的细微变化不敏感,在信号采集、放大、转换过程中还会产生失真和误差,并且由于热敏电阻的R-T关系的非线性,其本身电阻对温度的变化存在较大误差,而且在人体所处环境温度变化过程中难以检测到小的温度变化。对于方案二,由于数字集成温度传感器DS18B20的高度集成化,大大降低了外接放大转换等电路的误差因素,温度误差很小,并且由于其感测温度的原理与上述方案的原理有着本质的不同,使得其温度分辨率极高。温度值在器件内部转换成数字量直接输出,简化了系统程序设计,又由于该传感器采用先进的单总线技术,与单片机的接口变得发出简洁,抗干扰能力高。比较以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计容易实现,故设计中采用方案二。2.显示电路的选择方案一:采用共阳数码管显示温度。方案二:采用液晶显示屏LCD显示温度。方案比较:对于方案一,该方案成本低廉,显示温度明确醒目,在夜间也能看到,功耗极低,显示驱动程序的编写也相对简单。缺点是扫描时会有闪烁,可利用人眼的视觉惰性,将扫描频率增大来消除闪烁感。对于方案二,液晶显示屏既能显示字符又能显示图形,但是液晶显示屏价格昂贵,驱动程序复杂。比较以上两种方案,从简单实用的原则综合考虑,本方案采用方案一。3.显示方式的选择方案一:采用静态显示方式。方案二:采用动态显示方式方案比较:对于方案一,每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。其优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。对于方案二,它将所有位数码管的段选线并联在一起,由位选线控制时那一位数码管有效。选亮数码管采用动态扫描显示,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻式应略小于静态显示电路中的。比较以上两种方案,从简单实用的原则综合考虑,本方案采用方案一。二、硬件设计(一)硬件总体框图图2.1 硬件总体框图温度控制系统总体框图如图2.1所示。本系统的主要组成部分:STC89C52单片机、温度采集器DS18B20、键盘电路、温度显示电路、报警电路、电源电路等。(二)工作原理程序员通过键盘电路设定控制温度,系统工作时,由DS18B20温度传感器采集温度信号送入单片机处理,当温度超过设定范围时,报警电路自动提醒人们作出适当的温度调节。同时,温度显示模块利用LED数码管以动态扫描方式显示温度。(三)部分元器件介绍1STC89C51RC单片机本设计使用的是STC公司生产的STC89C52RC单片机,它是一款性价比非常高的单片机,它完全兼容ATMEL公司的52单片机,有无法解密、低功耗、高速、高可靠、强抗静电、强抗干扰等很多特点。其次STC89C52RC单片机内部资源比起ATMEL公司的单片机来要丰富的多,STC89C51RC单片机内部有1280字节的SRAM、8-64K字节的内部程序存储器、2-8K字节的ISP引导码、除P0-P3口外还多P4口(PLCC封装)、片内自带8路8位AD,片内自带EEPROM、双数据指针等。STC89C52RC有PDIP封装和PLCC封装,本设计采用PDIP40封装型号。I/O口引脚为P0口、P1口、P2口和P3口。(1)电源和时钟引脚:VCC(40脚)和GND(20脚)常压为+5V,低压为3.3V。(2)XTAL1(19脚)XTAL2(18脚)外接时钟引脚XTAL1为片内振荡电路的输入端。XTAL2为片内振荡电路的输出端。8052系列的时钟有两种方式,一种是片内振荡方式,需要在这两个引脚接石英晶体和振荡电容,振荡电容的值一般选择为10P30P。另一种外部时钟方式即XTAL1接地,外部时钟信号从XTAL2脚输入。(3)RST(9脚)单片机的复位引脚P0口(39脚32脚)双向8位I/O口。每个口可以独立控制。52系列单片机P0口内部没有上拉电阻,为高祖状态,所以不能正常的输出高低电平,因此该组I/O口在使用的时候务必要接上拉电阻,一般我们采用接入10K的上拉电阻。P1口(1脚8脚)准双向8位I/O口。每个口可以独立操作控制,内带上上拉电阻,这种接口没有高阻状态,输入页不能锁存,固然不是真正的双向I/O口,之所以称它为“准双向”时因为该口在座位输入使用前要先向该口进行写一操作,然后单片机内部才能正确地读出外部信号,页就是要使其先要有个准备过程,所以才称为准双向口。对52单片机的P1.0引脚的第二功能为T2定时器的外部输入,P1.1引脚的第二功能为T2EX捕捉,重装触发,即T2的外部控制器。P2口(21脚28脚)准双向8位I/O口。每个口可以独立操作控制,内带上上拉电阻,与P1口相似。P3口(10脚17脚)准双向8位I/O口。每个口可以独立操作控制,内带上上拉电阻,作为第一功能使用时就当作普通I/O口,与P1相似。作为第二功能使用时,个引脚的定义如表2-1所示,值得强调的是,P3口的每一个引脚均可以独立定义为第一功能的输入、输出或第二功能。表2-1 P3口第二功能定义标号引脚第二功能说明P3.010RXD串行输入口P3.111TXD串行输出口P3.212/INT0外部中断0P3.313/INT1外部中断1P3.414T0定时器/计数器0外部输入口P3.515T1定时器/计数器1外部输入口P3.616/WE外部数据存储器写脉冲P3.717/RD外部数据存储器读脉冲STC89C52RC有40个引脚,引脚排列如图2.2所示。图2.2 STC89C52RC引脚排列2温度传感器DS18B20本设计采用DS18B20芯片,如图2.3所示,具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。图2.3 温度芯片DS18B20美国DALLAS半导体公司的数字化温度传感器DS1820是世界上第一个支持“一线总线”接口的温度传感器,其内部使用了再板(ON-BOARD)专利技术,全部传感元件及转换电路集成在形如一只三极管的集成电路内。“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络。DS18B20因为其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度转换时的精度损失,使得测量更加精确。DS18B20的特性:(1)适应电压范围更宽,电压范围为3.0V5.5V,寄生电源方式下可由数据线提供,无需外部工作电源,也可由外部电源供电,零待机功耗,不需备份电源。(2)独特的单总线接口方式,DS18B20在微处理器连接时,仅需要一个I/O引脚即可实现与DS18B20的双向通讯,无需变换其它电路,直接输出被测温度值的数字信号,通过编程可实现912位的数字读数方式,温度数字量转换时间为200ms(典型值)。(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点功能。(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。(5)DS18B20提供了9位摄氏温度测量,具有非易失性、上下触发门限用户可编程的报警功能,警告搜索命令能识别和寻址温度在编定的极限之外的器件(温度警告情况),应用范围包括恒温控制、工业系统、消费类产品、温度计或任何热敏系统。(6)DS18B20测量温度的工作范围为-55+125,在-10+85时精度为±0.5。(7)可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。(8)在9位分辨率时最多在93.75ms内把温度转换为数字,在12位分辨率时最多在750ms内吧温度值转换为数字,速度更快。(9)DS18B20的测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。(10)DS18B20具有负压特性,当电源极性接反时,芯片不会因为发热而烧毁。(11)每片DS18B20具有唯一的64位序列码,这些码允许多片DS18B20在同一条总线上工作,因而可方便地使用单个微处理器控制分布在大范围内的多片DS18B20器件。DS18B20的内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、高速暂存器。DS18B20的引脚定义:(1)DQ:数字信号输入/输出端,该脚为漏极开路输出,常态下呈高电平。(2)GND:电源地。(3)VDD:外界供电电源输入端,可选用,不用时应接地。3.74HC24574HC245是一款高速CMOS器件,74HC245引脚兼容低功耗肖特基TTL(LSTTL)系列。74HC245八路收发器在发送和接收两个方向上都具有正相三态总线兼容输出。74HC245输出使能端(OE)用于实现轻松级联,而发送/接收端(DIR)用于控制方向。OE控制输出,使得总线被有效的隔离。74HC245特性如下:(1)八路双向总线接口(2)正相三态输出(3)可选多种封装类型(4)兼容JEDEC标准no.7A(5)ESD保护 HBM EIA/JESD22-A114-B超过2000VMM EIA/JESD22-A115-A超过200V(6)温度范围-40+85-40+12574HC245管脚如图2.3所示:图2.3 74HC245管脚图4.74HC573八进制三态非反转透明锁存器74HC573是一款高性能硅门CMOS器件,它的输入和标准CMOS输出是兼容的。加上拉电阻,它们能和LS/ALSTTL输出兼容。其特点如下:(1)三态总线驱动输出。(2)置数全并行存取。(3)缓冲控制输入。(4)使能输入有改善抗扰度的滞后作用。原理说明:74HC573的八个锁存器都是透明的D型锁存器,当锁存使能段为高时,输出将随数据(D)输入而变。当锁存使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,甚至输出被关闭时,新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口,特别适用于缓冲寄存器,I/O通道,双向总线驱动器和工作寄存器。74HC573管脚排列如图2.4所示:图2.4 74HC573管脚排列图74HC573真值表如表2-2所示:表2-2 74HC573真值表输入输出输出使能锁存使能DQLHHHLHLLLLX不变HXXZX=不用关心Z=高阻态(四)各模块电路设计及分析1.电源电路电源是系统硬件设计的重要组成部分之一,这部分的设计直接影响系统的精度和可靠性。电源电路的设计有如下要求:电源电路的输出质量要高,输出纹波电压要小、稳压效果要好。本设计控制系统部分电源采用5V直流电源供电,因此,系统需要提供5V电压。电源电路的结构如图2.5所示,将电网电压接入的220V电压送到变压器降压。将降压后的交流电压送到整流电路变成直流电压。再通过低通滤波电路滤波,使平滑的电压输出到稳压电路中,得到稳定性足够高的5V直流电,将处理后的电压送入后面的控制电路。图2.5 电源电路2温度设定电路单片机应用系统中除了有专门的复位电路外,其他的按键或键盘都是以开关状态来设置控制功能或输入数据。本设计采用软件方法消除抖动,当检测到有键按下时,执行一个10ms的演示程序后,再确认该键电平是否仍保持闭合状态电平,如保持闭合状态电平则确认为真正的按键状态,从而消除了抖动影响。键盘处理程序首先执行等待按键,并确认有无按键按下。当确认有按键按下后,下一步就要识别时哪一个按键按下。对照如图2.6所示的4X4键盘,说明线反转法工作原理。首先辨别键盘中有无按键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪一个按键按下是通过将列线逐列置低电平后,检查输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。键盘共有16个按键,用于方便设定温度,具体如下:数字09:数字按键;确认:修改设置温度时进行确认;消除:修改设置温度时进行删除;开启:打开电源;关闭:关闭电源;F1:显示及设置转换到温度点1,按此键后,显示预设置温度的数码管闪烁;F2:显示及设置转换到温度点2,按此键后,显示预设置温度的数码管闪烁。键盘的按键分布如表2-3:表2-3键盘的按键分布P2.00123P2.14567P2.289F1F2P2.3清除开启关闭确定P2.4P2.5P2.6P2.73.单片机接口电路设计DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种时寄生电源供电方式,如图2.7所示,此时为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET和单片机的P1.0来完成对总线的上拉,本设计采用电源供电方式,P1.1口接单线总线为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET和单片机的P1.0来完成对总线的上拉。当DS18B20处于写存储器操作哦温度A/D操作时,总线必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式是VCC和GND均接地。由于单线制只有一根线,因为此发送接口必须是三状态的。主机控制DS18B20完成温度转换必须经过3个步骤:(1)初始化;(2)ROM操作命令;(3)存储器操作命令。单片机DS18B20P1.02DQ1GND3VCC图2.7 DS18B20与单片机的接口(1)晶振电路单片机晶体振荡电路分为串联型与并联型振荡电路,图2.8的电路是并联型振荡电路,单片机XTAL1和XTAL2分别接30pF的电容,中间再并接一个12MHZ的晶振,形成单片机的晶振电路。其主要作用是产生正弦信号,振荡由谐振回路的参数决定,晶体作为一个等效的电感,它的L很大,使得Q值很大,其他元件和杂散参数对振荡影响很小,所以稳定性很高。 图2.8 晶振电路(2)串口引脚P0口接9个2.2K的排阻,然后接到显示电路上。P1.0接到温度传感器DS18B20上。P1.1和P1.2引脚接到继电器电路的4.7K电阻上。P2.5接蜂鸣器电路,其他引脚悬空。P3中P3.5、P3.6、P3.7接到按键电路。(3)其他引脚ALE悬空,复位引脚接到复位电路,VCC接电源,VSS接地,EA接电源。4.温度显示电路本设计采用七段数码管和移位寄存器芯片74LS164。单片机通过I2C总线将要显示的数据信号传送到移位寄存器芯片74LS164寄存,再由移位寄存器控制数码管的显示,从而实现移位寄存点亮数码管显示。由于单片机时钟频率达到12M,移位寄存器的移位速度相当快,从视觉角度上看,就像是全部数码管同时显示一样。当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。串行数据输入端(A,B)可控制数据。当A、B中任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0为低电平。当A、B有一个为高电平,则另一个就允许输入数据,并在CLOCK上升沿作用下决定Q0的状态,74LS164引脚分配图如图2.9所示。图2.974LS164引脚分配图引出端说明:CLOCK:时钟输入端;CLEAR:同步清零输入端(低电平有效);A,B:串行数据输入端;QA-QH:输出端。74LS164真值表见表2-4:表2-4 真值表INPUTSOUTPUTSCLEARCLOCKA BQA QB QH LHHHHXL X XX XH HL XX LL L LQA0 QB0 QH0H QAn QGnL QAn QGnL QAn QGn温度显示电路如图2.10所示,采用LED数码管以动态扫描方式实现温度动态显示。本设计中所涉及数码管皆采用共阳极数码管,显示电路为动态扫描式。图2.10 温度显示电路5.温度测试电路采用温度芯片DS18B20。使用集成芯片,能够有效的减小外界的干扰,提高测量的精度,简化电路的结构。电路如图2.11所示:图2.11 温度传感器电路6. 温度调节控制电路单片机通过三极管控制继电器的通断,最后达到控制加热器的目的。继电器电路如图2.12所示。当温度未达到所要求的温度范围时,单片机发送高电平信号使时三极管饱和导通,继电器让电源与加热器接通,加热器加热,温度慢慢升高。当温度上升到预定温度时,单片机发送低电平信号进入截止状态,继电器的弹片打到另一侧,使加热器与电源断开,加热器停止加热。图2.12 继电器电路图7.复位电路设计为了确保电路稳定工作,复位电路时必不可少的一部分,当单片机在系统运行中,受到环境干扰出现程序跑飞时,按下复位按钮,内部的程序自动从头开始执行。复位电路工作原理如图2.13所示,VCC上电时,C充电,在电阻上电流降为0,电压也为0,使得单片机进入工作状态。工作期间,按下S,C放电。S松开,C又充电,在电阻上出现电压,使得单片机复位。几个毫秒后,单片机进入工作状态。电容的大小是10uF,电阻的大小是10K。因此,电容充到5V电源电压的0.7倍,即此时电压为3.5V,需要的时间是10K*10UF=0.1S。所以在开机0.1S内,单片机系统自动复位,RST引脚接收到的高电平信号时间为0.1S左右。图2.13 复位电路三、软件设计(一)总体软件设计思想主程序调用了5个子程序,分别是数码管显示程序、键盘扫描及案件处理程序、温度信号处理程序、继电器控制程序、单片机与PC机串口通讯程序。程序结构图如图3.1所示。主程序是对温度控制系统的各个模块的实现。键盘扫描电路及按键处理程序:实现键盘的识别及进入相应的程序。温度信号处理程序:对温度芯片送过来的数据进行处理,进行判断和显示。数码管显示程序:向数码管的显示送数,控制系统的显示部分。串口通讯程序:实现PC机与单片机进行通讯,将温度传送给PC机。图3.1 程序结构图(二)系统程序流程框图系统程序主要包括主程序,读出温度子程序,复位应答子程序,写入子程序等。1.主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图3.2所示。通过调用温度子程序把存入内存储中的整数部分与小数部分分开放在不同的两个单元中,然后通过调用子程序显示出来。图3.2 主程序流程图2.读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。DS18B20的各个命令对时序的要求特别严格,所以必须按照所要求的时序才能达到预期的目的,同时,要注意读进来的是高位在后,低位在前,共有12位数,小数4位,整数7位,还有一位符号位。其程序流程见图3.3所示。图3.3读出温度子程序3.复位、应答子程序其程序流程见图3.4所示。图3.4复位、应答子程序5.系统总流程图其程序流程见图3.5所示。程序开始时先设置初始化,然后控制数码管,显示当前温度。接着判断F1、F2按键是否按下。按下F1进入温度控制点1的程序,按下F2进入温度控制点2的程序。程序控制设置温度的两个数码管闪烁,此时键盘输入有效。有按键按下的时候进入按键处理程序。按下确认按键后,程序进入判断程序和继电器控制程序。继电器动作后,程序回到显示当前程序,并开始循环。图3.5系统总流程图总结毕业论文代表着大学生涯的终结,完成它既有一种收获感,又有一种失落感,可是无论如何它代表着我大学的付出与收获,代表我的大学历程。本文设计的是基于单片机的温度控制,采用单总线数字集成温度传感器,被控对象温度直接以“单总线”的数字形式传输,大大提高了抗干扰性。文中采用了STC89C52RC单片机和74HC573锁存器,设计中用到了一些常用的电路,电源电路,复位电路等。通过这次毕业设计,使我对STC89C52RC单片机有了比较系统的了解和认识,并且知道了许多以前不知道的,而74HC573锁存器虽然也是常用元件,可是我以前从来没有接触过,所以对它很陌生,但这次毕业设计让我对它有了全面的了解,而且掌握了它所有的功能,对于一些常用电路在原有的基础上有了更深的了解,了解了它们的工作原理。一篇毕业论文让我受益匪浅,知道了自己的不足,学到了更多,虽然也有很多无奈,可是从中学到知识的乐趣远远大于了这种感觉。这次毕业设计让我深深地了解到电子领域的博大精深,我深切感受到自己知识的缺乏,对于一个学电子专业的我来说,知道的还远远不够,但我知道通过实践,让自己把理论与实践相结合,我才能不断进步。正如我的人生信条“踏踏实实做事,认认真真做人”,只有脚踏实地,把理论知识能够运用到实际中去,才能学以致用,做好每一件事。附录一 Protel图附录二 程序程序代码:ORG 0000HTEMPER_L EQU 29HTEMPER_H EQU 28HFLAG1 EQU 38HA_BIT EQU 20HB_BIT EQU 21HXS EQU 30HMOV A,#00HMOV P2,AMAIN:LCALL GET_TEMPER;调用读温度子程序 MOV A,29HMOV B,ACLR CRLC ACLR CRLC ACLR CRLC ACLR CRLC ASWAP AMOV 31H,A MOV A,BMOV C,40H;将28H中的最低位移入CRRC AMOV C,41HRRC AMOV C,42HRRC AMOV C,43HRRC AMOV 29H,ALCALL DISPLAY;调用数码管显示子程序AJMP MAIN;这是DS18B20复位初始化子程序INIT_1820:SETB P1.0 NOP CLR P1.0;主机发出延时537微秒的复位低脉冲 MOV R1,#3 TSR1:MOV R0,#107 DJNZ R0,$ DJNZ R1,TSR1 SETB P1.0;然后拉高数据线 NOPNOPNOPMOV R0,#25H TSR2:JNB P1.0,TSR3;等待DS18B20回应 DJNZ R0,TSR2LJMP TSR4;延时TSR3:SETB FLAG1;置标志位,表示DS18B20存在 LJMP TSR5TSR4:CLR FLAG1;清标志位,表示DS18B20不存在 LJMP TSR7TSR5:MOV R0,#17TSR6:DJNZ R0,TSR6;时序要求延时一段时间TSR7:SETB P1.0 RET;读出转换后的温度值GET_TEMPER:SETB P1.0 LCALL INIT_1820;先复位DS18B20 JB FLAG1,TSS2RET;判断DS18B20是否存在?若DS18B20不在则返回TSS2:MOV A,#0CCH; MOV A,#44HLCALL WRITE_1820;LCALL DISPLAYLCALL INIT_1820MOV A,#0CCHLCALL WRITE_1820MOV A,#0BEHLCALL WRITE_1820LCALL READ_18200;将读出的温度数据保存到35H/36HRET;写DS18B20的子程序,有具体的时序要求WRITE_1820:MOV R2,# 8;一共哦、有8位数据CLR CWR1:CLR P1.0 MOV R3,#6 DJNZ R3,$ RRC A MOV P1.0,C MOV R3,#23 DJNZ R3,$ SETB P1.0 NOP DJNZ R2,WR1 RET;读DS18B20的程序,从DS18B20中读出两个字节的温度数据READ_18200:MOV R4,#2;将温度高位和低位从DS18B20中读出 MOV R1,#29H;低位存入29H(TEMPER_L),高位存入28H(TEMPER_H)RE00:MOV R2,#8;数据一共有8位 RE01:CLR C SETB P1.0 NOP NOP CLR P1.0 NOP NOP NOP SETB P1.0 MOV R3,#9 RE10:DJNZ R3,RE10 MOV C,P1.0 MOV R3,#23 RE20:DJNZ R3,RE20 RRC A DJNZ R2,RE01 MOV R1,A DEC R1 DJNZ R4,RE00 RETDISPLAY:CLR C SUBB A,#30 JNB CY,T1 MOV A,B CLR C SUBB A,#25 JNB CY,XIANSHIT1:CLR P1.2XIANSHI:MOV A,B MOV B,#10;10进制/10=10进制 DIV AB MOV B_BIT,A;十位在A MOV A_BIT,B;个位在B MOV R0,#4 CLR C;多加的DPL1:MOV R1,#250DPLOP:MOV DPTR,#NUMTAB1 MOV A,A_BIT;取个位数 MOV A,A+DPTR;查个位数的7段代码 MOV P0,A;送出个位的7段代码 CLR P2.1;开个位显示 ACALL D1MS;显示1ms SETB P2.1 MOV DPTR,#NUMTAB MOV A,B_BIT;取十位数 MOV A,A+DPTR;查十位数的7段代码 MOV P0,A; CLR P2.2开十位显示 ACALL D1MS;显示1ms SETB P2.2 JC XSW MOV A,31H MOV B,#160 DIV AB MOV XS,BXSW:MOV A,XS MOVC A,A+DPTR MOV P0,A C

    注意事项

    本文(毕业设计——基于单片机的温度控制系统的设计.doc)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开