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

📄 text1.lst

📁 自己在keil51中用C实现了一个电子钢琴展览项目
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.05a   TEXT1                                                                09/23/2007 11:15:54 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: C:\Keil3\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <absacc.h>
   2          #include <reg51f.h>
   3          #include <intrins.h>
   4          #define uchar unsigned char
   5          #define uint  unsigned int
   6          
   7          
   8          
   9          unsigned char  receive_len,send_num,k,i,qunum ;
  10          unsigned char  receive_check;
  11          unsigned char  send_check;
  12          unsigned char  receive_buf[8]   ; //定义接收缓冲区
  13          unsigned char  send_buf[8];  //定义发送缓冲区
  14          unsigned char  qu[3]   ;
  15          sbit     CO= P1^3;   //关机键            
  16          sbit     CO1=P1^2;
  17          sbit     shutdown_s= P2^6;       //关大屏幕
  18          sbit     shutdown_c= P2^2;       //     关计算机
  19          sbit     shutdown_f= P2^7;        // 关烟雾器
  20          sbit     shutdown= P2^0;         //关总电源
  21          sbit     smog_hand=P1^1;        //烟雾手动
  22          sbit     smog_open=P2^1;        //放烟雾
  23          sbit     start=P1^0;//开机(遥控器)
  24          sbit     play_1=P3^3;//连续播放即循环播放  
  25          sbit     play_2=P3^2;//单次播放即手动检测激光信号
  26          sbit     enable=P2^5;//激光琴总允许信号
  27          sbit     IC4=P1^4;
  28          sbit     ID4=P1^5;
  29          sbit     IE4=P1^6;
  30          sbit     IF4=P1^7;
  31          sbit     SDA=P2^3;
  32          
  33          bit    receive_status;
  34          bit    send_status;
  35          bit    auto_smog;
  36          bit    sr_flag;
  37          bit    CO_flag;
  38          bit    start_flag;
  39          bit    start_flag1;
  40          bit    auto_flag;   
  41          bit    sh_flag;
  42          bit    play1_flag;
  43          bit    play2_flag;
  44          bit    pause;
  45          bit    con;
  46          bit    start_flag;
  47          bit    KJOK;
  48          bit     GJOK;
  49          bit      pp;
  50          bit    qmend;
  51          
  52          uint      time_50ms;
  53          uint      time_1s;
  54          uint      time_s;
  55          uint      time_s_gj;
