基于单片机的测温系统设计.doc
《基于单片机的测温系统设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的测温系统设计.doc(36页珍藏版)》请在咨信网上搜索。
毕业设计说明书 论文题目 基于单片机的测温系统设计 学 号 姓 名 指导教师 职称 办 学 点 教 学 班 200 年 月 日 2016年11月1日 摘 要 随着现代信息技术的飞速发展和传统工业改造的逐步实现,温度自动检测和显示系统在很多领域得到广泛应用。人们在温度检测的准确度、便捷、快速等方面有着越来越高的要求。而传统的温度传感器已经不能满足人们的需求,其渐渐被新型的温度传感器所代替。 本文设计并制作了一个简易温度计。本设计采用了单片机AT89S51和温度传感器DS18B20组成了温度自动测控系统,可根据实际需要任意设定温度值,并进行自动控制。在此设计中利用了AT89S51单片机作为主控制器件,DS18B20作为测温传感器通过LED数码管串口传送数据,实现温度显示。通过DS18B20直接读取被测温度值,进行数据转换,能够设置温度上下限来设置报警温度。并且在到达报警温度后,系统会自动报警。 本文设计是从测温电路、主控电路、报警电路等几个方面来分析说明的。该器件可直接向单片机传输数字信号,便于单片机处理及控制。另外,该温度计还能直接采用测温器件测量温度。从而简化数据传输与处理过程。此设计的优点主要体现在可操作性强,结构基础简单,拥有很大的扩展空间等。 关键词:单片机; 温度传感器; 温度计; 报警; 目 录 摘 要 1 第1章概述 1 1.1课程设计的意义 1 1.2设计的任务和要求 1 第2章 系统总体方案及硬件设计 2 2.1 数字温度计设计方案论证 2 2.1.1 方案一 2 2.1.2 方案二 2 2.2 系统总体设计 2 2.3 系统模块 4 2.3.1 主控制器 4 2.3.2 显示电路 5 2.3.3 温度传感器 5 2.3.4 报警温度调整按键 6 第3章 硬件设计 7 3.1测温和控制电路 7 3.2 显示控制电路 10 3.3 声光报警电路 11 第4章 系统软件算法分析 13 4.1 主程序流程图 13 4.2 读出温度子程序 14 4.3 温度转换命令子程序 14 4.4 计算温度子程序 14 4.5 显示数据刷新子程序 14 4.6 按键扫描处理子程序 15 第5章 实验仿真 16 总结 18 参考文献 19 附录1 源程序 20 毕业设计说明书 第1章 概述 1.1 课程设计的意义 本次课程设计是在我们学过单片机后的一次实习,可增加我们的动手能力。特别是对 单片机的系统设计有很大帮助。本课程设计由两个人共同完成,在锻炼了自己的同时也增强 了自己的团队意识和团队合作精神。 1.2 设计的任务和要求 1、基本范围-50℃-110℃ 2、精度误差小于 0.5℃ 3、LED 数码直读显示 4、可以任意设定温度的上下限报警功能 1 第2章 系统总体方案及硬件设计 2.1 数字温度计设计方案论证 2.1.1 方案一 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温 度变化的电压或电流采集过来,进行 A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到 A/D 转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。而且在对采集的信号进行放大时容易受温度的影响出现较大的偏差。 2.1.2 方案二 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常 容易想到的,所以可以采用一只温度传感器 DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,费用较低,可靠性高,软件设计也比较简单,故采用了方案二。 2.2 系统总体设计 温度计电路设计总体设计方框图如图 2.2-1 所示,控制器采用单片机 AT89S51,温度传感器采用 DS18B20,用 3 位 LED 数码管以串口传送数据实现温度显示。 2 图2.2-1 总体设计方框图 图2.2-2 系统仿真图 3 2.3 系统模块 系统由单片机最小系统、显示电路、按键、温度传感器等组成。 2.3.1 主控制器 单片机 AT89S51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电 路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。 晶振采用 12MHZ。复位电路采用上电加按钮复位。 图2.3.1-1 晶振电路 图2.3.1-2 复位电路 4 2.3.2 显示电路 显示电路采用 4 位共阴极 LED 数码管,P0 口由上拉电阻提高驱动能力,作为段码输出并作为数码管的驱动。P2 口的低四位作为数码管的位选端。采用动态扫描的方式显示。 图2.3.2 数码管显示电路 2.3.3 温度传感器 DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感 器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过 简单的编程实现9~12位的数字值读数方式。DS18B20 的性能特点如下: 1、独特的单线接口仅需要一个端口引脚进行通信; 2、多个 DS18B20 可以并联在惟一的三线上,实现多点组网功能 3、无须外部器件; 4、可通过数据线供电,电压范围为 3.0~5.5V; 5、零待机功耗; 6、温度以9或12位数字; 7、用户可定义报警设置; 8、报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; 9、负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20 可以采用两种方式供电,一种是采用电源供电方式,此时 DS18B20 的 1 脚接地,2 脚作为信号线,3 脚接电源。另一种是寄生电源供电方式,如图 4 所示单片机端口接单线 5 总线,为保证在有效的 DS18B20 时钟周期内提供足够的电流,可用一个 MOSFET 管来完成对总线的上拉。 当 DS18B20 处于写存储器操作和温度 A/D 转换操作时,总线上必须有强的上拉,上拉开启时间最大为 10us。采用寄生电源供电方式时 VDD 端接地。由于单线制只有一根线,因此发送接口必须是三态的。 图2.3.3 温度传感器与单片机的连接 2.3.4 报警温度调整按键 本系统设计三个按键,采用查询方式,一个用于选择切换设置报警温度和当前温度,另外两个分别用于设置报警温度的加和减。均采用软件消抖。 图2.3.4 按键电路 6 第3章 硬件设计 3.1测温和控制电路 (1) 测温 测温使用的DS18B20是典型的应用单总线技术的器件。独特的一线接口,只需要一条口线通信 多点能力,简化了分布式温度传感应用 无需外部元件 可用数据总线供电,电压范围为3.0 V至5.5 V 无需备用电源 测量温度范围为-55 ° C至+125 ℃ 。华氏相当于是-67 ° F到257华氏度 -10 ° C至+85 ° C范围内精度为±0.5 ° C 温度传感器可编程的分辨率为9~12位温度转换为12位数字格式最大值为750毫秒用户可定义的非易失性温度报警设置 应用范围包括恒温控制,工业系统,消费电子产品温度计,或任何热敏感系统描述该DS18B20的数字温度计提供9至12位(可编程设备温度读数。信息被发送到/从DS18B20通过1线接口,所以中央微处理器与DS18B20只有一个一条口线连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。因为每一个DS18B20的包含一个独特的序号,多个ds18b20s可以同时存在于一条总线。这使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。 设备(主机或从机)通过一个漏极开路或三态端口,连接至该数据线,这样允许设备在不发送数据时释放数据总线,以便总线被其它设备所使用。单总线端口为漏极开路,其内部等效电路如图1所示。单总线要求外接一个约5k的上拉电阻;这样,单总线的闲置状态为高电平。不管什么原因,如果传输过程需要暂时挂起,且要求传输过程还能够继续的话,则总线必须处于空闲状态。位传输之间的恢复时间没有限制,只要总线在恢复期间处于空闲状态(高电平)。如果总线保持低电平超过480μs,总线上的所有器件将复位。另外,在寄生方式供电时,为了保证单总线器件在某些工作状态下(如温度转换期间、EEPROM写入等)具有足够的电源电流,必须在总线上提供强上拉[1]。 (2) 控制 AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。 7 AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。 主要功能特性: · 兼容MCS-51指令系统 · 4k可反复擦写(>1000次)ISP Flash ROM · 32个双向I/O口 · 4.5-5.5V工作电压 · 2个16位可编程定时/计数器 · 时钟频率0-33MHz · 全双工UART串行中断口线 · 128x8bit内部RAM · 2个外部中断源 · 低功耗空闲和省电模式 · 中断唤醒省电模式 · 3级加密位 · 看门狗(WDT)电路 · 软件设置空闲和省电功能 · 灵活的ISP字节和分页编程 · 双数据寄存器指针 引脚功能说明 VCCT:电源电压 GND:地 P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口;作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或者程序存储器时,这组口线分时转换地址(低8位)和数据总线复用;在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时要求外接上拉电阻 P1口:P1是一个带内部上拉电阻的8位双向I/O口;P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路,对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口;作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低会输出一个电流。 Flash编程和程序校验期间,P1接收低8位地址 P2口:P2口是一个带有内部上拉电阻的8位双向I/O口;P2的输出缓冲级可驱动个(吸收或输出电流)4个TTL逻辑门电路,对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口;作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX 8 @DPTR指令)时,P2口送出高8位地址数据;在访问8位地址的外部数据存储器(如执行MOVX @RI)时,P2口线上的内容(即特殊功能寄存器(SFR)区中的R2寄存器的内容),在整个访问期间不改变;Flash编程或校验时,P2亦接收高位地址和其它控制信号。 P3口:P3口是一个带有内部上拉电阻的8位双向I/O口;P2的输出缓冲级可驱动个(吸收或输出电流)4个TTL逻辑门电路,对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口;作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低会输出一个电流。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能;如下表2-1所示: 表2.1 端口引脚 第二功能 P3.0 RXD (串行输入口) P3.1 TXD (串行输出口) P3.2 (外中断0) P3.3 (外中断1) P3.4 T0 (定时/计数器0) P3.5 T1 (定时/计数器1) P3.6 (外部数据存储器写选通) P3.7 (外部数据存储器读选通) P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。 RST:复位输入;当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节;即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的;要注意的是,每当访问外部数据存储器时将跳过一个ALE脉冲。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作,该位置位后,只有一条MOVX和MOVC指令ALE才会被激活,此外该引脚会被微弱拉高,单片机执行外部程序时,应该置ALE无效。 EA/VPP:外部访问允许;欲使CPU仅访问外部程学存储器(地址为0000H FFFFH),EA端必须保持低电平(接地)。需要注意的是,如果加密位LB1被编程,复位时内部会锁存EA端的状态[3]。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash 9 存储编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。 XTML1:振荡器反相放大器的及内部时钟发生器的输入端。 XTML2: 振荡器反相放大器的输出端。 图2.1测温和控制电路 3.2 显示控制电路 HD7279是一片具有串行接口的,可同时驱动8位共阴式数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时还可联接多达64键的键盘矩阵,单片即可完成LED显示、键盘接口的全部功能。 HD7279A内部含有译码器,可直接接受BCD码或16进制码,并同时具有2种译码方式,此外,还具有多种控制命令,如消隐、闪烁、左移、右移、段寻址等。 HD7279A具有片选信号,可方便地实现多于8位的显示或多于64键的键盘接口。 HD7279与单片机仅需4条接口线,其中CS为片选信号。当MCU访问HD7279时,应将片选端置为低电平。DATA为串行数据/输出端,当向HD7279发送数据时,DATA为输入端;当HD7279A输出键盘代码时,DATA为输出端。其特点为: -串行接口,无需外围元件可直接驱动LED -各位独立控制译码/不译码及消隐和闪烁属性 -(循环)左移/(循环)右移指令 -具有段寻址指令,方便控制独立LED -64键键盘控制器,内含去抖动电路 -有DIP和SOIC两种封装形式供选择 10 图2.2显示控制电路 3.3 声光报警电路 555集成定时器是一种模拟和数字电路相混合的集成电路。它结构简单,使用灵活,用途十分广泛,可以组成多种波形发生器、多谐振荡器、定时延时电路、双稳触发电路、报警电路、检测电路、频率变换电路等。 555含有两个比较器A1、A2,其中5端为电压控制端,通过外接一个参考电源,可以改变上、下触发电位值,不用时,可通过一个0.01μF旁路电容接地。4端为触发器复位端,不用时应接高电平。总之,555相当于一个可用模拟电压来控制翻转的R-S触发器。图2.5就是用555构成的多谐振荡电路,产生的振荡脉冲信号经过三极管放大后驱动扬声器报警,由单片机的P1.5端口输出高电平发出报警。 555定时器的电路原理图及管脚排列图分别如图2.3和2.4所示。 5kW - ¥ + + A1 - ¥ + + A2 - 1 5kW 5kW RD - SD - Q Q UCC 电源地 WR 4 8 5 6 2 7 图2.3 555定时器的原理图路 3 OUT GND DIS TL TH VC 复位端 输出端 高触发端 放电端 低触发端 电压控制端 电源端 T 555 1 2 3 4 5 6 7 8 图2.4 555定时器的引脚图 11 图2.5 报警电路 12 第4章 系统软件算法分析 系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序, 显示数据刷新子程序,按键扫描处理子程序等。 4.1 主程序流程图 主程序的主要功能是负责温度的实时显示、读出并处理 DS18B20 的测量的当前温度值, 温度测量每 1s 进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图 3.1 所 示。 图3.1 主程序流程图 13 4.2 读出温度子程序 读出温度子程序的主要功能是读出 RAM 中的 9 字节,在读出时需进行 CRC 校验,校验有错时不进行温度数据的改写。其程序流程图如图 3.2 示 4.3 温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令,当采用 12 位分辨率时转换时间约为 750ms,在本程序设计中采用 1s 显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图 3.3 所示 图3.2 读温度流程图 4.4 计算温度子程序 计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,并进行温度值正负的判定, 其程序流程图如图 3.4 所示。 4.5 显示数据刷新子程序 显示数据刷新子程序主要是对分离后的温度显示数据进行刷新操作,当标志位位为 1 时将符号显示位移入第一位。程序流程图如图 3.5。 14 图3.4 计算温度流程图 图3.5 显示数据刷新流程图 4.6 按键扫描处理子程序 按键采用扫描查询方式,设置标志位,当标志位为 1 时,显示设置温度,否则显示当前温度。如下图 3.6 示。 图3.6 按键扫描处理子程序 15 第5章 实验仿真 进入 protuse 后,连接好电路,并将程序下载进去。将 DS18B20 的改为 0.1,数码管显示温度与传感器的温度相同。 图4-1 温度显示仿真 当按下 SET 键一次时,进入温度报警上线调节,此时显示软件设置的温度报警上线,按 ADD或 DEC 分别对报警温度进行加一或减一。 当再次按下 SET 键时,进入温度报警下线调节,此时显示软件设置的温度报警下线,按 ADD或 DEC 分别对报警温度进行加一或减一 16 图4-2 温度调试仿真 当第三次按下 SET 键时,退出温度报警线设置。显示当前温度。 17 总结 通过本次课程设计,我掌握了很多实践知识,并在老师和同学们的帮助下对单片机的原理及应用有了进一步的了解和认识,也对温度报警器的工作原理有了进一步的掌握。本次课程设计使我深深的懂得了理论与实际相结合的重要性,二者缺一不可,只有把所学的理论知识与实践两者结合起来,从实践中得出结论,才能对自己的动手能力和思考能力有所提高。整个设计过程并不顺利,其中很多知识已经淡忘,还有很多新的东西没能及时掌握,所以在本次设计过程中不断地学习、复习,受益匪浅,也使我对单片机的运用有了进一步的了解和掌握,也为今后的学习生活和工作打下良好的基础。 18 参考文献 [1] 单片机典型外围器件及应用实例 北京 人民邮电出版社, 2006 [2] 张友德,赵志英,徐时亮.单片微机原理应用与实验[M].上海:复旦大学出版社,2000. [3] 蔡美琴,张为民,沈新群,张荣娟.MCS-51系列单片机系统及其应用[M].北京:高等教育出版社,1992. 19 附录1源程序 数字温度计程序清单 S1OK EQU 5FH TEMPUTER EQU 39H TEMPH EQU 5EH TEMPL EQU 5DH MS50 EQU 5CH SIGN EQU 5BH S1 BIT P1.0 S2 BIT P1.1 S3 BIT P1.2 S4 BIT P1.3 ORG 0000H LJMP MAIN ORG 000BH LJMP TOIT ORG 0030H MAIN: MOV SP, #60H MOV TMOD, #01H MOV TH0, #3CH MOV TL0, #0B0H SETB ET0 SETB TR0 SETB EA MOV TEMPH, #30 MOV TEMPL, #9 MOV TEMPUTER, #15 ;温度最始值 MOV S1OK, #00H MOV SIGN, #00H 20 MOV 38H, #0BH MOV 37H, #0CH MOV 36H, #0BH ACALL DISP ACALL T1S ; 主程序 START: JB S1, NET1 ACALL T12MS JB S1, NET1 JNB S1, $ INC SIGN MOV A, SIGN CJNE A, #1, TIAO ACALL TIAOTL TIAO:CJNE A, #2, NET1 MOV SIGN, #0 ACALL TIAOTH ; NET1: MOV A, S1OK CJNE A, #1, START MOV A, TEMPUTER SUBB A, TEMPH JNB ACC.7, ALEM MOV A, TEMPUTER SUBB A, TEMPL JB ACC.7, ALEM SETB P2.1 ACALL WENDU ACALL DISP MOV S1OK, #00H AJMP START ALEM: MOV 36H, #0CH MOV 37H, #0CH 21 MOV 38H, #0CH CLR P2.1 ACALL DISP ACALL T1S LCALL WENDU LCALL DISP MOV S1OK, #00H SJMP START TIAOTL:MOV 50H, TEMPUTER MOV 37H, TEMPL ACALL BIN_BCD ACALL DISP ACALL T12MS ACALL T12MS ACALL T12MS ACALL T12MS MOV 36H, #0AH MOV 37H, #0AH MOV 38H, #0AH ACALL DISP ACALL T12MS ACALL T12MS ACALL T12MS ACALL T12MS JB S2, ADD1 ACALL T12MS JB S2, ADD1 JNB S2, $ INC TEMPL MOV A, TEMPL CJNE A, #100, ADD1 MOV TEMPL, #0 ADD1: JB S3, ADD 22 ACALL T12MS JB S3, ADD2 JNB S3, $ DEC TEMPL MOV A, TEMPL CJNE A, #00 , ADD2 MOV TEMPL,#100 ADD2: JB S4, TIAOTL ACALL T12MS JB S4, TIAOTL JNB S4, $ MOV TEMPUTER, 50H LJMP START ; 高位调整: TIAOTH:MOV 50H, TEMPUTER MOV 37H, TEMPH ACALL BIN_BCD ACALL DISP ACALL T12MS ACALL T12MS ACALL T12MS ACALL T12MS MOV 36H, #0AH MOV 37H, #0AH MOV 38H, #0AH ACALL DISP ACALL T12MS ACALL T12MS ACALL T12MS ACALL T12MS JB S2, ADD11 ACALL T12MS JB S2, ADD11 23 JNB S2, $ INC TEMPH MOV A, TEMPH CJNE A, #100, ADD11 MOV TEMPH, #0 ADD11: JB S3, ADD22 ACALL T12MS JB S3, ADD22 JNB S3, $ DEC TEMPH MOV A, TEMPH CJNE A, #00 , ADD22 MOV TEMPH,#100 ADD22: JB S4, TIAOTH ACALL T12MS JB S4, TIAOTH JNB S4, $ MOV TEMPUTER, 50H LJMP START ; 一秒定时中段 ; TOIT: PUSH PSW PUSH ACC MOV TH0, #3CH MOV TL0, #0B0H INC MS50 MOV A, MS50 CJNE A, #14H, RETURN MOV S1OK, #1 MOV MS50, #00H RETURN:POP AC 24 POP PSW RETI ;温度总子程序 ; wendu: ACALL INIT_1820 ACALL RE_CONFIG ACALL GET_TEMPER ACALL TEMPER_COV RET ;DS18B20初始化程序 ; INIT_1820: SETB P2.0 NOP CLR P2.0 MOV R0,#06BH MOV R1,#03H TSR1: DJNZ R0,TSR1 ; 延时 MOV R0,#6BH DJNZ R1,TSR1 SETB P2.0 NOP NOP NOP MOV R0,#25H TSR2: JNB P2.0,TSR 25 DJNZ R0,TSR2 LJMP TSR4 ; 延时 TSR3: SETB 20H.1 ; 置标志位,表示DS1820存在 LJMP TSR5 TSR4: CLR 20H.1 ; 清标志位,表示DS1820不存在 LJMP TSR7 TSR5: MOV R0,#06BH MOV R1,#03H TSR6:DJNZ R0,TSR6 ; 延时 MOV R0,#6BH DJNZ R1,TSR6 TSR7:SETB P2.0 RET ; ; 重新写DS18B20暂存存储器设定值 ; RE_CONFIG:JB 20H.1,RE_CONFIG1 ; 若DS18B20存在,转RE_CONFIG1 RET RE_CONFIG1: MOV A,#0CCH ; 发SKIP ROM命令 LCALL WRITE_1820 MOV A,#4EH ; 发写暂存存储器命令 LCALL WRITE_1820 MOV A,#00H ; TH(报警上限)中写入00H LCALL WRITE_1820 MOV A,#00H ; TL(报警下限)中写入00H LCALL WRITE_1820 MOV A,#1FH ; 选择9位温度分辨率 LCALL WRITE_1820 RE 26 ;; 读出转换后的温度值 ; GET_TEMPER: SETB P2.0 ; 定时入口 LCALL INIT_1820 JB 20H.1,TSS2 RET ; 若DS18B20不存在则返回 TSS2: MOV A,#0CCH ; 跳过ROM匹配 LCALL WRITE_1820 MOV A,#44H ; 发出温度转换命令 LCALL WRITE_1820 LCALL INIT_1820 MOV A,#0CCH ; 跳过ROM匹配 LCALL WRITE_1820 MOV A,#0BEH ; 发出读温度命令 LCALL WRITE_1820 LCALL READ_18200 MOV 37H,A ; 将读出的温度数据保存 RET ; ; 写DS18B20的程序 ; WRITE_1820: MOV R2,#8 CLR C WR1:CLR P2.0 NOP NOP NOP NOP RRC 27 MOV P2.0,C MOV R3,#35 DJNZ R3,$ SETB P2.0 NOP DJNZ R2,WR1 SETB P2.0 RET ; 读DS18B20的程序,从DS18B20中读出两个字节的温度数据 ; READ_18200: MOV R4,#2 ; 将温度高位和低位DS18B20中读 RE00:MOV R2,#8 RE01:CLR C SETB P2.0 NOP NOP CLR P2.0 NOP NOP NOP SETB P2.0 NOP NOP MOV C,P2.0 MOV R3,#35 RE20: DJNZ R3,RE20 RRC A DJNZ R2,RE01 MOV @R1,A DEC R1 DJNZ R4,RE0 28 RET ; 将从DS18B20中读出的温度数据进行转换 TEMPER_COV: MOV A,#0F0H ANL A,36H ; 舍去温度低位中小数点 SWAP A MOV 37H,A MOV A,36H JNB ACC.3,TEMPER_COV1 ; 四舍五入去温度值 INC 37H TEMPE- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 测温 系统 设计
咨信网温馨提示:
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。
关于本文