首页

> 学术期刊知识库

首页 学术期刊知识库 问题

单片机温度采集毕业论文

发布时间:

单片机温度采集毕业论文

价格合理!信工毕业 就会单片机

温度控制系统的设计(555定时器) [单片机] 04-20摘要 在日常的生产与生活中,温度是一个非常重要的过程变量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。所以人们需要用到良好的温度检测及控制装置系统来解决这些问题。本文介绍了采用A/D ...http:// 化工液的温度控制与检测(程序+电路图+Protel原理图+PCB图)精品☆ [电子] 01-01摘 要 为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本文利用单片机结合传感器技术而开发设计了这一温度监控系统。文中传感器理论单片机实际应用有机结合,详细地讲述了利用AD5 ...http:// 温度控制器的设计(AT89S51单片机)(程序+电路图+原理图+PCB图)☆ [单片机] 11-17摘 要 随着科技的不断进步,在工业生产中温度是常用的被控参数,而采用单片机对这些被控参数进行控制已成为当今的主流。本文介绍了以AT89C51单片机为核心的数字温度测量及自动控制系统的设计,该温度控制器可以实时显示和设定温度,实现对温度的自动控制。其 ...http:// MCS-51单片机智能温度控制系统设计 [单片机] 07-16温度控制在热处理工艺过程中,是一个非常重要的环节。控制精度直接影响着产品质量的好坏。本文研究的电炉是一种具有纯滞后的大惯性系统,传统的加热炉控制系统大多建立在一定的模型基础上,难以保证加热工艺要求。 ...http:// 基于AT89C2051单片机的温度控制系统的设计(程序+电路图)☆ [单片机] 07-16摘 要 :温度控制在工业生产中运用的非常广泛,其控制过程中存在着很大的时滞性和很强的干扰。采用一般的控制方法如PID控制,都不能很好地满足要求。而基于AT89C2051单片机的温度控制策略可以很容易的解决这些问题。 以AT89C2051单片机为基础,结合温度传感 ...http:// 基于单片机饮水机温度控制的设计(实物图+原理图+PCB图+程序)☆ [单片机] 07-16摘 要 温度是表征物体冷却程度的物理量,也是一种最基本的环境参数。在农工业生产及日常生活中,对温度的测量及控制始终占据着极其重要的地位。目前,典型的温度测控系统由模拟式温度传感器、A/D 转换电路和单片机组成。由于模拟式温度传感器输出的模拟信号必 ...http:// 基于AT89S51单片机核心的温度控制系统的设计 [单片机] 07-16摘要 本文介绍了以AT89S51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路、PC机与单片机串口通讯电路和一些接口电路 ...http:// 基于单片机的温度控制系统的设计 [单片机] 07-16摘 要 本文列举了单片机在锅炉中的一个实际应用,并对设计的温度控制系统的组成及主要电路的作用进行了详细的介绍。 文章介绍了用单片机控制的、基于数字温度传感器DS1820的温度测量和控制系统:重点阐述了DS1820的工作原理、指令系统、单片机与DS1820之间的 ...http:// 基于单片机的模糊PID温度控制系统设计 [单片机] 07-16摘 要 温度控制在热处理工艺过程中,是一个非常重要的环节。控制精度直接影响着产品质量的好坏。本文研究的电炉是一种具有纯滞后的大惯性系统,传统的加热炉控制系统大多建立在一定的模型基础上,难以保证加热工艺要求。因此本文将模糊控制算法引入传统的加热 ...http:// 嵌入式系统在多点温度控制中的应用 [嵌入式] 07-16第一章 概述 引言 嵌入式系统被定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。实际上嵌入式系统是计算机的一种应用形式,是将先进的计算机技术、半导体技术和电子技 ...http://

