首页

> 学术期刊知识库

首页 学术期刊知识库 问题

炉温均匀性检测的论文

发布时间:

炉温均匀性检测的论文

国家电炉质量监督检验中心,找张永武

温测试仪连接热电偶温度传感器,通过传送带输送仪器穿过炉膛(仪器也可置于外部,不进入炉膛,根据实际使用场境选择工作方式),由热电偶采集炉膛温度过程变化数据储存于仪器内,数据下载至电脑,温度分析软件转化为图表形式显示(温度曲线图)和数值数据。并输出详细温度报告供工程人员分析炉温情况。温度曲线测试的意义:通过采集炉温过程变化数据,绘制温度曲线图并自动分析生成详细温度报告,让工程师准确知道实际炉内温度变化情况,判断炉温是否达到生产要求,或对炉子作出优化调整,实现对炉温的准确管控,快速发现故障、排除故障,避免出现不合格产品,稳定、提高产品质量,减少能耗,为企业创造更多效益。炉温测试仪(炉温测试系统)包含四个主要部件:一、炉温测试仪主机二、仪器隔热保护盒\箱三、热电偶四、温度分析软件---------------------------------我们有这种仪器(时浩科技)

首先,你要先看看是要做料温均匀性测试,还是炉温均匀性测试。然后才是要准备东西,你可以先确定这一点,然后我再慢慢帮你解决,我就是搞炉温均匀性的,有问题可以来问我

按GB/T9452—2003标准,不一定是9点,根据炉膛尺寸确定,测温偶用铠装热电偶,经计量部门标定合格,用料架或工装绑好,从试样孔或测温孔插入,测试最好用多点测温仪可自动记录,用电子电位差计也可。

锅炉检测论文

浅谈小型热水锅炉及其配套工艺应用分析论文关键词:小型热水锅炉二合一采暖炉分析 论文摘要:目前供热方式多种多样,主要供热设备分为“二合一”采暖炉、相变真空采暖炉、小型热水锅炉三种。其中,小型热水锅炉属于应用较新的一种供热设备,本文就其工作原理、工艺流程、与其他供热设备生产运行优缺点对比,以及运行过程中的经济能耗等问题进行分析。 1 小型热水锅炉及配套工艺技术简介 结构: 小型热水锅炉主要采用撬装模块式设计,内部主要由燃烧室、热交换器、自动燃烧器、自动控制装置及配套设施构成。 工作原理: 燃烧器将天然气充分燃烧,产生的热量被受热面吸收传给中间介质水,完成加热的水通过循环水泵打出,送至各采暖用户,出户后的冷凝水返回后再次被加热,如此循环往复。 主要工艺流程: 清水通过全自动软化水供水机组处理后打入加热炉,天然气通过全自动点火装置将锅炉点燃,将炉内清水加热至85℃左右,然后循环水泵将热水打出送至各用户。 工艺技术:该种锅炉具备完善的自动控制系统,采用全自动燃烧器可以实现自动燃烧功能,并通过控制柜实现各项参数的精确输出或发出故障信号,另外小型热水锅炉可以根据水温的变化进行自动调节,当水温升高时,锅炉自动停止燃烧;待水温降低后再自动启炉,有效的节约了锅炉的的耗气量。 热水锅炉水质硬度指标一般在,通过全自动软化水供水机组处理后,水质硬度指标一般小于,远远低于热水锅炉水质要求,降低了锅炉的腐蚀结垢情况及维修量。 2 与其它供热设备技术对比分析 运行能耗: “二合一”采暖炉炉膛温度受热不均、火焰偏烧,易造成局部过热影响炉效,炉效平均值仅在%左右,低于采暖系统炉效不小于80%的节能要求,增大了耗气量和生产运行费用。 小型热水锅炉炉效可达88%左右,节能烟箱的设计,通过在烟箱内壁加涂特殊的辐射材料,降低热损失;并在烟管内加装高效传热扰流构件,进一步强化传热等措施确保了锅炉更高的燃烧及传热效率。 而且它具备自动启炉和停炉的功能,当炉内水温达到85℃左右时,小型热水锅炉可自行停止加热,当回水温度降至55℃左右时,设备自动启炉,开始加热,大大降低了耗气量。 相变真空炉则采用两回程燃烧室和优化的换热面设计,确保了最佳的热传递,使加热炉效率高达87%-91%。 安全性: “二合一”采暖炉燃烧器没有配置全自动点火和熄火保护装置,而且加热炉监测力度及精细控制不够,管理人员多靠观察火焰及经验控制燃烧,炉膛内易熄火,存在严重安全隐患问题。 小型热水锅炉采用全自动燃烧器和自动监控系统,可实现输出参数的精确控制,确保锅炉安全运行的同时,大大减少了锅炉由于操作人员经验不足及人为因素造成的低效高耗使用情况。 相变真空炉运行时,锅壳内部压力始终低于外界大气压,绝无承压爆炸的危险,运行安全可靠。 使用寿命: “二合一”采暖炉腐蚀结垢问题严重,降低了锅炉的使用寿命;同时,“二合一”采暖炉火管和烟管结垢快,造成受热不均,靠近燃烧器2-3m处火管过热,易发生变形损坏。 小型热水锅炉炉膛内采用防腐衬膜技术,大幅度降低钢材腐蚀速率,使本体维修率降低,使用寿命延长。 相变真空炉炉体内部在真空无氧、无垢的环境下运行,大大延长锅炉使用寿命。湿背式回燃式结构,有效保证了燃烧系统的运行寿命。 管理维护及供热负荷: “二合一”采暖炉属于压力容器管理范围,因此每年需要开机检修,更换附件(更换火嘴、燃烧器、耐火砖;维修烟囱等),而小型热水锅炉和相变真空炉的损坏现象很少,维修工作量相对较小。 “二合一”采暖炉和相变真空炉供热负荷范围比较大,而小型热水锅炉的最高供热负荷为,适用于小型场所。。 3 经济效益分析 初投资对比分析 若以一台额定热功率为的炉子为例,小型热水锅炉、“二合一”采暖炉、相变真空炉主要设备工程投资比较具体情况见下列各表。 通过以上价格比较可以看出,小型热水锅炉投资费用最低,比相变真空炉投资费用节省万元,比“二合一”采暖炉投资节省万元。 运行费用对比分析 就小型热水锅炉、相变真空炉及“二合一”采暖炉进行效益分析,以采暖炉为例: ①耗气量(天然气价格为元/立方米估算、湿气价格为元/立方米估算) 小型热水锅炉耗气量为33Nm3/h,年耗气量为,一年费用为万元 相变真空炉耗气量为,年耗气量为14x104Nm3,一年费用为万元 “二合一”采暖炉耗气量为40Nm3/h,年耗气量为,一年费用为万元 ②年维护费用 小型热水锅炉及相变真空炉均属于自控程度较高的供热设备,维修管理工作量很小,相对“二合一”采暖炉而言,每年可节省维修费用万元。 因此,应用小型热水锅炉或相变真空炉可以比二合一采暖炉节省年运行费用万元。 4认识与总结 1.小型热水锅炉较其他供热设备而言,一次性投入较低,可节约投资成本。 2.小型热水锅炉供热效果良好,冬季室内温度均达到20℃~25℃,充分满足小队点供热需求。 3.小型热水锅炉自动化程度较高,可以实现无人值守,管理方便。 4.小型热水锅炉运行效果平稳,维护工作量小,适合在具备气源、距离较远的独立小队点推广应用。 参考文献: [1]王鹏. 《小型热水锅炉水动力特性研究》. [D];东北电力大学2007,4,26-27 [2]解鲁生. 《热水锅炉及供热系统探讨研究》. 全国供热行业热源技术研讨会,2004转

