单片机课程设计热敏电阻测温显示系统

更新时间:2024-05-20 22:08:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

燕山大学

课 程 设 计 说 明 书

题目: 热敏电阻测温显示系统

学院(系): 电气工程学院 年级专业: 10级精仪2班 学 号: 100103020177 学生姓名: 石永新 指导教师: 孟 宗 教师职称: 副教授

2013年 7月7日

燕 山 大 学 课 程 设 计 说 明 书

燕山大学课程设计(论文)任务书

学 号 090103020003 学生姓名 石永新 专业(班级) 10级精仪2班 院(系):电气工程学院 基层教学单位:仪器科学与工程系

设计题热敏电阻测温显示系统 目 设 计 技 术 参 数 设 计 要 求 工 作 量 设计一个采用热敏电阻为敏感元件的温度测量显示系统,温度显示范围为0-100℃,显示分辨率0.1℃。 设计热敏电阻检测电路与单片机的接口电路、4位LED显示电路;编制相应的程序。 设计的内容满足课程设计的教学目的与要求,设计题目的难度和工作量适合学生的知识和能力状况,工作量饱满。 工 作 计 划 参 考 资 料 查阅资料进行设计准备、设计硬件电路、编制程序,编制程序、验证设计、撰写任务书。 单片微型计算机接口技术及其应用 张淑清 国防工业出版社 单片机原理及应用技术 张淑清 国防工业出版社 单片机应用技术汇编 基层教学单位主任签字 指导教师签字 说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。 2012 年 6 月 29 日

燕 山 大 学 课 程 设 计 说 明 书 第2页 共30页

燕 山 大 学 课 程 设 计 说 明 书

目 录

第一章 摘要 ..................................................... 2 第二章 总体设计 ................................................. 4 2.1 理论分析 .................................................... 4 2.2 过程分析 .................................................... 4 第三章 硬件电路设计 ............................................. 5 3.1 传感器电路模块 .............................................. 5 3.2 A/D变换电路模块 ............................................. 9 3.3 八段数码管显示 ............................................. 12 3.4 8051芯片介绍 ............................................... 15 3.5 电源电路 ................................................... 16 第四章 压力传感器实验数据采集、显示及程序 ...................... 16 4.1 数据采集及显示 ............................................. 17 4.2 程序设计 .................................. 错误!未定义书签。 第五章 拓展 DS18B20芯片测温显示系统.........................................................23 第六章 心得体会 ................................................. 29 参考文献资料 ................................................... 30

燕 山 大 学 课 程 设 计 说 明 书 第3页 共30页

燕 山 大 学 课 程 设 计 说 明 书

第一章 摘要

随着以知识经济为特征的信息化时代的到来人们对仪器仪表的认识更加深入,温度作为一个重要的物理量,是工业生产过程中最普遍,最重要的工艺参数之一。随着工业的不断发展,对温度的测量的要求也越来越高,而且测量的范围也越来越广,对温度的检测技术的要求也越来越高,因此,温度测量及其测量技术的研究也是一个很重要的课题。 目前温度计按测使用的温度计种类繁多,应用范围也比较广泛,大致可以包括以下几种方法:

1 利用物体热胀冷缩原理制成的温度计 2 利用热电效应技术制成的温度检测元件 3 利用热阻效应技术制成的温度计 4 利用热辐射原理制成的高温计 5 利用声学原理进行温度测量

本系统的温度测量采用的就是热阻效应。本文设计一个采用热敏电阻为敏感元件的温度测量显示系统,温度显示范围为0-100?C,显示分辨率为0.1?C。通过热敏电阻温度传感器、A\\D模数转换器、LED显示电路并利用汇编语言编写程序,最终实现温度测量系统。测温电桥的主要部分是热敏电阻。

热敏电阻的主要特点是:①灵敏度较高,其电阻温度系数要比金属大10~100倍以上,能检测出10-6℃的温度变化;②工作温度范围宽,常温器件适用于-55℃~315℃,高温器件适用温度高于315℃(目前最高可达到2000℃),低温器件适用于-273℃~55℃;③体积小,能够测量其他温度计无法测量的空隙、腔体及生物体内血管的温度;④使用方便,电阻值可在0.1~100kΩ间任意选择;⑤易加工成复杂的形状,可大批量生产;⑥稳定性好、过载能力强。

