收藏 分销(赏)

本科毕业论文---红外遥控系统.doc

上传人:可**** 文档编号:2798506 上传时间:2024-06-06 格式:DOC 页数:39 大小:573KB
下载 相关 举报
本科毕业论文---红外遥控系统.doc_第1页
第1页 / 共39页
本科毕业论文---红外遥控系统.doc_第2页
第2页 / 共39页
本科毕业论文---红外遥控系统.doc_第3页
第3页 / 共39页
本科毕业论文---红外遥控系统.doc_第4页
第4页 / 共39页
本科毕业论文---红外遥控系统.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、本科毕业课程(设计)(设计目)题:简易红外遥控系统设计 学 院: 明德学院 专 业: 机械制造及其自动化 班 级: 机电12151 学 号: 122003110659 学生姓名: 王怀浩 指导教师: 王许 2015年 6月贵州大学本科毕业课程(设计)诚信责任书本人郑重声明:本人所呈交的课程设计,是在指导老师的指导下独立进行研究所完成。在文本设计中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。特此声明。课程(设计)作者签名: 王怀浩 日 期: 2015. 6 .23摘要红外遥控技术的出现,不仅大大提高了劳动生产率,降低了成本,而且减轻了人们的劳动强度,改善了劳动条件。红外线遥

2、控器具有体积小、功耗低、功能强、成本低等特点从而成为了当今非常流行的一种控制方式红外遥控器是一种利用红外遥控系统来控制被控对象的系统.整个系统由数字电路和模拟电路两个部分组成。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括LED红外光发射、解调、解码电路。1通过对设计要求地认真分析和研究,拿出了几种可行方案,最终选定了一个最佳方案。该方案是采用先进的单片机技术实现遥控的主要手段。我们所设计的遥控器能控制5个电器的电源开关,并且可对一路电灯进行亮度的调节。关键字:遥控电路,红外发射,红外接收,单片机AbstractInfrared remote control technolog

3、y, not only greatly improved labor productivity, reduced costs, and reduce the peoples labor intensity and improve the working conditions. Infrared remote control has a small size, low power consumption, functionality, and low cost in order to become a very popular present-day control.The infrared r

4、emote control is one kind of use infrared remote control system controls is controlled the object the department green overall system is composed by the digital circuit and the analogous circuit two parts. Launches partially including the keyboard matrix, the coded modulation, the LED infrared trans

5、mitter; Receives partially including the LED infrared light launch, the demodulation, decodes the electric circuit.After analyzing and researching on the request of the design, we take several blue print and we selected the best one in the end. The project make use of advanced SCM to realize the rem

6、ote control. Remote controller we designed can dominate 5 electrical source switches and adjust the brightness of one light.keyword:Remote controlling circuit Infrared emission Infrared receiving, SCM 目 录第一章 绪 论1第二章 设计要求.2第三章 硬件系统设计23.1基于单片机红外线遥控控制LED灯显示系统框架图23.2单片机控制系统及其基本电路3 3.2.1 单片机最小系统 33.2.2时钟

7、电路43.2.3复位电路43.3基于单片机红外遥控控制LED系统的设计原理53.3.1单片机红外遥控控制LED显示系统原理5 3.3.2单片机红外遥控控制LED系统码分制原理63.4红外遥控发射系统电路设计73.4.1指令按键电路73.4.2 发射电路83.4.3 显示模块93.5红外遥控接收系统电路设计103.5.1接收电路113.5.2 LED灯显示电路113.6硬件原理图12第四章 软件系统设计124.1 红外线发射电路程序流程图设计124.2 红外线接收电路程序流程图设计13第五章 系统测试与分析155.1 利用Proteus和keil进行仿真调试155.2 仿真图15第六章 总 结1

