简易数字温度采集系统设计资料.doc

上传人:牧羊曲112 文档编号:3921535 上传时间:2023-03-27 格式:DOC 页数:29 大小:1.94MB
返回 下载 相关 举报
简易数字温度采集系统设计资料.doc_第1页
第1页 / 共29页
简易数字温度采集系统设计资料.doc_第2页
第2页 / 共29页
简易数字温度采集系统设计资料.doc_第3页
第3页 / 共29页
简易数字温度采集系统设计资料.doc_第4页
第4页 / 共29页
简易数字温度采集系统设计资料.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《简易数字温度采集系统设计资料.doc》由会员分享,可在线阅读,更多相关《简易数字温度采集系统设计资料.doc(29页珍藏版)》请在三一办公上搜索。

1、电子技术课程设计题目: 简易数字温度采集系统设计 学生姓名 专 业 班 级 指导教师 成 绩 工程技术学院2015 年 12 月*1、前言 最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,电子技术得到了的迅猛发展,数字电路应用广泛,电子技术深入各个领域。通过这一电子技术课程设计来让我们熟悉理论知识与实践相结合的综合训练,从而达到对我们运用能力进行检查和综合素质的培养。*1.1课程设计要求与目的1.1.1基本设计要求与原则本次课程设计的所选题目是简易温度数字采集系统设计。该系统的电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。此温度采集系统可以测量得温度范围55+

2、125并通过一个四位一体的7段数码管显示出来。整个课程设计以先设计,再仿真,最后进行实物焊接与调试的步骤进行。基本要求:1、能够根据设计任务和指标要求,综合运用电子技术课程中所学到的理论知识与实践技能独立完成一个设计课题。2、根据课题需要选择参考书籍,查阅手册、图表等有关文献资料。要求通过独立思考、深入钻研课程设计中所遇到的问题,培养自己分析、解决问题的能力。3、进一步熟悉常用电子器件的类型和特性,掌握合理选用的原则。4、学会电子电路的安装与调试技能,掌握常用仪器设备的正确使用方法。利用“观察、判断、实验、再判断”的基本方法,解决实验中出现的问题。基本原则:1, 小组团队设计不能从网上下载,自

3、己动手编排电路,流程图,编写程序。2, 电路图必须采用PROTEL软件绘制,用multisim或者proteus软件仿真,并提交程序及结果、课程论文电子版。1.1.2 设计的基本目的1.课程设计是教学中必不可少的重要环节,通过课程设计巩固、深化和扩展学生的理论知识与初步的专业技能,提高综合运用知识的能力,逐步增强实际工程训练的能力。2.注重培养学生正确的设计思想,掌握课程设计的主要内容、步骤和方法。3.培养学生获取信息和综合处理信息的能力、文字和语言表达能力以及协作工作能力。4.提高学生运用所学的理论知识和技能解决实际问题的能力及其基本工程素质。5.在知识传授与能力和素质培养的关系上,树立注重

4、素质教育,融传授知识、培养动手能力。 目 录*1、前言1*1.1课程设计要求与目的1第一章:系统总体设计及方案论证41.1系统总体设计41.2本系统工作流程4第二章 单元电路的设计与分析82.1 温度采集模块82.2 单片机系统112.3 数码管显示系统设计132.4 总体电路设计132.5 程序设计总方案132.6 设计仿真与初步调试15第三章 电路的安装与调试163.1 焊接、安装方法163.2 调试163.3过程中所出现的问题及其解决163.4实验测试结果17第四章 体会、总结19附 元件明细表20附 原理图20附 PCB设计图21附:C语言程序22参考文献27第一章:系统总体设计及方案