温度是表征物体冷热程度的物理量,常见的温度传感器有热电阻传感器、 热敏电阻传感器、 热电偶温度 传感器、 集成温度传感器。热敏电阻本身是一个利用其电阻值随温度变化而 变化的温度传感元件, 而且其灵敏度高、 体积小、 使用方便、 结构简单等 优

燕 山 大 学 课 程 设 计 说 明 书 第4页 共30页

燕 山 大 学 课 程 设 计 说 明 书

点, 因此利用热敏电阻制成的温度计广泛应用于航空、 医学、 工业及 家用电器等方面做测温、 控制、 温度补偿、 流速测量、 液面指示等。采用 以单片机为核心的热敏电阻温度计能很容易地减小上述影响,并且读 数方便, 精确度高, 更显数字化。 本设计采用全桥测量电路,使系统产生的误差更小,输出的数据更精确。而运算放大电路的作用就是把传感器输出的微弱的模拟信号进行一定倍数的放大,以满足A/D转换器对输入信号电平的进行各种转换处理的要求。ADC0809 的A/D转换作用是进行模数转换把模拟信号转变成数字信号,然后把数字信号输送到显示电路中去,由六位(本实验采用四位)八段数码管显示出测量结果。

关键字:温度传感器 热敏电阻 A/D数模转换 数码管动态显示

第二章 总体设计

2.1 理论分析

温度测量模块主要为温度测量电桥,当温度发生变化时,电桥失去平衡,从而在电桥输出端有电压输出,但该电压很小。经过集成放大器放大,将放大后的信号输入AD转换芯片, 进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。

测单信AD 转 温号 片换 放 系模 机大 块 统 ↑ 显 示模块 电 图 1 — 1 源 系统框图 图2.1.1 系统硬件原理图如图1—1

燕 山 大 学 课 程 设 计 说 明 书 第5页 共30页

燕 山 大 学 课 程 设 计 说 明 书

2.2 过程分析

该温度传感器系统硬件原理图如图1—1所示,由热电阻传感器测得外界温度,经过信号放大,然后送给模数转换,将原有的模拟信号转换为可以被单片机识别和运算的数字信号,然后再通过软件编程由显示电路显示出来当前所测得的温度。 它的各部分电路说明如下: (1).测温模块:

该部分电路主要使用测温电桥,当温度变化时,电桥处于不平衡状态,从而输出不平衡电压,为测温的基础。 (2).信号处理部分:

该部分电路包括电压信号的放大和AD转换,实现模数变换,以及硬件滤波。 (3)单片机部分:

本实验采用8051单片机,其工作在最小模式下,主要任务有:控制AD0809进行模数转换、形成必要的时序、进行数据计算以及控制数码管显示。 (4).电源电路部分:

该部分电路负责将输入的9V~12V直流电,分别转换为稳定的9V、5V、-9V直流电,给传感器,放大电路,单片机,AD0809等供电。 (5).显示电路:

显示电路的作用是将测量的温度利用动态数码管实时显示出来。

第三章 硬件电路设计

3.1传感器电路模块

1 测温电桥及信号放大电路

燕 山 大 学 课 程 设 计 说 明 书 第6页 共30页

燕 山 大 学 课 程 设 计 说 明 书

图3.1.1 测温电桥及信号放大电路

上图是一个比较常用的温度测量电路,大致分为电源,电阻电桥,运放,输出部分。电源由R4,R6,C1,U1B组成,R4,R6为分压电路,C1主要滤除VCC中纹波,U1B为LM324运算放大器,工作于电压跟随器方式,其特点是具有高输入阻抗低输出阻抗,为后级电桥提供较稳定的电流。电桥由R1,R2,R3,R13及热敏电阻组成,通过调节R13使电桥平衡,当温度发生变化时,热敏电阻变化,电桥产生电压差。运放电路由R7,R8,R9,R10及U1A组成,调节R14可以调节输出电压幅值。D1主要用于防止输出负电压,保护后级A/D电路。

