没有合适的资源?快使用搜索试试~ 我知道了~
基于单片机数字温度计毕业设计.doc
需积分: 5 1 下载量 85 浏览量
2022-07-16
08:23:58
上传
评论 1
收藏 895KB DOC 举报
温馨提示
试读
44页
基于单片机数字温度计毕业设计.doc
资源详情
资源评论
资源推荐
基于单片机数字温度计毕业设计
目 录
第 1 章前言 1
1.1 设计目标 1
1.1.1 前景 1
1.1.2 实现的可行性 1
1.2 设计思路 2
1.2.1 硬件设计思路 2
1.2.2 软件设计思路 2
第 2 章方案论证 4
2.1 方案一:使用热敏电阻 4
2.2 方案二:采用数字温度芯片 DS18B204
第 3 章各电路设计与论证 6
3.1 主控制器 7
3.1.1 方案一:采用 PC 机实现 7
3.1.2 方案二:使用单片机 7
3.2 显示电路 10
3.2.1 方案一:采用七段 LED 数码显示 10
3.2.2 方案二:采用 SMCI602A 液晶显示模块芯片 10
3.3 温度传感器的选择 11
3.3.1 方案一:采用热敏电阻 11
第 1 章 前言
随着科学技术日益迅速的发展,数字监控系统已经深入到生活的各个方面。数字
温度计作为数字监控系统的重要组成部分发挥着极其重要的作用。它克服了接触式温
度计对传感器的耐热性能要求比较苛刻的缺点,使温度计无论在使用围还是测量精度
上都有了长足的进步。
本设计就是在这种广阔的应用背景下应运而生的。下面就本设计的设计目标和思
路进行简单介绍。
1.1 设计目标
系统上电复位并初始化后,主控制器将发出略读电可擦除只读存储器与温度转换
命令,然后执行读出温度和温度处理函数,最后用 4 位 LED 数码管显示温度值的百
位、十位、个位与小数部分,以十进制方式显示。
1.1.1 前景
温度是工业中非常关键的一项物理量,在农业,现代科学研究和各种高新技术的
开发和研究中也是一个非常普遍和常用的测量参数。 温度测量的原理主要是:将随温
度变化而变化的物理参数,如膨胀、电阻、电容、热电动势、磁性、频率、光学特性
等通过温度传感器转变成电的或其他信号,传给处理电路。最后转换成温度数值显示
出来。
传统的温度测量方法基本上是接触式的,主要有:热膨胀式温度计,电阻式温度
计,热电偶式温度计等。 这些接触式温度计的主要缺点是对传感器的耐热性能要求比
较苛刻,所以对应的使用温度围比较有限。它们的精度也大大限制了他们的应用领域。
此外,由于这些测量方法大都是接触式的,会污染一些高纯度,高腐蚀性的测量对象。
目前应用的比较广泛的非接触温度测量技术有红外非接触温度测量技术,单总线数字
式温度测量技术等等。此外,激光测量温度技术,基于彩色三基色的温度测量技术也
开始成为温度测量的手段。随着科学技术的进一步发展,相信更多更先进的温度测量
手段会出现并影响我们的生产、生活和社会生活的方方面面。
1.1.2 实现的可行性
在嵌入式系统设计中,LED 显示器是常用的显示设备之一,它具有使用方便、价
格便宜、电路接口简单等优点,因此,在嵌入式系统中被广泛使用。 为了实现 LED
2 / 44
显示器的数字显示,可以采用静态显示法和动态显示法。由于静态显示法需要数据锁
存器等硬件,接口复杂一些,考虑到温度计显示只有 4 位,且系统没有其它复杂的处
理任务,所以计划采用动态扫描法实现 LED 显示。主控制器计划采用飞思卡尔公司
的 MC9S12DG128 单片机,这种单片机具有足够的空余硬件资源,以便可以实现其
它的扩
充功能。数字温度计要求用 4 位共阴极 LED 数码管显示温度值的百位、十位、个位
与小数部分,以十进制方式显示。
1.2 设计思路
主控制器采用飞思卡尔公司的 MC9S12DG128 单片机,这种单片机具有足够的
空余硬件资源,以便可以实现其它的扩充功能。利用温度传感器 DS18S20 来实现测
温,它可以实现-55 至+125℃的显示,本设计使用 4 位共阴极 LED 显示,可满足
该围温度的显示。
1.2.1 硬件设计思路
硬件设计是整个系统的基础,要考虑的方方面面很多,除了实现此设计基本功能
以外,主要还要考虑如下几个因素:①系统稳定度;②器件的通用性或易选购性;③
软件编程的易实现性;④系统其它功能与性能指标;因此硬件设计至关重要。 主要设
计包括以下三部分:
单片机主控模块:采用 MC9S12DG128,单片机作为整个硬件系统的核心,它既
是协调整机工作的控制器,又是数据处理器。关于主控芯片的体系结构在第二章会有
详细的介绍。
数字温度计模块:采用 DS18S20,DS18S20 是美国 DALLAS 公司推出的一种
高性能、低功耗、实现单总线协议的温度传感器,它可以显示-55 至+125℃围的温度,
采用单总线接口与 CPU 进行同步通信,在这个总线系统中,微处理器(主设备)识
别并寻址在总线上的设备要使用每个设备的独一无二的 64 位码。DS18S20 能够不
依靠额外的电能供应就能独立运行。它的主要特性在第三章有详细介绍。
LED 显示模块:在微控制器应用系统中,如果需要显示的容只有数码和某些字母,
则使用 LED 数码管是一种较好的选择。LED 数码管显示清晰,成本低廉,配置灵活,
与微控制器的接口简单易行。LED 显示器有动态扫描和静态显示两种方式,动态扫描
需要耗费大量的 MCU 时间,且亮度不够;而静态显示亮度高,MCU 负担小,但由
于温度测量精度的要求较高,所以本设计采用 LED 动态扫描。
3 / 44
1.2.2 软件设计思路
程序比较简单,初始化完成后,调用读出温度子程序,将温度寄存器中的温度读
出,然后调用温度处理子程序,将温度数据转换成十进制值并送 LED 显示。主要模
块有读出温度模块、温度处理模块和 LED 显示模块。
读出温度模块:首先复位后发送略读 ROM 命令,由于本设计总线上只有一个
DS18S20,因而总线控制器不用提供 64 位 ROM 编码就使用存储器操作命令。其
次发送读取超高速中间结果存储器命令,用于将超高速中间结果存储器中的容读出。
读出后存放在一个 16 位数组 temp_data[]中,其中将低 8 位放在 temp_data[0]中,
高 8 位放在 temp_data[1]中。再次复位并再发略读 ROM 命令,以便读出下一个温
度值。最后发送温度转换命令。
温度处理模块:首先判断读出的温度数据是正还是负,若为负则取补码;其次取
出 temp_data[0] 中 的 bit0 位 并 放 入 display[0], 该 部 分 为 温 度 值 的 小 数 部 分 ;
temp_data[0]中的剩余部分为温度值的整数部分,并分别取出百位、十位、个位数分
别放在 display[3]、display[2]和 display[1]中;最后对符号位是否显示做出处理。
LED 显示模块:由于 LED 数码管有共阳极和共阴极之分,而本设计采用的是共
阴极数码管,因此需定义共阴极的十六进制数据到段码的转换表。本模块使用全局变
量
DispDigMsk 指向下一个要显示的数码;使用 DispSegTbl[DISP_N_DIG]表示与每个
要显示的数码相对应的段码;使用 DispSegTblIx 表示指向下一个要显示数码在段码
表中的位置。具体处理步骤如下:
1、进行与显示驱动相关的 I/O 引脚初始化
2、中断显示处理:
(1) 清模计数器中断标志
(2) 选择下一个要显示的数码
(3) 输出该数码的段码
(4) 调整指针。如果在指向下一个段码时发现已经到了最后一个则返回第一个,
否则指针后移并且 DispDigMsk 指向下一个要显示的数码。LED 的动态扫描功
能通过以上步骤的循环实现。
剩余43页未读,继续阅读
智慧安全方案
- 粉丝: 3646
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0