1、信息与计算科学系课程设计报告 1 目 录 一设计任务 二方案论证 三硬件设计 3.1 DS18B20 简介 AT89C51 型单片机简介 3.2 总电路的设计图 四 软件设计 3.1 主程序框图 3.2 初始化子程序 DS18B20 的主程序的主程序 3.3 调试及运行 五. 课程设计总结 信息与计算科学系课程设计报告 2 一、设计任务 1. 熟悉电子系统开发的思路和步骤; 2. 熟悉 Keil C 开发环境,并对 18B20、LED 数码管、4*4 键盘等外围模块的驱动 进行编写调试,学会基本的驱动开发思路,并通过调试学会定位问题的能力; 3. 分别使用汇编语言和 C 语言编写调试整个电子系
2、统的控制程序,学会电子系统 的软件开发思路; 4. 通过 protel 学会如何绘制原理图及 PCB 版图, 从而完成整个电子系统的软硬件 开发; 二、方案论证 A、分析本次设计任务可知: 1本设计要利用 DS18B20 测量温度,需要用 89C51 单片机控制 DS18B20 测量 温度,并将 DS18B20 测得温度读取到单片机中来。 2. 本设计要用 LED 显示温度,可用五个共阳极 LED,采用动态扫描法显示读 取到单片机中的温度。 显示格式举例如下: (1)温度为正值101.1 、99.2 第四个 LED 总是显示点号。 (2)温度为负值 -23.1 第一个总是显示一 横,第四个总是
3、显示点号。 B、经以上分析可得: 可将本设计功能分为两大模块:1、DS18B20 设置模块 2、测温电路及其程序 3、显示电路及其程序 3. 在硬件电路上还要加上必要的基础电路: (1)时钟电路 本次设计采用时钟频率为:12MHZ (2)按键测温电路及其程序 按一次按钮即测一次温度并将测得的温度显示出来) 信息与计算科学系课程设计报告 3 C C、系统总体方案系统总体方案 系统原理框图: 由图可知该测量系统由 DS18B20 组成的测量电路和单片机控制电路组成。系 统通过 DS18B20 采集到的数据,然后通过单片机微控制芯片经过数据处理,最后 通过数码管实时显示所测空气的温度。 用单个 DS
4、18B20 采集温度采集温度并将其显示在 LED 灯上,温度只需显示整数, 小数位位不做要求;设置报警上下限,当按下键盘上的 SETUP 键时,DS18B20 不工作, 从键盘上输入温度的上下限值,前边的两个 LED 显示器显示温度上线,后边的两个 LED 显示器显示温度下限,当采集的温度越过上限和低于下限时,P0.4 口的发光二极管灯 亮,表示报警;温度上下限的设置要在 30S 内完成,如果没完成,温度传感器自行工 作,设置完成后,按下 Enter 键 DS18B20 开始采集并显示温度。 总体思路 对于单个 DS18B20 的温度采集,首先要对单片机的各个管脚进行定义,对于我们 自己做的开
5、发板,我们已经定义 P0.6 口连接 DS18B20 进行单个温度采集,用 P0.4 口 接发光二极管显示越限报警,用 P0.5 口显示 DS18B20 复位成功。按原理图编写程序, 程序的编写的好坏就关系到此次课程设计的成败。 三、硬件设计 DS18B20 简介 AT89C51 型单片机简介 3.1 DS18B20 的主要特征: DS18B20 温度测量 电路 AT89C51 单片机 数 码 输出 显 示 信息与计算科学系课程设计报告 4 1.全数字温度转换及输出。 2.先进的单总线数据通信。 3.最高 12 位分辨率,精度可达土 0.5 摄氏度。 4.12 位分辨率时的最大工作周期为 75
6、0 毫秒。 5.可选择寄生工作方式。 6.检测温度范围为55C +125C ( 67F +257F) 7.内置 EEPROM,限温报警功能。 8.64 位光刻 ROM,内置产品序列号,方便多机挂接。 9.多样封装形式,适应不同硬件系统。 DS18B20 工作原理及应用: DS18B20 的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更 强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之 前我们有必要了解 18B20 的内部存储器资源。18B20 共有三种形态的存储器资源, 它们分别是 ROM 只读存储器,用于存放 DS18B20ID 编码,其前 8 位是单线系列编 码(DS18B20 的编码是 19H) ,后面 48 位是芯片唯一的序列号,最后 8 位是以上 56 的位的 CRC 码(冗余校验) 。数据在出产时设置不由用户更改。DS18B20 共 64 位 ROM。RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20 共 9 个字节