单片机课程设计(附原理图)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机接口原理及应用
课程设计报告
学院:工学院
题目:数字式温度计设计
专业:机械设计制造及其自动化
班级: 07机电2班
姓名:
学号: 070105085
指导教师:冯振伟
起止日期:2010年12月1日~2010年12月20日
目录
一、前言 (2)
二、课程设计目的和要求 (2)
三、总体设计方案 (2)
1. 整体功能说明 (2)
2. 硬件功能模块组成 (2)
3. 软件功能模块组成 (3)
4. 硬件总体框图 (3)
5. 测试计划 (3)
四、系统硬件设计 (4)
1. 整体功能说明 (4)
2. 硬件功能模块组成 (4)
2.1 主控制器 (4)
2.2 温度测量模块 (4)
2.3 显示电路 (5)
2.4 温度传感器工作原理 (5)
五、系统的软件设计 (7)
1. 主程序 (7)
2. 读出温度子程序 (8)
3. 温度转换命令子程序 (9)
4. 计算温度子程序 (9)
5. 显示数据刷新子程序 (9)
六、程序清单 (10)
七、结束语 (17)
八、参考文献 (18)
附录:系统原理图(见A3图纸)
前言
当今社会,温度检测系统被广泛的社会生产、生活的各个领域。在工业、环境检测、医疗、家庭等多方面都有应用。同时单片机在电子产品中的应用已经越来越广泛。
随着温度检测理论与技术的不断更新,温度传感器的种类也越来越多,在微机系统中使用的传感器,必须是能够将非电量转换成电量的传感器,目前常用的有热电偶传感器、热电阻传感器和单导体传感器等,每种传感器根据其自身特性,都有它自己的应用领域。
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便、测温范围广、测温准确、其输出温度采用数字显示等优点,主要用于对温度比较准确的场所,或科研实验室使用。该设计控制器使用单片机AT89C51,温度传感器使用DS18B20,用4位共阳极LED数码管以串口显示数据,实现温度显示。
二、课程设计目的和要求
1 设计目的
1.学会A/D转换芯片的用法;
2.学会掌握8051单片机用法;
3.学会单片机的程序设计;
4.培养查阅资料的能力。
2.设计要求
本设计主要是介绍了单片机控制下的温度检测系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下:
1.利用温度传感器(DS18B20)测量某一点环境温度;
2.测量范围为-55℃~+99℃,精度为±0.5℃;
3.用数码管进行实际温度值显示;
4.能够根据需要方便设定上下限报警温度。
三、总体设计方案
⒈整体功能说明:
以51单片机为主控制器,以数字式温度传感器DS18B20为传感元件,以LED数码管作为显示器件实时显示测量温度(十进制数)。数字式温度计测温范围在-55~125℃,误差在±0.5℃以内。温度测量间隔时间选择1 s 。
通过键盘扩展,实现温度上下限值的设定及温度报警功能。对温度采样值实现数字滤波。通过硬件或软件方法实现时间显示。
2. 硬件功能模块组成:
温度计的控制器使用单片机A T89C2051,温度传感器使用DS18B20,用4位共阳LED 数码管以动态扫描法实现温度显示。
主控制器: 单片机A T89C2051具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要。
显示电路:显示电路采用4位共阳LED数码管,从P1口输出段码,列扫描用P3.0~P3.3口来实现,列驱动用9012三极管。
3. 软件功能组成模块:
系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序等。
主程序:主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值。温度测量每1 s 进行一次。
读出温度子程序:主要功能是读出RAM中的9字节。在读出时须进行CRC校验,校验有错时不进行温度数据的改写。
温度转换命令子程序:主要是发温度转换开始命令。
计算温度子程序:将RAM中读取值进行BCD码的转换运行,并进行温度值正负的判定。
显示数据刷新子程序:主要是对显示缓冲器中的显示数据进行刷新操作,当最高数据显示位为0时,将符号显示位移入下一位。
4. 硬件总体框图:
5. 测试计划:
(1)硬件测试:主要测试各部分硬件是否能正常工作,每部分通过简单程序来检测。(2)软件测试:测试软件是否符合设计要求、是否存在BUG。
四、系统的硬件设计
1. 整体功能说明:
以51单片机为主控制器,以数字式温度传感器DS18B20为传感元件,以LED数码管作为显示器件实时显示测量温度(十进制数)。数字式温度计测温范围在-55~125℃,误差在±0.5℃以内。温度测量间隔时间选择1 s 。
通过键盘扩展,实现温度上下限值的设定及温度报警功能。对温度采样值实现数字滤波。通过硬件或软件方法实现时间显示。
2.硬件功能模块组成:
温度计电路设计原理图见A3图纸,温度计的控制器使用单片机AT89C51,温度传感器使用DS18B20,用4位共阳极LED数码管以动态扫描法实现温度显示。
图中有3个独立式按键可以分别调整温度的上下限报警设置,图中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音,同时LED数码管将没有被测温度显示,这时可以调整上下限,从而测出被测的温度值。
2.1主控制器
单片机AT89C51具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要。
2.2温度测量模块
主要用到的是DS18B20温度传感器,将采集到的温度模拟量(-55度到125度)转换成数字量,并接上一个上拉电阻后再送给单片机P3.4口。
2.3显示电路
显示电路采用4位共阳极LED数码管,从P0口输出段码,列扫描用P2.0~P2.3口来实现,列驱动用9012三极管。
2.4温度传感器工作原理
1. DS18B20的性能特点
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器。与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简
单的编程实现9-12位的数字值读数方式。DS18B20的性能特点如下:
.独特的单线接口仅需要一个端口引脚进行通信;
.多个DS18B20可以并联在唯一的三线上,实现多点组网功能;
.不需要外部器件;
.可通过数据线供电,电压范围为3.0-5.5 V;
.零待机功耗;