基于51单片机和Labview的家庭烟雾和温度报警系统
基于51单片机的智能烟雾报警系统的设计
![基于51单片机的智能烟雾报警系统的设计](https://img.taocdn.com/s3/m/7ab27013ae45b307e87101f69e3143323868f55d.png)
基于51单片机的智能烟雾报警系统的设计AbstractThe intelligent smoke alarm system based on 51 single-chip microcomputer is designed to reduce the risk of fire accidents caused by human negligence. This system uses a smoke sensor, a temperature sensor, a buzzer and a display module to detect and alarm in the occurrence of smoke and high temperature. The design of the entire system is controlled by the 51 single-chip microcomputer. The paper discusses the design and implementation of the system, the algorithm for information processing, the choice of material and the hardware structure. The system has high reliability and good practicability, and can effectively improve the safety factor of the living environment.IntroductionIn recent years, with the increase in housing density and the use of electrical appliances, the frequency of fire incidents has gradually increased. The smoke caused by fireis the main cause of death and injury, and it is difficult to detect by human senses. Therefore, the development of intelligent smoke alarm system is of great significance to improve the safety factor of the living environment.This paper designs an intelligent smoke alarm system based on 51 single-chip microcomputer, which can detect smoke and high temperature and accurately alarm. This system is composed of a smoke sensor, a temperature sensor, a buzzer and a display module. The entire system is controlled by 51 single-chip microcomputer, which has strong practicality andreliability.Design and ImplementationHardware designThe smart smoke alarm system is mainly composed of four parts: a smoke sensor, a temperature sensor, a buzzer and a display module. The smoke sensor and the temperature sensor are set on the same PCB board, and the buzzer and the display module are set on another PCB board.The smoke sensor is used to detect the smoke concentration in the environment. When the smoke concentration exceeds the threshold, the output signal of the smoke sensor is sent to the 51 single-chip microcomputer. The temperature sensor is used to detect the ambient temperature changes, and when the temperature exceeds the threshold, the temperature sensor sends an output signal to the 51 single-chip microcomputer. The buzzer is used to output the alarm sound, and the display module is used to display the alarm information.Software designThe software design of the intelligent smoke alarm system includes information processing algorithm design,error handling design and system control design. The information processing algorithm includes smoke detection and temperature detection. When the smoke concentration or temperature exceeds the threshold, the system will start the alarm sound and display the alarm information on the display module. The error handling design mainly includes fault detection and fault alarm. When the system fails, the buzzer will alarm and display the error information on the display module. The system control design includes system startup, control and shutdown.Material SelectionThe main materials used in the smart smoke alarm system include the 51 single-chip microcomputer, PCB board, smoke sensor, temperature sensor, buzzer and display module. Inorder to ensure the stability and reliability of the system, high-quality and reliable raw materials need to be selected.The chosen smoke sensor is a high-sensitivity and high-precision smoke sensor, which can accurately detect changesin smoke concentration. The temperature sensor is athermistor type temperature sensor, which can accuratelydetect the ambient temperature changes. The buzzer is a high-decibel buzzer, which can output loud alarm sound. Thedisplay module is a 16x2 LCD display module, which candisplay alarm information.ConclusionIn this paper, a smart smoke alarm system based on 51 single-chip microcomputer is designed and implemented. The system can monitor the smoke concentration and temperature changes in the environment, and give an accurate alarm signal. The system uses high-quality raw materials and has high reliability and good practicability. The intelligent smoke alarm system can effectively improve the safety factor of the living environment, and is of practical value in the field of fire safety.。
基于labview的烟雾报警系统
![基于labview的烟雾报警系统](https://img.taocdn.com/s3/m/519dff924028915f804dc2fd.png)
基于labview的烟雾报警系统器材:计算机(装有labview)SL-1 型单片机开发试验箱一个、MQ-2 气体模块一个、ADC0809 芯片。
实现功能:通过上位机实时监测气体浓度,并与上位机设定的报警阀值比较,若超过气体浓度报警值,则上下位机同时报警。
实时改变气体报警值,通过上位机传给下位机判断。
电路原理图:参见ADC0809datasheet 和MQ-2 气体传感器模块参数。
传感器根据气体浓度输出0~5V 模拟电压输入到0809 的模拟输入端。
调式:通过串口调试助手检测数据传送的正确性。
程序:#include#include#include#define uchar unsigned char#define uint unsigned intsbit CLK=P3; //时钟输出sbit ST=P2; //启动转换输入信号sbit OE=P2;//允许输出信号sbit EOC=P3 ; //使用中断,则比T0 中断优先级低uchar DATA; //存放A/D 转换数据sbit Beep=P2;uchar aa;void delayxms(uint x) //延时{for(i=x;i>0;i--)for(j=110;j>0;j--);}void delayxus(uint x) //延时xus{uint i;for(i=x;i>0;i--)_nop_();}void init(void){TMOD=0x22; //定时器0 自动重装8 位,用于产生CLK,定时器1 设置串口参数TH0=237; //50kHZTL0=237;TL1=0xf3;TH1=0xf3;//2400bpsTR1=1;TR0=1;SM0=0;SM1=1;EA=1;ET0=1;ES=1;ST=0;OE=0;}void ADC0809(){ST=0;OE=0;//LE=1;P0=0x00;LE=0; //选择通道delayxus(2);ST=1; //启动AD 转换delayxus(10);ST=0;delayxus(200);while(EOC==0); //查询EOC=1 时,转换完毕OE=1;DATA=P1;//DATA 为AD 转换后的数据delayxus(20);OE=0;}tips:感谢大家的阅读,本文由我司收集整编。
基于单片机的远程烟雾报警系统
![基于单片机的远程烟雾报警系统](https://img.taocdn.com/s3/m/10ba90ca8662caaedd3383c4bb4cf7ec4afeb62f.png)
基于单片机的远程烟雾报警系统一、本文概述随着科技的发展和人们生活水平的提高,智能家居和智能安全系统已成为现代生活中不可或缺的一部分。
其中,烟雾报警系统作为预防火灾的重要设备,在家庭、工厂、学校等场所中发挥着至关重要的作用。
传统的烟雾报警系统大多依赖本地报警,即在烟雾超标时,仅能在现场发出警报,无法及时通知远离现场的人员。
因此,开发一种基于单片机的远程烟雾报警系统,以实现远程监控和报警功能,具有重要的现实意义和应用价值。
本文旨在设计并实现一种基于单片机的远程烟雾报警系统。
该系统采用单片机作为核心控制器,通过烟雾传感器实时监测环境中的烟雾浓度,当烟雾浓度超过预设阈值时,系统不仅会在现场发出声光报警,还会通过无线通信技术将报警信息发送到远程用户手中,从而实现远程报警的功能。
本文将详细介绍该系统的硬件设计、软件编程、系统测试以及实际应用效果,以期为相关领域的研究和应用提供参考和借鉴。
二、系统概述随着现代科技的发展和人们生活水平的提高,对于生活环境的安全性要求也日益提高。
烟雾报警系统作为预防火灾的重要手段,其重要性不言而喻。
传统的烟雾报警系统大多采用有线连接方式,安装布线复杂,且扩展和维护困难。
因此,开发一种基于单片机的远程烟雾报警系统,既能实现烟雾检测报警,又能通过无线传输方式实现远程监控,具有重要的现实意义和应用价值。
本系统主要由烟雾传感器、单片机、无线通信模块等部分组成。
烟雾传感器负责实时监测环境中的烟雾浓度,一旦检测到烟雾浓度超过预设阈值,便会向单片机发送报警信号。
单片机作为系统的核心控制部件,负责接收传感器的报警信号,并通过无线通信模块将报警信息发送至远程监控中心。
监控中心收到报警信息后,可立即采取相应的处理措施,如通知消防部门或启动自动灭火系统等,从而实现对火灾的有效防控。
本系统具有安装简便、扩展性强、维护方便等优点。
通过引入无线通信技术,实现了对烟雾报警系统的远程监控和管理,提高了系统的智能化水平和响应速度。
基于51单片机的温度报警系统设计
![基于51单片机的温度报警系统设计](https://img.taocdn.com/s3/m/0ebdf8c470fe910ef12d2af90242a8956aecaa4d.png)
基于51单片机的温度报警系统设计温度报警系统是一种常见的安全监控系统,它可以监测环境温度,并在温度达到设定阈值时发出警报。
本文将介绍一个基于51单片机的温度报警系统的设计。
一、系统设计目标和功能本系统的设计目标是实时监测环境温度,并在温度达到预设阈值时发出警报。
具体功能包括:1.温度采集:通过温度传感器实时采集环境温度。
2.温度显示:将采集到的温度值通过数码管显示出来。
3.温度比较:将采集到的温度值与预设的阈值进行比较。
4.报警控制:当温度超过预设的阈值时,触发警报控制器。
5.报警指示:通过蜂鸣器或者LED灯等方式进行报警提示。
二、硬件设计本系统的硬件设计包括主控部分和外围部分。
1. 主控部分:使用51单片机作为主控芯片,通过AD转换器和温度传感器实现温度数据采集。
采用片内RAM和Flash存储器对数据进行处理和存储。
2.外围部分:包括数码管显示和报警指示。
使用数码管模块将温度值进行显示,使用LED灯或者蜂鸣器进行报警指示。
三、软件设计本系统的软件设计包括程序的编写和算法的设计。
1.程序编写:使用C语言编写单片机的程序。
程序主要包括温度采集、温度比较、报警控制和报警指示等功能。
2.算法设计:根据采集到的温度值与预设阈值进行比较,判断是否触发警报控制器。
同时,根据警报控制器的状态,控制报警指示的开关。
四、系统测试完成硬件和软件设计后,需要进行系统测试以验证系统的正确性和稳定性。
1.硬件测试:对硬件电路进行测试,包括电源、信号传输和外围器件等方面。
测试时需要注意电源的稳定性,信号的准确性和外围部件的工作状态。
2.软件测试:进行程序的运行测试,检查各功能是否正常运行。
特别关注温度采集和比较、报警控制和报警指示等功能。
五、系统性能分析对系统的性能进行分析,包括温度采集的准确性、报警控制的响应时间和报警指示的稳定性等方面。
1.温度采集准确性:主要受温度传感器的精度和ADC转换的准确性影响。
在设计中要选择合适的传感器和ADC。
基于51单片机的温度检测报警系统
![基于51单片机的温度检测报警系统](https://img.taocdn.com/s3/m/ecbe061dae45b307e87101f69e3143323868f542.png)
基于51单片机的温度检测报警系统摘要本文介绍了一种基于51单片机的温度检测报警系统的设计方案。
该系统能够实时检测环境温度,并在温度超出设定范围时触发报警器进行报警,从而实现对环境温度的监测和控制。
本文将主要涉及系统的硬件设计、软件设计和实现过程。
系统硬件设计本系统所需的核心硬件有:51单片机、温度传感器DS18B20、LED指示器和蜂鸣器,其中51单片机作为系统的控制中心,主要负责对温度传感器进行采集并触发LED指示器和蜂鸣器进行报警处理。
系统硬件电路图如下:TODO: 插入电路图其中,温度传感器DS18B20通过单总线协议连接到51单片机的P1.0引脚。
P1.1引脚连接到LED指示器,P1.2引脚连接到蜂鸣器。
系统软件设计本系统的软件设计主要分为两部分:主程序和温度采集程序。
主程序包括了系统的初始化、温度检测、温度报警、LED指示器和蜂鸣器控制等模块。
温度采集程序则是通过调用DS18B20的寄存器读写命令从传感器读取温度。
具体实现过程如下:主程序TODO: 插入代码主程序包含以下模块:1.系统初始化:配置P1.0引脚为输入模式,P1.1和P1.2引脚为输出模式。
2.温度检测:调用温度采集程序获取当前温度值,并判断是否超出指定范围。
3.温度报警:如果温度超出指定范围,则触发LED指示器和蜂鸣器进行报警处理。
4.LED指示器控制:根据温度超出指定范围的状态,对LED指示器进行开关控制。
5.蜂鸣器控制:根据温度超出指定范围的状态,对蜂鸣器进行开关控制。
温度采集程序TODO: 插入代码温度采集程序包含以下功能:1.向DS18B20发送获取温度命令。
2.从DS18B20读取温度数值。
3.根据读取到的值计算温度并返回。
系统实现过程本系统的实现过程包括系统硬件的组装和系统软件的编写。
硬件组装过程主要是将51单片机、温度传感器、LED指示器和蜂鸣器进行连接。
软件编写过程则是根据系统设计方案,编写相应的主程序和温度采集程序,并将程序烧录进51单片机中。
基于单片机的室内烟雾报警系统的设计
![基于单片机的室内烟雾报警系统的设计](https://img.taocdn.com/s3/m/7b51eb11581b6bd97f19ead6.png)
基于单片机的室内烟雾报警系统的设计摘要随着社会和经济的发展,在日常生活中做好火灾预防工作显得越来越重要了。
因此,我们设计一种结构简单、经济实用的家庭烟雾报警器来满足市场的需求。
基于供家庭使用的烟雾报警器应该具备的基本要求和功能,设计了一种比较合理适用的烟雾报警器。
该设计以单片机STC89C52和传感器MQ-2作为烟雾报警器的核心元器件,并配合其它元器件来实现声音报警等功能。
设计中选用STC89C52单片机作为控制器,选用MQ-2型半导体可燃气体敏感元件传感器来实现烟雾的检测。
烟雾报警器主要由单片机控制电路、声音报警电路、烟雾信号采集及前置放大电路、安全保护电路等构成,设计比较合理并且价格低廉、简单易懂。
论文主要针对烟雾报警的各个功能以及组成部分进行详细的介绍和说明,并对其外围设备电路和主控电路之间的接口连接方式,以及系统软件设计进行了重点的讲解和分析。
关键字:烟雾报警器;单片机;传感器The Design of Indoor Smoke Alarm System Based on MCUAbstractWith the social and economic development, fire prevention in daily life to do more and more important. Therefore, we design a simple structure, economical and practical family smoke alarm to meet the needs of the market. Based on the basic requirements and functions of smoke alarm for home use, a reasonable and applicable smoke alarm is designed.The design of single-chip STC89C52 and MQ-2 sensor smoke alarm as the core components, and with other components to achieve the voice alarm and other functions. The design of STC89C52 microcontroller as a controller, the choice of MQ-2 type semiconductor combustible gas sensor sensor to achieve smoke detection. Smoke alarm by the single-chip microcomputer control circuit, sound alarm circuit, smoke signal acquisition and preamplifier circuit, safety protection circuit, etc., the design is reasonable and inexpensive, easy to understand. In this paper, the functions and components of smoke alarm are introduced and explained in detail, and the connection mode between the peripheral circuit and the main control circuit and the design of the system software are mainly explained and analyzed.1 绪论1.1 课题背景由于科技的发展以及工农业生产,越来越多的隐患也将随之而产生。
基于单片机的烟雾监测及报警系统的设计
![基于单片机的烟雾监测及报警系统的设计](https://img.taocdn.com/s3/m/f17dc167dc36a32d7375a417866fb84ae55cc359.png)
基于单片机的烟雾监测及报警系统的设计烟雾监测及报警系统是一种能够及时监测室内空气中烟雾浓度的设备,并在烟雾浓度超过设定阈值时发出警报的系统。
本文将介绍基于单片机的烟雾监测及报警系统的设计。
系统的设计主要包括硬件部分和软件部分。
硬件部分包括单片机、烟雾传感器、显示器和报警器等模块,而软件部分主要是通过单片机对传感器数据进行采集和处理,并控制报警器的工作。
首先,我们需要选择合适的烟雾传感器。
烟雾传感器是一种能够感知室内空气中的烟雾浓度的设备,常用的烟雾传感器有MQ-2和MQ-135等。
这两种传感器可以通过检测环境空气中的气体浓度来判断是否存在烟雾。
接下来,我们需要选择合适的单片机用于控制整个系统。
常用的单片机有AT89S52和STM32等,我们可以根据实际需求选择合适的单片机。
单片机的选择要考虑到系统对性能和功耗的要求。
在硬件部分,我们需要将烟雾传感器与单片机进行连接。
通过传感器模块和单片机的串口通信,单片机能够通过串口接收到传感器发送的信号,并进行相应的处理。
软件部分主要是单片机的程序设计。
首先,我们需要编写一个函数用于初始化单片机和传感器。
接着,我们编写一个函数用于采集传感器的数据,并对数据进行处理。
比如,我们可以将传感器的输出电压转化为烟雾浓度值。
然后,我们可以编写一个函数用于控制报警器的工作。
当烟雾浓度超过设定阈值时,报警器将发出警报。
系统设计完成后,我们可以将所有模块进行连接并进行测试。
在测试中,可以模拟烟雾环境并观察系统的反应是否符合预期。
如果系统正常工作,即能够正常检测烟雾浓度并发出警报,那么我们可以将系统进行调试和优化。
总结而言,基于单片机的烟雾监测及报警系统是一种能够及时监测室内空气中烟雾浓度的设备,并在烟雾浓度超过设定阈值时发出警报的系统。
通过合理选择传感器和单片机,并进行正确的连接和程序设计,我们可以设计出一个性能稳定的烟雾监测及报警系统。
这种系统能够在保证室内空气质量的同时,为人们提供更加安全的居住环境。
基于LabVIEW 和单片机的报警温度监测系统的设计
![基于LabVIEW 和单片机的报警温度监测系统的设计](https://img.taocdn.com/s3/m/2945b80a6edb6f1aff001f8a.png)
⑧上位机可将测试的数据(包含时间、当前温度测量值和上下限值)保存成.xls 表格。 命名为 History,保存位置为系统 C 盘。(即 c:\History.xls)
图 3.2.5 M 判断否,H 判断否,L 判断真,数据传给全局变量
5
3.3 串口数据写
图 3.3.1 OK Button 确认写操作
采用 Case 结构。输入温度上下限,确认是否按下设置按钮以进行相应的操作,若按下 按钮,则先对输入的值进行判断,若温度上限大于下限则输入有效,可传递给下位机(保留 小数点后一位)和全局变量(double 型)。若输入温度上限小于或等于下限,则提示“Input error!Please input again”输入操作无效,全局变量即温度上下限值不变。如下图所示。
1 系统功能
该系统由基于单片机的温度监测装置和基于 LabVIEW 的上位机程序两部分组成,它们 之间通过串口进行通信。基于单片机的下位机温度监测装置主要实现温度采集、温度显示、 温度报警、温度上下限值设置和串口通信等功能;基于 LabVIEW 的上位机程序主要实现串 口通信、温度显示、温度报警和温度上下限值设置等功能。基于单片机的温度监测装置的硬 件结构设计以 IAP15F2K61S2 单片机为核心,外围电路包括复位电路、温度采集电路、LED 管显示电路、蜂鸣器报警电路、矩阵键盘电路和串口通信电路等。
图 3.2.2 高温判断否,常温判断真,为常温及设置绿色字体
4
图 3.2.3 高温判断否,常温判断否,则为低温及设置蓝色字体
若 K!=M,则判断是否为 H。若 K=H,则表示报警上限。把报警上限值传递给全局变量。
基于51单片机的家用报警装置设计
![基于51单片机的家用报警装置设计](https://img.taocdn.com/s3/m/3113b67e9b6648d7c1c746db.png)
性能的监测预警装置需求越来越大。
本次设计的基于单片机的家用报警装置正是在这种需求下被设计出来,能实现对家居环境的实时监控,当环境指标异常时,能及时报警,从而实现对环境的智能监控。
极大的提高了对家居环境监控的效率,适应了当前市场环境下用户的需求。
1.系统设计本设计的思路是利用单片和传感器通过程序控制,实现协同工作,达到家居环境监测和预警的目标。
STC89C52单片机为核心。
通过DHT11温湿度传感器、MQ2烟雾传感器、人体感应模块和蜂鸣器组成家用报警装置。
系统对当前家居环境的温湿度,烟雾浓度和人体监测。
通过提前预设温湿度和烟雾浓度安全标准,当超过安全标准时,蜂鸣器会发出相预警。
通过单片机与现代科技的结合实现对当前家居环境的多功能监测,由系统本身的报警处理提供给人们的信息以便他们做出相应的措施,提高了家居环境的舒适性和安全性。
系统框图如图1所示。
DHT11的连接较为简单,采用单总线结构,在数据端和电源正之间接一个4.7K上拉电阻可以提高其稳定性。
■2.2人体检测模块HC-SR501是基于红外技术的人体检测模块。
其原理是:人体的体温一般恒定在37℃左右,会发出特定波长10μm左右的红外线,被动式红外探头就是利用这一点靠探测人体发射的10μm左右的红外线来进行工作的。
人体发射的10μm左右的红外线通过菲泥尔滤光片增强后聚集到红外感应源上。
红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生报警信号。
本设计将人体感应模块的输出信号端,利用三极管的放大原理,将信号放大,来驱动信号给单片机。
本设计中,人体感应模块检测到人体时,触发蜂鸣器鸣叫。
■2.3 MQ-2烟雾传感器MQ-2型烟雾传感器是半导体气敏材料。
当处于200°C~300°C温度时,二氧化锡吸附空气中的氧,形成氧的负离子吸附,使半导体中的电子密度减少,从而使其图1 系统框图图2 声音报警电路(下转第8页)..|..5用,2005(2):73-75.图3 软件流程图电阻值增加。
基于C51单片机的烟雾报警器设计
![基于C51单片机的烟雾报警器设计](https://img.taocdn.com/s3/m/a7277293370cba1aa8114431b90d6c85ec3a88cd.png)
基于C51单片机的烟雾报警器设计设计基于C51单片机的烟雾报警器摘要:烟雾报警器是一种常见的安全设备,用于检测并报警烟雾的存在。
本设计基于C51单片机,通过光敏电阻和烟雾传感器来检测烟雾浓度,并通过蜂鸣器和LED灯提供报警信号。
通过编程控制单片机,实现了烟雾报警器的功能。
关键词:C51单片机、烟雾传感器、烟雾报警器、光敏电阻、蜂鸣器、LED灯1.引言烟雾报警器是一种广泛应用的安全设备,它可以及时发现并报警烟雾的存在,预警人们可能发生的火灾事故。
本设计基于C51单片机,实现了一个简单的烟雾报警器。
该报警器通过光敏电阻和烟雾传感器来检测烟雾浓度,并通过蜂鸣器和LED灯提供报警信号。
2.设计原理本设计的烟雾报警器主要由C51单片机、光敏电阻、烟雾传感器、蜂鸣器和LED灯组成。
光敏电阻用于检测光照强度,当烟雾浓度超过一定阈值时,烟雾传感器会发出高电平信号。
C51单片机通过读取光敏电阻和烟雾传感器的信号来判断是否触发报警。
当触发报警时,蜂鸣器会发出警报声,并且LED灯会闪烁。
3.硬件设计3.1C51单片机C51单片机是本设计的核心控制器,它负责读取传感器信号、控制蜂鸣器和LED灯的状态,并与用户进行交互。
C51单片机的引脚用于连接其他硬件组件。
3.2光敏电阻光敏电阻用于检测环境光照强度,它的电阻值会随光照强度的变化而变化。
本设计将光敏电阻接入C51单片机的模拟输入引脚,通过测量电阻值来判断环境光照强度。
在光照强度较低时,烟雾传感器的探测效果更好。
3.3烟雾传感器烟雾传感器是烟雾报警器的核心部件,它能够检测烟雾浓度。
本设计使用一种常见的烟雾传感器模块,它通过电化学原理来检测烟雾浓度。
当烟雾浓度超过一定阈值时,烟雾传感器会输出高电平信号。
3.4蜂鸣器和LED灯蜂鸣器和LED灯用于提供报警信号。
当检测到烟雾浓度超过一定阈值时,蜂鸣器会发出警报声,并且LED灯会闪烁。
通过这种方式,可以吸引人们的注意并提醒他们可能发生火灾事故。
基于C51单片机的烟雾报警器设计综述
![基于C51单片机的烟雾报警器设计综述](https://img.taocdn.com/s3/m/ccf15ef333d4b14e8524689f.png)
课程设计报告课程名称:智能仪器课程设计题目:基于51单片机家居火灾报警系统学院: 信息工程学院系: 电气工程及其自动化专业:测控技术与仪器班级:测仪121学号:007学生姓名:罗小黑起讫日期:2015-06-26~2015-07-06指导教师:熊剑、杨俊清、杨大勇基于C51单片机的声光报警器设计【摘要】目前,随着电子产品在人类生活中的使用越来越广泛,由此引起的火灾也越来越多,在我们生活得四周到处潜伏着火灾隐患。
为了避免火灾以及减少火灾造成的损失,我们必须按照“隐患险于明火,防患胜于救灾,责任重于泰山”的概念设计和完善火灾自动报警系统,将火灾消灭在萌芽状态,最大限度地减少社会财富的损失。
声光报警器是一种用在危险场所,通过声音和各种光来向人们发出示警信号的一种不会引燃易燃易爆性气体的报警信号装置。
防爆声光报警器适用于安装在含有ⅡC级T6温度组别的爆炸性气体环境场所,还可使用于石油、化工等行业具有防爆要求的1区及2区防爆场所,也可以露天、室外使用。
可以和国内外任何厂家的火灾报警控制器配套使用。
当生产现场发生事故或火灾等紧急情况时,火灾报警控制器送来的控制信号启动声光报警电路,发出声和光报警信号,完成报警目的。
本产品也可同手动报警按钮配合使用,达到简单的声,光报警目的。
本设计是利用单片机结合传感器技术而开发设计了这一声光报警系统。
论文中主要针对声光报警系统中的各个组成部件进行了介绍,对它的主控电路和外围设备电路之间的接口技术,还有软件方面进行了重点介绍。
关键词:报警器、80C51、声光传感器Abstract: Now, with electronic products used in human life more and more widely, the resulting fire, more and more, we live in fire hazards lurking around everywhere. To avoid fires and reduce fire losses, we must follow the "hidden dangers fire in prevention is better than disaster relief, the responsibility is extremely heavy," the concept design and improvement of automatic fire alarm system, fire nipped in the bud, the maximum reduce the loss of social wealth.Sound and light alarms for use in hazardous locations is to send out a warning signal alarm signaling device does not ignite flammable gases to the people through a variety of sound and light. Explosion sound and light alarm for installation in explosive gas atmospheres sites containing ⅡC level T6 temperature class, and use the Zone 1 and Zone 2 explosion sites in petroleum, chemical and other industries with explosion-proof requirements to be open-air, outdoor use. And domestic and foreign manufacturers of any possible fire alarm controller supporting the use. When the production site of an accident or emergency situations such as a fire, a fire alarm control signals sent by the control circuit start sound and light alarm, audible and visual alarmsignals, complete alarm purposes. The product can also be used in conjunction with manual alarm button, to a simple sound, light alarm purposes. This design is the use of single-chip combined with sensor technology designed and developed this sound and light alarm systems. Thesis focused on sound and light alarm systems were introduced various components, interface technology of its control circuit and peripheral circuits, as well as software were highlighted.Keywords: 80C51, smoke sensor alarm目录1 绪论 (1)1.1声光报警器的发展及现状 (1)1.1.1 火灾探测技术 (1)1.1.2 火灾探测器的发展趋势 (1)1.2论文研究的目的及意义 (2)1.3论文内容 ........................................................................... 错误!未定义书签。
基于单片机的远程烟雾报警系统的硬件电路设计
![基于单片机的远程烟雾报警系统的硬件电路设计](https://img.taocdn.com/s3/m/8107d457a31614791711cc7931b765ce05087a2e.png)
基于单片机的远程烟雾报警系统的硬件电路设计远程烟雾报警系统主要用于监测室内烟雾浓度,一旦监测到烟雾浓度超过设定阈值,系统将会发出报警信号。
随着物联网技术的不断发展,基于单片机的远程烟雾报警系统已经成为一种常见的应用方式。
本文将介绍基于单片机的远程烟雾报警系统的硬件电路设计,从而帮助读者更好地了解这一系统的工作原理和实现方式。
1. 系统架构基于单片机的远程烟雾报警系统的整体架构包括传感器模块、单片机模块、通信模块和报警模块。
传感器模块用于检测烟雾浓度,单片机模块负责数据处理和控制,通信模块用于与远程监控中心进行数据交互,报警模块则负责发出声光警报。
2. 传感器模块传感器模块采用烟雾传感器MQ-2,它是一种广泛应用于烟雾报警系统中的气体敏感传感器。
该传感器采用颗粒吸附原理,可以探测多种可燃气体和烟雾。
传感器模块通过模拟输出将检测到的烟雾浓度转换为电压信号,并输入到单片机模块进行处理。
3. 单片机模块单片机模块采用常见的51单片机,它具有较强的数据处理能力和通用性,适合用于控制和数据处理任务。
单片机模块接收传感器模块输出的烟雾浓度电压信号,经过A/D转换后进行数据处理,并根据预设的阈值判断是否触发报警。
单片机模块还负责控制通信模块和报警模块的工作状态。
4. 通信模块通信模块采用无线模块,如WiFi模块或者GPRS模块。
通信模块负责将单片机模块处理后的数据通过无线方式发送给远程监控中心,以实现远程监控和管理。
通信模块也可以接收远程监控中心发送的指令,实现对系统的远程控制。
5. 报警模块报警模块包括声光报警器和继电器模块。
当单片机模块触发报警条件时,报警模块将通过继电器控制声光报警器发出警报信号,提醒周围人员及时进行处理和疏散。
6. 系统电路设计基于上述模块,整个远程烟雾报警系统的硬件电路设计如下:(1)传感器模块电路设计:烟雾传感器MQ-2的模拟输出接入单片机模块的A/D转换口,同时接入可调电阻,调节阈值电压。
基于51单片机和Labview的家庭烟雾和温度报警系统
![基于51单片机和Labview的家庭烟雾和温度报警系统](https://img.taocdn.com/s3/m/c01d23f8f8c75fbfc77db21d.png)
干货联盟原理图外接USB转TTL线最小系统程序#include<reg52.h>#include<intrins.h> //包含_nop_()函数定义的头文件#include "DAAD.h"#define PCF8591 0x90 //PCF8591 地址#define uint8 unsigned char#define uint16 unsigned intsbit DQ = P2^2;sbit Speck = P2^3;sbit LED = P2^4;uint8 aa,adc2,adc3;int adc0=0,dac=65,adcx;float adcnum = 0;uint16 adc1=0;unsigned char tmp; //tmp是接收到Labview的字节uint8 baifenbi;float baifenbiFloat;unsigned char TL; //储存暂存器的温度低位unsigned char TH; //储存暂存器的温度高位unsigned int TempInt;float TempFloat;unsigned int tempdata;volatile unsigned int counter;unsigned char time_DS18B20; //设置全局变量,专门用于严格延时bit Init_DS18B20(void){bit flag_DS18B20; //储存DS18B20是否存在的标志,flag=0,表示存在;flag=1,表示不存在DQ = 1; //先将数据线拉高for(time_DS18B20=0;time_DS18B20<2;time_DS18B20++) //略微延时约6微秒;DQ = 0; //再将数据线从高拉低,要求保持480~960usfor(time_DS18B20=0;time_DS18B20<200;time_DS18B20++) //略微延时约600微秒; //以向DS18B20发出一持续480~960us的低电平复位脉冲DQ = 1; //释放数据线(将数据线拉高)for(time_DS18B20=0;time_DS18B20<10;time_DS18B20++); //延时约30us(释放总线后需等待15~60us让DS18B20输出存在脉冲)flag_DS18B20=DQ; //让单片机检测是否输出了存在脉冲(DQ=0表示存在)for(time_DS18B20=0;time_DS18B20<200;time_DS18B20++) //延时足够长时间,等待存在脉冲输出完毕;return (flag_DS18B20); //返回检测成功标志}unsigned char ReadOneChar( ){unsigned char i=0;unsigned char dat; //储存读出的一个字节数据for (i=0;i<8;i++){DQ =1; // 先将数据线拉高_nop_(); //等待一个机器周期DQ = 0; //单片机从DS18B20读书据时,将数据线从高拉低即启动读时序dat>>=1;_nop_(); //等待一个机器周期DQ = 1; //将数据线"人为"拉高,为单片机检测DS18B20的输出电平作准备for(time_DS18B20=0;time_DS18B20<3;time_DS18B20++); //延时约6us,使主机在15us内采样if(DQ==1)dat|=0x80; //如果读到的数据是1,则将1存入datelsedat|=0x00;//如果读到的数据是0,则将0存入dat//将单片机检测到的电平信号DQ存入r[i]for(time_DS18B20=0;time_DS18B20<8;time_DS18B20++); //延时3us,两个读时序之间必须有大于1us的恢复期}return(dat); //返回读出的十进制数据}void WriteOneChar(unsigned char dat){unsigned char i=0;for (i=0; i<8; i++){DQ =1; // 先将数据线拉高_nop_(); //等待一个机器周期DQ=0; //将数据线从高拉低时即启动写时序DQ=dat&0x01; //利用与运算取出要写的某位二进制数据,//并将其送到数据线上等待DS18B20采样for(time_DS18B20=0;time_DS18B20<10;time_DS18B20++);//延时约30us,DS18B20在拉低后的约15~60us期间从数据线上采样DQ=1; //释放数据线for(time_DS18B20=0;time_DS18B20<1;time_DS18B20++);//延时3us,两个写时序间至少需要1us的恢复期dat>>=1; //将dat中的各二进制位数据右移1位}for(time_DS18B20=0;time_DS18B20<4;time_DS18B20++); //稍作延时,给硬件一点反应时间}void ReadyReadTemp(void){Init_DS18B20(); //将DS18B20初始化WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换for(time_DS18B20=0;time_DS18B20<100;time_DS18B20++); //温度转换需要一点时间Init_DS18B20(); //将DS18B20初始化WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器,前两个分别是温度的低位和高位}//初始化串行口void csh(){SM0=0;SM1=1;REN=1;TI=0;RI=0;//以上是初始化scon寄存器,想当于SCON=0x50;PCON=0;//初始化电源,为波特率不增加TH1=0xFd;TL1=0XFd;//设置波特率为9600TMOD|=0X20;//设置定时器,定时器1工作于8位自动重载模式, 用于产生波特率EA=1;//开总中断ES=1;//ES-串行中断允许控制位ES = 1 允许串行中断。
基于51单片机的烟雾报警器设计毕业设计
![基于51单片机的烟雾报警器设计毕业设计](https://img.taocdn.com/s3/m/075464b59b6648d7c0c74650.png)
Abstract
Along with the modern home with fire, electricity consumption increases, the frequency of home fires is getting higher and higher. Smoke detectors have also been widelyused in various occasions.
3.2.1 MQ-2 介绍..............................................................................................................12 3.2.2 ADC0809 介绍........................................................................................................14 3.3 液晶显示电路设计.......................................................................................................15 3.4 声光报警提示电路.......................................................................................................18 3.4.1 灯光提示电路.......................................................................................................18 3.4.2 声音报警电路.......................................................................................................19 3.5 负载控制电路...............................................................................................................20 3.6 按键电路.......................................................................................................................21 4 系统的软件设计...................................................................................................................22 4.1 软件介绍.......................................................................................................................22 4.2 系统程序流程图...........................................................................................................23 5 火灾报警器的测试结果及结论............................................................................................23 5.1 调试...............................................................................................................................24 5.2 结论...............................................................................................................................24 致谢...........................................................................................................................................25 参考文献...................................................................................................................................26
基于C51单片机的烟雾报警器设计
![基于C51单片机的烟雾报警器设计](https://img.taocdn.com/s3/m/d986306d2bf90242a8956bec0975f46527d3a798.png)
基于C51单片机的烟雾报警器设计烟雾报警器是一种常见的安全设备,用于检测空气中的烟雾并在发现烟雾时发出警报。
在本文中,我们将基于C51单片机来设计一个简单的烟雾报警器。
首先,我们需要了解烟雾报警器的基本原理。
烟雾报警器通常由三部分组成:传感器、信号处理电路和报警器。
传感器负责检测空气中的烟雾,将检测到的烟雾信号传递给信号处理电路,然后信号处理电路根据接收到的信号来判断是否需要触发报警器。
在我们的设计中,我们将使用MQ-2烟雾传感器来检测空气中的烟雾。
MQ-2传感器是一种常用的可燃气体与烟雾同时检测传感器,通过其内部的检测元件可以检测到空气中的烟雾或可燃气体。
传感器会输出一个电压信号,该信号的大小与检测到的烟雾浓度成正比。
我们将使用C51单片机来实现信号处理电路。
C51单片机是一种常见的8位单片机,非常适合用于嵌入式系统和物联网应用。
我们将使用单片机的模拟输入引脚来接收MQ-2传感器的输出信号,然后根据信号的大小来判断是否需要触发报警器。
接下来,我们需要编写单片机的程序来实现信号处理功能。
我们需要使用单片机的A/D转换功能来将传感器输出的模拟电压信号转换为数字信号,然后使用比较器来判断数字信号的大小。
首先,我们需要配置单片机的A/D转换模块。
我们可以使用单片机的内部参考电压,并选取一个合适的比较器阈值来判断烟雾浓度。
然后,我们可以使用单片机的中断功能来定期读取A/D转换的结果,并进行比较。
当检测到烟雾浓度超过设定的阈值时,我们需要触发报警器。
我们可以使用单片机的IO口来控制一个蜂鸣器或者发光二极管来发出警报。
当发生报警时,我们还可以使用单片机的串口通信功能来发送报警信息到外部设备或者云服务器。
最后,为了便于用户设置烟雾浓度的阈值,我们可以添加一个LCD显示屏和数码调节器。
用户可以通过旋转数码调节器来调整烟雾浓度的阈值,并通过LCD显示屏来显示当前的阈值。
综上所述,我们可以基于C51单片机来设计一个简单的烟雾报警器。
基于单片机的远程烟雾报警系统的硬件电路设计
![基于单片机的远程烟雾报警系统的硬件电路设计](https://img.taocdn.com/s3/m/0b4a4c06b207e87101f69e3143323968011cf4fe.png)
基于单片机的远程烟雾报警系统的硬件电路设计远程烟雾报警系统是一种用于监测和报警烟雾浓度的设备,通常应用于家庭、商业和工业场所,以提供及时的安全保障。
基于单片机的远程烟雾报警系统具有体积小、功耗低、灵敏度高等优点,能够实现远程监控和报警功能。
本文将介绍基于单片机的远程烟雾报警系统的硬件电路设计。
一、系统功能需求1. 监测烟雾浓度:实时监测环境中的烟雾浓度,并能够根据浓度值进行相应的处理。
2. 远程通信功能:具备远程通信功能,能够将监测到的数据传输到远程终端。
3. 报警功能:当监测到的烟雾浓度超过设定阈值时,能够及时报警,以保障人员和财产安全。
二、硬件电路设计基于单片机的远程烟雾报警系统的硬件电路设计包括传感器模块、单片机模块、通信模块和报警模块。
1. 传感器模块传感器模块是整个系统的核心部分,用于监测环境中的烟雾浓度。
常用的传感器有MQ-2、MQ-5等烟雾传感器,其工作原理是通过检测烟雾中的可燃气体来判断烟雾浓度。
传感器模块将监测到的模拟信号转换为数字信号,输出给单片机模块进行处理。
2. 单片机模块单片机模块负责处理传感器模块输出的数据,并根据预设的阈值进行判断。
常用的单片机有STC89C52、AT89S52等,其内置A/D转换器可以实现模拟信号的数字化处理。
单片机模块还负责控制通信模块和报警模块的工作,实现远程通信和报警功能。
3. 通信模块通信模块用于实现远程数据传输功能,常用的通信方式包括WiFi、GPRS、NB-IoT等。
通过通信模块,系统可以将监测到的数据传输到远程服务器或手机App中,实现远程监控和管理。
通信模块的选择需要考虑到系统的使用环境和成本等因素。
4. 报警模块报警模块负责在监测到烟雾浓度超过阈值时进行报警。
常用的报警方式包括声光报警、短信报警等。
报警模块可以通过单片机模块的控制实现及时的报警响应,提醒人员注意烟雾情况,以防止意外发生。
三、系统电路设计原理图基于以上硬件模块,可以绘制出整个远程烟雾报警系统的电路设计原理图。
基于LabView和51单片机的温度报警器
![基于LabView和51单片机的温度报警器](https://img.taocdn.com/s3/m/4896297e561252d380eb6e91.png)
uchar Ds18b20Init()
{
uchar i;
DSPORT=0; //拉低总线
delay_15us(33); //延时 495us
DSPORT=1;
i=0;
while(DSPO RT)
{
i++;
5
武汉理工大学《测控设备软硬件集成设计》课程设计说明书
if(i>5) {
return 0; //5ms 没有初始化成功,则认为初始化失败 } delay_1ms(1); } return 1; }
3.2.4 从 DS18B20 读取数据
图 3.4 DS18B20 读时序图 由时序图可知:读周期是从主机把单总线拉低 1 微秒之后就得释放单总线为高电平, 以让 DS18B20 把数据传输到单总线上。作为从机 DS18B20 在检测到总线被拉低 1 微秒后, 便开始送出数据,若是要送出 0 就把总线拉为低电平直到读周期结束。若要送出 1 则释放 总线为高电平。主机在一开始拉低总线 1 微秒后释放总线,然后在包括前面的拉低总线电 平 1 微秒在内的 15 微秒时间内完成对总线进行采样检测,采样期内总线为低电平则确认 为 0。采样期内总线为高电平则确认为 1。完成一个读时序过程,至少需要 60 微秒才能完 成。
为了保证测量温度的准确性和实时性,本次设计采用了 DS18B20 温度传感器。DS18B20 是一种具有独特的单线接口方式的数字温度计,在与微控制器(MCU)连接时仅需要一个接 口即可实现微处理器与 DS18B20 的双向通讯,测温范围为-55℃~+125℃。在-10℃~+85℃ 范围内,精度为±0.5℃,能够满足测量的精度需要。DS18B20 的可编程的分辨率为 9~12 位 温度转换为 12 位数字格式最大值为 750 毫秒,能够满足测量的实时性。
基于AT89C51单片机和LabVIEW的温度监控系统设计
![基于AT89C51单片机和LabVIEW的温度监控系统设计](https://img.taocdn.com/s3/m/3e54ef3a83c4bb4cf6ecd101.png)
T echn ogy & A p i at ol pl c i on
与 应 用
单 片机 将采 集 到 的温
度 信 号 再 传 送 给 串行 D/ A
转 换 器 L C 46 , 由 T 14
L C14 T 4 6输 出, 转换成实际 的电压信号 。 T 4 6是 1 L C14 2
和 PN8负责 DA 1 C输出【。
单片 机 的 P 0口扩 展 蜂 1
鸣器 实现报警功能 。 外部中断 I 0和 I T1 NT N 扩展按键实现上
下温 度 的设 定 。MA 1 构 成 看 门狗 电路 ,提 高 了 电 路 的 X83则 可靠性和抗干扰能力。
2 S 20 、U B 0 5数据采集卡 US 2 0 B 0 5数据采集卡是 US 总线兼容的数据采集 卡, B 它具有体积小 、即插 即用等特点 , 可经 US 电缆接入上位计 B 算机 ,构成实验室 、产 品质量检验中心、野外测控 、医疗设 备等领域 的数据采集 、波形分析和处理系统,也可构成 工业
中图分类号 :T 26 2 P 1+.
收 八 日 期 :2 2 4 3 1 -0 -0 0
文献标识 码 :A
文章 编号 :10 — 8 X (02 6 0 1- 3 0 6 8 3 2 1)0— 0 7 0
王 皑
. I
一
、
引 言
在 许多企业 生产 中,温度 的变化对 生产过程 自动 化会带来 极大 的影响 ,保 持温度恒 定是保 障产 品质 量 的重 要措施之一 ,因此对温度 数据 的采 集和监控 意义重 大。 设 计 了一套 环境温 度变化监 测系统 ,可对 生产环 境进行 实时监测 , 以便 当温变化较 大 时,可及时报警 。
基于单片机的远程烟雾报警系统的硬件电路设计
![基于单片机的远程烟雾报警系统的硬件电路设计](https://img.taocdn.com/s3/m/b203247666ec102de2bd960590c69ec3d5bbdbf3.png)
基于单片机的远程烟雾报警系统的硬件电路设计远程烟雾报警系统是一种用于监测室内空气中烟雾浓度的安全设备。
当室内烟雾超过一定浓度时,系统会自动发出报警信号,以便提醒居住在室内的人们及时逃生。
基于单片机的远程烟雾报警系统拥有稳定可靠、精度高、成本低等优点,因此在家庭和商业场所得到广泛应用。
本文将针对基于单片机的远程烟雾报警系统的硬件电路设计进行详细介绍。
一、硬件电路设计的整体思路基于单片机的远程烟雾报警系统的硬件电路设计主要包括烟雾传感器、单片机、无线模块以及报警装置等核心部件。
其整体思路是通过烟雾传感器检测室内空气中烟雾浓度的变化,当烟雾超过设定阈值时,单片机将触发报警装置并通过无线模块将警报信号发送至远程接收端,实现远程监控和报警功能。
1. 烟雾传感器烟雾传感器是远程烟雾报警系统的核心部件之一,其作用是检测室内空气中的烟雾浓度并将其转化为电信号输出。
常见的烟雾传感器采用MQ-2或MQ-135型号,它利用化学反应的原理可以对烟雾进行高灵敏度的检测。
其输出信号可通过模拟输入口连接至单片机,作为触发报警的触发信号。
2. 单片机单片机作为远程烟雾报警系统的核心控制器,其主要任务是接收烟雾传感器输出的信号,并通过程序算法进行处理,以判断烟雾浓度是否超过预设阈值。
单片机还需要控制无线模块的工作状态,将报警信号发送至远程接收端。
常用的单片机型号有STC89C52、AT89S52等,具有较强的计算能力和丰富的外设接口,能满足远程烟雾报警系统的需求。
3. 无线模块无线模块是远程烟雾报警系统的关键组成部分,其作用是将报警信号通过无线方式发送至远程接收端。
常用的无线模块有315MHz、433MHz的射频模块以及蓝牙、WiFi等通信模块。
在硬件设计中,需要根据实际需求选择合适的无线模块,并将其与单片机进行连接,实现报警信号的传输功能。
4. 报警装置报警装置是远程烟雾报警系统的直接输出部件,其作用是在烟雾浓度超过预设阈值时及时发出警报。
基于51单片机的烟雾报警器的设计
![基于51单片机的烟雾报警器的设计](https://img.taocdn.com/s3/m/e940a85a0b1c59eef8c7b4a2.png)
①烟雾报警器的工作原理;②单片机最小系统;③ADC0809数模转换器;④子程序流程图。
(2)系统的总体设计主控单片机是采用AT89C52芯片,传感器模块选用ZYMQ-2气体传感器,显示模块选用LCD1602,设置部分选用按键电路。
该系统的整体框架图如图1所示:图1 系统整体框架图二、硬件电路设计1. AT89C52单片机简介本系统主要是由AT89C52单片机作为其核心,选用11.0592MHZ的晶振,使得单片机的运行速度能够较为合理。
AT89C52单片机最小系统电路设计如图2所示。
图2 单片机最小系统电路图单片机最小系统由单片机,晶振电路,复位电路,电源电路等四部分所组成。
1.晶振:大小由单片机时钟周期的要求而决定(用于计时,与两个电容并联使用,电容大小由你的晶振决定,一般用22pF)2.复位电路:用于对对当前电路的状态进行复位3.电源:用于供电,一般用电脑的USB口供电4.烧制程序的口:并口输入,这个要根据由使用单片机的种类决定,本设计采用ATC 可用并口。
2. 总体方案设计本系统主要包括五个主要的模块编程:第一模块是声光报警电路的编程;第二模块是ADC0809数模转换模块编程;第三模块是液晶显示屏1602的编程;第四模块是单片机最小系统的编程;第五模块是按键设计电路的编程。
图3 原理图三、烟雾报警器的原理1. 主程序流程当烟雾报警器正常运行时,传感器感受周围的烟雾浓度,将这种微小的电压信号经过放大电路放大,转换成可观的模拟电子信号,然后送入到ADC0809中进行数模转换,之后送到ATC89C52单片机中进行处理。
2. 报警电路的子程序流程当单片机接收到ADC0809中的感应信号,发现不为零时,系统就会开启报警模式,此时,LED灯闪亮,并且时间持续30min,知道工作人员手动关闭或者周围环境的烟雾浓度降低到一定数值。
蜂鸣器鸣叫时,LED显示为“1”,于此同时会发出信号,当烟雾浓度持续30s还不下降时,说明不是误报警,此时通过单片机控制,进行紧急灭火处理,否则的话,报警系统只会LED灯亮,自动排烟系统启动,却不会开启灭火模式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
干货联盟原理图外接USB转TTL线最小系统程序#include<reg52.h>#include<intrins.h> //包含_nop_()函数定义的头文件#include "DAAD.h"#define PCF8591 0x90 //PCF8591 地址#define uint8 unsigned char#define uint16 unsigned intsbit DQ = P2^2;sbit Speck = P2^3;sbit LED = P2^4;uint8 aa,adc2,adc3;int adc0=0,dac=65,adcx;float adcnum = 0;uint16 adc1=0;unsigned char tmp; //tmp是接收到Labview的字节uint8 baifenbi;float baifenbiFloat;unsigned char TL; //储存暂存器的温度低位unsigned char TH; //储存暂存器的温度高位unsigned int TempInt;float TempFloat;unsigned int tempdata;volatile unsigned int counter;unsigned char time_DS18B20; //设置全局变量,专门用于严格延时bit Init_DS18B20(void){bit flag_DS18B20; //储存DS18B20是否存在的标志,flag=0,表示存在;flag=1,表示不存在DQ = 1; //先将数据线拉高for(time_DS18B20=0;time_DS18B20<2;time_DS18B20++) //略微延时约6微秒;DQ = 0; //再将数据线从高拉低,要求保持480~960usfor(time_DS18B20=0;time_DS18B20<200;time_DS18B20++) //略微延时约600微秒; //以向DS18B20发出一持续480~960us的低电平复位脉冲DQ = 1; //释放数据线(将数据线拉高)for(time_DS18B20=0;time_DS18B20<10;time_DS18B20++); //延时约30us(释放总线后需等待15~60us让DS18B20输出存在脉冲)flag_DS18B20=DQ; //让单片机检测是否输出了存在脉冲(DQ=0表示存在)for(time_DS18B20=0;time_DS18B20<200;time_DS18B20++) //延时足够长时间,等待存在脉冲输出完毕;return (flag_DS18B20); //返回检测成功标志}unsigned char ReadOneChar( ){unsigned char i=0;unsigned char dat; //储存读出的一个字节数据for (i=0;i<8;i++){DQ =1; // 先将数据线拉高_nop_(); //等待一个机器周期DQ = 0; //单片机从DS18B20读书据时,将数据线从高拉低即启动读时序dat>>=1;_nop_(); //等待一个机器周期DQ = 1; //将数据线"人为"拉高,为单片机检测DS18B20的输出电平作准备for(time_DS18B20=0;time_DS18B20<3;time_DS18B20++); //延时约6us,使主机在15us内采样if(DQ==1)dat|=0x80; //如果读到的数据是1,则将1存入datelsedat|=0x00;//如果读到的数据是0,则将0存入dat//将单片机检测到的电平信号DQ存入r[i]for(time_DS18B20=0;time_DS18B20<8;time_DS18B20++); //延时3us,两个读时序之间必须有大于1us的恢复期}return(dat); //返回读出的十进制数据}void WriteOneChar(unsigned char dat){unsigned char i=0;for (i=0; i<8; i++){DQ =1; // 先将数据线拉高_nop_(); //等待一个机器周期DQ=0; //将数据线从高拉低时即启动写时序DQ=dat&0x01; //利用与运算取出要写的某位二进制数据,//并将其送到数据线上等待DS18B20采样for(time_DS18B20=0;time_DS18B20<10;time_DS18B20++);//延时约30us,DS18B20在拉低后的约15~60us期间从数据线上采样DQ=1; //释放数据线for(time_DS18B20=0;time_DS18B20<1;time_DS18B20++);//延时3us,两个写时序间至少需要1us的恢复期dat>>=1; //将dat中的各二进制位数据右移1位}for(time_DS18B20=0;time_DS18B20<4;time_DS18B20++); //稍作延时,给硬件一点反应时间}void ReadyReadTemp(void){Init_DS18B20(); //将DS18B20初始化WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换for(time_DS18B20=0;time_DS18B20<100;time_DS18B20++); //温度转换需要一点时间Init_DS18B20(); //将DS18B20初始化WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器,前两个分别是温度的低位和高位}//初始化串行口void csh(){SM0=0;SM1=1;REN=1;TI=0;RI=0;//以上是初始化scon寄存器,想当于SCON=0x50;PCON=0;//初始化电源,为波特率不增加TH1=0xFd;TL1=0XFd;//设置波特率为9600TMOD|=0X20;//设置定时器,定时器1工作于8位自动重载模式, 用于产生波特率EA=1;//开总中断ES=1;//ES-串行中断允许控制位ES = 1 允许串行中断。
TR1=1;//启动定时器开始工作}void send_char(unsigned char txd)// 传送一个字符{SBUF = txd;while(!TI); // 等特数据传送TI = 0; // 清除数据传送标志}void Init_Timer0(void){TMOD |=0x01;TH0=0x00;TL0=0x00;EA=1;ET0=1;TR0=1;}main(){csh();Init_Timer0();while(1){if(counter>=20){counter = 0;switch(aa){case 0: ISendByte(PCF8591,0x41);adc0 = IRcvByte(PCF8591); //ADC0 模数转换1break;case 1: ISendByte(PCF8591,0x42);adc1 = IRcvByte(PCF8591); //ADC1 模数转换2break;case 2: ISendByte(PCF8591,0x43);adc2 = IRcvByte(PCF8591); //ADC2 模数转换3break;case 3: ISendByte(PCF8591,0x40);adc3 = IRcvByte(PCF8591); //ADC3 模数转换4break;case 4: DACconversion(PCF8591,0x40, dac); //DAC 数模转换break;}if(++aa>4) aa=0; //控制循环baifenbi = adc0;ReadyReadTemp(); //读温度准备TL=ReadOneChar(); //先读的是温度值低位TH=ReadOneChar(); //接着读的是温度值高位// LED = ~LED;// Speck = ~Speck;}}}//定时10msvoid Timer0_isr(void) interrupt 1{TH0=(65536-10000)/256;TL0=(65536-10000)%256;counter++;}void intrr() interrupt 4 //接收中断{tmp = SBUF; // 暂存接收到的数据if(RI==1){RI = 0;if(tmp==0x01) //温度上下超或者烟雾上超超过{Speck = 0;LED = 0;send_char(baifenbi); // 烟雾AD值send_char(TH); // 温度高send_char(TL); // 温度低}else{Speck = 1;LED = 1;send_char(baifenbi); // 烟雾AD值send_char(TH); // 温度高send_char(TL); // 温度低}}} Labview界面。