18B20温度传感器 课程设计报告

时间:2024.3.31

课程设计报告

目 录

一.设计任务

二.方案论证

三.硬件设计

3.1 DS18B20简介 AT89C51型单片机简介

3.2 总电路的设计图

四. 软件设计

3.1 主程序框图

3.2 初始化子程序18B20的主程序

3.3 调试及运行

五. 课程设计总结

一、设计任务

1. 熟悉电子系统开发的思路和步骤;

2. 熟悉Keil C开发环境,并对18B20、LED数码管、4*4键盘等外围模块的驱动进行编写调试,学会基本的驱动开发思路,并通过调试学会定位问题的能力;

3. 分别使用汇编语言和C语言编写调试整个电子系统的控制程序,学会电子系统的软件开发思路;

4. 通过protel学会如何绘制原理图及PCB版图,从而完成整个电子系统的软硬件开发;

二、方案论证

A、分析本次设计任务可知:

1.本设计要利用DS18B20测量温度,需要用89C51单片机控制DS18B20测量温度,并将DS18B20测得温度读取到单片机中来。

2. 本设计要用LED显示温度,可用五个共阳极LED,采用动态扫描法显示读取到单片机中的温度。

显示格式举例如下:(1)温度为正值————101.1 、99.2 第四个LED总是显示点号。

(2)温度为负值———— -23.1 第一个总是显示一横,第四个总是显示点号。

B、经以上分析可得:

可将本设计功能分为两大模块:1、DS18B20设置模块

2、测温电路及其程序

3、显示电路及其程序

3. 在硬件电路上还要加上必要的基础电路:

(1)时钟电路

本次设计采用时钟频率为:12MHZ

(2)按键测温电路及其程序

按一次按钮即测一次温度并将测得的温度显示出来)

C、系统总体方案

系统原理框图:

由图可知该测量系统由DS18B20组成的测量电路和单片机控制电路组成。系统通过DS18B20采集到的数据,然后通过单片机微控制芯片经过数据处理,最后通过数码管实时显示所测空气的温度。

用单个DS18B20采集温度采集温度并将其显示在LED灯上,温度只需显示整数,小数位位不做要求;设置报警上下限,当按下键盘上的SETUP键时,DS18B20不工作,从键盘上输入温度的上下限值,前边的两个LED显示器显示温度上线,后边的两个LED显示器显示温度下限,当采集的温度越过上限和低于下限时,P0.4口的发光二极管灯亮,表示报警;温度上下限的设置要在30S内完成,如果没完成,温度传感器自行工作,设置完成后,按下Enter键DS18B20开始采集并显示温度。

总体思路

对于单个DS18B20的温度采集,首先要对单片机的各个管脚进行定义,对于我们自己做的开发板,我们已经定义P0.6口连接DS18B20进行单个温度采集,用P0.4口接发光二极管显示越限报警,用P0.5口显示DS18B20复位成功。按原理图编写程序,程序的编写的好坏就关系到此次课程设计的成败。

三、硬件设计

DS18B20简介 AT89C51型单片机简介

3.1 DS18B20 的主要特征:

1.全数字温度转换及输出。

2.先进的单总线数据通信。

3.最高 12 位分辨率,精度可达土 0.5 摄氏度。

4.12 位分辨率时的最大工作周期为 750 毫秒。

5.可选择寄生工作方式。

