毕业设计红外线遥控插座的设计.doc

上传人:laozhun 文档编号:4141837 上传时间:2023-04-07 格式:DOC 页数:20 大小:340.50KB
返回 下载 相关 举报
毕业设计红外线遥控插座的设计.doc_第1页
第1页 / 共20页
毕业设计红外线遥控插座的设计.doc_第2页
第2页 / 共20页
毕业设计红外线遥控插座的设计.doc_第3页
第3页 / 共20页
毕业设计红外线遥控插座的设计.doc_第4页
第4页 / 共20页
毕业设计红外线遥控插座的设计.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《毕业设计红外线遥控插座的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计红外线遥控插座的设计.doc(20页珍藏版)》请在三一办公上搜索。

1、 毕业设计论文设计题目: 红外线遥控插座的设计 系 别: 电子与信息工程系 专 业: 应用电子技术 班 级: 电子904班 学生姓名: 学 号: 302090433 起止日期: 2011年6月20日2011年7月9日 指导教师: 摘 要晚上在床上看完电视后顺手一按就可关断电视机的交流电源。这样电视的待机电源灯就不会亮了特难受、夏天天气热的时候不用跑到电风扇傍才可以开电风扇和一些自己平常不想跑到它们面前开或关的电器,我们可以用红外遥控插座来控制。我们可以用单片机等软件和硬件来实现这一功能。单片机的集成度很高,它具有体积小、质量轻、价格便宜、耗电少等突出特点,尤其耗电少,又可使供电电源体积小、质量

2、轻。本课程设计介绍了基于单片机的一种学习型红外线遥控插座的设计与实现,可以对各种红外线遥控器发射的信号进行识别、存储和再现等功能,从而实现对各类家电的控制。红外遥控插座由单片机、遥控、红外线发射、显示、存储、按键和欠电压指示等部分组成。本设计详细介绍了红外遥控插座的软硬件设计方法,并给出了具体的各单元电路设计、程序设计及主程序流程图。在硬件设计中,我们选取AT89C52型号单片机为核心器件,并给出外围电路模块如红外接收模块、红外发射模块、显示模块、以及外部控制模块等组成部分的设计实现。软件部分采用keil进行C程序设计与编译,并将编译后产生的hex文件通过STC_ISP_V479下载到单片机中

3、,进行调试。本红外遥控插座采用最小化应用模式设计,电路简单,尤其是通过大量不同遥控码的特征分析,在遥控码的读入时选择了最佳采样间隔,使遥控码的学习成功率大大提高。关键词:遥控学习;红外解码;单片机控制;红外遥控插座目 录设计要求1前言11、方案论证12、基本功能模块设计与说明22.1.初始化模块22.2遥控码读入处理模块22.3 LCD5110液晶显示屏程序的编写32.4 主模块33、调试与操作说明431红外遥控插座的电路原理图的设计432 程序的编译及下载533实际电路的测试74、课程设计心得体会85、元器件及仪器设备明细96、参考文献107、致谢108、附录11学习型红外遥控器的设计设计要

4、求设计任务和要求:设计并制作一个智能遥控插座。要求:(1)能用按键和彩电遥控器进行设定和控制。(2)能遥控开、关小家电,如电风扇、电视机、饮水机等。(3)能够设定开关开启时间的长短,如设定开启时间为半小时,时间到后立即切断开关。(4)能显示遥控状态,如开关的开合、所设定的时间等。前言 本课程设计是一个基于单片机的红外遥控插座,能够学习红外遥控插座的某功能。利用单片机AT89C52对多个红外遥控编码的脉冲宽度进行测量,并原封不动地把发射信号中高、低电平的时间宽度记忆至扩展存储区的指定地址。通用红外遥控系统由发射和接收两大部分组成,应用编/解码芯片来进行控制操作,发射部分包括键盘矩阵、编码调制、L