二.系统软件设计图4 系统程序流程图 系统程序流程图系统程序流程图如图4所示。 温度部分软件设计DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。其工作时序包括初始化时序、写时序和读时序。故主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。程序主要函数部分如下:(1)初始化函数//读一个字节函数ReadOneChar(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){ DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;delay(4);}return(dat);}//写一个字节函数WriteOneChar(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat>>=1;}}(2)读取温度并计算函数ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t<<=8;t=t|a;tt=t*;t= tt*10+; //放大10倍输出并四舍五入---此行没用(3)主程序部分见前return(t);}三. 结束语AT89C2051单片机体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好。即使是非电子计算机专业人员,通过学习一些专业基础知识以后也能依靠自己的技术力量来开发所希望的单片机应用系统。本文的温度控制系统只是单片机广泛应用于各行各业中的一例,相信读者会依靠自己的聪明才智使单片机的应用更加广泛化。另外对本例子可以作一些扩展,单片机的应用越来越广泛,由于单片机的运算功能较差,往往需要借助计算机系统,因此单片机和PC机进行远程通信更具有实际意义。目前此设计已成功应用于钻井模拟器实验室室温控制。本文作者创新观点:采用的单片机AT89C2051性价比高,而且温度传感器DS18B20转化温度的方法非常简洁且精度高、测试范围较广。参考文献[1]林伸茂.8051单片机彻底研究基础篇 北京:人民邮电出版社 2004[2]范风强等.单片机语言C51应用实战集锦 北京:电子工业出版社 2005[3]谭浩强.C语言程序设计(第二版) 北京:清华大学出版社 1999[4]夏路易等.电路原理图与电路板设计教程 北京:北京希望电子出版社 2002[5]赵晶.Protel99高级应用 北京:人民邮电出版社 2000[6]聂毅.单片机定时器中断时间误差的分析及补偿[J] 微计算机信息 2002,18(4):37~38

这个 我可以写 按照老师的要求来写 包通过 包修改↓↓↓↓↓下面找我

单片机多路温度采集系统毕业论文

已把我毕业论文的一部分发给你了,应该是你想要的。还需要其它的说一声

学了4年,毕业就做个这个!还跪求!!!!悲哀

单片机温度控制系统的设计 摘 要 随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么可编程控制器的出现则是给现代工业控制测控领域带来了一次新的革命。在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面。 随着人们生活质量的提高,酒店厂房及家庭生活中都会见到温度控制的影子,温度控制将更好的服务于社会目前,单片机控制器在从生活工具到工业应用的各个领域,例如生活工具的电梯、工业生产中的现场控制仪表、数控机床等。尤其是用单片机控制器改造落后的设备具有性价比高、提高设备的使用寿命、提高设备的自动化程度的特点。 现代工业设计、工程建设及日常生活中常常需要用到温度控制,早期温度控制主要应用于工厂中,例如钢铁的水溶温度,不同等级的钢铁要通过不同温度的铁水来实现,这样就可能有效的利用温度控制来掌握所需要的产品了。 随着社会的发展,人们对食品温度的控制要求也越来越高,对于低温冷藏车的温度控制也就相应的不断提高,而我设计的低温冷藏车就是为了达到这样的温度控制要求而进行设计的。我所采用的控制芯片为AT89C51,此芯片功能强大,能够满足设计要求。通过对电路的设计,对芯片的外围扩展,来达到对冷藏车温度的控制和调节功能。 关键字:AT89C51单片机、温度 、软件设计 目 录 摘 要………………………………………………………………………………6 目 录………………………………………………………………………………7 第一章 绪 论 1-1概述………………………………………………………………………………9 1-2温度控制的总体设计和思路……………………………………………………9 1-3温度控制方框图…………………………………………………………………10 1-4温度巡回测量控制仪基本要求…………………………………………………10 1-5发挥部分…………………………………………………………………………10 第二章 单片机AT89C51的结构和原理 2-1 AT89C51单片机的结构…………………………………………………………11 2-2 AT89C51单片机主要特性………………………………………………………11 2-3 AT89C51单片机引脚功能说明…………………………………………………11 2-4复位电路…………………………………………………………………………12 2-5时钟电路…………………………………………………………………………13 第三章 温度控制的硬件设备 3-1采样系统及温度传感器的选择 3-1-1采样系统…………………………………………………………………15 3-1-2温度传感器的选择………………………………………………………15 3-2集成运放的选择 3-2-1放大系统. ………………………………………………………………16 3-2-2集成运放的选择…………………………………………………………16 3-3控制系统及光电耦合器的选择 3-3-1控制系统…………………………………………………………………17 3-3-2光电耦合器的选择………………………………………………………17 3-4 A/D转换器的选择及介绍………………………………………………………18 3-5 显示系统及显示器的选择 3-5-1显示系统…………………………………………………………………18 3-5-2显示器的选择……………………………………………………………19 3-6电源电路…………………………………………………………………………20 第四章 温度控制的软件设计 4-1程序模块化处理………………………………………………………………22 4-2内RAM资源配置………………………………………………………………22 4-3程序清单 4-3-1程序入口地址……………………………………………………………22 4-3-2主程序……………………………………………………………………22 4-3-3显示程序…………………………………………………………………23 4-3-4定时器中断子程序………………………………………………………26 4-3-5温度检测子程序…………………………………………………………27 4-3-6温度控制子程序…………………………………………………………28 4-3-7报警子程序………………………………………………………………29 4-3-8键盘子程序用于调节设定值……………………………………………29 第五章 调试及小结 5-1单片机温度控制系统的工作原理……………………………………………32 5-2温度检测和A/D转换电路图……………………………………………………32 5-3测试报告………………………………………………………………………32 小 结………………………………………………………………………………34 致 谢………………………………………………………………………………35 参考文献……………………………………………………………………………36

