单片机数字式温度计设计说明书(附带源程序)
单片机课程设计报告(数字温度计)
单片机课程设计报告基于单片机的数字温度计设计1 绪论 2 方案设计 3 系统的硬件设计3.1 主控制器 3.2 显示电路3.3 温度传感器工作原理 3.4 温度传感器接口电路 4 系统的软件设计4.1 主程序4.2 温度测量4.2.1 初始化DS18B20 4.2.2 等待应答信号 4.2.3 DS18B20读字节 4.2.4 DS18B20写字节 4.2.5 启动温度测量 4.2.6 读取测量结果 4.2.7各算法流程图 4.3 数码管显示 5 系统的测试与总结 参考文献 附录1 原理图附录2 源程序清单源程序清单1 绪 论随着人们生活水平的不断提高随着人们生活水平的不断提高,,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活提供更好的更方便的设施就需要从单片机技术入手,的更方便的设施就需要从单片机技术入手,一切向着数字化控制,一切向着数字化控制,智能化控制方向发展。
制方向发展。
现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。
在三大信息信息采集在三大信息信息采集((即传感器技术即传感器技术))、信息传输信息传输((通信技术通信技术))和信息处理(计算机技术计算机技术))中,传感器属于信息技术的前沿尖端产品,传感器属于信息技术的前沿尖端产品,尤其是温度传感尤其是温度传感器技术,在我国各领域已经引用的非常广泛,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置因此研究温度的测量方法和装置具有重要的意义。
基于STC89C52单片机的数字温度计(附源代码,完美实现)
基于STC89C52单片机的数字温度计学院:信息科学与工程学院专业:电子信息科学与技术一、摘要温度的检测是工业生产中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型数字温度传感器实现对温度的测试与控制得到更快的开发。
本文设计了一种基于STC89C52单片机的温度检测系统,该系统将温度传感器DS18B20接在控制器的端口上,对温度进行采集,将采集到的温度值显示在1602液晶屏上。
经实验测试表明,该系统设计和布线简单,结构紧凑,有可读性高,反应速度快,测量准确,抗干扰能力强,性价比高,扩展方便等优点,具有关阔的应用前景。
关键词:STC89C52 数字温度计 DS18B20二、前言随着人民生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便是不可否定的,其中数字温度计就是一个典型的例子。
单片机控制温度检测系统的温感系统主要是DS18B20芯片,该芯片由一根总线控制,电压范围为3.0v--5.5v。
DS18B20具有测温方便、测温范围广、测温精度高等特点。
出于对此类问题的探索,我们设计并制作了此温度检测系统。
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确。
其输出温度采用数字显示,主要用于对测温比较准确的场所,该设计控制器模块主要使用STC89C52单片机,测温传感模块使用DS18B20;显示模块使用1602液晶显示屏,可以只管、准确的显示所测温度值。
三、系统组成及工作原理3.1、总体设计方案经分析,将系统分为两个部分,一个是由温度传感器DS18B20组成的检测部分,另一个是由单片机和1602液晶组成的主控与显示部分。
如图所示DS18B20将检测到的数据送到单片机,单片机对接收到的数据进行处理并送到1602显示,6V电源给各个部分供电。
3.2系统单元的选择与论证3.2.1单片机控制模块的选择与论证方案一:采用XC9000系列的FPGA。
单片机的数字温度计设计方案(附代码与仿真)
基于STC89C52的数字温度计目录1、简介....... .......... ..... 3 _ _2、计划选择2.1。
主控片选 (3)2.2.显示模块.............................. (3)2.3、温度检测模块………………………………… .. 43、系统硬件设计3.1。
51单片机最小系统设计………………………… .4 .电源电路设计…………………… .. 5.液晶显示电路设计……………………………… ..63.4.温度检测电路设计………… . . . 74.系统软件设计4.1。
温度传感器数据读取流程图......... .. (9)4.2.系统编程………………… .105. 编程与仿真5.1、Keil编程软件………………… .. .. 115.2.变形杆菌 (11)5.3.模拟界面……………………… ..116.总结........ .......... ........ 12 _ _ _ _ _七、附录附录 1. 原理图........ .......... (12)附录 2. 程序清单…………………………………………………………………… ..131 简介进入信息飞速发展的21世纪,科学技术的发展日新月异。
科学技术的进步带动了测量技术的发展,现代控制设备的性能和结构发生了翻天覆地的变化。
我们已经进入高速发展的信息时代,测量技术也成为当今技术的主流,已经渗透到研究和应用工程的各个领域。
温度与人们的生活息息相关,温度的测量变得非常重要。
2.系统方案选择2.1 主控芯片选型方案一:STC89C52RCSTC89C52RC是8051内核的ISP在线可编程芯片,最高工作时钟频率为80MHz,芯片内含8KB Flash ROM,可反复擦写1000次。
该器件兼容MCS-51指令系统和8051引脚结构。
该芯片集成了通用8位中央处理器和ISP Flash存储单元,具有在线可编程特性,在PC端有控制程序,用户程序代码可下载到单片机部门,无需购买通用编程器,速度更快。
C51单片机数字温度计汇编程序及说明书
1绪论1.1选题背景随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。
温度测量在物理实验、医疗卫生、食品生产等领域,尤其在热学试验(如:物体的比热容、汽化热、热功当量、压强温度系数等教学实验)中,有特别重要的意义。
现在所使用的温度计通常都是精度为1℃和0.1℃的水银、煤油或酒精温度计。
这些温度计的刻度间隔通常都很密,不容易准确分辨,读数困难,而且他们的热容量还比较大,达到热平衡所需的时间较长,因此很难读准,并且使用非常不方便。
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确等优点,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用。
因此本课题就尝试通过编程与芯片的结合来解决传统数字温度计的弊端,设计出新型数字温度计。
1.2课题现状分析及研究意义温度传感器的发展现状:温度传感器使用范围广,数量多,居各种传感器之首,其发展大致经历了以下3个阶段:①传统的分立式温度传感器(含敏感元件)——热电偶传感器,主要是能够进行非电量和电量之间转换。
②模拟集成温度传感器/控制器。
集成传感器是采用硅半导体集成工艺制成的,因此亦称硅传感器或单片集成温度传感器。
③智能温度传感器。
它是微电子技术、计算机技术和自动测试技术(ATE_)的结晶。
智能温度传感器内部包含温度传感器、A/D传感器、信号处理器、存储器(或寄存器)和接口电路。
本课题的研究可以应用领域生产、生活等很多领域。
对于家用电器从洗衣机、微波炉到音响等等到处都可以用到温度控制器来方便大家的日常生活。
开发此产品后也可方便应用安装在小至家庭大到工厂车间,小至一个芯片大到一个机械设备。
例如在家庭客厅卧室等必要地方显示室温,可防止家里食物是否变质及早采取措施。
基于单片机的数字温度计设计(课程设计有电路图和程序)
课程设计题目数字式温度计设计学院计信学院专业测控技术与仪器班级2006级2班学生姓名徐春数字式温度计设计组长:徐春 2006004071组员:蒋薇薇 2006004041 张静 2006004039 雷小利 2006004042 叶赛虎 2006004068 杨欣 2006004012摘要:随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。
关键词:单片机,数字控制,温度计,DS18B20,AT89S520 引言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S52,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求1、设计方案本设计方案的选择主要是感温元件的选择,经查阅资料,IC式感温器在市场上应用比较广泛的有以下几种:(1)AD590:电流输出型的测温组件,温度每升高1摄氏度K(凯式温度),电流增1uA,温度测量范围在-55℃~150℃之间。
其所采集到的数据需经A/D转换,才能得到实际的温度值。
.(2)DSl8B20:除了测量温度外,它还可以把温度值以数字的方式(9Bit)送出,温度送出的精度为O.5℃,温度测量范围在-55℃~125℃之间,可以做恒温控制。
(3)SMARTEC感温组件:这是一只3个管脚感温IC,温度测量范围在—45℃~130。
单片机课设任务书(数字温度计)
单片机课程设计任务书题目:基于Proteus仿真的单片机C程序设计——能显示时间的数字温度计一、设计目的1、掌握单片机定时器的编程方法;2、熟练运用C语言中的程序数组、字符串等知识;3、熟悉单片机C语言体系内容程序设计方法和开发流程;4、综合运用所学的理论知识去解决实际问题;5、培养调查研究、查阅技术文献、资料手册的能力。
二、设计要求1、测量并显示温度值,温度测量误差≤±1℃;2、测量温度范围为-55℃——+128℃;3、显示当前测量时间、星期、温度;4、可调整显示时间、星期;5、显示温度值若百位为0,则灭0,若十位为0,也灭0;6、温度超过设定的报警温度时指示灯报警即红灯亮,否则绿灯亮;7、可调整报警温度;8、显示报警温度时,若百位为0,则灭0,若十位为0,也灭0。
三、设计器材1、计算机一台,需安装keilc及Proteus软件;2、微控制器采用AT89C51单片机;3、温度传感器采用DS18B20;4、LCM1602液晶显示温度及时间。
四、设计内容1、单片机最小应用系统仿真电路设计;2、LM1602液晶与AT89C51连接电路设计及调试要求:连接好电路后,编程测试使LM1602能够按照指令正常显示字符;3、数字钟的设计要求:先在在LM1602液晶的第一行中间位置显示时、分、秒,增加星期显示;4、时钟调整功能的设计要求:增加三个按键开关,分别为功能键、加一调整键、减一调整键,通过控制功能键分别实现星期、小时、分、秒的调整;5、DS18B20温度传感器与以上系统连接电路设计;6、DS18B20温度显示的设计要求:在LM1602第二行左边位置显示“temp:-35.5℃”;7、温度报警电路设计要求:增加红色及绿色两个LED,当温度高于设定报警温度时红灯量,否则绿灯亮,报警温度显示LM1602第一行最右端;8、报警温度调整设计要求:增加两个按键开关,分别控制报警温度的加和减五、设计报告要求1、设计任务书;2、系统总体功能及技术指标描述;3、电路原理及硬件资源分配描述<I/O端口分配表);4、系统电路原理图;5、软件流程图<包括所有子函数及主函数流程图)6、软件清单,程序要求加详细注释;7、设计总结及体会。
单片机的数字温度计设计方案()
基于数字温度传感器的数字温度计1.设计目的与要求以AT89C51单片机为核心,利用数字温度传感器DS18B20制作一个LED显示的数字温度计:(1> 利用数字温度传感器DS18B20测量温度信号。
(2> 以P3.5口串口传送数据。
(3> 温度测量范围为0℃~99℃,精确到1℃。
(4> 2位共阳极LED数码管上显示相应的温度值。
2.工作原理温度传感器DS18B20美国Dallas公司生产的单线数字温度传感器,可以把温度模拟信号直接转换成串行数字信号供微机处理,是模/数转换器件,而且读DS18B20信息或写信息仅需单线接口,使用非常方便,新型的单线数字温度传感器体积小,精度高,使用更灵活。
DS18B20有三个引脚,GND接地;DQ为数字信号输入输出端;Udd为外接电源输入端。
DS18B20内结构主要由4部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH、TL和配置寄存器。
3.参考电路<附图)本设计由DS18B20温度传感器芯片测量当前的温度并将转换后的结果送入单片机。
然后通过A89S51单片机驱动两位共阳极7段LED数码管显示测量温度值。
如本设计硬件电路图所示,本电路主要有DS18B20温度传感器芯片,两位共阳极数码管,AT89S51单片机及相应外围电路组成。
其中DS18B20采用“一线制”与单片机相连。
整体硬件接线图初始化状态显示4.软件设计<流程图)用汇编语言完成对设计的软件编程,程序开始首先对温度传感器DS18B20进行复位,检测是否正常工作;接着读取温度数据,主机发出CCH指令与在线的DS18B20联系,接着向DS18B20发出温度A/D转换44H指令,再发出温度寄存器的温度值BEH指令,并反复调用复位,写入及读取数据子程序,之后再经过数据转换,由数码管显示出来,不断循环。
软件编程主要包括以下一些程序段。
主程序,读出转换后的温度值,写DS18B20的程序,读DS18B20的程序,从DS18B20中读出两个字节的温度数据,将从DS18B20中读出的温度数据进行转换,将16进制的温度数据转换成压缩BCD码,DS18B20初始化程序,数码显示程序,延时子程序。
单片机课程设计(数字温度计)
单片机课程设计说明书1 引言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
2 总体设计方案2.1 方案论证根据系统的设计要求,选择DS18B20作为本系统的温度传感器,选择单片机AT89C51为测控系统的核心来完成数据采集、处理、显示、报警等功能。
选用数字温度传感器DS18B20,省却了采样/保持电路、运放、数/模转换电路以及进行长距离传输时的串/并转换电路,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。
该系统的总体设计思路如下:温度传感器DS18B20把所测得的温度发送到AT89C51单片机上,经过51单片机处理,将把温度在显示电路上显示,本系统显示器用4位共阳LED 数码管以动态扫描法实现。
检测范围-55摄氏度到125摄氏度。
按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。
数字温度计总体电路结构框图如图1所示。
图1 数字温度计总体电路结构框图AT89C51 主 控 制 器显示电路温度传感器 DS18B20扫描驱动2.2 系统硬件电路的设计温度计电路设计原理图如图2所示,控制器使用单片机AT89C51,温度传感器使用DS18B20,用4位共阳LED数码管实现温度显示。
图2 数字温度计设计电路原理图2.2.1 主控制器AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
单片机智能电子温度计设计(电路图+原理图+源代码)-课程设计
单片机智能电子温度计设计(电路图+原理图+源代码)-课程设计单片机智能电子温度计设计(电路图+原理图+源代码) 智能电子温度计,要求显示温度和时间,能实现异常温度报警,温度和时间可设置。
自己构思系统的功能,成分发挥想象力和创造力,尽可能实现较多的功能,并能实现功能的扩展。
1. 根据课题,查阅相关资料;2. 画出系统的原理框图;3. 画出单元电路图;4. 编写相应部分程序;5. 撰写说明书。
1. 靳达.单片机应用系统开发实例导航.北京:人民邮电出版社,2003.10。
2. 张俊谟。
单片机中级教程.原理与应用北京:北京航空航天大学出版社,200.6。
3. 何立民.MCS-51系列单片机应用系统设计(系统配置与接口技术)。
目录单片机课程设计任务书 2智能体温计的设计 7一、主要模块的方案论证与比较 71.1 温度传感器的选择 71.2 A/D转换器的选择 71.3 时间模块 8二、总系统设计方案 102.1 总系统方案设计描述 10 2.2 系统电路原理图 102.2.1电源电路模块 102.2.2 温度检测、放大模块 11 2.2.3 A/D转换模块 122.2.4温度设制、显示及报警电路模块 152.2.5 时间设制、显示模块 16 三、系统软件设计 173.1系统程序流程图 173.2时间设置流程 18四、系统测试 214.1 硬件测试 214.1.1 单元模块的测试 21 4.1.2系统整体测试 214.2软件测试 214.3 硬件与软件的联机测试 21 五、测试数据及实验结果 235.1 测试数据235.2 测试结果分析 23六、总结和体会 24七、参考文献 25附录1 26附录2(程序) 1068单片机智能电子温度计设计(电路图+原理图+源代码)智能体温计的设计摘要:本智能体温计采用AT89S51作为核心器件实现对系统的自动控制,采用双单片机串行处理结构。
外界温度经AD590集成温度传感器采集,温度变化转换为线性电压信号,再经由OP07构成高精度低温漂的放大电路处理后,作为ADC0809的模拟输入信号,由ADC0809完成A/D转换,得到8位的数字信号送入单片机1(AT89S51)。
单片机数字式温度计设计说明书(附带源程序)
附件1:课程设计题目数字式温度计学院物流工程学院专业物流工程班级姓名指导教师2015年1月18日附件2:课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目: 数字式温度计设计初始条件:1、设计与仿真软件:Keil uVision 和Proteus要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1。
18B20 设计一款能够显示当前温度值的温度计;2. 切换按钮可以切换华氏度和摄氏度显示;3。
其他功能时间安排:2015年1月4 - 5日选择题目,布置任务2015年1月6 — 8日功能分析,硬件设计及修改2015年1月9 -13日软件设计与编程2015年1月14-18日调试并修改硬件组成2015年1月19-20日编写任务说明书2015年1月21-22日确认提交版、答辩指导教师签名: 年月日系主任(或责任教师)签名:年月日附件6:本科生课程设计成绩评定表指导教师:年月日目录1 设计任务 (2)2设计方案 (3)2.1 任务分析 (3)2.2 方案设计 (3)3系统硬件设计 (5)3.1时钟电路设计 (5)3.2复位电路设计 (5)3.3 1602控制电路 (5)3.4 DS18B20通信电路,开关电路设计 (6)3.5系统原理图 (7)4系统软件设计 (8)4.1 1ms定时 (8)4.2 DS18B20初始化程序 (8)4.3对DS1802写一个字节的数据 (8)4.4 1602的操作程序 (8)4.5温度测算及转换程序 (10)5仿真与性能分析 (11)5.1系统仿真过程 (11)5.2系统性能分析 (11)6.小结与展望 (13)参考文献 (14)附录1 元件清单 (15)附录2 系统程序 (16)数字式温度计的设计摘要温度是一种最基本的环境参数,人民的生活、生产与环境的温度息息相关。
在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置也有重要的意义。
基于单片机的智能数字温度计设计说明
2012/11/27实验容:基于单片机的智能数字温度计设计 1. 引言温度作为我们地球上一个重要物理参数在我们的生活、生产、科研、医疗等环节起着举足轻重的作用。
比如,我们日常生活中穿什么衣服、食物怎样储存、是不适宜出行等等都与温度密切相关。
再如,消防电气的非破坏性温度检测,电力设备的过热故障预知检测,空调系统的温度检测,各类运输工具组件的过热检测,医疗与诊断设备的温度测试等等。
及时准确的知道实时温度的多少成为了一个提高我们生活质量,工作效率的重要消息。
而生活中的温度计并不多见,偶尔看见有温度计也是玻璃制成,极易破碎而且读数极为不方便。
本设计为基于单片机的数字智能温度计能实现温度的实时测量并通过数码管进行实时显示,测量准确、读数方便、使用简单制作成本低。
2.方案设计2.1总体方案总体结构总体构架如上图,具体器件采用stc公司生产的STC12C5A60S2作为我们的主控芯片,它有40个通用I/O口,1280字节片上RAM,具有高速、低功耗、抗干扰能力强等优点完全能够胜任温度的监测与显示。
温度传感器选用美国DALLAS公司生产的DS18B20。
DS18B20独特的单总线技术只需一个引脚进行通讯无需外部器件,可通过数据线供电待机零功耗。
测温围-55°C~+125°C,以0.0005°C递增完全能够满足我们日常测温需求。
显示部分采用74HC138进行数码管段选、74HC573进行数码管位选完成显示转换。
电源部分采用7V供电,7805芯片进行稳压输出5V工作电压。
2.2 硬件设计2.2.1电源稳压模块电路采用7V供电,用7805芯片进行稳压,得到5V稳定电压输出,为单片机、74HC138、74HC573和温度传感器DS18B20供电。
D2为电源指示灯。
稳压电路如图:2.2.2温度检测模块温度检测由单片机的P1^0口接温度传感器,进行数据传输。
DS18B20单独供电,P3为插DS18B20的接口。
用单片机实现简易温度计课程设计说明书
目录1 引言 (1)1.1设计的目的 (1)1.2设计的背景 (1)2 方案设计 (2)2.1 DS18b20的选取 (2)2.2 AT89C51单片机的选取 (2)2.3 LCD1602液晶的选取 (2)3 硬件设计 (3)3.1 时钟电路 (3)3.2 复位电路 (3)3.3 DS18b20温度传感电路 (4)3.4 1602液晶显示电路 (4)4 软件设计 (6)4.1 DS18b20与单片机之间的信息交换程序 (7)4.2 单片机向1602发送命令及数据的程序 (7)4.3 主函数对各子函数的调用过程 (7)5 仿真结果 (9)6 总结与体会 (10)参考文献 (11)附录1 (12)1 引言1.1设计的目的通过本次设计,加深对单片机原理、接口课程的全面认识、复习和掌握,对单片机的应用进一步的了解。
1.2设计的背景温度计在现在日常生活、工业生产以及数据检测方面都有着广泛的应用,温度计的精度是选择温度计的重要指标,尤其许多重要场合温度的测定,误差必须限定在某一很小的范围内,因此要设计一个温度计,做好测量精度误差也是最重要的工作之一。
本课程设计要求能够测量的温度范围是-50摄氏度到+110摄氏度,测量误差在±0.5ºC之内。
综合这两个条件,经过查找分析,可以选择DS18b20温度传感器。
该传感器测量范围是-55ºC到+125ºC,其温度控制寄存器为16位,其中高5位是符号位,0表示正,1表示负,低11位表示温度数值,负温度用补码形式表示,在分辨率为0.0625ºC,即最低位的一代表0.0625ºC,符合精度要求。
设计时,要求显示到小数点后一位,由于误差在±0.5ºC之间,因此可以只让小数点后的数显示0与5,当实际温度的小数点位为0到4时,显示0,当实际温度的小数点位为5到9时,显示5。
要求用单片机设计温度计并在液晶上显示,这就要求必须有个温度传感器来收集温度信息,送入主控部分,再由主控部分将数据送显示部分显示。
基于51单片机和DS18B20的数字温度计设计说明
基于51单片机和DS18B20的数字温度计设计说明题目:基于89C51和DS18B20的数字温度计设计一、设计要求数字式温度计要求测温范围为-55~125°C,精度误差在0.1°C以内,LED数码管直读显示。
二、方案论证根据系统的设计要求,选择DS18B20作为本系统的温度传感器,选择单片机AT89C51为测控系统的核心来完成数据采集、处理、显示、报警等功能。
选用数字温度传感器DS18B20,省却了采样/保持电路、运放、数/模转换电路以及进行长距离传输时的串/并转换电路,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。
该系统的总体设计思路如下:温度传感器DS18B20把所测得的温度发送到AT89C51单片机上,经过51单片机处理,将把温度在显示电路上显示,本系统显示器用4位共阳LED数码管以动态扫描法实现。
检测范围-55摄氏度到125摄氏度。
按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。
数字温度计总体电路结构框图如图1所示。
图1 数字温度计总体电路结构框图三、系统硬件电路的设计温度计电路设计原理图如图2所示,控制器使用单片机AT89C51,温度传感器使用DS18B20,用4位共阳LED数码管实现温度显示。
图2 数字温度计设计电路原理图1、主控制器AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2、显示电路显示电路采用4位共阳LED数码管,从P0口输出段码,列扫描用P3.0~P3.3口来实现,列驱动用8550三极管。
3、温度传感器工作原理DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
51单片机设计数字温度计(流程图+源码+实物图片)
DS18B20获取温度程序流程图DS18B20的读字节,写字节,获取温度的程序流程图如图所示。
DS18B20初始化程序流程图DS18B20读字节程序流程图DS18B20写字节程序流程图DS18B20获取温度程序流程图图3-4 DS18B20程序流程图显示程序设计显示电路是由四位一体的数码管来实现的。
由于单片机的I/O 口有限,所以数码管采用动态扫描的方式来进行显示。
程序流程图如图所示。
图显示程序流程图按键程序设计按键是用来设定上下限报警温度的。
具体的程序流程图如图所示。
N图按键程序流程图附1 源程序代码/********************************************************************* 程序名; 基于DS18B20的测温系统* 功能:实时测量温度,超过上下限报警,报警温度可手动调整。
K1是用来* 进入上下限调节模式的,当按一下K1进入上限调节模式,再按一下进入下限* 调节模式。
在正常模式下,按一下K2进入查看上限温度模式,显示1s左右自动* 退出;按一下K3进入查看下限温度模式,显示1s左右自动退出;按一下K4消除* 按键音,再按一下启动按键音。
在调节上下限温度模式下,K2是实现加1功能,* K1是实现减1功能,K3是用来设定上下限温度正负的。
* 编程者:ZPZ* 编程时间:2009/10/2*********************************************************************/#include<AT89X52.h> //将AT89X52.h头文件包含到主程序#include<intrins.h> //将intrins.h头文件包含到主程序(调用其中的_nop_()空操作函数延时)#define uint unsigned int //变量类型宏定义,用uint表示无符号整形(16位)#define uchar unsigned char //变量类型宏定义,用uchar表示无符号字符型(8位)uchar max=0x00,min=0x00; //max是上限报警温度,min是下限报警温度bit s=0; //s是调整上下限温度时温度闪烁的标志位,s=0不显示200ms,s=1显示1s左右bit s1=0; //s1标志位用于上下限查看时的显示void display1(uint z); //声明display1()函数#include"ds18b20.h" //将ds18b20.h头文件包含到主程序#include"keyscan.h" //将keyscan.h头文件包含到主程序#include"display.h" //将display.h头文件包含到主程序/***********************主函数************************/void main(){beer=1; //关闭蜂鸣器led=1; //关闭LED灯timer1_init(0); //初始化定时器1(未启动定时器1)get_temperature(1); //首次启动DS18B20获取温度(DS18B20上点后自动将EEPROM中的上下限温度复制到TH和TL寄存器)while(1) //主循环{keyscan(); //按键扫描函数get_temperature(0); //获取温度函数keyscan(); //按键扫描函数display(temp,temp_d*0.625);//显示函数alarm(); //报警函数keyscan(); //按键扫描函数}}/********************************************************************* 程序名; __ds18b20_h__* 功能:DS18B20的c51编程头文件* 编程者:ZPZ* 编程时间:2009/10/2* 说明:用到的全局变量是:无符号字符型变量temp(测得的温度整数部分),temp_d* (测得的温度小数部分),标志位f(测量温度的标志位‘0’表示“正温度”‘1’表* 示“负温度”),标志位f_max(上限温度的标志位‘0’表示“正温度”、‘1’表* 示“负温度”),标志位f_min(下限温度的标志位‘0’表示“正温度”、‘1’表* 示“负温度”),标志位w(报警标志位‘1’启动报警‘0’关闭报警)。
数字式温度计设计说明书
学习情境三数字式温度计制作与调试说明书电子1034班组别:第四组组员:XXXXXX2012年3月8日目录一、工作任务.............................................................................................. - 3 -二、总体设计思路...................................................................................... - 3 -2.1整体功能说明 .................................................. - 3 -2.2总体框图 ...................................................... - 3 -三、硬件设计.................................................................................................. - 3 -3.1硬件模块组成 .................................................. - 3 -3.2各模块说明 .................................................... - 3 -1)主控制器......................................................................................................................... - 3 - 2)显示驱动与显示电路........................................................................................................... - 4 - 3)测温模块............................................................................................................................... - 4 - 4)报警电路............................................................................................................................... - 4 - 5)复位电路............................................................................................................................... - 5 -四、软件设计.................................................................................................. - 5 -4.1程序结构 ...................................................... - 5 -4.2各模块说明及流程图 ............................................ - 6 -1)主程序流程图 ......................................................................................................................... - 6 -2)读出温度子程序流程图....................................................................................................... - 6 - 3)显示数据刷新子程序流程图............................................................................................... - 7 - 4)计算温度子程序流程........................................................................................................... - 7 - 5)温度转换命令子程序流程图............................................................................................... - 8 -4.3程序清单 ...................................................... - 8 -五、调试过程................................................................................................ - 13 -5.1调试方法与步骤 ............................................... - 13 -5.2调试结果 ..................................................... - 13 -六、附件........................................................................................................ - 14 -一、工作任务开发完成一个简易的数字式温度计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附件1:学号:0121218700312课程设计题目数字式温度计学院物流工程学院专业物流工程班级姓名指导教师2015年1月18日附件2:课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目: 数字式温度计设计初始条件:1、设计与仿真软件:Keil uVision 和Proteus要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.18B20 设计一款能够显示当前温度值的温度计;2. 切换按钮可以切换华氏度和摄氏度显示;3.其他功能时间安排:2015年1月4 - 5日选择题目,布置任务2015年1月6 - 8日功能分析,硬件设计及修改2015年1月9 -13日软件设计与编程2015年1月14-18日调试并修改硬件组成2015年1月19-20日编写任务说明书2015年1月21-22日确认提交版、答辩指导教师签名:年月日系主任(或责任教师)签名:年月日附件6:本科生课程设计成绩评定表指导教师签字:年月日目录1 设计任务 (2)2设计方案 (3)2.1 任务分析 (3)2.2 方案设计 (3)3系统硬件设计 (5)3.1时钟电路设计 (5)3.2复位电路设计 (5)3.3 1602控制电路 (5)3.4 DS18B20通信电路,开关电路设计 (6)3.5系统原理图 (7)4系统软件设计 (8)4.1 1ms定时 (8)4.2 DS18B20初始化程序 (8)4.3对DS1802写一个字节的数据 (8)4.4 1602的操作程序 (8)4.5温度测算及转换程序 (10)5仿真与性能分析 (11)5.1系统仿真过程 (11)5.2系统性能分析 (11)6.小结与展望 (13)参考文献 (14)附录1 元件清单 (15)附录2 系统程序 (16)数字式温度计的设计摘要温度是一种最基本的环境参数,人民的生活、生产与环境的温度息息相关。
在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置也有重要的意义。
本文将介绍智能集成温度传感器 DS18B20 的结构特征及控制方法,并以此为传感器 DS18B20 和 AT89C52 单片机为控制器构成的温度测量装置的工作原理做了详细的介绍。
该产品适用于人民的日常生活和工、农业生产,用于温度测量。
关键词AT89C52;DS18B20;LM016L;数字;温度计。
1设计任务1.1设计任务(1)用 DS18B20 设计一款能够显示当前温度值的温度计;(2)通过切换按钮可以切换华氏度和摄氏度显示;(3)其他功能(创新部分)设计例图如图1.1所示图1.1 设计例图1.2基本要求(1)用 DS18B20 设计一款能够显示当前温度值的温度计;(2)通过切换按钮可以切换华氏度和摄氏度显示;1.3拓展要求选作:实现测量多组的温度,都可以显示出来。
2设计方案2.1任务分析数字式温度传感器就是使用单片机来实现与 DS18B20 温度传感器的通信,实现温度计的功能。
温度由单片机计算出后,显示在 1602 液晶上,并且可以通过转换按钮实现显示华氏温度和摄氏温度的转换。
2.2方案设计2.2.1硬件方案根据设计的要求可知,系统的硬件原理框图如图 2.1 所示。
图2.1 硬件原理框图单片机选用AT89C51,设计时无需外接程序存储器,为设计和调试带来极大的方便。
DS18B20 与单片机的通信是通过1—wire 总线方式。
我将该通信线路与单片机P3.2口连接,从该口对D S18B20 进行读写操作。
另外,将一个按键开关与P3.7 口连接,进行摄氏华氏温度的换算。
2.2.2软件方案根据设计要求,程序框图如图 2.2 所示。
软件可由汇编语言完成,也可由 C 语言完成,我选择的C语言。
软件设计可以分为以下几个功能模块:(1)主程序:初始化及键盘。
(2)延时子程序:由_nop_()及 while 执行空循环来实现。
用于通信时序。
(3)LM160LCD液晶初始化及读写 RAM 子程序:初始化 1602 液晶,读写 1602RAM。
(4)18B20 初始化及读写 RAM 程序:初始化 18B20 以及读写 18B20 片内 RAM 的程序。
键盘扫描程序模块:扫描键盘有无按键按下。
判断键值图2.2 程序框图3.系统硬件设计3.1时钟电路设计如图3.1所示,采用内部时钟产生方式,在XTAL1和XTAL2两端跨接晶体或陶瓷振荡器,与内部反相器构成稳定的自击震荡。
其发出的时钟脉冲直接送入片内定时控制部件。
我采用的是12MHZ 的晶振。
图3.1单片机时钟电路3.2复位电路设计如图3.2所示,采用上电+按钮电平复位方式,当按下按钮时,RST 管脚高电平触发。
为保证复位可靠,RC 时间常数应大于两个机器周期,电容取30pF,电阻10k欧。
3.2单片机复位电路3.3 1602 控制电路如图3.3所示,通过上拉电阻使得单片机P0口具备I/O能力,P0与1602的数据端口依次连接。
RS、RW、EN分别连接单片机P1.0,P1.1,P1.2口。
上拉电阻1口为+5v。
图3.3控制电路3.4 DS18B20 通信电路,开关电路设计如图3.4所示,由DS18B20的数据通信端口与P3.2连接,开关电路与单片机P3.7口连接,按下开关即可将摄氏温度转化成华氏温度并显示在LCD上,保持闭合状态则可以实时显示华氏温度。
图3.4 DS18B20通信电路,开关电路电路3.5系统电路图如图3.5所示。
图3.5 系统电路图4系统软件设计4.1 1ms定时在这里我们并不需要太精确的定时,故我采用的是执行无实际意义的语句的方法定时。
采用了2层while语句,内层为执行while空循环110次,通过keil软件的调试可以发现,该空循环可延时约1ms,这样只用确定外层while执行的次数,就能实现大约毫秒级的延时。
4.2 1820初始化程序18b20的复位时序图如图4.1所示。
单片机io口必须要维持400~960us的低电平,以显示单片机现在接管总线,然后释放总线至少15us(即给单片机IO口给高电平),此后,18b20会拉低总线约200us,并释放总线,此时代表ds18b20复位成功。
按照对应时序用软件给单片机IO口赋值即可。
图4.1 18b20复位时序图4.3 对18B20 写一个字节数据18b20写操作时,先必须保证总线是高电平。
写 0 时,拉低总线至少 60us,ds18b20 会在15~60us 完成读入 0。
然后释放总线至少1us,完成一次写 1 操作。
写 1 时,也是先拉低总线,然后必须在 15us 之内拉高总线超过 60us,在 15us 之后 ds18b20会完成读入 1。
如此就完成了一次写 1 抄作。
将一字节数据的低位先写入,完成一次字节的写入。
读出时也是先读出的是低位数据。
4.4 1602的操作程1602操作指令如下:读状态:输入:RS=L,RW=H,E=H 输出:D0-D7=状态字写指令:输入:RS=L,RW=L,D0-D7=指令码,E=高脉冲输出:无读数据:输入:RS=H,RW=H,E=H 输出:D0-D7=数据写数据: 输入:RS=H,RW=L,D0-D7=数据,E=高脉冲输出:无这使得1602显示字符的程序流程图如图4.2所示。
图4.2 1602显示字符流程图先写指令 55H,判断 1602 是否忙。
写指令 38H 设置显示模式,写指令 06H,0CH 设置光标及数据地址指针移动方向。
总的方法就是,在数据地址指针指向的 RAM 内写字符的ASCII 码,该地址对应的 lcd 块就会显示相应的字符。
数据地址映射图如图 4.3。
图4.3 1602数字地址映射图4.5 温度测算及转换程序DS18B20 的在完成温度测量之后会发送11 位2 进制数,以表征温度的绝对值前5位为温度的符号位,见图4.4 所示。
图4.4 DS18B20温度输出软件的思路为,先将2个八位数据存在一个无符号整形的变量中,再将2个八位数据拼接在一起存放在一个有符号的16 位整形变量中。
然后将其后4 位分离出来,这是小数部分。
前12 位要判断最高5位是否为1。
若为1,代表为温度为负值,如此低7位就是反码,取反再加1 求得温度的绝对值;若为0,代表温度是正值,读出低7 位的值就是温度的绝对值。
如此一来就得出了摄氏温度值。
华氏温度摄氏温度转换关系式:华氏度 = 32 + 摄氏度×1.85仿真与性能分析5.1系统仿真过程1.利用p rotues 平台做仿真。
2.搭建如图5.1 所示电路,配置电源端子为设计值,运行。
3.通过图上每个I O 口的颜色(红色表示高电平,蓝色表示低电平)判断程序的执行是否符合预期。
4.调整D S18B20 上面的温度按钮,看看温度显示能否跟随D S18B20 处温度变化而变化。
图5.1 系统仿真图5.2系统性能分析当系统上电后,LCD大约1s后显示DS18B20所设温度,并保持恒定不会变化,如图5.2所示。
当按下切换按钮后,LCD上排即对此时温度进行换算,显示当前摄氏温度所对应的华氏温度。
调整DS18B20温度后,LCD温度随即更改,再次按下切换按钮,即可显示当前新温度所对应的华氏温度,如图5.3所示。
如果将切换按钮处于长期闭合状态,则可以同时显示摄氏温度及华氏温度,当调节DS18B20温度后,两排温度都会发生变化。
图5.2系统仿真结果图5.3系统仿真图6小结与展望这次单片机课程设计我受益良多,不仅学会了两款软件:Keil uVision 和Proteus的使用方法,也学习到了许多硬件电路设计的基本准则和软件编制的好习惯。
为了达到设计功能要求,我接触了自己以前从没接触过的DS18B20温度传感器和LCD1602液晶芯片,虽然在有限的设计时间内没有把这两个芯片的应用原理研究透彻,但可以实现基本的应用编程。
设计的这几天时间里,我阅读了单片机电路设计与仿真的相关资料,虽然是特别枯燥的,但收获到了新知识是值得高兴的,比如了解了温度传感器 DS18B20 的功能,如何编写单片机AT89C51的程序来实现数码管直接显示环境温度等等知识,与此同时还巩固了以前学过的知识。
最值得一说的收获我觉得还是通过课程设计我能利用硬件和软件的结合,完成一个产品的设计和制作!在这个课程设计完成的过程中,我感觉是对单片机课程的重温以及相关知识的拓展,让我知道如何有计划、有条理地去完成一项任务。
同时,让我觉得自己所掌握的只是其实是很少量的,完全谈不上专业人才。
这对自己大学有限的未来的发展是一个启发。
我做的这个温度传感器设计并不是最佳的,还有很多功能等待去完善和开发,比如如何提高温度测量的范围,如何设置温度警告等等。
参考文献:[1]李全利.单片机原理及接口技术[M].2版.北京:高等教育出版社,2009.[2]杨居义.单片机课程设计指导[M].北京:清华大学出版社,2009.[3]阎石.数字电子技术基础[M].3版.北京:电子工业出版社,2009.[4]马忠梅,刘滨.单片机C语言W indows 环境编程宝典[M].北京:北京航空航天大学出版社,2003.[5]欧阳文.ATMEL89系列单片机的原理与开发实践[M].北京:中国电力大学出版社,2006.[6]杨欣,王玉凤,刘湘黔,张延强.51单片机应用从零开始[M].北京:清华大学出版社,2008.附录1 元件清单如表1所示。