5、ED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。专用集成电路 1、方案论证为了实现红外遥控插座的功能,系统应具有红外线的接收解码、红外线调制、操作按键和功能控制功能等单元。由于功能定为能用按键和彩电遥控器进行设定和控制。,因此决定采用STC89C52单片机作为控制器。STC89C52单片机中具有256字节的内存单元,可存储遥控码脉宽的数据。遥控码的脉宽数据可用红外线接收器解码后送单片机读入,发射时有单片机产生40kHZ红外调制信号送红外发射管发射.红外遥控插座的实现方案框图如图1所示。彩电遥控器单 片 机遥控接收头显示器件复 位晶 振继电器电器插座受控电器按 键继电器电器插座受控

6、电器图1 红外遥控插座系统框图2、基本功能模块设计与说明2.1.初始化模块初始化模块的主要任务时清存放脉宽数据单元,将定时器设为T0模式,设置中断。2.2遥控码读入处理模块红外遥控编码的研究步骤: 1、了解红外遥控编码的编码及解码:(1)红外遥控系统 通用红外遥控系统由发射和接收两大部分组成,应用编/解码芯片来进行控制操作,发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。专用集成电路(2)红外编码的特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.6

7、85ms、周期为2.25ms的组合表示二进制的“1”,其波形如下图所示:2、使用数字示波器获取彩电遥控器并实现解码:(1)首先学习和了解数字示波器(2)应用数字示波器的触发方式和存储功能进行对波形的获取;绘制自己在示波器看到的波形,并解码;2.3:LCD5110液晶显示屏程序的编写步骤: 1、了解LCD5110的使用资料及使用手册(1)LCD5110的特征单色、单芯片 LCD 控制/驱动48 行,84 列输出显示数据 RAM 48*84 位芯片集成:LCD电压发生器(也可以使用外部电压供应)LCD偏置电压发生器振荡器不需要外接元件(也可以使用外部时钟)外部 RES(复位)输入引脚串行界面最高4

8、.0Mbits/S CMOS兼容输入混合速率:48逻辑电压范围VDD到 VSS:2.7V3.3V显示电压范围VLCD到 VSS:6.08.5V LCD内部电压发生器(充许电压发生器)6.09.0V LCD外部电压供应(电压发生器关闭)低功耗,适用于电池供电系统关于VLCD的温度补偿使用温度范围:-25702.4 主模块主程序在完成上电初始化后进行按键查询,当确认有键按下时将编码发出去。主程序流程图4所示 图4 主程序图 3、调试与操作说明31红外遥控插座的电路原理图的设计图4所示为该红外遥控插座的电路原理图,单片机使用STC89C52,还用了cx20106芯片,其中: P0.1、P0.2口是控

9、制继电器的端口; P1.0、P1.1、P1.2、P1.3口是用来控制按键的端口; P2.4口是片选端口;P23为单片机的复位脚,采用0电复位电路;P2.5端口1写数据,0写指令;P2.6为数据端口;P2.7为控制时钟的端口。图4 红外遥控插座电路原理图32 程序的编译及下载1、创建工程并选择AT89C52型号芯片。2、新建L5-6.c文件。3、编写源程序并编译,如图6所示。图5 红外遥控插座的程序编译图3、打开STC-ISP下载软件,选择STC89C52RC型号的芯片,选择串口1并导入编译生成的hex文件。4、将单片机与计算机的串口相连,并将程序下载至单片机,如图7所示。图6 红外遥控插座程序

10、下载图33实际电路的测试 程序下载进单片机后,打开单片机开发板上电源接口开关以及电源切换开关,再把芯片AT89C52放入电路,按下遥控,看看能补能实现功能;再按下按键看看是否也能实现功能,若都能实现,说明达到了预期目的。4、课程设计心得体会 本次课程设计的基于单片机学红外遥控插座,在keil软件上进行了进行C程序的设计、编译,并将输出的的hex文件通过STC_ISP_V479下载到单片机中,最后在单片机开发板上进行调试,测试硬件电路功能。经过实践验证,本设计是正确的。测试中,我们选取了电视机的遥控器作为学习对象,通过学习红外遥控插座,能实现单片机对电器的控制。达到预期目的, 设计完全成功。本文