研发生产DC-DC,AC-DC电源模块、高压电源、升压电源,价格和技术优势大。

温度采集毕业论文

已把我毕业论文的一部分发给你了,应该是你想要的。还需要其它的说一声

学了4年,毕业就做个这个!还跪求!!!!悲哀

基于MSP430的温度采集报警系统的毕业论文.doc文档名称:基于MSP430的温度采集报警系统的毕业论文.doc格式:doc  大小:  总页数:57 展开↓更多功能 免费预览本文档(全文)下载敬告:本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔... 展开↓文档介绍:XXXXXXXXXX 本科生毕业设计(论文)学 院:XXXXXXXXXXXXXXX专 业: 自动化学 生: XXX指导教师: XXXXXXXX完成日期:XXXXXXXXXXXXXXX基于MSP430单片机温度测量系统设计总计 毕业设计(论文) 47 页 表格 6 个插图 19 幅摘 要温度控制仪表具有广泛的应用前景,在各种行业中都占有重要的位置,越来越多的领域应用到以单片机为控制核心,用液晶显示作为显示终端的数字化控制设备,通过单片机对被控对象进行智能控制。本设计是从降低开发成本、扩大适用范围、系统运行的稳定性、可靠性的设计目的出发,采用MSP430F149单片机为控制核心、以单线数字温度传感器DS18B20来完成温度信号的采集、温度以数宇的方式显示在LCD1602液晶上,最终实现温度的采集、显示。并重点阐述了系统的硬件构成和软件编程的设计过程。其中硬件构成有六部分:电源及复位模块、采集模块、报警模块、键盘输入模块和显示模块。MSP430F149是一种16位内含FLASH型芯片的单片机,具有高速运算、开发设备简便、可现场编程等特点,这给控制系统的设计带来了极大的便利性。各个模块的电路原理图都由protel来完成。关键词:MSP430F14

温度相关的毕业设计 ·基于单片机的数字温度计的设计·基于MCS-51数字温度表的设计·单片机的数字温度计设计·基于单片机的空调温度控制器设计·基于数字温度计的多点温度检测系统·设施环境中温度测量电路设计·DS18B20数字温度计的设计·多点温度采集系统与控制器设计·基于PLC和组态王的温度控制系统设计·温度监控系统的设计·用单片机进行温度的控制及LCD显示系统的设计·单片机电加热炉温度控制系统·全氢罩式退火炉温度控制系统·数字温度计的设计·基于单片机AT89C51的语音温度计的设计·基于单片机的多点温度检测系统·基于51单片机的多路温度采集控制系统·基于单片机的数字显示温度系统毕业设计论文·基于MCS51单片机温度控制毕业设计论文·西门子S7-300在温度控制中的应用·燃气锅炉温度的PLC控制系统·焦炉立火道温度软测量模型设计·温度检测控制仪器·智能温度巡检仪的研制·电阻炉温度控制系统·数字温度测控仪的设计·温度测控仪设计·多路温度采集系统设计·多点数字温度巡测仪设计·LCD数字式温度湿度测量计·64点温度监测与控制系统·温度报警器的电路设计与制作·基于单片机的数字温度计的电路设计·全氢煤气罩式炉的温度控制系统的研究与改造·温度检测与控制系统·红外快速检测人体温度装置的设计与研制·具有红外保护的温度自动控制系统的设计·基于单片机的温度测量系统的设计·数字温度计设计·DS18B20温度检测控制·PN结(二极管)温度传感器性能的实验研究·多功能智能化温度测量仪设计·软胶囊的单片机温度控制(硬件设计)·空调温度控制单元的设计·大容量电机的温度保护——软件设计·大容量电机的温度保护 ——硬件电路的设计·基于DS18B20温度传感器的数字温度计设计·热轧带钢卷取温度反馈控制器的设计·基于单片机的温度采集系统设计·多点温度数据采集系统的设计·基于单片机的数字式温度计设计·18B20多路温度采集接口模块·基于单片机的户式中央空调器温度测控系统设计·单片机电阻炉温度控制系统设计·基于单片机的电阻炉温度控制系统设计·基于ARM的嵌入式温度控制系统的设计·基于DS18B20的多点温度巡回检测系统的设计·基于单片机的多点无线温度监控系统·基于MSC1211的温度智能温度传感器·用集成温度传感器组成测温控制系统·室内温度控制报警器·自动温度控制系统·烤箱温度控制系统·基于单片机的电加热炉温度控制系统设计·基于PLC的温度监控系统设计·基于无线传输技术的室温控制系统设计——温度控制器软件设计·温度箱模拟控制系统·基于无线传输技术的室温控制系统设计——温度控制器硬件设计·数字式温度计的设计·温度监控系统设计·基于单片机的电阻炉温度控制系统·基于plc的温度湿度检测和显示系统设计·基于单片机的3KW电炉温度控制系统的设计·腔型肿瘤热疗仪温度控制系统设计·基于AT89S51单片机的数字温度计设计·吹塑薄膜挤出机温度控制与检测系统设计·电加热炉PLC温度自适应控制系统的研究·高压母线温度自动监测装置的设计·高压母线温度自动检测装置·小型热水锅炉单片机温度控制系统·消毒柜单片机温度控制·嵌入式系统在多点温度控制中的应用·单片机温度控制系统·上下限温度报警器的设计·基于单片机的饮水机温度控制系统设计·基于单片机的温度测量系统设计