8、8致谢18附录119附录2.27参考文献 32第一章 绪 论目前市面上的遥控器铺天盖地,对于家电设备的控制,首选的就是红外遥控器,然而技术和经济的发展使得家庭数字化趋势越来越强烈,一对一遥控器(即一个遥控器只能控制一种类型的家电设备)已经不能满足用户要求。多功能红外遥控器就是在普通红外遥控器的基础上,应市场需求而产生的,它能控制不同种类的设备,并且操作方便,深受顾客的欢迎,这也决定了多功能遥控器具有广阔的应用前景。常用的红外遥控系统一般分发射和接收两个部分。发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管;由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发

9、出的是红外线而不是可见光。目前大量的使用的红外发光二极管发出的红外线波长为940nm左右,外形与普通5发光二极管相同,只是颜色不同。红外发光二极管一般有黑色、深蓝、透明三种颜色。判断红外发光二极管好坏的办法与判断普通二极管一样;用万用表电阻挡量一下红外发光二极管的正、反向电阻即可2。红外发光二极管的发光效率要用专门的仪器才能精确测定,而业余条件下只能用拉锯法来粗略判判定。接收部分的红外接收管是一种光敏二极管。在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。红外发光二极管一般有圆形和方形两种。由于红外发光二极管的发射

10、功率一般都较小(100mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。红外遥控常用的载波频率为38kHz这是由发射端所使用的455kHz晶振来决定的。在发射端要对晶振进行整数分频,分系数一般取12,所以455kHz1237.9kHz38kHz 第二章 设计要求主要功能是实现利用单片机AT89C51结合红外线收发模块实现控制指定的LED灯亮灭。第三章 硬件系统设计3.1基于单片机红外线遥控控制LED灯显示系统框架图1. 系统晶振采用11.0592MHZ 2. 系统框架图如下:红外线发射模块按键单片机调制频率单片机扫描按键通过红外线发射二极管发射信号对信号进行放大调

11、光控制电路信号输入单片机红外线接收器图2-1 系统的设计总框图3.2单片机控制系统及其基本电路3.2.1单片机最小系统 单片机晶振电路:对于MSC-51一般的晶振频率可以在1.2MHz12MHz之间选择,这是电容C可以对应的选择10pF30pF。当使用89C55时晶振频率可以提高到24MHZ。对于本设计的电容C用30pF,晶振选用11.0592MHz。晶振电路如下图3-1所示,一条引脚接在XTAL1,另一条接在XTAL2。 单片机的复位电路:为了防止程序执行过程中失步或运行紊乱,此处采用了上电复位及 手动复位电路,电路图如下图2-1所示:图3-2-1 单片机最小系统图3.2.2时钟电路单片机必

12、须要有时钟信号才能正常工作,因为它是一种时序电路3。单片机芯片的18脚(X2)、19脚(X1)分别为片内反向放大器的输出端和输入端,只要在18脚(X2)和19脚(X1)之间接上一个晶振(本控制系统采用频率为12MHz),同时两个脚分别串联上一个30PF的电容即可构成单片机所需的时时钟电路。钟电路如2-2所示。图3-2-2 时钟电路模块图3.2.3复位电路单片机芯片的第9脚RST(Reset)是复位信号输入端。单片机系统在开机时或在工作过程中因某种干扰而使程序失去控制,或工作中程序处于某种死循环状态等情况下都需要进行复位。AT系列单片机的复位一般靠外部电路来实现,信号高电有效,由RST引脚输入,

13、当引脚保持高电平2个周期机器 才正常复位4。复位目的是使单片机以及其他所有功能都图2-3所示。在本设计中为简化了的模型,直接将RST脚拉低,只实现开机复位。恢复到一个原始状态,并从这个状态开始执行其他的任务。AT89C52单片机复位电路如下图2-3:图3-2-3 复位电路模块图3.3基于单片机红外遥控控制LED系统的设计原理3.3.1单片机红外遥控控制LED显示系统原理红外遥控是指令信号产生电路以不同的脉冲编码代表不同的指令。如图4。当不同的指令键被按下时,指令信号产生电路将产生不同脉冲编码的指令信号,也就是进行编码,然后经调制电路调制,变为编码脉冲调制信号,再由驱动电路驱动红外发射器件发射红

14、外光信号。指令按键前置放大红外接收红外发射驱动电路调制电路解调电路指令编码记忆驱动执行环节指令编码被控对象图2-3-1 码分制红外遥控系统图接收器接收下来的信号经过前置放大后,送入解调电路,对调制信号进行解调,再经指令信号检出电路检出指令信号。这里的指令信号检出电路是与发射器中编码电路相对应的译码电路,通过它将指令信号译出。3.3.2单片机红外遥控控制LED系统码分制原理红外线遥控系统中的指令产生及检出电路,在频分制中由多频振荡电路及频率选择电路构成;在码分制系统中则由编码电路及译码电路构成,这是频分制与码分制红外线遥控系统的分别。在码分制中,因为码分制系统编码脉冲频率极低,为超低频,如果不用

15、调制与解调电路,外界突然的光线变化可能会对接收电路造成干扰,产生误动作,系统的抗干扰能力及可靠性就难以保证。所以本系统将用码分制遥控。遥控器采用脉冲个数编码,不同的脉冲个数代表不同的码,最小为2个脉冲,最大为17个脉冲。为了使接收可靠,第一位码宽为3ms,其余为1ms,遥控数据帧间隔大于10ms,如图5 所示。在遥控码的发射中,当某个操作键按下时,单片机先读出该键值,然后根据键值设定的遥控脉冲个数,再调制成38KHz 的方波由红外线发射管发射出去。P3.7 端口的输出调制波如图2-3-2.1 所示。 灯具1的遥控输入码 灯具2的遥控输入码 灯具5的遥控输入码 3ms 1ms图3-3-2.1 调

16、光命令码当红外线接收器输出脉冲帧数据时,第一位码的低电平将启动中断程序,实时接收数据帧。在数据接收时,先对第一位(起始位)码的码宽进行验证。若第一位低电平码的脉宽小于2ms,将作为错误码处理;否则认为是起始码,累加器A 加1。当间隔位的高电平大于3ms 时,结束接收,然后根据累加器A中的脉冲个数,执行相应的输出操作。图2-3-2.2为红外线接收器输出的一帧遥控码波形图。 10ms 1ms 10ms 停止位 第一位 3ms 1ms 图3-3-2.2 一帧遥控码波形图 3.4红外遥控发射系统电路设计3.4.1指令按键电路本设计中通过单片机的P2口外接按键,对外部按键进行扫描,通过按键产生外部中断,

17、并把按键的指令发送只单片机内,经单片机对各个按键进行编码后经信号指令发送至红外发射管,单片机与按键连接电路如下:图3-4-1 指令按键电路图3.4.2 发射电路 本设计中利用一体化红外收发二极管作为作为红外线的收发接口;红外线发射电路中,单片机将已编码完成的指令通过P3.7连接红外线发射机二极管发射出去,单片机与红外二极管接线图如下:图3-4-2 发射电路连接图3.4.3 显示模块发射电路设计中增加了一个数码管对发送的按键键码进行显示,进一步加强发射电路的功能。单片机将已接收到的按键键码值,通过IO口P00-P03发送到七段译码器CD4511,再通过七段译码器CD4511对按键码进行解码,并显

18、示到一位7段数码管。CD4511是一个用于驱动共阴极 LED (数码管)显示器的 BCD 码七段码译码器,具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流;可直接驱动LED显示器。CD4511驱动数码管显示原理:CD4511 是一片 CMOS BCD锁存/7 段译码/驱动器,引脚排列如图 2 所示。其中a b c d 为 BCD 码输入,a为最低位。LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“8”,各笔段都被点亮,以检查显示器是否有故障。BI为消隐功能端,低电平时使所有笔段均消隐,正常显示时, B1端应加高电平。另外 CD451

19、1有拒绝伪码的特点,当输入数据越过十进制数9(1001)时,显示字形也自行消隐。LE是锁存控制端,高电平时锁存,低电平时传输数据。ag是 7 段输出,可驱动共阴LED数码管。另外,CD4511显示数“6”时,a段消隐;显示数“9”时,d段消隐,所以显示6、9这两个数时,字形不太美观 图3是 CD4511和CD4518配合而成一位计数显示电路,若要多位计数,只需将计数器级联,每级输出接一只 CD4511 和 LED 数码管即可。所谓共阴 LED 数码管是指 7 段 LED 的阴极是连在一起的,在应用中应接地。限流电阻要根据电源电压来选取,电源电压5V时可使用300的限流电阻。图3-4-3 CD4

20、5113.5红外遥控接收系统电路设计3.5.1接收电路本设计中通过单片机的P3.2口外接一体化红外线收发二极管的红外线接收二极管,并把红外线接收二极管接收到的指令信号送入单片机内进行解码等处理。红外接收二极管与单片机接线图如下:3.5.2 LED灯显示电路LED灯通过与单片机P1口进行连接,单片机根据接收到不同的按键码,通过控制P1口的电平,把相应的LED灯点亮或者熄灭,连接图如下:图3-5-2 LED灯显示电路3.6硬件原理图硬件原理图如图所示:图3-6 硬件原理图第四章 软件系统设计4.1 红外线发射电路程序流程图设计说明:当单片机上电的时候程序开始执行,首先进行初始化工作,然后开启中断,

21、接着单片机对接有按键的引脚电平进行扫描,当发现有按键被按下的时候,将该按键的按键码发送到单片机内部,按键码经单片机进行处理,并进行编码,编码完成后将该编码经由单片机的P3.7发送到红外线发送二极管进行信号发射:图4-1 红外线发射电路流程图4.2 红外线接收电路程序流程图设计说明:当单片机上电的时候程序开始执行,首先进行初始化工作,然后开启中断;此时单片机对连接红外线接收二极管的P3.2端口进行扫描;当红外接收二极管接收到信号的时候,经该信号进行解码还原,并点亮指令的LED灯:图4-2 红外线接收电路流程图第五章 系统测试与分析 5.1 利用Proteus和keil进行仿真调试应用系统设计完成

22、之后,要进行硬件调试和软件调试。软件调试可以利用开发及仿真系统进行。1先排除硬件电路故障,包括设计性错误和工艺性故障。一般原则是先静态后动态。(1)利用万用表或逻辑测试仪器,检查电路中的各元件以及引脚是否连接正确,是否有短路故障。(2)先要将单片机AT89C51芯片取下,对电路板进行通电检查,通过观察看是否有异常,然后用万用表测试各电源电压,若这些都没问题,则直接上仿真机进行联机调试观察各接口线路是否异常。2软件调试软件调试是利用仿真工具Proteus和keil进行在线仿真调试,不但可以发现和解决程序错误外,而且可以发现硬件中存在的问题.单片机AT89C51是系统的核心,利用万用表检测单片机电

23、源VCC是否为(40脚)+5V、晶振是否正常工作(可用示波器测试,也可以用万用表检测,两引脚电压一般为1.82.3V之间)、复位引脚RST(复位时为高电平,单片机工作时为低电平)、EA是否为高电平,这样一来单片机就能工作了,再结合电路图,检测故障就很容易了。5.2 仿真图 5.2.1按下第一个键 5.2.2按下第二个键 5.2.3.按下第三个键 5.2.4再次按下第二个键第六章 总 结 通过这次课程设计,提升了我的自学能力,通过不断的查阅资料,通过与同学的交流,来解决其中遇到的困难,比如如何解决无线通信问题,如何解决控制问题等。我在设计中改变了比较传统的固定式开关元件,利用单片机无线遥控控制室

24、内灯光取得了良好的效果,为人们提供了很大的方便,在社会生活越来越现代化的同时,我认为灯具电器等家具实现智能化控制是一个很大的趋势,同时也应总结经验,逐步完善室内灯光智能控制,例如可以增加室内灯具的自动巡检与电脑联网功能,灯具故障即可自动发出报修信号,灯具的各种使我们第一时间得知灯具的工作状况,还可以对灯具加入很多的场景模式等。在设计中也体会到我的知识面还是很狭窄,作为电子系学生,在学好本专业的基础前提下,还要不断的学习其他领域的科学技术知识,拓宽自己的知识面,才能胜任新设备、新技术的工作,更好发挥本专业的作用。致谢经过几个星期的努力,我们在王老师的耐心帮助和自己的努力下终于完成了此次设计,并按

25、设计要求实现了遥控器的各项功能。通过这次设计使我们从中学到到了很多课本上学不到的知识,了解了红外遥控器的现状和发展趋势,并学会了用单片机开发产品的完整的过程,明白了设计的概念。通过自己亲自去动手和调试我明白的实践的重要性,明白了理论结合实践的含义,同时也大大的提高了自己的动手能力和团队合作能力,这在我以后的工作中都是非常有用的。在这次设计中,王老师不厌其烦的给我讲解问题和修正错误,在此表示衷心的感谢!附录一 发射器程序#include #include #define uchar unsigned char#define uint unsigned int# define _BV(bit) (

26、1(bit)sbit k1=P20;sbit k2=P21;sbit k3=P22;sbit k4=P23;sbit k5=P24;sbit k6=P25;sbit k7=P26;sbit k8=P27;sbit out=P37;static bit OP; /红外发射管的亮灭static unsigned int count; /延时计数器static unsigned int endcount; /终止延时计数static unsigned char Flag; /红外发送标志char iraddr1; /十六位地址的第一个字节char iraddr2; /十六位地址的第二个字节void

27、SendIRdata(char p_irdata);uchar t=16;uchar CODE=0Xff;void delay_LCM(uint); /LCD延时子程序/*延时K*1ms,12.000mhz*/void delay_LCM(uint k) uint i,j; for(i=0;ik;i+) for(j=0;j60;j+) ; void key() if(k1=0)/ 开 delay_LCM(5); if(k1=0) SendIRdata(1);P0=1; while(k1=0); if(k2=0)/ 开 delay_LCM(5); if(k2=0) SendIRdata(2);P

28、0=2; while(k2=0); if(k3=0)/ 开 delay_LCM(5); if(k3=0) SendIRdata(3);P0=3; while(k3=0); if(k4=0)/ 开 delay_LCM(5); if(k4=0) SendIRdata(4);P0=4; while(k4=0); if(k5=0)/ 开 delay_LCM(5); if(k5=0) SendIRdata(5);P0=5; while(k5=0); if(k6=0)/ 开 delay_LCM(5); if(k6=0) SendIRdata(6);P0=6; while(k6=0); if(k7=0)/

29、开 delay_LCM(5); if(k7=0) SendIRdata(7);P0=7; while(k7=0); if(k8=0)/ 开 delay_LCM(5); if(k8=0) SendIRdata(8);P0=8; while(k8=0); /定时器0中断处理 void timeint(void) interrupt 1 TH0=0xFF; TL0=0xe6; /设定时值为38K 也就是每隔26us中断一次 count+; /定时器1中断处理 void time1(void) interrupt 3 out=!out; void SendIRdata(char p_irdata) i

30、nt i; char irdata=p_irdata; /发送9ms的起始码 endcount=74; Flag=1; count=0; out=0;TR1=1; dowhile(countendcount);TR1=0;out=1; /发送4.5ms的结果码 /endcount=117; /Flag=0; /count=0; /out=1; /dowhile(countendcount);endcount=25; Flag=1; count=0; out=1; /TR1=1; dowhile(countendcount); /发送八位数据/irdata=p_irdata; for(i=0;i

31、irdata;i+) endcount=25; Flag=1; count=0; out=0; TR1=1; dowhile(countendcount); TR1=0; out=1;endcount=25; Flag=1; count=0; out=1; /TR1=1; dowhile(countendcount); main() count = 0; Flag = 0; OP = 0; out = 1; EA = 1; /允许CPU中断 TMOD = 0x21; /设定时器0和1为16位模式1 ET0 = 1; /定时器0中断允许 P1=0xff; TH0 = 0xFF; TL0 = 0x

32、E6; /设定时值0为38K 也就是每隔26us中断一次 TR0 = 1;/开始计数TH1 = 256-13; TL1 = 256-13; /设定时值0为38K 也就是每隔26us中断一次 ET1 = 1; /定时器1中断允许 /TR1 = 1; /定时器1中断允许 iraddr1=0x00;iraddr2=0x00; while(1) key();/P2=CODE=P1;/delay_LCM(100); /SendIRdata(CODE);附录二 接收器程序#include#define uchar unsigned char#define uint unsigned intuchar da

33、ta IRcode4; /定义一个4字节的数组用来存储代码uchar CodeTemp; /编码字节缓存变量uchar i,j,k; /延时用的循环变量uchar dat=0;uchar num;uint time;sbit led1=P10;sbit led2=P11;sbit led3=P12;sbit led4=P13;sbit led5=P14;sbit led6=P15;sbit led7=P16;sbit led8=P17;sbit IRsignal=P32; /HS0038接收头OUT端直接连P3.2(INT0)void delay(uint z);void delay(uint

34、 z) uint a,b; for(a=z;a0;a-) for(b=120;b0;b-);/*延时0.9ms子程序*/void Delay0_9ms(void)uchar j,k; for(j=18;j0;j-) for(k=20;k0;k-) ;/*延时1ms子程序*/void Delay1ms(void)uchar i,j; for(i=2;i0;i-) for(j=230;j0;j-) ;/*延时4.5ms子程序*/void Delay4_5ms(void)uchar i,j; for(i=10;i0;i-) for(j=225;j0;j-) ;/* 延时子程序 */ /*中断0解码服

35、务子程序*/void int0(void) interrupt 0 using 2 EX0=0;P3_0=!P3_0; num=0;for(k=0;k4;k+) Delay0_9ms(); if (IRsignal=1) /如果0.9ms后IRsignal=1,说明不是引导码 k=4; break; /P0=0XFF; else if(k=2) /如果持续了30.9ms=9ms的低电平,说明是引导码 /P0=0;time=0;num=0;while(IRsignal=0); /if(IRsignal=0)/ num+=1;/P1=num;/while(IRsignal=0);while(tim

36、e100)time+; Delay0_9ms(); /跳过持续1ms的高电平Delay0_9ms(); /跳过持续1ms的高电平if(IRsignal=0) P0=num;num+=1; /P1=num;while(IRsignal=0); if(num=1)led1=!led1;if(num=2)led2=!led2;if(num=3)led3=!led3;if(num=4)led4=!led4;if(num=5)led5=!led5;if(num=6)led6=!led6;if(num=7)led7=!led7;if(num=8)led8=!led8;break;/ delay(2); E

37、X0=1;void init()/ 定时器初始化 TMOD=0x11; EA=1; IT0=1; /INT0为负边沿触发, (1:负边沿触发,0:低电平触发) EX0=1; /外部中断INT0开, (1:开, 0:关 ) CodeTemp=0; /初始化红外编码字节缓存变量main() init(); while(1)参考文献1 彭志刚.利用单片机改进交通灯控制系统 2003年2 郭循钊.基于单片机的多功能交通灯控制系统设计与仿真实现2010年3 徐金.基于AT89S52单片机的SD卡读写器设计2008年4 刘昆山.用单片机控制一个LED 2010年5 罗明坡.大学生论文联合比对库 2012年6 杨美荣.浅析51单片机最小系统的设计与制作 2011年7 浦明乐.基于AT89S52单片机的水温控制器设计 2008年教师评语:教师签字:年 月 日

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服