基于PID的锅炉温度控制系统设计 摘要:利用BP神经网络PID控制具有逼近任意非线性函数的能力,将神经网络PID与LabVIEW友好地人 机交互结合,实现对锅炉温度的控制.仿真结果表明,该系统具有更小的超调量,并且更快地到达需要的控制温 度. 关键词:BP神经网络;PID控制;温度控制 温度是锅炉生产蒸汽质量的重要指标之一,也是保证锅炉设备安全的重要参数.同时,温度是影响锅 炉传热过程和设备效率的主要因素.例如,在利用烟化炉对锌、铝冶炼过程中,如果温度过低,则还原速度 和挥发速度都会降低;但温度也不宜过高,否则在温度超过1 250℃时,可能形成Zn-Fe合金,有害于烟 化炉的作业,因此温度的精确测量和控制是十分必要的.作为工业控制系统中的基本方式,PID控制对于 动态反应较缓慢的工业过程是非常好的控制规律[1].但是,当工业过程复杂,负荷变化很多,对象的纯滞 后又较大时常规PID控制达不到要求,为了解决上述问题系统采用PLC作为下位机,PC作为上位机,利 用labVIEW构造人机交互界面,应用神经网络PID对系统进行控制,设计锅炉温度的监制电路. 1 系统总体设计 系统通过热电偶传感器检测出锅炉的温度,采集的信号经过A/D电路转换后传给PLC控制器.PLC 根据数据做出判断,当锅炉处在升温阶段时对锅炉进行加热,当锅炉处于保温段时调用PID算法控制温 度满足输出要求.同时PLC把数据传给PC机,PC机做出显示和报警.具体电路如图1所示. 1·1 主控芯片 S7-300PLC是西门子生产的模块式中小型PLC,提供了大量可以选择的模块,包括:PS 电源模块、CPU模块、IM接口模块、SM信号模块、FM功能模块和CP通信模块.其中FM模块可实现高 速级数、定位控制、闭环控制功能;CP模块是组态网使用的接口模块常用的网络有PROFIBUS,工业以太 网及点对点连接网络.这些模块可以通过U形总线紧密地固定在轨道上,一条导轨共有11个槽号:1号槽 至3号槽分别放置电源、CPU、IM模块4号槽至11号槽 可以随意放置其他模块. 1·2 通信网络 一般的自动化系统都是以单元生产设备 为中心进行检测和控制,不同单元的生产设备间缺乏信息 交流,难以满足生产过程的统一管理.西门子全集成自动 化解决方案顺应了当今自动化的需求,TIA从统一的组态 和编程、统一的数据管理及统一的通信三方面集成在一 起,从现场级到管理级,可以使用如工业以太网、PROFIB- BUS,MPI,EIB等通信网络.根据设计的需要可以自由选择通信网络的配置[2]. 1·3 温度传感器 热电偶是将2种不同的导体焊接起来组成闭合回路,当两端节点有温度差时,两端点 之间产生电动势,回路中会产生电流,这种现象称为热电效应.热电偶温度传感器就是利用这一效应来工 作的.在工业生产过程中被测点与基准节点之间的距离常常过远,为了节省热电偶材料,降低成本,通常采 用补偿导线的方式进行补偿[3]. 1·4 显示界面 LabVIEW是美国NI公司推出的图形化工业控制测控开发平台,是目前应用最广、发展 最快、功能最强的图形软件集成开发环境.LabVIEW具有界面友好、开发周期短等优点,广泛应用于仪器 控制、数据采集、数据分析和数据显示等领域.所以,我们可以在计算机上采用它来实现对设备运行状态的 监控,同时也可以对各种数据进行采集显示.系统的温度显示界面如图2所示. 2 系统控制算法设计 PID控制是工业过程控制中最常用的一种控制方法, 但常规的PID控制在被控对象具有复杂的非线性时,如锅 炉的温度控制,不仅具有较大的纯延迟,而且模型也不确 定时,对于这种对象往往难以达到满意的控制效果.BP神 经网络PID控制具有逼近任意非线性函数的能力,通过神 经网络自身的学习,找到最佳组合的PID控制参数,以满 足控制系统的要求.具体的神经网络PID控制系统框图如 图3所示. 设PID神经元网络是一个3层BP网络,包括2个输入节点,3个隐含层节点,1个输出接点.输入节 点对应所选的系统运行状态量,如系统不同时刻的输入量和输出量等,必要时要进行归一化处理.输出节 点分别对应PID控制的3个可调参数KP,KI,KD.输入层的2个神经元在构成控制系统可分别输入系统 被调量的给定值和实际值.由文献[4]和[5]中的前向算法可得到输出层的权系数计算公式为: 3结论 PID控制算法是一种易于实现而且经济实用的方法,具有很强的灵活性,但在被控制对象具有复杂的 非线性时,难以满足控制要求,而神经网络PID控制具有逼近任意非线性函数的能力,神经网络PID与 LabVIEW结合实现对锅炉温度的数据采集、控制和显示,提高了锅炉监控系统的效率. 参考文献: [1] 邓洪伟.供暖锅炉温度和压力的PLC控制[J].动力与电力工程,2008(18):93-94. [2] 张运刚.西门子S7-300/400PLC技术与应用[M].北京:人民邮电出版社,2007. [3] 何希才.传感器及其应用实例[M].北京:机械工业出版社,2004. [4] 何离庆.过程控制系统与装置[M].北京:重庆大学出版社,2003. [5] 舒怀林.PID神经元网络及其控制系统[M].北京:国防工业出版社,2006.

