• 大小: 9.89MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-24
  • 语言: C/C++
  • 标签:

资源简介

可以学习其他遥控器,这个不是记录脉冲的方式,而是用红外编码的方式进行学习。里面有原理图、pcb版图、c语言程序

资源截图

代码片段和文件信息

/*********************************************************************/
//                         remote.c
//                       学习型遥控器
//                     使用keil c51 2004.10.12      
/*********************************************************************/
//使用AT89C52单片机,12MHZ晶振,
//
//#pragma src(E:\remote.asm)
#include “reg51.h“
#include “intrins.h“     //_nop_();延时函数用
//
#define uchar unsigned char
#define uint unsigned int
//
sbit  studylamp=P1^6;        //学习状态指示灯
sbit  lamp=P1^7;             //发射指示灯
sbit  studykey=P3^2;         //学习键(中断口)
sbit  remotein=P3^4;         //遥控信号输入口 
sbit  remoteout=P3^5;         // 遥控输出口
sbit  txkey=P1^0   ;           //发射键
//
//
uint ijm=255nks;
uchar idata  remotedata[206];//存肪冲宽度数据用
uint   head;           //存起始位用
uint   remdata;
//
//
////
/*********1毫秒延时程序**********/
delay1ms(uint t)
{
for(i=0;i   for(j=0;j<120;j++)
   ;
}
//
//
/***********初始化函数**********/
clearmen()
{
studylamp=0;           //关学习灯
lamp=0;                //关发射指示
remoteout=0;           //关遥控输出
remotein=1;            //
for(i=0;i<206;i++)     //清内存
{remotedata[i]=0x00;}
IE=0x00;
IP=0x01;
TMOD=0x22;             //8位自动重装模式
PCON=0X00;
TH1=0xf3;              //40KHZ初值
TL1=0xf3;
IT0=1;
EX0=1;                //外中断允许
EA=1;                 //开总中断
}
//
//
/**********键功能函数************/
keywork()
{
 if(txkey==0)
 {
    while(txkey==0);     //等待键释放
    ET1=1;TR1=1;         //发起始位 
    for(i=head;i>0;i--){;}
remoteout=0;ET1=0;TR1=0;
n=0;
while(1)
{
      if(remotedata[n]==0x00){delay1ms(10);break;}//数据为0结束
  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++;
}
  }
}
//
//
/***********主函数***************/
main()
{
clearmen();          //初始化 
while(1)
 {
  keywork();       //按键扫描
  }
}
//
//
/*********40KHZ发生器***********/
//定时中断T1
void time_intt1(void) interrupt 3 
{
 remoteout=~remoteout;
}
//
//
/***********学习函数 ***********/
//外中断0
void intt0(void) interrupt 0 
{
ET1=0;TR1=0;EX0=0;EA=0;
head=0;studylamp=1;lamp=0;
while(studykey==0);           //等待键释放
while(remotein==1);           //等待遥控码输入
head=0;                       //读入起始位
while(remotein==0){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();head++;}
n=0;remdata=0x0000; 
while(1)
 { 
       while(remotein==1){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();remdata++;}
   if(remdata>m)                  //高电平>5毫秒退出
   {remotedata[n]=0x00;EX0=1;EA=1;goto end;}
   remotedata[n]=remdata;n++;     //存高电平脉宽数据
       remdata=0x0000;                  //脉宽计数器清零 
   while(remotein==0){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      15872  2002-01-15 10:48  学习型红外线遥控\元器件清单.xls

     文件     131072  2002-01-12 09:12  学习型红外线遥控\原理图和PCB\PCB2.PcbDoc

     文件      31515  2002-01-07 09:43  学习型红外线遥控\原理图和PCB\PCB_Project1.PrjPCB

     文件       4096  2002-01-05 01:50  学习型红外线遥控\原理图和PCB\receiver.SchLib

     文件     149504  2012-02-18 11:55  学习型红外线遥控\原理图和PCB\SHEET1.SCHDOC

     文件       5632  2002-01-05 01:50  学习型红外线遥控\原理图和PCB\U1.SchLib

     文件     329216  2012-02-18 10:44  学习型红外线遥控\原理图和PCB\学习型红外线遥控器.PcbDoc

     文件     142336  2012-02-18 10:43  学习型红外线遥控\原理图和PCB\学习型红外线遥控器.SchDoc

     文件       7551  2005-03-25 11:05  学习型红外线遥控\源程序\remote

     文件       3447  2005-03-25 11:05  学习型红外线遥控\源程序\remote.c

     文件       1930  2005-03-25 11:05  学习型红外线遥控\源程序\remote.hex

     文件         60  2005-03-25 11:05  学习型红外线遥控\源程序\remote.lnp

     文件       6354  2005-03-25 11:05  学习型红外线遥控\源程序\remote.LST

     文件      10195  2005-03-25 11:05  学习型红外线遥控\源程序\remote.M51

     文件       8237  2005-03-25 11:05  学习型红外线遥控\源程序\remote.OBJ

     文件       1263  2005-03-25 11:05  学习型红外线遥控\源程序\remote.Opt

     文件       1263  2005-03-25 11:05  学习型红外线遥控\源程序\remote.opt.bak

     文件        394  2005-03-25 11:06  学习型红外线遥控\源程序\remote.plg

     文件       1734  2005-03-25 11:05  学习型红外线遥控\源程序\remote.Uv2

     文件       1734  2005-03-25 11:05  学习型红外线遥控\源程序\remote.Uv2.bak

     文件      56644  2012-02-18 10:29  学习型红外线遥控\源程序\remote.uvopt

     文件      13364  2012-02-18 10:29  学习型红外线遥控\源程序\remote.uvproj

     文件       5115  2002-04-16 14:32  学习型红外线遥控\源程序\STARTUP.A51

     文件      11675  2005-03-25 11:05  学习型红外线遥控\源程序\STARTUP.LST

     文件        758  2005-03-25 11:05  学习型红外线遥控\源程序\STARTUP.OBJ

     文件     146177  2012-03-02 17:09  学习型红外线遥控\照片 视频\照片1.jpg

     文件    9983614  2013-04-19 09:01  学习型红外线遥控\照片 视频\自学习红外.avi

     目录          0  2018-07-08 03:28  学习型红外线遥控\原理图和PCB

     目录          0  2018-07-07 09:34  学习型红外线遥控\源程序

     目录          0  2018-07-07 09:34  学习型红外线遥控\照片 视频

............此处省略4个文件信息

评论

共有 条评论

相关资源