2.测温电桥

燕 山 大 学 课 程 设 计 说 明 书 第7页 共30页

燕 山 大 学 课 程 设 计 说 明 书

图3.1.2 测温电桥

如上图所示,热敏电阻RT和RA1,RB1,RC1,以及可变电阻R2组成一个测温电桥,在温度为20度时,调节R2使电桥达到平衡。当温度升高时,热敏电阻的阻值变大,电桥失去平衡,电桥输出的不平衡电压,经过滤波后,输入运算放大器,进行放大处理。 3.电桥的分析

图3.1.3 电桥原理图

(1)电桥输出电压:

Uo?Uab?Uad?I11R11?I2R2

R1R4?)UIR?RR?R234 =1

((2)电桥平衡条件:

R1R3?R2R4

燕 山 大 学 课 程 设 计 说 明 书 第8页 共30页

燕 山 大 学 课 程 设 计 说 明 书

当各桥臂发生微小变化时,电桥失去平衡,其输出为:

UO?

(R1??R1)(R3??R3)-(R2??R2)(R4??R4)(R1??R1R2??R2)(R3??R3R4??R4)UI

一般?R很小,即?R<

R1R3?R2R4

??R1?R2?R3?R4?R1R2UO???R?R?R?R??(R?R)2UI234?12?1

实际使用中,为了简化桥路设计,同时也为了得到电桥的最大灵敏度,往往取桥臂电阻相等。 4.放大电路

最后经过放大部分,如图3.2.3,为压力传感器的微弱电压输出的放大电路。分析它是一

A?个差分放大电路,其放大倍数为

'UO?R31000250??R2369,那么放大后的电压值为

250?RO?RO9ROUI,因为RO和温度T有一定的线性关系,

A/D转换器的最大输入电

压为5v,因此对应A/D输出的电压,与热敏电阻感知的外界温度具有一定的线性关系。

燕 山 大 学 课 程 设 计 说 明 书 第9页 共30页

燕 山 大 学 课 程 设 计 说 明 书

图4.1.3放大电路

3.2 A/D变换电路模块

ADC0809是M美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换,是目前国内应用最广泛的8位通用A/D芯片。 1主要特性:

(1)8路输入通道,8位A/D转换器,即分辨率为8位 (2)具有转换启停控制端

(3)转换时间为100us(时钟为640kHZ时),130us(时钟为500KHZ时)

(4)它由单一+5V电源供电,片内带有锁存功能的8路模拟多路开关,ADC0809可对0V—5V的双极性模拟信号进行转换。

(5),引脚图如图4.2.1 所示。各引脚功能说明如下:

2?1?2?8:8位数字量输出引脚,由最低引脚到最高引脚。

燕 山 大 学 课 程 设 计 说 明 书 第10页 共30页

燕 山 大 学 课 程 设 计 说 明 书

IN0—IN7:8路模拟量输入引脚。

VCC:+5V工作电压。

GND:地。

REF(+):参考电压正端。 REF(—):参考电压负端。 START:A/D转换启动信号输入端。

ALE:地址锁存允许信号输入端。以上两个信号用于启动A/D转换。 EOC:转换结束信号输出引脚。开始转换时为低电平,转换结束时为高电平。 OE:输出允许控制端。用以打开三态数据输出锁存器。 CLK:时钟信号输入端。

ADDA、ADDB、ADDC:地址输入线。经译码后可选通IN0—IN7 8个通道的一个通道进行转换。

图3.2.1 ADC0809各引脚图

燕 山 大 学 课 程 设 计 说 明 书 第11页 共30页

燕 山 大 学 课 程 设 计 说 明 书

实验电路及接线如下图示 :

连线 1 2

图3.2.2 接线框图

A/D转换器的结构及连线图如上图所示,AD0809的工作过程如下:首先用指令选择0809的一个模拟输入通道,当执行MOVX @DPTR,A时,产生一个启动信号给START引脚送入脉冲,开始对选中通道转换。当转换结束后发出结束信号,置EOC引脚信号为高电平,该信号可以作为中断申请信号,当读允许信号到,OE端有高电平,则可以读出转换的数字量,利用MOVX A,@DPTR把该通道转换结果读到累加器A中。转换电压为0—5V,调节桥路中的电位器,使其输出电压为0—5V,可以在较小范围内波动,当满量程输出时对应八个1的输出,由于前边计算的电压变化和电阻变化成正比关系,而且电阻变化和应变成正比,进而得出的压力和电压是成正比的。传感器桥路输出的电压经过比例变换后转换成二进制码的形式送入P0口。其程序框图如下:

连接孔1 IN0 AD_CS 连接孔2 温度传感器输出 CS2 燕 山 大 学 课 程 设 计 说 明 书 第12页 共30页

燕 山 大 学 课 程 设 计 说 明 书

图3.2.3A/D转换电路程序框图

3.3八段数码管显示

1.实验线路及接线如下

连线 1 连接孔1 KEY/LED_CS 连接孔2 CS0 图3.3.1 接口图 2.动态显示数码管接线部分

燕 山 大 学 课 程 设 计 说 明 书 第13页 共30页

燕 山 大 学 课 程 设 计 说 明 书

燕 山 大 学 课 程 设 计 说 明 书 第14页 共30页

燕 山 大 学 课 程 设 计 说 明 书

图3.3.2 数码管电路接线图

用6 位8 段码LED 显示电路,只要按地址输出相应数据,就可以实现对显示器的控制。显示共有6 位,用动态方式显示。8 位段码、6 位位码是由两片74LS374 输出。位码经MC1413 或ULN2003 倒相驱动后,选择相应显示位。 本实验仪中 8 位段码输出地址为0X004H,位码输出地址为 0X002H。此处X 是由KEY/LED CS 决定,参见地址译码。做LED 实验时,需将KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。例如,将KEY/LED CS 接到CS0 上,则段码地址为08004H,位码地址为08002H 七段数码管的字型显示表如下:

显示过程如下:经过单片机P0输出的八位二进制码,变换成BCD码,在数码管上显示,经过段选信号和位选信号的控制,最后在相应数码管上显示出相应的温度值。程序框图 如下:

燕 山 大 学 课 程 设 计 说 明 书 第15页 共30页

燕 山 大 学 课 程 设 计 说 明 书

图3.3.3 数码管程序框图

译码插孔 CS0 CS1 CS2 CS3 CS4 CS5 CS6 CS7

地址范围 08000H~08FFFH 09000H~09FFFH 0A000H~0AFFFH 0B000H~0BFFFH 0C000H~0CFFFH 0D000H~0DFFFH 0E000H~0EFFFH 0F000H~0FFFFH 图3.3.4 地址码插孔及对应地址范围

3.4 8051芯片介绍

本实验采用8051单片机,其管脚图如下:

燕 山 大 学 课 程 设 计 说 明 书 第16页 共30页

燕 山 大 学 课 程 设 计 说 明 书

图3.4.1 80C51的引脚图

1.电源

(1)VCC - 芯片电源,接+5V; (2)VSS - 接地端; 2.时钟

XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 3.控制线(4根)

(1)ALE/PROG:地址锁存允许/片内EPROM编程脉冲。 ① ALE功能:用来锁存P0口送出的低8位地址。

② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 (2)PSEN:外ROM读选通信号。 (3)RST/VPD:复位/备用电源。

① RST(Reset)功能:复位信号输入端。 ② VPD功能:在Vcc掉电情况下,接备用电源。 (4)EA/Vpp:内外ROM选择/片内EPROM编程电源。

燕 山 大 学 课 程 设 计 说 明 书 第17页 共30页

燕 山 大 学 课 程 设 计 说 明 书

① EA功能:内外ROM选择端。

② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 4.I/O线

80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还有 第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

3.5 电源电路

电源是整套系统工作的基础,要实现温度的精确测量与显示跟一个合适的稳定的电源是密不可分的,由系统组成可知,系统要正常工作需要一个稳定的+5V电源,用来给测温电桥,单片机,显示模块,AD模块供电,要实现信号的放大还需要给放大模块提供稳定的+9V ,-9V电源。

第四章 温度传感器实验数据采集、显示及程序

4.1 数据采集及显示

数据处理子程序是整个程序的核心。主要用来调整输入值系数,使输出满足量程要求。另外完成A/D的采样结果从十六进制数向十进制数形式转化。系数转换在IN0输入的数最大为5V,要求压力80N对应的是5V,为十六进制向十进制转换方便,将系数进行一定倍数的变换,并用小数点位置的变化体现这一过程。数制之间的转换:在二进制数制中,每向左移一位表示数增加两倍。要求压力80N对应的是5V,而压力与电压的变换是线性关系,对应AD转换器的输出为八个1,当有一定的压力值输入时,对应这个关系转化成相应的二进制代码送入P0口。然后再反过来应用这个变化关系,经最终得到的数值进行二进制到BCD码转化,然后逐位在LED数码管上显示。

数据采集用A/D0809芯片来完成,主要分为启动、读取数据、延时等待转换结束、读出

燕 山 大 学 课 程 设 计 说 明 书 第18页 共30页

燕 山 大 学 课 程 设 计 说 明 书

转换结果、存入指定内存单元、继续转换(退出)几个步骤。ADC0809初始化后,就具有了将某一通道输入的0~5模拟信号转换成对应的数字量00H—FFH,然后再存入存储器的指定单元中。在控制方面有所区别。可以采用程序查询方式,延时等待方式和中断方式。 显示子程序是字符显示,首先调用事先编好数码管显示子程序。初始化命令,然后输出显示命令。在显示过程中一定要调用延时子程序。当输入通道采集了一个新的过程参数,当有压力信号输入时,调用显示子程序在数码管上显示。

4.2 程序的设计

ADC EQU 41H LED3 EQU 31H LED2 EQU 32H LED1 EQU 33H LED0 EQU 34H

ORG 0000H LJMP MAIN

MAIN:MOV LED0,#00H MOV LED1,#00H MOV LED2,#00H MOV LED3,#00H

LOOP:MOV DPTR,#08000H MOV A,#00H

燕 山 大 学 课 程 设 计 说 明 书 第19页 共30页

燕 山 大 学 课 程 设 计 说 明 书

MOVX @DPTR,A

LCALL DELAY

MOV DPTR,#08000H MOVX A,@DPTR MOV B,A MOV A,#0FFH CLR C SUBB A,B MOV ADC,A

TRSL:MOV A,ADC MOV R0,A XRL A,#0FFH JZ MAX

MOV A,R0 MOV B,#10 MUL AB MOV R0,A MOV A,B

MOV DPTR,#TABLE

燕 山 大 学 课 程 设 计 说 明 书 第20页 共30页

燕 山 大 学 课 程 设 计 说 明 书

MOVC A,@A+DPTR MOV LED2,A

MOV A,R0 MOV B,#10 MUL AB MOV R0,A MOV A,B

MOV DPTR,#TABLE MOVC A,@A+DPTR ADD A,#80H MOV LED1,A

MOV A,R0 MOV B,#10 MUL AB MOV A,B

MOV DPTR,#TABLE MOVC A,@A+DPTR MOV LED0,A

LCALL SMXS

燕 山 大 学 课 程 设 计 说 明 书 第21页 共30页

燕 山 大 学 课 程 设 计 说 明 书

SJMP LOOP

SMXS:MOV R0, #LED3 MOV R1,#4

MOV R2, #00100000B SMXS1:MOV DPTR,#09002H MOV A,#00H MOVX @DPTR,A

MOV A,@R0 MOV DPTR,#09004H MOVX @DPTR,A MOV DPTR,#09002H MOV A,R2

MOVX @DPTR,A

LCALL DELAY MOV A,R2 RR A MOV R2,A INC R0

DJNZ R1,SMXS1 MOV DPTR,#09002H MOV A,#00H

燕 山 大 学 课 程 设 计 说 明 书 第22页 共30页

燕 山 大 学 课 程 设 计 说 明 书

MOVX @DPTR,A

RET

DELAY:MOV R7,#10 DELAY1:MOV R6,#12 NOP DJNZ R6,$ DJNZ R7,DELAY1 RET

MAX:MOV LED3,#06H MOV LED2,#3FH MOV LED1,#3FH MOV LED0,#3FH

TABLE:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h db 7fh,6fh,77h,7ch,39h,5eh,79h,71h

第五章 拓展

DS18B20芯片测温显示系统

DS18B20数字单线温度计以9位数字量的形式反映器件的温度值。DS18B20通过一个单线接口发送或接收信息,因此在中央微处理器和DS18B20 之间仅需一条连接线(加上地线)。用于读写和温度转换的电源可以从数据线本身获得,无需外部源。因为每个DS18B20都有一个独特的片序列号,所以多只DS18B20可以同时连在一根单线总线上,这样就可以把温度传感器放在许多不同的地方。这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。

燕 山 大 学 课 程 设 计 说 明 书 第23页 共30页

燕 山 大 学 课 程 设 计 说 明 书

DS18B20依靠一个单线端口通讯。在单线端口条件下,必须先建立ROM操作协议,才能进行存储器和控制操作。因此,控制器必须首先提供下面5个ROM操作命令之一:1)读ROM,2)匹配ROM,3)搜索ROM,4)跳过ROM,5)报警搜索。这些命令对每个器件的激光ROM部分进行操作,在单线总线上挂有多个器件时,可以区分出单个器件,同时可以向总线控制器指明有多少器件或是什么型号的器件。成功执行完一条ROM 操作序列后,即可进行存储器和控制操作,控制器可以提供6条存储器和控制操作指令中的任一条。

