自学习型红外遥控x

自学习型红外遥控x

ID:38610199

大小:280.40 KB

页数:20页

时间:2019-06-16

自学习型红外遥控x_第1页
自学习型红外遥控x_第2页
自学习型红外遥控x_第3页
自学习型红外遥控x_第4页
自学习型红外遥控x_第5页
资源描述:

《自学习型红外遥控x》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、自学习型红外遥控器设计作者:徐鸣指导老师:李宏理工学院科院11通信工程引言当今社会科学技术的发展与日俱增,人们的生活水平也是日益提高,为了减少人的工作量,所以对各种家用电器、电子器件的非人工控制的要求也是越来越高,针对这种情况,设计出一种集成度比较高的控制体系是必然的。单片机的集成很高,它具有体积小、质量轻、价格便宜、耗电少等突出特点。本课程设计介绍了基于单片机的一种学习型遥控器的设计与实现,可以对红外线遥控器发射的信号进行识别、存储和再现等功能。学习型红外线遥控器要求可以学习不同遥控器的某个按键码功能。使用时先用原遥控器对着学习器按一下某操作键,学习器就可以实现原遥控

2、器中该键的遥控功能。系统总体方案本系统由红外遥控发射器,红外遥控信号接收器,矩阵键盘,外存储电路,单片机及其外围电路构成。总电路图红外接收电路该电路主要的部分是一体化红外接收头,采用NB1838,对接收到得各种红外遥控编码信号进行放大、检波、整形,并调出编码,得到电平,输入单片机。红外发送电路该电路主要由单片机内部的软件来产生38kHz载波信号,并把遥控码调制到载波上后通过P1_1口输出已经调制好的红外遥控信号。采用二级放大电路是为了使遥控器的可遥控距离增大,满足用户的要求。外存储电路自学习型遥控器所能存储代码的数量也是衡量一个自学习型遥控器性能好坏的重要指标。自学习型

3、遥控器在学习完某个遥控器的代码后得把该代码存储起来,由于AT89C51内部的数据存储器RAM所能存储的数据有限而且不能掉电保护。所以就需要合适大小的外存储器来存储所学习到的代码。键盘电路键盘电路单片机对键盘采用循环扫描法,由图可以看出该矩阵扫描键盘由行线和列线组成,P1_8、P1_9、P1_10和P1_11构成了键盘的列线,P1_4、P1_5、P1_6和P1_7构成了键盘的行线。键盘的行线作为键盘的控制输出端,键盘的列线作为键盘的输入端。键盘的列线通过上拉电路将管脚拉高,这样在没有按键按下的情况下,管脚的电平为高电平,如果有按键按下时,则相应的列线管脚为低电平,这时通过

4、设置列线为低电平触发中断方式,低电平就触发中断而进入中断服务程序,从而获得输入的数据。复位电路和晶振电路复位电路采用的是上电复位,为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。单片机晶振的作用是为系统提供基本的时钟信号,晶振提供的时钟频率越高,那么单片机运行速度就越快。流程图主程序流程图软件流程图Program/*********学习型红外遥控器C程序*********/#include"reg51.h"#include"intrins.h"#defineucharunsignedchar#defineuintunsignedintsbitstu

5、dylamp=P1^6;sbitlamp=P1^7;sbitstudykey=P3^2;sbitremotein=P3^7;sbitremoteout=P1^0;sbittxkey=P3^3;uinti,j,m=255,n,k,s;ucharidataremotedata[206];uinthead;uintremdata;/*********1毫秒延时程序**********/delay1ms(uintt){for(i=0;i

6、{studylamp=1;lamp=1;remoteout=1;remotein=1;for(i=0;i<206;i++){remotedata[i]=0x00;}IE=0x00;IP=0x01;TMOD=0x22;PCON=0X00;TH1=0xf3;TL1=0xf3;IT0=1;EX0=1;EA=1;}Program/**********键功能函数************/keywork(){if(txkey==0){while(txkey==0);ET1=1;TR1=1;for(i=head;i>0;i--){;}remoteout=0;ET1=0;TR1=0;n

7、=0;while(1){if(remotedata[n]==0x00){delay1ms(10);break;}for(i=remotedata[n];i>0;i--){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}lamp=~lamp;n++;ET1=1;TR1=1;for(i=remotedata[n];i>0;i--){;}remoteout=0;ET1=0;TR1=0;n++;}}}Program/***********主函数***

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。