5、论证1.1系统总体设计本章主要内容是论述基于单片机的温度采集系统的总体设计以及方案论证。本系统主要包括三大模块:温度传感器模块、数据处理模块及显示模块。功能模块具体实现的器件的不同,将直接影响整个系统的性能及成本,为了达到高效、实用的目的,在系统设计之前的方案论证是十分重要的。硬件电路设计由5个部分组成; 温度采集电路,STC89C52RC单片机系统,LED数码管显示系统、时钟电路、复位电路以及被测量温度输入。硬件电路设计框图如图1-1所示。 图1-1 数字温度计系统硬件设计框图1.2本系统工作流程见图1-2系统上电初始化DS18B20进行数据的采集并将数据以二进制的形式传至单片机单片机对数据

6、进行处理LCD进行温度显示LCD进行温度显示图1-2系统工作流程1.2.1单片机该部分的功能不仅包括向温度传感器写入各种控制命令、读取温度数据、数据处理。单片机是整个系统的控制核心及数据处理核心。本设计采用的AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 系统可编程Flash存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。与AT89C52相比,AT

7、89S52在工艺上进行了改进,89S52采用0.35新工艺,成本降低,而且将功能提升,增加了竞争力。而且AT89S52具有ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离,速度更快、稳定性更好,烧写电压也仅仅需要45V即可。AT89S52最高工作频率为33MHz,AT89C52的极限工作频率是24MHz。AT89S52内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32位I/O 口线,看门狗定时器,2个数据指针,三个16 位 定时器/计数器,一个6向量2级中

8、断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。1.2.2温度采集与传感器本部分的主要作用是用传感器检测模拟环境中的温度信号,温度传感器上电流将随环境温度值线性变化。再把电流信号转换成电压信号,使用A/D转换器将模拟电压信号转换成单片机能够进行数据处理的数字电压信号,本设计采用的是数字温度传感器,以上过程都在温度传感器内部完成。 传感器的选择受

9、到很多因素的影响,首先是各种温度传感器自身的优缺点,其次是各种不同的环境因素,还有就是系统所要求实现的精度等,所以在不同的设计当中温度传感器的选择也将不同。方案一:热电偶传感器热电偶传感的原理是将温度变化转换为电势变化。它是利用两种不同材料的金属连接在一起,构成的具有热电效应原理的一种感温元件。其优点为精确度高、测量范围广、构造简单、使用方便,型号种类比较多且技术成熟等。目前广泛应用于工业与民用产品中。热电偶传感器的种类很多,在选择时必须考虑其灵敏度、精确度、可靠性、稳定性等条件。方案二:热电阻传感器热电阻传感器的原理是将温度变化转换为电阻值的变化。热电阻传感器是中低温区最常用的一种温度传感器

10、。它的主要特点是:测量精度高,性能稳定。其中铂热电阻的测量精度是最高的,不仅广泛应用于工业测温,而且被制作成标准的基准仪。从热电阻的测温原理可以知道,被测温度的变化是直接通过热电阻阻值的变化来表现的。因此,热电阻的引出线的电阻的变化会给测温带来影响9。为消除引线电阻的影响,一般采用三线制或四线制。热电阻测温系统一般由热电阻、连接导线、显示仪表组成。方案三:半导体集成模拟温度传感器半导体IC温度传感器是利用半导体PN结的电流、电压与温度变换关系来测温的一种感温元件。这种传感器输出线性好、精度高,而且可以把传感器驱动电路、信号处理电路等,与温度传感器部分集成在同一硅片上,体积小,使用方便,应用比较

11、广泛的有AD590等。IC温度传感器在微型计算机控制系统中,通常用于室温或环境温度的检测,以便微型计算机对温度测量值进行补偿。方案四:半导体集成数字温度传感器随着科学技术的不断进步和发展,新型温度传感器的种类繁多,应用逐渐广泛,并且开始由模拟式向着数字式、单总线式、双总线式、多总线式发展10。数字温度传感器,更因适合与各种微处理器的I/O接口相连接,组成自动温度控制系统,这种系统克服了模拟传感器与微处理器接口时需要信号调理电路和A/D转换器的弊端,被广泛应用于工业控制、电子测温、医疗仪器等各种温度控制系统中,数字温度传感器中比较有代表性的有DS18B20等。电子设计中常用的几种温度传感器的性能