C51 COMPILER V8.05a   TEXT1                                                                09/23/2007 11:15:54 PAGE 2   

  56          uint      time_s_kj; 
  57          uint      time_s_3;
  58          
  59          
  60          
  61          void  delay(void)
  62          { int t;
  63   1      for(t=0;t<=800;t++)     {}
  64   1      }
  65          void  diao(void) interrupt  9  
  66          {         if(GJOK==0)
  67   1                while(1) ;
  68   1      }
  69          void Timer(void) interrupt  1    using 1            
  70          {
  71   1      TR0=0;
  72   1      TH0=0x4c;            
  73   1      TL0=0x00;
  74   1      TR0=1; 
  75   1              
  76   1      time_50ms++;
  77   1      if(time_50ms==20)
  78   1      {time_1s++;
  79   2      time_s++;
  80   2      time_s_3++;
  81   2      time_s_kj++;
  82   2      time_s_gj++;
  83   2      time_50ms=0;
  84   2      }
  85   1      
  86   1      } 
  87          void rs232(void) interrupt 4     using  2         
  88          {
  89   1              if(RI==1)
  90   1      {
  91   2                      if(receive_status==0)
  92   2      
  93   2              {  if (receive_len!=7)
  94   3                        {      
  95   4                              receive_buf[receive_len] = SBUF;
  96   4                              receive_len = receive_len+1;
  97   4                        }
  98   3                      else
  99   3                        {
 100   4                              receive_buf[receive_len] = SBUF;
 101   4                              receive_status=1;
 102   4                              receive_len=0;
 103   4                        }
 104   3              }
 105   2              RI=0;
 106   2      }
 107   1              else
 108   1              {
 109   2                      if(send_status==0)
 110   2                      {   SBUF =send_buf[send_num];
 111   3                              send_num = send_num+1;
 112   3                              if(send_num==8)
 113   3                              {send_status = 1;
 114   4                              send_num=1;} 
 115   3                      }
 116   2                  
 117   2              TI=0;   
C51 COMPILER V8.05a   TEXT1                                                                09/23/2007 11:15:54 PAGE 3   

 118   2              } 
 119   1              
 120   1      } 
 121          
 122          
 123          void pca(void) interrupt 6
 124          { 
 125   1      if(i==3)
 126   1               { i=0;
 127   2             qu[0]=0;
 128   2             qu[1]=0;
 129   2             qu[2]=0;
 130   2                 pp=1;
 131   2                }
 132   1      
 133   1      if(IC4==0&&ID4==0&&IE4==0&&IF4==0)
 134   1      { for(k=0;k<=20;k++)
 135   2            {delay(); 
 136   3                }
 137   2      if(IC4==0&&ID4==0&&IE4==0&&IF4==0)
 138   2      {shutdown_c=~shutdown_c;
 139   3      if(CCF1==1)
 140   3       { if(qu[0]==1||qu[1]==1||qu[2]==1)
 141   4         {
 142   5         i=0;
 143   5         qu[0]=0;
 144   5         qu[1]=0;
 145   5         qu[2]=0;
 146   5         
 147   5         }
 148   4         else
 149   4         {
 150   5         qu[i]=1;
 151   5         }
 152   4         CCF1=0;
 153   4       }
 154   3      if(CCF2==1)
 155   3       { if(qu[0]==2||qu[1]==2||qu[2]==2)
 156   4         {
 157   5         i=0;
 158   5         qu[0]=0;
 159   5         qu[1]=0;
 160   5         qu[2]=0;
 161   5       
 162   5         }
 163   4         else
 164   4         {
 165   5         qu[i]=2;
 166   5         }
 167   4         CCF2=0;
 168   4       }
 169   3      if(CCF3==1)
 170   3       { if(qu[0]==3||qu[1]==3||qu[2]==3)
 171   4         {
 172   5         i=0;
 173   5         qu[0]=0;
 174   5         qu[1]=0;
 175   5         qu[2]=0;
 176   5        
 177   5         }
 178   4         else
 179   4         {
C51 COMPILER V8.05a   TEXT1                                                                09/23/2007 11:15:54 PAGE 4   

 180   5         qu[i]=3;
 181   5         }
 182   4         CCF3=0;
 183   4       }
 184   3      if(CCF4==1)
 185   3       { if(qu[0]==4||qu[1]==4||qu[2]==4)
 186   4         {
 187   5         i=0;
 188   5         qu[0]=0;
 189   5         qu[1]=0;
 190   5         qu[2]=0;
 191   5        
 192   5         }
 193   4         else
 194   4         {
 195   5         qu[i]=4;
 196   5         }
 197   4         CCF4=0;
 198   4       }
 199   3      }
 200   2      }
 201   1      if(i==2)
 202   1      {
 203   2      switch(qu[0])
 204   2      {case 1:   
 205   3         {//if(i>=1) 
 206   4              {switch(qu[1])
 207   5                { case 3: { if(qu[2]==2)
 208   7                                      { qunum=0;
 209   8                                  //      play2_flag=0;
 210   8                                                 pp=0;
 211   8                                      }
 212   7                                if(qu[2]==4)
 213   7                                      {qunum=1;
 214   8                                  //      play2_flag=0;
 215   8                                                 pp=0;
 216   8                                      }
 217   7                                       break;
 218   7                               }
 219   6                case 4:        { if(qu[2]==2)
 220   7                                        {qunum=2; 
 221   8                              //                 play2_flag=0;
 222   8                                                  pp=0;
 223   8                                     }
 224   7                                    if(qu[2]==3)
 225   7                                     {qunum=3;
 226   8                                  //        play2_flag=0;
 227   8                                                       pp=0;
 228   8                                         }
 229   7                                                break;
 230   7                                }
 231   6                                      
 232   6                              
 233   6               default:  { i=0;
 234   7                       qu[0]=0;
 235   7                       qu[1]=0;
 236   7                       qu[2]=0;
 237   7                                       pp=1;
 238   7                                       break;
 239   7                         }
 240   6              
 241   6                }
C51 COMPILER V8.05a   TEXT1                                                                09/23/2007 11:15:54 PAGE 5   

 242   5              }
 243   4              break;
 244   4         }
 245   3      case 2:
 246   3        {
 247   4              //      if(i>=1) 
 248   4              {switch(qu[1])
 249   5                { case 1: { if(qu[2]==3)
 250   7                                      { qunum=4;
 251   8                                  //      play2_flag=0;
 252   8                                                pp=0;
 253   8                                      }
 254   7                                if(qu[2]==4)
 255   7                                      {qunum=5;
 256   8                                   //    play2_flag=0;
 257   8                                                 pp=0;
 258   8                                      }
 259   7                                       break;
 260   7                               }
 261   6                   case 3:{ 
 262   7                                  if(qu[2]==1)
 263   7                                        {
 264   8                                                 qunum=6; 
 265   8                                               //  play2_flag=0;
 266   8                                                 pp=0;
 267   8                                     }
 268   7                                    if(qu[2]==4)
 269   7                                     {qunum=7;
 270   8                                        //  play2_flag=0;
 271   8                                                      pp=0;
 272   8                                              shutdown_f=~shutdown_f;
 273   8                                              //EC=0;
 274   8                                         }
 275   7                
 276   7                                       break;
 277   7                              }
 278   6                case 4:       { 
 279   7                                  if(qu[2]==1)
 280   7                                        {qunum=8; 
 281   8                                                 //play2_flag=0;
 282   8                                                  pp=0;
 283   8                                     }
 284   7                                    if(qu[2]==3)
 285   7                                     {qunum=9;
 286   8                                          //play2_flag=0;
 287   8                                                       pp=0;
 288   8                                         }
 289   7                                   
 290   7                                       break;
 291   7                              }        
 292   6      
 293   6               default:  { i=0;
 294   7                       qu[0]=0;
 295   7                       qu[1]=0;
 296   7                       qu[2]=0;
 297   7                                        pp=1;
 298   7                       break;
 299   7                         }
 300   6              
 301   6                }
 302   5              }
 303   4         break;
C51 COMPILER V8.05a   TEXT1                                                                09/23/2007 11:15:54 PAGE 6   

 304   4        }
 305   3      default:  {     i=0;
 306   4                       qu[0]=0;
 307   4                       qu[1]=0;
 308   4                       qu[2]=0;
 309   4                                       pp=1;
 310   4                       break;
 311   4                     }
 312   3      }
 313   2      }
 314   1      if(qu[0]==1||qu[0]==2)
 315   1      {i++;
 316   2      
 317   2      }
 318   1      
 319   1      }  
 320          
 321          main()
 322          {  
 323   1      AUXR= 0x0; 
 324   1      shutdown_s=0;
 325   1      shutdown_c=0;
 326   1      shutdown_f=0; 
 327   1      shutdown=1;     
 328   1      smog_open=0;
 329   1      enable=1;
 330   1      CO1=1;
 331   1      
 332   1      SDA=1;
 333   1      IC4=1;
 334   1      ID4=1;
 335   1      IE4=1;
 336   1      IF4=1;
 337   1      TMOD = 0x01;  //定时器1,2工作于方式1
 338   1      TH0=0x4c;             
 339   1      TL0=0x00;
 340   1      TR0=1;
 341   1      RCAP2H=0xff;     //        定时器二做波特率发生器  9600

⌨️ 快捷键说明

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