89c51_单片机_单总线_DS18B20_温控系统
基于单片机AT89C51的温度控制系统的设计与仿真 毕业设计(论文)

目录摘要 (1)第1章绪论 (2)1.1单片机的应用 (2)1.2电热炉控制中的问题 (2)1.3本设计主要内容 (3)第2章编程软件 (4)2.1编程软件K EIL (4)第3章系统硬件结构设计 (5)3.1系统硬件组成 (5)3.2P ROTEUS原理图设计 (5)3.3硬件电路结构 (7)3.3.1 主控制芯片AT89C51原理及其说明 (9)3.3.2 外部时钟电路 (11)3.3.3 测温模块 (11)3.3.4 显示模块 (13)3.3.5 开关模块 (13)3.3.6 报警模块 (14)第4章系统软件设计及调试 (15)4.1系统程序设计 (15)4.1.1 DS18B20测温程序设计 (17)4.1.2 LM016L显示程序设计 (18)第5章总结与展望 (19)5.1总结 (19)5.2展望 (19)参考文献 (20)附录 (21)摘要:电热炉可使用金属发热体或非金属发热体来产生热源,其构造简单,工业电热炉的主要用途是供机械工业对原材料、毛坯、机械零件加热用。
温度控制对于电热炉是至关重要的。
为了更好地控制温度、提高控制质量,选用单总线芯片DS18B20作为温度传感器,进行了基于单片机AT89C51的温度控制系统的设计与仿真。
显示模块选用LCD显示器,控制更为简单,显示更为清晰。
配以键盘模块及由二极管、蜂鸣器组成的报警模块,组合成较为完整的温度控制系统硬件。
选用Proteus软件绘制电路原理图,同时选用软件Keil 进行编程编译,并将Keil与Proteus联调,在Proteus中查看仿真结果,实现温度的自动控制。
关键词:单片机、温度控制、Keil、Proteus仿真第1章绪论1.1 单片机的应用单片机具有体积小、可靠性高、功能强、使用方便、性能价格比高、容易产品化等特点。
国际上从1970年代开始,国内自1980年代以来,单片机已广泛应用于国民经济的各个领域,对各个行业的技术改造和产品的更新换代起重要的推动作用。
基于AT89C51单片机控制的八路温度采集与显示系统设计

基于A T89C51单片机控制的八路温度采集与显示系统设计学生姓名学号系、年级专业指导教师职称在实际生产和生活等各个领域中,温度是环境因素不可或缺的一部分,对温度进行及时精确的控制和检测显得尤为重要。
本次设计在控制成本的前提下,设计了一款高精度、可同时检测八路温度并由液晶显示器对各路温度值进行显示的温度检测显示系统。
该系统以A T89C51为控制核心,采用可编程单总线数字式温度传感器DS18B20进行温度采集,八路温度值由LM041L液晶显示器显示。
系统正常运行时,其测温范围为-55℃~+125℃,该系统在现代电子工业飞速发展的时期有良好的应用前景。
关键词:A T89C51;多路;温度检测;显示Temperature is an essential of environmental factors in our actual production,living and many other fields. It’s particularly important to control and detect the temperature promptly and exactly.It has designed a high precision temperature testing system in the base of lost control, which can inspect eight route temperature at one time and show each route of temperature by LCD. A T89C51is adopted as control core in this system. Its sensors for temperature is single bus digital DS18B20, sending temperature to LM041L LCD to display. When it operates normally, it’s temperature ranges from -55℃ to +125℃, the system has a good application prospect in the morden period when electronics industry developing rapidly. Keywords:A T89C51;Many routes;Temperature Detection;Display摘要 (I)Abstract (II)目录 (I)1绪论 (2)1.1课题的来源 (2)1.2课题的目的 (2)1.3课题的意义 (2)2八路温度采集显示系统总体方案设计 (4)2.1确定设计流程图 (4)2.2八路温度采集显示系统方案论证 (5)2.3确定总体设计方案 (8)3八路温度采集显示系统硬件设计 (9)3.1A T89C51单片机的特点及引脚说明 (9)3.2温度采集模块硬件设计................................................. 错误!未定义书签。
基于AT89C51DS18B20的数字温度计设计

