基于AVR单片机的有害气体感应及警示控制系统的设计

发布者:RadiantBreeze最新更新时间:2011-10-18 关键字:AVR单片机  有害气体  红外感应 手机看文章 扫描二维码
随时随地手机看文章

    利用红外感应系统感应附近有无有害气体,当红外感应系统感受到有有害气体接近时,送出持续一段时间的高电平;单片机通过开启中断,启动语音芯片,单片机通过串口通信,从上位机提取的有害气体参数提示给附近人体,并经过与安全值的比较判定当前环境是否安全。对语音芯片的使用,先将必要的文字、数字信息录制进去,放音时,通过单片机自动寻址,把实时参数读取出来。为便于以后系统改进或移植到其他系统,可设计录音、放音电路,通过切换录制不同内容。系统设计友好、方便,给人的信息也更加直接。

1系统总体设计方案

    在气体浓度是现有可利用的数据的基础上,考虑了系统的衔接性和可移植性。系统总体方案见图1。

  本系统分为四大模块:核心控制模块、语音电路模块、红外感应模块以及数据的读取。在气体浓度为现有可利用资源的前提下设计了系统如何进行读取控制。核心控制模块采用单片机作为控制器件,配合适当的外围电路,控制整个系统的运行。红外感应模块以一个红外传感器为核心,配置一定的信号处理电路,往单片机发信号。语音电路以语音芯片为核心,设计了录音、放音两种电路。

1.1核心控制模块的设计

核心控制器件选用了单片机,其最小系统构成如图2所示。

  该模块是系统的核心,当红外感应系统感应到人体,会送出中断信号,单片机得到信号后执行中断,通过串口通信读取气体浓度,然后到语音芯片寻址,并控制语音模块把气体浓度报告出来。除了基本的外围电路,核心控制模块外主要应用了中断、串行通信和基本的输入、输出功能。

  本系统中上位机通过串口实现与单片机通信,然后由单片机进行处理,单片机接受红外信号后,控制语音芯片工作,播放相应的语音信息。可选的单片机较多,如AVR、AT89C51等。采用单独的控制芯片的好处是减少主控芯片(CPLD)的工作量,提高系统的性能。我们选用了AVR单片机。AVR是基于RISC(精简指令集计算机)结构的单片机,简称AVR单片机,该系列单片机在吸收PIC及8051单片机优点的基础上,进行了重大改进。与普通的51系列单片机相比,AVR单片机有很多优点。首先给人最直观的就是具有JTAG边界扫描、仿真、编程功能,不会造成以往仿真通过而脱机不行的现象。

1.2红外感应模块的设计

    该模块相对简单,核心用了红外传感器,只把信号进行了简单处理,送给单片机的中断即可,见图3。

1.3数据读取方式的设计

  对数据的读取有两种方法:一种是直接与硬件电路结合,16位二进制数据读取过来,进行整理还原;另一种是通过串口通信,把已经由上位机整理好的数据,通过RS-232协议读取过来。显然,较第1种方法,通过串口的方式避免了对数据重复整理,编程更简单。对整个项目而言,设计更合理,缩短了开发周期。

  本系统采用的是串行数据通信方式,接口为RS-232串口,实验证明这种通信方式简单易行,符合本系统要求。本系统采用的是半双工配置,它要求下位机和主机控制器双方都具有独立的发送和接收能力。

  接收/发送时钟用来控制通信设备接收/发送字符数据速度,该时钟信号通常由微机内部的时钟电路产生。接收数据时,接收器在接收时钟的上升沿对接收数据采样,进行数据位检测。发送数据时,发送器在发送时钟的下降沿将移位寄存器的数据串行移位输出。

  接收/发送时钟频率与波特率有如下关系:

式中:Fe为接收/发送时钟频率;n为频率系数,n=1,16,64;vc为收/发波特率。

接收/发送时钟的周期Tc与发送的数据位宽Td之间的关系是:

