版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录引言 . 11.概述. 11.1 设计的目的及意义 11.2 单片机简介 . 12. 方案论证 . 23 系统元件选择 23.1 主控制器选择 23.2 温度传感器 DS18B20 33.2.1 DS18B20 的特性 33.2.2 DS18B20 的外形和内部结构 43.2.3 DS18B20 与单片机的接口电路 43.3 数码管 . 54. 系统硬件设计 . 54.1 总体设计 54.2 各部分电路分析 64.1.1 温度采集部分 64.2.2 复位电路 64.2.3 晶振电路 64.2.4 超限报警电路 74.2.5 数据显示数码管电路部分 74.2.6 电源部分 85 系统软件部分
2、的设计 85.1 温度的采集 . 85.1.1 时序及协议 85.1.2 设计流程 105.2 温度数据的处理 115.3 数值的显示 . 11总结. 12致谢. 13参考文献: . 14附录 . 15附录一 源程序. 15附录二 系统原理图 263电子温度计的设计摘 要:该设计介绍了 DS18B20 型数字温度传感器内部结构及工作时序,并提出了以DS18B20和AT89C51为核心设计的数字温度计设计方案。实践证明,该数字式温度计的 测温范围为-50+110C,精度误差在0.1C以内,具有测温精度高,控制性能良好等特点 设计还介绍了一种基于51单片机和DS18B20数字温度传感器来进行温度测
3、量的方法,包 括温度传感器芯片的选取、单片机与温度传感器接口电路的设计,以及实现温度信息采集 和数据传输的软件设计。该温度计完全适用于一般的应用场合,也可在高低温报警、远距 离多点测温控制等方面进行应用。关键词 : 数字温度计,单片机,温度传感器The Design of Electronic ThermometerAbstract : This paper introduced the inner structure and job sequence of the digital temperature sensor DS18B20,and put forward a digital tem
4、perature design of the core design according to DS18B20 and AT89C51Practice testifies that the digital temperature's measureme nt range is-5+ 110°C, and accuracy error is withi n O.TC .It has high measureme nt temperature accurac,y fine controlling characteristic, and so onA practical tempe
5、rature measuring method based on microcontroller and DS18B20 digital temperature sensor was presentedThe selection of temperature sensor chip was discussed and the design of hardware interface circuit and related software were dealt with in more details The temperature completely fits to be used for
6、 the average applicatio,n also may be used to the field of high or low temperature alarm, controlling of the remote and multiple spot's temperature measureme,nt and so onKEY WORD:S Di g i tal Thermometer , Microcontroller , Temperature sensor引言在传统的温度测量系统中,一般采用热电偶或铂电阻进行温度测量。在这些电路中, 有这样一些问题必须解决:为了
7、进行准确的温度测量,必须给铂电阻提供一个良好的恒流 源;由于热电偶出来的信号是模拟信号,所以此信号在送给CPU 之前必须先进行 A/D 转换,然后再送给CPU进行处理;并且热电偶的信号很微弱,只有十几个mA,因此在A/D转换之前通常还需要进行增益放大。因此,采用热电偶和铂电阻进行温度测量,需要考虑 很多问题,构成的系统也比较复杂。 DALLAS 公司推出的数字式温度传感器 DS18B20 很 好地解决了这样一些问题,DS18B20采用一线接口,只需占用单片机的一个 I/O 口位,其 外围电路也非常简单;并且DS18B20将测得的温度信号转换为数字量输出,可以与单片机直接相连,而不需进行信号放大
8、和 A/D 转换,大大简化了电路的设计,因此系统采用了 DS18B20作为温度传感器进行温度采集。1. 概述1.1 设计的目的及意义单片机实现的电子温度计的毕业设计是在学习单片机,汇编语言,PROTEUS软件等基础上,综合应用所学的理论知识完成。虽然该设计题目类似于课程设计题目,但因涉及原 理图、硬件的选型、软件语言的选择等的要求,已经符合毕业设计的要求。设计目的:整个系统以单片机 AT89C51 为核心,结合数字温度传感器 DS18B20, 数 码管显示等,实现温度的示数。单片机应用系统具有体积小、功耗低、功能强、性能价格比高、易于开发和推广等优 点,在自动化控制、仪器仪表和家用电器等领域中
9、得到了广泛的应用。单片机应用系统设 计主要包含以下两方面内容:(1) 深入研究单片机的芯片功能,掌握与其相关的接口电路,熟练掌握与其相关的软件 语言和设计方法,学习和了解现有系统的设计原理和方法。(2) 学习和掌握传感器技术,掌握电子技术的一般设计原理和方法。1.2 单片机简介微型计算机可分为普通微型计算机和单片微型计算机 ,前一种指我们通常所用的PC机, 后者正是这次设计所使用的,简称单片机。所谓单片机(Single Chip Micro-computer)就是把 中央处理器CPU、随机存储器RAM、只读存储器ROM、定时器/计数器及I/O接口等主 要功能部件集成在一片大规模或超大规模集成电
10、路芯片上的微型计算机,即在一个芯片上 实现一台微型计算机的基本功能。近年来随着超大规模集成电路工艺的发展,单片机作为 微型计算机的一个分支而获得飞速发展。 由于它具有体积小、 价格低、 功能强、 应用方便、 可靠性高等优点,因而广泛渗透于实时控制、智能报警(如汽车防撞报警器)、仪器仪表、 通讯导航、家用电器等各个领域,从尖端科学到日常用具,单片机几乎无处不在。随着设 备向小型智能化方向的发展和计算机在控制系统中的作用,单片机作为高新技术之一,发 展空间是相当大的。如果是简单控制对象,只需利用这样的单片机作为控制核心,不需要增加别的外部设 备和扩展某些接口就能实现;对于复杂的系统,单片机的应用和
11、接口扩展也很方便。单片 机系统归纳起来有以下特点:(1) 由于系统规模较小,本身不具有自我开发能力,需借助专用开发工具进行系统的 开发和调试,使得实际应用系统简单实用,成本低,效果好。(2) 系统配置以满足对象的控制要求为出发点,使得系统有较高的性能价格比。(3) 应用系统通常将程序驻留在 ROM 中,无需软硬磁盘作软件载体, 使系统不易受到 干扰,可靠性高,使用方便。(4) 应用系统所用存储器芯片可选用 EPROM、EEROM、OTP 芯片或利用掩膜形式生 产,便于成批开发和应用。(5) 由于系统小巧玲珑,控制能力强,体积小,便于安装于被控设备之内,大大推动 了机电一体化产品的开发。(6)
12、系统是超大规模集成电路,它的工作电压 10V 左右,功耗小,使得系统具有更好的性价比。2. 方案论证方案一:热电偶的实现办法, 需要比较多的外部硬件支持, 电路复杂, 软件调试复杂, 制作成本高。实现上需要温度的补偿,在满足精度时有一定的难度。方案二:智能传感器DS18B20作为检测元件,测温范围-55C 125°C,分辨率最大可 达0.0625C。DS18B20可以直接读出被测温度值。而且采用 3线制与单片机相连,减 少了外部硬件电路,具有低成本和易使用的特点。 LED 数码管作为显示器件,通过 89C51 构建最小系统。综上所述,权衡各方面的利弊,我采用方案二。3 系统元件选择3
13、.1 主控制器选择AT89C513.2 温度传感器 DS18B203.2.1 DS18B20 的特性(1) 适应电压范围更宽,电压范围:3.05.5V,寄生电源方式下可由数据线供。(2) 独特的单线接口方式,DS18B2C在与微处理器连接时仅需要一条口线即可实现微处理 器与DS18B20的双向通讯。(3) DS18B20支持多点组网功能,多个 DS18B2削以并联在唯一的三线上,实现组网多点 测温。(4) DS18B2C在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三 极管的集成电路内。(5) 温范围55E+ 125C,在-10+85C时精度为土 0.5 C。(6) 可编程的
14、分辨率为912位,对应的可分辨温度分别为 0.5 C、0.25 C、0.125 C和 0.0625 C,可实现高精度测温。(7) 在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms 内把温度值转换为数字,速度更快。(8) 测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU同时可传送CRC 校验码,具有极强的抗干扰纠错能力。9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作322 DS18B20的外形和内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度 报警触发器TH和TL、配置寄存器。DS18B
15、20的管脚排列如图3-1: 引脚定义:(1) DQ为数字信号输入/输出端;GND为电源地;(3) VDD为外接供电电源输入端(在寄生电源接线方式时接地) 内部结构如下图ft接口DS18B20内部结构图磁灵敏元件3.2.3 DS18B20 与单片机的接口电路确保DS18B20在其变换期得到足够的电源电流, 在I/O线上提供一强的上拉。连接图 如下图GNDl>ODCS3-3上拉疾接圉而此处采用外部电源供电方式,即在 DQ与单片机接口处必须填加上拉电阻,该电阻 一般为4.7K。3.3 数码管常见的LED显示具有清晰明亮的特点。是显示接口也是绝大多数单片机应用系统必备 的部件之一。发光二极管组成
16、的显示器是单片机应用产品中最常用的廉价输出设备。它由若干个发 光二极管按一定的规律排列而成。当某一个发光二极管导通时,相应的一个点或一笔画被 点亮,控制不同组合的二极管导通,就能显出各种字符。显示器的结构常用的7段显示器的结构如图所示,发光二极管的阳极连在一起的称为 共阳极显示器,阴极连在一起的成为共阴显示器。1位显示器由8个发光二极管组成,其中7个发光二极管ag控制7个笔画的亮或暗,另一个控制一个小数点的亮和暗,这种 笔画的七段显示器能显示的字符较少,字符的形状有些失真,但失控简单,使用方便。ta> * h c4dZ33 *0ZV3 OA /O 1> i> J3 in b
17、c d c f a共阳共阴4.系统硬件设计4.1总体设计该系统是以AT89C51芯片为核心,通过检测 DS18B20的工作与否,然后将其内部的 数字量温度读到单片机,通过相应的数码管显示,当温度超出设定的温度时用蜂鸣器报警。 其外围电路包括复位电路、晶振电路。系统框图如下图:系统框图4.2 各部分电路分析4.1.1 温度采集部分a) 温度采集电路的功能是采集传感器周围的温度,并将其转换成数字信号输出b) . 电路原理图4.2.2 复位电路a) .电路的功能是完成对单片机的复位,具有上电复位功能和按键复位功能。b) .电路原理图单片机的复位就是对单片机的初始化,就是让程序重新开始执行,也就是说让
18、单片 机的PC寄存器初始化为0000H。一般的初始化是指进入程序的正常初始化,但是当程序 出错或者操作错误使系统处于死锁状态时,为了摆脱困境也需要按复位键使系统重新启 动。复位方式有自动复位和手动。我们在本设计中采用自动复位的上电复位方式。晶振为 12MHZ。复位电路如图4.2.3 晶振电路a) .电路功能是产生稳定的时钟脉冲供单片机工作,b) .电路原理图AT89C5l 中有一个用于构成内部振荡器的高增益反相放大器,引脚 XTAL1 和 XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐 振器一起构成自激振荡器。外接石英晶体(或陶瓷谐振器)及电容 C1
19、、C2接在放大器的反馈回路中构成并联振 荡电路。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振 荡频率的高低、 振荡器工作的稳定性、 起振的难易程序及温度稳定性, 如果使用石英晶体,我们推荐电容使用30pF±10pF,而如使用陶瓷谐振器建议选择 40pF±10F。用户也可以采用 外部时钟。采用外部时钟的电路如下图所示。这种情况下,外部时钟脉冲接到XTAL1 端,即内部时钟发生器的输入端,XTAL2则悬空。囹3百品振外詡时忡电昭5CFAL 1CMD4.2.4超限报警电路报警电路设置的原因是,该电子温度计的限定范围为 0100度。当超出这个范围时 就要
20、求有报警指示。该处采用PNP三极管9015进行驱动蜂鸣器,三极管工作在开关状态 原理图如下图囹报晉电踣4.2.5数据显示数码管电路部分a).数据显示电路电路的功能是显示传感器检测到的温度数据。b).因为要显示0C100C,分辨率0.1C,该部分至少有四个数码管来显示数值。单片 机的资源有限,在这里只能采用动态扫描的方法。在该接法中,单片机使用的口线为P0口,作为输出口,需要上拉,图中的电阻均为10K。数码管采用共阳管。电路接口电路如下图426电源部分a) 电源部分的功能是使单 片机工作稳定,各时序要求严格,所以其电源要求比较高。最 好采用开关电源,这里使用的是自制电源。b) 变压器变压输出,把
21、高电压变成低电压,输出的电压值是正弦图形。桥堆全桥整流后 输出的电压是波浪一样的图形,就是把正弦的负半周转到正半周,C1整流后输出一个衰减 的波浪图形,因为C1充电了,7805是稳压模块,输出一个恒定的5V电压,C3和C2滤 出杂散波和公频,7805的输出端不能高于输入端,所以加二极管保护 7805。原理图如下电源原理图5系统软件部分的设计软件部分主要有三部分构成:(1)温度的采集;(2)温度数据的处理(3)数值的显示。5.1 温度的采集5.1.1时序及协议该部分设计时主要考虑DSI8B20工作过程及时序DSI8B20工作过程中的协议如下:初始化ROM操作命令存储器操作命令处理数据初始化单总线
22、上的所有处理均从初始化开始(2)ROM操作品令总线主机检测到DSI820的存在便可以发出ROM操作命令之一(3)存储器操作命令指令代码Write Scratchpad;写暂存存储器)4EHRead Scratchpad读暂存存储器)BEHCopy Scratchpad复制暂存存储器)48HConvert Temperature 温度变换)44HRecall EPROM;重新调出)B8HRead Power supply 读电源)B4H时序主机使用时间隙(time slots)来读写DSI8B20的数据位和写命令字的位a).初始化时序见下图主机总线发送一复位脉冲(最短为480us的低电平信号)接
23、着在释放总线 并进入接收状态,DSl8B20在检测到总线的上升沿之后等待15-60us,接着DS18B20发出存在脉冲(低电平持续60-240 u9如图中虚线所示:BUSUNC TYF*E LEOEMO:By# nwBter tucliw bwiRABlflnr pu-iip初始化时序b).写时间隙当主机总线从高拉至低电平时就产生写时间隙,从开始15us之内应将所需写的位送到总线上DSl8B20,在15-60us间对总线采样若低电平写入的位是 0见下图4-2左;若高电平写入的位是1见下图4-2右,连续写2位间的间隙应大于1us写时隙图c) .读时间隙见下图4-3主机总线从高拉至低电平时总线只须
24、保持低电平 15卩之后在t1时刻将总线 拉高产生读时间隙读时间隙在t1时刻后t2时刻前有效tz距to为15卩也就是说tz时刻前 主机必须完成读位并在to后的60卩S20s内释放总线读时隙图5.1.2 设计流程该设计软件部分的灵魂就在于 DS18B20的使用:温度读取,需严格时序。该模块的设 计主程序流程图如下图;温度转换子程序下图:主程序框图温度转换子程序5.2 温度数据的处理该部分是在将温度传感器的数字量读入单片机后的处理内容。主要包括正负号的处 理、负数、正数、小数点的处理以及温度的比较,最终决定是否报警。5.3 数值的显示P0 口接数码管的七段显示及小数点,P2的前四个口接数码管的公共端
25、,作为片选信 号。这里采用动态扫描的方式,在软件仿真时比较容易通过,但硬件焊接后难以出结果。总结本次毕业设计是对以往知识的综合应用, 不但了解了 AT89C51 型单片机及其相关芯片 的系统结构、工作原理,设计是按照单片机应用系统的开发步骤,开发硬件电路和软件开 发的基本思路和方法进行的。硬件系统的设计完成后,就要在其基础上设计系统所需要的软件系统,系统功能是软 硬件共同实现的,两者缺一不可。由于软件的可伸缩性,最终实现的系统功能可强可弱, 差别很大。因此,在硬件结构确定后,软件是系统功能强弱的决定性因素。对于单片机如 果没有软件系统,系统功能无法实现。所以软件系统的正确与否是实现系统功能的关
26、键。 软件系统不仅要正确还要能准确实现系统的功能要求。本设计的软件系统采用模块化的设计思想来实现。模块化设计是将一个大的程序按功 能分割成一些小的模块,各个模块相对独立、结构清晰、接口简单。利用这种模块化设计 有许多优点;减少了程序设计的复杂性;提高了元件的可靠性;缩短了开发周期;避免程 序开发的重复劳动;易于维护和功能扩展。本设计的软件功能模块分为:温度采集,温度 数据处理,主程序模块,延时子程序等。在整个系统设计过程中,严格按照硬件电路的设计规程,各个步骤都按计划有条不紊 的进行,做到了设计工作分配合理,进程安排得当,文档资料充分,使整个系统的设计获 得了圆满的成功。 总体来说这次所设计的
27、电子温度计符合设计要求, 能够达到预期的目标。 同时我也看到,由于时间和技术上的一些原因,系统中还有很多需要完善的地方,有待于 以后工作中改进。致谢在本设计即将完成之际,首先我要对导师致意和衷心的感谢!在整个毕业设计的过程 中,翻阅了大量有关论文的书籍和相关资料, 一点一点的分类、整理,丰富了自己的知识, 也拓宽了视野。从整理资料到形成论文的过程不是件容易的事情。在撰写论文中,也遇到 了很多不懂的知识点和失误,但是都得到了解决。毕业设计的过程是一个自我总结,自我学习的过程,但也和老师、同学的帮助分不开 的。最后,再次感谢本次毕业设计的导师,使我完成了这次毕业设计。感谢各位同学对我 的帮助,只要
28、我们不断的努力,不断的学习,我们的前途就是美好的!参考文献 :1 马忠梅等单片机的C语言应用程序设计(第三版)北京航空航天大学出版 社 . 2004.2 先锋工作室 . 单片机程序设计实例 . 清华大学出版社 . 2003.3 万光毅等 . 单片机实验与实践教程 . 北京航空航天大学出版社 . 2004.4 李叶紫等.MCS-51单片机应用教程.清华大学出版社.2004.5 潘永雄著.新编单片机原理与应用 .西安电子科技大学出版社 .2005.汪德彪著.MCS-51单片机原理及接口技术.电子工业出版社.2003.7 汪建校、杨建国等 .51系列单片机及 C51 程序设计.科学出版社.2002.
29、8 何宏等、单片机原理与接口技术 .国防工业出版社 .2006./ 头函数/0-4/5-9/ '-'/0.-4./5.-9.初始化void init(void)附录附录一 源程序#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intuchar code LED_CODE=0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90, 0xbf;uchar code LED_POINT_COD
30、E=0x40,0x79,0x24,0x30,0x19, 0x12,0x02,0x78,0x00,0x10;uchar Temp_H,Temp_L;uchar disp_ds18b206;uchar num;uchar alarm_num;char temp_max;char temp_min;sbit DQ=P3A7;sbit SPEAK = P1A0;sbit motor=P1A1;sbit led=P1A2;bit alarm_flag;void display(void);float ds18b20_float_date(uchar templ);void disp_float(floa
31、t date);num=0;alarm_flag=0;alarm_num=0;temp_max=99;/ 设置温度上限值temp_min=0;/ 设置温度下限值TMOD=0x01;/ 定时器 T0 工作于方式 1TH0=(65536-50000)/256;/ 定时器 T0 赋初值TL0=(65536-50000)%256;EA=1;/开总允许中断ET0=1;/开定时器 T0 中断TR0=1;/启动定时器 T0/* 1us的延时(12M)延时子程序*/void delay_us(uchar x)while (-x);/when crystal is 12M ,a*2+5 us , / 子程序调用
32、要 5us,while 就等于 DJNZ 指令x取值1255;/*1ms 的延时(12M)延时子程序*/void delay_ms(uchar x)uchar i,j;for (i=0; i<x; i+)for (j=0; j<200; j+)_nop_(); /一个 nop 约 1us_nop_();*dds18b20 初始化 */void init1820(void)DQ = 1;/ 复位_nop_();/ 稍做延时DQ = 0; / 拉低数据线,准备 Reset OneWire Bus;delay_us(125); /延时要大于480us小于960us延时510us,释放总线
33、delay_us(125);DQ = 1;/ 提升数据线;delay_us(15); / 延时 35us; ds18b20要等待 15-16uswhile(DQ)/ 等待器件信号 , 检测应答脉冲信号_nop_();delay_us(60); / 延时 125us;DQ = 1;/ 提升数据线,准备数据传输;/* 写数据的一个字节,满足写 1 和些 0 的时隙要求 */void write1820(uchar a)uchar i;for(i=0;i<8;i+)if(a & 0x01)/ 写 1, 低位在前;DQ = 0;/ 拉低电平,结束 Recovery time;_nop_(
34、);/延时,使得15us以内拉高电平_nop_();_nop_();DQ = 1; / 发送数据;else/ 写 0DQ = 0;_nop_();_nop_();_nop_();delay_us(30); / 等待 Slave Device 采样;DQ = 1; _nop_(); a >>= 1;uchar read1820(void)uchar i; uchar temp=0; DQ = 1;_nop_(); for(i=0;i<8;i+) temp >>= 1; DQ = 0; _nop_(); DQ = 1; delay_us(2); _nop_(); if
35、(DQ) temp |= 0x80; delay_us(30); DQ = 1; _nop_();/ 复位 ;/ 短延时 ;/ 右移一位/ 准备读;/ 低位先发;/ 读开始脉冲;/ 延时;/ 必须写 1 ,否则读出来的将是不预期的数据;/ 延时 9us ;/ 在 12us 处读取数据;/ 延时 65us ;/ 拉高电平/ 恢复总线;return temp;void Rdtemp(void)uchar k,tmp_int;uint tp;float m=1.0, tmp_float;init1820();/初始化 DS1820display();write1820(0xcc);/跳过 ROM/d
36、elay_ms(2);write1820(0x44);/温度转换命令/ _nop_();/ DQ=1;/ delay_ms(250);/多个 1820 时要延时,单个就不用/ delay_ms(250);/ delay_ms(250);init1820();/初始化 DS1820display();write1820(0xcc);/跳过 ROMwrite1820(0xbe);/读占存器命令display();Temp_L=read1820();/温度值低位字节(其中低 4 位为二进制的小数部分)Temp_H=read1820();/ 高位值高位字节(其中 5 位为符号位)init1820();
37、display();tp=Temp_H*256+Temp_L;/* 正负号处理 */num=0;k=Temp_H>>4;if(k>0)tp=(tp)+1);Temp_L=tp%256;disp_ds18b20num+=LED_CODE10;正数处理display();tp=tp>>4;tmp_int=(tp&0x7f);if(tmp_int<10)disp_ds18b20num+=LED_POINT_CODEtmp_int;else if(tmp_int<100)disp_ds18b20num+=LED_CODE(tmp_int/10);dis
38、p_ds18b20num+=LED_POINT_CODE(tmp_int%10); elsedisp_ds18b20num+=LED_CODE(tmp_int/100);disp_ds18b20num+=LED_CODE(tmp_int%100)/10);disp_ds18b20num+=LED_POINT_CODE(tmp_int%100)%10);负数处理display();tmp_float=ds18b20_float_date(Temp_L); display();disp_float(tmp_float); if(num>=6)num=0;float ds18b20_float
39、_date(uchar tmpl)uchar i,a,b,k;float m=1.0,p;p=0.0;b=0;k=(tmpl&0x0f);if( k=0 )return (p);for(i=0;i<4;i+) a=(k&0x01); b=(a|b); b=(b<<1); k=(k>>1);b=(b>>1);p=(m/b)/2);return (p);温度值小数显示部分处理函数 */void disp_float(float date)uchar g,s;uint b,q;g=(date*10);/个分位disp_ds18b20num+=
40、LED_CODEg; / 送个分位 s=date*100;s=s%10;/十分位disp_ds18b20num+=LED_CODEs;/ 送十分位b=date*1000;b=(b%100)%10;/百分位disp_ds18b20num+=LED_CODEb;/ 送百分位q=date*10000;q=(q%1000)%100)%10;/千分位disp_ds18b20num+=LED_CODEq;/ 送千分位显示函数void display(void)uchar i;P2=0x01; /P2 口赋初值控制数码管的位 for(i=0;i<6;i+)P0=disp_ds18b20i; / 数码管
41、段显示delay_ms(1);/1ms 延时P2=(P2<<1);/ 数码管位控制温度比较函数/ 定义变量/ 初始化 DS1820/skip rom 命令void Compare_Temp(char temp_min,char temp_max)/ 比较温度uchar tl_temp;uchar y; uint tp; init1820(); display();write1820(0xcc);display();/convert T 命令write1820(0x44);display();init1820(); / 初始化 DS1820 display();write1820(0xcc);display();write1820(0xbe);/ 温度值低位字节(其中低 4 位为二进制的小数display();Temp_L=read1820();else/ 温度为正温度时处理部分)Temp_H=read1820(); / 高位值高位字节(其中 5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年中山客运驾驶员考试题库
- 数学-浙江省湖州、衢州、丽水2024年11月三地市高三教学质量检测试卷试题和答案
- 吉首大学《合唱与合唱指挥2》2021-2022学年第一学期期末试卷
- 吉首大学《Web编程技术》2021-2022学年期末试卷
- 《机床电气控制与PLC》期末试卷-B卷及答案
- 吉林艺术学院《戏曲鉴赏》2021-2022学年第一学期期末试卷
- 吉林艺术学院《流行音乐演唱录音实践Ⅱ》2021-2022学年第一学期期末试卷
- 执行四方协议书范本范本
- 2024年公证遗产继承分配协议书模板
- 吉林师范大学《影视语言》2021-2022学年第一学期期末试卷
- 2022年《系统集成项目管理工程师》案例分析真题
- 商户收款码自查报告
- 餐饮业行业分析报告
- 神话故事燧人钻木取火
- 中华人民共和国民法典:研究与解读
- 食品加工与检验实训室建设方案
- 《心导管检查术》课件
- 《基因表达调控》课件
- 常州高级中学2022-2023学年高一上学期期中数学试题(原卷版)
- 厨房安全协议书
- TikTok全球化运营策略解析
评论
0/150
提交评论