基于51单片机的温度报警器设计大学本科毕业论文.doc
《基于51单片机的温度报警器设计大学本科毕业论文.doc》由会员分享,可在线阅读,更多相关《基于51单片机的温度报警器设计大学本科毕业论文.doc(32页珍藏版)》请在咨信网上搜索。
毕业论文 『2014届』 题 目 基于51单片机的温度报警器设计 姓 名 我 学 号 专业班级 通信电子技术 指导教师 于先生 2014年12月3日 毕业论文任务书 主要实现:实时温度测量及显示,超出温度范围声光报警,上下限温度可通过按键设定等功能。 本数字温度报警器是基于51单片机及温度传感器DS18B20来设计的,温度测量范围0到99.9摄氏度,精度为0.1摄氏度,可见测量温度的范围广,精度高的特点。可设置上下限报警温度,默认上限报警温度为38℃、默认下限报警温度为5℃(通过程序可以更改上下限值)。报警值可设置范围:最低上限报警值等于当前下限报警值,最高下限报警值等于当前上限报警值。将下限报警值调为0时为关闭下限报警功能。 目 录 前言 1 1 设计要求与方案论证 2 1.1 设计要求 2 1.2 系统基本方案选择和论证 2 1.2.1 单片机芯片的选择方案和论证 2 1.2.2 温度传感器设计方案论证 3 1.2.3 掉电保持方案论证 3 1.3 电路设计最终方案决定 4 2 主要元件介绍 4 2.1 STC89C51介绍 4 2.1.1 STC89C51主要功能及PDIP封装 4 2.1.2 STC89C51引脚介绍 4 2.1.3 单片机最小系统: 5 2.2 DS18B20传感器介绍 6 2.2.1 DS18B20概述 6 2.2.2 DS18B20引脚介绍 7 2.2.3 DS18B20的内部结构 7 2.2.4 DS18B20的程序流程图 8 2.3 数码管介绍 9 2.3.1 数码管概述 10 2.4 AT24C02简介 10 2.4.1 I2C总线说明 11 3 程序流程图 12 图6:程序流程图 13 结论 14 参考文献 15 致 谢 16 附录1 系统原理图 17 附录2 C语言程序 18 2 基于51单片机的温度报警器设计 摘 要:单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度器,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。 随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。本文通过采用蜂鸣器作为电声元件的温度报警器的设计,阐明了该装置进行设计与制作的具体过程及方法。这种温度报警器结构简单,可操作性强,应用广泛。工作时,温度测量范围为5—38ºC。当前环境温度若超过设定的高温临界温度,由单片机发出报警信号,从而防止带来的不必要的损失。 造成高温火灾有:电气线路短路、过载、接触电阻过大等引发高温或火灾;静电产生高温或或火灾;雷电等强电侵入导致高温或火灾;最主要是机房内电脑、空调等用电设备长时间工作,导致设备老化,空调发生故障,而不能降温;因此机房内所属的电子产品发热快,在短时间内机房温度升高超出设备正常温度,导致系统瘫痪或产生火灾,这时温度报警系统就会发挥应有的功能。 关键词:STC89C51单片机,数字控制,温度计,DS18B20,24c02 前言 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,掉电保持上下限温度值,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机 STC89C51,测温传感器使用 DS18B20,掉电保持使用24c02,用四位一体共阳极 LED 数码管以串口传送数据,实现温度显示,能准确达到要求。 泉州理工职业学院毕业论文 1 设计要求与方案论证 首先明确设计要求,再讨论方案,一一攻破设计的难点。 1.1 设计要求 基本范围0℃-99℃ ; 精度误差小于 0.1℃ ; 数码管直读显示; 扩展功能:可以任意设定温度的上下限报警功能,并可以掉电保持上下限温度值。 1.2 系统基本方案选择和论证 1.2.1 单片机芯片的选择方案和论证 由于单片机具有以下的很多优点,被我们选定为制作该作品的首选芯片 单片机特点: (1)高集成度,体积小,高可靠性 单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。 (2)控制功能强 为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。 (3)低电压,低功耗,便于生产便携式产品 为了满足广泛使用于便携式系统,许多单片机内的最低工作电压仅为1.8V~3.6V,而工作电流仅为数百微安。 (4)易扩展 片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。 (5)优异的性价比 单片机的性能极高。为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。 方案一: 采用STC89C51芯片作为硬件核心。STC89C51内部具有8KB ROM 存储空间,512字节数据存储空间,带有2K字节的EEPROM存储空间,与MCS-51系列单片机完全兼容,STC89C51可以通过串口下载。 方案二: 采用AT89S51。AT89S51片内具有8K字节程序存储空间,256字节的数据存储空间没有EEPROM存储空间,也与MCS-51系列单片机完全兼容,具有在线编程可擦除技术。 两种单片机都完全能够满足设计需要,STC89C51相对ATS89C52价格便宜,且抗干扰能力强。考虑到成本因素,因此选用STC89C51。 1.2.2 温度传感器设计方案论证 利用物质各种物理性质随温度变化的规律把温度转换为电量的传感器。这些呈现规律性变化的物理性质主要有体。温度传感器是温度测量仪表的核心部分,品种繁多。按测量方式可分为接触式和非接触式两大类,按照传感器材料及电子元件特性分为热电阻和热电偶两类。 现代信息技术的三大基础是信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)。温度传感器的发展大致经历了以下三个阶段;(1)传统的分立式温度传感器(含敏感元件);(2)模拟集成温度传感器/控制器;(3)智能温度传感器。国际上新型温度传感器正从模拟式向数字式、由集成化向智能化、网络化的方向发展。在20世纪90年代中期最早推出的智能温度传感器,采用的是8位A/D转换器,其测温精度较低,分辨力只能达到1°C。国外已相继推出多种高精度、高分辨力的智能温度传感器,所用的是9~12位A/D转换器,分辨力一般可达0.5~0.0625°C。由美国DALLAS半导体公司新研制的DS1624型高分辨力智能温度传感器,能输出13位二进制数据,其分辨力高达0.03125°C,测温精度为±0.2°C。为了提高多通道智能温度传感器的转换速率,也有的芯片采用高速逐次逼近式A/D转换器。目前,智能温度传感器的总线技术也实现了标准化、规范化,所采用的总线主要有单线(1-Wire)总线、I2C总线、SMBus总线和spI总线。温度传感器作为从机可通过专用总线接口与主机进行通信。 方案一: 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化 的电压或电流采集过来,进行 A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到 A/D 转换电路,感温电路比较麻烦。 方案二: 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器 DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。 从以上两种方案,两种都完全能够满足设计需要,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。 1.2.3 掉电保持方案论证 为了方便使用,本设计采用串行E2PROMI2C-BUS的存储器件AT24C02,由于其具有接口方便,体积小,数据掉电不丢失等特点,在仪器仪表及工业自动化控制中得到大量的应用。本设计就是采用此功能。 1.3 电路设计最终方案决定 综上各方案所述,对此次作品的方案选定:采用STC89C51单片机作为主控制系统;采用DS18B20为传感器;采用AT24C02作为数据记录系统;采用数码管作为显示器件。 2 主要元件介绍 2.1 STC89C51介绍 STC89C51是由深圳宏晶科技公司生产的与工业标准MCS-51指令集和输出管脚相兼容的单片机。 2.1.1 STC89C51主要功能及PDIP封装 STC89C51主要功能如表1所示,其PDIP封装如图1所示 主要功能特性 兼容MCS51指令系统 8K可反复擦写Flash ROM 32个双向I/O口 256x8bit内部RAM 3个16位可编程定时/计数器中断 时钟频率0-24MHz 2个串行中断 可编程UART串行通道 2个外部中断源 共6个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 表1:STC89C51主要功能 2.1.2 STC89C51引脚介绍 ① 主电源引脚(2根) VCC(Pin40):电源输入,接+5V电源 GND(Pin20):接地线 ②外接晶振引脚(2根) XTAL1(Pin19):片内振荡电路的输入端 XTAL2(Pin20):片内振荡电路的输出端 ③控制引脚(4根) RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。 ALE/PROG(Pin30):地址锁存允许信号 PSEN(Pin29):外部存储器读选通信号 EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。 ④可编程输入/输出引脚(32根) STC89C51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。 P0口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7 P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7 P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7 P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7 图1:STC89C51封装图 2.1.3 单片机最小系统: 当在STC89C51单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作,按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经过电阻与电源VCC接通而实现的。最小系统如图2所示。 图2 单片机最小系统电路 电路以STC89C51单片机最小系统为控制核心,测温电路由DS18B20提供,输入部分采用三个独立式按键S1、S2、S3。数码管显示部分。具体电路连接,详见附录1。 2.2 DS18B20传感器介绍 2.2.1 DS18B20概述 在现代检测技术中,传感器占据着不可动摇的重要位置。主机对数据的处理能力已经相当的强,但是对现实世界中的模拟量却无能为力。如果没有各种精确可靠的传感器对非电量和模拟信号进行检测并提供可靠的数据,那计算机也无法发挥他应有的作用。传感器把非电量转换为电量,经过放大处理后,转换为数字量输入计算机,由计算机对信号进行分析处理。从而传感器技术与计算机技术结合起来,对自动化和信息化起重要作用。 采用各种传感器和微处理技术可以对各种工业参数及工业产品进行测控及检验,准确测量产品性能,及时发现隐患。为提高产品质量、改进产品性能,防止事故发生提供必要的信息和更可靠的数据。由于系统的工作环境比较恶劣,且对测量要求比较高,所以选择合适的传感器很重要。目前,国际上新型温度传感器正从模拟式向数字式、从集成化向智能化和网络化的方向飞速发展。智能温度传感器DS18B20正是朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。因此,智能温度传感器DS18B20作为温度测量装置已广泛应用于人民的日常生活和工农业生产中。 美国DALLAS公司生产的 DS18B20可组网数字温度传感器芯片外加不锈钢保护管封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。有独特的单线接口方式,DS1820在与微处理器连接时仅需要一条口线即可实现微处理器与DS1820的双向通讯;其测温范围 -55℃~+125℃,固有测温分辨率0.5℃;支持多点组网功能;多个DS1820可以并联在唯一的三线上,实现多点测温;工作电源为3~5V/DC;在使用中不需要任何外围元件。 DS18B20的性能特点如下: (1) 采用DALLAS公司独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯; (2)在使用中不需要任何外围元件; (3)可用数据线供电,供电电压范围:+3.0V~+5.5V; (4)测温范围:-55~+125℃。固有测温分辨率为0.5℃。当在-10℃~+85℃范围内,可确保测量误差不超过0.5℃,在-55~+125℃范围内,测量误差也不超过2℃; (5)通过编程可实现9~12位的数字读数方式; (6)用户可自设定非易失性的报警上下限值; (7)支持多点的组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温 (8)负压特性,即具有电源反接保护电路。当电源电压的极性反接时,能保护DS18B20不会因发热而烧毁,但此时芯片无法正常工作; (9)DS18B20的转换速率比较高,进行9位的温度值转换只需93.75ms; (10)适配各种单片机或系统; (11)内含64位激光修正的只读存储ROM,扣除8位产品系列号和8位循环冗余校验码(CRC)之后,产品序号占48位。出厂前产品序号存入其ROM中。在构成大型温控系统时,允许在单线总线上挂接多片DS18B20。 2.2.2 DS18B20引脚介绍 图3:DS18B20引脚 各引脚功能为:I/O为数据输入/输出端(即单线总线),它属于漏极开路输出,外接上拉电阻后,常态下呈高电平。UDD是可供选用的外部电源端,不用时接地,GND为地,NC空脚。 2.2.3 DS18B20的内部结构 DS18B20的内部结构主要包括7部分:寄生电源、温度传感器、64位激光(loser)ROM与单线接口、高速暂存器(即便筏式RAM,用于存放中间数据)、TH触发寄存器和TL触发寄存器,分别用来存储用户设定的温度上下限值、存储和控制逻辑、位循环冗余校验码(CRC)发生器。 图4:DS18B20内部结构 2.2.4 DS18B20的程序流程图 否 是 发出温度转换命令 写入18B20 读温度前复位 显示测温点位置 18B20复位 开始 18B20存在? 延时 发出读温度命令 写入18B20 读入温度值数据 返回 延时 图5程序流程图 2.3 数码管介绍 数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管; 按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。 2.3.1 数码管概述 图5:数码管 数码显示器是一种由LED发光二极管组合显示字符的显示器件,它使用了8个Led发光二极管,其中七个用于显示字符,一个显示小数点,所以通称为七段发光二极管数码显示器。4位一体数码管,其内部段已连接好,引脚如图所示(数码管的正面朝自己,小数点在下方)。a、b、c、d、e、f、g、dp为段引脚,S1、S2、S3、S4分别表示四个数码管的位。 2.4 AT24C02简介 如图1为AT24C02的芯片引脚图。 图3-1 AT24C02的芯片引脚图 AT24C02提供电可擦除的串行1024位存储或可编程只读存储器(EEPROM)128字(8位/字)。 芯片在低压的工业与商业应用中进行了最优化。AT24C01的封装为8脚PDIP、8脚JEDEC SOIC、8脚TSSOP,通过2线制串行接口进行数据传输。另外,整个系列有2.7V(2.7V至5.5V)和1.8V (1.8V至5.5V)两个版本。 设备操作: C L O C K 和 D A T A 变化:SDA管脚通常外都要拉高。SDA管脚上的数据只能在SCL低期间改变。数据在SCL高期间改变定义为一个开始或停止信号。 开始状态:在任何操作之前必须有一个开始信号----在SCL为高时SDA上产生一个下降沿。 停止状态: SCL为高时SDA产生一个上升沿是停止信号,停止信号后将停止所有通信。 在一个读的序列之后,停止信号将让EEPROM进入备用电源模式。 2.4.1 I2C总线说明 I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。 1 I2C总线的硬件结构 I2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。 为了避免总线信号的混乱,要求各设备连接到总线的输出端时必须是开漏输出或集电极开路输出。设备上的串行数据线SDA接口电路应该是双向的,输出电路用于向总线上发送数据,输入电路用于接收总线上的数据。而串行时钟线也应是双向的,作为控制总线数据传送的主机,一方面要通过SCL输出电路发送时钟信号,另一方面还要检测总线上的SCL电平,以决定什么时候发送下一个时钟脉冲电平;作为接受主机命令的从机,要按总线上的SCL信号发出或接收SDA上的信号,也可以向SCL线发出低电平信号以延长总线时钟信号周期。总线空闲时,因各设备都是开漏输出,上拉电阻RP使SDA和SCL线都保持高电平。任一设备输出的低电平都将使相应的总线信号线变低,也就是说:各设备的SDA是“与”关系,SCL也是“与”关系。 总线对设备接口电路的制造工艺和电平都没有特殊的要求(NMOS、CMOS都可以兼容)。在I2C总线上的数据传送率可高达每秒十万位,高速方式时在每秒四十万位以上。另外,总线上允许连接的设备数以其电容量不超过400pF为限。 总线的运行(数据传输)由主机控制。所谓主机是指启动数据的传送(发出启动信号)、发出时钟信号以及传送结束时发出停止信号的设备,通常主机都是微处理器。被主机寻访的设备称为从机。为了进行通讯,每个接到I2C总线的设备都有一个唯一的地址,以便于主机寻访。主机和从机的数据传送,可以由主机发送数据到从机,也可以由从机发到主机。凡是发送数据到总线的设备称为发送器,从总线上接收数据的设备被称为接受器。 I2C总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。 开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。 结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。 应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。如图3-2所示: SDA SCL 开始 结束 图3-2 开始、结束信号图 目前有很多半导体集成电路上都集成了I2C接口。带有I2C接口的单片机有:CYGNAL的 C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外围器件如存储器、监控芯片等也提供I2C接口。 总线基本操作: I2C规程运用主/从双向通讯。器件发送数据到总线上,则定义为发送器,器件接收数据则定义为接收器。主器件和从器件都可以工作于接收和发送状态。 总线必须由主器件(通常为微控制器)控制,主器件产生串行时钟(SCL)控制总线的传输方向,并产生起始和停止条件。SDA线上的数据状态仅在SCL为低电平的期间才能改变,SCL为高电平的期间,SDA状态的改变被用来表示起始和停止条件。 控制字节:在起始条件之后,必须是器件的控制字节,其中高四位为器件类型识别符(不同的芯片类型有不同的定义,EEPROM一般应为1010),接着三位为片选,最后一位为读写位,当为1时为读操作,为0时为写操作。 写操作:写操作分为字节写和页面写两种操作,对于页面写根据芯片的一次装载的字节不同有所不同。 读操作:读操作有三种基本操作:当前地址读、随机读和顺序读。图4给出的是顺序读的时序图。应当注意的是:最后一个读操作的第9个时钟周期不是“不关心”。为了结束读操作,主机必须在第9个周期时发出停止条件或者在第9个时钟周期内保持SDA为高电平、然后发出停止条件。 3 程序流程图 开始 初始化 读取当前温度 读取AT24C02内上下限温度值 显示当前温度 判断SET是否按下 正常范围 否 是 否 加减键是否按下 当前温度与上下限位关系 小于下限 大于上限 是 下限指示灯点亮,蜂鸣器闪响 上限指示灯点亮,蜂鸣器闪响 相应处理上下限位,并写入AT24C02 While循环返回 图6:程序流程图 结论 通过对自己在大学两年时间里所学的知识的回顾,并充分发挥对所学知识的理解和对毕业设计的思考及书面表达能力,最终完成了本设计。这为自己今后进一步深化学习,积累了一定宝贵的经验。撰写论文的过程也是专业知识的学习过程,它使我运用已有的专业基础知识,对其进行设计,分析和解决一个理论问题或实际问题,把知识转化为能力的实际训练。培养了我运用所学知识解决实际问题的能力。 本次论文设计,使我加深了对单片机的认识,并且熟悉了单片机系统的设计流程,收获丰硕。技术在不断进步,机械式时钟已经被淘汰,电子时代已经到来。做为新时代的我们,更应该提高自身能力,适应新时代的发展。知识来自实践,多从生活中探寻所需要的。 从这次的论文设计中,我真正的体会到,知识的重要性,特别是要理论联系实际,把我们所学的理论知识运用到实际生活当中,要用知识改变一切。 参考文献 [1] 陈权昌,李兴富.单片机原理及应用[M].广州:华南理工大学出版社,2007.84~102 [2] 李庆亮.C语言程序设计实用教程[M].北京:机械工业出版社,2005.32~58 [3] 杨志忠.数字电子技术[M].北京:高等教育出版社,2003.125~132 [4] 及力.Protel 99 SE原理图与PCB设计教程[M].北京:电子工业出版社,2007.89~150 [5] 徐江海.单片机实用教程[M].北京:机械工业出版社,2006.128~156 [6] 胡宴如.模拟电子技术[M].北京:高等教育出版社,2008.60~104 [7] 汪文,陈林.单片机原理及应用[M].湖北:华中科技大学出版社,2007.36~68 [8] 康华光.电子技术基础数字部分[M].北京:高等教育出版社,2008.203~209 [9] 杨欣.电子设计从零开始[M].北京:清华大学出版社,2005.28~102 致 谢 首先,感谢学校三年来对我的培养。为我们营造了一个良好的学习氛围,建设一流的教学设施,使我们身心愉快的投入到学习中。 其次,感谢尊敬的指导老师,有了他的谆谆教诲,处处提点,才使本论文的前期准备以及整个研究过程顺利完成。指导老师的严谨治学态度、扎实的理论基础、全身心投入工作的精神以及对学生尽心尽力的态度给了我极大的帮助与鼓励,使我受益匪浅。从指导老师的教学态度上,我学到的不仅仅只有书本上的知识,还有做人的道理。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。在此谨向指导老师致以诚挚的谢意和崇高的敬意。 最后,感谢我的父母多年来给予我的支持和关怀,同时感谢我的舍友和朋友对我的帮助。 附录1 系统原理图 附录2 C语言程序 #include<reg52.h> #define ui unsigned int #define uc unsigned char //宏定义 sbit SET=P3^1; //定义调整键 sbit DEC=P3^2; //定义减少键 sbit ADD=P3^3; //定义增加键 sbit BEEP=P3^6; //定义蜂鸣器 sbit ALAM=P1^2; //定义灯光报警 sbit ALAM1=P1^4; sbit DQ =P3^7; //定义DS18B20总线I/O sbit SCL=P1^6; sbit SDA=P1^7; sbit DIAN=P0^5; //小数点 bit bdata shanshuo_st; //闪烁间隔标志 bit bdata beep_st; //蜂鸣器间隔标志 uc x=0; //计数器 ui bai,shi,ge; uc set_st=0; //状态标志 char shangxian,xiaxian; code LEDData[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0xCF,0xDA,0x9B,0xDC,0x9B,0x8B}; //====================================DS18B20========================================= /*****延时子程序*****/ void Delay_DS18B20(int num) { while(num--) ; } void delay()//5微秒延时函数 { ;; } void start() //开始信号 { SDA=1; delay(); SCL=1; delay(); SDA=0; delay(); } void stop() //终止信号 { SDA=0; delay(); SCL=1; delay(); SDA=1; delay(); } void respons() //应答 { uc i; SCL=1; delay(); while((SDA==1)&&(i<250))i++;//如果SDA为低应答有效,或者超过一定时间默认应答有效 SCL=0; delay(); } void init24c04()//I2C总线初始化 { SDA=1; delay(); SCL=1; delay(); } void write_byte(uc date)//写操作 { uc i,temp; temp=date; for(i=0;i<8;i++) { temp=temp<<1; SCL=0; delay(); SDA=CY; delay(); SCL=1; delay(); } SCL=0; delay(); SDA=1; delay(); } uc read_byte()//读操作 { uc i,k; SCL=0; delay(); SDA=1; delay(); for(i=0;i<8;i++) { SCL=1; delay(); k=(k<<1)|SDA; SCL=0; delay(); } return k; } void write_add(uc address,uc date)//往任意地址存数据 { start(); write_byte(0xa0);//0xa0代表写入 respons(); write_byte(address); respons(); write_byte(date); respons(); stop(); } uc read_add(uc address)//读随意地址内容 { uc date; start(); write_byte(0xa0);//0xa0代表写入 respons(); write_byte(address); respons(); start(); write_byte(0xa1);//0xa1代表读出 respons(); date=read_byte(); stop(); return date;//返回值 } /*****初始化DS18B20*****/ void Init_DS18B20(void) { uc w=0; DQ = 1; //DQ复位 Delay_DS18B20(8); //稍做延时 DQ = 0; //单片机将DQ拉低 Delay_DS18B20(80); //精确延时,大于480us DQ = 1; //拉高总线 Delay_DS18B20(14); w = DQ; //稍做延时后,如果x=0则初始化成功,x=1则初始化失败 Delay_DS18B20(20); } /*****读一个字节*****/ unsigned char ReadOneChar(void) { uc i=0; uc dat = 0; for (i=8;i>0;i--) { DQ = 0; // 给脉冲信号 dat>>=1; DQ = 1; // 给脉冲信号 if(DQ) dat|=0x80; Delay_DS18B20(4); } return(dat); } /*****写一个字节*****/ void WriteOneChar(uc dat) { uc i=0; for (i=8; i>0; i--) { DQ = 0; DQ = dat&0x01; Delay_DS18B20(5); DQ = 1; dat>>=1; } } /*****读取温度*****/ ui ReadTemperature(void) { ui b=0; ui t=0; ui a=0; Init_DS18B20(); WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0x44); //启动温度转换 Init_DS18B20(); WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0xBE); //读取温度寄存器 a=ReadOneChar(); //读低8位 b=ReadOneChar(); //读高8位 t=b; t<<=8; t=t|a; tt=t*0.0625; t= tt*10+0.5; //放大10倍输出并四舍五入 return(t); } /*****延时子程序*****/ void Delay(ui num) { while( --num ); } /*****初始化定时器0*****/ void InitTimer(void) { TMOD=0x01; TH0=0x3c; TL0=0xb0; //50ms(晶振12M) } /*****读取温度*****/ void check_wendu(void) { ui f; f=ReadTemperature()-5; //获取温度值并减去DS18B20的温漂误差 if(f<0)f=0; if(f>999)f=999; bai=f/100; //计算得到十位数字 shi=(f%100)/10; //计算得到个位数字 ge=(f%100)%10; //计算得到整数位 } /*****显示开机初始化等待画面*****/ void Disp_init(void) { P0 = ~0x80; //显示---- P2 = 0x7F; Delay(200); P2 = 0xDF; Delay(200); P2 = 0xF7; Delay(200); P2 = 0xFD; Del- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 温度 报警器 设计 大学本科 毕业论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文