一条控制操作命令指示DS18B20完成一次温度测量。测量结果放在DS18B20的暂存器里,用一条读暂存器内容的存储器操作命令可以把暂存器中数据读出。温度报警触发器TH和TL各由一个EEPROM字节构成。如果没有对DS18B20使用报警搜索命令,这些寄存器可以做为一般用途的用户存储器使用。可以用一条存储器操作命令对TH和TL 进行写入,对这些寄存器的读出需要通过暂存器。所有数据都是以最低有效位在前的方式进行读写。B不过与热敏电阻类似的,DS18B20也必须连接A/D转换器,以实现模拟与数字之间的转换,接线如下图:

与80c51单片机的接线部分,可以在单片机的最小系统中实现,我们连线时只需要连接我们需要的线路就可以了单片机最小系统如下:

燕 山 大 学 课 程 设 计 说 明 书 第24页 共30页

燕 山 大 学 课 程 设 计 说 明 书

显示采用八段数码管显示(实际上只会用到四段数码管)如图:

DS18B20测温程序如下:(由于水平有限故在此采用C语言程序) #include #include #include

#define uchar unsigned char #define uint unsigned int;

/*****************************************************************************/

//sbit seg1=P1^0;

燕 山 大 学 课 程 设 计 说 明 书 第25页 共30页

