单片机的数字温度计设计方案(附代码及仿真)
- 格式:doc
- 大小:394.00 KB
- 文档页数:19
数字温度计(程序设计部分)摘要:本设计完成了一种基于DS18B20的高精度的数字温度计。
我们设计温度系统是由中央控制器AT89S51、DS18B20温度传感器、LED数码管组成。
温度传感器DS18B20高精度的数字温度信号送给单片机AT89S51处理后,实现将温度数据送LED显示,实现了高精度的数字温度显示。
关键词:温度计数字控制 DS18B20 AT89S51一系统方案设计1.1 方案设计由于本设计是测温电路,可以使用热敏电阻之类的器件将温度转换为电学量,便于电路处理。
而具体的处理方案和电路较多,一般来说,有下面两种情况。
方案一:利用热敏元件的感温效应,流过这类元件的电压或电流的随被测温度变化而变化,将这种变化的电压或电流采集过来,通过一系列的电路处理后,再进行A/D转换,就可以用单片机进行数据的处理并送显示电路,就可以将被测温度显示出来。
这种方案需要用到A/D转换电路,缺点是感温电路后的信号处理比较复杂和不易克服干扰,其优点是通过细致的电路处理后,能达到较高的精度。
方案二:采用集成的温度传感器,在这类器件中,已经集成了热敏器件、信号调理电路、AD 转换电路,输出的数据也是处理后的已经编码的数字量。
因而其外部电路简单,但其内部电路固定,所以其精度有限。
在单片机电路设计中,大多都是使用这类集成温度传感器,可以很容易直接读取被测温度对应的数据,进行适当的运算和处理,就可以满足设计要求。
1.2方案选择从以上两种方案,很容易看出其优缺点,本设计中的设计指标不是很高,为了可靠和降低成本,系统采用方案二进行设计,选择使用一只温度传感器DS18B20作为系统的核心器件。
同时,为了能够可靠的工作,能够使电路比较简单,软件设计也比较简单,故采用了AT89S52作为系统的控制芯片。
1.3 系统功能和模块的描述1.3.1 系统功能本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用。
单片机基于stm32的数字温度计设计
数字温度计是一种用于测量环境温度的设备。
在这个问题中,我们将使用基于STM32的单片机来设计一个数字温度计。
为了设计这个温度计,我们需要以下组件和步骤:
1. STM32单片机:STM32是一种基于ARM架构的单片机,它具有强大的计算能力和丰富的外设接口,适用于各种应用。
2. 温度传感器:我们需要选择一种适合的温度传感器,常用的有数字式温度传感器,如DS18B20。
3. 连接电路:将温度传感器连接到STM32单片机。
这通常需要使用一些电子元件,如电阻、电容和连接线等来建立电路连接。
4. 编程:使用适合STM32单片机的编程语言,如C语言,来编写程序。
程序将读取温度传感器的数据,并将其转换为数字值。
5. 温度显示:将温度数据显示在合适的显示设备上,如LCD显示屏或七段数码管。
可以使用STM32单片机的GPIO口控制这些显示设备。
6. 数据处理:可以对温度数据进行进一步处理,如计算平均温度、设定警报阈值等。
以上是一个基本的数字温度计设计的流程。
具体的实现细节和代码编写可能需要根据具体的硬件和软件平台进行调整。
基于单片机的数字温度计设计_课程设计(仿真+C程序))前言科技发展到今天,人们的生活中涌现出各种各样的科技产品,各种各样的电子产品更是花样百出、遍及人们生活中的每一部分,现在人们更是感觉到了科技给人们带来的巨大发展,科学技术作为第一生产力在人类社会的发展中起了很大的推动作用,人类从原始向先进的发展都伴随着科学的发展。
当今微型计算机技术发展形成两大分支,一是以微处理器(Micro Processor Unit)为核心所构成的通用微机系统,主要用于科学计算、数据处理、图形图像处理、数据库管理、人工智能、数字模拟与仿真等领域。
另一分支是为控制器( Micro Controller Unit),俗称单片机。
单片机主要用于工业测控,如家用电器、计算机外围设备、工业智能化仪表、机器人、生产过程的自动控制、农业、化工、军事、航空航天等领域。
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
单片机也被称为微控制器(Microcontroller Unit),常用英文字母的缩写MCU 表示单片机,它最早是被用在工业控制领域。
单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。
摘要:单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
附件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)数字式温度计的设计摘要温度是一种最基本的环境参数,人民的生活、生产与环境的温度息息相关。
在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置也有重要的意义。
基于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端有控制程序,用户程序代码可下载到单片机部门,无需购买通用编程器,速度更快。
DS18B20获取温度程序流程图DS18B20的读字节,写字节,获取温度的程序流程图如图所示结束DS18B20初始化程序流程图写0x44启动DS18B20延时500 s_____ 、一DS18B20 初始化写0xcc跳过读RCMDS18B20获取温度程序流程图DS18B20读字节程序流程图图3-4 DS18B20程序流程图DS18B20写字节程序流程图显示程序设计显示电路是由四位一体的数码管来实现的。
由于单片机的I/O 口有限,所以数码管采用动态扫描的方式来进行显示。
程序流程图如图所示。
图显示程序流程图按键程序设计按键是用来设定上下限报警温度的。
具体的程序流程图如图所示N附 1 源程序代码******************************************************************* 程序名 ; 基于 DS18B20 的测温系统* 功 能: 实时测量温度,超过上下限报警,报警温度可手动调整。
K1 是用来 * 进入上下限调节模式的,当按一下 K1 进入上限调节模式,再按一下进入下限 * 调节模式。
在正常模式下,按一下K2 进入查看上限温度模式,显示 1s 左右自动* 退出;按一下 K3 进入查看下限温度模式,显示 1s 左右自动退出;按一下 K4 消除 * 按键音,再按一下启动按键音。
在调节上下限温度模式下, K2 是实现加 1 功能, * K1 是实现减 1 功能, K3 是用来设定上下限温度正负的。
* 编程者: ZPZ * 编程时间: 2009/10/2*******************************************************************bit s=0;〃s 是调整上下限温度时温度闪烁的标志位, s=0不显示200ms , s=1 显示 1s 左右bit s1=0; void display1(uint z); #include"ds18b20.h" //s1 标志位用于上下限查看时的显示//声明 display1 ()函数//将 ds18b20.h 头文件包含到主程序#include"keyscan.h" #include"display.h"/***********************//将 keyscan.h 头文件包含到主程序 //将 display.h 头文件包含到主程序 主函数 ************************/#include<AT89X52.h> #include<intrins.h>// 将 AT89X52.h 头文件包含到主程序 //将 intrins.h 头文件包含到主程序(调用其中的 函数延时)_nop_() 空操作#define uint unsigned int #define uchar unsigned char uchar max=0x00,min=0x00;//变量类型宏定义,用 //变量类型宏定义,用//max 是上限报警温度, uint 表示无符号整形( 16 位) uchar 表示无符号字符型( 8 位)min 是下限报警温度void main(){beer=1;led=1; timer1_init(0); get_temperature(1);while(1){keyscan();get_temperature(0);//获取温度函数//关闭蜂鸣器// 关闭LED 灯//初始化定时器1(未启动定时器1)// 首次启动DS18B20 获取温度(DS18B20 上点后自动将EEPROM 中的上下限温度复制到TH 和TL 寄存器)//主循环//按键扫描函数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'关闭报警 ) 。
基于数字温度传感器的数字温度计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初始化程序,数码显示程序,延时子程序。
51单片机数字温度计设计与实现温度计是一种常见的电子测量设备,用于测量环境或物体的温度。
而数字温度计基于单片机的设计与实现,能够更准确地测量温度并提供数字化的显示,具备更多功能。
一、设计原理数字温度计的设计原理基于温度传感器和单片机。
温度传感器用于感测温度,而单片机负责将传感器读取的模拟信号转化为数字信号,并进行温度计算及显示。
二、所需材料1. 51单片机2. 温度传感器(例如DS18B20)3. 数码管或液晶显示屏4. 连接线5. 电源电路电容、电阻等元件三、设计步骤1. 连接电路:按照电路原理图将51单片机、温度传感器和显示器等元件进行连接。
注意正确连接引脚,以及电源电路的设计和连接。
2. 编写程序:利用汇编语言或C语言编写51单片机的程序,实现温度读取、计算和显示功能。
3. 温度传感器设置:根据温度传感器的型号和数据手册,配置单片机相应的输入输出口、温度转换方式等参数。
4. 读取温度:通过单片机对温度传感器进行读取,获取传感器采集的温度数据。
5. 温度计算:根据传感器输出的数据和转换方法,进行温度计算,得到更准确的温度数值。
6. 数字显示:将计算得到的温度数值通过数码管或液晶显示屏进行数字显示。
可以选择合适的显示格式和单位。
7. 添加附加功能:可以根据实际需求,增加其他功能,如报警功能、数据记录、温度曲线显示等。
8. 系统测试与优化:将设计的数字温度计进行系统测试,确保其正常运行和准确显示温度。
根据测试结果进行可能的优化或改进。
四、注意事项1. 连接线应牢固可靠,避免出现松动或接触不良的情况。
2. 选择合适的温度传感器,并正确设置传感器的相关参数。
3. 程序设计时应注意算法的准确性和优化性,以确保测量的准确性和实时性。
4. 温度传感器的安装和环境选择也会影响温度计的准确性,应避免与外部环境干扰和热源过近的情况。
五、应用领域1. 家庭和工业温度监测:数字温度计可以广泛应用于室内、室外温度监测,工业生产中的温度控制等。
一.设计目的
1.理解掌握MCS-51系列单片机的功能和实际应用。
2.掌握仿真开发软件的使用。
3.掌握数字式温度计电路的设计、组装与调试方法。
二.设计要求
1.以MCS-51系列单片机为核心器件,组成一个数字式温度计。
2.采用数字式温度传感器为检测器件,进行单点温度检测,检测精度为0.4 C
3.温度显示采用4位LED数码管显示,三位整数,一位小数。
三.设计思路
1.根据设计要求,选择AT89C52单片机为核心器件。
2.温度检测器件采用DS18B20数字式温度传感器。
与单片机的接口为
P3.6引脚。
硬件电路设计总体框图为图4.1:
四、系统的硬件构成及功能
1.主控制器
图5.1
2.显示电路
显示电路采用四位共阳LED数码管,从P3口RXD,TXD串口输出段码。
LED数码管在仿真软件中如图5.2
图5.2
3.温度传感器
图5.3. 五.系统整体硬件电路
六.技术难点
1.程序设计
2.电路设计
3.电路焊接
4.硬件调试。
基于STC89C52的数字温度计目录1、方案选择1.1、主控芯片选择 (2)1.2、显示模块 (2)1.3、温度检测模块 (2)2、系统硬件设计2.1、51单片机最小系统设计 (2)2.2、温度检测电路设计 (2)3、系统软件设计3.1、LED显示电路设计 (2)3.2、温度检测电路设计 (2)3.3、仿真界面 (3)4、实训与焊接过程4.1、焊接与调试 (4)4.2、焊接实物图 (4)6、总结 (4)7、附录附录1、原理图 (5)附录2、程序清单………………………………………….5~91、系统方案选择1.1 主控芯片选择STC89C52RC是采用8051核的ISP在线可编程芯片,最高工作时钟频率80MHz,片内含8KB的可反复擦写1000次的Flash只读存储器,器件兼容MCS-51指令系统及8051引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在线可编程特定,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。
STC89C52RC系列单片机是单时钟周期、高速、低功耗的新一代8051单片机。
1.2 时钟及显示模块数码管亮度高,显示大,特别是显示的温度很直观,价格比较便宜。
1.3 温度检测模块DS18B20数字温度传感器是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。
因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
它在实际应用中不需要外部任何元器件即可实现测温,测量温度范围在-55到+125摄氏度之间。
2、系统硬件设计2.1 51单片机最小系统设计以STC89C52单片机为核心,选用12M的晶振,这是最常用的选择,外接电容没有特别的要求,但是外接电容的大小会影响振荡器的频率高低、振荡器的稳定性和起振的快速性,因此我们选用30pf的电容作为起振电容。
复位电路为按键低电平复位,当按键按下,RET端为高电平,当高电平持续4us的时间就可以使单片机复位。
基于单片机的数字温度计设计1引言随着现代信息技术的飞速发展和传统工业改造的逐步实现.能够独立工作的温度检测和显示系统应用于诸多领域。
传统的温度检测以热敏电阻为温度敏感元件。
热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。
与传统的温度计相比,这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。
选用AT89C51型单片机作为主控制器件,DSl8B20作为测温传感器通过4位共阳极LED数码管串口传送数据,实现温度显示。
通过DSl8B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在0℃~100℃最大线性偏差小于0.1℃。
该器件可直接向单片机传输数字信号,便于单片机处理及控制。
另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。
2 系统硬件设计方案根据系统功能要求,构造图1所示的系统原理结构框图。
图1 系统原理结构框图2.1单片机的选择AT89C51作为温度测试系统设计的核心器件。
该器件是INTEL公司生产的MCS一5l系列单片机中的基础产品,采用了可靠的CMOS工艺制造技术,具有高性能的8位单片机,属于标准的MCS—51的CMOS产品。
不仅结合了HMOS的高速和高密度技术及CHMOS 的低功耗特征,而且继承和扩展了MCS —48单片机的体系结构和指令系统。
单片机小系统的电路图如图2所示。
图2 单片机小系统电路AT89C51单片机的主要特性:(1)与MCS-51 兼容,4K 字节可编程闪烁存储器;(2)灵活的在线系统编程,掉电标识和快速编程特性;(3)寿命为1000次写/擦周期,数据保留时间可10年以上;(4)全静态工作模式:0Hz-33Hz ;(5)三级程序存储器锁定;(6)128*8位内部RAM ,32可编程I/O 线;(7)两个16位定时器/计数器,6个中断源;(8)全双工串行UART 通道,低功耗的闲置和掉电模式;(9)看门狗(WDT )及双数据指针;(9)片内振荡器和时钟电路;2.2 温度传感器介绍DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C 。
附件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)数字式温度计的设计摘要温度是一种最基本的环境参数,人民的生活、生产与环境的温度息息相关。
在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置也有重要的意义。
基于51单片机的数字温度计设计数字温度计是一种广泛使用的电子测量设备,通过传感器将温度转化为数字信号,并显示出来。
本文将介绍基于51单片机的数字温度计的设计。
该设计将使得使用者能够准确、方便地测量温度,并实时显示在液晶显示屏上。
1. 硬件设计:- 传感器选择:在设计数字温度计时,我们可以选择使用NTC(负温度系数)热敏电阻或者DS18B20数字温度传感器作为温度传感器。
这里我们选择DS18B20。
- 信号转换:DS18B20传感器是一种数字传感器,需要通过单总线协议与51单片机进行通信。
因此,我们需要使用DS18B20专用的驱动电路,将模拟信号转换为数字信号。
- 51单片机的选择:根据设计要求选择合适的51单片机,如STC89C52、AT89S52等型号。
单片机应具备足够的IO口来与传感器和液晶显示屏进行通信,并具备足够的计算和存储能力。
- 显示屏选择:为了实时显示温度,我们可以选择使用1602型字符液晶显示屏。
该显示屏能够显示2行16个字符,足够满足我们的需求。
通过与51单片机的IO口连接,我们可以将温度数据显示在屏幕上。
2. 软件设计:- 采集温度数据:通过51单片机与DS18B20传感器进行通信,采集传感器传输的数字温度数据。
通过解析传感器发送的数据,我们可以获得当前的温度数值。
- 数据处理:获得温度数据后,我们需要对其进行处理。
例如,可以进行单位转换,从摄氏度到华氏度或者开尔文度。
同时,根据用户需求,我们还可以对数据进行滤波、校准等处理。
- 显示数据:通过与液晶显示屏的连接,我们可以将温度数据显示在屏幕上。
可以使用51单片机内部的LCD模块库来控制液晶显示屏,显示温度数据以及相应的单位信息。
- 用户交互:可以设置一些按键,通过与51单片机的IO口连接,来实现用户与数字温度计的交互。
例如,可以设置一个按钮来进行温度单位的切换,或者设置一个按钮来启动数据保存等功能。
3. 功能拓展:- 数据存储:除了实时显示当前温度,我们还可以考虑增加数据存储功能。
基于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。
微机原理课程设计报告温度计姓名:WW学号:班级:电气1005学院:电气工程学院合作者:WY上课教师:杨少兵指导老师:***时间:2013年3月20日微机原理课程设计成绩评定表指导教师签字:2013年 3 月20 日微机原理课程设计任务书学生姓名:指导教师:王健强一、课程设计题目:数字温度计选用温度传感器AD590实现温度采集、摄氏温度显示,温度精度达到0.1度,测量范围零下10度到零上100度。
二、课程设计要求1. 根据具体设计课题的技术指标和给定条件,独立进行方案论证和电路设计,要求概念清楚、方案合理、方法正确、步骤完整;2. 查阅有关参考资料和手册,并能正确选择有关元器件和参数,对设计方案进行仿真;3. 完成预习报告,报告中要有设计方案,设计电路图,还要有仿真结果;4. 进实验室进行编程和电路调试,边调试边修正方案;5. 撰写课程设计报告——最终的电路图、调试过程中遇到的问题和解决问题的方法。
三、进度安排1.时间安排序号内容学时安排(天)1 方案论证和系统设计 12 完成电路仿真,写预习报告 13 电路调试 24 写设计总结报告与答辩 1合计 5设计调试地点:电气楼4062.执行要求课程设计共多个选题,每组不得超过2人,要求学生在教师的指导下,独力完成所设计的详细电路(包括计算和器件选型)。
严禁抄袭,严禁两篇设计报告雷同。
摘要随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。
本文主要介绍了一个基于STC89C52单片机的测温系统,详细描述了利用温度传感器AD590开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示。
它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。
基于51单片机数字温度计的设计与实现数字温度计是一种能够测量环境温度并显示数值的设备。
基于51单片机的数字温度计设计与实现是指利用51单片机作为核心,结合温度传感器和其他辅助电路,实现一个能够测量温度并通过数码管显示温度数值的系统。
本文将从硬件设计和软件实现两个方面介绍基于51单片机数字温度计的具体设计与实现过程。
一、硬件设计1. 温度传感器选取在设计数字温度计时,首先需要选取合适的温度传感器。
市面上常用的温度传感器有热敏电阻、功率型温度传感器(如PT100)、数字温度传感器(如DS18B20)等。
根据设计需求和成本考虑,我们选择使用DS18B20数字温度传感器。
2. 电路设计基于51单片机的数字温度计的电路设计主要包括单片机与温度传感器的连接、数码管显示电路和电源电路。
(1)单片机与温度传感器的连接在电路中将51单片机与DS18B20数字温度传感器相连接,可采用一线总线的方式。
通过引脚的连接,实现单片机对温度传感器的读取控制。
(2)数码管显示电路为了能够显示温度数值,我们需要设计一个数码管显示电路。
根据温度传感器测得的温度值,通过数字转换和数码管驱动,将温度数值显示在数码管上。
(3)电源电路电源电路采用稳压电源设计,保证整个系统的稳定供电。
根据实际需求选择合适的电源电压,并添加滤波电容和稳压芯片,以稳定电源输出。
3. PCB设计根据电路设计的原理图,进行PCB设计。
根据电路元件的布局和连线的走向,绘制PCB板的线路、元件和连接之间。
二、软件实现1. 单片机的编程语言选择对于基于51单片机的数字温度计的软件实现,我们可以选择汇编语言或者C语言进行编程。
汇编语言的效率高,但编写难度大;C语言的可读性好,开发效率高。
根据实际情况,我们选择使用C语言进行编程。
2. 温度传感器数据获取利用单片机的IO口与温度传感器相连,通过一线总线协议进行数据的读取。
根据温度传感器的通信规则,编写相应的代码实现数据的读取。
数字温度计单片机总体设计方案1. 引言数字温度计是一种使用单片机进行温度测量和显示的设备。
它通过传感器测量环境温度,并将数据转换成数字信号进行处理,最后在数码管上显示温度值。
本文将详细介绍数字温度计的总体设计方案。
2. 硬件设计2.1 单片机选择在设计数字温度计时,我们需要选择一款适合的单片机作为主控芯片。
根据要求,单片机应具备较高的计算能力和外围接口数量。
此外,选用的单片机应具备模拟转换功能,以便测量模拟传感器输出的电压值。
根据以上需求,我们选择了XX 系列单片机作为主控芯片。
2.2 温度传感器选择温度传感器是数字温度计的核心部件,它负责将环境温度转换成电压信号。
在本设计中,我们选择了RTD(Resistance Temperature Detector)温度传感器。
RTD传感器具有较高的精度和稳定性,适合精确测量温度。
2.3 数码管显示为了实现温度值的直观显示,我们选择了数码管作为温度计的显示装置。
数码管可以通过数码管驱动芯片进行控制,以实现数字的显示。
2.4 电源电路设计电源电路设计是数字温度计设计中的重要环节。
在设计中,我们需要保证稳定的电源供应,并对单片机和其他模块进行合理的电源分配。
3. 软件设计3.1 程序结构数字温度计的软件设计主要包括初始化设置、温度读取、温度转换以及数码管显示等功能。
可以采用模块化设计的方式,将各个功能模块分开编写,以提高代码的可读性和维护性。
3.2 温度读取和转换算法温度读取和转换是数字温度计的核心功能之一。
在程序中,我们可以使用单片机的模拟转换功能,读取RTD传感器输出的电压值,并将其转换成温度值。
3.3 数码管显示控制数码管显示控制是数字温度计的另一个重要功能。
在程序中,我们可以使用数码管驱动芯片的引脚控制功能,实现对数码管的控制。
通过将温度值拆分成个位数、十位数和百位数,然后依次在数码管上显示,实现温度值的显示功能。
4. 总结本文介绍了数字温度计的总体设计方案。
基于51单片机数字温度计设计与实现数字温度计是一种常见的电子仪器,用于测量和显示温度。
本文将介绍如何基于51单片机设计和实现一个数字温度计。
首先,我们需要了解51单片机的基本原理和工作方式。
51单片机是一款广泛应用于嵌入式系统中的微控制器,具有低成本、易编程、可扩展等特点。
它由中央处理器、存储器、输入输出端口和定时器等组成,可以实现各种功能。
接下来,我们可以开始设计数字温度计的硬件部分。
首先,我们需要一个温度传感器,如DS18B20数字温度传感器。
该传感器具有高精度和数字输出的特点,可以直接与51单片机进行通信。
然后,将传感器与51单片机的引脚相连,通过读取传感器输出的温度值,即可得到实时的温度数据。
为了方便用户查看温度,我们可以通过数码管或LCD显示屏显示温度值。
数码管是一种7段显示器件,可以显示数字0-9的字符。
我们可以通过将温度值拆分成各个位数,然后将对应的数字发送到数码管上,实现温度的显示。
此外,我们还可以为温度计添加一些附加功能。
例如,可以通过按键切换温度的单位,从摄氏度切换到华氏度。
还可以设置温度报警功能,当温度超过一定阈值时,触发蜂鸣器或LED灯进行报警。
在软件设计方面,我们需要编写51单片机的固件程序来实现温度计的功能。
首先,我们需要初始化51单片机的引脚和定时器。
然后,可以设置一个定时器中断,用于定时读取温度传感器的数值。
在定时器中断的处理函数中,读取温度传感器的数值,并将其转换为摄氏度或华氏度,然后发送到数码管或LCD显示屏上。
此外,我们还可以添加一些交互功能,例如按键实现温度单位切换或报警阈值的设置功能。
通过按键检测的方式,可以在主循环中判断按键的按下和释放,并根据按键的状态进行相应的操作。
最后,我们需要将编写好的固件程序下载到51单片机的存储器中。
可以使用ISP编程器或者串口下载方式进行下载。
下载完成后,将51单片机与硬件连接好,就可以通过操作按键和观察数码管或LCD显示屏来实现数字温度计的功能了。
单片机的数字温度计设计方案(附代码及仿真)基于STC89C52的数字温度计目录1、绪论………………………………………………………………… (3)2、方案选择2.1、主控芯片选择 (3)2.2、显示模块 (3)2.3、温度检测模块 (4)3、系统硬件设计3.1、51单片机最小系统设计 (4)3.2、电源供电电路设计 (5)3.3、LCD显示电路设计 (6)3.4、温度检测电路设计 (7)4、系统软件设计4.1、温度传感器数据读取流程图 (9)4.2、系统程序设计 (10)5、编程和仿真5.1、Keil编程软件 (1)15.2、proteus (11)5.3、仿真界面 (11)6、总结..................................................................................... .. (12)7、附录附录1、原理图………………………………………………………………………….12附录2、程序清单 (13)1、绪论在信息高速发展的21世纪,科学技术的发展日新月异,科技的进步带动了测量技术的发展,现代控制设备的性能和结构发生了翻天覆地的变化。
我们已经进入了高速发展的信息时代,测量技术也成为当今科技的一个主流,广泛地深入到研究和应用工程的各个领域。
温度和人们的生活息息相关,温度的测量也就变得很重要。
2、系统方案选择2.1 主控芯片选择方案一:STC89C52RCSTC89C52RC是采用8051核的ISP在线可编程芯片,最高工作时钟频率80MHz,片内含8KB的可反复擦写1000次的Flash只读存储器,器件兼容MCS-51指令系统及8051引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在线可编程特定,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。
STC89C52RC系列单片机是单时钟周期、高速、低功耗的新一代8051单片机。
方案二:ATmega8ATmega8是ATMAL公司在2002年第一季度推出的一款新型AVR高档单片机。
在AVR家族中,ATmega8是一种非常特殊的单片机,它的芯片内部集成了较大容量的存储器和丰富强大的硬件接口电路,具备AVR高档单片机MEGA系列的全部性能和特点。
但由于采用了小引脚封装<为DIP28和TQFP/MLF32),所以其价格仅与低档单片机相当,再加上AVR单片机的系统内可编程特性,使得无需购买昂贵的仿真器和编程器也可进行单片机嵌入式系统的设计和开发,同时也为单片机的初学者提供了非常方便和简捷的开发环境。
由以上两种方案进行比较,我们选择STC89C52RC作为主控芯片,因为该芯片是入门级单片机,我们对该款单片机比较熟悉,而AVR单片机较为高端,这次的设计用STC89C52已经足够使用,引脚也够用,故用STC89C52作为主控芯片。
STC89C52RC价格低廉,一般5元以内可以买到,在通银买也很方便。
2.2 时钟及显示模块方案一:数码管数码管亮度高,显示大,特别是显示的时间很直观,价格比较便宜,但多位的数码管在动态扫描的时候会出现闪烁。
而且数码管占用的位置较大,且比较耗电。
方案二: 1602液晶屏1602液晶屏显示清晰且不会闪烁,在需要时还可以输出字符等内容,由于液晶屏是数字式的,因此和单片机系统的接口简单,操作方便。
1602LCD液晶显示屏的功耗主要消耗在其内部的电极和驱动IC 上,因而耗电量比其他显示器要少得多,功耗较低。
由于其内部集成有显示芯片,程序编写简单,适用于多方面的应用。
因此由以上两种方案进行比较,我们选择方案二来设计显示模块。
1602液晶显示屏网上可购买的途径较多,价格一般在10元以内,重庆育森电子网店价格为8.5元。
通银那也有,不过可能价格要15元左右。
2.3 温度检测模块方案一:热敏电阻+AD模块本方案使用热敏电阻之类的器件<如AD590等模拟温度传感器)利用其感温效应,在将随被测温度变化的电压或电流采集出来,进行A/D转换后,就可以利用单片机进行数据的处理,在显示电路上可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
方案二:DS18B20DS18B20数字温度传感器是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。
因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
它在实际应用中不需要外部任何元器件即可实现测温,测量温度范围在-55到+125摄氏度之间,由以上两种方案进行比较,我们选择方案二来设计温度检测模块。
其中DS18B20网上报价约为5元,其中,重庆育森电子的网店较为便宜,为4.5元。
通银也有卖,价格稍微高点。
3、系统硬件设计3.1 51单片机最小系统设计单片机最小系统如下图所示:以STC89C52单片机为核心,选用12M的晶振,这是最常用的选择,外接电容没有特别的要求,但是外接电容的大小会影响振荡器的频率高低、振荡器的稳定性和起振的快速性,因此我们选用30pf的电容作为起振电容。
复位电路为按键低电平复位,当按键按下,RET端为高电平,当高电平持续4us的时间就可以使单片机复位。
这里尤其要注意的是晶振和电容的位置,它们距离单片机引脚越短越好,因为太长可能无法使单片机起振。
另外是EA端一定要接上电源,使单片机能够工作。
3.2 电源供电电路设计电源供电电路如下图所示:我们采用4节1.5V的电池作为电源,LM2940为稳压芯片,稳压芯片两端分别接两个0.1uf和100uf的电容进行滤波,以获得更稳定的电压。
D1为电源指示灯,当开关打开,显示灯亮,表示给电路供+5V电压。
其中,LM2940作为常用的稳压芯片,比7805的转换效率要高,7805直接输入不接输出的情况下,其内部会有3mA的静态电流消耗,而2940的静态电流比7805要小的多,故选择LM2940作为稳压芯片。
4节电池装在电池盒中,在电路板下方安装,使用两套螺丝。
3.3 LCD显示电路设计1602LCD液晶屏显示电路如下图所示:1602LCD液晶屏为5V电压驱动,带背光,可显示两行,每行16个字符,不能显示汉字。
液晶1、2端为电源;15、16为背光电源;为防止直接加5V而烧坏背光灯,在15脚串联一个1K电阻晶3端为液晶对比度调节端,通过一个10K的电位器来调节液晶显示对比度。
用于限流。
液液晶4端为向液晶控制器写数据/写命令选择端,接单片机P1.0端口。
液晶5端为读/写选择端,因为我们不需要从液晶中读取数据,只向其写入命令和数据,因此此端始终选择为写状态,即低电平接地。
液晶6端为使能信号,是操作必须的信号,接单片机的P1.1口。
3.4 温度检测电路设计温度检测电路如下图所示:DS18B20是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
DS18B20的性能特点如下:•独特的单线接口仅需一个端口引脚进行通讯•简单的多点分布应用•无需外部器件•可通过数据线供电•零待机功耗•测温范围-55~+125℃,以0.5℃递增。
华氏器件-67~+2570F,以0.90F 递•温度以9 位数字量读出•温度数字量转换时间200ms<典型值)•用户可定义的非易失性温度报警设置•报警搜索命令识别并标志超过程序限定温度<温度报警条件)的器件。
DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列、各种封装形式如图3.3.1所示,DQ 为数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。
当工作于寄生电源时,此引脚必须接地。
其电路图如图5.3.1所示.。
图5.3.1外部封装形式在仿真软件中如图5.3.2所示图5.3.2DS18B20的测温原理如图5.3.3所示,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 ℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 ℃所对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温图5.3.3中的斜率累加器用于补偿和修正测温过程中的非线性其输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。
另外,由于DS18B20单线通信功能是分时完成的,有严格的时隙概念,因此读写时序很重要。
系统对DS18B20的各种操作必须按协议进行。
操作协议为:初始化DS18B20<发复位脉冲)→发ROM 功能命令→发存储器操作命令→处理数据。
预置低温度系数振荡器高温度系数振荡器斜率增加器计数器 1比较预置= 0温度寄存器计数器 2= 0T x加 1停止τ1τ2图5.3.3在正常测温情况下,DS1820的测温分辨力为0.5℃。
4、系统软件设计4.1:实验主程序流程图4.2:温度传感器数据读取流程图5、编程和仿真5.1 编程软件Keil4Keil C51是美国Keil software 公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境<uVision)将这些部分组合在一起。
运行Keil需要win98、NT、win2000、winXP、win7等操作系统。
2009年2月发布的Keil uVision4,Keil uVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方,新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁、高效的环境来开发应用程序。