12、、价格等的对比,如表2-1所示:表2-1传感器对比表传感器AD590PT100DS18B20产地美国德国美国量程-50+150-200+450-55+125精度 0.30.250.5供电电压+4V+30V+13V+36V+3.0V+5.5V输出信号类型模拟信号模拟信号数字信号PT100与AD590都不能与单片机的I/O口直接相连,需要设计信号调理电路,A/D转换电路。而DS18B20是数字温度传感器,并且采用单总线技术,使该传感器不但可以直接与单片机I/O口相连,并且只需要一个I/O就可以连接多个温度传感器,实现多点温度测量与控制。所以使用数字温度传感器DS18B20不但可以节约单片机I/O口

13、,还能使系统设计成本降低。1.2.3显示模块电子设计中常用的输出显示设备有两种:数码管和LCD。数码管是现在电子设计中使用相当普遍的一种显示设备,每个数码管由7个发光二极管按照一定的排列结构组成,根据七个发光二极管的正负极连接不同,又分为共阴极数码管和共阳极数码管两种,选择的数码管不同,程序设计上也有一定的差别。数码管显示的数据内容比较直观,通常显示从0到F中的任意一个数字,一个数码管可以显示一位,多个数码管就可以显示多位,在显示位数比较少的电路中,程序编写,外围电路设计都十分简单,但是当要显示的位数相对多的时候,数码管操作起来十分烦琐,显示的速度受到限制。并且当硬件电路设计好之后,系统显示能

14、力基本也被确定,系统显示能力的扩展受到了限制。而液晶显示屏具有体积小、功耗低、显示内容丰富等特点,用户可以根据自己的需求,显示自己所需要的、甚至是自己动手设计的图案。当需要显示的数据比较复杂的时候,它的优点就突现出来了,并且当硬件设计完成时,可以通过软件的修改来不断扩展系统显示能力。外围驱动电路设计比较简单,显示能力的扩展将不会涉及到硬件电路的修改,可扩展性很强。字符型液晶显示屏已经成为了单片机应用设计中最常用的信息显示器件之一。不足之处在于其价格比较昂贵,驱动程序编写比较复杂。第二章 单元电路的设计与分析2.1 温度采集模块2.1.1 DS18B20 主要特性DS18B20 单线数字温度传感

15、器,即“一线器件”,其具有独特的优点:( 1 )用单总采线的接口方式 与微处理器连接时 仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。 单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。( 2 )测量温度范围宽,测量精度高 DS18B20 的测量范围为 -55 + 125 ; 在 -10+ 85C 范围内,精度为 0.5C 。( 3 )在使用中不需要任何外围元件。( 4 )持多点组网功能 多个 DS18B20 可以并联在惟一的单线上,实现多点测温。( 5 )供电方式灵活 DS18B20 可

16、以通过内部寄生电路从数据线上获取电源。因此,当数据线上的时序满足一定的要求时,可以不接外部电源,从而 使系统结构更趋简单,可靠性更高。( 6 )测量参数可配置 DS18B20 的测量分辨率可通过程序设定 912 位。( 7 ) 负压特性 电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。( 8 )掉电保护功能 DS18B20 内部含有 EEPROM ,在系统掉电以后,它仍可保存分辨率及报警温度的设定值。 DS18B20 具有体积更小、适用电压更宽、更经济、可选更小的封装方式,更宽的电压适用范围,适合于构建自己的经济的测温系统,因此也就被设计者们所青睐。2.1.2 DS18B20外部引脚特

17、征 DS18B20芯片有3条引脚,采用TO-92,SOIC,CSP式封装,其引脚图如下图左所示。而本设计采用的探头式DS18B20经过包装后防水耐用,使用更为简洁方便,也更为灵敏精确,外观如上图右所示。2.1.3 DS18B20工作方式本设计采用外接电源工作方式,如图所示。2.1.4 DS18B20的内部结构及工作时序DS18B20 内部结构主要由四部分组成: 64 位光刻 ROM 、温度传感器、非挥发的温度报警触发器 TH 和 TL 、配置寄存器。光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B20 的地址序列码。 64 位光刻 ROM 的排列是:开始 8 位

