河南理工大学
河南理工大学
单片机课程设计报告
单片机课程设计报告
单片机课程设计报告
单片机课程设计报告
数字温度计
姓
学
名:
号:
专业班级:
指导老师:
所在学院:电气工程与自动化学院
2009 年 6 月 14 日
摘要
随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各
个领域,已经成为一种比较成熟的技术, 本文主要介绍了一个基于 89S51 单片机
的测温系统,详细描述了利用数字温度传感器 DS18B20 开发测温系统的过程,重
点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分
析,特别是数字温度传感器 DS18B20 的数据采集过程。对各部分的电路也一一进
行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定
上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积
小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以
当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。DS18B20 与
AT89C51 结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于
恶劣环境下进行现场温度测量,有广泛的应用前景。
关键词: 单片机 DS18B20 温度传感器 数字温度计 AT89S52
目录
1 概述...................................................................................................................4
1.1 课程设计的意义.................................................................................. 4
1.2 设计的任务和要求.............................................................................. 4
2 系统总体方案及硬件设计.............................................................................. 5
2.1 数字温度计设计方案论证...................................................................5
2.1.1 方案一.........................................................................................5
2.1.2 方案二........................................................................................5
2.2 系统总体设计........................................................................................6
2.3 系统模块................................................................................................7
2.3.1 主控制器................................................................................... 7
2.3.2 显示电路................................................................................... 8
2.3.3 温度传感器................................................................................ 8
2.3.4 报警温度调整按键....................................................................9
3 系统软件算法分析.........................................................................................10
3.1 主程序流程图..................................................................................... 10
3.2 读出温度子程序................................................................................. 10
3.3 温度转换命令子程序......................................................................... 11
3.4 计算温度子程序................................................................................ 11
3.5 显示数据刷新子程序........................................................................ 11
3.6 按键扫描处理子程序......................................................................... 12
4 实验仿真........................................................................................................ 13
5 总结与体会.................................................................................................... 14
查考文献............................................................................................................ 15
附 1 源程序代码...............................................................................................16
1111 概述
1.11.11.11.1 课程设计的意义
本次课程设计是在我们学过单片机后的一次实习,可增加我们的动手能力。特别是对
单片机的系统设计有很大帮助。本课程设计由两个人共同完成,在锻炼了自己的同时也增强
了自己的团队意识和团队合作精神。
1.21.21.21.2 设计的任务和要求
1、基本范围-50℃-110℃
2、精度误差小于 0.5℃
3、LED 数码直读显示
4、可以任意设定温度的上下限报警功能
2222 系统总体方案及硬件设计
2222.1.1.1.1 数字温度计设计方案论证
2.12.12.12.1.1.1.1.1 方案一
由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温
度变化的电压或电流采集过来,进行 A/D 转换后,就可以用单片机进行数据的处理,在显示
电路上,就可以将被测温度显示出来,这种设计需要用到 A/D 转换电路,其中还涉及到电阻
与温度的对应值的计算,感温电路比较麻烦。而且在对采集的信号进行放大时容易受温度的
影响出现较大的偏差。
2.2.2.2.1.1.1.1.2222 方案二
进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常
容易想到的,所以可以采用一只温度传感器 DS18B20,此传感器,可以很容易直接读取被测
温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统
的再扩展,满足设计要求。
从以上两种方案,很容易看出,采用方案二,电路比较简单,费用较低,可靠性高,软件设
计也比较简单,故采用了方案二。
2.22.22.22.2 系统总体设计
温度计电路设计总体设计方框图如图 1 所示,控制器采用单片机 AT89S51,温度传感器
采用 DS18B20,用 3 位 LED 数码管以串口传送数据实现温度显示。
单片机复位
报警温度调整键
时钟振荡
A
T
8
9
S
5
1
LED 显示
蜂鸣器,指示灯
DS18B20
温 度 传 感 器
图 2.2—1 总体设计方框图
图 2.2—2 系统仿真图
2.32.32.32.3 系统模块
系统由单片机最小系统、显示电路、按键、温度传感器等组成。
2.32.32.32.3.1.1.1.1 主控制器
单片机 AT89S51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电
路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。
晶振采用 12MHZ。复位电路采用上电加按钮复位。
图 2.3.1—1 晶振电路
图 2.3.1—2 复位电路
2.32.32.32.3.2.2.2.2 显示电路
显示电路采用 4 位共阴极 LED 数码管,P0 口由上拉电阻提高驱动能力,作为段码输出
并作为数码管的驱动。P2 口的低四位作为数码管的位选端。采用动态扫描的方式显示。
2.32.32.32.3.3.3.3.3 温度传感器
图 2.3.2 数码管显示电路
DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感
器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过
简单的编程实现9~12位的数字值读数方式。DS18B20 的性能特点如下:
1、独特的单线接口仅需要一个端口引脚进行通信;
2、多个 DS18B20 可以并联在惟一的三线上,实现多点组网功能
3、无须外部器件;
4、可通过数据线供电,电压范围为 3.0~5.5V;
5、零待机功耗;
6、温度以9或12位数字;
7、用户可定义报警设置;
8、报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
9、负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;
DS18B20 可以采用两种方式供电,一种是采用电源供电方式,此时 DS18B20 的 1 脚接地,
2 脚作为信号线,3 脚接电源。另一种是寄生电源供电方式,如图 4 所示单片机端口接单线
总线,为保证在有效的 DS18B20 时钟周期内提供足够的电流,可用一个 MOSFET 管来完成对
总线的上拉。
当 DS18B20 处于写存储器操作和温度 A/D 转换操作时,总线上必须有强的上拉,上拉开
启时间最大为 10us。采用寄生电源供电方式时 VDD 端接地。由于单线制只有一根线,因此
发送接口必须是三态的。