该报警器由红外线发射、接收、蜂鸣器和LED指示灯组成。正常情况下,绿色的LED常烁,表示监控区域正常。一旦监控区域有人闯入,绿色LED熄灭,红色的LED快速闪烁,同时蜂鸣器立即报警。
实验器材
需要准备的器材:Atmega8、红色LED一只、绿色LED一只、万能实验板一块、5V电源、电阻、TTL0038或者其他类似38KHZ的红外接收头、5V长鸣型蜂鸣器。
线路图:
实验电路图及工作原理
该电路工作原理非常简单,Atmega8的PD0端口输出经过调制的38KHZ的方波信号,然后经Q2驱动红外线发射管LED0发出红外线信号。TL0038是集红外线信号接收放大为一体的接收器。其中心接收频率为38KZH,输出为TTL电平,平时输出高电平,当收到码信号后,输出低电平。
BELL为长鸣蜂鸣器,两个引脚分别为正负极,当正负极两端加上5V电压后,蜂鸣器发出响声。注意,该蜂鸣器两脚不能接反,否则蜂鸣器会烧毁。
电路工作后,正常情况下TL0038接收不到红外信号,而输出高电平。当有物体出现在发射管前方时,TTL0038会接收到从物体上反射回来的红外光信号,然后输出低电平通知MCU打开蜂鸣器报警。
程序设计思路
本实验的程序主要要完成三大功能:38KHZ载波信号的产生、红外接收头TL0038输出电平的检测、LED和蜂鸣器的驱动。
本程序使用8位定时计数器T/C0溢出中断使PD0产生38KHZ的方波信号,然后驱动红外线发射管。T/C0计数器是单一向上计数器,其计数值TCNT0一旦计数到0XFF后,T/C0马上产生溢出中断。因此,我们可以通过设置TCNT0的初始值来调整中断产生的频率。每产生一次中断就改变一次PD0的电平状态,从而在PD0口产生38KHZ的方波信号。
本实验MCU采用内部8MHZ的RC时钟信号,T/C0的时钟源采用系统时钟8分频,即每计一个数(TCNT0增加1)需要1us的时间。38KZH的时钟周期大约为26us左右,因此,半周期需要计数13次左右,即TCNT0初始值为256-13=243。另外,我们还需要在38KHZ的载波信号上调制上一个码信号,也就是说38KHZ的载波信号不是一直在产生,而是间断的发射。如下图所示:
同时,程序通过不断地读取PC5脚的电平值来判断TL0038是否接收到红外信号。一旦连续检测到N次PC5为低电平,则立即打开蜂鸣器和红色的LED。之所以要连续检测N次,主要是防止TL0038上产生杂波信号而误告警。
关键字:AVR单片机 被动式 红外线报警器
引用地址:
基于AVR单片机的被动式红外线报警器实验
推荐阅读最新更新时间:2024-03-16 13:12
基于AVR单片机的轮胎模具内径测量系统设计
轮胎模具用于成型轮胎,其加工质量对轮胎的生产非常重要。为了生产出好的轮胎,必须对轮胎模具加工质量提出高的要求。传统的加工质量检测法主要是靠百分表,人为采集数据后分析得出加工质量报告。这种办法的局限性是需要操作者有一定的工作经验,而且取样过程人为控制,精度受到一定影响。近几年来,轮胎模具工业随着轮胎的大量需求而得到了快速发展,传统的检测方法不能满足市场需求。光栅尺是一种数字位移测量设备,测量范围可达几十米,测量精确在微米级;激光测距仪是一种非接触测量设备,可以对不规则表面的目标位移进行测量,但是测量距离较小。将大范同的光栅尺和非接触测量的激光测距仪结合起来就可以实现对不规则面的目标距离进行测量。将光栅尺读头与激光测距仪固定在机械
[单片机]
AVR单片机控制RTL8019AS实现以太网接口设计
简介:本文介绍了一种利用AVR单片机实现以太网接口电路的方法,硬件电路少,结构简单,使用方便。 随着互联网的迅速发展,各种家电设备、仪器仪表也在逐步走向网络化,以便共享网络信息资源、远程监控等,这也是嵌入式系统发展的趋势。而以太网作为目前应用最为广泛的局域网,在工业自动化和过程控制领域得到了越来越多的应用,因此,对于大量存在的8位微控制器而言,实现以太网通信具有重要的实际意义。现在应用较多的是基于51内核单片机的上网方案,由于处理能力的限制,要实现较复杂的网络传输和控制有点困难。本系统采用ATMEL公司的高性能单片机Mega64和10Mb/s以太网控制芯片RTL8019AS实现了以太网接口,详细介绍了硬件电路的连接以及嵌入 式
[单片机]
AVR单片机的DS1302操作程序
变成浪子 //mega16 7.3728MHz石英晶体 iccavr6.31a //相关定义: #define uint unsigned int #define uchar unsigned char #define DS1302_RST 0 //pc0 #define DS1302_SDA 1 //pc1 #define DS1302_SCLK 6 //pc6 //ds1302相关 //DS1302_RST=1 #define Set_DS1302_RST() PORTC|=1 //DS1302_RST=0 #define Clr_DS1302_RST() PORTC&=~(1 //DS1302_SDA=1 #define S
[单片机]
一种采用AVR单片机的天然气发动机系统设计
1 燃料供给系统 对原机的改造主要是燃料供应及喷射系统的改造,用一套完整的天然气供给系统和电控系统来实现改造目的。所使用的天然气是由高压气瓶(CNG)提供的压缩天然气, 出口压力达到20 MPa。图1所示为供气系统示意图。该设计实现了高压天然气的可靠存储和压力转换,并可对供气压力进行实时监测 。 图1 CNG供气系统示意图 2 电控单元 电控单元选用Atmel公司的AVR单片机,利用单片机C语言进行程序开发,并且采用了多片式ECU设计。 (1) 多片式ECU 图2 多片式ECU结构简图 多片式ECU是指在一个电控单元ECU中使用多个单片机(MCU)。各个MCU分别承担不同的工作内
[单片机]
AVR Studio 调试AVR单片机快速入门
本文介绍 AVR Studio Debug:调试运行方式及Qu IC kWatch实时查看变量的数值。 以下的degug方式,英文版来自 AVR Studio 4. 为达到准确理解的效果,我试图将它翻译出来。如有不准确的地方,请大家指正: Auto Step 自动执行 它能重复执行指令。如果当前处于 source 方式时(即C语言窗口显示方式),一条的指令会被执行。如果处理 d ISA ssembly 方式 (即显示为汇编指令方式),一条汇编指令会被执行。每条指仅被执行后,窗口的所有信息会更新。 每条指令的执行延时,可以在 debug option 里选择。 当用户按下停止或有断点(breakpoint)时,将停止自动执行。
[单片机]
avr单片机 串口实现printf(使用变参函数)
#include #include #include typedef unsigned char uint8; static void usart_init(void) { UCSRA = 0x02; UCSRB = 0x18; UCSRC = 0x06; UBRRH = 0x00; UBRRL = 103; } static void put_char(uint8 data) { if (data == '/r') put_char(0x09); while ( !(UCSRA & (1 UDRE
[单片机]
基于AVR单片机的多功能电源设计
0 引 言 随着嵌入式系统设计技术的发展,在设计和仿真中,系统工程师对电源的要求也越来越高。在嵌入式系统设计是使用8031单片机和74系列集成电路时,所有使用74系列集成电路的电路板都使用单一的5 V电源供电就可以了。当时的供电电源部分不是一个需要太多注意的单元,基本上5 V的电源能满足所有的数字集成电路设计的需要。而近几年来,随着技术的发展,集成电路里的三极管变得越来越小并且工作的电压越来越低,使得嵌入式系统开发的重点从系统的速度,转到低功耗设计上。因此在同一个嵌入式系统中,存在多种不同电压的电源供电,从低于1 V到高于5 V都存在。而且在系统的稳定性和可靠性测试时,还要模拟不同的电源故障情况下,比如掉电等,嵌入式系统的稳定性
[单片机]