单片机温湿度监控毕业论文

已把我毕业论文的一部分发给你了,应该是你想要的。还需要其它的说一声

第一章 绪论 1. 1 选题背景 防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标。它直接影响到储备物资的使用寿命和工作可靠性。为保证日常工作的顺利进行,首要问题是加强仓库内温度与湿度的监测工作。但传统的方法是用与湿度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。因此我们需要一种造价低廉、使用方便且测量准确的温湿度测量仪。1.2 设计过程及工艺要求 一、基本功能~ 检测温度、湿度~ 显示温度、湿度~ 过限报警 二、主要技术参数 ~ 温度检测范围 : -30℃-+50℃~ 测量精度 : ℃~ 湿度检测范围 : 10%-100%RH~ 检测精度 : 1%RH~ 显示方式 : 温度:四位显示 湿度:四位显示~ 报警方式 : 三极管驱动的蜂鸣音报警 第二章 方案的比较和论证 当将单片机用作测控系统时,系统总要有被测信号懂得输入通道,由计算机拾取必要的输入信息。对于测量系统而言,如何准确获得被测信号是其核心任务;而对测控系统来讲,对被控对象状态的测试和对控制条件的监察也是不可缺少的环节。传感器是实现测量与控制的首要环节,是测控系统的关键部件,如果没有传感器对原始被测信号进行准确可靠的捕捉和转换,一切准确的测量和控制都将无法实现。工业生产过程的自动化测量和控制,几乎主要依靠各种传感器来检测和控制生产过程中的各种参量,使设备和系统正常运行在最佳状态,从而保证生产的高效率和高质量。2. 1温度传感器的选择 方案一:采用热电阻温度传感器。热电阻是利用导体的电阻随温度变化的特性制成的测温元件。现应用较多的有铂、铜、镍等热电阻。其主要的特点为精度高、测量范围大、便于远距离测量。铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,因此,铂电阻用于工业检测中高精密测温和温度标准。缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。按IEC标准测温范围-200~650℃,百度电阻比W(100)=时,R0为100Ω和10Ω,其允许的测量误差A级为±(℃+ |t|),B级为±(℃+ |t|)。铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工;但其电阻率小,在腐蚀性介质中使用稳定性差。在工业中用于-50~180℃测温。 方案二:采用AD590,它的测温范围在-55℃~+150℃之间,而且精度高。M档在测温范围内非线形误差为±℃。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会损坏。使用可靠。它只需直流电源就能工作,而且,无需进行线性校正,所以使用也非常方便,借口也很简单。作为电流输出型传感器的一个特点是,和电压输出型相比,它有很强的抗外界干扰能力。AD590的测量信号可远传百余米。综合比较方案一与方案二,方案二更为适合于本设计系统对于温度传感器的选择。 2. 2 湿度传感器的选择 测量空气湿度的方式很多,其原理是根据某种物质从其周围的空气吸收水分后引起的物理或化学性质的变化,间接地获得该物质的吸水量及周围空气的湿度。电容式、电阻式和湿涨式湿敏原件分别是根据其高分子材料吸湿后的介电常数、电阻率和体积随之发生变化而进行湿度测量的。方案一:采用HOS-201湿敏传感器。HOS-201湿敏传感器为高湿度开关传感器,它的工作电压为交流1V以下,频率为50HZ~1KHZ,测量湿度范围为0~100%RH,工作温度范围为0~50℃,阻抗在75%RH(25℃)时为1MΩ。这种传感器原是用于开关的传感器,不能在宽频带范围内检测湿度,因此,主要用于判断规定值以上或以下的湿度电平。然而,这种传感器只限于一定范围内使用时具有良好的线性,可有效地利用其线性特性。方案二:采用HS1100/HS1101湿度传感器。HS1100/HS1101电容传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。不需校准的完全互换性,高可靠性和长期稳定性,快速响应时间,专利设计的固态聚合物结构,由顶端接触(HS1100)和侧面接触(HS1101)两种封装产品,适用于线性电压输出和频率输出两种电路,适宜于制造流水线上的自动插件和自动装配过程等。相对湿度在1%---100%RH范围内;电容量由16pF变到200pF,其误差不大于±2%RH;响应时间小于5S;温度系数为 pF/℃。可见精度是较高的。综合比较方案一与方案二,方案一虽然满足精度及测量湿度范围的要求,但其只限于一定范围内使用时具有良好的线性,可有效地利用其线性特性。而且还不具备在本设计系统中对温度-30~50℃的要求,因此,我们选择方案二来作为本设计的湿度传感器。2. 3 信号采集通道的选择 在本设计系统中,温度输入信号为8路的模拟信号,这就需要多通道结构。方案一、采用多路并行模拟量输入通道。这种结构的模拟量通道特点为:(1) 可以根据各输入量测量的饿要求选择不同性能档次的器件。总体成本可以作得较低。(2) 硬件复杂,故障率高。(3) 软件简单,各通道可以独立编程。方案二、采用多路分时的模拟量输入通道。 这种结构的模拟量通道特点为:(1) 对ADC、S/H要求高。(2) 处理速度慢。(3) 硬件简单,成本低。(4) 软件比较复杂。综合比较方案一与方案二,方案二更为适合于本设计系统对于模拟量输入的要求,比较其框图,方案二更具备硬件简单的突出优点,所以选择方案二作为信号的输入通道。本文来源于:

