基于AVR单片机红外遥控报警器设计应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信 息 技 术
1 AVR ATiny24单片机
A VR 单片机是目前业界最不易破解的单片机,ATiny24单片机是AVR高性能、低功耗的8位微处理器的系列之一。
系统内含2K字节可编程Flash,可10000擦写;128字节的可编程EEPROM,100000次的重复擦写,以及128字节的片内SRA M。
其自编程闪存程序存储器和E E R P O M 数据编程锁,确保
产品程序不被破解。
两个独立定时器/计数器,8位和16位并带PWM功能;INT0中断及P CN T 0-P CN T 11外部电平变化中断,非常方便中断程序的应用。
2 系统构成
2.1电路结构
如图1所示,本设计中工作电源为外接
5VD C,内置3.7V标准可充电锂电池。
2.2功能设计
(1)断线报警,即断开展台与展机之间的任意连线时报警。
(2)感应探头报警,即报警检测电路中,如果将感应探头与数码产品分离则报警。
(3)充电断电报警,即产品处于充电中(设防时),断开USB充电线则报警。
(4)红外遥控设防,即本产品与被展示数码产品设置后,可通过遥控器设防。
(5)自动设防,即本产品设置完毕后10s,系统自动设防,防止手动忘记设防。
(6)报警解除,启动产品报警后,可遥控器解除报警,或者断电产品电源开关。
3 红外线编码与解码
3.1红外线编码
目前市场上遥控器中常用的红外线编码电路有μPD6121G型HT622型和7461型等。
实际应用中大部分都已实现定制的邦定IC,可根据客户的实际需求设计。
图3示出该红外遥控系统的编码格式。
图中,μP D 6121G 遥控器的二进制“0”由
0.56ms的间隔加0.565ms的脉冲表示;二进制“1”由0.56ms的间隔加1.685ms的脉冲表示。
每次发送的32位二进制码可分成两部分,其中前16位是遥控器辨识码,主要用于区别不同遥控器,后16位是操作码。
这两个部分的后8位都是前8位的反码,用作数据校验。
每帧数据以9ms的间隔加4.5ms的脉
冲作为数据头。
图4是该系统的工作时序图,图中,一个下降沿到下一个下降沿之间刚好是一个
基于A V R 单片机红外遥控报警器设计应用
刘毅1 刘伟2
(1.四川托普信息技术职业学院实训中心 四川成都 611743; 2.富士施乐有限公司 广东深圳 518110)
摘 要:本文介绍利用AVR ATiny24最小单片机系统,采用捕获中断方式实现红外遥控接收及报警器设计应用。
关键词:AVR单片机 捕获中断 红外遥控 单周期指令中图分类号:TP273文献标识码:A 文章编号:1672-3791(2012)08(b)-0009-03
外部电源电池充电
红外接收
外部供电断电检测
A T i ny24
报警检测
声光报警
图1 系统结构示意图
图2 红外线遥控示意图
图3 红外遥控系统的编码
图4 系统的工作时序图
N
N
N
N
N
定 时 T 0 初 始 化
I 0 口 初 始 化
启
动
图5 主程序流程图
脉冲加一个间隙的时间,这样,根据编码规则,这个时间长度所对应的信号关系如下:
数据头的时间:Th=9+4.5=13.5ms;数据“0”的时间:T0=0.565+0.56=1.125ms;数据“1”的时间:T1=1.685+0.56=2.245ms。
3.2红外线解码
红外线解码电路目前也大部份集成为一体化结构,通常为三只引脚的封装。
定义为电源,电源地,TT L电平输出,其内部一般都带上拉电阻。
可直接接入后级检测电路。
解码过程同编码过程,逐级实现接收,信号放大,38kHz解调,TTL电平驱动输出。
4 程序设计
4.1主程序设计
主程序完成对硬件I O 口的初始化,定时器及变量的初始化,打开系统中断使能位。
每个程序块采用标识位处理方式,定时器0完成IO的状态检测并置位相应标识位,定时器1完成都红外线数据的接收检测并置位相位标识位。
循环程序中分别检测相关标识位,执行各程序块功能。
程序流程(如图5)。
4.1.1主程序代码*----*/
#include "common。
h"…………
volatile char Spb_Buff[4]={1,1,1,1}; //定义PB3-0 状态缓存 {PB0,PB1,P B2,P A2}
//=====int main(void){ Sys_Init(); //系统初始化……………
TIMSK0|=(1<<TOIE0); //定时器0开始
sei();while(1)
{ wdt_reset();//喂狗
if(Data_F==1){Data_Do();Data_F=0;}//数据处理
i f(B uz ze r _F !=0){B uz z er _O n ();Buzzer_F=0;}
{switch(Run_F)
{case 0: //待机 LED不亮,启动10定时自动加锁
{L E D _M A I N _O F F ;L E D _S E N _O F F ;
Auto_Set_F=0;//自动设防检测准备Buzzer_F=1; //长响一次}break;
case 1: //设防 闪灯 检测设防前对应S W 状态
{ Spb_Buff[0]=SPB0_F;Spb_Buff[1]=SPB1_F;
Spb_Buff[2]=SPB2_F;Spb_Buff[3]=SPA2_F;
Auto_Set_F=2;//如果是自动设防进入,标记为成功
Buzzer_F=1; //长响一次Led_F=1; //设防闪灯Time_Clr();}break;
case 2: //报警 蜂鸣,闪灯 检测解锁信号
{Buzzer_F=2; //连续短响Led_F=2; //报警闪灯}break; }
Run_Que=0;// 处理完毕}}}
4.2红外线接收程
4.2.1红外线数据接收(定时器1捕获中断)
/----据处理#include "main。
h"……
void Data_Do(void){buf1=(uchar)(Data&0xFF);
buf2=(uchar)((Data>>8)&0xFF); //高8位数据右移到低8位
if((buf1&buf2)==0) //键值与其反码算数"与"为0,检验成功
{ Data_Key=buf2; //取出遥控器按键值
switch(Data_Key)
{ca s e 0x 02: { i f (Ru n _F==0SPB2_F==0){ Run_F=1; Run_Que=1;}}break;//加锁
case 0x68: {if(Run_F!=0){Run_F=0;Run_Que=1;}}break;//解锁
case 0xB0: {if(Run_F!=2)
{Run_F=2;Run_Que=1;}}break; //测
试 报警} }
else; }
//******16位计数器1 捕获中断S I G N A L (S I G _I N P U T _C A P T U R E 1){ wdt_reset(); //喂狗NewFall=ICR1
temp=NewFall-OldFall;
OldFall=NewFall; //本次计数值作为下一次的计数起点
if(temp>1025 && temp<1225){temp=0;} //收到"0"
else if(temp>2145 && temp<2345){temp=1;}
else if(temp>13400 && temp<13600)
{ Bit_Cnt=0;
Address=0; //遥控器识别码Data=0; //遥控器键值数据 16位,校验前
表1 红外线遥控测试结果
图6 红外线接收程序流程(下转12页)
. All Rights Reserved.
return; //跳出中断程序,等待下次开始接收 }
e ls e
{ return; //跳出中断程序,等待下次开始接收}
Bit_Cnt++;
if(Bit_Cnt<16) //接收遥控器的识别码
{ Address=Address|(uint)temp;Address=Address<<1;
}
else if(Bit_Cnt==16){Address=Address|(uint)temp;}//识别码最后一位
else if(Bit_Cnt<32) //接收未校验的数据
和实体的类型(点、线、面和注记)来确定要打开的图层。
(2)传统调图方式。
是指制作索引图,让用户可以根据索引图漫游数据,然后在此基础上用户可以选择浏览的范围。
这种调图的方式需要先从某个比例尺的数据中默认指定某个索引图层,作为系统缺省要加载的图层。
2.2规划辅助编制模块
规划辅助编制是指利用计算机辅助编制土地利用规划和专项规划,以及在规划实施过程中根据实际需要,按照法律程序对规划进行局部调整和修改。
规划辅助编制包括规划的方案拟定、方案比较、成果输出等;规划局部调整和修改包括对规划指标、用地布局等的调整。
具体功能包括数据编辑、数据查询统计和规划指标调整等基本功能,规划地块拟定,规划方案分析,规划地块调整,规划地块注记,规划用地类型汇总统计、规划成果输出。
规划地块调整具体可以划分为图形变更和属性变更,通常图形变更伴随着属性变更。
其中,图形变更主要可以归结为地块合并、地块分割和边界变更。
提交变更后即时刷新现有规划图层,同时在数据库中保留原有地块信息以备历史回溯。
2.3规划成果管理模块
规划成果管理是指对经批准的土地利
用规划成果及在规划实施中形成的相关规划成果的管理,包括图件成果和文档成果的调阅、查询、统计和输出等。
2.4规划实施管理模块
规划实施管理模块对具体规划实施业务进行管理,包括:土地利用年度计划管理、建设项目用地预审管理、单独选址建设项目用地规划审查、城镇分批次建设用地规划审查、土地整理复垦开发项目规划审查、未报已批土地利用项目登记。
2.5专题分析模块
计划执行情况分析、规划实施情况分析、土地利用情况分析、对规划信息,土地利用现状信息,建设项目占用农用地面积、占用耕地面积;土地开发补充耕地面积;土地整理复垦补充耕地面积、计划指标统计专题图、业务统计报表制作等。
2.6系统维护模块
系统维护模块包括用户管理、系统设置、数据维护、日志管理等功能。
3 系统实现
为使本系统与其它相关信息系统实现数据共享与功能互补、互用,给使用者提供完整统一的土地资源信息与土地资源管理工具,本系统的GIS平台采用ArcGIS、空间数据引擎采用Ar cSD E。
根据功能需求,本系统选择ArcEngine做为GIS开发组件,采用简单易用的Visual Basic 6.0开发语言进行开发。
用ArcEngine开发要做的工作首先就是在VB6.0集成环境中引入ArcEngine对象库,剩下的工作就是在程序中利用ArcEngine对象库提供的接口实现系统功能。
利用ArcEngine 提供的可视化控件TOCControl、MapControl、PageLayout可以很容易地实现图层管理和布局输出,使得开发人员更专注于专业功能的开发。
在数据访问时,针对不同的数据采用不同的方式。
对与地理位置有关的空间数据采用A r c E n g i n e 提供的接口通过ArcSDE引擎访问数据库,对与地理位置无关的数据例如业务数据、管理数据,系统通过A D O 控件读取。
4 系统特点
在土地利用规划编制和实施管理中,用土地利用规划管理信息系统代替常规的手工方式极大地提高了工作效率。
系统具有如下特点。
将土地利用规划修编和实施管理中用到的纷繁复杂的数据系统地组织起来,方便用户使用,并通过一套调图机制,使得用户可以根据灵活的条件把要浏览的数据先装载到系统中,再对其进行操作。
系统具有方便的土地利用规划和现状统计功能以及多种分析报表,功能强大的图层叠加分析功能,为规划辅助编制及红线预审管理提供重要的统计数据支持。
可以自动进行红线坐标标注,并提供完备的布局输出功能,自动生成图签、图例和红线坐标列表,方便用户红线预审出图。
5 结语
在系统建设过程中,我们意识到建立一个完善、先进、实用的土地利用规划管理信息系统是一项复杂的软件系统工程,单靠一方面的力量难以完满地完成,必须由软件开发单位与软件使用部门密切配合,共同完成。
另外,一个信息系统的建设是不可能一步到位、一蹴而就的,必须根据实际情况,按照“统一设计、分步实施、通盘考虑、由点到面”的原则进行开发。
任何系统都不可能是完美的,本系统也不例外,随着业务的发展,系统也将在使用中不断完善。
参考文献
[1]张新长,马林兵,张青年.地理信息系统
数据库[M].科学出版社,2005.[2]吴玮,李小帅,张斌.基于ArcGIS Engine
的GIS开发技术探讨[J].科学技术与工程,2006,6(2):176-178.
[3]操震洲,李清泉.基于ArcSDE和ArcGIS
Engine的版本管理系统的设计和实现[J].测绘与空间地理信息,2006,29(1):76-78.
{ Data=Data|(uint)temp;
Data=Data<<1; //从高位开始接收}else if(Bit_Cnt==32)
{ Data=Data|(uint)temp;//32位最后一位
Data_F=1;else;}
5 功能测试
红外遥控设防、解锁、感应探头报警、断线报警、各感应探头独立设防报警、充电断电报警功能均可实现(附红外线遥控测试结果,如表1)。
因连续测试,遥控器电池电量连续下降,会出现数据读取错误的现象。
但在实际
应用中,只要电池电量足够,每次均能准确读取数据。
6 结语
本设计主要采用ATiny24的16位定时器1捕获中断方式实现红外数据接收,并将此应用于报警器设计中。
因电路结构简单,成本低廉,以及AVR的高度安全性。
目前此设计已得到客户的认同,已实现量产。
参考文献
[1]芯艺.AVR单片机GCC程序设计[J].单
片机技术应用,2005,1,1.
[2]吴华程.AVR单片机捕获中断实现红外
线解码[D].广东工业大学,2005,2,3.
(上接10页)
. All Rights Reserved.。