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

📄 main.lst

📁 15寸
💻 LST
字号:
C51 COMPILER V7.20   MAIN                                                                  04/28/2005 16:17:11 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <at89x52.h>
   2          #include <string.h>
   3          #include "lcd.h"
   4          
   5          #define address 0x0aa
   6          #define power 0x0ff
   7          #define menu 0x0fa
   8          #define up 0x0fd
   9          #define enter 0x0fb
  10          #define down 0x0fc
  11          
  12          void clsconnect_key(void);
  13          void power_key(void);
  14          void manu_key(void);
  15          void up_key(void);
  16          void down_key(void);
  17          void enter_key(void);
  18          
  19          void init(void);
  20          
  21          bit interruptFlag,onoroff_symbol;
  22          bit osd, subosd;
  23          
  24          unsigned char i = 1;
  25          unsigned char dat[8]={50,50,50,50,50,50,50,50,};
  26          
  27          unsigned char command,recommand;
  28          unsigned char s[16];
  29          unsigned char *chardat;
  30          unsigned char *submenu[]={"voice","channel","bright","contrast","red","green","blue"};
  31          extern void num2string(unsigned char number);
  32          extern void lcd_string16(unsigned char position,unsigned char *str);
  33          
  34          void main(void)
  35          {
  36   1              lcd_init();
  37   1              lcd_string16(0,"STONESONIC");
  38   1              init();
  39   1      
  40   1              while(1)
  41   1              {
  42   2                      if(interruptFlag==1)
  43   2                      {
  44   3                              interruptFlag=0;
  45   3                              if(SM2)
  46   3                              {
  47   4                                      if(command==address)
  48   4                                      {
  49   5                                              SM2=0;
  50   5                                              recommand = address;
  51   5                                              lcd_cls();
  52   5                                              lcd_string16(0,"485 connect");
  53   5                                              
  54   5                                              SBUF = recommand;
  55   5                                              while(~TI){}
C51 COMPILER V7.20   MAIN                                                                  04/28/2005 16:17:11 PAGE 2   

  56   5                                              TI = 0;
  57   5                                              RI = 0;                                 
  58   5                                              
  59   5                                              EA = 1;
  60   5                                              REN = 1;
  61   5                                      }                       
  62   4                                      else
  63   4                                      {
  64   5                                              lcd_cls();
  65   5                                              lcd_string16(0,"485 disconnect");
  66   5                                              TI = 0;
  67   5                                              RI = 0;
  68   5                                              
  69   5                                              EA = 1;
  70   5                                              REN = 1;
  71   5                                      }
  72   4                              }
  73   3                              else
  74   3                              {
  75   4                                      if(RB8)
  76   4                                      {
  77   5                                              if(command == address)
  78   5                                              {
  79   6                                                      clsconnect_key();
  80   6                                                      SBUF = recommand;
  81   6                                                      while(~TI){}
  82   6                                              }
  83   5                                              REN= 1;
  84   5                                              TI = 0;
  85   5                                              RI = 0;
  86   5                                              EA = 1;
  87   5      
  88   5                                      }
  89   4                                      else  
  90   4                                      {
  91   5                                              switch(command)
  92   5                                              {
  93   6                                                      case power :
  94   6                                                      power_key()     ;break;                         
  95   6                                                      case menu :
  96   6                                                      manu_key()      ;break;                         
  97   6                                                      case up :
  98   6                                                      up_key()        ;break;                                 
  99   6                                                      case down : 
 100   6                                                      down_key()      ;break;                         
 101   6                                                      case enter :
 102   6                                                      enter_key()     ;break;                                                 
 103   6                                              }                                               
 104   5                                      SBUF = recommand;
 105   5                                      while(~TI){}
 106   5                                      TI = 0;
 107   5                                      RI = 0;
 108   5              
 109   5                                      EA = 1;
 110   5                                      REN = 1;
 111   5                                      }
 112   4      
 113   4                              }
 114   3                      }               
 115   2              }
 116   1      }
 117          
