简易智能抽油烟机设计完整版

合集下载

智能油烟机的设计

智能油烟机的设计

目录设计总说明Household range hood total control system design 1.绪论设计的研究背景及意义油烟机的简介本章小结2.方案论证硬件的选择本章小结3.系统电路的设计检测电路设计煤气检测烟雾温度检测及显示按键输入系统自动复位电路主控制电路设计AT89S52A/D转换器本章小结.软件程序设计PWM波调速流程图4.结论5.参考文献6.附录7.致谢家用吸油烟机控制系统设计总说明随着科技的不断发展,在我们日常生活中抽油烟机扮演着很重要的角色,抽油烟机顾名思义就是要抽走油烟,一个好的抽油烟机可以创造一个好的烹饪环境,提高生活质量,在日常生活中我们见到的油烟机一般的只是实现油烟机的开关和对风速的调节,而本次对于油烟机系统的设计基本包括检测部分和控制部分,设计的任务是:单片机为核心控制抽油烟机,此次设计除了一般的功能外如:基本开关,风速强弱的调节,还要实现烟雾的自动检测,通过检测到的结果,来调节风力大小减少烟雾,最后要实现煤气的检测和报警功能并利用按键实现风速的手动控制。

设计中选用AT89S52单片机作为控制中心来控制抽油烟机系统,选用AT89S52单片机的原因是因S5x系列的单片机比起C5x系列的单片机来说拥有较低功耗,高性能特点,而且C5x 系列单片机上增加了看门狗定时器和在线更新程序的功能。

不需要在外部再外加看门狗,降低了单片机外围电路的复杂性。

根据任务书,实现抽油烟机的基本开关功能就是实现手动的启动和关闭功能,启动时抽油烟及通电风扇转动,抽油烟机正常工作,关闭时抽油烟机断电工作停止。

抽油烟机烟雾温度自动检测功能,本次设计中是对烟雾温度进行检测,将检测到的温度通过单片机AT89S52显示在液晶屏上,通过人对液晶屏上数据的显示来手动调节风速的强弱(大小)。

抽油烟机中检测烟雾温度的传感器使用的是DS18B20,能够感应并测量到的温度范围适用于日常烹饪时的温度坏境,并且内部有热温上、下限警告的设置,很适合应用在抽油烟机控制系统中。

基于语音控制的智能油烟机控制系统设计

基于语音控制的智能油烟机控制系统设计

基于语音控制的智能油烟机控制系统设计基于语音控制的智能油烟机控制系统设计DeignofIntelligentRangeHoodControlSytemBaedonVoiceControl内容摘要为了提高人们的生活质量,解决传统油烟机在使用过程中需要手动接触设置的问题,将会设计一款功能多样化的智能油烟机控制系统,使用语音指令实现对油烟机状态的选择,具备了通过语音控制选择风力大小,照明开关以及天然气泄漏检测的功能。

本论文主要做了以下几个方面的工作:分析了智能油烟机在国内外的市场以及研究现状,针对现代油烟机的基本要求,提出了基于语音控制的智能油烟机设计方案;构造出智能油烟机的硬件和软件的架构并且介绍了各个模块的具体情况;分析了油烟机语音控制系统的各个相应模块的驱动代码;最后使用相应的语音指令对所设计的智能油烟机系统做了风力控制、照明开关、报警功能以及延时关闭功能等四个测验,证明本设计的准确性和实用性。

用语音控制的油烟机是物联网下新的事物,也是大厂争相发展的一个方向。

同时语音控制的油烟机的核心竞争力是如何降低噪声,在嘈杂的环境下提高识别率,从而优化体验。

语音交互自亚马逊的智能音响发明以来,一直是智能家居乃至家电智能化发展的一步试探。

语音声控的应用与油烟机的结合,能够更好的方便人们做饭的手,满足厨房炒菜不用手指按动油烟机的场景使用。

同时可以加入物联网,通过语音控制家里更多的智能设备,从而促进家庭物联化的发展。