18、(地址: 28H )是产品类型标号,接着的 48 位是该 DS18B20 自身的序列号,并且每个 DS18B20 的序列号都不相同,因此它可以看作是该 DS18B20 的地址序列码;最后 8 位则是前面 56 位的循环冗余校验码( CRC=X8+X5+X4+1 )。由于每一个 DS18B20 的 ROM 数据都各不相同,因此微控制器就可以通过单总线对多个 DS18B20 进行寻址,从而实现一根总线上挂接多个 DS18B20 的目的其内部结构如图4所示。2.1.5 DS18B20和单片机的单线通信DS18B20 单线通信功能是分时完成的,有严格的时隙概念,如果出现序列混乱, 1-WIRE 器件将

19、不响应主机,因此读写时序很重要。系统对 DS18B20 的各种操作必须按协议进行。根据 DS18B20 的协议规定,微控制器控制 DS18B20 完成温度的转换必须经过以下 4 个步骤 :()每次读写前对 DS18B20 进行复位初始化。复位要求主 CPU 将数据线下拉 500us ,然后释放, DS18B20 收到信号后等待 16us60us 左右,然后发出 60us240us 的存在低脉冲,主 CPU 收到此信号后表示复位成功。()发送一条 ROM 指令()发送存储器指令2.2 单片机系统2.2.1 AT89S52性能AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 系统可

20、编程Flash存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。主要性能:1、与MCS-51单片机产品兼容;2、8K字节在系统可编程Flash存储器;3、1000次擦写周期;4、全静态操作:0Hz-33MHz;5、三级加密程序存储器;6、32个可编程I/O口线;7、三个16位定时器/计数器;8、8个中断源;9、全双工UART串行通道;10、低功耗空闲和掉电模式;11、

21、掉电后中断可唤醒;12、看门狗定时器;13、双数据指针;14、掉电标识符。2.2.2 单片机最小系统单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。MCS-51单片机有一个复位引脚RST,采用施密特触发输入。当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位1。复位完成后,如果RST端继续保持高电平,MCS-51就一直处于复位状态,只要RST恢复低电平后,单片机才能进入其他工作状态。单片机的复位方式有上电自动复位和手动复位两种,图6是51系列单片机统常用的上电复位和手动复位组合电路,只要Vcc上升时间不超过1ms,

22、它们都能很好的工作1。单片机中CPU每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。CPU执行一条指令的各个微操作所对应时间顺序称为单片机的时序。MCS-51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1为该放大器的输入端,XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路1。本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和 2个谐振电容即可。由于复位电路与时钟电路的重要与必要性,市面上有直接集成的最小系统,且带有方便的电源接口,为节约时间与精力,故在此直接使用已

23、集成好的最小系统,如图。单片机最小系统2.3 数码管显示系统设计在应用系统中,设计要求不同,使用的LED数码管的位数也不同,因此就生产了位数,尺寸,型号不同的LED显示器供选择,在本设计中,选择4位一体的0.36寸红色高亮共阴LED数码管,简称“4-LED”。本系统中前一位显示温度的负位,在正温度不显示,后三位显示十位,个位还有小数位。2.4 总体电路设计经过以上的设计过程,可设计出基于单片机的数字温度计硬件电路原理图如图11所示。 总原理图2.5 程序设计总方案根据模块的划分原则,将该程序划分初始化模块,DS18B20子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如下图主程序

24、框图所示。DS18B20子程序用来环境的和被测物体温度的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图温度采集流程图所示。主程序框图温度采集流程图2.6 设计仿真与初步调试依照设计好的原理图在proteus中连接,利用keil软件对程序进行编译,最后在proteus中加载,查看仿真结果并进行初步的调整,仿真结果如图所示。第三章 电路的安装与调试3.1 焊接、安装方法根据设计好的布局、在万用板上将数码管、温度传感器、电阻等焊好,再在需要外部连接的引脚边焊上插针,在万用板底部用导线将二者连接,最后通过杜邦线连接插针与最小系统,即焊接装配好所需系统。3.2 调试焊好数码管及与其相连的插

