基于单片机的数字温度计课程设计(硬件).doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
摘要 本设计以STC89S51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温 度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件 部分,包括:温度检测电路、温度控制电路。单片机通过对信号进行相应处理,从而实 现温度控制的目的。文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模 块有:数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、led控制程序。 关键词:STC89S51;单片机;DS18B20;温度芯片;LED 目录 引言 1 1.设计概述 2 1.1 设计目标和要求 2 1.2 设计思路 2 2.系统方案及硬件设计 3 2.1 设计方案 3 2.2 方案的硬件总体方框图 3 2.3 温度传感器DS18B20测温原理 4 2.4 硬件设计 9 2.4.1主控制器电路 9 2.4.2复位电路 10 2.4.3时钟振荡电路 10 2.4.4正相驱动电路 11 2.4.5反相驱动电路 11 2.4.6显示电路 12 2.5 软件设计 12 3.系统原理图 14 4.proteus软件仿真结果 15 4.1系统仿真设计 15 4.2仿真结果分析 15 5.结论 16 6.参考文献 17 引言 单片机以其体积小、功能完善、抗干扰能力强、价格低廉等优点而被广泛应用于工 业控制、可编程序控制器、通信、家电等领域。89C51系列单片机经过多年的发展,在性 能、指令功能、运算速度、控制能力等方面都有很大的提高,已被越来越多的科学工作 者所关注。 目前,大学院校相关电子、机电、自动化、计算机等专业都在开设这门课程。单片 机课程设计是学生加深理论知识理解、提高实际设计能力的重要环节,从设计电路板, 到程序编制与调试,最后完成一个单片机系统的设计,可以使学生体验到成功的快乐。 Proteus虚拟单片机仿真软件可以成功地进行绝大部分的单片机硬件仿真,轻松实现程序 功能的展示。 1.设计概述 1.1 设计目标和要求 1.用所学的单片机知识设计制作数字温度计; 2.测温范围是-50 ---100 ; 3.误差小于0.5 ; 4.所测的温度值可以由LCD数码管直接显示; 5.进一步熟悉proteus,protel,word软件的功能和使用方法; 1.2 设计思路 首先确定我们所设计的是一个数字温度计,由单片机、温度传感器以及其他电路共同实 现。 根据所要实现的功能,先在proteus软件上仿真。根据所选用的硬件可以将整个软件设计 分为若干子程序,有初始化、查询时间、发送指令、读取数据、显示温度等构成,可将 以上子程序分别设计,实现各自的功能,再在子程序中调用,就可以实现预期的目标。 在proteus软件里画出相应的电路图,将编写好的程序的编译后的文件下载到proteus电 路图的单片机里,进行仿真,对温度传感器设置不同的参数,看是否达到了我们设计所 要求的目标,如果不符合要求,需要检查程序算法和硬件连接是否有误。若仿真成功, 就按照电路图焊接硬件。 2.系统方案及硬件设计 2.1 设计方案 采用数字温度芯片DS18B20测量温度,输出信号全数字化。采用了单总线的数据传输,由 数字温度计DS18B20和AT89C51单片机构成的温度测量装置,它直接输出温度的数字信号, 也可直接与计算机连接。采用AT89C51单片机控制,软件编程的自由度大,可通过编程实 现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。该系统利 用AT89C51芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环 境温度,并可以根据需要设定上下限温度。该系统扩展性非常强。该测温系统电路简单 、精确度较高、实现方便、软件设计也比较简单。 2.2 方案的硬件总体方框图 基于增强的AVR RISC结构的低功耗8位CMOS微控制器AT89C51,温度传感器采用的DS18B20,用四位数码管 显示温度。 图2.2.1 硬件总体方框图 2.3 温度传感器DS18B20测温原理 DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器 ,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通 过简单的编程实现9-12位的数字值读数方式。 DS18B20的性能特点如下: (1)独特的单线接口仅需要一个端口引脚进行通信,DS18B20在与微处理器连接时仅需 要一条口线即可实现微处理器与DS18B20的双向通讯。 (2)DS18B20支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点组网 测温; (3)无须外部器件,全部传感元件及转换电路集成在形如一只三极管的集成电路内; (4)可通过数据线供电,电压范围为3.0-5.5V; (5)零 【基于单片机的数字温度计课程设计】的实现涉及到了多个关键知识点: 1. **STC89S51单片机**:这是一种8位的微控制器,具有丰富的I/O资源,内置闪存和定时器,常用于嵌入式系统设计。在本设计中,它是整个温度控制系统的中枢,负责接收、处理和控制温度信号。 2. **DS18B20温度传感器**:这款传感器是数字式的,可以直接输出温度的数字信号,无需额外的ADC(模拟数字转换器)。其工作原理是利用热电效应,将温度变化转化为电信号,通过单总线协议与单片机通信,简化了硬件设计。 3. **单总线通信**:DS18B20支持的这种通信方式只需要一根数据线即可实现数据的双向传输,大大减少了所需的硬件资源,同时也使得多传感器网络的构建更为简便。 4. **温度检测电路**:这部分电路包括DS18B20,它能够实时监测环境温度,并将其转化为数字信号。 5. **温度控制电路**:这个部分涉及如何根据单片机接收到的温度信号来调节或显示温度。在本设计中,可能包括比较器、加热/冷却元件(如果存在控制功能的话)或者仅仅是数据显示电路。 6. **硬件设计**: - **主控制器电路**:包括STC89S51的电源、复位和时钟电路,确保单片机正常工作。 - **复位电路**:提供可靠的系统复位,确保程序的稳定运行。 - **时钟振荡电路**:为单片机提供精确的时钟信号,用于执行指令和定时操作。 - **驱动电路**:包括正相驱动和反相驱动,用于驱动数码管或LED显示设备,确保信号的正确传输。 - **显示电路**:通常由数码管或LCD组成,用于直观地显示当前的温度值。 7. **软件设计**:采用模块化结构,包括: - **数码管显示程序**:处理温度值的显示逻辑,将数字信号转化为可视化的温度值。 - **键盘扫描及按键处理程序**:用于接收用户的输入,可能包括设定温度范围或查看历史记录等功能。 - **温度信号处理程序**:解析DS18B20提供的数字温度信号,进行误差校正等处理。 - **LED控制程序**:如果设计中包含LED,这个程序会控制LED的状态,如指示温度状态或报警等。 8. **Proteus软件仿真**:这是一种常用的电子设计自动化工具,可以进行单片机的硬件仿真,帮助开发者在实际硬件制作之前验证设计的正确性。 9. **课程设计流程**:从设计概念到硬件电路再到软件编程,整个过程涵盖了单片机系统设计的基本步骤,包括电路板设计、程序编写、仿真测试和实物制作。 通过这样的课程设计,学生不仅能掌握单片机系统的基础知识,还能提升实际动手能力和问题解决能力,同时对相关软件的使用也有了深入的理解。
剩余19页未读,继续阅读
- 2201_758495242023-07-02资源不错,内容挺好的,有一定的使用价值,值得借鉴,感谢分享。
- 粉丝: 192
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- bdwptqmxgj11.zip
- onnxruntime-win-x86
- onnxruntime-win-x64-gpu-1.20.1.zip
- vs2019 c++20 语法规范 头文件 <ratio> 的源码阅读与注释,处理分数的存储,加减乘除,以及大小比较等运算
- 首次尝试使用 Win,DirectX C++ 中的形状渲染套件.zip
- 预乘混合模式是一种用途广泛的三合一混合模式 它已经存在很长时间了,但似乎每隔几年就会被重新发现 该项目包括使用预乘 alpha 的描述,示例和工具 .zip
- 项目描述 DirectX 引擎支持版本 9、10、11 库 Microsoft SDK 功能相机视图、照明、加载网格、动画、蒙皮、层次结构界面、动画控制器、网格容器、碰撞系统 .zip
- 项目 wiki 文档中使用的代码教程的源代码库.zip
- 面向对象的通用GUI框架.zip
- 基于Java语言的PlayerBase游戏角色设计源码