智能仪器课程方案设计书08

上传人:jin****ng 文档编号:66371569 上传时间:2022-03-28 格式:DOC 页数:34 大小:628.50KB
返回 下载 相关 举报
智能仪器课程方案设计书08_第1页
第1页 / 共34页
智能仪器课程方案设计书08_第2页
第2页 / 共34页
智能仪器课程方案设计书08_第3页
第3页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
内蒙古科技大学智能仪表综合训练设计说明书题 目:基于DS18B20的测温仪设计学生姓名:张超学号:0867112337专业:测控技术与仪器班级:2008-3 指导教师:王志春副教授基于DS18B20的测温仪设计摘要:温度是一种基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量。因此 研究温度的测量方法和装置具有重要意义。测量温度的关键是温度传感器,温度 传感器的发展经历了三个发展阶段:传统的分立式温度传感器、模拟集成温度传 感器、智能集成温度传感器。目前,国际上新型温度传感器正从模拟式向数字式, 集成化向智能化、网络化的方向飞速发展。本文所介绍的智能温度测量系统是基 于DS18B20型数字式温度传感器,在89C52单片机的控制下,对环境温度进行 实时控制的装置。该系统测量范围宽、测量精确度高,该系统可广泛适用于人民 的日常生活和工、农业生产的温度测量。关键词:DS18B20;测温仪Solar thermometer desig n based on DS18B20Temperature is one of the basic parameters of the en vir onment, peoples lives and the environment temperature is closely related to, in the process of in dustrial product ion n eeds of real-time measureme nt of temperature, in agriculturalproduct ion can not be separated from the temperaturemeasureme nt. The study of temperature measureme nt method and the device has important significanee. Measurement of temperature is the key to the temperature sen sor, the temperature sen sor developme nt experie need three stages of development: the traditional separation of temperature sensor, an alog in tegrated temperature sen sor, in tellige nt in tegrated temperature sensor. At present, the new temperature sensor from analog to digital, in tegrated to the in tellige nt, n etworked directi on of rapid developme nt. This paper introduces the intelligent temperature measuring system based on DS18B20 type digital temperature sen sor, in the 89C51 un der the con trol of a si ngle-chip microcomputer, the ambie nt temperature real-time con trol device.The system with wide measuring range, high measurement accuracy, the system can be widely used in peoples daily life and in dustrial and agricultural product ion, temperature measureme nt.Key words: DS18B20 ; thermometer目录前言2.第一章设计任务及方案分析31.1设计目的和要求3.1.2设计方案3.1.3设计思路3.1.4系统的性能指标 4.第二章电路组成及工作原理5.2.1温度传感器功能模块 5.2.2 STC89C52 单片机8.2.3 74LS164移位寄存器 1.12.4晶振电路122.5复位电路132.6显示电路14第三章软件设计1.53.1主流流程图 153.2显示子程序163.3 Ds18b20采集温度子程序1.8参考文献20附录A : 21附录B: 22、八前言日常生活及工农业生产中经常要用到温度的检测及控制,在冶金、食品加工、化工等工业生产过程中,广泛使用的各种加热炉、热处理炉、反应炉等,都要求 对温度进行严格控制。在日常生活中,电烤箱、微波炉、电热水器、烘干箱等电 器也需要进行温度检测与控制。 传统的测温元件有热电偶和热电阻。 而热电偶和 热电阻测出的一般是电压,再转换成对应的温度,需要比较多的外部硬件支持, 硬件电路复杂,软件调试复杂,制作成本高。而采用单片机对温度进行控制,不 仅具有控制方便,简单和灵活等优点,而且可以大幅度提高温度控制的技术指标。测量温度的关键是温度传感器,温度传感器正从模拟式向数字式、从集成化 向智能化、网络化的方向发展。在测温电路中,可以使用热敏电阻之类的器件利 用其感温效应,将随被测温度变化的电压或电流采集过来,先进行 A/D转换, 然后用单片机进行数据的处理,再在显示电路上,将被测温度显示出来。这种设计需要用到A/D转换电路,因此感温电路的设计比较复杂。进而想到采用智能温度传感器来设计数字温度计。本数字温度计的设计采用 美国DALLAS半导体公司继 DS1820之后推出的一种改进型智能温度传感器 DS18B20作为检测元件,其温度值可以直接被读出来,通过核心器件单片机 AT89C52控制温度的读写和显示,用 LED数码管显示。测温范围为55C+ 125C,最大分辨率可达0.0625C。而且采用3线制与单片机相连,减少了外部 的硬件电路,具有低成本和易使用的特点。按照系统设计功能的要求,确定系统有3个模块组成:主控制器、温度传感 器DS18B20及显示电路。控制器使用 AT89C52,温度传感器使用DS18B20,用 4位共阴极LED数码管以静态显示实现温度显示。系统程序主要包括主程序、 温度控制子程序及显示子程序等等。综上所述,本设计以智能集成温度传感器 DS18B20为例,介绍基于DS18B20 传感器的数字温度计的设计,该设计适用于人们的日常生活及工农业生产中用于 温度的检测及控制。第一章设计任务及方案分析1.1设计目的和要求运用 课程等相关知识,根据题目要求进行控制电路 原理设计、电路板设计与制作、控制软件设计、系统调试,从而加深对本课程知 识点的理解,使学生综合应用知识能力、设计能力、调试能力及报告撰写能力等得到显著提高。12设计方案智能温度测量系统主要由数字温度计、 单片机控制电路、数字式温度显示电 路三部分组成。系统原理框图如图1所示。图1智能温度测量系统原理框图1.3设计思路在日常生活及工农业生产中经常要用到温度的检测及控制,传统的测温元件 有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压, 再转换成对应的温 度,需要比较多的外部硬件支持,硬件电路复杂,软件调试复杂,制作成本高。本数字温度计设计采用美国 DALLAS半导体公司继DS1820之后推出的一 种改进智能温度传感器 DS18B20作为检测元件,测温范围为55C+ 125C, 最大分辨率可达0.0625C。DS18B20可以直接读出被测量的温度值,而采用 3 线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。14系统的性能指标温度测量范围:55C + 125C温度测量精度:0.0879 C电路板工作温度:0 C + 70 E第二章电路组成及工作原理2.1温度传感器功能模块美国DALLAS公司生产的数字化温度传感器DS182C是世界上第一片支持“一 线总线”接口的温度传感器,使用户可轻松地组建温度传感器检测网络,为检测系统的构建引入全新的概念。DS1820特点如下:(1)DS1820在与微处理器连接时仅需要一条传输线即可实现两者之间的双向通讯。(2)DS1820支持多点组网络功能,多个 DS1820可以并联在唯一的三线上, 实现组网多点测量。(3)DS1820在使用中不需要任何外围元件,其传感元件及 A/D转换电路都 集成在一只形如三极管的芯片内。(4) DS1820可把温度信号直接转换成串行数字信号供单片机处理,测量结果以912位数字量方式串行传送。由于每片DS1820含有唯一的串行序列号,所以在一条总线上可挂接任意多个 DS1820芯片。从DS1820读出的信息或写入 DS1820的信息,仅需要一根传输线(单总线接口)。读写及温度变换功率来源于 数据总线,总线本身也可以向所挂接的 DS1820供电,而无需额外电源。DS1820 提供九位温度读数,构成多点温度检测系统而无需任何外围硬件。为DS1820的内部框图,它主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式 RAM,用于存储用户设定的温度上下限值 的TH和TL解发器存储与控制逻辑、8位循环冗余校验码(CRC发生器等七部 分。图2.1是DS1820温度传感器的封装图与引脚接线方式,DS1820引脚及功能及指标如下:GND地;VDD:电源电压I/O :数据输入/输出脚(单线接口,可作寄生供电)w 1 P1415UJ7 3z i】丨45nlRFfc?l!iZ H円 | 妊图2.1 DS1820封装图与接线方式DS18B2C采用3脚PR-35封装或8脚S0IC封装,其内部结构框图如图2.2所示。图2 .2 DS18B20内部结构图64位ROM的位结构如图2.3所示。开始8位是产品类型的编号,接着是每 个器件的惟一的序号,共有 48位,最后8位是前面56位的CRC检验码,这也 是多个DS18B20可以采用一线进行通信的原因。非易失性温度报警器触发器 TH 和TL,可通过软件写入户报警上下限。8位丄厂代码C 10H图2.364位ROM结构图MSBLSBLSB 14SBLSD MSBDS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可擦除的EERAM。高速暂存RAM的结构为8字节的存储器。头2个字节包含测得的温度信息,第3和第4字节是TH和TL的拷贝,是易失的,每次上 电复位时被刷新。第5个字节为配置寄存器,它的内容用于确定温度值的数字转 换分辨率。DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数 值。该字节各位的定义如图2.4所示。低5位一直为1, TM是测试模式位,用 于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为 0,用户不要改动,R1和R0决定温度转换得精度位数,即用来设置分辨率,定 义方法如图2所示。TMP11P图2.4配置寄存器TM+- RI* 眇 1*I1*I1尺2尺2分辨率/位亠濕度最大转换时间1Ans*32293,75心22心1E7.5P*22375*221却75*图2DS18B20分辨率的定义规定由表1可见,DS18B20温度转换的时间比较长,而且设定的分辨率越高。所需要的温度转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考 虑.高速暂存RAM的第6、7、8字节保存未用,表现为逻辑1。第9字节读出前 面所有8字节的CRC码可用来检验数据从而保证通信数据的正确性。 当DS18B20 接收温度转换命令后,开始启动转,转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出数据,读数据时低位在先,高位在后,数据格式以0.0625C /LSB形式表示。温度值格式如图3所示。LS字节-2s门21 P2 -MS字节22图3温度数据值格式当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码转换为原码,再 计算十进制。表2是一部分温度值对应的二进制温度数据。表2DS18B20温度与测得值对应表温度fTA二进制表示心十六进制表乔卩+ 12SP0000 0111 1101 000007D0HP十8知0000 01010101 OOOOP+25.06250000 0001100L D001P019叶+ 10.125Poooo 0000101000KP如曲皿+0 5pCOOO 00OC 0000 1000POOOSH0+-0000 0000 OOCOOOOOPOOOOH-0.51111 1111 1111 1000FFFSHU0 1251111 1111 0101 1112FF5EH-25lOM5p111 1110OHO HIPFE6FH 心-5知mi lioo iooi oooopFCPOHp(5) DS18B20空制方法 在硬件上,DS18B2C与单片机的连接有两种方法, 一 种是Vcc接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生 电源供电,此时UDD GNDg地,I/O接单片机I/O。无论是内部寄生电源还是外 部供电,I/O 口线要接5KQ左右的上拉电阻。CPU对DS18B20勺访问流程是:先对DS18B2C初始化,再进行ROMS作命令,最后才能对存储器操作,数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。如主机控制DS18B2C完成温度转换这一过程,根据DS18B20勺通 讯协议,须经三个步骤:每一次读写之前都要对 DS18B2C进行复位,复位成功后 发送一条ROM旨令,最后发送RAM旨令,这样才能对DS18B2C进行预定的操作。 步骤分三步完成:系统通过反复操作,搜索DS1820序列号;启动所有在线DS1820故温度A/D变换;逐个读出在线DS1820变换后的温度数据。2.2 STC89C52 单片机STC89C5是种4K字节闪烁可编程可擦除只读存储器(FPEROFalsh Programmable and Erasable Read Only Memory )的低电压,高性能 CMOS位微 处理器。由于将多功能8位CPI和闪烁存储器组合在单个芯片中,STC的 STC89C52 是一种高效微控制器。1 主要特性:-与MCS-51兼容 4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0HZ-24HZ三级程序存储器锁定 128*8位内部RAM 32可编程I/O线两个16位定时器/计数器 5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路2 管脚说明:VCC:供电电压。GND接地。P0 口: P0 口为一个8位漏级开路双向I/O 口,每脚可吸收8TTL门电流。 当P1 口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存 储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输 入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1 口: P1 口是一个内部提供上拉电阻的 8位双向I/O 口,P1 口缓冲器能 接收输出4TTL门电流。P1 口管脚写入1后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASHS程和校验时,P1 口作为第八位地址接收。P2 口: P2 口为一个内部上拉电阻的8位双向I/O 口,P2 口缓冲器可接收, 输出4个TTL门电流,当P2 口被写“T时,其管脚被内部上拉电阻拉高,且作 为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于 内部上拉的缘故。P2 口当用于外部程序存储器或16位地址外部数据存储器进行 存取时,P2 口输出地址的高八位。在给出地址“ 1”时,它利用内部上拉优势, 当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在FLASH编程和校验时接收高八位地址信号和控制信号。P3 口 : P3 口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4个TTL 门电流。当P3 口写入“ 1”后,它们被内部上拉为高电平,并用作输入。作为输 入,由于外部下拉为低电平,P3 口将输出电流(ILL )这是由于上拉的缘故。P3 口也可作为AT89C51的一些特殊功能口,如下所示:P3.0 RXD (串行输入口)P3.1 TXD (串行输出口)P3.2 /INTO (外部中断0)P3.3 /INT1 (外部中断1)P3.4 T0 (记时器0外部输入)P3.5 T1 (记时器1外部输入)P3.6 /WR (外部数据存储器写选通)P3.7 /RD (外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。RST复位输入。当振荡器复位器件时,要保持 RST脚两个机器周期的高电 平时间。ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的 地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时, 将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE 只有在执行MOV,MOV指令是ALE才起作用。另外,该引脚被略微拉高。如果 微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个 机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的 /PSEN信 号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH, 不管是否有内部程序存储器。注意加密方式 1时,/EA将内部锁定为RESET当 /EA端保持高电平时,此间内部程序存储器。在 FLASHS程期间,此引脚也用于施加12V编程电源(VPP。XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2来自反向振荡器的输出。3 振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为 片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。4 芯片擦除:整个PERO阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保 持ALE管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“ 1” 且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,stc89C52设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU亭止工作。但RAM定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振 荡器,禁止所用其他芯片功能,直到下一个硬件复位为止,其引脚如图2.5所示。 pNTO j R t W O Ja鼻工13 :p PIPPJO1 O7343 11 112291 3i -41 S1 T12271Jt TALfX TAL 1ONO;vccC ADO kPO. 1f AO * JJ M才 AO J)P 31 ADJ M 4J PQ f(AOf 1 f门f A t Fl2(A t 4Aarp?1*12 1p冑i A t upimpit4 A* fALEfPROG1 PSC k2.5 STC89C52单片机引脚2.3 74LS164移位寄存器74HC164 74HCT164是高速硅门 CMOS器件,与低功耗肖特基型TTL(LSTTL)器件的引脚兼容。74HC164 74HCT164是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(DSA或DSB)之一串行输入;任输入端可以用作高电平使能端,控制另一输入端的数据 输入。74HC164 74HCT164是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(DSA或DSB)之一串行输入;任输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或 者连接在一起,或者把不用的输入端接高电平,一定不要悬空。时钟(CP)每次由低变高时,数据右移一位,输入到 Q0,Q0是两个 数据输入端(DSA和DSB)的逻辑与,它将上升时钟沿之前保持一个建立时 间的长度。引脚信息如图2.6所示:4应匡互0QQ叵回QBa T*64F ex3叵-&1 CP图2.6 74IS164引脚信息图时序图如图2.7所示:图2.7 74IS164 时序图2.4晶振电路AT89C51单片机芯片内部设有一个反向放大器所构成的振荡器,X1和X2分C1别为振荡电路的输入端和输出端,时钟信号由外部或内部产生,在X1和X2引脚 上外接定时元器件,内部振荡电路就会产生自激振荡。 本系统采用的定时元器件 为石英晶体和电容组成的并联谐振回路。 晶体振荡频率为12MHz C1、C2的值为 33pF电容的大小可起频率微调的作用,电路如图 2.8所示。CMIT XTALCap30pF图2.8晶振电路2.5复位电路单片机具有多种复位电路,本系统采用电平式开关复位与上电复位方式,具体电路如图8所示。当上电时,C3相当于短路,给RST端输入大于24个振荡周 期以上的高电平脉冲,使单片机复位,在正常工作时,按下开关使单片机复位。 电路如图2.9所示。VCCLc? pCap Poll i lOOpFJtes Senn iOK2.6显示电路显示电路采用4位的led显示数码管,共阴极接法,至曲勺温度,显示的度范围为:-999.9999.9C,其显示电路如图 2.10所示。图2.10显示电路第三章软件设计3.1主流流程图主流流程图3.1图所示。首先做中断初始化处理,接着开机显示 0000,最后 不断处理温度。图3.1程序主流程图其程序代码如下:mai n()for(h=0;h4;h+) displayh=0; ow_reset();write_byte(0xcc);write_byte(0x44);display1_164();uni t();while(1)work_temp(read_temp();开机显示0000开机先转换一次/Skip ROM/发转换命令处理温度数据3.2显示子程序显示子程序如3.2所示,首先求取温度的百十个十分诸位,然后分时的送入 数码管显示。并使其定时一分钟刷新一次。送十位送个位送十分位图3.2显示子程序流程图 其显示子程序如下:void clk1_164() 74ls164( 1)的转换uchar i;for(i=0;i7;dat1=1;led_clk=1;delay(20);for(i=0;i7;dat2=1;led_clk=1;deIay(20);for(i=0;i7;dat3=1;led_clk=1;delay(20);for(i=0;i7;date4=1;led_clk=1;delay(20);3.3 Ds18b20采集温度子程序Ds18b20采集温度子程序如图4.3所示。主要用来读取温度值,并通过单总 线送入单片机做温度处理和显示。图4.3 Ds18b20采集温度子程序read_temp()ow_reset();delay(200);write_byte(0xcc); write_byte(0x44); ow_reset(); delay(1);write_byte(0xcc);/总线复位/发命令发转换命令/发命令write_byte(Oxbe);temp_dataO=read_byte(); temp_data1=read_byte(); temp=temp_data1;temp=8;temp=temp|temp_dataO; return temp;/读温度值的第字节/读温度值的高字节/两字节合成一个整型变量/返回温度值参考文献1 李光飞,楼然苗,胡佳文等单片机课程设计实例指导北京:北京航空航天 大学出版社,2004, 105-12523 周月霞,孙传友.DS18B20硬件连接及软件编程.传感器世界,2001,12:25-294 马云峰.单片机与数字温度传感器DS18B20的接口设计.计算机测量与控制,2002,10 (4): 278-28056 凌玉华.单片机原理及应用系统设计.长沙:中南大学出版社,2006, 222-22878 刘华东.单片机原理与应用.北京:电子工业出版社,2003,175-1809 nad z. com10 高鹏,安涛,寇怀成等.电路设计与制版-Protel99入门与提高.北京:人民邮电出版社,200411 王守刚.电路原理图与电路板设计教程.北京:北京希望电子出版社,200012 姚四改.Protel99SE电子线路设计教程.上海:上海交通大学出版社,200013 余家春.Protel99SE电路设计实用教程.北京:中国铁道出版社,200414 肖金球.单片机原理与接口技术.北京:清华大学出版社,2004, 160-16815 余永权.FLASH单片机原理及应用.北京:电子工业出版社,1997,20-3616 何立民.单片机应用技术选编.北京:北京航空航天大学出版社,1996, 75-8617 胡汉才.单片机原理及系统.北京:清华大学出版社,2002, 28-3818 张志良.单片机原理与控制技术.北京:机械工业出版社,2002, 56-7819 赵海兰,赵祥伟.智能温度传感器 DS18B20的原理与应用.现代电子技术,2003, 14(3): 32-3420 金伟正.单线数字传感器原理与应用.电子技术应用,2000, (6): 66-68附录A:整机电路原理图:h. ix c.I TS E曲縫*瞬点rr 7 7 7 ifB-J * IT空 nL nI “ 丄 n5 7 7 ? e 慟 4 Z I- 口I*J CD OXD DU-JI-UJ漳!_F 41伸p FP F卑甲驴W W W W W Mii W Iw-t30U2拄53S3332* sstssssssihc ukkbh (hnhl 4M9 1丨卅祐h_fcL昶祈的的R1 厂呷| q w ynnrTM w * I 4|k? gw * j f CDEM|p鯛 舟的辅做訂a 1 U 1171 ? n1 Lr Vi d ki 举 3 i 口卜事 e p, h 1mT r附录B:源程序:#i nclude reg52.h#i nclude intrin s.h_nop_();延时函数用#defi ne uchar un sig ned char#defi ne uint un sig ned intsbitDQ=P1A6;/ 温度输入口uchar code du11=0x3f,0x06,0x5b,0x4f,0x66,0x6d, 0x7d,0x07,0x7f,0x6f,0x80;uchar code duan=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef; / 带小数点sbit led_date=P1A0; 数据 1sbit led_clk=P1Al; /时钟/上升沿有效uchar dat1,dat2,dat3,aa,tt,date4,tt1;uchar x,y,f,g;uint h;uinttemp;uchar data temp_data2=0x00,0x00;读出温度暂放uchar data display5=0x00,0x00,0x00,0x00,0x00;/显示单元数据,共 4个数据和一个运算暂用11us延时函数void delay( uint t)for (;t0;t-);void delay_1ms( uint z)uint i,j;for(i=z;i0;i-)for(j=110;j0;j-);/*DS18B20复位函数 */void ow_reset(void)char prese nce=1;while(prese nee)while(prese nee)DQ=1;_nop_();_nop_(); 从高拉倒低550 us66 usDQ=0;delay(50);DQ=1;delay(6);prese nce=DQ;/presenee=0复位成功,继续下一步delay(45);/延时 500 usDQ=1;prese nce=DQ;/拉高电平/*DS18B20写命令函*/向1-WIRE总线上写1个字节 void write_byte(uchar val)uchar i;for(i=8;i0;i-)DQ=1;_nop_();_nop_();/从高拉倒低DQ=0;_nop_();_nop_();_nop_();_nop_(); 5 usDQ=val&0x01;delay(6); val=val/2;DQ=1;delay(1);/最低位移出/66 us/右移1位DS18B20读1字节函数/从总线上取1个字节 uchar read_byte(void)uchar i;uchar value=0;for(i=8;i0;i-)DQ=1;_nop_();_nop_();value=1;DQ=0;_nop_();_nop_();_nop_();_nop_();4 usDQ=1;_nop_();_nop_();_nop_();_nop_();4 usif(DQ)value|=0x80;delay(6);/66 usDQ=1;return(value);/读出温度函数read_temp()ow_reset();delay(200);write_byte(Oxcc);write_byte(0x44); ow_reset();delay(1);write_byte(Oxcc);write_byte(Oxbe);temp_dataO=read_byte();temp_data1=read_byte(); temp=temp_data1; temp6348)tem=65536-tem; n=1;/负温度求补码,标志位置1display4=te m&OxOf;/取小数部分的值display0=(temp_data0%16)*16/16;/存入小数部分显示值/display0=display4;display4=tem4;/取中间八位,即整数部分的值display3=display4/100;/取百位数据暂存display1=display4%100;/取后两位数据暂存display2=display1/10;/取十位数据暂存display1=display1%10;号位显示判*/if(!display3)display3=0x80;/最高位为0时不显示/温度值正负判断if(!display2)display2=0x80;/次高位为0时不显示if(n )display3=0x0b;/负温度时最高位显示-void clk1_164() 74ls164(1)的转换uchar i;for(i=0;i7;dat1=1;led_clk=1;delay(20);for(i=0;i7;dat2=1;led_clk=1;delay(20);for(i=0;i7;dat3=1;led_clk=1;delay(20);for(i=0;i7;date4=1;led_clk=1;delay(20);void display1_164()III 数值递增dat仁dudisplay3; I/bai 位 dat2=dudisplay2; II 十位dat3=duandisplay1; IIge 位 date4=dudisplay0 ;IIshi fe n clk1_164();delay_1ms(800);I/void un it() TMOD = 0x01;II设置中断TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1; IIAID总中断开ET0=1; IIAID定时器0中断开TR0=1;tt=0; IIAID定时器0工作关void timer0(void) in terrupt 1TH0=(65536-50000)I256;TL0=(65536-50000)%256;tt+;if(tt=20)tt1+;tt=0;if(tt仁=60)tt 1=0;work_temp(read_temp();/ 处理温度数据display1_164() ; /*mai n()for(h=0;h4;h+) displayh=O; ow_reset(); write_byte(Oxcc); write_byte(0x44); display1_164();uni t();while(1)work_temp(read_temp();主函数 *开机显示0000开机先转换一次/Skip ROM/发转换命令处理温度数据
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!