燕 山 大 学 课 程 设 计 说 明 书

//sbit seg2=P1^1; //sbit seg3=P1^2;

sbit DQ=P2^7;//ds18b20 端口 sfr dataled=0x80;//显示数据端口

/**********************************************************************/ uchar temp;

uchar flag_get,count,num,minute,second;

uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//7段数码管段码表共阴 uchar a,b;

/***********************************************************************/ void delay1(uchar MS);

unsigned char ReadTemperature(void); void Init_DS18B20(void);

unsigned char ReadOneChar(void);

void WriteOneChar(unsigned char dat); void delay(unsigned int i);

/************************************************************************/ main() {

TMOD|=0x01;//定时器设置 TH0=0xef; TL0=0xf0; IE=0x82;

TR0=1;//启动定时器 P1=0x00; count=0;

while(1) {

// str[2]=0x39;//显示C符号 a=tab[temp/10]; //十位温度 b=tab[temp]; //个位温度

if(flag_get==1) //定时读取当前温度 {

temp=ReadTemperature()-1; flag_get=0; } }

燕 山 大 学 课 程 设 计 说 明 书 第26页 共30页

燕 山 大 学 课 程 设 计 说 明 书

}

void tim(void) interrupt 1 using 1//中断,用于数码管扫描和温度检测间隔 {

