红外遥控控制系统设计概要.docx
- 文档编号:5883512
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:27
- 大小:328.89KB
红外遥控控制系统设计概要.docx
《红外遥控控制系统设计概要.docx》由会员分享,可在线阅读,更多相关《红外遥控控制系统设计概要.docx(27页珍藏版)》请在冰点文库上搜索。
红外遥控控制系统设计概要
河南科技学院机电学院
单片机课程设计报告
题目:
红外遥控控制系统设计
专业班级:
电气工程及其自动化103
姓 名:
张明军
时间:
2012.12.15~2012.12.28
指导教师:
田丰庆邵锋张素君
完成日期:
2012年12月28日
红外遥控控制课程设计任务书
1.设计目的与要求
设计出一个用于红外遥控控制的控制器。
准确地理解有关要求,独立完
成系统设计,要求所设计的电路具有以下功能:
(1)有效遥控距离大于10米。
(2)遥控控制的路数在5路以上。
(3)采用数码管显示当前工作的控制电路。
(4)通过遥控器可以任意设置用户密码(1-16位长度),只有合法用户才能有修改电路控制的功能,同时系统掉电后能自动记忆和存储密码在系统中。
(5)密码的输入时间超过12秒或者连续3次输入失败,声音报警同时锁定系统,不让再次输入密码。
此时只有使用管理员密码方能对系统解锁。
2.设计内容
(1)画出电路原理图,正确使用逻辑关系;
(2)确定元器件及元件参数;
(3)进行电路模拟仿真;
(4)SCH文件生成与打印输出;
3.编写设计报告
写出设计的全过程,附上有关资料和图纸,有心得体会。
4.答辩
在规定时间内,完成叙述并回答问题。
论文结构清晰,层次分明,理论严谨
目录
1引言………………………………………………………1
2总体设计方案……………………………………………2
2.1设计思路………………………………………………2
2.2设计方框图……………………………………………3
3设计原理分析……………………………………………4
3.1发射电路设计…………………………………………4
3.2接收电路设计…………………………………………7
3.3软件设计………………………………………………9
4结束语……………………………………………………12
参考文献……………………………………………………13
附录一………………………………………………………14
附录二………………………………………………………15
红外遥控控制系统
摘要:
本设计由发射器和接收器两部分组成。
指令键、指令信号产生电路、调制电路、驱动电路及红外线发射器组成。
当指令键被按下时,指令信号产生电路便产生所需要的控制信号,控制指令信号经调制电路调制后,最终由驱动电路驱动红外线发射器,发出红外线遥控指令信号。
接收器由红外线接收器件、前置放大电路、解调电路、指令信号检出电路、记忆及驱动电路、执行电路组成。
当红外接收器件收到发射器的红外指令信号时,它将红外光信号变成电信号并送到前置放大电路进行放大,再经过解调器后,由信号检出电路将指令信号检出,最后由记忆电路和驱动电路驱动执行电路,实现各种操作。
控制信号一般以某些不同的特征来区分,常用的区分指令信号的特征是频率和码组特征,即用不同的频率或者编码的电信号代表不同的指令信号来实现遥控。
所以红外遥控系统通常按照产生和区分控制指令信号的方式和特征分类,常分为频分制红外线遥控和码分制红外线遥控。
关键词:
4×4矩阵键盘;AT89C51;接收器件;震荡特性
1引言
红外线遥控是目前使用很广泛的一种通信和遥控技术。
由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。
工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可*而且能有效地隔离电气干扰。
远程遥控技术又称为遥控技术,是指实现对被控目标的遥远控制,在工业控制、航空航天、家电领域应用广泛。
红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备广泛采用,并越来越多的应用到计算机系统中。
红外线又称红外光波,在电磁波谱中,光波的波长范围为0.01um~1000um。
根据波长的不同可分为可见光和不可见光,波长为0.38um~0.76um的光波可为可见光,红外线遥控是利用近红外光传送遥控指令的,波长为0.76um~1.5um。
用近红外作为遥控光源,是因为目前红外发射器件(红外发光管)与红外接收器件(光敏二极管、三极管及光电池)的发光与受光峰值波长一般为0.8um~0.94um,在近红外光波段内,二者的光谱正好重合,可获得较高的传输效率及较高的可靠性。
随着远程教育系统的不断发展和日趋完善,利用多媒体作为教学手段各级各类学校都得到了广泛应用。
但经常会遇到同时使用多种设备,如:
DVD、VCD、录像机、电视机等,由于各种设备都自带遥控器,而且不同的设备所遵循的红外传输规约也不尽相同,操纵这些设备得用多种控器,给使用者带来了诸多不便。
基于单片机的控制指令来对多种设备进行远程控制,从而方便快捷的实现远程控制。
红外遥控的特点是不影响周边环境的、于10米)遥控中得到了广泛的应用。
2总体设计方案
2.1设计思路
主要的设计实施过程:
首先,选用ATMEL公司的单片机AT89C51,以及选购其他电子元器件。
第二步,使用DXP2004设计硬件电路原理图,并设计PCB图完成人工布线
第三步,使用KeiluVision2软件编写单片机的汇编语言程序、仿真、软件调试。
第四部,使用PROTEUS软件进行模拟软、硬件调试。
最后,联合软硬件调
试电路板,完成本次毕业设计。
2.1.1方案确定
红外遥控器的发射器电路比较简单,由一个4×4矩形键盘、一个NPN驱动三极管、一个红外线发光二极管和限流电阻组成。
要遥控哪台接收器由键盘输入,即由键盘输入要红外遥控的地址,地址经过编码、调制后通过红外发光二极管发射出去。
矩阵键盘部分由16个轻触按键按照4行4列排列,将行线所接的单片机的I/O口作为输出端,而列线所接的作为输入。
当没
然后解码:
平时,遥控器无键按下时,红外发射二极管不发出信号,遥控接收头输出信号1,有键按下时,0和1的编码的高电平经遥控接收头反相后会输出信号0,由于与单片机的中断脚相连,将会引起单片机中断。
继续接收下面的数据,当接收到32位数据时,说明一帧数据接收完毕,然后判断本次接收是否有效,如果两次地址码相同并且等于本系统的地址码,数据码和数据反码之和等于0FFH,则接收的本帧数据有效,点亮一只发光二极管,否则丢弃本次接收到的数据。
接收完毕后,初始化本次接收到的数据,准备下次遥控接收。
2.2设计方框图
图2-1发射电路
红外遥控系统由发射和接收两大部分组成,系统采用编/解码专用集成电路和单片机芯片来进行控制操作。
设计的电路由如下的几个基本模块组成:
红外发射电路,红外接收电路及控制部分。
2-3系统框图如图2-2所示。
图2-2接收电路原理图
3设计原理分析
3.1红外发射电路的设计
3.1.1单片机89C51介绍
主要特性:
· 8031CPU与MCS-51兼容
·4K字节可编程FLASH存储器(寿命:
1000写/
擦循环)
图3-189C51·全静态工作:
0Hz-24KHz
·三级程序存储器保密锁定
·128*8位内部RAM
·32条可编程I/O线
·两个16位定时器/计数器
· 6个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
图3-189C51
3.1.2管脚说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
管脚备选功能:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
3.1.2震荡特性
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
3.1.3芯片擦除
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
3.1.44×4矩阵键盘
如图所示,本系统采用4×4矩阵键盘,16个按键分为输入数字键:
*、0、#、1、2、3、4、5、6、7、8、9;功能键lock、modify、cel、Enter。
矩阵键盘。
图3-2矩阵键盘
3.1.5复位电路
图3-3复位电路
时钟电路工作后,在REST管脚上加两个机器周期的高电平,芯片内部开始进行初始复位(如图3—3)。
3.1.6振荡电路
图3-4振荡电路
本设计晶振选择频率为12MHZ,电容选择30pF如图(3-4)。
经计算得单片机工作胡机器周期为:
12×(1÷12M)=1us。
3.2接收电路的设计
该接收模块是一个三端元件,具有功耗低、抗干扰能力强、输入灵敏度高、对其它波长(950nm以外)的红外光不敏感的特点。
工作原理为:
首先,
通过红外光敏元件将接收到的载波频率为38kHz的脉冲调制红外光信号转化为电信号,再由前置放大器和自动增益控制电路进行放大处理;然后,通过带通滤波器进行滤波,滤波后的信号由解调电路进行解调;最后,由输出级电路行反向放大输出。
当接收到红外信号,就会把红外信号转换的电平从OUT脚输出,P2.0口就会产生一个中断,进入红外中断服务程序,进而判断是什么信号,并且对信号做出反应。
3.2.1摇控码的编码格式
该遥控器采用脉冲个数编码,不同的脉冲个数代表不同的码,最小为2个脉冲,最大为17个脉冲。
为了使接收可靠,第一位码宽为3ms,其余为1ms,遥控码数据帧间隔大于10ms,如图3-5所示。
图3-5输出端口波形图
3.2.3数码帧的接收处理
在接收过程中,脉冲通过光学滤波器和红外二极管转换为40KHZ的电信号,此信号经过放大,检波,整形,解调,送到解码与接口电路。
通常,红外遥控器将遥控信号(二进制脉冲码)调制在40KHz的载波上,经缓冲放大后送至红外发光二极管,产生红外信号发射出去。
将上述的遥控编码脉冲对频率为40KHz(周期为26.3ms)的载波信号进行脉幅调制(PAM),再经缓冲放大后送到红外发光管,将遥控信
3.3软件设计
因为发光二极管的发光距离与其发射功率成正比,为了提高发光二极管的发光距离,必须提高它的发射功率,也就是使红外发光二极管工作于脉冲状态。
可以用两种方法来实现:
一是用硬件方法,即设计脉冲电路来产生占空比尽量小的脉冲载波信号;另一种就是用软件来控制MSP430F413的输出端P2.1,让其输出即为占空比较小的脉冲信号。
这里利用软件来实现这个功能。
即在需要输出高电平的时候,让程序定时把P2.1口输出状态反向,其中定时时间是由指令数和指令周期来决定的,每条指令的指令执行周期是固定的,所以如果想让反向频率高一些,则让指令执行的少一些,反之就让指令多一些。
可见输出信号占空比可以由定时时间的长短来决定,这样就可以在高电平时输出占空比尽量小的脉冲信号。
因为接收头对38KHz的光信号转换能力比较强,所以把高电平的频率设置为38KHz。
在需要输出低电平的时候,控制P2.1口一直为低就可以了。
红外发光二极管发射波形如图3所示。
先发一段前导码,以检验这组码是否为想要的码。
前导码由一个9ms的高电平和一个4ms的低电平组成。
然后再发32位数据代码,其中高电平为0.5ms,低电平为0.5ms的一个周期为代码“0”;高电平为0.5ms,低电平为1.5ms的一个周期为代码“1”。
为了提高发射功率,实际工作时,发光二极管的高电平用38kHz的载波信号载波,低电平则一直为低。
在主程序中,先设置P2.0口为上升沿和下降沿都捕获,然后中断允许,进入主循环。
一旦P2.0口有电平的跳变即进入中断程序。
在中断程序中,首先判断是否上升沿。
若是,则上升沿标志置1,并记录上升沿时刻;否则,说明是下降沿,再判断上升沿标志是否置1。
若是,说明已有上升沿,记录下降沿时刻,并计算脉宽(脉宽=下降沿时刻—上升沿时刻);否则,说明这是干扰信号,直接返回。
下一步,判断脉宽的大小。
4结束语
由于目前的遥控装置大多对某一设备进行单独控制,而在本设计中的红外遥控电路设计了多个控制按键,可以对不同的设备,也可以对同一设备的多个功能进行不同的控制。
基本符合技术要求。
但是本电路也有不完,它只能单通道实现对多个设备的控制,即它不能同时控制两个或者两个以上的设备。
通过这次毕业设计,让我复习了很多学过的旧知识,同时锻炼了自己的动手能力和查阅资料。
尤其是解决在实际中解决排查问题的能力。
通过这次的设计,我熟悉了使用protel的技巧,学会了制作电路板的一些技巧,并且熟悉了
如何选购使用电子元器件。
在设计中,我学到了如何使用C语言对单片机进行编写程序,熟悉了使用KEILC软件,并且加深了对单片机的编程技巧。
在做这个设计的过程中,我遇到了不少的问题。
这锻炼了我筛选、查阅资料,并将理论结合到自己的设计中的能力。
一步一步的排除故障原因,找到故障的原因并解决故障。
在设计过程中,通过大量的查阅资料,认真研究材料,对单片机有了更为深刻的理解,在设计软件时,须仔细的分析硬件电路,画出程序流程图,培养了我的耐性和刻苦钻研的精神。
参考文献
[1]当方.微型计算机控制技术[M].中国水利水电出版社,2001年,42-45
[2]胡汉才.单片机原理及其借口技术[M].清华大学出版社,1996年,24-28
[3]赵新民.智能仪器设计基础[M].哈尔滨工业大学出版社,1999年,34-36
[4]潘新,民王,燕芳.微型计算机控制技术[M].电子工业出版社,2003年,67-68
[5]李钟实.实用电子报警器精选百例[M].北京:
科技技术文献出版社,2002年,12-15
[6]陈爱弟.Protel99se实用培训教程[M].人民邮电出版社,2000年,33-35
[7]阎石.数字电子技术基础[M].高等教育出版社,1998年,56-57
[8]童诗白.模拟电子技术基础[M].高等教育出版涉,1998年,78-80
[9]候振鹏.嵌入式C语言程序设计[M].北京:
人民邮电出版社,2006年,99-100
[10]徐士良.C语言程序设计教程[M].北京:
人民邮电出版社,2001年,66-72
附录一
附录二
外遥控发射程序:
ORG0000H;程序执行开始地址
AJMPSTART;跳至START执行
ORG000BH;定时器T0中断入口地址
LJMPINTT0;跳至INTT0中断服务程序
ORG0030H
PCODEEQU30H;识别码
OPPCODEEQU31H;识别码反码
BUTEQU32H;按键码
OPPBUTEQU33H;按键反码
START:
MOVSP,#70H;设堆栈基址为70H
CLRP3.4;关遥控输出
MOVIE,#00H;关所有中断
MOVIP,#01H;设优先级
MOVTMOD,#22H;8位自动重装初值模式
MOVTH0,#0F3H;定时为13微秒初值
MOVTL0,#0F3H
SETBEA;开总中断允许
MOVPCODE,#0ABH;识别码赋值
MOVOPPCODE,#54H;识别码反码赋值
JIAN:
;识别键盘有无键按下子程序
MOVP2,#00FH;置列线为1
MOVR7,#0FFH;延时
DJNZR7,JIAN1
JIAN1:
MOVA,P2;读P2口
CPLA;求反后高电平表示有键按下
ANLA,#00FH;判别有键值按下吗
JZJIAN;无键按下时返回重新扫描
LCALLDELAY
SKEY:
;识别具体按键值子程序
MOVA,#00;下面进行行扫描1行1行扫
MOVR0,A;R0作为行计数器开始为0
MOVR1,A;R1作为列计数器开始为0
MOVR3,#07FH;R3为行扫描字暂存高4位为行
SKEY2:
MOVA,R3
MOVP2,A;输出行扫描字低4位全1
NOP
NOP
NOP;3个NOP操作使P2口输出稳定
MOVA,P2;读列值
MOVR1,A;暂存列值
CPLA;高电平则有键闭合
ANLA,#00FH;取列值
S123:
JNZSKEY3;有键按下转SKEY3,无键按下时进
INCR0;行计数器加1
SETBC;准备将行扫描右移1位形成下一
MOVA,R3;R3带进位C右移1位
RRCA
MOVR3,A;形成下一行扫描字送入R3
MOVA,R0
CJNEA,#04H,SKEY2;最后一行扫4次完了吗
NN:
LJMPJIAN
MN:
MOVBUT,A
CPLA
MOVOPPBUT,A
LCALLREMOTE;转发送程序
AJMPNN
SKEY3:
MOVA,R1
JNBACC.0,SKEY5
JNBACC.1,SKEY6
JNBACC.2,SKEY7
JNBACC.3,SKEY8
LJMPNN
SKEY5:
MOVA,#01H
MOVR2,A;存0列号
AJMPDKEY
SKEY6:
MOVA,#01H
MOVR2,A;存1列号
AJMPDKEY
SKEY7:
MOVA,#01H
MOVR2,A;存2列号
AJMPDKEY
SKEY8:
MOVA,#01H
MOVR2,A;存3列号
AJMPDKEY
DKEY:
MOVA,R0;取行号
ACALLDECODE
LJMPMN
DECODE:
MOVA,R0;取行号送A
MOVB,#04H;每一行按键个数
MULAB;行号*按键数
ADDA,R2;行号*按键数+列号=键值在A中
RET
REMOTE:
SETBET0;开T0中断
SETBTR0;开启定时器T0
MOVR1,#06H;原数值#09H
OUT01:
MOVR2,#0C8H;发5ms引导码
DJNZR2,$
DJNZR1,OUT01
CLRTR0;关定时器T0
CLRET0;关T0中断
CLRP3.4;关脉冲输出
MOVR1,#0AH;3ms空隙
OUT02:
MOVR2,#96H
DJNZR2,$
DJNZR1,OUT02
OUT03:
;发射数据流
MOVA,PCODE
LCALLOUT04;调用发送子程序
MOVA,OPPCODE
ACALLOUT04;调用发送子程序
MOVA,BUT
LCALLOUT04;调用发送子程序
MOVA,OPPBUT
LCALLOUT04;调用发送子程序
SETBC;发送结束码1
LCALLSEND;调用发送子程序
MOVR1,#0EAH;延时130MS
OUTWAIT:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 红外 遥控 控制系统 设计 概要