S310060008王彬.docx
- 文档编号:11755924
- 上传时间:2023-03-31
- 格式:DOCX
- 页数:20
- 大小:349.30KB
S310060008王彬.docx
《S310060008王彬.docx》由会员分享,可在线阅读,更多相关《S310060008王彬.docx(20页珍藏版)》请在冰豆网上搜索。
S310060008王彬
基于红外遥感器控制的设计与实现
王彬
哈尔滨工程大学计算机科学学院系统结构
摘要:
本设计主要是通过对红外遥感器控制LCD灯和蜂鸣器为主体设计,以单片机为主要元器件进行系统设计,达到红外遥感控制的基本功能.其主要功能是利用AT89S52单片机和编程技术来完成的。
由于具有体积小、质量轻、功耗低等优点,红外遥感系统别广泛应用到军事、气象、地理等科学领域,本作品的可扩展行强,应用本系统所涉及的原理可以实际制作出如红外报警、红外控制开关灯等生活中的各种实用的小产品。
本文首先在绪论介绍了该系统的研究意义及使用的开发环境和器件的选取;在第三章论述了总体设计过程,确定了技术指标及器件的选择;第四章着重描述了系统硬件电路设计、硬件设计框图及所使用的各种器件功能与特性;在第五章中重点剖析了软件设计过程;在第六、七章中重点介绍了调试过程和设计总结.
关键词:
单片机技术;红外遥感;液晶显示屏
Abstract:
ThissystemismainlydesignedthoughtheinfraredremotesensingcontrollingLCDandbuzzer,andcompletethedesignmainlythoughthesinglechipmicrocomputerandinfraredremotesensing.ThemainfunctionisdonebasedonthesinglechipmicrocomputerofAT89S52andtechnologyofprogramming.Becauseoftheadvantagesasthesmallvolume、lightqualityandlowpowerconsumption,Theinfraredremotesensiniswidelyusedinthefieldsofmilitary、meteorological、geographyandsoon.Basedonthepricipleusedinthissystemwecanmakemanykindsofproducessuchasinfraredalarmsystemorinfraredcontrollights,whichhavepracticalvalueinourdailylive.
Firstly,itintroducesintheintroductionofthissystemtostudythesignificanceofthedevelopment,andtheenvironmentinuseandtheselectionofdevices.Inthethreechapter,itintroducesthedesignprocesstoidentifythetechnicalindicatorsanddeviceoptionsdescribed.Inchapterfour,itintroducesthehardwarecircuitdesign,hardwaredesigndiagramandthevariouschipsusedfunctionsandfeatures.Inthefivecharpter,thefocusofanalysisissoftwaredesignprocess.Inthelasttwochapters,itwillintroducethedebuggingprocessanddesignsummary.
Keyword:
singlechipMicrocomputertechnology;InfraredRemoteSensing;liquidcrystaldisplay
一、选题意义
1、熟悉使用STC89C52单片机进行系统设计;
2、通过对单片机工作原理的深入理解,运用所学知识解决实际问题;
3、通过实际系统的设计,加深对单片机和微计算机系统设计的理解和掌握。
二、基本功能介绍
通过红外遥控器数字键随意键入一位数字,单片机先读出键值,然后根据键值设定遥控码的脉冲个数,再调制成适当频率的方波由红外线发光管发射出去。
AT89S52单片机红外线接收器接收红外信号。
在接收过程中,脉冲通过光学滤波器和红外二极管转换为40KHZ的电信号,此信号经过放大,检波,整形,解调,送到解码与接口电路。
然后根据解码出来的数字,1602LCD显示该数字,蜂鸣器发出相应次数的响声。
三、系统设计方案
1、系统构成模块图
2、设计平台(软件和硬件环境)
设计平台使用以及keil2.0进行系统的设计。
3、器件选择
设计中所选器件:
STC89C52单片机
HT6221红外遥控器
1602液晶显示屏
蜂鸣器
CRYSTAL:
晶振
74LS245:
245芯片
MATRIX-8X8-GREEN:
8x8点阵显示器
BUTTON:
控制开关
总线若干
四、硬件电路设计
1、硬件电路图
图1中央控制器(CPU)和晶振
图274HC573三态锁存器
图31602/12864液晶显示器
图4蜂鸣器
图5红外遥控接收器与单片机连线
2、设计思想
引言(他人材料):
红外线遥控是目前使用最广泛的一种通信和遥控手段。
由于红外遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空调机以及玩具等其它小型电气装置上也纷纷采用红外线遥控。
工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外遥控不仅完全可靠而且能有效地隔离电器干扰。
本系统通过控制器接到P3.2口蜂鸣器接到P1.5口并且用P2.6,P2.5和P2.7控制LCD的片选信号,读写信号,使能信号,P0.0~P0.7控制LCD的位选信号。
下图为1602LCD液晶屏的引脚说明。
通过外部红外遥控器发出红外信号,开发板上的红外接收器接收到这个信号,产生一个外部中断,通过译码把接收来的红外信号转化成数字显示在LCD屏幕上,并且蜂鸣器显示不同个数的声音。
图61602LCD液晶屏的引脚说明
本系统的关键部分是遥控器发出信号,红外接收器接收信号,短接HC6800板子上的J14,连接红外遥控接收器和STC89C52的P3.2口(外部中断0)。
单片机收集红外信号,实验前段时间,我先让LCD1602显示红外发射过来的编码的ASCII值,因为1602LCD上面显示的16*2个5*7矩阵的显示的是ASCII值,最后查找ASCII码表,将采集到的按键ASCII值翻译成实际按键的数字,例如:
按下按键为“4”,显示“04”,如果按下的按键不是0,1,2,3,4,5,6,7,8,9这几个数字,LCD显示“AA”,并能根据响应显示的数字发出相应个数的响声,如显示“04”,蜂鸣器发出四声响声;如果显示“AA”蜂鸣器发出11生响声,并且发声的时间间隔也有所变化,来区分接收的不是数字按键。
LCD的现实结果用74HC573三态锁存器来持续显示。
下图是74HC573的工作原理表:
图774HC573的工作原理表
3、各部分功能介绍
开关部分:
通过开关的闭合控制程序跳转方向,来实现不同程序的选择和运行,进而使点阵显示器的显示发生变化。
STC89C52:
通过执行程序,对P0和P3口输出信号,来接受红外脉冲,控制LCD液晶屏的显示。
1602LCD显示器:
首先初始化LCD的显示,如打开显示,是否关闭光标、移动光标,清除LCD的显示内容等等,然后通过接收单片机发出的信号,下一步,先查看LCD是否处于忙状态,处于不忙的状态,则对其进行设置相应的引脚数值,进行数据或命令的写入,显示相应的信息。
晶振电路:
提供时序信号。
蜂鸣器:
发出响声。
74HC573三态锁存器:
使LCD液晶显示器来持续显示数据(单片机停止发送信号)。
复位电路:
将芯片中的各个寄存器的值设置回到初值。
五、系统软件设计
1、程序流程图
图8系统流程图
2、主要负责部分(红外遥控)设计解析
(1)红外遥控主要分为发射和接收两大部分,采用编/解码专用集成电路芯片来进行控制操作。
发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电装换放大器、解调、解码电路。
如下图所示:
图9红外遥控器组成结构
(2)遥控发射器及其编码。
采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”。
上述“0”和“1”组成的32为二进制经38KHZ的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。
然后再通过红外发射二极管产生红外线向空间发射,如下图所示:
图10遥控编码
其中前十六位为用户识别码,能区别不同的电器设备,防止不同机种遥控码相互干扰。
因为只用了一个遥控器,所以在接收红外遥控编码的时候,只要关心“数据码”和“数据反码”就可以了,采集之后通过查看“数据码”是否和“数据反码”的反码相同即可判断数据采集的是否正确。
但一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码有一个引导码(9ms),一个结果码(4.5ms),底8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。
如果键按下超过108ms仍未松开,接下来发射的代码(连发码)将仅有初始码(9ms)和结束码(2.25ms)组成。
图11红外遥控器解码流程图
(3)遥控接收器及其工作原理。
遥控器接收器由3个引脚组成:
Vcc(+5V)电源端,Gnd接地端,Out信号输出端。
将Out端与P3.2(外部0号中断)连接,既可以接收信号。
(4)红外接收及其处理代码(见代码部分)。
单片机中断初始化时,将外部0号中断的触发方式设为负脉冲沿触发,根据上面分析的信号发射时间脉冲顺序,接收红外信号并进行分析,全部接收“系统码1”、“系统码2”、“数据码”、“数据反码”四组8为数据。
接收完成之后分别存储在四个8位数组中,然后比较“数据码”,“数据反码”,分析出各个按键的编码。
最后根据设计思想中的内容进行分析、显示、响铃。
六、调试报告
在一开始的时候,未能够完全熟练的掌握keiluVersion2的调试和红外信号的发生时间流程,导致程序与系统不能同步运行,查阅相关资料后,正确理解红外发射及其接收的属性之后,正常运行。
一开始什么东西也不懂,就认真的听了“郭天祥的单片机视频教程”,弄懂了单片机的工作原理,如各个端口的作用,各种辅助芯片的使用,中断,延时,串口通信,电平变化,数模/模数转化等等基础知识,最后阅读了大量的与本次试验有关的实验器件的说明书。
在这样的基础上进行编码、调试,最后调试出了实验的成功结果。
七、设计体会
1、课程学习体会
由于之前的专业的缘故,对计算机的硬件体系结构和接口以及C51的了解很少,但是通过本课程的学习,使我对计算机的体系结构有了初步的了解,而且通过老师在接口和寄存器,总线级的内容讲解,使我深入的了解了计算机的体系构成和设计理念,由于之前在对于计算机硬件部分的学习尽在计算机组成原理中涉及到,通过本课程的学习,使我在计算机组成原理中知识的学习很方便和合理的切入到系统设计这一块。
2、本人的设计体会
在这次课程设计过程中,遇到了很多问题。
比如在红外遥控的发射和接收方面,我就弄了很长时间,首先是确定按钮一定按下,通过延时来实现的。
我原来对红外这块知识点不熟悉,而且实验室也缺少这部分器材,其他组都在做“时钟显示”或者“闹钟”什么的,我感到这些东西参考往年代码的机会太多,可能直接把代码拷过来就可以了,不能充分锻炼自己的能力。
所有就选择了红外遥控这个实验。
本次试验在开题的时候所列举的重要功能已经全部实现。
原来还想将“响几声”转换成“音乐”来显示,但是在代码合成时,可能由于定时器/计数器相互冲突没有做出来。
为了学好本门课程自己买了单片机开发板,自己在大学里就对硬件很感兴趣,但是没有开嵌入式的课、没有老师指导,一只没有机会学习嵌入式硬件知识,初步打算在寒假里把单片机学习的比较透彻,下半年在研究以及ARM的设计和编程。
这次课程设计让我学到了很多,不仅是巩固了先前学习的理论知识,而且也培养了我的动手能力,更令我的创造性思维得到拓展。
希望今后类似这样课程设计、类似这样的锻炼机会能更多些。
最后感谢在本次课程试验设计中给予我指导和帮助的老师和师兄们。
八、源码(红外信号接收)
voidIR_IN()interrupt0using0//红外接收
{
uchari,j,k,N=0;
EX0=0;
delay(15);
if(IRIN==1)
{
EX0=1;
return;
}
//确认IR信号出现
while(!
IRIN)//等IR变为高电平,跳过9ms的前导低电平信号。
{
delay
(1);
}
for(j=0;j<4;j++)//收集四组数据
{
for(k=0;k<8;k++)//每组数据有8位
{
while(IRIN)//等IR变为低电平,跳过4.5ms的前导高电平信号。
{
delay
(1);
}
while(!
IRIN)//等IR变为高电平
{
delay
(1);
}
while(IRIN)//计算IR高电平时长
{
delay
(1);
N++;
if(N>=30)//0.14ms计数过长自动离开。
{
EX0=1;
return;
}
}//高电平计数完毕
IRCOM[j]=IRCOM[j]>>1;//数据最高位补“0”
if(N>=8)//数据最高位补“1”
{
IRCOM[j]=IRCOM[j]|0x80;
}
N=0;
}//endfork
}//endforj
if(IRCOM[2]!
=~IRCOM[3])//
{
EX0=1;
return;
}
IRCOM[5]=IRCOM[2]&0x0F;//取键码的低四位
IRCOM[6]=IRCOM[2]>>4;//右移4次,高四位变为低四位
//转化成ASCII码
if(IRCOM[5]>9)//低位
{IRCOM[5]=IRCOM[5]+0x37;}
else
IRCOM[5]=IRCOM[5]+0x30;
if(IRCOM[6]>9)//高位
{IRCOM[6]=IRCOM[6]+0x37;}
else
IRCOM[6]=IRCOM[6]+0x30;
//ASCII码转化为数字显示
if(IRCOM[6]==0x31&&IRCOM[5]==0x36)//00
{
IRCOM[6]=0x30;
IRCOM[5]=0x30;
}//00
elseif(IRCOM[6]==0x30&&IRCOM[5]==0x43)//01
{
IRCOM[6]=0x30;
IRCOM[5]=0x31;
}//01
elseif(IRCOM[6]==0x31&&IRCOM[5]==0x38)//02
{
IRCOM[6]=0x30;
IRCOM[5]=0x32;
}//01
elseif(IRCOM[6]==0x35&&IRCOM[5]==0x45)//03
{
IRCOM[6]=0x30;
IRCOM[5]=0x33;
}//03
elseif(IRCOM[6]==0x30&&IRCOM[5]==0x38)//04
{
IRCOM[6]=0x30;
IRCOM[5]=0x34;
}//04
elseif(IRCOM[6]==0x31&&IRCOM[5]==0x43)//05
{
IRCOM[6]=0x30;
IRCOM[5]=0x35;
}//05
elseif(IRCOM[6]==0x35&&IRCOM[5]==0x41)//06
{
IRCOM[6]=0x30;
IRCOM[5]=0x36;
}//06
elseif(IRCOM[6]==0x34&&IRCOM[5]==0x32)//07
{
IRCOM[6]=0x30;
IRCOM[5]=0x37;
}//07
elseif(IRCOM[6]==0x35&&IRCOM[5]==0x32)//08
{
IRCOM[6]=0x30;
IRCOM[5]=0x38;
}//08
elseif(IRCOM[6]==0x34&&IRCOM[5]==0x41)//09
{
IRCOM[6]=0x30;
IRCOM[5]=0x39;
}//09
else//AA
{
IRCOM[6]=0x41;
IRCOM[5]=0x41;
}
lcd_pos(0x4b);
lcd_wdat(IRCOM[6]);//第一位数显示
lcd_pos(0x4c);
lcd_wdat(IRCOM[5]);//第二位数显示
switch(IRCOM[5])//根据显示数值产生相应的响声
{
case0x30:
//00
break;
case0x31:
//01
for(i=0;i<1;i++)
{
beep();
delay1(100);
}
break;
case0x32:
//02
for(i=0;i<2;i++)
{
beep();
delay1(100);
}
break;
case0x33:
//03
for(i=0;i<3;i++)
{
beep();
delay1(100);
}
break;
case0x34:
//04
for(i=0;i<4;i++)
{
beep();
delay1(100);
}
break;
case0x35:
//05
for(i=0;i<5;i++)
{
beep();
delay1(100);
}
break;
case0x36:
//06
for(i=0;i<6;i++)
{
beep();
delay1(100);
}
break;
case0x37:
//07
for(i=0;i<7;i++)
{
beep();
delay1(100);
}
break;
case0x38:
//08
for(i=0;i<8;i++)
{
beep();
delay1(100);
}
break;
case0x39:
//09
for(i=0;i<9;i++)
{
beep();
delay1(100);
}
break;
case0x41:
//0AA
for(i=0;i<10;i++)
{
beep();
delay1(50);
}
break;
}//switch
EX0=1;//
}//IR_IN
参考文献
[1]杨振尚.《红外遥控解码器》.广东湛江海洋大学
[2]求是科技编著.《8051系列单片机C程序设计完全手册》.北京:
人民邮电出版社,2006
[3]马忠梅编著.《单片机C语言Windows环境编程宝典》.北京:
北京航天航空大学出版社,2003
[4]张毅刚,彭喜元编著.《单片机原理与应用设计》.哈尔滨:
哈尔滨工业大学出版社,2008
[5](美)EricS.Roberts著翁惠玉...[等]译.《C语言的科学和艺术》.北京:
机械工业出版社,2005
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- S310060008 王彬