总之,语音控制技术将在智能家居中发挥重要的作用,所以用语音控制的智能油烟机具有重要的推广意义。

1.2国内外研究历史和现状语音控制最早可以追溯到2022年苹果推出的智能语音系统Siri,用户可以通过苹果手机语音执行一些操作。

但由于降噪、语音识别等问题受到了一些受限,在当时并未引起广泛关注。

亚马逊智能音箱Echo在2022年正式发布后,真正得到智能家居设计的广泛关注。

自此,国内各大互联网公司开始投入大量资金研发并且推出自己的智能语音产品,包括小米的小爱同学,阿里巴巴的天猫精灵等,以占据智能家居数据流量入口。

智慧油烟系统设计建设方案

智慧油烟系统设计建设方案
推动绿色发展
促进餐饮业绿色发展,提升行 业形象和社会责任感。
02
智慧油烟系统架构设计
整体架构设计思路
基于物联网技术,实现油烟监 测设备的远程管理和数据收集

采用云计算技术,对收集的数 据进行存储、分析和处理。
通过移动应用或Web端,为用 户提供实时的油烟监测数据和 报警信息。
系统应具备良好的可扩展性和 可维护性,以适应不同规模和 需求的油烟监测场景。
测试执行过程
按照测试用例的设计,逐步执行各项测试,记录测试结果并进行 分析。
测试结果分析和性能评估报告
测试结果分析
对测试结果进行详细的分析,包括功能实现情况、性能表现、安 全漏洞等方面,形成全面的测试报告。
性能评估报告
根据测试结果,对系统的性能进行评估,包括响应时间、吞吐量、 并发用户数等指标,为系统优化提供参考依据。
问题跟踪与改进
针对测试中发现的问题,进行跟踪和改进,确保问题得到及时解决 并优化系统性能。
06
智慧油烟系统应用推广前景分析
在餐饮行业的应用前景分析
油烟排放监控
实时监测餐饮企业油烟排放情况,确保符合国家 环保标准,降低污染。
能源管理优化
通过数据分析,为企业提供能源使用建议,降低 运营成本。
食品安全保障
软件系统功能模块划分
数据处理模块
对收集到的油烟数据进行清洗 、整合和分析,提取有价值的 信息。
数据展示模块
通过图表、曲线等形式,直观 地展示油烟监测数据和报警信 息,方便用户查看和分析。
设备管理模块
实现对监测设备的远程管理, 包括设备注册、配置、状态监 控等功能。
报警管理模块
根据设定的阈值,实时监测油 烟浓度,并在超标时触发报警 ,通知相关人员及时处理。

全智能抽油烟机的控制系统设计

全智能抽油烟机的控制系统设计

南阳理工学院本科生毕业设计(论文)学院:电子与电气工程学院专业:自动化学生:翟彦帅****:**完成日期2014 年 5 月南阳理工学院本科生毕业设计(论文)红外线心率计设计The Design of Infrared Heart Rate Meter总计:毕业设计(论文)28 页表格: 3 个插图:25 幅南阳理工学院本科毕业设计(论文)红外线心率计设计The Design of Infrared Heart Rate Meter学院:电子与电气工程学院专业:自动化学生姓名:翟彦帅学号:1209624096指导教师(职称):杨旭(讲师)评阅教师:完成日期:南阳理工学院Nanyang Institute of Technology红外线心率计设计自动化翟彦帅[摘要]心率是指人体心脏每分钟搏动的次数。

它是反映心脏是否正常工作的一个重要参数,为了提高心率测量仪的简便性和精确度,本课题设计了一种基于51单片机的心率测量仪。

本设计以STC89C52单片机为核心,采用红外传感器作为传感器,对采集到的信号进行放大整形处理后输送给单片机,从而实现对人体心率信号的准确检测,检测结果显示在LCD显示屏上,同时进行语音播报,由于脉搏频率与心率相同,因此本设计将人体脉搏作为测量对象。