11、给出的设计思想也适用于其他基于单片机的系统设计。我们这次课程设计是通过小组的讨论与实验所完成的,在进行过程中碰到了一些困难。然而我们并没有因为遇到困难而放弃过,我们不断的相互学习、讨论研究,我们没有因为谁不懂做而嘲笑他,而是耐心的帮助他。在有些问题实在补懂的时候,我们就会积极的问老师,老师也会耐心的教我们。通过这次实验我们感觉到动手能力及思维方式得到很大的加强。在这次课程设计中,我们学会了怎样去根据课题的要求运用学过的知识去设计电路和调试电路。从中我们发现了实践的重要性,在以后的学习生活中我们要加强理论与实际的结合。而且这次实验也体现了团队合作的重要性与探索精神的必要性。这让我明白了很多事要通

12、过努力才能够获得成功的。只要你不放弃,成功也不会放弃你的。5、元器件及仪器设备明细表1 元器件及仪器设备明细表器件名称型号/版本数量备注微型计算机长城一台keil软件一套STC_ISP_V479软件一套单片机开发板STC89RC52一套红外接收头TCL一台电视机遥控器TCL一台6、参考文献 集成电子基础教程,郑家龙、王小海、章安元编,高教出版社,2002年5月 电子系统设计,何小艇等编,浙江大学出版社,2000年 现代电子学及应用,童诗白、徐振英编,高等教育出版社,1994年 新编555集成电路应用800例 陈永甫编著 电子工业出版社 2000年7、致谢本次课程设计主要由我、潘胜稳、赖祖鹏3人

13、共同完成,其间当然老师也同样是付出了大量的时间和精力来帮助我们。不论结果怎样,我们都会欣然接受,因为我们努力过了。同时我们也要衷心地感谢我们所有的老师,以及帮助我们的同学,要是没你们的帮助我们是不能这么好的完成这次课程设计的。8、附录/*- 主程序-*/main()unsigned char k;TMOD = 0x01;TH0 = 0x3c;TL0 = 0xb0;EA=1;ET0=1;TR0=1;Counter=0x00; res=0;for(k=0;k250;k+);res=1; LCD_init(); /初始化LCD模块 LCD_clear(); /清屏幕IRInit(); while(1

14、) dings(); display(); while(k11=1) /调分 LCD_write_hanzi(1,0,0); LCD_write_hanzi(3,0,1); tiaozheng(); display(); if(ss=15) k11=0; LCD_clear(); while(k11=2) /调时 LCD_write_hanzi(1,0,0); LCD_write_hanzi(3,0,2); tiaozheng(); display(); if(ss=15) k11=0; LCD_clear(); while(k11=3) /定分1 LCD_write_hanzi(1,0,3)

15、; LCD_write_hanzi(3,0,1); LCD_write_shu(5,0,1); tiaozheng(); LCD_write_shu(0,2,shi/10); LCD_write_shu(1,2,shi%10); LCD_write_shu(2,2,10); LCD_write_shu(3,2,fen/10); LCD_write_shu(4,2,fen%10); if(ss=15) k11=0; LCD_clear(); /定时1 while(k11=4) LCD_write_hanzi(1,0,3); LCD_write_hanzi(3,0,2); LCD_write_sh

16、u(5,0,1); tiaozheng(); LCD_write_shu(0,2,shi/10); LCD_write_shu(1,2,shi%10); LCD_write_shu(2,2,10); LCD_write_shu(3,2,fen/10); LCD_write_shu(4,2,fen%10); if(ss=15) k11=0; LCD_clear(); while(k11=5) /定分2 LCD_write_hanzi(1,0,3); LCD_write_hanzi(3,0,1); LCD_write_shu(5,0,2); tiaozheng(); LCD_write_shu(0

17、,2,shi1/10); LCD_write_shu(1,2,shi1%10); LCD_write_shu(2,2,10); LCD_write_shu(3,2,fen1/10); LCD_write_shu(4,2,fen1%10); if(ss=15) k11=0; LCD_clear(); /定时2 while(k11=6) LCD_write_hanzi(1,0,3); LCD_write_hanzi(3,0,2); LCD_write_shu(5,0,2); tiaozheng(); LCD_write_shu(0,2,shi1/10); LCD_write_shu(1,2,shi

18、1%10); LCD_write_shu(2,2,10); LCD_write_shu(3,2,fen1/10); LCD_write_shu(4,2,fen1%10); if(ss=15) k11=0; LCD_clear(); while(k11=7) /定分3 LCD_write_hanzi(1,0,3); LCD_write_hanzi(3,0,1); LCD_write_shu(5,0,3); tiaozheng(); LCD_write_shu(0,2,shi2/10); LCD_write_shu(1,2,shi2%10); LCD_write_shu(2,2,10); LCD_

