基于STC89S51的双路DS18B20温度显示系统设计

版权申诉
5星 · 超过95%的资源 2 下载量 115 浏览量 更新于2024-10-31 收藏 128KB ZIP 举报
资源摘要信息:"本资源是一份关于STC89S51单片机与双路DS18B20温度传感器以及4位数码管显示系统的设计参考。该资源包含了硬件原理图、PCB布线工程文件以及软件源码,支持Protel设计软件。用户可以通过本资源的学习,了解到如何使用STC89S51单片机进行多路温度数据采集、显示以及简单的用户交互处理。 知识点详解: 1. STC89S51单片机 STC89S51是一款8位微控制器,属于STC公司的经典产品,其内核基于Intel 8051架构。此单片机具有较高的性能与低功耗特性,常用于各种嵌入式系统的设计中。STC89S51单片机具有丰富的指令集、灵活的I/O口、定时器、串行口等资源,非常适合用于温度监测、数据采集等小型项目。 2. DS18B20温度传感器 DS18B20是美国DALLAS半导体公司生产的一款数字式温度传感器。它能够提供9位至12位的摄氏温度测量值,并且具有独特的单线串行通信能力,可以挂在单片机的一个I/O口上进行多点温度测量。DS18B20支持3线连接方式,但其1-Wire(单总线)通信协议让它可以简化成一条线进行通信,这使得硬件设计更为简洁。 3. 4位数码管显示 4位数码管是指可以通过单片机控制显示0到9的数码管,通常由7个段LED组成一个数字的显示。在本设计中,4位数码管用于显示温度测量值。要驱动数码管显示,需要使用到译码驱动电路或多个I/O口控制,以及一些动态扫描显示的技术,以减少I/O口的使用数量。 4. Protel硬件设计软件 Protel是一款广泛使用的PCB设计软件,它提供了从电路设计、原理图绘制到PCB布线的完整解决方案。在本资源中,提供了对应的原理图和PCB布线工程文件,便于用户进行原理图阅读和PCB的布局设计。 5. 软件源码分析 在源码中提到了几个关键函数: - search_romid_ds18b20():此函数负责上电后自动搜索两路DS18B20传感器的ROM编号,并将其存入数组中。 - init_timer_ds18b20():此函数用于初始化单片机的定时器,以便定时读取温度值。 - read_temp_ds18b20():此函数用于读取DS18B20传感器当前的温度值。 - display_ds18b20():此函数负责将温度值通过数码管显示出来。 - key_scan_ds18b20():此函数用于扫描按键输入,以便用户操作。 - alarm_ds18b20():此函数作为温度报警机制,可实现当温度超过预设值时给出警告。 以上知识点是根据所提供的文件信息进行的总结,对于初学者来说,通过这些内容可以学习到嵌入式系统设计的基础知识,掌握硬件电路的设计以及对应的软件编程技能。对于有经验的开发者,本资源也能够作为项目参考,快速构建出类似的功能模块。"