25、针后,给单片机烧入一个全亮程序,即对其是否正常显示进行检测,发现有不能正常显示的,进行对最终结果影响的评估,对最终结果影响大,则只能换另一个数码管;温度传感器部分焊接好后,可对单片机进行简单编程测试其性能,性能完好则可进行最后的调试;连接好数码管、温度传感器、烧录事先编写好的程序,检验最后结果。3.3过程中所出现的问题及其解决设计时,最早对数码管的选为通过三极管放大实现,但不仅硬件更为复杂,编程中控位端需要取反,也更难以实现,通过仿真测试性能不佳后将其去除,直接通过P2口选为,电路更为简洁,操作也更为方便。通过焊接时,最早将数码管等引脚与插针连接的方式采用直接焊接方式,焊接难度大,且容易造成数

26、码管过热,进而损坏;后来采用用导线相连的方式,减小了焊接难度,焊接处也更为美观,数码管的损坏也减小了。调试时,发现数码管有少许损坏,最为严重的是其12脚(第一位选端,低电平有效)与6脚(b端显示,高电平有效)短路,导致后三位有任一显示“5”或“6”时(即b为低),第一位显示相同的数字,反复测试后,决定对其进行更换,更换后的即能得到正确的结果。最后测试时,发现由于第一位数码管仅在一百度以上及零度以下才会存在非零显示,而实际测试时多在常温下,造成第一位恒为零,影响实际观测效果,最后将改为常温下第一位不显示;但发现前一位显示会对后一位产生影响,故在没以为显示后加入全灭与延时语句,成功的解决了残影问题

27、,经测试,效果良好。在多次调试中,发现最小系统P2.0口存在有时不能正常使用问题,故实际中将选为端口改为P2.4至P2.7口。3.4实验测试结果室内温度(15.9): 手动加热(31.1)放入热水中测试(63.4)第四章 体会、总结经历反反复复的设计、修改、调试,最终,我们得到了想要的结果,但这并不意味着我们做得很好了,相反,这当中暴露出了我们在各个方面许许多多的问题,也学到了许多的,感触很深。在设计时,通过对需要系统的分析,分块设计,元件选取等,使我们了解到平时所学各门课程的实用价值,以及设计过程中的大局协调、取舍、分析能力的培养。仿真以及编程时,将各门学科的知识融合起来,既是对我们基础知识

28、的考验,又是对我们灵活运用及创新能力的检验。在将所设计的系统化为实物时,综合考察了我们的实际动手能力、将理论化为实际的能力、软硬件结合的能力等。同时,使我们对电子工艺理解更深,也发现了自己水平的不足,但进过不断的尝试、磨练,最终得到了自己想要的结果。在整个过程中,我们在科学研究上的的实事求是的工作原则、一丝不苟的工作态度、勤于思考的工作方法、百折不饶的工作精神和精益求精的工作作风等各个方面都有了长足的进步,最后最重要的是团队相处和谐、分工明确,并且大家都付出了自己的努力,才获得了最后的成果,使我们明白团队合作的重要与便利。在这当中,感受到了自己的许多的不足,如某些基础知识不够、动手能力较差等,

29、但这已经不重要了,重要的是我们将来如何完善自己,使自己更有能力、团队合作更为协调,在未来的人生道路上走出一条辉煌的路途。最后,我们所完成的,只是一个极其简易的温度采集系统而已,结构简单、功能单一,仅仅只有一个温度采集与显示而已,在这其中还有许多可以改进的地方,比如实现多路温度的采集与显示、进行温度控制与报警、人机交互、串行通讯等,都是一些可以考量并较为容易实现的方面,希望日后有时间能将其真正实现,也能让自己更上一层楼。附 元件明细表元件名称数量单片机最小系统1AT89C521DS18B2014.7K电阻1四位共阳数码管1万用板1连线若干附 原理图附 PCB设计图PCB(丝印层) PCB(底层)