19、write_shu(3,2,fen2/10); LCD_write_shu(4,2,fen2%10); if(ss=15) k11=0; LCD_clear(); /定时3 while(k11=8) LCD_write_hanzi(1,0,3); LCD_write_hanzi(3,0,2); LCD_write_shu(5,0,3); tiaozheng(); LCD_write_shu(0,2,shi2/10); LCD_write_shu(1,2,shi2%10); LCD_write_shu(2,2,10); LCD_write_shu(3,2,fen2/10); LCD_write_

20、shu(4,2,fen2%10); if(ss=15) k11=0; LCD_clear(); while(k11=9) /定分4 LCD_write_hanzi(1,0,3); LCD_write_hanzi(3,0,1); LCD_write_shu(5,0,4); tiaozheng(); LCD_write_shu(0,2,shi3/10); LCD_write_shu(1,2,shi3%10); LCD_write_shu(2,2,10); LCD_write_shu(3,2,fen3/10); LCD_write_shu(4,2,fen3%10); if(ss=15) k11=0;

21、 LCD_clear(); /定时4 while(key()=10) LCD_write_hanzi(1,0,3); LCD_write_hanzi(3,0,2); LCD_write_shu(5,0,4); tiaozheng(); LCD_write_shu(0,2,shi3/10); LCD_write_shu(1,2,shi3%10); LCD_write_shu(2,2,10); LCD_write_shu(3,2,fen3/10); LCD_write_shu(4,2,fen3%10); if(ss=15) k11=0; LCD_clear(); /* 描述: * 数码管显示 遥控

22、键值读取器 * 遥控器接p3.2 * 现象:当按遥控器时,按下事 数码管会有闪烁,为什么会闪烁呢 * * 连接方法:使用红外功能时 J1跳线短接 *8*/#include sbit IRIN = P32; /红外接收器数据线void IRdelay(char x); /x*0.14MSvoid beep();unsigned char IRCOM7;unsigned char Y0;/*/void IRInit() IE |= 0x81; /允许总中断中断,使能 INT0 外部中断 TCON |= 0x01; /触发方式为脉冲负边沿触发 IRIN=1; /I/O口初始化 /*/void IR_

23、IN(void) interrupt 0 unsigned char j,k,N=0; EX0 = 0; IRdelay(5); if (IRIN=1) EX0 =1; return; /确认IR信号出现 while (!IRIN) /等IR变为高电平,跳过9ms的前导低电平信号。 IRdelay(1); for (j=0;j2;j+) /收集2组数据 for (k=0;k=30) EX0=1; return; /0.14ms计数过长自动离开。 /高电平计数完毕 IRCOMj=IRCOMj 1; /数据最高位补“0” if (N=8) IRCOMj = IRCOMj | 0x80; /数据最高

24、位补“1” N=0; for (j=2;j4;j+) /收集2组数据 for (k=0;k=30) EX0=1; return; /0.14ms计数过长自动离开。 /高电平计数完毕 IRCOMj=IRCOMj 1; /数据最高位补“0” if (N=8) IRCOMj = IRCOMj | 0x80; /数据最高位补“1” N=0; /end for k /end for j if (IRCOM2!=IRCOM3) EX0=1; return; EX0 = 1; /*/void IRdelay(unsigned char x) /x*0.14MS unsigned char i; while(x-) for (i = 0; i13; i+)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号