热能与动力工程专业毕业论文(锅炉专业 锅炉的计算机控制 锅炉微机控制,是近年来开发的一项新技术,它是微型计算机软、硬件、自动控制、锅炉节 能等几项技术紧密结合的产物,我国现有中、小型锅炉 30 多万台,每年耗煤量占我国原煤 产量的 1/3,大多数锅炉仍处于能耗高、浪费大、环境污染等严重的生产状态。提高热效率, 降低耗煤量,用微机进行控制是一件具有深远意义的工作。 作为锅炉控制装置,其主要任务是保证锅炉的安全、稳定、运行,减轻操作人员的劳动 强度。采用微计算机控制,能对锅炉进行过程的自动检测、自动控制等多项功能。 锅炉微机控制系统,一般由以下几部分组成,即由锅炉本体、一次仪表、微机、手自动 切换操作、执行机构及阀、滑差电机等部分组成,一次仪表将锅炉的温度、压力、流量、氧 量、转速等量转换成电压、电流等送入微机,手自动切换操作部分,手动时由操作人员手动 控制, 用操作器控制滑差电机及阀等, 自动时对微机发出控制信号经执行部分进行自动操作。 微机对整个锅炉的运行进行监测、报警、控制以保证锅炉正常、可靠地运行,除此以外为保 证锅炉运行的安全,在进行微机系统设计时,对锅炉水位、锅炉汽包压力等重要参数应设置 常规仪表及报警装置,以保证水位和汽包压力有双重甚至三重报警装置,这是必不可少的, 以免锅炉发生重大事故。 控制系统: 锅炉是一个较为复杂的调节对象,它不仅调节量多,而且各种量之间相互联系,相互, 相互制约, 锅炉内部的能量转换机理比较复杂, 所以要对锅炉建立一个较为理想的数学模型 比较困难。为此,把锅炉系统作了简化处理,化分为三个相对独立的调节系统。 当然在某 些系统中还可以细分出其它系统如一次风量控制回路,但是其主要是以下三个部分: 炉膛负压为主调量的特殊燃烧自动调节系统 锅炉燃烧过程有三个任务:给煤控制,给风控制,炉膛负压控制。保持煤气与空气比例 使空气过剩系数在 左右、燃烧过程的经济性、维持炉膛负压,所以锅炉燃烧过程的自 动调节是一个复杂的。对于 3× 锅炉来说燃烧放散高炉煤气,要求是最大限度地利用放 散的高炉煤气,故可按锅炉的最大出力运行,对蒸汽压力不做严格要求;燃烧的经济性也不 做较高的要求。这样锅炉燃烧过程的自动调节简化为炉膛负压为主参数的定煤气流量调节。 炉膛负压 Pf 的大小受引风量、鼓风量与煤气量(压力)三者的影响。炉膛负压太小, 炉膛向外喷火和外泄漏高炉煤气, 危及设备与运行人员的安全。 负压太大, 炉膛漏风量增加, 排烟损失增加,引风机电耗增加。根据多年的人工手动调节摸索, 锅炉的 Pf=100Pa 来进行设计。调节是初始状态先由人工调节空气与煤气比例,达到理想的燃烧状态,在引风 机全开时达到炉膛负压 100Pa,投入自动后,只调节煤气蝶阀,使压力波动下的高炉煤气流 量趋于初始状态的煤气流量,来保持燃烧中高炉煤气与空气比例达到最佳状态。 锅炉水位调节单元 汽包水位是锅炉安全运行的重要参数,水位过高,会破坏汽水分离装置的正常工作,严 重时会导致蒸汽带水增多,增加在管壁上的结垢和影响蒸汽质量。水位过低,则会破坏水循 环,引起水冷壁管的破裂,严重时会造成干锅,损坏汽包。所以其值过高过低都可能造成重 大事故。它的被调量是汽包水位,而调节量则是给水流量,通过对给水流量的调节, 使汽包 内部的物料达到动态平衡, 变化在允许范围之内, 由于锅炉汽包水位对蒸气流量和给水流量 变化的响应呈积极特性。但是在负荷(蒸气流量)急剧增加时,表现却为"逆响应特性",即所 谓的"虚假水位",造成这一原因是由于负荷增加时,导致汽包压力下降,使汽包内水的沸点 温度下降,水的沸腾突然加剧,形成大量汽泡,而使水位抬高。 汽包水位控制系统,实质 上是维持锅炉进出水量平衡的系统。 它是以水位作为水量平衡与否的控制指标, 通过调整进 水量的多少来达到进出平衡, 将汽包水位维持在汽水分离界面最大的汽包中位线附近, 以提 高锅炉的蒸发效率,保证生产安全。由于锅炉水位系统是一个设有自平衡能力的被控对象, 运行中存在虚假水位现象,实际中可根据情况采用水位单冲量、水位蒸汽量双重量和水位、 蒸汽量、给水量三冲量的控制系统。 除氧器压力和水位调节:除氧器部分均采用单冲量控制方案,单回路的 PID 调节。 监控管理系统: 以上控制系统一般由 PLC 或其它硬件系统完成控制,而在上位机中要完成以下功能: 实时准确检测锅炉的运行参数:为全面 掌握整个系统的运行工况,监控系统将实时监 测并采集锅炉有关的工艺参数、 电气参数、 以及设备的运行状态等。 系统具有丰富的图形库, 通过组态可将锅炉的设备图形连同相关的运行参数显示在画面上; 除此之外, 还能将参数以 列表或分组等形式显示出来。 综合及时发出控制指令: 监控系统根据监测到的锅炉运行数据, 按照设定好的控制策略, 发出控制指令,调节锅炉系统设备的运行,从而保证锅炉高效、可靠运行。 诊断故障与报警管理:主控中 心可以显示、管理、传送锅炉运行的各种报警信号,从 而使锅炉的安全防爆、安全运行等级大大的提高。同时,对报警的档案管理可使业主对于锅 炉运行的各种、弱点等了如指掌。为保证 锅炉系统安全、可靠地运行,监控系统将根据所 监测的参数进行故障诊断,一旦发生故障,监控系统将及时在操作员屏幕上显示报警点。报 警相关的显示功能使用户定义的显示画面与每个点联系起来,这样,当报警发生时,操作员 可立即访问该报警点的详细信息和按照所推荐采取的应急措施进行处理。 记录运行参数: 监控系统的实时数据库将维护锅炉运行参数的历史记录, 另外监控系统 还。设有专门的报警事件日志,用以记录报警/事件信息和操作员的变化等。历史记录的数 据根据操作人员的要求,系统可以显示为瞬时值,也可以为某一段时间内的平均值。历史记 录的数据可有多种显示方式,例如曲线、特定图形、报表等显示方式;此外历史记录的数据 还可以由以为基础的多种应用软件所应用。 计算运行参数: 锅炉运行的某些运行参数不能够直接测量, 如年运行负荷量、 蒸汽耗量、 补水量、冷凝水返回量、设备的累积运行时间等。监控系统提供了丰富的标准处理算法,根 据所测得的运行参数,将这些导出量计算出来。

检测室温论文

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

检测室温一般用于各种特殊场所,例如温室,大棚等;居家使用也可实时掌握温度变化,提醒家人注意防暑防寒。检测室温可以使用温度计,目前市面上有售各种水银温度计,电子温度计等。

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

室温也称为常温或者一般温度, 一般定义为25摄氏度。 有时会设为 300K (约 27°C), 以利于使用绝对温度的计算。因为室温是最合适人身的温度所以我们一般用温度计以下列标准测量室温一般来说,室温有3种范围的定义:1. 23℃±2℃ ; 2. 25℃±5℃;3. 20℃±5℃居室内最适宜的温度冬季16-18摄氏度,夏季24-26摄氏度。

检测温度论文

用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

我做的课程设计,用的数码管,也做了protues仿真,你有需要的话,我邮箱是。希望对你有帮助,#include<>sbit P11=P1^1;sbit P12=P1^2;sbit P13=P1^3;sbit P14=P1^4;/////数码管1断码控制///////////////sbit P15=P1^5;sbit P16=P1^6;sbit P17=P1^7;sbit P32=P3^2;/////数码管2段码控制////////////////sbit up=P3^7;sbit down=P3^6; ////按键操作端口//////////////////sbit P35=P3^5; ////////控制晶闸管端口/////////sbit DQ =P3^3; ///////温度传感器端口///////// #define THCO 0xee#define THLO 0x00unsigned char code duan[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,0x88,}; //////////////////////////////////////////int b=0;char pwm=0;int k;char r=0,q=0;static char wendu_1;char hao=20;//////////////////////////////////////////////void delay(unsigned int i){while(i--);}//////////////////////////////////////////Init_DS18B20(void){unsigned char x=0;DQ = 1; //DQ复位delay(8); //稍做延时DQ = 0; //单片机将DQ拉低delay(80); //精确延时 大于 480usDQ = 1; //拉高总线delay(14);x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败delay(20);}////////////////////////////////////////////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;}//delay(4);}/////////////////////////////////////////////////DS18B20程序读取温度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*;return(t);}xianshi(){/////////////////当前温度显示///////////////////////////// P11=1; P0=duan[wendu_1/1000]; for(k=0;k<1000;k++); P1=0;P12=1; P0=duan[wendu_1/100%10]; for(k=0;k<1000;k++); P1=0;P13=1; P0=duan[wendu_1%100/10]; for(k=0;k<1000;k++); P1=0;P14=1; P0=duan[wendu_1%10]; for(k=0;k<1000;k++); P1=0; ///////////////////////////目标电压显示/////////////// P15=1; P2=duan[hao/1000]; for(k=0;k<1000;k++); P1=0;P16=1; P2=duan[hao/100%10]; for(k=0;k<1000;k++); P1=0;P17=1; P2=duan[hao%100/10]; for(k=0;k<1000;k++); P1=0;P32=1; P2=duan[hao%10]; for(k=0;k<1000;k++); P32=0;////////////////////////////////////////////////////////// }/////////////////////////////////////////////////////////// main(void){ P11=0; P12=0; P13=0; P14=0; P15=0; P16=0; P17=0; P32=0; P35=0; /////////////////////////////////////////////////////////// while(1){ wendu_1=ReadTemperature()/16;//读温度 xianshi(); ///显示系统数据/////////////////////////////////////操作函数//////////////////////////////////// if(down==0) {hao--;} if(up==0){hao++;} ///////////////////////////////////////////////////////////////////hao为理想温度/////wendu_1为实际环境温度/////////////////////////////////////////////////////////////////P35为高时 led灯工作///////////////////////////////////// P35=0; pwm=hao-wendu_1; if(pwm>0) {P35=1;} if(pwm<0) {P35=0;} if(pwm==0) {P35=0;}///////////////////////////////////////////////////////////////// }}

第一章 绪论1. 1 选题背景防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标。它直接影响到储备物资的使用寿命和工作可靠性。为保证日常工作的顺利进行,首要问题是加强仓库内温度与湿度的监测工作。但传统的方法是用与湿度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。因此我们需要一种造价低廉、使用方便且测量准确的温湿度测量仪。1.2 设计过程及工艺要求一、基本功能~ 检测温度、湿度~ 显示温度、湿度~ 过限报警二、 主要技术参数 ~ 温度检测范围 : -30℃-+50℃~ 测量精度 : ℃~ 湿度检测范围 : 10%-100%RH~ 检测精度 : 1%RH~ 显示方式 : 温度:四位显示 湿度:四位显示~ 报警方式 : 三极管驱动的蜂鸣音报警

温度的检测技术论文

我做的课程设计,用的数码管,也做了protues仿真,你有需要的话,我邮箱是。希望对你有帮助,#include<>sbit P11=P1^1;sbit P12=P1^2;sbit P13=P1^3;sbit P14=P1^4;/////数码管1断码控制///////////////sbit P15=P1^5;sbit P16=P1^6;sbit P17=P1^7;sbit P32=P3^2;/////数码管2段码控制////////////////sbit up=P3^7;sbit down=P3^6; ////按键操作端口//////////////////sbit P35=P3^5; ////////控制晶闸管端口/////////sbit DQ =P3^3; ///////温度传感器端口///////// #define THCO 0xee#define THLO 0x00unsigned char code duan[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,0x88,}; //////////////////////////////////////////int b=0;char pwm=0;int k;char r=0,q=0;static char wendu_1;char hao=20;//////////////////////////////////////////////void delay(unsigned int i){while(i--);}//////////////////////////////////////////Init_DS18B20(void){unsigned char x=0;DQ = 1; //DQ复位delay(8); //稍做延时DQ = 0; //单片机将DQ拉低delay(80); //精确延时 大于 480usDQ = 1; //拉高总线delay(14);x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败delay(20);}////////////////////////////////////////////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;}//delay(4);}/////////////////////////////////////////////////DS18B20程序读取温度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*;return(t);}xianshi(){/////////////////当前温度显示///////////////////////////// P11=1; P0=duan[wendu_1/1000]; for(k=0;k<1000;k++); P1=0;P12=1; P0=duan[wendu_1/100%10]; for(k=0;k<1000;k++); P1=0;P13=1; P0=duan[wendu_1%100/10]; for(k=0;k<1000;k++); P1=0;P14=1; P0=duan[wendu_1%10]; for(k=0;k<1000;k++); P1=0; ///////////////////////////目标电压显示/////////////// P15=1; P2=duan[hao/1000]; for(k=0;k<1000;k++); P1=0;P16=1; P2=duan[hao/100%10]; for(k=0;k<1000;k++); P1=0;P17=1; P2=duan[hao%100/10]; for(k=0;k<1000;k++); P1=0;P32=1; P2=duan[hao%10]; for(k=0;k<1000;k++); P32=0;////////////////////////////////////////////////////////// }/////////////////////////////////////////////////////////// main(void){ P11=0; P12=0; P13=0; P14=0; P15=0; P16=0; P17=0; P32=0; P35=0; /////////////////////////////////////////////////////////// while(1){ wendu_1=ReadTemperature()/16;//读温度 xianshi(); ///显示系统数据/////////////////////////////////////操作函数//////////////////////////////////// if(down==0) {hao--;} if(up==0){hao++;} ///////////////////////////////////////////////////////////////////hao为理想温度/////wendu_1为实际环境温度/////////////////////////////////////////////////////////////////P35为高时 led灯工作///////////////////////////////////// P35=0; pwm=hao-wendu_1; if(pwm>0) {P35=1;} if(pwm<0) {P35=0;} if(pwm==0) {P35=0;}///////////////////////////////////////////////////////////////// }}

毕业设计(论文)报告 系 别: 电子与电气工程学院 专 业: 电子信息工程 班 号: 电子 0 8 5 学 生 姓 名: 傅浩 学 生 学 号: 080012212 计 论 ) 目 设 ( 文 题 : 基于AT89C51 的数字温度计的设计 指 导 教 师: 傅浩 设 计 地 点: 起 迄 日 期: 常州信息职业技术学院电子与电气工程学院 毕业设计论文 毕业设计(论文)任务书 专业 电子信息工程 班级 电子 085 姓名 傅浩一、课题名称:基于 AT89C51 的数字温度计的设计二、主要技术指标: 1、测温范围-50℃-110℃ 2、精度误差小于 ℃ 3、LED 数码直读显示 4、可通过人机接口任意设定温度报警阀值三、工作内容和要求:(1)、要求数字温度计能对环境的温度进行实时监测。(2)、数字温度计要能够实时显示环境的温度信息,使用户及时了解到环境温度情况。(3)、数字温度计能够在程序跑飞的情况下自动重启,对环境温度进行正确的测量。 四、主要参考:1.李勋.刘源单片机实用教程M.北京航空航天大学出版社,20002.李朝青.单片机原理及接口技术(简明修订版)M.杭州:北京航空航天大学出版社,19983.李广弟.单片机基础M.北京:北京航空航天大学出版社,19944.阎石.数字电子技术基础(第三版)M.北京:高等教育出版社,19895.廖常初.现场总线概述J.电工技术,19996.王津.单片机原理与应用M.重庆大学出版社,2000 学 生(签名) 年 月 日 指 导 教师(签名) 年 月 日常州信息职业技术学院电子与电气工程学院 毕业设计论文 教研室主任(签名) 年 月 日 系 主 任(签名) 年 月 日 常州信息职业技术学院电子与电气工程学院 毕业设计论文 毕业设计(论文)开题报告设计(论文)题目 基于 AT89C51 的数字温度计的设计一、选题的背景和意义: 随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研等各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度计,它给人带来的方便也是不可否定的。要为现代人生活提供更好、更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。 本文将要设计的数字温度计具有性能稳定、灵敏度高、抗干扰能力强、使用方便等优点,广泛应用于冰箱、空调器、粮仓等日常生活中温度的测量和控制中,为人们生活水平的提高做出了巨大的贡献。二、课题研究的主要内容: 1.本文是以单片机 AT89C51 为核心进行设计。 2.通过 DALLAS 公司的单总线数字温度传感器 DS18B20 来实现环境温度的采集和 A/D转换。 3.其输出温度采用数字显示,用 3 位共阳极 LED 数码管以串口传送数据,实现温度显示,能准确达到以上要求。 4.此温度计属于多功能温度计可以用来测量环境温度,还可以设置上下报警温度,当温度不在设置范围内时,可以报警。 常州信息职业技术学院电子与电气工程学院 毕业设计论文三、主要研究(设计)方法论述: 1. 通过查阅书籍了解数字温度计的基本概念等信息,结合以前所学的电子专业知识认真研究课题。 2. 借助强大的网络功能,借鉴前人的研究成果更好的帮助自己更好地理解所需掌握的内容。 3. 通过与老师与同学的讨论研究,及时地发现问题反复地检查修改最终完成。 四、设计(论文)进度安排:时间(迄止日期) 工 作 内 容 ~ 查找资料,确定论文题目 ~ 根据选题方向查资料,确定基本框架和设计方法 ~ 完成开题报告 ~ 完成初稿并交指导老师审阅 ~ 根据指导老师意见修改论文 ~ 根据模板将论文排版 ~ 仔细阅读论文并作细节完善后上交 常州信息职业技术学院电子与电气工程学院 毕业设计论文五、指导教师意见: 指导教师签名: 年 月 日六、系部意见: 系主任签名: 年 月 日 常州信息职业技术学院电子与电气工程学院 毕业设计论文 目录摘要Abstract第 1 章 前言 ...................................................... 1第 2 章 数字温度计总体设计方案 .................................... 2 数字温度计设计方案.......................................... 2 总体设计框图................................................ 2第 3 章 数字温度计的硬件设计 ...................................... 3 主控制器 AT89C51 ............................................ 3 AT89C51 的特点及特征 .................................... 3 管脚功能说明............................................ 3 片内振荡器.............................................. 5 芯片擦除................................................ 5 单片机的主板电路............................................ 6 温度采集部分的设计.......................................... 6 温度传感器 DS18B20 ...................................... 6 DS18B20 温度传感器与单片机的接口电路 ................... 10 显示部分设计............................................... 10 74LS164 引脚功能及特征 ................................. 10 温度显示电路........................................... 11 报警系统电路............................................... 12第 4 章 数字温度计的软件设计 ..................................... 13 系统软件设计流程图......................................... 13 数字温度计部分程序清单..................................... 15第 5 章 结束语 ................................................... 20答谢辞参考文献 常州信息职业技术学院电子与电气工程学院 毕业设计论文 摘 要 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子。 本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示。该设计控制器使用单片机 AT89C51,测温传感器使用 DS18B20,用 3 位共阳极 LED 数码管以串口传送数据,实现温度显示。本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。 此外本文还介绍了数字温度计的硬件设计和软件设计,硬件设计主要包括主控制器、单片机的主板电路、温度采集部分电路、显示电路以及报警系统电路。 软件设计包括系统软件的流程图和数字温度计的部分程序清单。关键词:AT89C51 单片机,数字控制,测温传感器,多功能温度计 常州信息职业技术学院电子与电气工程学院 毕业设计论文 Abstract As peoples living standard rising SCM is undoubtedly one of theobjectives pursued by the people the convenience it brings is equallynegative and one digital thermometer is a typical example. The design presented in the traditional thermometer digitalthermometer and compared with a reading convenience a wide range oftemperature measurement temperature measurement accuracy the output ofthe temperature digital display. The design of the controller usingmicrocontroller AT89C51 temperature sensor uses DS18B20 with threecommon anode LED digital tube to serial transmission of data to achievetemperature display. The thermometer is multi-functional thermometeryou can set the upper and lower alarm temperature range when thetemperature is not set you can alarm. Besides the paper also describes the digital thermometer in hardwaredesign and software design hardware design includes the main controllermicrocontroller circuit board the temperature acquisition part of thecircuit display circuit and the alarm system circuit. Software designincluding system software flow chart and the digital thermometer in thepart of the program words: AT89C51 microcontroller digital control temperature sensormulti-function thermometer 常州信息职业技术学院电子与电气工程学院 毕业设计论文第1章 前言 随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。 现代信息技术的飞速发展和传统工业改造的逐步实现。 能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差,所以传统的温度计有反应速度慢、读数麻烦、测量精度不高、误差大等缺点。 本文是以单片机 AT89C51 为核心,通过 DALLAS 公司的单总线数字温度传感器 DS18B20 来实现环境温度的采集和 A/D 转换,用来测量环境温度,温度分辨率为 ℃,并能数码显示。因此本文设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽其电路简单,软硬件结构模块化,易于实现等特点。 数字式温度计的设计将给人们的生活带来很大的方便, 为人们生活水平的提高做出了贡献。数字温度计在以后将应用于我们生产和生活的各个方面,数字式温度计的众多优点告诉我们:数字温度计将在我们的未来生活中应用于各个领域,它将会是传统温度计的理想的替代产品。 -1- 常州信息职业技术学院电子与电气工程学院 毕业设计论文第2章 数字温度计总体设计方案 数字温度计设计方案方案 一: 采用热敏电阻器件,利用其感温效应,再将随被测温度变化的电压或电流采集过来,进行 A/D 转换后,利用单片机进行数据的处理,然后在显示电路上,将被测温度显示出来。 方案 二: 利用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器 DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换就可以满足设计要求。 分析上述两种方案可以看出方案一是使用热敏电阻之类的器件利用其感温效应,进行 A/D 转换后,利用单片机进行数据的处理,在显示电路上被测温度显示出来,这种设计需要用到 A/D 转换电路,感温电路比较麻烦。方案二是利用温度传感器直接读取被测温度,读数方便,测温范围广,测温精确,适用范围宽而且电路简单易于实现。 综合方案一和方案二的优缺点,我们选择方案二。 总体设计框图 温度计电路设计总体设计方框图如图 2-1 所示, 控制器采用单片机 AT89C51,温度传感器采用 DS18B20,用 4 位 LED 数码管以串口传送数据实现温度显示。 L 单片机复位 E D 主 显 控 示 报警点按键调整 制 器 温 度 时钟振荡 传 感 器 图 2-1 总体设计方框图 -2- 常州信息职业技术学院电子与电气工程学院 毕业设计论文第3章 数字温度计硬件设计 主控制器 AT89C51 的特点及特性: 40 个引脚,4K Bytes FLASH 片内程序存储器,128 Bytes 的随机存取数据存储器(RAM) ,32 个外部双向输入/输出(I/O)口,5 个中断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器,2 个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,AT89C51 在空闲模式下,CPU 暂停工作,而 RAM 定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存 RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有 PDIP、TQFP 和 PLCC 等三种封装形式,以适应不同产品的需求。 主要功能特性: 兼容 MCS-51 指令系统 4k 可反复擦写gt1000 次)ISP FLASH ROM 32 个双向 I/O 口 工作电压 2 个 16 位可编程定时/计数器 时钟频率 0-33MHZ 全双工 UART 串行中断口线 128X8 BIT 内部 RAM 2 个外部中断源 低功耗空闲和省电模式 中断唤醒省电模式 3 级加密位 看门狗(WDT)电路 软件设置空闲和省电功能 灵活的 ISP 字节和分页编程 双数据寄存器指针 管脚功能说明: AT89C51 管脚如图 3-1 所示: -3- 常州信息职业技术学院电子与电气工程学院 毕业设计论文 图 3-1 AT89C51 管脚图 (1)VCC:供电电压。 (2)GND:接地。 P0 P0 (3) 口: 口为一个 8 位漏级开路双向 I/O 口, 每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。 (4)P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH编程和校验时,P1 口作为第八位地址接收。 (5)P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 (6)P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3 口也可作为 AT89C51 的一些特殊功能口,如下所示: RXD(串行输入口) TXD(串行输出口) /INT0(外部中断 0) /INT1(外部中断 1) T0(记时器 0 外部输入) T1(记时器 1 外部输入) /WR(外部数据存储器写选通) /RD(外部数据存储器读选通) -4- 常州信息职业技术学院电子与电气工程学院 毕业设计论文 P3 口同时为闪烁编程和编程校验接收一些控制信号。 (7)RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 (8)ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时,ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。 (9)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。 但在访问外部数据存储器时, 这两次有效的/PSEN信号将不出现。 ( 10 ) /EA/VPP : 当 /EA 保 持 低 电 平 时 , 则 在 此 期 间 外 部 程 序 存 储 器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP)。 (11)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 (12)XTAL2:来自反向振荡器的输出。 片内振荡器: 该反向放大器可以配置为片内振荡器,如图 3-2 所示。 图 3-2 片内振荡器 芯片擦除: -5- 常州信息职业技术学院电子与电气工程学院 毕业设计论文 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合, 并保持ALE 管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU 停止工作。但 RAM、定时器、计数器、串口和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。单片机 AT89C51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。 单片机 AT89C51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要, 很适合便携手持式产品的设计使用系统可用二节电池供电。 单片机主板电路 单片机 AT89C51 是数字温度计的核心元件,单片机的主板电路如图 3-3 所示,包括单片机芯片、报警系统电路、晶振电路、上拉电阻以及与单片机相连的其他电路。 图 3-3 单片机的主板电路 温度采集部分的设计 温度传感器 DS18B20 DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现 9~12 位的数字值读数方式。 -6- 常州信息职业技术学院电子与电气工程学院 毕业设计论文 TO-92 封装的 DS18B20 的引脚排列见图 3-4,其引脚功能描述见表 .

