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

    基于STC89C52单片机温度报警器毕业论文.doc

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

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

    基于STC89C52单片机温度报警器毕业论文.doc

    基于STC89C52单片机温度报警器摘 要 温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发,本文设计了一种基于STC89C52的温度检测及报警系统。该系统将多个单总线温度传感器DS18B20并接在控制器的一个端口上,对各个传感器温度进行循环采集,将采集到的温度值与设定值进行比较,当超出设定的上限温度时,通过蜂鸣器报警信号。该系统设计和布线简单,结构紧凑,体积小,重量轻,抗干扰能力强,性价比高,扩展方便,在大型仓库,工厂,智能化建筑等领域的多点温度检测中有广阔的应用前景。关键词:数字温度传感器;DS18B20;STC89C52;蜂鸣器。Abstract Temperature detection and control of industrial production process, one of the more typical applications, with sensors in production and life is more widely used, using a new single-bus digital temperature sensor to achieve the test and control the temperature more rapidly development, this paper is designed based on STC89C52 temperature detection and alarm systems. The system will be more than a single-bus temperature sensor DS18B20 and connected to a port on the controller, the temperature sensors on each loop collection, the temperature will be collected to compare with the set value, when the temperature exceeds the upper limit set , Through the buzzer alarm. The system design and layout simple and compact structure, small size, light weight, anti-jamming capability, cost-effective to expand convenience, in large warehouses, factories, construction and other areas of intelligent multi-point temperature measurement in a wide range of applications prospects. Key words: digital temperature sensor; DS18B20; STC89C52; alarm signal. 毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 日期: 毕业论文(设计)授权使用说明本论文(设计)作者完全了解*学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。学校可以公布论文(设计)的全部或部分内容。保密的论文(设计)在解密后适用本规定。   作者签名: 指导教师签名: 日期: 日期: 注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它目 录 一、绪论 1.1 设计的意义及目标.4 1.2 单片机的概述.4 1.3 设计方案的论证.5 二、硬件的设计 (一)、主要器件的选择2.1.1 主控制器的选择.62.1.2 DS18B20温度传感器.72.1.3 蜂鸣器的报警原理.132.1.4 1602LCD显示原理.14 (二)、电路的设计2.2.1最小系统电路设计.182.2.2温度传感器DS18B20电路图设计.182.2.3显示电路设计.19 三、软件设计 (一)、 主程序设计.20 (二)、部分程序设计 3.2.1获取温度子程序.22 3.2.2温度计算BCD码转换子程序.22 3.2.3DS18B20初始化子程序.26 3.2.4LCD1602液晶显示程序.29 四、调试 4.1 硬件调试.30 4.2 软件调试.30 五、总结.31 六、致谢.32 七、参考文献.32 八、附录.33 一 绪 论 1.1 选题的意义与内容防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标。它直接影响到储备物资的使用寿命和工作可靠性。为保证日常工作的顺利进行,首要问题是加强仓库内温度与湿度的监测工作。但传统的方法是用与湿度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。因此,研究温度的测量方法和装置具有重要意义,温度测控技术也在各个领域应用越来越广泛。采用单片机对温度进行控制,不仅具有控制方便和组态简单的优点,而且可以提高被控温度的技术指标。我们设计了这种造价低廉、使用方便且测量准确的温湿度测量仪。1.2 单片机的概述 单片机自1976年由Intel公司推出MCS-48开始,迄今已有三十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域,对各个行业的技术改造和产品更新换代起着重要的推动作用。目前使用的MCS-51系列单片机及其兼容产品通常分成以下几类:基本型、增强型、低功耗型、专用型、超8位型、片内闪烁存储器型。其中ATMEL公司的标准型AT89单片机因其与MCS-51的完全兼容性、优良的工作性能、使用的灵活性以及较高的性能价格比,成为AT89系列单片机的主流机型,在嵌入式控制系统中获得广泛应用。1.3 设计方案的论证 方案一由于本设计实现的是测温电路,首先我们可以使用热敏电阻之类的器件,利用其感温效应,将其随被测温度变化的电压或电流值采集过来,进行A/D转换后,就可以用单片机进行数据的处理,通过显示电路就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。因此,我们引出第二种方案。 方案 二 我们可以采用技术成熟、操作简单、精确度高的温度传感器,在此,可以选用数字温度传感器DS18B20,根据它的特点和测温原理,很容易就能直接读取被测温度值并进行转换,这样就可以满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故在本设计中采用了方案二。通过方案二设计的温度计总体电路图如附录图C所示,控制器采用单片机STC89C52,温度传感器采用DS18B20,用4位LED数码管以串口并行输出方式传送数据实现温度显示。LCD1602显示单片机复位 单片机主控制器 温度传感器 时钟震荡蜂鸣器报警 图1.1 方案二的总体设计框图二、硬件的设计 (一)、主要器件的选择 2.1.1 主控制器的选择STC89C52 是低电压,高性能 CMOS 8 位单片机,片内含 8k bytes 的可反复擦写的Flash只读程序存储器和256 bytes 的随机存取数据存储器(RAM),器件采用高密度、非易失性存储技术生产,与标准 MCS-51 指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和 Flash 存储单元,功能强大 STC89C52 单片机适合于许多较为复杂控制应用场合。STC89C52单片机为40引脚双列直插芯片,有四个I/O口P0、P1、P2、P3,每一条I/O线都能独立地作输出或输入。STC89C52 PDIP管脚封装,如图2.1.1所示。图2.1 STC89C52 PDIP管脚封装STC89c52包含以下部分:(1)一个8位微处理器CPU(2)片内数据存储器RAM和特殊功能寄存器SFR(3)片内程序存储器ROM(4)两个定时/计数器T0、T1,可用作定时器,也可用以对外部脉冲进行计数(5)四个8位可编程的并行I/O端口,每个端口既可作输入,也可作输出(6)一个串行端口,用于数据的串行通信(7)中断控制系统(8)内部时钟电路2.1.2 DS18B20温度传感器 (1) DS18B20的主要特征: 全数字温度转换及输出。 先进的单总线数据通信。 最高12位分辨率,精度可达土0.5摄氏度。 12位分辨率时的最大工作周期为750毫秒。 可选择寄生工作方式。 检测温度范围为55°C +125°C (67°F +257°F) 内置EEPROM,限温报警功能。 64位光刻ROM,内置产品序列号,方便多机挂接。 多样封装形式,适应不同硬件系统。 图2.2(2) DS18B20内部结构:图2.3 DS18B20内部结构框图温度传感器DS18B20的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图2.4所示。图2.4 高速暂存RAM结构图其中,前2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。暂存存储器的第5个字节是配置寄存器,可以通过相应的写命令进行配置,其内容如下:0R1R0111111MSB LSB其中R0和R1是温度值分辨率位,可按表2.1进行配置。表2.1 温度值分辨率配置表R1R0分辨率最大转换时间(ms)009位93.75ms(tconv/8)0110位183.50ms(tconv /4)1011位375ms(tconv /2)1112位750ms(tconv)当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可通过单线接口读到该数据,读取时低位在前、高位在后,数据格式以0.0625/LSB形式表示。温度值格式如下:低232221202-12-22-32-4高SSSSS262524MSB LSB这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。格式中,S表示位。对应的温度计算:当符号位S=0时,表示测得的温度植为正值,直接将二进制位转换为十进制;当S=1时,表示测得的温度植为负值,先将补码变换为原码,再计算十进制值。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H.表2.2 部分温度的二进制数表示温度数字输出(二进制)数字输出(16进制)+12500000111 1101000007D0H+8500000101 010100000550H+25.062500000001 100100010191H+10.12500000000 1010001000A2H+0.500000000 000010000008H000000000 000000000000H-0.511111111 11111000FFF8H-10.12511111111 01011110FFE5H-25.062511111110 01101111FF6FH-5511111100 10010000FC90H(3) DS18B20测温原理DS18B20的 测温原理如图2.5所示,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55所对应的一个基数值。斜率累加器计数比较器预置低温度系数振荡器高温度系数振荡器减法计数器1减法计数器2减到0减到0预置温度寄存器斜率累加器计数比较器预置图2.5 DS18B20测温原理图减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器 1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。在正常测温情况下,DS18B20的测温分辨力为0.5,可采用下述方法获得高分辨率的温度测量结果:首先用DS18B20提供的读暂存器指令(BEH)读出以0.5为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度的整数部分Tz,然后再用BEH指令取计数器1的计数剩余值Cs和每度计数值CD。实际温度Ts可用式(2-1)计算:Ts=(Tz-0.25)+(CD-Cs)/CD (2-1)2.1.3 蜂鸣器的报警原理(1)三极管驱动的蜂鸣器报警电路RP. 1.0STC 89S52+5V 图2.6 三极管驱动的蜂鸣器报警电路压电式蜂鸣器约10mA的驱动电流,可以使用TTL系列集成电路7406或7407低电平驱动,这里我选用了一个三极管来做驱动。P1.0接三极管输入端。当P1.0输出低电平时,三极管导通,压电式蜂鸣器两端获得的+5V电压而鸣叫:当P1.0输出高电平,三极管截止,蜂鸣器停止发音。2.1.4 LCD1602显示原理(1) LCD1602的控制原理: 1602液晶模块内部的控制器共有11条控制指令,如下表所示 表2.3 LCD1602控制指令序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容  LCD1602液晶模块的读写操作,屏幕和光标的操作都是通过指令编程来实现的。(说明1为高电平,0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置指令2:光标复位,光标返回到地址00H指令3:光标和显示位置设置I/D,光标移动方向,高电平右移,低电平左移,S:屏幕上所有文字是否左移或右移,高电平表示有效,低电平表示无效。指令4:显示开关控制。D:控制整体的显示开与关,高电平表示开显示,低电平表示关显示。C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C :高电平时显示移动的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时为双行显示,F:低电平时显示5X7的点阵字符,高电平时显示5X10的显示字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:忙标志位,高电平表示忙,此时模块不能接收命令或数据,如果为低电平表示不忙。读写操作时序如图所示:  图2.7 LCD1602读时序图       图2.8 LCD1602写操作时序(2) LCD1602的RAM地址映射及标准字库表: 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在,哪里显示字符,图2.9是1602的内部显示地址。       图2.9 LCD1602内部显示地址   (二)、电路的设计2.2.1最小系统电路设计本系统使用儿的基于单片机的温度计的设计所以首先设计单片机的最小系统,所谓最小系统是一个真正可用的单片机的最小配置系统。由于本次设计所是用的stc89c52单片机片内不能集成始终电路所需的晶体振荡器,也没有复位电路,在构成最小系统时必须外接这些部件。电路设计如图2.10 其中电容为30PF,10UF ,晶振为11.0592MHZ。 2.10 单片机最小系统图2.2.2温度传感器DS18B20电路图设计主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列、各种封装形式如图 3.4 所示。其中,DQ 为数据输入/输出引脚,也可用作开漏单总线接口引脚,当被用在寄生电源工作方式下,可以向器件提供电源;GND为地信号;VDD为可选择的电源引脚,当工作于寄生电源时,此引脚必须接地。其电路图2.11所示。 图2.11 温度传感器DS18B20电路图 2.2.3显示电路设计 1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表: 表2.4 LCD1602引脚说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。 图2.11 LCD 1602连接电路图第16脚:背光源负极。 三、软件设计 (一)、 主程序设计 图3.1 主体流程图设计(二)、部分程序设计 3.2.1获取温度子程序 图3.2 读出温度子程序流程图3.2.2温度计算BCD码转换子程序 ;=将从DS18B20中读出的温度数据进行转换 TEMPER_COV :MOV A,#0F0H ANL A, TEMPER_L SWAP A MOV TEMPER_NUM,A MOV A,TEMPER_L JNB ACC.3,TEMPER_COV1 INC TEMPER_NUM TEMPER_COV1:MOV A, TEMPER_H ANL A, #07H SWAP A ORL A,TEMPER_NUM MOV TEMPER_NUM,A MOV A ,#0FH ANL A ,TEMPER_L MOV TEMPER_D,A CLR C SUBB A ,#10 JC JIANLO MOV TEMPER_D , A INC TEMPER_NUM JIANLO: LCALL BIN_BCD RET ;=将16进制的温度数据转换成压缩BCD码 BIN_BCD: MOV DPTR ,#TEMP_TAB MOV A ,TEMPER_NUM MOVC A ,A+DPTR MOV TEMPER_NUM,A RET TEMP_TAB :DB 00H,01H,02H,03H,04H,05H,06H,07H DB 08H,09H,10H,11H,12H,13H,14H,15H DB 16H,17H,18H,19H,20H,21H,22H,23H DB 24H,25H,26H,27H,28H,29H,30H,31H DB 32H,33H,34H,35H,36H,37H,38H,39H DB 40H,41H,42H,43H,44H,45H,46H,47H DB 48H,49H,50H,51H,52H,53H,54H,55H DB 56H,57H,58H,59H,60H,61H,62H,63H DB 64H,65H,66H,67H,68H,69H,70H,71H DB 72H,73H,74H,75H,76H,77H,78H,79H DB 80H,81H,82H,83H,84H,85H,86H,87H DB 88H,89H,90H,91H,92H,93H,94H,95H DB 96H,97H,98H,99H 图3.4 计算温度子程序流程图 3.2.3DS18B20初始化子程序对于DS18B20来说,它的初始化是很重要的,没有初始化,它根本就不能工作。下面是它的初始化子程序:INIT_1820:SETB DQ NOP CLR DQ MOV R0,#80H TSR1: DJNZ R0,TSR1 SETB DQ MOV R0,#25H TSR2: DJNZ R0,TSR2 JNB DQ,TSR3 LJMP TSR4 TSR3: SETB FLAG1 LJMP TSR5 TSR4 : CLR FLAG1 LJMP TSR7 TSR5: MOV R0,#06BH TSR6: DJNZ R0,TSR6 TSR7: SETB DQ RET3.2.4LCD1602液晶显示程序 DISPLAY1:LCALL LCD_CS MOV R0,#11 MOV 50H,#0 MOV R1,#08H A1: MOV A, R1 MOV P0,A ACALL ENABLE MOV DPTR,#TABLE1 MOV A ,50H MOVC A ,A +DPTR LCALL WRITE_E INC 50H INC R1 DJNZ R0,A1 RET DISPLAY2; LCALL LCD_CS MOV P0,#0C1H CALL ENABLE LCALL WRITE1 RET WRITE1:MOV R1,#4 MOV R0,#37H MOV DPTR,#TABLE2 B1: MOV A,R0 MOVC A,A+DPTR CALL WRITE_E INC R0 DJNZ RI,B1 RET DISPLAY3:LCALL LCD_CS MOV R0,#16 MOV 50H,#0 MOV RI,#80H C1: MOV A,R1 MOV P0,A ACALL ENABLE MOV DPTR ,#TABLE3 MOV A ,50H MOVC A,A+DPTR LCALL WRITE_E INC 50H INC R1 DJNZ R0,C1 RET ENABLE :CLR RS CLR RW CLR E ACALL DELA

    注意事项

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

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




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

    三一文库
    收起
    展开