式中:n=1,16,64。

  若取n=16,那么异步传送接收数据实现同步的过程如下:接收器在每一个接收时钟的上升沿采样接收数据线,当发现接收数据线出现低电平时就认为是起始位的开始,以后若在连续的8个时钟周期(因n=16,故Td=16Tc)内检测到接收数据线仍保持为低电平,则确定它为起始位(不是干扰信号)。通过这种方法,不仅能够排除接收线上的噪声干扰,识别假起始位,而且能够相当精确地确定起始位的中间点,从而提供一个准确的时间基准。从这个基准算起,每隔16Tc采样一次数据线,作为输入数据。一般来说,从接收数据线上检测到一个下降沿开始,若其低电平能保持nTc/2(半位时间),则确定为起始位,其后每间隔nTc时间(一个数据位时间)在每个数据位的中间点采样。

2通信软件设计

   系统通信软件由下位机、主机控制器通信软件和上位机监控软件3部分组成。下位机通信软件功能主要是接收主机控制器发送过来的信号,针对各下位机地址发送应答信号,再根据主机控制器发来的控制信号做出相应的反应,随后发送主机控制器所需数据。其通信功能使用了单片机的串行中断和查询收发状态标志位的方法实现。下位机平时对各监控点进行数据采集并定时存储,当有串行中断时执行串行中断服务程序,判别是否为本机的地址信息,地址信息与本机地址相符时,转为接收控制命令,并执行相应的操作;地址信息与本站地址不符时则退出中断。下位机通信流程图如图4所示。

  主机控制器的通信软件实现功能主要包括呼叫各从机(下位机),并向各从机发送查询控制命令。其工作过程为:控制器发送需呼叫的从机的地址,然后等待接收从机的应答信号,若应答信号正确即发送控制命令,若应答信号不正确则重新发送需呼叫的地址,并等待接收应答信号,接收到应答信号后接收下位机发送的数据,存储在相对应的数据存储区并在LCD(液晶显示器)显示屏中显示出来。对同一从机多次呼叫而在规定时间内无应答信号或应答信号不正确,则提示错误信息。图5为主机控制器通信流程图。

  上位机监控软件由Visual C++编写,具有良好的可视效果,功能包括数据查询、数据存储、串口通信设置、视频监控、图表显示(单机、多机)等。上位机的数据来自主机控制器,其通过RS-232串口网络传送给上位机,它的接口与RS-485网络的接口是并行的,标准接口有25条线、4条数据线、11条控制线、3条定时线、7条备用和未定义线,但常用的只有9根。

3结束语

  针对该系统,除了可以使用自己设计的上位机软件进行调试,还可以利用一个简单的串口调试器来实现。该系统覆盖了单片机技术及一部分模拟、数字电路的知识,系统具有一定的操控性、工作稳定、实现容易、成本低,具有很高的使用价值,在系统建成后,运行结果表明系统工作稳定可靠,在工业控制领域有着广阔的前景。

关键字:AVR单片机  有害气体  红外感应 引用地址:基于AVR单片机的有害气体感应及警示控制系统的设计

上一篇:基于μCOS-Ⅱ系统的智能寻迹模型车的设计与实现
下一篇:基于AVR单片机的LED显示屏控制系统的研究

推荐阅读最新更新时间:2024-03-16 12:43

