hong_fa.lst

来自「红外38k发射和接受代码」· LST 代码 · 共 572 行 · 第 1/3 页

LST
572
字号
C51 COMPILER V8.02   HONG_FA                                                               09/06/2008 21:38:11 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE HONG_FA
OBJECT MODULE PLACED IN hong_fa.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE hong_fa.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include"reg51.h"
   2          #include"intrins.h"
   3          #define uchar unsigned char
   4          #define uint unsigned int 
   5          #define key0 P0
   6          #define key1 P2
   7          //
   8          sbit remoteout=P3^5;   //遥控输出口
   9          //
  10          uchar temp;//keyscan();
  11          uint i,j;
  12          uchar flag=0,key=0,keyvol;   //"flag"连发码发射标志位,"key"按键按下标志位
  13          uchar code keyv[8]={1,2,4,8,16,32,64,128};
  14          bit flag1;
  15          //
  16          /************100us延时程序********************/
  17          delay(uint t)
  18          {
  19   1              TMOD=0x22;
  20   1              TR0=1;
  21   1              while(t!=0)
  22   1              {
  23   2                      TH0=0x9b;
  24   2                      TL0=0x9b;
  25   2                      while(TF0!=1);
  26   2                      TF0=0;
  27   2                      t--;
  28   2              }
  29   1              TR0=0;
  30   1      }
  31          //
  32          /************初始化函数*************/
  33          clearmen()
  34          {
  35   1              remoteout=0; //关遥控输出
  36   1              IE=0x00;
  37   1              IP=0x01;
  38   1              TMOD=0x22;
  39   1              TH1=0xf3;       //定时方式2
  40   1              TL1=0xf3;       //38KHZ初值
  41   1              EA=1;
  42   1      }
  43          //
  44          /**************连发码发射程序*************/
  45          alltimesed()
  46          {
  47   1              for(j=0;j<9;j++)
  48   1              {
  49   2                      ET1=1;
  50   2                      TR1=1;
  51   2                      delay(90);
  52   2                      ET1=0;
  53   2                      TR1=0;
  54   2                      remoteout=0;//38KHZ发9ms
  55   2                      delay(30);//3ms的结束码
C51 COMPILER V8.02   HONG_FA                                                               09/06/2008 21:38:11 PAGE 2   

  56   2              }
  57   1      }
  58          //
  59          /**************编码0发射程序**************/
  60          sed0()
  61          {
  62   1              ET1=1;
  63   1              TR1=1;
  64   1              delay(6);//发射0.6ms
  65   1              ET1=0;
  66   1              TR1=0;
  67   1              remoteout=0;
  68   1              delay(6);//"0"持续1.2ms
  69   1      }
  70          //
  71          /*************编码1发射程序***************/
  72          sed1()
  73          {
  74   1              ET1=1;
  75   1              TR1=1;
  76   1              delay(6);
  77   1              ET1=0;
  78   1              TR1=0;
  79   1              remoteout=0;
  80   1              delay(18); //"1"持续2.4ms
  81   1      }
  82          //
  83          /*******引导码,结果码,地址码编码函数******/
  84          frocode()
  85          {
  86   1              ET1=1;
  87   1              TR1=1;
  88   1              delay(90);//9ms的引导码
  89   1              ET1=0;
  90   1              TR1=0;
  91   1              remoteout=0;
  92   1              delay(45);//4.5ms的结果码
  93   1              sed0();sed0();sed0();sed1();
  94   1              sed1();sed1();sed1();sed1();//地址码高八位0x1f
  95   1              sed1();sed1();sed1();sed0();
  96   1              sed0();sed0();sed0();sed0();//地址码低八位0xe0
  97   1      }
  98          //
  99          /*************按键后发射函数***************/
 100          tx()
 101          {
 102   1              if(flag==0)
 103   1              {
 104   2              //      switch(keyvol)
 105   2              switch(key)
 106   2                      {
 107   3                              case 0:{frocode();
 108   4                                              sed0();sed0();sed0();sed0();
 109   4                                              sed0();sed0();sed0();sed1();
 110   4                                              sed1();sed1();sed1();sed1();
 111   4                                              sed1();sed1();sed1();sed0();
 112   4                                              sed0();                           //key1数据码0x01
 113   4                                              delay(360);
 114   4                                              break;}
 115   3                              case 1:{frocode();
 116   4                                              sed1();sed0();sed0();sed0();
 117   4                                              sed0();sed0();sed0();sed1();
C51 COMPILER V8.02   HONG_FA                                                               09/06/2008 21:38:11 PAGE 3   

 118   4                                              sed0();sed1();sed1();sed1();
 119   4                                              sed1();sed1();sed1();sed0();sed0();//key2数据码0x81
 120   4                                              delay(360);
 121   4                                              break;}
 122   3                              case 2:{frocode();
 123   4                                              sed0();sed1();sed0();sed0();
 124   4                                              sed0();sed0();sed0();sed1();
 125   4                                              sed1();sed0();sed1();sed1();
 126   4                                              sed1();sed1();sed1();sed0();sed0();//key3数据码0x41
 127   4                                              delay(360);
 128   4                                              break;}
 129   3                              case 3:{frocode();
 130   4                                              sed1();sed1();sed0();sed0();
 131   4                                              sed0();sed0();sed0();sed1();
 132   4                                              sed0();sed0();sed1();sed1();
 133   4                                              sed1();sed1();sed1();sed0();sed0();//key4数据码0xc1
 134   4                                              delay(360);
 135   4                                              break;}
 136   3                              case 4:{frocode();
 137   4                                              sed0();sed0();sed1();sed0();
 138   4                                              sed0();sed0();sed0();sed1();
 139   4                                              sed1();sed1();sed0();sed1();
 140   4                                              sed1();sed1();sed1();sed0();sed0();//key5数据码0x21
 141   4                                              delay(360);
 142   4                                              break;}
 143   3                              case 5:{frocode();
 144   4                                              sed1();sed0();sed1();sed0();
 145   4                                              sed0();sed0();sed0();sed1();
 146   4                                              sed0();sed1();sed0();sed1();
 147   4                                              sed1();sed1();sed1();sed0();sed0();//key6数据码0xa1
 148   4                                              delay(360);
 149   4                                              break;}
 150   3                              case 6:{frocode();
 151   4                                              sed0();sed1();sed1();sed0();
 152   4                                              sed0();sed0();sed0();sed1();
 153   4                                              sed1();sed0();sed0();sed1();
 154   4                                              sed1();sed1();sed1();sed0();sed0();//key7数据码0x61
 155   4                                              delay(360);
 156   4                                              break;}
 157   3                              case 7:{frocode();
 158   4                                              sed1();sed1();sed1();sed0();
 159   4                                              sed0();sed0();sed0();sed1();
 160   4                                              sed0();sed0();sed0();sed1();
 161   4                                              sed1();sed1();sed1();sed0();sed0();//key8数据码0xe1
 162   4                                              delay(360);
 163   4                                              break;}
 164   3                              case 8:{frocode();
 165   4                                              sed0();sed0();sed0();sed1();
 166   4                                              sed0();sed0();sed0();sed1();
 167   4                                              sed1();sed1();sed1();sed0();
 168   4                                              sed1();sed1();sed1();sed0();sed0();//key9数据码0x11
 169   4                                              delay(360);
 170   4                                              break;}
 171   3                              case 9:{frocode();
 172   4                                              sed1();sed0();sed0();sed1();
 173   4                                              sed0();sed0();sed0();sed1();
 174   4                                              sed0();sed1();sed1();sed0();
 175   4                                              sed1();sed1();sed1();sed0();sed0();//key10数据码0x91
 176   4                                              delay(360);
 177   4                                              break;}
 178   3                              case 10:{frocode();

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?