TH0=0xef;//定时器重装值 TL0=0xf0; num++;

if (num==50) {num=0;

flag_get=1;//标志位有效 second++;

if(second>=60) {second=0; minute++; } } count++; if(count==1) {P1=0xfe;

dataled=a;}//数码管扫描 if(count==2) {P1=0xfd;

dataled=b;count=0;} /*if(count==3) { P1=2;

dataled=str[2]; count=0;}*/ }

/*************************************************************************************/

void delay(unsigned int i)//延时函数 {

while(i--); }

/***************************************************************************************/ //18b20初始化函数

void Init_DS18B20(void) {

燕 山 大 学 课 程 设 计 说 明 书 第27页 共30页

燕 山 大 学 课 程 设 计 说 明 书

unsigned char x=0; DQ = 1; //DQ复位 delay(8); //稍做延时

DQ = 0; //单片机将DQ拉低

delay(80); //精确延时 大于 480us DQ = 1; //拉高总线 delay(10);

x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay(5); }

//读一个字节

unsigned char ReadOneChar(void) {

unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i--) {

DQ = 0; // 给脉冲信号 dat>>=1;

DQ = 1; // 给脉冲信号 if(DQ)

dat|=0x80; delay(5); }

return(dat); }

//写一个字节

void WriteOneChar(unsigned char dat) {

unsigned char i=0; for (i=8; i>0; i--) {

DQ = 0;

DQ = dat&0x01; delay(5); DQ = 1; dat>>=1; }

delay(5);

燕 山 大 学 课 程 设 计 说 明 书 第28页 共30页

燕 山 大 学 课 程 设 计 说 明 书

}