基于AT89C51DS18B20的数字温度计设计一、本文概述Overview of this article本文旨在探讨基于AT89C51微控制器和DS18B20数字温度传感器的数字温度计设计。
我们将详细介绍如何利用这两种核心组件,结合适当的硬件电路设计和软件编程,实现一个能够准确测量和显示温度的数字温度计。
This article aims to explore the design of a digital thermometer based on AT89C51 microcontroller and DS18B20 digital temperature sensor. We will provide a detailed introduction on how to utilize these two core components, combined with appropriate hardware circuit design and software programming, to achieve a digital thermometer that can accurately measure and display temperature.我们将对AT89C51微控制器和DS18B20数字温度传感器进行简要介绍,包括它们的工作原理、主要特性和适用场景。
然后,我们将详细阐述硬件电路的设计,包括微控制器与温度传感器的连接方式、电源电路、显示电路等。
We will provide a brief introduction to the AT89C51 microcontroller and DS18B20 digital temperature sensor, including their working principles, main characteristics, and applicable scenarios. Then, we will elaborate on the hardware circuit design, including the connection method between the microcontroller and temperature sensor, power circuit, display circuit, etc.在软件编程方面,我们将介绍如何使用C语言对AT89C51微控制器进行编程,实现温度数据的读取、处理和显示。
基于AT89C51单片机的温度智能控制系统设计

摘要随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器。
为了更好地推广单片机在实际生活和生产中的应用,本文介绍一种基于单片机AT89C51设计的温度控制系统,以实现系统能自主调节温度的功能。
该温度系统采用温度传感器DS1820来获得当前温度,并以数字信号的方式传送给单片机。
采集的温度与从4X2矩阵键盘输入的温度值进行比较,并通过液晶显示器LCD显示出来。
如果采集温度低于设置温度,系统将通过继电器模块自动控制升温;如果采集温度高于设置温度,系统将通过继电器模块自动控制降温。
文中介绍了该控制系统的硬件部分,包括:温度采集电路、温度设置电路、温度显示电路、继电器电路等。
文中还着重介绍了软件设计部分。
里采用模块化结构,主要模块有:温度采集模块、键盘扫描及按键处理模块、温度显示模块、温度比较模块、继电器控制模块。
经实际制作表明该温度控制系统具有体积小、操作灵活、可靠性高、实用、成本低等特点,具有一定的实际意义。
关键词:单片机AT89C51;温度控制;温度传感器DS1820;液晶显示器LCDAbstractWith the electronic products developing to intelligent and miniaturization,single chip has become the first chosen controller which is used to develop and explore the electronic product. In order to promote single chip applicating in real life and production, the paper will introduce a temperature control system which is based on a kind of single chip AT89C51, and it can achieve the function that the system can regulate the temperature independently.The temperature system adopts the temperature sensor DS1820 to get the current temperature, and transfer it to the microcontroller with the way of digital signal.The acquised temperature will be compared with the temperature which is put in by 4X2 matrix keyboard, and will be displayed by liquid crystal display.If collected temperature below the set temperature, the system will automatically control to heat up by the relay modules.If collected temperature higher than the set temperature, the system will automatically control to reduce by the relay modules.The paper introduces the hardware which is part of the control system,including: temperature acquisition circuit,temperature setting of the circuit, temperature display circuit, relay circuit and so on. The paper has also mainly introduced the design of software. Here use modular construction, the main module:temperature acquisition module, keyboard scan and key processing module, temperature display module, temperature comparison module, relay control module.According to make it actually, I find it has these characteristics: small volume, flexible operation, high reliability, practical, low cost and so on. It has practical significance.Keywords:Single Chip AT89C51;Temperature Control;T emperature Sensor DS1820;Liquid Crystal Display;第一章绪论1.1 选题背景与意义在生产过程中,温度的控制是十分常见的。
基于89C51+DS18B20的智能温控器的研制

