基于DS18B20的温度控制系统

合集下载

基于DS18B20的温度采集显示系统的设计

基于DS18B20的温度采集显示系统的设计

目录1.引言 (1)1.1绪论 (1)1.2课程设计任务书 (1)2.设计方案 (3)3.硬件设计方案 (3)3.1最小系统地设计 (3)3.2LED发光报警电路 (5)3.3DS18B20地简介及在本次设计中地应用 (5)3.3.1 DS18B20地外部结构及管脚排列 (5)3.3.2 DS18B20地工作原理 (6)3.3.3 DS18B20地主要特性 (7)3.3.4 DS18B20地测温流程 (8)3.3.5 DS18B20与单片机地连接 (8)3.4报警温度地设置 (8)3.5数码管显示 (9)3.5.1数码管工作原理 (9)3.5.2数码管显示电路 (10)3.6硬件电路总体设计 (11)4.软件设计方案 (12)4.1主程序介绍 (12)4.1.1主程序流程图 (12)4.1.2主流程地C语言程序 (13)4.2部分子程序 (17)4.2.1 DS18B20复位子程序 (17)4.2.2 写DS18B20命令子程序 (18)4.2.3读温度子程序 (20)4.2.4计算温度子程序 (22)4.2.5显示扫描过程子程序 (23)5.基于DS18B20地温度采集显示系统地调试 (25)6.收获和体会 (27)7.参考文献 (27)1.引言1.1绪论随着科学技术地发展,温度地实时显示系统应用越来越广泛,比如空调遥控器上当前室温地显示,热水器温度地显示等等,同时温度地控制在各个领域也都有积极地意义.采用单片机对温度进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度地技术指标.本文介绍了基于DS18B20地温度实时采集与显示系统地设计与实现.设计中选取单片机AT89C51作为系统控制中心,数字温度传感器DS18B20作为单片机外部信号源,实现温度地实时采集.并且用精度较好地数码管作为温度地实时显示模块.利用单片机程序来完成对DS18B20与AT89C51地控制,最终实现温度地实时采集与显示.采用单片机对温度进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度地技术指标.1.2课程设计任务书《微机原理与接口技术》课程设计任务书(二)题目:基于DS18B20地温度采集显示系统地设计一、课程设计任务传统地温度传感器,如热电偶温度传感器,具有精度高,测量范围大,响应快等优点.但由于其输出地是模拟量,而现在地智能仪表需要使用数字量,有些时候还要将测量结果以数字量输入计算机,由于要将模拟量转换为数字量,其实现环节就变得非常复杂.硬件上需要模拟开关、恒流源、D/A转换器,放大器等,结构庞大,安装困难,造价昂贵.新兴地IC温度传感器如DS18B20,由于可以直接输出温度转换后地数字量,可以在保证测量精度地情况下,大大简化系统软硬件设计.这种传感器地测温范围有一定限制(大多在-50℃~120℃),多适用于环境温度地测量.DS18B20可以在一根数据线上挂接多个传感器,只需要三根线就可以实现远距离多点温度测量.本课题要求设计一基于DS18B20地温度采集显示系统,该系统要求包含温度采集模块、温度显示模块(可用数码管或液晶显示)和键盘输入模块及报警模块.所设计地系统可以从键盘输入设定温度值,当所采集地温度高于设定温度时,进行报警,同时能实时显示温度值.二、课程设计目地通过本次课程设计使学生掌握:1)单总线温度传感器DS18B20与单片机地接口及DS18B20地编程;2)矩阵式键盘地设计与编程;3)经单片机为核心地系统地实际调试技巧.从而提高学生对微机实时控制系统地设计和调试能力.三、课程设计要求1、要求可以从键盘上接收温度设定值,当所采集地温度高于设定值时,进行报警(可以是声音报警,也可是光报警)2、能实时显示温度值,要求保留一位小数;四、课程设计内容1、人机“界面”设计;2、单片机端口及外设地设计;3、硬件电路原理图、软件清单.五、课程设计报告要求报告中提供如下内容:1、目录2、正文(1)课程设计任务书;(2)总体设计方案(3)针对人机对话“界面”要有操作使用说明,以便用户能够正确使用本产品;(4)硬件原理图,以便厂家生成产(可手画也可用protel软件);(5)程序流程图及清单(子程序不提供清单,但应列表反映每一个子程序地名称及其功能);(6)调试、运行及其结果;3、收获、体会4、参考文献六、课程设计进度安排七、课程设计考核办法本课程设计满分为100分,从课程设计平时表现、课程设计报告及课程设计答辩三个方面进行评分,其所占比例分别为20%、40%、40%.2.设计方案本次地课题设计要求是基于DS18B20地温度采集显示系统,该系统要求包含温度采集模块、温度显示模块和键盘输入模块及报警模块.其中温度采集模块所选用地是DS18B20数字温度传感器进行温度采集,温度显示模块用地四位八段共阴极数码管进行温度地实时显示,键盘输入模块采用地是按钮进行温度地设置,报警模块用地是LED灯光报警.具体方案见图2-1.图2-1 总体设计方案3.硬件设计方案3.1最小系统地设计本次设计单片机采用地是AT89C51系列地,它由一个8位中央处理器(CPU),4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个串行I/O口及中断系统等部分组成.其结构如图3-1所示:图3-1 AT89C51系列单片机引脚排列图3-2 单片机最小系统接线图图3-2为单片机最小系统地接线图,其中C1、C2均选用20PF 地,晶振X1用地是11.0592MHZXTAL1XTAL2 RST EA地.晶振电路中外接电容C1,C2地作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同时起到稳定频率地作用,一般选用10~30pF地瓷片电容.并且电容离晶振越近越好,晶振离单片机越近越好.晶振地取值范围一般为0~24MHz,常用地晶振频率有6MHz、12 MHz、11.0592 MHz、24 MHz 等.晶振地振荡频率直接影响单片机地处理速度,频率越大处理速度越快.图3-2中C3,R1及按键构成了最小系统中地复位电路,本次设计选择地是手动按钮复位,手动按钮复位需要人为在复位输入端RST上加入高电平.一般采用地办法是在RST端和正电源Vcc之间接一个按钮.当人为按下按钮时,则Vcc地+5V电平就会直接加到RST端.由于人地动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位地时间要求.在单片机最小系统中还要将EA地非接高电平,如图3-2也有体现出来.3.2 LED发光报警电路P1.7图3-3 LED发光报警电路图3-3为LED报警电路地接法,其中一根线接单片机地8号P1.7口,另外一根接地.当温度超过预设温度值时LED灯被接通发光报警.3.3 DS18B20地简介及在本次设计中地应用3.3.1 DS18B20地外部结构及管脚排列DS18B20地管脚排列如图3-4所示:DS18B20引脚定义:(1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)图3-4 DS18B20地引脚排列及封装3.3.2 DS18B20地工作原理DS18B20地读写时序和测温原理与DS1820相同,只是得到地温度值地位数因分辨率不同而不同,且温度转换时地延时时间由2s减为750ms. DS18B20测温原理如图3-5所示.图中低温度系数晶振地振荡频率受温度影响很小,用于产生固定频率地脉冲信号送给计数器1.高温度系数晶振随温度变化其振荡率明显改变,所产生地信号作为计数器2地脉冲输入.计数器1和温度寄存器被预置在-55℃所对应地一个基数值.计数器1对低温度系数晶振产生地脉冲信号进行减法计数,当计数器1地预置值减到0时,温度寄存器地值将加1,计数器1地预置将重新被装入,计数器1重新开始对低温度系数晶振产生地脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值地累加,此时温度寄存器中地数值即为所测温度.图中地斜率累加器用于补偿和修正测温过程中地非线性,其输出用于修正计数器1地预置值.图3-5 DS18B20测温原理图3.3.3 DS18B20地主要特性(1)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电;(2)独特地单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20地双向通讯;(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一地三线上,实现组网多点测温;(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管地集成电路内;(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;(6)可编程地分辨率为9~12位,对应地可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温;(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;(8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强地抗干扰纠错能力;(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作.3.3.4 DS18B20地测温流程图3-6 DS18B20地测温流程图3.3.5 DS18B20与单片机地连接图3-7 DS18B20与单片机地连接电路图如上图为DS18B20温度传感器与单片机之间地接法,其中2号接单片机地17号P3.7接口.DS18B20通过P3.7口将采集到地温度实时送入单片机中.3.4 报警温度地设置P2.5 P2.6 P2.7P3.7图3-8 报警温度地设置电路图3-8为报警温度地设置电路,其中K1,K2,K3分别接到单片机地P2.5,P2.6,P2.7口.其中K1用于报警温度设定开关,K2用于报警温度地设置时候地加温度(每次加一),K3用于报警温度地设置时地减温度(每次减一).实现了报警温度地手动设置.3.5 数码管显示3.5.1数码管工作原理图3-9 数码管地引脚排列及结构图3-9为数码管地外形及引脚排列和两种接法(共阴极和共阳极)地结构图.共阳极数码管地8个发光二极管地阳极(二极管正端)连接在一起.通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端.当某段驱动电路地输出端为低电平时,则该端所连接地字段导通并点亮.根据发光字段地不同组合可显示出各种数字或字符.此时,要求段驱动电路能吸收额定地段导通电流,还需根据外接电源及额定段导通电流来确定相应地限流电阻.共阴极数码管地8个发光二极管地阴极(二极管负端)连接在一起.通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端.当某段驱动电路地输出端为高电平时,则该端所连接地字段导通并点亮,根据发光字段地不同组合可显示出各种数字或字符.此时,要求段驱动电路能提供额定地段导通电流,还需根据外接电源及额定段导通电流来确定相应地限流电阻.要使数码管显示出相应地数字或字符,必须使段数据口输出相应地字形编码.字型码各位定义为:数据线D0与a字段对应,D1与b字段对应……,依此类推.如使用共阳极数码管,数据为0表示对应字段亮,数据为1表示对应字段暗;如使用共阴极数码管,数据为0表示对应字段暗,数据为1表示对应字段亮.如要显示“0”,共阳极数码管地字型编码应为:11000000B(即C0H);共阴极数码管地字型编码应为:00111111B(即3FH).依此类推,可求得数码管字形编码如表3-5所示.表3-5数码管字符表显示地具体实施是通过编程将需要显示地字型码存放在程序存储器地固定区域中,构成显示字型码表.当要显示某字符时,通过查表指令获取该字符所对应地字型码.3.5.2数码管显示电路图3-10 四位八段数码管动态显示电路图3-10为本次设计所用到地四位八段数码管动态显示,其中段选接到单片机地P0口,位选接到单片机地P2口地低四位.其中P0口也接地有上拉电阻,图中未标示出来,会在下面地总体电路中标示出来.采用地是动态显示方式.3.6 硬件电路总体设计图3-11为本次设计地硬件总体设计图,其中利用K1,K2,K3处进行报警温度地设置,然后有DS18B20进行实时温度采集,并在数码管上同步显示,若采集到地温度达到或者超过预设地报警温度,则LED 灯会发光报警,若低于该报警温度,则不会报警.P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.0 P2.1P2.2 P2.3图3-11 硬件电路总体设计图4.软件设计方案4.1主程序介绍4.1.1主程序流程图本次设计首先对程序进行初始化,然后打开报警温度设定开关,对报警温度进行设定,确认设定值后,DS18B20温度传感器进行温度采集并送入单片机中,单片机将传感器所检测到地温度同步显示在数码管上,并且与设置地报警温度进行比较,若达到或者超过报警温度时,LED灯发光报警,如果没有达到,则继续进行温度采集.图4-1主程序流程图4.1.2主流程地C语言程序main (){ALERT=0。

基于DS18B20的温度采集控制系统

基于DS18B20的温度采集控制系统


如 图 2 中 的 U3


以动态方式显 示

显示
送 出
位 控 信 号 由 P2
【] 3

送 出

经 U2 (
图 1
总体控 制框 图
7 4 LS 2 4 4 ) 进
行信号放 大
以 产生足 够 大 的 电流驱 动数

码 管显 示

数码 管 与单 片机 的连 接 见 图 2 所示 U3

U2 和
这里 我们采用单 片机最小系统 图 2 所示
2 1


系统硬件 电路 图如
U 1 的连 接

2 4

电机 控 制 模块
电机 采 用 直 流 电机

主控 制模块
由于 系统控制方案 简单

如 图 2 中的 B

1

额 定 电压 5 V


数据量也不 大


考虑 到 电路
调速采用
PW M
调速方法
利用单片机
P0 1 口

通过软

的 简单 和成 本 等 因 素
3I
0ND
一 D M 7 LS 4 4 Z
P O 2
22
O D' 1 R
P I 2

RS v P D XTAL2

I ==.
} 。 。
R 1 c 1 l‘ 千 一 F 亍 { -_ _一 3 0 p
G XL N T1 A D
85 91 5
自动

基于
DS 188 2 0

基于51单片机的温度监测系统(DS18B20)

基于51单片机的温度监测系统(DS18B20)
为产生写0时隙,在拉低总线后主机必须继续拉低总线以满足时隙持续时间 的要求(至少60μs)。在主机产生写时隙后,DS18B20会在其后的15到60us的一 个时间窗口内采样单总线。在采样的时间窗口内,如果总线为低电平,主机会 向DS18B20写入0。
DS18B20读时序
所有的读时隙都由拉低总线,持续至少1us后再释放总线(由于上拉电阻的作用,总线恢复为 高
配置寄存器
8 位 CRC 生成器
DS18B20的时序
DS18B20复位时序
DS18B20的所有通信都由由复位脉冲组成的初始化序列开始。该初始化序列由主 机发出,后跟由DS18B20发出的存在脉冲(presence pulse)。在初始化步骤中,总线 上的主机通过拉低单总线至少480μs来产生复位脉冲。然后总线主机释放总线并进入接收 模式。当总线释放后,5kΩ的上拉电阻把单总线上的电平拉回高电平。当DS18B20检测 到上升沿后等待15到60us,发出存在脉冲,拉低总线60-240us至此,初始化和存在时序 完毕。时序图如下:
1.主控制器电路和测温
电路的设计
主控制器电路由AT89S52 及外围时钟和复位电路构成, 测温电路由DS18B20、报警 电路组成。AT89C52是此硬 件电路设计的核心,通过 AT89S52的管脚P2.7与 DS18B20相连,控制温度的 读出和显示。硬件电路的功 能都是与软件编程相结合而 实现的。具体电路原理图如 右图2所示。
送1,以拉低总线的方式表示发送0.当发送0的时候,DS18B20在读时隙的末期将会释放总线,总线
将会被上拉电阻拉回高电平(也是总线空闲的状态)。DS18B20输出的数据在下降沿(下降沿产 生读时隙)产生后15us后有效。因此,主机释放总线和采样总线等动作要在15μs内完成。

基于DS18B20_的温度测量报警系统

基于DS18B20_的温度测量报警系统

0 引言温度测量方法较多,根据温度传感器的使用方式,通常可以把温度测量方法分为接触式法测温法和非接触式法测温法。

热敏电阻是最常用的接触式测温法之一,其广泛应用于工农业生产中。

传统的热敏电阻传感器需要搭配测量电路和其他电路进行信号处理,导致其可靠性、准确度和精确度降低[1]。

针对上述问题,美国DALLAS公司新推出了一种新型数字温度传感器-DS18B20,它具有功耗低、抗干扰能力强等优点[2]。

该文介绍了一种以DS18B20数字传感器和AT89C51系列单片机为核心的环境温度测量报警系统,该系统不仅可以实时测量温度,而且还可以根据用户需要,当环境温度出现异常时进行报警提醒。

同时,测得的温度数据会实时显示在输出设备上,为用户提供实时温度。

其硬件部分主要包括时钟电源电路、数码管显示电路、温度测量报警电路以及独立开关按键电路,软件部分主要包括独立按键触发检测程序、温度异常判决程序。

该系统结构简单、成本较低且抗干扰能力极高,可以应用于农业种植温室室温监测等场景,帮助相关产业提高工作效率,降低建设和维护所需的成本。

1 理论及方案设计DS18B20模块是一款由美国DALLAS半导体公司设计的数字温度传感器,它具有成本低廉、传输高效以及电路简单的特点。

该模块工作电压范围宽(3.0 V~5.5 V),并且当电源反接时不会立即烧毁。

DS18B20模块具有4种工作模式,对应4种不同的分辨率和转换时间。

通过改变配置寄存器中的R1位和R0位(R0\R1是配置寄存器中的2个数位)可以对DS18B20模块的工作模式进行设置,不同模式的工作参数见表1。

表1 工作效率参考数据分辨率/位最高转换时间/ms R1R0 993.750010187.500111375.001012750.0011整个测温系统分为的4个板块(如图1所示),通过与AT89C51系列单片机进行交互,共同完成环境温度监测报警工作。

时钟和电源为整个系统提供工作环境,独立按键可以帮助用户设置温度的上、下限,DS18B20模块将测得的实时温度发送给单片机,单片机将数据输出至显示模块(反馈给用户)。

基于DS18B20的室温温度控制器

基于DS18B20的室温温度控制器

201 届本科生毕业设计(论文)开题报告课题题目基于DS18B20的室温温度控制器学生姓名学号专业班级电信工程题目来源□科学技术□生产实践□社会经济 □自拟□经典□其它题目性质□理论研究 □应用研究□工程设计 □软件设计 □其他成果形式□论文 □设计说明书□实物 □软件 □作品联系电话一、选题的依据及意义温度是一个反映物体冷热程度的物理量,一种最基本的环境参数。

进入21世纪后,特别在我国加入WTO后,各行业急切需要应用电子技术、自动控制技术进行改造和提升,而工、农业生产和日常生活中的各个环节都与温度紧密相联,因此研究温度的测量方法和装置有重要的意义。

多点温度检测控制的应用领域:消防电气的非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统的温度检测,各类运输工具之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械等设备温度过热检测等。

在一些大型仓库中,如大型粮仓、油库,都需要进行实时多点温度检测及预警,以消除安全隐患。

温室里实行温度检测可以确保花卉或农作物的成活率,从而提高经济效益,由此可知温度检测具有广泛的可利用性。

二、国内外研究现状及发展趋势目前,典型的温度测控是由数字温度传感器和单片机组成,温度信号直接转换成数字信号,可接通讯接口电路,并且单总线上多点采集温度,使单片机的外围硬件接线简单、测温方便,可靠性高,适合于粮仓和温室等。

当然,也有不足之处,如该传感器价格相对较贵,不利于工农业中大量广泛的使用。

传统温度检测多采用温度敏感元件,有热敏电阻NTC、PTC、铂热电阻PT100和热电偶等,需要提取电信号、经放大调理、A/D变换、将温度相关数字信号处理得到温度测试数据,实际应用麻烦,结构复杂、设备成本高、数据传输易受干扰 、测量精度低、系统误差大等缺点,难以达到较高的测量精度和足够的实时性。

综上所述,利用单片机数字化、智能化的应用功能,结合单总线的数字传感器来完成基于DS18B20的温室温度控制的设计,可实现多点温度检测,报警控制,抗干扰强,维护方便等功能,在工业生产、人民生活的利用中有较好的发展前景。

(完整版)基于DS18B20的温度检测系统毕业论文

(完整版)基于DS18B20的温度检测系统毕业论文
下位机采用的是单片机基于数字温度传感器DS18B20的系统。DS18B20利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量。本系统可以应用在大型工业及民用常温多点监测场合。如粮食仓储系统、楼宇自动化系统、温控制程生产线之温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械…等。
第二章
温度检测系统有则共同的特点:测量点多、环境复杂、布线分散、现场离监控室远等。若采用一般温度传感器采集温度信号,则需要设计信号调理电路、AD转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降。所以多点温度检测系统的设计的关键在于两部分:温度传感器的选择和主控单元的设计。温度传感器应用范围广泛、使用数量庞大,也高居各类传感器之首。
附录二:电路原理图……………………………………………26
致谢 ………………………………………………………………30
摘要ቤተ መጻሕፍቲ ባይዱ
DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。
§3.1 电源以及看门狗电路………………………………………………………8
§3.2键盘以及显示电路………………………………………………………10
§3.2温度测试电路……………………………………………………………12

DS18B20温度控制系统设计

DS18B20温度控制系统设计

DS18B20温度控制系统设计【摘要】本设计通过以stc89c52单片机为核心,控制温度传感器ds18b20采集温度信号并直接以数字信号的方式传送给单片机,所测量结果由lcd1602显示出来,单片机将检测的温度与预先设定的温度值进行比较,该设定温度可以通过按键以1℃为单位进行调节。

当所测温度超过设定的温度值时,单片机将控制一个发光二极管和一个蜂鸣器进行声光报警,同时控制一个继电器的通断,达到简单调温的目的。

【关键词】单片机;ds18b20;lcd1602;声光报警一、功能简介本设计主要是以数字温度传感器ds18b20采集温度信号,将采集到的温度信号送给stc89c52单片机。

单片机将检测的温度与预先设定的温度值进行比较,该设定温度可以通过两个按键以1℃为单位进行调节。

当超过设定的温度值时,单片机将控制一个发光二极管和一个蜂鸣器进行声光报警,同时控制一个继电器的通断,达到简单调温的目的。

按模块可分为:(1)报警控制模块(2)温度采集模块(3)显示模块。

温度检测及显示要求实现以下功能:(1)用lcd直接显示读数、显示清晰直观。

(2)温度测量范围:0-100℃。

(3)可通过按键实现调节报警温度大小,单位1℃。

(4)精确度高。

(5)稳定性好。

二、方案简介理简单化。

采用温度芯片ds18b20测量温度,体现了作品芯片化这个趋势。

部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。

而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。

所以芯片的使用将成为电路发展的一种趋势。

本方案应用这一温度芯片,也是顺应这一趋势。

单片机温度控制系统是以ms-52单片机为控制核心,报警电路对温度监控的微机控制系统。

基本控制原理:ds18b20检测温度并将信号传送给单片机通过lcd显示出来,键盘设定温度上下限值,当所测温度超出所设置的初始温度时,报警装置响起,同时控制一个继电器的通断,达到简单调温的目的。

三、温度传感器的选取及特性选用美国dallas公司推出的一款单线数字温度传感器,此器件具有体积小,功耗低,精度高,可靠性好,易于单片机接口等优点其各方面特性都满足此系统的设计要求。

基于DS18B20的Mega16单片机温度采集系统

基于DS18B20的Mega16单片机温度采集系统

基于DS18B20的Mega16单片机温度报警系统陆和亮(2010800631)袁彦凯(2011110144)滕木(2011110111)王锐英(2011110132)设计思想:这次设计的是基于DS18B20的数字温度计,它具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。

1.设计中选用Mega16型单片机作为主控制器件。

2.采用DS18B20数字温度传感器作为测温元件,通过4位共阳极LED数码显示管并行传送数据,实现温度显示。

3.ADC0808和一个LF351运放构成电压放大器,实现温度和电压的转换。

工作流程:Mega16通过DS18B20直接读取被测温度值,送入单片机进行数据处理,之后单片机进行判断和比较并且输出6位LED数码管,并且将读取到的温度值进行比例运算输出ADC0808和运算放大器结合输出合适的温度。

最终完成了数字温度计的总体设计。

其系统构成简单,信号采集效果好,数据处理速度快,便于实际检测使用。

设计内容简介:本设计的内容主要对系统硬件部分的设计,包括温度采集电路和显示电路;再次对系统软件部分的设计,应用C语言实现温度的采集与显示。

并且附上部分源代码。

设计要求:温度报警器设计,具体要求如下:1.将被测温度(0~100摄氏度)转换为电压值;2.小于10摄氏度或大于30摄氏度,光报警(LED亮);3.可采用电阻组成测量电桥、具体方案:1、根据设计要求,选用Mega16单片机为核心器件;2、温度检测器件采用DS18B20数字式温度传感器,利用单总线式连接方式与单片机的串行接口PORTD.2引脚相连;3、显示电路采用6个LED数码管显示器接口和PORTD,PORTC口相连并行显示温度值一.单片机外围电路设计Mega16单片机系统包括晶体振荡电路、复位开关和电源部分。

下图为Mega16单片机的最小系统。

二.温度测量模块温度测量传感器采用DALLAS公司DS18B20的单总线数字化温度传感器,测温范围为-55℃~125℃,可编程为9位~12位A/D转换精度,测温分辨率达到0.0625℃,采用寄生电源工作方式,CPU只需一根口线便能与DS18B20通信,占用CPU口线少,可节省大量引线和逻辑电路三.显示报警模块显示部分选用4位Led数码管。

基于ds18b20的数字温度计设计报告

基于ds18b20的数字温度计设计报告

基于ds18b20的数字温度计设计报告
一、引言
随着科技的进步,温度的测量和控制变得越来越重要。

DS18B20是一款数字温度传感器,具有测量准确度高、体积小、接口简单等优点,广泛应用于各种温度测量场合。

本报告将介绍基于DS18B20的数字温度计设计。

二、DS18B20简介
DS18B20是一款由美国Dallas公司生产的数字温度传感器,可以通过数据线与微处理器进行通信,实现温度的测量。

DS18B20的测量范围为-55℃~+125℃,精度为±0.5℃。

三、数字温度计设计
1.硬件设计
数字温度计的硬件部分主要包括DS18B20温度传感器、微处理器、显示模块等。

其中,DS18B20负责采集温度数据,微处理器负责处理数据并控制显示模块显示温度。

2.软件设计
软件部分主要实现DS18B20与微处理器的通信和控制显示模块显示。

首先,微处理器通过数据线向DS18B20发送命令,获取温度数据。

然后,微处理器将数据处理后发送给显示模块,实现温度的实时显示。

四、测试结果
经过测试,该数字温度计的测量精度为±0.5℃,符合设计要求。

同时,该温度
计具有测量速度快、体积小、使用方便等优点,可以广泛应用于各种温度测量场合。

五、结论
基于DS18B20的数字温度计具有高精度、低成本、使用方便等优点,可以实现高精度的温度测量和控制。

随着科技的发展,数字温度计的应用将越来越广泛,具有广阔的市场前景。

基于ds18b20的温度计设计代码

基于ds18b20的温度计设计代码

基于DS18B20的温度计设计代码一、介绍DS18B20温度计DS18B20是一种数字温度传感器,由美国达拉斯半导体公司生产。

它采用单总线通信协议,并可以通过单总线接口进行多级串联。

DS18B20具有精度高、稳定性好、响应速度快等特点,因此在各种温度测量应用中被广泛使用。

二、DS18B20温度计设计代码在使用DS18B20温度传感器时,我们通常需要编写相应的代码来读取传感器的数据并进行温度计算。

以下是基于Arduino评台的DS18B20温度计设计代码:```c#include <OneWire.h>#include <DallasTemperature.h>#define ONE_WIRE_BUS 2 // 设置DS18B20数据线连接的Arduino 引脚OneWire oneWire(ONE_WIRE_BUS);DallasTemperature sensors(&oneWire);void setup() {Serial.begin(9600);sensors.begin();}void loop() {sensors.requestTemperatures(); // 发送获取温度命令float temperatureC = sensors.getTempCByIndex(0); // 获取温度值(摄氏度)float temperatureF = sensors.toFahrenheit(temperatureC); // 转换为华氏度Serial.print("Temperature: ");Serial.print(temperatureC);Serial.print("°C / ");Serial.print(temperatureF);Serial.println("°F");delay(1000); // 延时1s}```以上代码使用了OneWire库和DallasTemperature库来实现对DS18B20的温度测量。

基于DS18B20的温度报警器设计

基于DS18B20的温度报警器设计

基于DS18B20的温度报警器设计温度报警器是一种用于监测环境温度并在温度超过设定阈值时发出警报的设备。

基于DS18B20的温度报警器设计可以通过连接DS18B20数字温度传感器和微控制器来实现。

以下是一个基于DS18B20的温度报警器设计的详细描述。

1.硬件设计:-DS18B20温度传感器:DS18B20是一款数字温度传感器,其具有高精度、数字输出、单线传输等特点。

它可以直接与微控制器连接,并通过单线总线协议进行通信。

将其中一根引脚连接到微控制器的GPIO引脚上,并使用上拉电阻将其拉高,以实现简单的单线通信。

- 微控制器:选择一款适合的微控制器,例如Arduino、Raspberry Pi等。

微控制器应该具有足够的GPIO引脚用于连接其他外设,并具备相应的数据处理能力。

-报警器:可以选择蜂鸣器、发光二极管(LED)或其他适合的报警器作为报警设备。

这些设备应具有较大的声光输出,以便及时警示。

2.软件设计:-初始化:在程序中初始化设备的GPIO引脚,并设置它们的输入输出方式。

同时,初始化DS18B20传感器,启动单线总线通信。

-温度读取:通过发送相应的命令,从DS18B20传感器读取当前的温度值。

DS18B20的温度数据以二进制形式存储,并使用一定的协议进行传输。

通过解析二进制数据,并进行适当的计算,可以获得温度值。

-温度比较:将读取到的温度值与设定的阈值进行比较。

如果温度超过阈值,则触发报警。

-报警控制:当温度超过设定阈值时,触发报警器的开启。

该过程涉及控制报警设备的GPIO引脚,使其输出足够的声音或亮度,以引起用户的注意。

-报警复位:当温度降低到设定阈值以下时,关闭报警器。

通过控制报警设备的GPIO引脚,将其输出设置为低电平,以停止声音或亮度。

3.报警策略:-阈值设置:根据具体应用的需求,设定适当的温度阈值。

根据环境和使用要求,选择报警温度和报警时刻。

可以通过软件界面或外部调节器调整阈值。

-报警反馈:为了确保用户能够及时获得报警信息,可以通过增加报警设备的数量或设置报警通知的方式来提高报警反馈。

基于51单片机的DS18B20温度检测_设计报告

基于51单片机的DS18B20温度检测_设计报告

课程名称:微机原理课程设计题目:温度检测课程设计随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的温度检测仪。

本设计使用简便,功能丰富。

可以实现温度采集,温度报警,重设上下限温度值等功能。

在现代化的工业生产中,需要对周围环境的温度进行检测和控制。

本设计对温控报警问题展开思考,设计一个能根据需求设置低温到高温进行报警并通过数码管显示的系统。

该系统使用STC89C51单片机,同时运用单线数字温度传感器DS18B20,四位共阴数码管显示,按键控制等模块可实现温度的检测与设置。

课题经过实验验证达到设计要求,具有一定的使用价值和推广价值。

本作品使用四位共阴数码管显示,可以清晰地显示当前的报警温度,一定程度避免使用者使用时出错,安全可靠,可使用于各种食品储存室,植物养殖所等地方,实用性很高。

关键字:温度报警器 STC89C51单片机数码管 DS18B20一、课程设计目的和要求 (1)1.1 设计目的 (1)1.2 设计要求 (1)二、总体设计方案 (1)三、硬件设计 (2)3.1 DS18B20传感器 (2)3.2 STC89C51功能介绍 (6)3.3 时钟电路 (8)3.4 复位电路 (8)3.5 LED显示系统电路 (9)3.6 按键控制电路 (11)3.7 蜂鸣器电路 (11)3.8 总体电路设计 (12)四、软件设计 (14)4.1 keil软件 (14)4.2 系统主程序设计 (14)4.3 系统子程序设计 (15)五、仿真与实现 (18)5.1 PROTEUS仿真软件 (18)5.2 STC-ISP程序烧录软件 (19)5.3 使用说明 (20)六、总结 (21)一、课程设计目的和要求1.1 设计目的熟悉典型51单片机,加深对51单片机课程的全面认识和掌握,对51单片机及其接口的应用作进一步的了解,掌握基于51单片机的系统设计的一般流程、方法和技巧,为我们解决工程实际问题打下坚实的基础。

DS18B20水温控制系统+电路图程序

DS18B20水温控制系统+电路图程序

水温控制系统摘要:该水温控制系统采用单片机进行温度实时采集与控制。

温度信号由“一线总线”数字化温度传感器DS18B20提供,DS18B20在-10~+85°C范围内, 固有测温分辨率为0.5 ℃。

水温实时控制采用继电器控制电热丝和风扇进行升温、降温控制。

系统具备较高的测量精度和控制精度,能完成升温和降温控制。

关键字: AT89C51 DS18B20 水温控制Abstract: This water temperature control system uses the Single Chip Microcomputer to carry on temperature real-time gathering and controling. DS18B20, digitized temperature sensor, provides the temperature signal by "a main line". In -10~+85℃the scope, DS18B20’s inherent measuring accuracy is 0.5 ℃. The water temperature real-time control system uses the electricity nichrome wire carring on temperature increiseament and operates the electric fan to realize the temperature decrease control. The system has the higher measuring accuracy and the control precision, it also can complete the elevation of temperature and the temperature decrease control.Key Words:AT89C51 DS18B20 Water temperature control目录1. 系统方案选择和论证 (2)1.1 题目要求 (2)1.1.1 基本要求 (2)1.1.2 发挥部分 (2)1.1.3 说明 (2)1.2 系统基本方案 (2)1.2.1 各模块电路的方案选择及论证 (2)1.2.2 系统各模块的最终方案 (5)2. 硬件设计与实现 (6)2.1系统硬件模块关系 (6)2.2 主要单元电路的设计 (6)2.2.1 温度采集部分设计 (6)2.2.2 加热控制部分 (8)2.2.3 键盘、显示、控制器部分 (8)3. 系统软件设计 (10)3.1 读取DS18B20温度模块子程序 (10)3.2 数据处理子程序 (10)3.3 键盘扫描子程序 (12)3.4 主程序流程图 (13)4. 系统测试 (14)4.1 静态温度测试 (14)4.2动态温控测量 (14)4.3结果分析 (14)附录1:产品使用说明 (15)附录2:元件清单 (15)附录3:系统硬件原理图 (16)附录4:软件程序清单 (17)参考文献 (26)1.系统方案选择和论证1.1题目要求设计并制作一个水温自动控制系统,控制对象为1L净水,容器为搪瓷器皿。

基于DS18B20的温度采集系统设计

基于DS18B20的温度采集系统设计

2012 ~ 2013 学年第2 学期《单片机原理与应用》课程设计报告题目:基于DS18B20的温度采集系统设计专业: 自动化班级:电气工程系2013年5月3日任务书课题名称基于DS18B20的温度采集系统设计指导教师(职称)林开司摘要通过系统的分析和总结 ,得出温室大气温度信号的采集传感器件所需的测量程小 ,精确度不高 ,抗干扰性较强 ,经济性较好的结论。

并以此为依据 ,选用 DS18B20数字温度传感器为温度采集器件 ,进行了温度采集系统的硬件和软件设计 ,实现了采集系统分布式采集温度信号的功能。

同时 ,通过串行总线完成了采集系统与上位计算机的连接 ,实现了采集系统的网络化监控功能。

关键词温度采集;DS18B20温度传感器;仿真;单片机基于DS18B20的温度采集系统设计目录摘要 (I)第一章 DS18B20温度传感器 (1)1.1DS18B20的工作原理 (1)1.2DS18B20的使用方法 (3)第二章单片机AT89C51 (6)2.1AT89C51简介 (6)2.2AT89C51功能 (6)2.3AT89C51引脚 (6)第三章系统硬件电路设计 (9)3.1测温控制电路原理图 (9)3.2上电复位电路 (9)3.3时钟电路 (9)3.4数码管显示电路 (10)3.5温度报警电路 (11)第四章程序设计 (12)4.1DS18B20复位检测子程序流程图 (12)4.2温度转换子程序图 (12)4.3写DS18B20子程序图 (12)5.4读DS18B20子程序图 (13)4.5温度计算子程序图 (14)第五章调试与仿真 (14)第六章结论与体会 (16)参考文献 (17)附录: (18)答辩记录及评分表 (21)第一章 DS18B20温度传感器1.1 DS18B20的工作原理DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。

基于DS18B20的温度控制系统设计

基于DS18B20的温度控制系统设计
基于DS18B20的温度控制系统设计
摘 要: 该温度控制系统以STC89C52单片机为核心,采用DS18B20数字温度传感器采集温度,并以PWM形式输出,确保温度输出的稳定,再结合PID闭环控制,使系统能够更稳定地运行。先利用Proteus软件结合Keil软件仿真,再用STC89C52单片机进行实测,从而进一步验证了设计的可靠性和准确性,所控制温度的精度能达到&plusmn;1 ℃范围之内。该系统具有灵活性强、电路简单、可靠性高、易于操作等优点,能够实现对温度的稳定控制。关键词: STC89C52;DS18B20;PID闭环控制;Proteus
LCD1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的两条线是背光电源线。该模块用D0~D7作为8 bit双向数据线,4 bit数据分两次传送,可以节省CPU的I/O口资源[4]。 VSS、VDD分别接地和5 V电源。VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。E(或EN)端为使能(Enable)端,下降沿使能。DB0~DB7为双向数据总线。2 温度控制系统软件设计 系统程序主要包括主程序、初始化子程序、PID计算子程序、温度比较处理子程序、延时子程序、T0中断服务子程序和DS18B20驱动程序等。主程序流程图。
void PIDInit(struct PID*pp){&hellip;&hellip;{unsigned int dError,Error;Error=pp-&gt;SetPoint-NextPoint;//偏差pp-&gt;SumError+=Error;//积分dError=pp-&gt;LastError-pp-&gt;PrevError;//当前微分pp-&gt;PrevError=pp-&gt;LastError;pp-&gt;LastError=Error;return(pp-&gt;Proportion*Error//比例+pp-&gt;Integral*pp-&gt;SumError//积分项+pp-&gt;Derivative*dError);//微分项}3 实验结果 现利用Keil编辑程序结合Proteus所做的原理图进行仿真处理,仿真结果可以达到设计要求。本设计制作了硬件设计实物,通过PID控制,当加热电阻靠近温度传感器时,测量温度明显上升,并达到31℃(设置温度)。此后加热变缓,温度维持在31℃,系统温度误差精度可达到&plusmn;1℃之内,并且用蜂鸣器发出鸣响。当加热电阻离开温度传感器,测量温度会降低,当实测温度低于设置温度,蜂鸣器不响。再次设置温度,当加热电阻再次靠近温度传感器时,测量温度又明显上升到设置温度。 为了更好地观察实验结果,证明仿真结果的可靠性,体现本设计对温度控制的稳定性和精确性,经过多次设置不同的温度,实验记录数据如表1所示。从记录数据分析可知,本设计达到了预期的设计目标,控制温度误差范围在&plusmn;1℃之内。

基于51单片机DS18B20温度采集器详解

基于51单片机DS18B20温度采集器详解

一核心器件的基本构成及特性1.1 AT89S51功能特性89C51是INTEL公司MCS-51系列单片机中基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。

它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于80C51基础型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能。

89C51内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。

此外,89C51还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。

在空闲模式下冻结CPU 而RAM定时器、串行口和中断系统维持其功能。

掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。

89C51有PDIP(40pin)和PLCC(44pin)两种封装形式。

1.2 AT89S51管脚介绍AT89C51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。

如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM)、并行I/O口(4个8位I/O口)、串行口、定时器/计数器、中断系统及特殊功能寄存器。

它们都是通过片内单一总线连接而成,其基本结构依旧是微处理器(CPU)加上外围芯片的传统结构模式。

但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式,以实现不同的功能。

AT89C51单片机如图所示。

1.1.1引脚功能介绍Vcc(40引脚):接+5V电源。

Vss(20引脚):接地。

XTAL1(19引脚):片内振荡器反相放大器和时钟发生器电路的输入端。

XTAL2(18引脚):片内震荡器反相放大器的输出端。

RST:复位引脚,高电平有效。

基于DS18B20的无线温度监测系统

基于DS18B20的无线温度监测系统
XI ANG J i a n g
( S c h o o l o f T e l e c o mmu n i c a t i o n E n g i n e e r i n g , Xi d i a n U n i v e r s i t y , X i ’ a n 7 1 0 1 2 6 , C h i n a )
n R F 2 4 L系列 片上 系统控 制温度 采 集和无 线收发 。对 几 种热 门无线技 术 进行 了对 比分 析 并介 绍 了
温度 采 集和无 线传输 的硬 件 电路 设 计 ,下位 机 固件 程 序 以及 上 位 机 的 应 用软 件 设计 。 系统 体 积
小,功耗低 ,结构简单 ,扩展性好 ,在工业 自动化 与控 制,仪 器仪表检测 以及 医疗监护设备等
2 0 1 4年第2 期
文章编号 : 1 0 0 9— 2 5 5 2 ( 2 0 1 4 ) 0 2— 0 1 7 3— 0 5 中图分类号 : T N 9 1 1 . 7 ; T P 2 7 4 . 2 文献标识码 : A
基于 D S 1 8 B 2 0的 无 线 温 度 监 测 系统
c o ns u mp t i o n mi n i a t u iz r a t i o n a n d wi r e l e s s,t h i s pa pe r d e s i g n s a n d i mp l e me n t s a wi r e l e s s t e mp e r a t u r e mo ni t o in r g s y s t e m b a s e d o n DS1 8B2 0 o f t l l e d i g i t a l t e mp e r a t u r e s e n s o r . I t u s e s t h e No r d i c n RF u l t r a l o w

stm32基于ds18b20的温度测量实例 实验原理

stm32基于ds18b20的温度测量实例 实验原理

stm32基于ds18b20的温度测量实例实验原理
DS18B20是一款数字温度传感器,其测温范围为-55℃到+125℃,在-10℃到+85℃范围内误差为±°。

主机和从机通信使用单总线,即使用单线进行数据的发送和接收,在使用中不需要任何外围元件,独立芯片即可完成工作。

每个DS18B20都有独立唯一的64位-ID,此特性决定了它可以将任意多的DS18b20挂载到一根总线上,通过ROM搜索读取相应DS18B20的温度值。

单总线即只有一根数据线,系统中的数据交换,控制都由这根线完成。

One-Wire总线利用一根线实现双向通信,其协议对时序的要求较严格,如应答等时序都有明确的时间要求。

基本的时序包括复位及应答时序,写一位时序,读一位时序。

在复位及应答时序中,主器件发出复位信号后,要求从器件在规定的时间内送回应答信号;在位读和位写时序中,主器件要在规定的时间内读回或写出数据。

DS18B20的原理是基于以上这些特性的。

如果需要更详细的实验原理,可
以查阅相关资料或咨询专业人士获取帮助。

基于DS18B20的温度控制系统的设计

基于DS18B20的温度控制系统的设计
个全双工异步串行 口、 中断 系统 : 5 个 中断源 、 2个优先级 ) 组成 。该 单 片机不仅结 合 了 H M 0 S的高速和 高密度技 术 以及 C H M O S 的低 功耗 特征 ,而 且继承 和扩展 了 M C S 一 4 8 单 片机体 系结构和 指令 系
统。
2 . 2温度采集电路的设计 该 系统采用半导体温度传感器作为敏感元件。 传感器我们采 用
图 3 键 控 单 元 硬 件 电路
了D S 1 8 B 2 0 单 总线可编程温度传 感器, 来 实现对温度 的采集 和转 换, 直接输 出数字量 , 可以直接 和单 片机进行通讯 , 大大简化 了电路
的复 杂度 。D S 1 8 B 2 0应 用广泛 ,性能 可 以满 足题 目的设 计要 求 。 D S 1 8 B 2 0的与单片机的接 口连接电路图如图 2 所示 。
稳定 的设定值 ( 在一定温 度误差范 围内) 。 2 . I 单 片 机 的选 择
图2 D S 1 8 B 2 0的与 单 片 机 的 接 口连 接 电 路 图
P r ¨
单 片机 采用 A T 8 9 C 5 1 作为 本控 制系统 的核心 器件 , A T 8 9 C 5 1 基本型单片机由 C P U系统( 8 位C P U 、 时钟电路、 总线控制) 、 存储系 统 ( 4 K B的程序 存 储器 、 i 2 8 B的数 据存 储 器 、特 殊 功 能寄 存 器 S F R ) 、 I / O 口( 4 个并行 I / O 口) 其他单元 ( 2 个1 6 位定时 / 计数 器 、 1
其测温电路的实现是依靠单片机软件 的编程实现 的。 当
D S I 8 B 2 0 接收到温度转换命令后 , 开始启动转换 。转换 完成后 的温 度值 就以 1 6 位带符号扩展的二进制补码形式存储在高速暂存存储 器的 0 , 1 字节 。单 片机可通 过单线接 口 读 到该 数据 , 读 取时低位在 前, 高位在后 , 数据格式以0 .0 6 2 5 ℃/ L S B 形式表示, D S I 8 B 2 0 完 成温度转换后 , 就把测得的温度值( r r ) 与设定值f fH ) 做 比较 , 若T > T H 或T < T L , 则将 该器件内的告警标志置位 , 并对主机发 出的报警搜索 图 4显 示单元的硬件 电路图 命令做出响应。 调节 、测试则是将独立三键以简单 的硬件 电路与软件程序结合 , 看 2 . 3 键控单元电路的设计 是否能实现其在程序设计 中的按键功能 。如图 3 所示 。 键控单元 电路是以独立 的三键方式实现对 系统 温度 的设 定与
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
指导老师评语:
指导老师签名: 成绩:分为优、良、中、及格、不及格五等
年月日
uchar j; while(n--) {
for(j=0;j<113;j++); } }
//延时
void Delay7us(void)
//7us 延时程

{
_nop_();_nop_();_nop_();
}
void Delay10us(uchar n) //延时 10us {
do {
Delay7us(); }while(n--); }
系统使用说明: 一.硬件连接:1)K0=P3.0; K1=P3.1; K2=P3.2; K3=P3.3; DQ=P3.4;
LED1(red)=P3.5; LED2(greed)=P3.6; Beep=P3.7. 2)共阴极数码管使用 7SEG-MPX6-CC,它与硬件连接段码使用 P0 口,
位码使用 P2 口。 3)单片机为 AT89C52。 二.功能说明:1)K0 显示报警值(设定的温度上限值);K1 显示温度下限值;K2 进
void Anjian0(void) 的值 {
if(K0==0) {
DelayMs(10); if(K0==0) { flag_bj=1; } } }
// 显 示 报 警 最 高
void disp1() //温度设定的值显示 转化 {
Value(); Seg7_Disp(); }
void main(void) { uchar i;
sum++; if(sum==800){sum=0;} temp=sum; }
void Ex1Isr()interrupt 2 //减温值 { sum--;
if(sum==65536)sum=65535; temp=sum; }
系统调试记录:1)添入报警功能时,数码管显示乱码,通过增加延时解决; 2)主程序添加“while(1)”语句使程序循环显示判断; 3)按键功能无法数码管显示通过使用 “flag_bj”作为标志位判断, 以及“Value();”转化数值函数,然后经数码管显示完成设报警 值的功能。
uint i=40; while(i--); }
void Beep(void)
//报警程序
{
uint j;
for(j=200;j>0;j--)
{ BEEP=~BEEP;
d622us();
for(j=300;j>0;j--) {
BEEP=1; d622us(); } }
void DelayMs(uint n) 程序 {
void DS18B20_WByte(uchar dat) // 写 DS18B20 的一个字节 {
uchar i=0; for(i=8;i>0;i--) {
DQ=0; DQ=dat&0x01; Delay10us(5);// 约 54us DQ=1; dat>>=1; } }
uint DS18B20_R_T(void) {
电路原理图:
程序框图:
开始
DS18B20 初始化及中断设定
温度转化并显示
ቤተ መጻሕፍቲ ባይዱ

绿灯亮(正常运行)


K0==0?

INT0,INT1 中断进行加减温度
上限值
K1==0?

是否“超温”?

蜂鸣器报警,红灯亮(降温)
核心程序:
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
sum=temp; IE=0x85; TCON=0x05; DS18B20_Init(); DS18B20_WByte(0xCC); DS18B20_WByte(0xBE); Tbuff.T=DS18B20_R_T(); DelayMs(1000); while(1) {
DS18B20_Init(); DS18B20_WByte(0xCC); DS18B20_WByte(0xBE); Tbuff.T=DS18B20_R_T(); T_to_Buff(); for(i=0;i<30;i++) Seg7_Disp(); while(flag_bj) { disp1();
x39};
//共阴极
uchar
code
={0x01,0x02,0x04,0x08,0x10}; //位码
uchar Disbuf[]={12,12,12,12,12};
typedef union
{ uint T;
uchar tt[2];
}mty;
mty Tbuff;
void d622us(void) {
void Seg7_Disp()//数码管显示 {
uchar i; for(i=0;i<6;i++) {
P0=Disbuf[i]; P2=BitCode[i]; //p2 位码 DelayMs(1); } P2=0; }
}
void DS18B20_Init(void) 初始化 {
uchar x=0; DQ=1; Delay10us(9); DQ=0; Delay10us(80); DQ=1; Delay10us(37); }
课程设计报告
安徽文达信息工程学院电子工程学院
学 号 1340201*** 姓 名
李**
班级
13 级电子 信息工程
1班
成绩
专业
电子信息工程
课 程 单片机原理与应用 指导老师
***
题目
基于 DS18B20 的温度控制系统
1)实现温度检测,并以 3 位 LED 数码管显示测量温度值,2 位显示温度符号, 温度检测精确到 0.1 度。 任 务 2)当温度低于 30℃,单片机控制加热电路工作,当温度高于 40℃,停止加热。 制冷采用自然冷却方式。 3)能通过按键调节温度范围。 4 扩展功能:精确到 0.01 度。有声音报警功能。 方案论证:1)DS18B20 温度传感器是一线总线器件,一线总线标准的接线方式经济灵活, 非常容易组成传感器控制网络。DS18B20 的温度测量范围为-55~+125℃,在 -10~+85℃范围内,精度为 0.5℃。采用“一线总线”方式传输,可以大大提 高系统的抗干扰能力,所以本次课程设计以 DS18B20 作为温度采集传感器, 经单片机处理显示并具有高温报警功能。
//DS18B20
uchar DS18B20_RByte(void) // 读 DS18B20 的一个字节 {
uchar i=0; uchar dat=0; for(i=8;i>0;i--) {
DQ=0; dat>>=1; DQ=1; if(DQ) dat|=0x80; Delay10us(5);// 约 54us } return(dat); }
行温度报警值自加运算;K3 进行温度报警值自减运算; 2)LED1(red)亮表示达到温度设定值上限,需停止加热;
LED2(greed)亮表示温度处于正常状况,此时正在加热; 3)Beep 为蜂鸣器,当温度上限值进行报警,发声时间为 85ms,静音
125ms. 课程设计小结:
在本次课程设计的制作和研究中,我选取了 DS18B20 以及单片机并把它们联系到 一起而且还很好的完成了本次毕业论文设计的要求。首先,课程设计的思路很重要, 事先想好思路并一步步完成每部分的功能,直到最后根据程序框架做成一个完整系 统,所以设计需脚踏实地分歩攻克小难题。其次就是硬件,你要了解你要用到哪些元 器件,并且掌握这些元器件都有什么效果,用什么方法把他们连接起来是最好的方案, 当然还需要熟练的运用各种电子设计软件辅助。最后,本设计的拓展性很强,在老师 的帮助下才得以完成,教会我的不仅是理论知识,还有如何解决问题的方法,我能顺 利完成,与各位恩师的帮助密不可分,再次万分感谢。
//读温度
void T_to_Buff() //温度显示 {
uchar shi,ge,xshu; shi=Tbuff.T/100; ge=Tbuff.T/10-shi*10; xshu=Tbuff.T-shi*100-ge*10; //Disbuf[5]=SegCode[12]; Disbuf[4]=SegCode[shi]; Disbuf[3]=SegCode[ge]|0x80; Disbuf[2]=SegCode[xshu]; Disbuf[1]=SegCode[13]; Disbuf[0]=SegCode[14]; } void Value(void) //温度值设定显示 { uchar shi,ge,xshu; shi=temp/100; ge=temp/10-shi*10; xshu=temp-shi*100-ge*10; Disbuf[4]=SegCode[12]; Disbuf[3]=SegCode[shi]; Disbuf[2]=SegCode[ge]|0x80; Disbuf[1]=SegCode[xshu];
sbit BEEP=P3^7;
uint temp=300,i;
uint sum=300;
bit flag_bj=0;
uchar code SegCode[]=
{0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,
0x07,0x7F,0x6F,0x73,0x80,0x00,0x63,0
2)用四个按钮开关进行温度范围调节,K0 进行调节功能选择,K1 调节值的 确定,K2 外部中断 0 方式温度值增加,K3 外部中断 2 方式温度值减少。 3)扩展功能:精确地 0.01 度。实现方法:在“读温度”函数所得实际温度 扩大 100 倍,进行温度转化显示就可得到预期效果。
相关文档
最新文档