C51 COMPILER V7.20   MAIN                                                                  04/28/2005 16:17:11 PAGE 3   

 118          void serial(void) interrupt 4 using 1
 119          {
 120   1              EA=0;
 121   1              
 122   1              REN=0;
 123   1      
 124   1              command = SBUF;
 125   1              interruptFlag = 1;
 126   1              RI=0;
 127   1      }
 128          
 129          void clsconnect_key()
 130          {
 131   1              SM2 = 1;
 132   1              lcd_cls();
 133   1              lcd_string16(0,"485 disconnect");
 134   1              recommand = address;
 135   1      
 136   1      }
 137          
 138          void power_key()
 139          {
 140   1              onoroff_symbol = ~onoroff_symbol;
 141   1              lcd_cls();
 142   1              if(onoroff_symbol)lcd_string16(0,"POWER_ON");
 143   1              else
 144   1              {
 145   2                      lcd_string16(0,"POWER_OFF");
 146   2              }
 147   1              recommand = onoroff_symbol | 0x80;
 148   1      }
 149          
 150          void manu_key()
 151          {
 152   1              subosd=0;
 153   1              osd=~osd;
 154   1              lcd_cls();
 155   1              if(osd)lcd_string16(0,"OSD_ON");
 156   1              else
 157   1              {
 158   2                      lcd_string16(0,"OSD_OFF");
 159   2              }
 160   1              recommand = osd |       0x0c0;  
 161   1      }
 162          
 163          void up_key()
 164          {
 165   1              if(osd==1)
 166   1              {
 167   2      
 168   2                      if(subosd==0)
 169   2                      {
 170   3                              i++;
 171   3                              lcd_cls();
 172   3      
 173   3                              if(i>7)i=0;
 174   3                              recommand = dat[i];                     
 175   3      
 176   3                              num2string(dat[i]);
 177   3                              strcat(s,submenu[i]);                                              
 178   3                              
 179   3                              if(i==7)
C51 COMPILER V7.20   MAIN                                                                  04/28/2005 16:17:11 PAGE 4   

 180   3                              {
 181   4                                      lcd_string16(0,"OSD_ON");
 182   4                                      subosd=0;
 183   4                              }
 184   3                              else 
 185   3                              {
 186   4                                      lcd_string16(0,s);
 187   4                              }
 188   3                      }       
 189   2                      
 190   2      
 191   2                      
 192   2                      else if(subosd==1)
 193   2                      {
 194   3                              dat[i]++;
 195   3                              
 196   3                              if(dat[i]>100)dat[i]=0;
 197   3                              recommand = dat[i];
 198   3                              
 199   3      
 200   3                              num2string(dat[i]);
 201   3                              lcd_string16(0,s);
 202   3                      }
 203   2              }
 204   1      }
 205          
 206          void down_key()
 207          {
 208   1              if(osd==1)
 209   1              {
 210   2      
 211   2                      if(subosd==0)
 212   2                      {
 213   3                              i--;
 214   3                              lcd_cls();
 215   3      
 216   3                              if(i<0) i = 0;
 217   3                              recommand = dat[i];                     
 218   3      
 219   3                              num2string(dat[i]);
 220   3                              strcat(s,submenu[i]);                                              
 221   3                              
 222   3                              if(i==7)
 223   3                              {
 224   4                                      lcd_string16(0,"OSD_ON");
 225   4                                      subosd=0;
 226   4                              }
 227   3                              else 
 228   3                              {
 229   4                                      lcd_string16(0,s);
 230   4                              }
 231   3                      }
 232   2                      
 233   2                      else if(subosd==1)
 234   2                      {
 235   3                              dat[i]--;
 236   3                              
 237   3                              if(dat[i]<0)dat[i]=100;
 238   3                              recommand = dat[i];
 239   3                              EA=1;
 240   3      
 241   3                              num2string(dat[i]);
C51 COMPILER V7.20   MAIN                                                                  04/28/2005 16:17:11 PAGE 5   

 242   3                              lcd_string16(0,s);
 243   3                      }
 244   2              }
 245   1      }
 246          
 247          void enter_key()
 248          {
 249   1              if(osd==1)
 250   1              {
 251   2                      subosd=~subosd;
 252   2                      recommand=0x0e0|subosd ;
 253   2              }
 254   1      }
 255          
 256          void init()
 257          {
 258   1              interruptFlag=0;
 259   1              TI = 0;
 260   1              osd = 0;
 261   1              subosd = 0;
 262   1              
 263   1              SCON  = 0x0f0;                      /* mode 1: 8-bit UART, enable receiver   */
 264   1          TMOD  = 0x20;                      /* timer 1 mode 2: 8-Bit reload          */
 265   1              TH1   = 0x0f3;                      /* reload value 2400 baud                */
 266   1          TL1   = 0x0f3;
 267   1              PCON  = 0x00;
 268   1              TR1   = 1;                         /* timer 1 run                           */
 269   1              TB8   = 1;
 270   1              ES    = 1;
 271   1              EA        = 1;  
 272   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    592    ----
   CONSTANT SIZE    =    117    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     51    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      4    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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