乐山师范学院毕业论文(设计)
步对该DS1820的读写作准备。 用于确定挂接在同一总线上DS1820的个数和识别搜索ROM 0F0H 64位ROM地址。为操作各器件作好准备。 忽略64位ROM地址,直接向DS1820发温度变换命跳过ROM 0CCH 令。适用于单片工作。 执行后只有温度超过设定值上限或下限的片子才做告警搜索命令 0ECH 出响应。 DS18B20的接线图如下所示:
U4t321VCCDQGNDDS18B2030.0
图3.3.3 DS18B20的接线图
DS18B20 时序
(a)初始化时序
图3.3.4 初始化时序图
(b)写时序
图3.3.5 写时序图
11
乐山师范学院毕业论文(设计)
(c)读时序
3.3.6读时序图
DS18B20的基本特性[6]:
1、独特的单线接口仅需一个端口引脚进行通讯 2、简单的多点分布应用 3、无需外部器件
4、可编程分辨率9~12位,对应可分辨温度分别为0.5℃ 、0.25℃ 、0.125℃ 、0.0625℃ 。 5、可通过数据线供电 6、温度以9位数字量读出
7、负压特性,电源接反时,芯片不会烧毁,但不能正常工作。 3.4 A/D转换芯片[6]:
在采用的A/D转换芯片是ADC0832,是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。体积小、兼容性好、性价比高。ADC0832的封装如3.4.1图:
[5]
图3.4.1 ADC0832的封装及各端口
ADC0832特点如下:
[6]
12
乐山师范学院毕业论文(设计)
? 8位分辨率 ? 双通道A/D转换
? 输入输出电平与TTL/CMOS兼容 ? 5V电源供电时输入电压在0~5V之间 ? 工作频率为250KHZ,转换时间为32μS ? 一般功耗仅为15 mW
芯片接口说明如下[6]:
? CS_ 片选使能,低电平芯片使能 ? CH0 模拟输入通道0,或作为IN+/-使用 ? CH1 模拟输入通道1,或作为IN+/-使用 ? GND芯片参考0电位
? DI数据信号输入,选择通道控制 ? DO 数据信号输出,转换数据输出 ? CLK 芯片时钟输入
? Vcc/REF 电源输入及参考电压输入(复用) 3.5数据采集模块:
本系统采用四个数码管来显示带一为小数位的温度,其接线如图3.5所示其中74LS164为移位寄存器,数码管采用共阳接法。
1918171615141312RP1U274HC5731d1d2d3d4d5d6d7d823456789Q0Q1Q2Q3Q4Q5Q6Q723456789d1d2d3d4d5d6d7d8111LEOED0D1D2D3D4D5D6D7RESPACK-8abcd 图3.5 数码管接线图 13
乐山师范学院毕业论文(设计)
3.6声光报警模块:
报警装置由蜂鸣器和指示灯组成:当气体浓度或温度超过限定值时,P1.4脚置为高电平,三极管导通,蜂鸣器即发出鸣叫报警。其电路原理图如下所示:
图3.6.蜂鸣报警电路
4 软件设计
4.1系统程序流程[7]:
为了便于系统维护和功能扩充,采用了模块化程序设计方法,系统各个模块的具体功能都是通过子程序调用实现的。本系统主要包括数据采集子程序、火灾判断与报警子程序等,系统程序流程如图4.1所示:在设计报警的子程序中,为了防止误报,提高判断的准确度,在设计时对烟雾的浓度采用快速重复检测和延时报警两种方法。
开始 初始化 第一次温度、气体浓度采集与判断 第一次采集数据 显示 第二次温度、气体浓度采集与判断 第二次采集数据 正常 否 报警判断 是 报警 火灾报警 图4.1 系统程序流程图
复位 14
乐山师范学院毕业论文(设计)
其流程是:首先在上电之后系统的各部分包括单片机输入输出端口的设置、数据存储电路、外围驱动电路等完成初始化,接下来执行火灾报警系统的数据采集程序、火灾判断报警程序。系统初始化后,先预热,灯闪烁三次以后倒计时30秒,灯不亮蜂鸣器不报警。倒计时结束后,显示设置报警烟雾浓度限值,按键可切换显示当前烟雾浓度、设置报警温度限值、当前温度、并可以按键调节设定数值。在本次设计中我将报警烟雾浓度范围设定为:2500 温度范围设定为:50,其中设定的范围都是可以通过软件中的程序做修改的。 4.2数据采集流程
在本次设计中系统实现报警功能是通过调用子程序来实现的,在数据采集子程序中,温度烟雾信号采集延时10 ms,是让ADC0832准备好进行下一次信号转换。当系统采集2次温度烟雾信号后,转换好的数据存入单片机寄存器中,系统再调用火灾判断子程序。系统温度烟雾信号采集流程图如图4.2所示: 开始 采集温度信号 中断 第二次采集数据 无中断 等待数据转换 接收温度数据 延时50毫秒 延时1s 等待数据转换
采集烟雾信号 中断 无中断 接收烟雾信号 第二次采集完毕
结束
图4.2 系统温度烟雾信号采集流程图
15