用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

摘要本设计的温度测量计加热控制系统以AT89S52单片机为核心部件,外加温度采集电路、键盘显示电路、加热控制电路和越限报警等电路。采用单总线型数字式的温度传感器DSI8B20,及行列式键盘和动态显示的方式,以容易控制的固态继电器作加热控制的开关器件。本作品既可以对当前温度进行实时显示又可以对温度进行控制,以使达到用户需要的温度,并使其恒定再这一温度。人性化的行列式键盘设计使设置温度简单快速,两位整数一位小数的显示方式具有更高的显示精度。建立在模糊控制理论控制上的控制算法,是控制精度完全能满足一般社会生产的要求。通过对系统软件和硬件设计的合理规划,发挥单片机自身集成众多系统及功能单元的优势,再不减少功能的前提下有效的降低了硬件的成本,系统操控更简便。实验证明该温控系统能达到℃的静态误差,℃的控制精度,以及只有%的超调量,因本设计具有很高的可靠性和稳定性。关键词:单片机 恒温控制 模糊控制引言温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用。 采用单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。MSP430系列单片机具有处理能强、运行速度快、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范围广,精度较高。温度传感器将温度信息变换为模拟电压信号后,将电压信号放大到单片机可以处理的范围内,经过低通滤波,滤掉干扰信号送入单片机。在单片机中对信号进行采样,为进一步提高测量精度,采样后对信号再进行数字滤波。单片机将检测到的温度信息与设定值进行比较,如果不相符,数字调节程序根据给定值与测得值的差值按PID控制算法设计控制量,触发程序根据控制量控制执行单元。如果检测值高于设定值,则启动制冷系统,降低环境温度;如果检测值低于设定值,则启动加热系统,提高环境温度,达到控制温度的目的。图形点阵式液晶可显示用户自定义的任意符号和图形,并可卷动显示,它作为便携式单片机系统人机交互界面的重要组成部分被广泛应用于实时检测和显示的仪器仪表中。支持汉字显示的图形点阵液晶在现代单片机应用系统中是一种十分常用的显示设备,汉字BP机、手机上的显示屏就是图形点阵液晶。它与行列式小键盘组成了现代单片机应用系统中最常用的人机交互界面。本文设计了一种基于MSP430单片机的温度测量和控制装置,能对环境温度进行测量,并能根据温度给定值给出调节量,控制执行机构,实现调节环境温度的目的。━、硬件设计1:MSP430系列单片机简介及选型单片机即微控制器,自其开发以来,取得了飞速的发展。单片机控制系统在工业、交通、医疗等领域的应用越来越广泛,在单片机未开发之前,电子产品只能由复杂的模拟电路来实现,不仅体积大,成本高,长期使用后元件老化,控制精度大大降低,单片机开发以后,控制系统变为智能化了,只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品体积变小了,成本也降低了,长期使用也不会担心精度达不到了。特别是嵌入式技术的发展,必将为单片机的发展提供更广阔的发展空间,近年来,由于超低功耗技术的开发,又出现了低功耗单片机,如MSP430系列、ZK系列等,其中的MSP430系列单片机是美国德州仪器(TI)的一种16位超低功耗单片机,该单片机

相关百科

热门百科

首页
发表服务