摘要:介绍了新型单总线结构温度传感器DSl8B20的结构特征、工作原理及控制方法,阐述了以89C205l 为单片机和以DSl8B20为传感器构成的智能温度控制器的电路组成、工作原理、程序设计,说明了在研制过程中总结出来的使用注意事项。
该温控器可广泛应用于人门日常生活、工农业生产和科学研究领域,具有一定的推广价值。
关键词:温度; DS18B20; 89C2051;程序;控制一、前言目前,国际上新型温度传感器正从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展。
智能温度传感器DS18B20将温度传感器、A/D传感器、寄存器、接口电路集成在一个芯片中,具有直接数字化输出、测试及控制功能强、传输距离远、抗干扰能力强、微型化、微功耗的特点。
DS18B20可以让我们可以构建适合自己的经济的测温系统。
二、DS18B20单线数字温度传感器1.DS18B20引脚分布图图1 DS18B20引脚分布图2.DS18B20内部结构图3 DS18B20的内部结构3、性能特点①采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位),②测温范围为-55℃-+125℃,测量分辨率为0.0625℃,③内含64位经过激光修正的只读存储器ROM,④适配各种单片机或系统机,⑤用户可分别设定各路温度的上、下限,⑥内含寄生电源。
4、控制方法在硬件上,DS18B20与单片机的连接有两种方法,一种是Vcc接外部电源,GND接地,I/O与单片机的I/O 线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。
无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻。
三、基于AT89C51+DS18B20的温度测量装置1.系统组成2.工作原理基于DS18B20的温度测量装置电图如图2所示:温度传感器DS18B20将被测环境温度转化成带符号的数字信号,传感器可置于离装置150米以内的任何地方,输出脚I/O直接与单片机的P1.1相连,R1为上拉电阻,传感器采用外部电源供电。
基于AT89C51单片机与DS18B20的温度测量系统