可以找我加Q 九八三七七零零四八

决赛我 长期亵渎我 强制味道 是品我 角色看守的

单片机数显温度计毕业论文

用手写啊,不过我在替一个同学做毕业设计,也是温度计的,采用DS18B20的,液晶显示屏,几百元,带实物!

已把我毕业论文的一部分发给你了,应该是你想要的。还需要其它的说一声

首先确定用途:是测体温的、测环境温度、测控粮食仓库的温度、测控锅炉的温度?然后确定方案:你要测炼钢炉的温度用热敏电阻肯定是不行的--测控范围达不到。你要测体温用热电偶也不可行,分辨率达不到。由测控对像确定温元件,由测温元件确定电路方案,包括用什么电路处理传感器的信号,如何把信号转成数字信号送给单片机,用什么型号的单片机,怎样显示,怎样控制等等。所以你的问题还不够明确。总之,这个问题不是怎么写,而是怎么做。做出来了,还写不出来吗?温控器是不能靠想像就能把它想好的,要实际做,实际测试效果。如果你实在想省劲,那我来给你做吧,然后把一些关键的问题点及数据告诉你,你自己写论文,但是要收费。

用DS18B20做的电子温度计,非常简单。#include <> #include\"\"#include <>#include <>//********************************************************#define Seck (500/TK) //1秒中的主程序的系数#define OffLed (Seck*5*60) //自动关机的时间5分钟!//********************************************************#if (FHz==0) #define NOP_2uS_nop_()#else #define NOP_2uS_nop_();_nop_()#endif//**************************************#define SkipK 0xcc //跳过命令#define ConvertK 0x44 //转化命令#define RdDs18b20K 0xbe //读温度命令//*******************************************extern LedOut(void);//*************************************************sbit PNP1=P3^4;sbit PNP2=P3^5;sbit BEEP=P3^2;//***********************************#defineDQ PNP2 //原来的PNP2 BEEP//***********************************static unsigned char Power=0;//************************************union{ unsigned char Temp[2]; //单字节温度 unsigned int Tt; //2字节温度}T;//***********************************************typedef struct{ unsigned char Flag; //正数标志 0;1==》负数 unsigned char WenDu; //温度整数 unsigned int WenDuDot; //温度小数放大了10000}WENDU; //***********************************************WENDU WenDu;unsigned char LedBuf[3];//----------------------------------//功能:10us 级别延时// n=1===> 6Mhz=14uS 12MHz=7uS//----------------------------------void Delay10us(unsigned char n){ do{ #if (FHz==1) NOP_2uS;NOP_2uS; #endif }while(--n);}//-----------------------------------//功能:写18B20//-----------------------------------void Write_18B20(unsigned char n){ unsigned char i; for(i=0;i<8;i++){ DQ=0; Delay10us(1);//延时13us 左右 DQ=n & 0x01; n=n>>1; Delay10us(5);//延时50us 以上 DQ=1; }}//------------------------------------//功能:读取18B20//------------------------------------unsigned char Read_18B20(void){ unsigned char i; unsigned char temp; for(i=0;i<8;i++){ temp=temp>>1; DQ=0; NOP_2uS;//延时1us DQ=1; NOP_2uS;NOP_2uS;//延时5us if(DQ==0){ temp=temp&0x7F; }else{ temp=temp|0x80; } Delay10us(5);//延时40us DQ=1; } return temp;}//-----------------------------------void Init (void){ DQ=0; Delay10us(45);//延时500us DQ=1; Delay10us(9);//延时90us if(DQ){ //0001 1111b=1f Power =0; //失败0 }else{ Power++; DQ=1; }}//----------------------------------void Skip(void){ Write_18B20(SkipK); Power++;}//----------------------------------void Convert (void){ Write_18B20(ConvertK); Power++;}//______________________________________void Get_Ds18b20L (void){ [1]=Read_18B20(); //读低位 Power++;}//______________________________________void Get_Ds18b20H (void){ [0]=Read_18B20(); //读高位 Power++;}//------------------------------------//规范化成浮点数// sssss111;11110000// sssss111;1111()//------------------------------------void ReadTemp (void){ unsigned char i; unsigned intF1=0; char j=1; code int Code_F[]={6250,1250,2500,5000}; ; if ([0] >0x80){ //负温度 =~; //取反+1=源吗 +符号S ; } <<= 4; //左移4位 [0]; // 温度整数 //************************************************** [1]>>=4; //--------------------------- for (i=0;i<4;i++){ //计算小数位 F1 +=([1] & 0x01)*Code_F; [1]>>=1; } ; //温度的小数 Power=0;}//----------------------------------void Delay1S (void){ static unsigned int i=0; if (++i==Seck) {i=0ower++;}}//----------------------------------void ReadDo (void){ Write_18B20(RdDs18b20K); Power++;}/**********************************函数指针定义***********************************/code void (code *SubTemp[])()={ Init,Skip,Convert,Delay1S,Init,Skip,ReadDo,Get_Ds18b20L, Get_Ds18b20H,ReadTemp};//**************************************void GetTemp(void){ (*SubTemp[Power])();}//---------------------------------------------------//将温度显示,小数点放大了 GetBcd(void){ LedBuf[0]= / 10; LedBuf[1]= % 10 +DotK; LedBuf[2]=()%10; if(LedBuf[0]==0)LedBuf[0]=Black; if() return; if(LedBuf[0] !=Black){ LedBuf[2]=LedBuf[1]; LedBuf[1]=LedBuf[0]; LedBuf[0]=Led_Pol; //'-' }else{ LedBuf[0]=Led_Pol; //'-' }}/*//---------------------------------------------------void JbDelay (void){ static long i; if (++i>=OffLed){ P1=0xff; P2=0xff; PCON=0x02; }}*//*****************************************************主程序开始1:2002_10_1 设计,采用DS18B20测量2:采用函数数组读取数码管显示正常!3:改变FHz可以用6,12MHz工作!******************************************************/code unsigned char Stop[3] _at_ 0x3b;void main (void){ P1=0xff; ; while (1){ GetTemp(); GetBcd(); // JbDelay(); LedOut(); }}复制代码 20091012_8b1ef92155560c13b5807ZmoDVSacjwD[1].jpg (12 KB) 2009-10-21 23:21 上传下载次数:0

相关百科

热门百科

首页
发表服务