[关键词]心率计;STC89C52;红外传感器;脉搏;语音播报The Design of Infrared Heart Rate MeterAutomation Specialty ZHAI Yan-shuaiAbstract:Heart rate is the number of the human heart beats per minute. It is an important parameters reflect the heart is working correctly, in order to improve the simplicity and accuracy of the apparatus used to measure the heart rate, this topic has designed a kind of heart rate measuring instrument based on 51 single-chip microcomputer.This design using the STC89C52 single-chip microcomputer as the core, using infrared sensors as sensor, after the collected signal amplification plastic processing to SCM, so as to realize the accurate detection of the human heart rate signal, the test results show that on the LCD screen, simultaneous speech, due to the pulse frequency and heart rate are the same, so this design will be the pulse of the human body as an object measurement.Key words:Heart rate meter; STC89C52; infrared sensor; pulse; voice broadcast目录1 引言 (1)1.1 课题研究目的和意义 (1)1.2 国内外的研究现状 (1)1.2.1 国外研究现状 (1)1.2.2 国内研究现状 (2)1.3 本文的主要内容 (2)2 系统总体方案设计 (3)2.1 控制器的选择 (3)2.2 检测元件的选择 (4)2.3 信号放大器的选择 (5)2.4 外围设备方案选择 (5)2.4.1 显示模块的选择 (5)2.4.2 语音模块的选择 (6)3 系统硬件设计 (7)3.1 控制单元电路设计 (7)3.1.1 STC89C52引脚介绍 (7)3.1.3 时钟电路设计 (9)3.1.4 复位电路设计 (9)3.2 信号采集电路设计 (9)3.2.1 红外光电脉搏传感器 (10)3.2.2 信号采集电路设计 (10)3.3 信号处理电路的设计 (11)3.3.1 信号放大器 (11)3.3.2 放大电路设计 (12)3.3.3 比较整形电路设计 (13)3.4 外围设备接口电路的设计 (14)3.4.1 显示器接口电路设计 (14)3.4.2 报警电路的设计 (15)3.4.3 语音播报模块 (15)4 系统软件设计 (17)4.1 总体设计思想 (17)4.1.1 程序设计方法的选择 (18)4.1.2 程序设计语言的选择 (18)4.2 主程序设计 (19)4.3 定时中断程序的设计 (19)4.4 INT中断程序设计 (20)5 调试与分析 (21)5.1 系统调试 (21)5.2 系统测试 (21)5.3 结果分析 (23)结束语 (24)参考文献 (24)附录 (25)致谢 (28)1 引言1.1 课题研究目的和意义心率是指人体心脏每分钟搏动的次数。

简易智能抽油烟机设计完整版