AVR单片机的应用经验
AVR与传统类型的单片机相比,除了必须能实现原来的一些基本的功能,其在结构体系、功能部件、性能和可靠性等多方面有很大的提高和改善。 但使用更好的器件只是为设计实现一个好的系统创造了一个好的基础和可能性,如果还采用和沿袭以前传统的硬件和软件设计思想和方法的话,是不能用好AVR的,甚至也不能真正的了解AVR的特点和长处。 功能越好的器件,需要具备更高技术和能力的人来使用和驾驭它。就象一部好的F1赛车,只有具备高超技术的驾驶员才能充分体会到车的特点,并能最大限度的发挥出车的性能。 AVR具有上手入门快,开发方便简单的特点,但要充分体会和发挥AVR的优点,还需要应用工程师本身的硬软件设计开发能力的不断学习、实践提高。 “外行看
[单片机]
AVR单片机CAN总线的显示板设计
随着现代社会的发展,科学技术的进步,出现了众多高层建筑和智能建筑。电梯,作为高层建筑内部一种重要的交通工具,其应用规模日益扩大。而作为电梯系统中必不可少的一部分,电梯召唤显示板(简称电梯外呼板)的应用也随之剧增。 电梯外呼板应用于每层楼的电梯门外,供乘客及电梯维保人员使用。电梯外呼板将乘客及维保人员的需求信息通过CAN总线传达给电梯主板,电梯主板接收信息并执行相应的操作。同时,电梯主板将电梯的实时运行信息通过 CAN 总线传递给电梯外呼板,通过外呼板LED显示出来,供乘客参阅。 AVR 单片机 具有高可靠性、功能强、高速度、低功耗和低价位的特点,本系统选用了高档ATmega列AVR单片机ATmegal6。它具有先进的RI-SC结
[电源管理]
<font color='red'>AVR单片机</font>CAN总线的显示板设计
AVR单片机电子抽奖完整项目仿真+源码设计
电子抽奖完整项目,基于AVR单片机ATMEG128,包含原理图,源代码及仿真 仿真原理图如下 . 单片机源程序如下: //ICC-AVR application builder // Target : M128 // Crystal: 8.0000Mhz #include iom128v.h #include macros.h #include stdlib.h #define bit_read(var,bitno) ((var) (7-(bitno)) 7) #define TRUE 0xFF #define FALSE 0x00 unsigned int randdata = 0; unsigne
[单片机]
<font color='red'>AVR单片机</font>电子抽奖完整项目仿真+源码设计
AVR单片机中断实现
中断嵌套 对于中断嵌套的处理,不同的单片机处理的方式是不同的,应根据所使用单片机的特点正确实现中断嵌套的处理。 按照通常的规则,当MCU正在响应一个中断B的过程中,又产生一个其它的中断A申请时,如果这个新产生中断A的优先级比正在响应的中断B优先级高的话,就应该暂停当前的中断B的处理,转入响应高优先级的中断A,待高优先级中断A处理完成后,再返回原来的中断B的处理过程。如果新产生中断A的优先级比正在处理中断B的优先级低(或相同),则应在处理完当前的中断B后,再响应那个后产生的中断A申请(如果中断A条件还成立的话)。 一些单片机(如8051结构)的硬件能够自动实现中断嵌套的处理,既单片机内部的硬件电路能够识别中断的优先级,并根据优先
[单片机]
avr单片机精练的两路ADC代码+仿真图
电路原理图如下: #include iom16v.h #include macros.h #define uchar unsigned char #define uchar unsigned int const uchar SEG_CODE = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF}; uchar display = {0,0,0,10,0,0,0,10}; void delay(uint mS); void main() { uchar i; DDRA = 0xfc;
[单片机]
<font color='red'>avr单片机</font>精练的两路ADC代码+仿真图
基于AVR单片机的DS1302数码管时间显示C语言程序设计
#include iom16v.h #include macros.h #define uchar unsigned char #define uint unsigned int #include DS1302_drive.h uchar K1_FLAG=0; //定义按键标志位,当按下K1键时,该位置1,K1键未按下时,该位为0。 uchar const bit_tab ={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//位选表,用来选择哪一只数码管进行显示 uchar const seg_data ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0
[单片机]
AVR单片机的C语言开发简介
Avr单片机和其他单片机一样,有自己的指令和寄存器,特定的IO口操作方法,有定时器,AD转换,串行口,PWM输出,EEPROM等。为了缩短大家学习的时间,快速的了解avr编程思路,拟定avr程序设计系列教程。我使用avr也不是很长时间,技术有限,错误再所难免,还请指出,以期改正。 【说明】:本页是针对从来没有碰过单片机或者用过单片机而没有用c语言的朋友,如果你已经用过其他单片机,此页说明可能对你没有很大帮助,且显得有些幼稚,请你跳过。 本站所有程序都是在icc+avrstudio下进行的,如果你没有配置好环境 采用icc的原因之一是它自带一个非常好用的application builder,生成的代码结构清晰,层次清楚,特别
[单片机]
<font color='red'>AVR单片机</font>的C语言开发简介
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved