⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sa3010p.lst

📁 基于51的TC9012遥控程序
💻 LST
字号:
C51 COMPILER V7.50   SA3010P                                                               05/19/2007 23:43:48 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE SA3010P
OBJECT MODULE PLACED IN sa3010p.OBJ
COMPILER INVOKED BY: D:\程序\keil\C51\BIN\C51.EXE sa3010p.c ROM(SMALL) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          // 波特率发生器的初值(115200波特率)XTAL 11.0592M
   2          #include<reg52.h>
   3          #include"sa3010.h"
   4          #include <intrins.h>
   5          
   6          unsigned char buffer;
   7          unsigned char count,buf_s;       //红外接收位寄存器
   8          bit  EndFlag,Flag = 1;                          //红外一帧接收结束标志
   9          sbit DATABIT = P3^3;
  10          sbit Key = P2^0;
  11           
  12          sbit SoundUP   = P2^1;
  13          sbit SoundDown = P2^2;
  14          
  15          void powerup( void )//初始化
  16          {
  17   1                      EA = 1;
  18   1                 ET0 = 1;
  19   1                 EX1 = 1;
  20   1                TMOD = 0X21; //定时器1为方式2
  21   1                 TL1 = 0xfd;   //置初值,波特率为9600
  22   1                 TH1 = 0xfd;
  23   1                PCON = 0x00; //SMOD = 0
  24   1                 TR1 = 1;   //启动定时器1
  25   1                SCON = 0x50;//串口工作在方式1,REN为1
  26   1      }
  27          
  28          void t0_service(void) interrupt 1 using 1         
  29          {
  30   1           //第一次进入中断,为定时1/4位的时间445us
  31   1           //以后则定时一位时间1.778ms进入中断
  32   1              count++;
  33   1              TH0=(0xffff-1522)/256;
  34   1              TL0=(0xffff-1522)%256;
  35   1      
  36   1      //      TH0=0x00fa;
  37   1      //      TL0=0x000d;
  38   1              
  39   1              if( count>=8 )
  40   1              {       
  41   2              if(DATABIT)
  42   2                      buffer = buffer+0;
  43   2              else
  44   2                      buffer = buffer+1;
  45   2              
  46   2              if(count==14)
  47   2                      {
  48   3                      buf_s=buffer;
  49   3                      }       
  50   2                               
  51   2              if(count==15) //等最后半位结束,实际延时1位时间
  52   2                      {               
  53   3                       buffer = 0;
  54   3                      EndFlag = 0;
  55   3                      TR0 = 0; //解码结束,定时器停止
C51 COMPILER V7.50   SA3010P                                                               05/19/2007 23:43:48 PAGE 2   

  56   3                      return;
  57   3                      }
  58   2              
  59   2              buffer = buffer << 1;   
  60   2              }
  61   1      }
  62          
  63          void EXINT1( void ) interrupt 2
  64          {
  65   1               TR0 = 1;
  66   1               EX1 = 0;
  67   1              Flag = 0;               
  68   1      }
  69          
  70          void main(void)
  71          {
  72   1              DATABIT = 1;     //输入首先写1
  73   1                      Key = 1; 
  74   1              SoundUP = 1;
  75   1              SoundDown=1;
  76   1      
  77   1              powerup();
  78   1              InitLcd();
  79   1              while(1)
  80   1              {
  81   2              EX1     = 1;
  82   2      
  83   2              TH0 = (0xffff-381)/256;
  84   2              TL0 = (0xffff-381)%256;
  85   2                      
  86   2              Dis4bitNumber(2,3,1234);
  87   2              
  88   2              buffer  = 0;
  89   2               count  = 0;
  90   2              EndFlag = 1;
  91   2      
  92   2              while(Flag);
  93   2              Dis4bitNumber(0,0,0);
  94   2              Flag = 1;
  95   2              while(EndFlag); //等一帧解码结束
  96   2      
  97   2              Dis4bitNumber(2,1,buf_s);
  98   2              
  99   2              if(buf_s == 1)
 100   2              {
 101   3              Key = ~Key;
 102   3              
 103   3              }
 104   2      
 105   2              if(buf_s == 16)
 106   2              {
 107   3              SoundUP =0;
 108   3              delay(50000);
 109   3              SoundUP =1;
 110   3              }
 111   2              
 112   2              if(buf_s == 17)
 113   2              {
 114   3              SoundDown =0;
 115   3              delay(50000);
 116   3              SoundDown =1;
 117   3              }
C51 COMPILER V7.50   SA3010P                                                               05/19/2007 23:43:48 PAGE 3   

 118   2              delay(50000);
 119   2              CleanScreen();
 120   2              
 121   2              delay(1000);
 122   2              }
 123   1      }
 124          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    209    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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