第24卷 第9期2008年5月甘肃科技Gansu Science and TechnologyV ol.24 N o.9M ay. 2008基于AT89C51单片机与DS18B20的温度测量系统蔺 鹏1,柴世红2(兰州工业高等专科学校;1电子信息工程系2软件工程系,甘肃兰州730050)摘 要:介绍了单总线数字温度传感器DS18B20的特性及工作原理,给出了A T89C51单片机与DS18B20构成温度测量系统并详细介绍利用汇编语言编程实现对DS18B20访问。
实际测试结果表明这种测温系统转换速度快、精度高,整个系统具有稳定性强等特点。
关键词:DS18B20;数字温度传感器;A T89C51;中图分类号:TN925 典型的温度测控系统是由模拟温度传感器、A/D 转换电路和单片机组成。
但是由于模拟温度传感器输出为模拟信号,必须经过A/D 转换环节获得数字信号后才能与单片机等微处理器接口,使得硬件电路结构复杂,成本较高。
近年来,由于以DS18B20为代表的新型单总线数字式温度传感器的突出优点使得它得到充分利。
DS18B20集温度测量和A/D 转换于一体,直接输出数字量,接口几乎不需要外围元件,硬件电路结构简单,传输距离远,可以很方便的实现多点测量;与单片机接口几乎不需要外围元件,使得硬件电路结构简单,广泛使用于距离远,节点分布多的场合。
1 DS18B20介绍DS18B20是美国DALL AS 公司推出的一种可组网的数字式温度传感器,能够直接读取被测物体的温度值[1]。
具有TO -92、TSOC 、SOIC 多种封装形式,可以适应不同的环境需求。
1.1 DS18B20具有以下主要特性(1)单总线接口方式:与微处理器连接时仅需要一条信号线即可实现双向通讯;(2)使用中无需外部器件,可以利用数据线或外部电源提供电能,供电电压范围3.3-5.5V ;(3)直接读出数字量,工作可靠,精度高,且通过编程可实现9~12位分辨率读出温度数据,转换12的温度数据最大仅需要750ms ;(4)温度测量范围-55℃~+125℃,-10℃~+85℃之间测量精度可达±0.5℃;(5)可设定非易失的报警上下限值,一旦测量温度超过此设定值,即可给出报警标志;(6)每片DS18B20上有唯一的64bit 识别码,可轻松组建分布式温度测量测量网络。
基于89C51系列单片机系列的温度控制系统
成绩评定表目录一. 摘要 (1)二.系统方案设计(硬件部分) (2)三.系统设计 (2)3.1 单片机的选择及基本原理 (2)3.2 温度传感器的工作原理及于单片机连接 (3)3.3 报警电路(包含主电路)设计 (6)3.4 电源电路 (6)3.5 显示电路 (6)四. 系统接线图 (8)五.总结 (8)六.参考文献 (8)摘要随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统应用于诸多领域。
传统的温度检测以热敏电阻为温度敏感元件。
热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。
这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。
本设计选用AT89C52型单片机作为主控制器件,DS18B20作为测温传感器,通过LCD7SEG-MPX8—CA—BLUE实现温度显示。
通过DS18B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在0℃~100℃最大线性偏差小于0.01℃。
该器件可直接向单片机传输数字信号,便于单片机处理及控制。
通过温度传感器对外界的温度进行检测与监控,然后进行调整,由液晶显示屏显示温度,然后通过四个灯来控制温度,当温度高于某个值和低于某个值时,小灯亮,在其中某个范围内时也可以让其中一个灯亮,通过灯亮来调节温度,从而来实行对温度的监控与调整。
二.系统方案设计(硬件部分)该方案使用stc89C52系列单片机作为核心,以智能温度传感器DS18B20为测量温度的元件,进行温度测量,用1062显示模块将温度显示出来。
设定一个温度上下限,当温度低于下限或高于上限时,将控制使主电路进行动作(加热或制冷),同时使报警电路报警(本方案中将主电路模拟用二极管算入报警电路中),本方案中用两个发光二极管模拟加热和制冷装置的动作,用蜂鸣器和电阻组成报警电路。
其系统框图如下:三.系统设计3.1 单片机的选择及基本原理本方案中选用stc89C52作为本温控系统的核心,功能上STC89C52与教材上介绍的80C51并无太大差别。
采用DS18B20和AT89C51单片机的远程温控系统设计
采用DS18B20和AT89C51单片机的远程温控系统设计1 引言粮食温度检测是储备库中防止粮食霉烂、保质存放的重要环节。
对于一个农业大国来讲,粮食生产、需求与储备量都很大。
大量粮食在储备的过程中常因粮食湿度过大而升温发热,导致粮食大量腐烂变质,给国家带来巨大损失。
所以粮仓监控系统中温度测量是整个系统的主要功能之一。
本文介绍一种以单线数字温度传感器DS18B20为温度敏感元件的粮仓温控系统,系统以微型计算机为上位机,89C51单片机为检测分机,DS18B20数字温度传感器直接与分机连接,分机与测温主机通过RS-485总线网进行通信,系统所有操作通过菜单命令完成。
本文主要围绕下位机数据采集部分进行论述,并结合粮仓监控系统,对DSl8B20的这种单总线技术及其在本系统中的具体应用进行了讨论。
2 系统硬件设计2.1 系统的总体设计整个系统从结构上可分为三层:由微型计算机构成上位机——用户监控层,51 单片机系统分别构成测温主机——控制层和分机——温度数据采集层。
上位机通过串行口与测温主机交换数据。
测温主机与多台分机采用主从分布式结构。
系统组成结构如图 1 所示,测温主机与上位机通过RS-232 总线连接,测温分机与主机通过RS-485 总线连接。
一台主机最多可管理64 台分机,一台分机可以测试大约1000 个温度点。
本设计适用于中小型粮库。
2.2 温度数据采集模块的设计DS18B20是美国DALLAS公司生产的数字温度传感器芯片,具有结构简单、体积小、功耗小、抗干扰能力强、使用方便等优点。
可以在三根线上同时并联多个温度传感器,每台分机上可以连接多根电缆,每根电缆上可以并联几十个点,构成串行总线工作方式。
由于18B20芯片送出的温度信号是数字信号,因此简化了A/D转换的设计,提高了测量效率和精度;并且芯片的ROM中存有其唯一标识码,即不存在相同标识码的DS18B20,特别适合与微处理芯片构成多点温度测控系统。
AT89C51单片机温度控制系统
毕业设计(论文)论文题目:AT89C51单片机温度控制系统所属系部:电子工程系指导老师:职称:学生姓名:班级、学号:专业:应用电子技术2012 年05 月15 日毕业设计(论文)任务书题目:AT89C51单片机温度控制系统任务与要求:设计并制作一个能够控制1KW电炉的温度控制系统,控制温度恒定在37--38度之间。
时间:年月日至年月日所属系部:电子工程系学生姓名:学号:专业:应用电子技术指导单位或教研室:测控技术教研室指导教师:职称:年月日摘要本设计是以一个1KW电炉为控制对象,以AT89C51为控制系统核心,通过单片机系统设计实现对保电炉温度的显示和控制功能。
本温度控制系统是一个闭环反馈调节系统,由温度传感器DS18B20对保炉内温度进行检测,经过调理电路得到合适的电压信号。
经A/D转换芯片得到相应的温度值,将所得的温度值与设定温度值相比较得到偏差。
通过对偏差信号的处理获得控制信号,去调节加热器的通断,从而实现对保温箱温度的显示和控制。
本文主要介绍了电炉温度控制系统的工作原理和设计方法,论文主要由三部分构成。
①系统整体方案设计。
②硬件设计,主要包括温度检测电路、A/D转换电路、显示电路、键盘设计和控制电路。
③系统软件设计,软件的设计采用模块化设计,主要包括A/D转换模块、显示模块等。
关键词:单片机传感器温度控制目录绪论 0第一章温度控制系统设计和思路 (1)1.1温度控制系统设计思路 (1)1.2 系统框图 (1)第二章 AT89C51单片机 (2)2.1 AT89C51单片机的简介 (2)2.2 AT89C51单片机的主要特性 (2)2.3 AT89C51单片机管脚说明 (3)第三章温度控制的硬件设备 (5)3.1温度传感器简介 (5)3.2 DS18B20工作原理 (6)3.3 DS18B20使用中注意事项 (7)第四章系统硬件设计 (8)4.1温度采集电路 (8)4.2 数码管温度显示电路 (8)4.2.1 数码管的分类 (8)4.2.2 数码管的驱动方式 (9)4.2.3 恒流驱动与非恒流驱动对数码管的影响 (10)4.3 单片机接口电路 (11)4.3.1 P0口的上拉电阻原理 (11)4.3.2 上拉电阻的选择 (13)4.4 单片机电源及下载线电路 (13)4.5 温度控制电路 (15)第五章温度控制的软件设计 (16)5.1 数码管动态显示 (16)5.2 DS18B20初始化 (17)5.3 系统流程图 (18)谢辞 (19)参考文献 (20)附录 (21)绪论温度控制,在工业自动化控制中占有非常重要的地位。
基于AT89C51的温度控制系统设计
基于AT89C51的温度控制系统设计冯晓锋西安翻译学院实验中心摘要:本系统是基于AT89C51单片机和DS18B20数字温度传感器的智能温度控制系统,根据要求可进行最高和最低温度的设定,通过RS-485总线标准实现与PC机的远程通信,实现PC机对采集温度的存储、处理、打印等功能。
关键字:AT89C51 数字温度传感器温度控制系统一、系统总体结构设计根据设计要求对某指定地点的温度进行实时的监测与控制,采用了分布式系统的控制方式,即在测控点配置能独立工作的从机,从机由主机进行监控管理,上下采用主从式监控管理形式,系统总体结构如图1所示。
图1 系统总体结构系统的各个部分功能和关系如下:①主机为管理机,完成参数设置、数据存储、处理及管理及打印功能。
②从机为控制机,采用单片机AT89C51,直接实现各个模块的控制功能,并能在主机关机的条件下实现所有的控制功能。
③通讯转换芯片MAX485实现RS-232信号和RS-485信号的转换,主机通过其向从机发送控制参数,从机将现场采集数据通过其传给主机。
④数据采集实现对传感器及运行设备的检测。
⑤输入输出部分包括输入模块和输出模块,输入模块将采集的信号转换后输入到从机,输出模块将系统的控制信号输出到控制器及其设备。
二、系统工作方式系统以温度监控为核心,温度参数和设备运行状态由主机根据用户要求定时向从机查询,各控制模块的设置参数修改时,将新的参数发送到从机。
主机可以对从机进行参数设置及控制,从机也可以独立工作。
从机通过温度传感器不间断地采集温度数据,根据控制模块的设置参数做出控制决策,驱动设备运行,并随时准备接受主机的指令,当受到询问时,将各项数据编码通过串行通信方式传输到主机。
主机接收到数据后,进行数据处理,在监控界面上显示当前的状态信息,并将此信息实时地存储到数据库中,为用户维护和管理准备数据。
对数据可以进行查询,也可以将一段时期的数据信息汇集成报表,报表包括各项统计数据,还可以将数据处理绘制成图形曲线,实现对数据的分析与管理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<reg51.h>
unsigned char const sled[8][3]={{0,0,0},{0,0,1},{0,1,0},{0,1,1},{1,0,0},{1,0,1},{1,1, 0},{1,1,1}}; //选LED时三个端口的情况
unsigned char const el[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0X80,0x 40};// 显示段码值0123456789.-
unsigned char ledNum[8]={0,1,2,3,4,5,6,7};//八位管暂存初始化
unsigned char data tRead[13]; //5位AA后跟9位读取的DS18B20的数据sbit DQ=P2^0; //数据线
sbit Tt1=P2^1; //测试端口
sbit Tt2=P2^2; //测试端口
sbit s1=P2^5; //三个选位端口
sbit s2=P2^6;
sbit s3=P2^7;
void tempHtoD(); //温度数值转换,并写入八位管暂存
void writeRAM(); //写入DS18B20RAM
void readTemp(); //读取温度值,其实9位数据都读取,并保存到tRead[13]中
void transformTemp(); //DS18B20进行温度转换
void ds_set(); //初始化DS18B20
void writeByte(unsigned char); //写入DS18B20一个字节
unsigned char readByte(); //读取DS18B20一个字节
void delay(unsigned int dtime); //延时
void delayLong(); //长延时
void scanLedNum(){ //扫面显示数据
unsigned char i;
for(i=0;i<8;i++){
s1=sled[i][2];
s2=sled[i][1];
s3=sled[i][0];
P1=el[ledNum[i]];
delay(100);
}
}
void INT_0() interrupt 0{ //外部中断0,读取温度
Tt1=~Tt1;
readTemp();
}
void INT_1() interrupt 2{ //外部中断1,启动DS18B20温度转换Tt2=~Tt2;
transformTemp();
}
//============================================================== void main(){
unsigned char i;
IT0=1; //开启外部中断
EX0=1;
IT1=1;
EX1=1;
EA=1;
for(i=0;i<13;i++){ //初始化tRead
if(i<5){tRead[i]=0xaa;}else{
tRead[i]=i; }
}
while(1){ //扫描LED显示
scanLedNum();
// transformTemp();
// readTemp();
}
}
void tempHtoD(){ //把读取到的数据转换成可读温度
unsigned long tempH,tempL,tempi,tempint;
tempH=tRead[6];
tempL=tRead[5];
if(tempH>=0xf0){ //温度如果为负情况,取反
tempH=0xff-tempH;
tempL=0xff-tempL+1;
}
tempi=tempH*16*16+tempL;
tempint=tempi*0.0625; //获得十进制温度值
if(tRead[6]>=0xf0){ //温度如果为负情况,最高位显示“-”,否则按原值显示ledNum[0]=11;
}else{
ledNum[0]=tempint/100;
}
ledNum[1]=tempint%100/10;
ledNum[2]=tempint%10;
ledNum[3]=10;
ledNum[4]=tempint*10%10;
ledNum[5]=tempint*10%10;
ledNum[6]=tempint*10%10;
ledNum[7]=5%4;
}
void writeRAM(){
}
//======================================
void readTemp(){
unsigned char i;
ds_set();
writeByte(0xcc);
writeByte(0xbe);
for(i=0;i<13;i++){
if(i<5){tRead[i]=0xaa;}else{
tRead[i]=readByte(); }
}
ds_set();
tempHtoD();
}
//=========================================
void transformTemp(){
ds_set();
writeByte(0xcc);
writeByte(0x44);
delayLong();
ds_set();
}
//====================================
void ds_set(){
DQ=1;
DQ=0;
delay(70);
DQ=1;
delay(20);
}
//写1个字节==================================== void writeByte(unsigned char date){
unsigned char i,a;
for(i=8;i>0;i--){
DQ=0;
a=5;
while(--a);
DQ=date&0x01;//00000001
a=25;
while(--a);
date=date>>1;
DQ=1;
a=5;
while(--a);
}
}
unsigned char readByte(){
unsigned char i,a,temp;;
for(i=8;i>0;i--)
{
temp=temp>>1;
DQ=1;
DQ=0;
a=1;
while(--a);
DQ=1;
a=1;
while(--a);
if(DQ)
temp=temp|0x80;//1000000
a=30;
while(--a);
}
return (temp);
}
void delay(unsigned int dtime){
while(dtime--);
}
void delayLong(){
unsigned int i,j=100;
while(j--){
i=100;
while(i--);
}
}。