简易智能抽油烟机设计完整版
6
E
E(或EN)端为使能(enable)端,下降沿使能。
7
DB0
低4位三态、 双向数据总线 0位(最低位)
8
DB1
低4位三态、 双向数据总线 1位
9
DB2
低4位三态、 双向数据总线 2位
10
DB3
低4位三态、 双向数据总线 3位
11
DB4
高4位三态、 双向数据总线 4位
12
DB5
高4位三态、 双向数据总线 5位
(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃
(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温
(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快
(4)配置寄存器
该字节各位的意义如下:
表3:配置寄存器结构
TM
R1
R0
1
1
1
1
1
低五位一直都是"1",TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)
表4:温度分辨率设置表
(8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力
(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
图3:DS18B20测温原理框图
例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。

毕业设计(论文)-智能自控排烟器控制系统模板

毕业设计(论文)-智能自控排烟器控制系统模板

目录摘要 ........................................ 错误!未定义书签。

Abstract .. (4)引言 (5)1.系统基本原理方案设计 (6)1.1基本设计原则 (6)1.2控制系统方案选择 (7)1.3智能排烟器系统的整体布局 (7)1.4功能原理分析........................... 错误!未定义书签。

2.气敏传感器的选择及信号采集放大电路 (7)2.1 气敏传感器的选择 (8)2.1.1电阻型半导体气敏材料的导电机理 (9)2.1.2 电阻型半导体气敏传感器的结构 (9)2.1.3气敏器件的基本特性 (10)2.1.4带有温度补偿气敏传感器电路的设计 (10)2.2信号采集放大电路的设计 (10)3.系统的硬件设计 (11)3.1微处理器的选择 (12)3.2 A/D转换接口电路设计 (15)3.2.1ADC0809主要技术指标 (15)3.2.2 ADC0809功能介绍和硬件接口电路 (17)3.3系统驱动电路设计 (19)3.4电动机的选择 (20)4.软件程序设计 (20)4.1程序语言与内存划分 (20)4.2 程序主要模块和汇编语言编程 (22)5.控制系统总电路 ............................ 错误!未定义书签。

结束语 (25)参考文献 (26)致谢 (27)附录 (28)ContentsIntruduction ..................................................................... 错误!未定义书签。

1. Total programme design (6)1.1Design philosophy (6)1.2 The option of control system (7)1.3 The ware control systematic whole of smoke evacuation layou (7)1.4 The analysis of function and principle .................. 错误!未定义书签。

基于msp430f149单片机制作的简易自动抽油烟机的设计

基于msp430f149单片机制作的简易自动抽油烟机的设计

目录摘要.............................................................第一章绪论.......................................................油烟的危害...............................................油烟机、评定............................................第二章系统结构与原理............................................. 第三章硬件设计与计算.............................................检测电路设计............................................3.1.1 煤气检测...........................................3.1.2 油烟检测...........................................3.1.3 按键输入...........................................3.1.4 系统自动复位电路...................................主控制电路设计..........................................3.2.1 AT89C51............................................3.2.2 对油烟机的开关控制.................................3.2.3自动照明控制.......................................3.2.4定时显示电路.......................................3.2.5报警电路........................................... 第四章软件程序设计...............................................软件设计................................................4.1.1 主程序的设计.......................................4.1.2 中断键盘扫描.......................................4.1.3 LED显示子程序.....................................4.1.4 INTI中断报警服务程序.............................. 第五章结论.......................................................参考文献..........................................................第三章硬件设计与计算检测电路设计3.1.1 煤气检测1 对气敏元件的选择对煤气检测选用气敏电阻,气敏电阻是一种半导体敏感器件,它是利用气体的吸附而使半导体本身的电导率发生变化这一机理来进行检测的。

简易自动油烟机控制系统毕业设计完全版

简易自动油烟机控制系统毕业设计完全版

简易⾃动油烟机控制系统毕业设计完全版摘要本设计不仅具备油烟机基本开关功能,⽽且还能根据厨房在烧菜做饭过程中产⽣的烟⽓温度⾼,⽽泄漏的燃⽓温度低的特点,采取不同的传感器件,即对温度⾼、污染⼤的烟⽓采⽤热敏电阻检测,⽽温度低但危险⼤的燃⽓采⽤⽓敏传感器检测,当厨房的油烟或可燃有害⽓体达到⼀定浓度的值时,经传感器进⼊单⽚机分析,使电机电路⾃动启动并发出声⾳报警,吸油烟机迅速将有害⽓体抽⾛。

本设计设有定时功能,可对抽烟烟机进⾏⼯作时长的设定。

论⽂的硬件部分主要设计了油烟机的烟⽓、燃⽓检测模块,按键输⼊模块,定时显⽰模块,执⾏电路模块等,系统软件部分主要是对各模块的流程做了详细的的分析,控制主程序、中断按键扫描⼦程序、显⽰⼦程序,中断报警服务程序,以此从⽽实现抽油烟机⾃动控制的功能。

本次设计的抽油烟机主要靠单⽚机进⾏控制,通过软件设计来⾃动控制抽油烟机的开关,所以相对于普通的抽油烟机来说,根据其⾃动检测功能,具有灵活性⽐较好,功耗低,便于操作等特点。

关键词:单⽚机AT89C51,抽油烟机,检测,⾃动控制⽬录摘要............................................................ I ABSTRACT.................................... 错误!未定义书签。

第1章绪论.. (1)1.1抽油烟机 (1)1.2 研究意义 (1)1.3 国内现状 (2)第2章系统原理及组成 (3)第3章检测电路设计 (4)3.1 煤⽓检测 (4)3.1.1对⽓敏元件的选择 (4)3.1.2 煤⽓检测电路 (5)3.2 油烟蒸汽检测 (6)3.2.1热敏电阻的选择 (6)3.2.2油烟监测电路分析 (7)3.4 按键输⼊ (8)3.4.1 按键说明 (8)3.4.2 按键接⼝电路 (9)3.5 系统⾃动复位电路 (10)第4章主控制电路设计 (12)4.1 AT89C51简介 (12)4.2 对抽油烟机的开关控制 (14)4.2.1 SSR固态继电器的介绍 (14)4.2.2 SSR系列固态继电器选型 (15)4.2.3 单⽚机对抽油烟机的控制 (15)4.3 ⾃动照明控制 (16)4.3.1 光敏电阻介绍 (16)4.3.2光敏电阻的选型及电路连接图 (16)4.4 定时显⽰电路 (18)4.4.1 LED数码显⽰器概述 (18)4.4.2 LED数码显⽰器的接法 (18)4.4.3 数码管显⽰电路 (19)4.5 报警电路 (19)第5章程序设计 (21)5.1 主程序的设计 (21)5.2 中断键盘扫描 (22)5.3 LED显⽰⼦程序 (23)5.4 INT1中断报警服务程序 (24)第6章结论.................................... 错误!未定义书签。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

概要随着社会的进步,科技的发展,人们生活水平的提高,电子产品应用人们的生活方面的范围越来越宽。

本设计采用单片机技术结合A/D转换芯片构成的对油烟浓度进行检测,并对测试的环境温度进行检测,判断环境温度是否达到危险温度,如达到危险温度即发出警报,通过单片对检测的油烟浓烟进行处理并在LCD上显示出来,并对风扇进行控制,对风扇进行档位设置,当油烟浓度较低的时候开启1档进行油烟的抽出,当浓度较高时开启2档进行油烟的抽出,当油烟浓于某一个值时,自动关闭抽烟机的电源,起到一个智能控制的作用。

并能起到节能的作用,现在的社会是一个低能的社会,此产品因其耗能低,普及率高,便于用于实际生活。

本设计产用MQ-2烟雾传感器对油烟浓度进行检测,采用ADC0832对检测数据进行模数转化并将数据传输给单片机,产用AT89S52芯片进行处理,并控制风扇的转速。

采用DS18B20对环境温度进行检测,起到一个保护的作用。

采用1602液晶对温度与浓度进行显示。

关键字:LCD1602,ADC0832,DS18B20,MQ-2,AT89S52,油烟机,智能目录第一章:AT89S52单片机的认识第二章:MQ-2烟雾传感器的知识第三章:ADC0832 模数转化的设计第四章:油烟机风扇控制第五章: 1602液晶显示浓度与温度第六章:基于DS18B20温度传感器的温度测量与警报第七章:系统原理图第八章:整个系统的原程序整个系统流程图:第一章:AT89S52单片机的认识AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。

使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。

片上Flash 允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash ,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能:8k 字节Flash ,256字节RAM ,32 位I/O 口线,看门狗定时器,2个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

以下是本系统的AT89S52的最小控制系统原理图第二章:MQ-2烟雾传感器知识MQ-2是一种体电阻控制型的气敏器件,其阻值随被测气体的浓度(成分)而变化。

气敏器件又是一种“气——电”传感器件,它将被测气体的浓度(成分)信号转变成相应的电信号。

MQ-2引脚结构与常用连接电路图MQ-2有两种不同的结构分别为下图的A与B图A图B本设计产用MQ-2是图A所示的实物。

MQ-2的灵敏性特性图选择MQ-2做为本设计的原因是,MQ-2价格便宜,而且市场采购比较方便,便于使用,使用简单,只需将以上电路图连接好就能对油烟浓度进行检测,输出一个0~5V的模拟信号。

从而达到将“气”转换为“电”的目的。

MQ-2油烟检测模块电路图如下第三章:ADC0832模数转换设计ADC0832 是美国国家半导体公司生产的一种8 位分辨率、双通道A/D转换芯片。

由于它体积小,兼容性,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。

学习并使用ADC0832 可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。

ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。

其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。

芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。

独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。

通过DI 数据输入端,可以轻易的实现通道功能的选择。

在本设计中我们只采用一个通道。

ADC0832的引脚功能与引脚图如下·CS_ 片选使能,低电平芯片使能。

· CH0 模拟输入通道0,或作为IN+/-使用。

· CH1 模拟输入通道1,或作为IN+/-使用。

· GND 芯片参考0 电位(地)。

· DI 数据信号输入,选择通道控制。

· DO 数据信号输出,转换数据输出。

· CLK 芯片时钟输入。

·Vcc/REF 电源输入及参考电压输入(复用)。

ADC0832的时序功能图:本设计应用电路图如下第四章:油烟机风扇控制油烟机风扇控制系统采用两个继电器控制,当单片机I/O输出的dang1与dang2间有一个电压差两个继电器就会发生不同的吸合,从而使油烟机机风扇两端的电压、电流不同,风扇的转数从而收到控制。

单片机输出与档位的关系如下Dang1 0 1Dang2 1 0档位1 档位2本设计抽烟机风扇控制电路图第五章:1602液晶显示浓度与温度1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,其中:引脚符号功能说明1 VSS 一般接地2 VDD 接电源(+5V)3 V0 液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。

4 RS RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。

5 R/W R/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。

6 E E(或EN)端为使能(enable)端,下降沿使能。

7 DB0 低4位三态、双向数据总线0位(最低位)8 DB1 低4位三态、双向数据总线1位9 DB2 低4位三态、双向数据总线2位10 DB3 低4位三态、双向数据总线3位11 DB4 高4位三态、双向数据总线4位12 DB5 高4位三态、双向数据总线5位13 DB6 高4位三态、双向数据总线6位14 DB7 高4位三态、双向数据总线7位(最高位)(也是busy flag)15 BLA 背光电源正极16 BLK 背光电源负极寄存器选择控制表RS R/W 操作说明0 0 写入指令寄存器(清除屏等)0 1 读busy flag(DB7),以及读取位址计数器(DB0~DB6)值1 0 写入数据寄存器(显示各字型等)1 1 从数据寄存器读取数据注:关于E=H脉冲——开始时初始化E为0,然后置E为1,再清0. busy flag(DB7):在此位为被清除为0时,LCD将无法再处理其他的指令要求。

1602液晶读操作时序显示的地址表如下1602液晶写操作时序本设计1602液晶与单片机的连接图如下,RK为背光灯电阻。

第六章:基于DS18B20温度传感器的温度测量与警报美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持"一线总线"接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。

全部传感元件及转换电路集成在形如一只三极管的集成电路内。

一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。

现在,新一代的DS18B20体积更小、更经济、更灵活。

使你可以充分发挥“一线总线”的优点。

在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。

另外一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。

因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器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:DS18B20测温原理框图例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。

表2: DS18B20温度数据表DS18B20引脚定义:(1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。

图2:DS18B20内部结构图3)DS18B20温度传感器的存储器DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。

(4)配置寄存器该字节各位的意义如下:表3:配置寄存器结构TM R1 R0 1 1 1 1 1低五位一直都是"1",TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。

在DS18B20出厂时该位被设置为0,用户不要去改动。

R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)表4:温度分辨率设置表R1 R0 分辨率温度最大转换时间0 0 9位93.75ms0 1 10位187.5ms1 0 11位375ms1 1 12位750ms 基于DS18B20的温度检测模块蜂鸣器的警报电路第七章:系统原理图图1:protel图图2:proteus图第八章:整个系统的源程序#include<reg52.h>#include<intrins.h>unsigned char code table1[]="nongdu:" ;unsigned char code table3[]="wendu:";unsigned char code cent[]={"'C"};unsigned char flag,min,time,max=33,tltemp;//unsigned int chui;sbit rs=P2^0;sbit rw=P2^1;sbit e=P2^2;sbit s=P2^7;sbit bf=P0^7;sbit DB_B20=P3^4;sbit dio=P3^6;sbit cs=P3^5;sbit clk=P3^7;//sbit dang_1=P3^3;//sbit dang_2=P3^4;void delay_us(unsigned int time) //延时10us {int i,j;for(i=0;i<time;i++)for(j=0;j<10;j++);}void jingbao(){int i;if(min>=max){for(i=0;i<50;i++){s=!s;delay_us(5);};}}void delay1ms()//延时1ms{unsigned char i,j;for(i=0;i<4;i++)for(j=0;j<33;j++);}void delaynms(unsigned char n){unsigned char i;for(i=0;i<n;i++)delay1ms();}void fengshan(unsigned char chui){if(chui>=100){P1=0xfe;delaynms(10);}elseif(chui>=30&&chui<100){P1=0x7f;delaynms(10);}else{P1=0xff;delaynms(10);}}unsigned int adc_0832(){unsigned int i,dat;cs=1; //一个转换周期开始clk=0; //为第一个脉冲作准备cs=0; //CS置0,片选有效dio=1; //DIO置1,规定的起始信号clk=1; //第一个脉冲clk=0; //第一个脉冲的下降沿,此前DIO必须是高电平dio=1; //DIO置1,通道选择信号clk=1; //第二个脉冲,第2、3个脉冲下沉之前,DI必须跟别输入两位数据用于选择通道,这里选通道CH0clk=0; //第二个脉冲下降沿dio=0; //DI置0,选择通道0clk=1; //第三个脉冲clk=0; //第三个脉冲下降沿dio=1; //第三个脉冲下沉之后,输入端DIO失去作用,应置1clk=1; //第四个脉冲for(i=0;i<8;i++) //高位在前{clk=1; //第四个脉冲clk=0;dat<<=1; //将下面储存的低位数据向右移dat|=(unsigned char)dio; //将输出数据DIO通过或运算储存在dat最低位}cs=1; //片选无效return dat; //将读书的数据返回}bit busy(void){bit result;rs=0; //根据规定,RS为低电平,RW为高电平时,可以读状态rw=1;e=1; //E=1,才允许读写_nop_(); //空操作_nop_();_nop_();_nop_(); //空操作四个机器周期,给硬件反应时间result=bf; //将忙碌标志电平赋给resulte=0; //将E恢复低电平return result;}void write_com(unsigned char datee){while(busy()==1);rs=1;rw=1;_nop_();_nop_();rs=0;rw=0;e=0;_nop_();_nop_();_nop_();_nop_();e=1;P0=datee;_nop_();_nop_();_nop_();_nop_();e=0;}void write_dater(unsigned char datere){while(busy()==1);rs=1;e=0;P0=datere;_nop_();_nop_();_nop_();_nop_();e=1;_nop_();_nop_();_nop_();_nop_();e=0;}void init_1604(){delaynms(15);write_com(0x38);delaynms(2);write_com(0x38);delaynms(2);write_com(0x38);delaynms(2);write_com(0x0c);delaynms(2);write_com(0x06);delaynms(2);write_com(0x01);delaynms(2);}bit init(){ bit flag; //储存DS18B20是否存在的标志,flag=0,表示存在;flag=1,表示不存在DB_B20= 1; //先将数据线拉高for(time=0;time<2;time++) //略微延时约6微秒;DB_B20 = 0; //再将数据线从高拉低,要求保持480~960usfor(time=0;time<200;time++) //略微延时约600微秒; //以向DS18B20发出一持续480~960us的低电平复位脉冲DB_B20 = 1; //释放数据线(将数据线拉高)for(time=0;time<10;time++); //延时约30us(释放总线后需等待15~60us让DS18B20输出存在脉冲)flag=DB_B20; //让单片机检测是否输出了存在脉冲(DQ=0表示存在)for(time=0;time<200;time++) //延时足够长时间,等待存在脉冲输出完毕return (flag);}unsigned char read_onebyte()//读一个字节的数据{unsigned char i=0;unsigned char dat; //储存读出的一个字节数据for (i=0;i<8;i++){DB_B20=1; // 先将数据线拉高_nop_(); //等待一个机器周期DB_B20= 0; //单片机从DS18B20读书据时,将数据线从高拉低即启动读时序_nop_(); //等待一个机器周期DB_B20= 1; //将数据线"人为"拉高,为单片机检测DS18B20的输出电平作准备for(time=0;time<2;time++); //延时约6us,使主机在15us内采样dat>>=1;if(DB_B20==1)dat|=0x80; //如果读到的数据是1,则将1存入datelsedat|=0x00;//如果读到的数据是0,则将0存入dat//将单片机检测到的电平信号DQ存入r[i]for(time=0;time<8;time++); //延时3us,两个读时序之间必须有大于1us的恢复期}return(dat); //返回读出的十六进制数据}void write_onebyte(unsigned int dat)//写一个字节的数据{unsigned char i;for (i=0; i<8; i++){DB_B20=1; // 先将数据线拉高_nop_(); //等待一个机器周期DB_B20=0; //将数据线从高拉低时即启动写时序DB_B20=dat&0x01; //利用与运算取出要写的某位二进制数据,//并将其送到数据线上等待DS18B20采样for(time=0;time<10;time++);//延时约30us,DS18B20在拉低后的约15~60us期间从数据线上采样DB_B20=1; //释放数据线for(time=0;time<1;time++);//延时3us,两个写时序间至少需要1us的恢复期dat>>=1; //将dat中的各二进制位数据右移1位}for(time=0;time<4;time++); //稍作延时,给硬}void ready(){init();write_onebyte(0xcc);write_onebyte(0x44);delay_us(20);init();write_onebyte(0xcc);write_onebyte(0xbe);}/*void display_now(){unsigned char i;write_com(0x80);for(i=0;i<11;i++){write_dater(table[i]);}}*/void display_wen(){unsigned char j;write_com(0x80);for(j=0;j<7;j++){write_dater(table3[j]);}}void display_dian(){write_com(0x80+0x0a);write_dater('.');}void display_cent(){unsigned char k;write_com(0x80+0x0c);for(k=0;k<2;k++){write_dater(cent[k]);}}void display_zhengshu(unsigned int x) {unsigned int j,k,l;j=x/100;k=(x%100)/10;l=x%10;write_com(0x80+0x06);if(flag==1){write_dater('-');}else{write_dater('+');}write_dater(0x30+j);write_dater(0x30+k);write_dater(0x30+l);delay_us(100);}void display_xiaoshu(unsigned int y) {write_com(0x80+0x0b);write_dater(0x30+y);delay_us(100);}void display_yanwu1(){unsigned char i;write_com(0x80+0x40);for(i=0;i<8;i++){write_dater(table1[i]);}}void display_yanwu(unsigned int m){unsigned int i,j,k;i=m/100;k=m%10;j=(m/10)%10;write_com(0x80+0x47);write_dater(0x30+i);write_dater(0x30+j);write_dater(0x30+k);delay_us(100);}void main(){unsigned int di=0,gao=0,tn,td,z,mm;//shu是烟雾传感器检测的浓度init_1604();delay_us(1);if(init()==1)while(1);display_wen(); // 温度display_dian(); //小数点display_cent(); //单位display_yanwu1();while(1){flag=0;ready(); //读温度准备di=read_onebyte();gao=read_onebyte();if((gao&0xf8)!=0x00){flag=1;di=~di;gao=~gao;z=di+1;di=z;if(z>255)gao++;tn=gao*16+di/16;td=(di%16)*10/16;}else{tn=gao*16+di/16;td=(di%16)*10/16;}min=tn;jingbao();display_zhengshu(tn);display_xiaoshu(td);mm=adc_0832();//chui=mm;fengshan(mm);display_yanwu(mm);}}。

相关文档
最新文档