//读取温度

unsigned char ReadTemperature(void) {

unsigned char a=0; unsigned char b=0; unsigned char t=0; //float tt=0; Init_DS18B20();

WriteOneChar(0xCC); // 跳过读序号列号的操作 WriteOneChar(0x44); // 启动温度转换 delay(200); Init_DS18B20();

WriteOneChar(0xCC); //跳过读序号列号的操作

WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度 a=ReadOneChar(); b=ReadOneChar();

b<<=4;

b+=(a&0xf0)>>4; t=b;

//tt=t*0.0625;

//t= tt*10+0.5; //放大10倍输出并四舍五入 return(t); }

第六章 心得体会

为期一周的单片机课程设计,让我在很多方面都有了相当大的收获。不仅有数模转换和单片机编程部分的知识,还有动态数码管的显示,以及由热敏电阻构成的温度传感器的相关知识。

此次单片机课程设计综合了传感器,运算放大器等,联系到很多方面的知识,让我们充分联系平时所学知识,全力以赴。它不仅是我巩固了之前所学的知识,加深了对学过知识的印象,还使我发现了自己对理论知识掌握还不够扎实,对一些知识点存在着错误的

燕 山 大 学 课 程 设 计 说 明 书 第29页 共30页

燕 山 大 学 课 程 设 计 说 明 书

认识。为今后的学习和工作都奠定了良好的基础。在完成课设的过程中,每一处都凝聚了老师和同学对我的帮助,所有的成果都是大家共同努力的成果。

在整个设计过程中,我懂得了许多东西,也培养了自己独立工作的能力,树立了对自己工作能力的信心。充分体会了在创造过程中探索的艰难和成功时的喜悦。

在最后,回想整个课程设计,我们看到了同学们专心研究,忙碌的身影,看到了学院领导和老师对我们严厉的监督和热情的指导。总之,这次课程设计让我收获颇丰,在以后的学习生活中,我一定会更加努力,满怀激情去面对!

参考文献

〔1〕张淑清.单片机原理及应用技术[M] . 国防工业出版社 2010 〔2〕蔡朝洋.单片机控制实习与专题制作[M] .北京航空航天大学出版社 2006 〔3〕李大友.单片机及应用[M] . 高等教育出版社

〔4〕胡汉才.单片机原理及接口技术(第2版)[M] . 清华大学出版社 2004

燕 山 大 学 课 程 设 计 说 明 书 第30页 共30页

本文来源:https://www.bwwdw.com/article/r9d7.html

Top