6.检测温度范围为?55°C ~+125°C ( ?67°F ~+257°F)

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 个字节 RAM,每个字节为8 位。第 1、2 个字节是温度转换后的数据值信息,第3、4 个字节是用户 EEPROM (常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5 个字节则是用户第3 个 EEPROM 的镜像。第6、7、8 个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9 个字节为前8 个字节的CRC 码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20 共3 位EEPROM,并在 RAM 都存在镜像,以方便用户操作。

控制器对 18B20 操作流程:

1.复位:首先我们必须对DS18B20 芯片进行复位,复位就是由控制器(单片机)给 DS18B20 单总线至少480uS 的低电平信号。当18B20 接到此复位信号后则会在 15~60uS 后回发一个芯片的存在脉冲。

2.存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在 15~60uS 后接收存在脉冲,存在脉冲为一个60~240uS 的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是控制器与 18B20 间的数据通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。

3.控制器发送 ROM 指令

4.控制器发送存储器操作指令:在 ROM 指令发送给 18B20 之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8 位,共 6 条,存储器操作指令分别是写 RAM 数据、读RAM 数据、将 RAM 数据复制到 EEPROM、温度转换、将EEPROM 中的报警值复制到RAM、工作方式切换。存储器操作指令的功能是命令 18B20 作什么样的工作,是芯片控制的关键。

5.执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待 18B20 执行其指令,一般转换时间为500uS。如执行数据读写指令则需要严格遵循18B20 的读写时序来操作。

AT89C51型单片机简介

这次设计的单片机测温系统我们使用了AT89C51型号的单片机,我们使用该单片机理由有以下几条:

01. 与MCS-51单片机完全兼容:指令兼容,引脚兼容,因此易学;

02. 超强抗干扰能力:电源、I/O口、时钟均有抗干扰措施,是工程应用的首选:

① 高抗静电(ESD保护);

② 轻松过2KV/4KV快速脉冲干扰(EFT测试);

03. 高可靠性,工程应用的首选:

① 宽电压范围,不怕电源波动:5V产品3.4V~6V,3V产品1.9V~4V;

② 宽温度范围:-40 oC~85 oC;

04. 低电磁辐射:

① 可禁止ALE输出,降低辐射;

② 可选6时钟/机器周期,降低晶振频率,降低辐射;

③ 单片机时钟振荡器增益可设为1/2;

05. 超低功耗:

① 掉电模式典型功耗:≤01Aμ,可由外中断唤醒;

② 空闲模式典型功耗:2mA;

③ 正常工作典型功耗:4mA~7mA;

06. 在系统可编程,无需编程器,无需仿真器,节约投资;

07. 强驱动能力:无论拉电流还是灌电流,均优于MCS-51单片机;

08.高速度:0~80MHz,最高达90 MHz。

09.内部资源更丰富。与MCS-51单片机相比,增加了:

① T2定时/计数器;

② 内部数据存储器RAM增加了1~8倍,空间大小随型号不同而不同;

③ 大部分产品自带E2PROM,空间大小随型号不同而不同;

④ 部分产品自带模数转换器A/D和PWM;

⑤ 部分产品有P4口,P5口;

⑥部分产品有双串口;

但是,用这么多特点的同时,我们在设计的时候还是遇到一些比较值得注意的地方:

该单片机实用了12M晶振,和我们学的有点不一样,同时,里面的分频也不一样,所以在计算延时等时间问题上多加注意;

3.2 总电路的设计图

1.单片机的开发板原理图

四.软件设计

3.1 主程序框图

3.2 各模块公用子程序:

初始化子程序、读字节子程序、写子程序

初始化子程序:

(1) 总线复位时序:总线拉低并保持480-960us,然后拉高电平,在480-960us内等待18B20响应(拉成低电平,则复位成功)。

;总线复位和等待应答信号

RESET: PUSH B

WAIT: CLR DQ

MOV B,#250

DJNZ B,$ ;保持500us低电平

SETB DQ

MOV B,#30

DJNZ B,$ ;等待60us

MOV R3,#200

A22:JNB DQ,A11

DJNZ R3,A22

CLR F0

SJMP A23

A11: SETB F0

MOV R3,#100

DJNZ R3,$

A23: POP B

RET

(2) 发命令(写数据位)

写0:置总线低电平并保持15us,然后保持15-25us,等待18B20对电平采样,最后拉高电平即完成写0的操作。

写1:置总线低电平并保持15us,然后拉高电平15-25us,等待18B20对电平采样,完成写1的操作。

;读一位数据放入进位位中

DQ BIT P0.6

READBIT:PUSH B

SETB DQ

CLR DQ;低电平至少1US

NOP

NOP

SETB DQ;高电平至少1us

MOV B,#30

NOP

NOP

MOV C,DQ

DJNZ B,$;延时45us

POP B

RET

;读一字节数据

READBYTE:PUSH B

MOV B,#8

LOOP: LCALL READBIT

RRC A

DJNZ B,LOOP

POP B

RET

读8字节数据,存放于40H开始的单元

READ:PUSH B

MOV R1,#ST

MOV B,#8

ST: LCALL READBYTE

MOV @R1,A

INC R1

DJNZ B,ST

POP B

RET

(3) 读数据位时序:置总线低电平并保持至少1us,然后拉高电平至少1us,在15us内采样总线电平或得数据,延时45us完成读位数据操作。

写一字;

WETBYTE:PUSH B

MOV B,#8

L2: CLR DQ

MOV R3,#7

DJNZ R3,$;低电平15us

MOV R3,#20

RRC A

JNC ZERO

SETB DQ

DJNZ R3,$;置高电平45us等待18B20采集

SJMP L1

ZERO:CLR DQ

MOV R3,#20

DJNZ R3,$;写0并持续45us等待18B20采集

L1:SETB DQ

NOP

DJNZ B,L2

POP B

RET

18b20的主程序:

试验中,只用到一个18b20,所以此处编写总线上只有一个18b20的主程序。

编写主程序前首先要内存声明:

;******************************************************************************

TEMPER_L EQU 40H ;用于保存读出温度的低8位

TEMPER_H EQU 41H ;用于保存读出温度的高8位

TMROMVH EQU 42H ;报警上限

TMROMVL EQU 43H ;报警下限

FLAG1 EQU 38H ;是否检测到DS18B20标志位

TEMPL EQU 30H ;用于保存读出温度的低8位

TEMPH EQU 31H ;用于保存读出温度的高8位

TEMPHC EQU 32H ;温度转换寄存器低8位

TEMPLC EQU 33H ;温度转换寄存器高8位

BUF2 EQU 35H ;显示缓冲寄存器个数位

BUF3 EQU 36H ;显示缓冲寄存器十数位

BUF4 EQU 37H ;显示缓冲寄存器百数位

T10MS EQU 29H ;

TMSETVL EQU 28H ;温度下限设定值

TMSETVH EQU 27H ;温度上限设定值

DISL_VL EQU 26H ;报警下限个位数存放内存位置

DISL_VH EQU 25H ;报警下限十位数存放内存位置

DISH_VL EQU 24H ;报警上限个位数存放内存位置

DISH_VH EQU 23H ;报警上限十位数存放内存位置

BT_VL EQU 22H ;比较当前显示数据与设定数据寄存器

;**********************************************

TEMPDIN BIT P0.6;数据脚定义

;**********************************************

; BIT FLAG DEFINATION

;**********************************************

TEMPCONV EQU 00H ;

TIME1SOK EQU 01H ;

TEMPONEOK EQU 02H ;

;**********************************************

内存声明完了之后,就是主程序,主程序会一直调用子程序来显示温度,往复循环,从而实现温度的实时采集,实时的现实在LED显示器上。

3.3 调试及运行

此次单片机试验用汇编语言做为编程语言,在manley环境下编译调试,而hex程序则使用SLISP_V1709驱动装置下进行运行。

(1) 编译调试:在manley环境下进行汇编语言的编译,编译完成后进行调试。

(2) 运行:安装驱动环境SLISP_V1709,将开发板的输入口与电脑输出口用下载线连接,运行驱动环境,擦除原有的程序,将现在所要运行的程序下载到开发板,看LED显示器是否显示当前温度,如不显示,则再次下载并装入,如显示则说明下载成功。

(3) 检验:按下键盘上的SETUP键时,DS18B20不工作,从键盘上输入温度的上下限数值,前两个LED显示器显示温度上限,后两个LED显示器显示温度下限,当采集的温度越过上限或低于下限时,P0.4口的发光二极管灯亮,表示处于报警状态;温度上下限的设置要在30S内完成,如果没完成,则温度传感器自行工作。设置完成后,按下Enter键,DS18B20开始采集并显示温度。如完成上述要求,则说明此次实验成功,如试验不成功说明需要对程序进行编译调试。

五. 课程设计总结

这次课程设计中,我们运用到了以前所学的专业课知识,如:protel, 单片机理论,汇编语言,模拟和数字电路知识等.不仅加深了对单片机理论的理解,以及相关软件的应用,并将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。同时在具体的制作过程中我们发现现在书本上的知识与实际的应用存在着不小的差距,书本上的知识很多都是理想化后的结论,忽略了很多实际的因素,或者涉及的不全面,可在实际的应用时这些是不能被忽略的,我们不得不考虑这方的问题,这让我们无法根据书上的理论就轻易得到预想中的结果,有时结果甚至很差别很大。通过这次实践使我更深刻的体会到了理论联系实际的重要性,在今后的学习工作中会更加的注重实际。最后,在张明海,徐宁老师那里我学得到很多实用的知识,再次我表示感谢!并且对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!

主要参考文献:

[1]赵娜.赵刚.于珍珠.郭守清 基于51单片机的温度测量系统 [期刊论文] -微计算机信息2007(2)

[2]李广弟. 单片机基础(第3版). 北京航空航天大学出版社

[3] 何立民. MCS-51系列单片机应用系统设计.北京:北京航空航天大学出版社

[4]刘鸣等. 温度传感器DS18B20 的特性及程序设计方法. 电测与仪表2001 年第10 期

[5]杨志峰. LED 显示驱动器MAX7219与MCS- 51单片机接口及应用. 山西机械2001 年增刊

[6]肖洪兵. 基于单片机的P ID 温度控制系统. 控制系统

[7]孙育才. MCS- 51 系列单片微型计算机及其应用. 东南大学出版社1999

更多相关推荐:
温度传感器课程设计报告

温度传感器课程设计报告组员专业年级学院系别完成日期指导教师1目录1引言32设计要求33工作原理34方案设计45单元电路的设计和元器件的选择651微控制器模块652温度采集模块753报警模块954温度显示模块95...

温度传感器课程设计报告[1]

六安职业技术学院课程设计论文姓名指导教师专业名称所在系部自动测试与检测技术20xx年5月目录1摘要2传感器的构成及T型热电偶使用13温度传感器测温组成方框图14热电偶测温电路系统的工作原理141热电偶测温电路系...

二极管温度传感器课程设计报告

模拟电子技术课程设计课程设计报告题目课程专业班级姓名学号基于测温二极管传感器的温度测控电路设计传感器与测控电路课程实习模拟电子技术课程设计总目录第一部分任务书第二部分课程设计报告第三部分设计电路图模拟电子技术课...

温度传感器课程设计报告1

温度传感器的特性及应用设计集成温度传感器是将作为感温器件的晶体管及其外围电路集成在同一芯片上的集成化温度传感器这类传感器已在科研工业和家用电器等方面广泛用于温度的精确测量和控制一目的要求12测量温度传感器的伏安...

温度传感器课程设计报告[1]

温度传感器课程设计目录1摘要2传感器的构成及T型热电偶使用13温度传感器测温组成方框图14热电偶测温电路系统的工作原理141热电偶测温电路系统的组成42单片机控制热电偶测温电路原理图见附录43热电偶测温电路工作...

课程设计报告 温度传感器

单片机控制ADC0809模数转换及显示的设计摘要传感器的作用是将不易检测的非电量信号转换为易于检测的电信号如电压电流电荷等为了实现系统自动化和智能化就需要有中央处理器对外界信号进行分析并作出相应的处理而CPU属...

二极管温度传感器课程设计报告

传感器原理及工程应用课程实践报告测温二极管传感器的温度测控电路设计姓名学号13110XXX专业电气工程及其自动化课程传感器原理及应用0课题基于测温二极管传感器的温度测控电路设计温度是一个与人们的生活环境生产活动...

51单片机温度传感器课程设计

基于单片机的温度传感器课程设计报告随着人们生活水平的不断提高单片机控制无疑是人们追求的目标之一它所给人带来的方便也是不可否定的其中温度传感器就是一个典型的例子但人们对它的要求越来越高要为现代人工作科研生活提供更...

温度传感器课程设计说明书 (添加电路图)

梧州学院传感器与检测技术课程设计报告书题目温度传感器课程传感器与检测技术班级组长成员老师时间1目录一设计简介3二主要原理和设备4三设计方法和步骤631器具材料的选择632恒流源的设计733实验步骤10四数据记录...

简易温度传感器设计报告1

温度传感器设计报告机制091前言:在机电一体化系统中,传感器处系统之首,其作用相当于系统感受器官,能快速、精确地获取信息并能经受严酷环境考验,是机电一体化系统达到高水平的保证。如缺少这些传感器对系统状态和对信息…

DS18B20温度传感器课程设计报告

传感器课程设计设计题目DS18B20温度传感器班级电子2班姓名梁玉杰韦小门李军伟学号20xx40620xx3指导教师XXX调试地点509目录一概述2二内容31课程设计题目32课程设计目的33设计任务和要求34正...

数字温度传感器电路设计报告

电子技术课程设计报告题目数字温度传感器电路学年0809学期1专业电子信息工程班级06学号06111020xx姓名指导教师及职称时间20xx年12月22一设计目的1234熟悉数字温度传感器电路的引脚安排掌握数字温...

温度传感器课程设计报告(15篇)