30、附:C语言程序#include reg51.h#include intrins.h /_nop_();延时函数用#define Disdata P0 /段码输出口#define discan P2 /扫描口#define uchar unsigned char#define uint unsigned intsbit DQ=P13; /温度输入口sbit DIN=P07; /LED小数点控制uint h; uchar flag;/*温度小数部分用查表法*/uchar code ditab16=0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0

31、x06,0x07,0x08,0x08,0x09,0x09;/uchar code dis_712=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40;/共阴LED段码表 0 1 2 3 4 5 6 7 8 9 不亮 - uchar code scan_con4=0xef,0xdf,0xbf,0x7f; /列扫描控制字uchar data temp_data2=0x00,0x00; /读出温度暂放uchar data display5=0x00,0x00,0x00,0x00,0x00; /显示单元数据,共4个数据和一个运算暂用/

32、*11微秒延时函数*/void delay(uint t)for(;t0;t-);/*显示扫描函数*/void scan(void)char k; for(k=0;k0; i-) /DQ=1;_nop_();_nop_(); DQ = 0;_nop_();_nop_();_nop_();_nop_();_nop_();/5usDQ = val&0x01; /最低位移出delay(6); /66usval=val/2; /右移一位DQ = 1;delay(1); /*18B20读1个字节函数*/从总线上读取一个字节uchar read_byte(void)uchar i;uchar value

33、= 0;for (i=8;i0;i-)DQ=1;_nop_();_nop_();value=1;DQ = 0; /_nop_();_nop_();_nop_();_nop_(); /4usDQ = 1;_nop_();_nop_();_nop_();_nop_(); /4us if(DQ)value|=0x80;delay(6); /66usDQ=1;return(value);/*读出温度函数*/void read_temp(void)ow_reset(); /总线复位write_byte(0xCC); / 发Skip ROM命令write_byte(0xBE); / 发读命令temp_da

34、ta0=read_byte(); /温度低8位temp_data1=read_byte(); /温度高8位ow_reset();write_byte(0xCC); / Skip ROMwrite_byte(0x44); / 发转换命令/*温度数据处理函数*/void work_temp()uchar n=0;uchar doth,dotl;uchar flag3=1,flag2=1; /数字显示修正标记if(temp_data1&0xf8)!=0x00) temp_data1=(temp_data1); temp_data0=(temp_data0)+1; n=1; flag=1;/负温度求补

35、码if(temp_data0255)temp_data1+; display4=temp_data0&0x0f;display0=ditabdisplay4;doth=display0/10;dotl=display0%10;display4=(temp_data0&0xf0)4)|(temp_data1&0x07)4);display3=display4/100;display2=display4/10%10;display1=display4%10;if(!display3) display3=0x0a; flag3=0; if(!display2) display2=0x0a; flag

36、2=0; /最高位为0时都不显示if(n) display3=0x0b;/负温度时最高位显示- flag3=0;/ /*主函数*/void main(void)Disdata=0xff; /初始化端口discan=0xff;for(h=0;h4;h+)displayh=8;/开机显示8888ow_reset(); / 开机先转换一次write_byte(0xCC); / Skip ROMwrite_byte(0x44); / 发转换命令for(h=0;h50;h+) scan(); /开机显示8888while(1)read_temp(); /读出18B20温度数据work_temp(); /处理温度数据 scan(); /显示温度值/附录参考文献郭文川. MCS-51单片机原理、接口及应用 电子工业出版社 2013.01吴国凤、宣善立. C/C+程序设计 高等教育出版社 2009.09江思敏、陈明 Protel电路设计教程 清华大学出版社 2006.12众网友. DS18B20 百度百科 2015.11.29张逊321. 基于单片机的简易数字温度计的设计 百度文库 2012.10.02指导教师评语:成绩评定: 指导教师: 年 月 日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号