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

📄 text8.lst

📁 单片机开发的程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 138   4                      dis_buf[6]= instruction_buf[6];
 139   4                                      dis_buf[7]= instruction_buf[7];
 140   4                                      j=0;
 141   4                       for(i=0;i<7;i++) j=j+dis_buf[i];
 142   4                                       if(j==dis_buf[7]){putbyte(instruction_buf[0]);
 143   5                                                         putbyte(0x67);putbyte(0x67);
 144   5                                                                         putbyte(0x67);putbyte(0x67);
 145   5                                                                         putbyte(0x67);putbyte(0x67);
 146   5                                                                         putbyte(0x67);putbyte(0x67);}
 147   4                                             else { putbyte(instruction_buf[0]);
 148   5                                                          putbyte(0x69);putbyte(0x69);
 149   5                                                                      putbyte(0x69);putbyte(0x69);
 150   5                                                                      putbyte(0x69);putbyte(0x69);
 151   5                                                                      putbyte(0x69);putbyte(0x69);}
 152   4      
 153   4                      instruction_buf[0]=0x01;
 154   4                         
 155   4                      while(instruction_buf[0]!=device_id)
 156   4                      {
 157   5                                         //WriteWord (Digit0,dis_buf[3]);
 158   5                         //WriteWord (Digit1,dis_buf[2]);
 159   5                         //WriteWord (Digit2,dis_buf[1]);
 160   5                         //WriteWord (Digit3,dis_buf[0]);
 161   5                            //delay(500);
 162   5      
 163   5                                         if((dis_buf[1]==0x0a)||(dis_buf[1]==0x0f)) th=0;else th=dis_buf[1]&0x0f;
 164   5                                         if((dis_buf[2]==0x0a)||(dis_buf[2]==0x0f)) hun=0;else hun=dis_buf[2]&0x0f;
 165   5                                         if((dis_buf[3]==0x0a)||(dis_buf[3]==0x0f)) ten=0;else ten=dis_buf[3]&0x0f;
 166   5                                         if((dis_buf[4]==0x0a)||(dis_buf[4]==0x0f)) one=0;else one=dis_buf[4]&0x0f;
 167   5                                         data_1=th*1000+hun*100+ten*10+one;
 168   5                         //if(dis_buf[0]==0x0a)tttt=0x0a;else tttt=(dis_buf[0]&0xf0)+th_1;
 169   5                                        // ttt=(dis_buf[1]&0xf0)+hun_1;
 170   5                                          //tt=(dis_buf[2]&0xf0)+ten_1;
 171   5                                          // t=(dis_buf[3]&0xf0)+one_1;
 172   5                                                     
 173   5                            
 174   5                                       //data_1=dis_buf[1]*1000+dis_buf[1]*100+dis_buf[2]*10+dis_buf[3];
 175   5                            
 176   5                            rand_mize=data_1*dis_buf[5]/100;
 177   5                             if(rand_mize==0){data_2=data_1;}
C51 COMPILER V7.06   TEXT8                                                                 03/13/2009 09:14:32 PAGE 4   

 178   5                             else data_2=data_1+rand()%rand_mize-data_1*dis_buf[5]/200;
 179   5      
 180   5         if((dis_buf[1]==0x0a && data_2>999)||
 181   5            (dis_buf[1]==0x0f && data_2>999)||
 182   5             (data_2>9999)||
 183   5                 (dis_buf[1]==0x0f && dis_buf[2]==0x0a && data_2>99)||
 184   5                 (dis_buf[1]==0x0f && dis_buf[2]==0x0f && data_2>99)||
 185   5                 (dis_buf[2]==0x0f && dis_buf[1]==0x0f && dis_buf[3]==0x0f && data_2>9)||
 186   5                 (dis_buf[2]==0x0f && dis_buf[1]==0x0f && dis_buf[3]==0x0a && data_2>9))
 187   5                    data_2=data_1;
 188   5                           // if(dis_buf[0]==0x0a){th_1=0x0a;
 189   5                                                 //                    hun_1=data_2/100;
 190   5                                               //                  ten_1=(data_2-hun_1*100)/10;
 191   5                                 //                one_1=data_2-hun_1*100-ten_1*10;}
 192   5                                                //if(dis_buf[0]==0x0f && dis_buf[1]==0x0a)
 193   5                                                  //                  {th_1=0x0f;
 194   5                                                    //                 hun_1=0x0a;
 195   5                                                  //               ten_1=data_2/10;
 196   5                                    //             one_1=data_2-ten_1*10;}
 197   5                                            
 198   5                                                      th_1=data_2/1000;
 199   5                                                  hun_1=(data_2-th_1*1000)/100;
 200   5                                                  ten_1=(data_2-th_1*1000-hun_1*100)/10;
 201   5                                  one_1=data_2-th_1*1000-hun_1*100-ten_1*10;
 202   5                               if(dis_buf[1]==0x0a || dis_buf[1]==0x0f)  { th_1=dis_buf[1];}
 203   5                                if(dis_buf[2]==0x0a || dis_buf[2]==0x0f)  { hun_1=dis_buf[2];}
 204   5                                                         if(dis_buf[3]==0x0a || dis_buf[3]==0x0f)  { ten_1=dis_buf[3];}
 205   5                                                          if(dis_buf[4]==0x0a || dis_buf[4]==0x0f)  { one_1=dis_buf[4];}
 206   5                            tttt=th_1;ttt=hun_1;tt=ten_1;t=one_1;
 207   5                                                 if((0x80&dis_buf[1])==0x80){tttt=tttt+0x80;}
 208   5                             if((0x80&dis_buf[2])==0x80){ttt=ttt+0x80;}
 209   5                                                 if((0x80&dis_buf[3])==0x80){tt=tt+0x80;}
 210   5                                                 if((0x80&dis_buf[4])==0x80){t=t+0x80;}
 211   5                                                   // else{tttt=th_1;ttt=hun_1;tt=ten_1;t=one_1;}
 212   5                                                        //tttt=th_1;ttt=hun_1;tt=ten_1+0x80;t=one_1;
 213   5      
 214   5                          WriteWord (Digit0,t);
 215   5                  WriteWord (Digit1,tt);
 216   5                  WriteWord (Digit2,ttt); 
 217   5                  WriteWord (Digit3,tttt);
 218   5                              delay_time=dis_buf[6]*40;
 219   5                    delay(delay_time);
 220   5      
 221   5                         // WriteWord (Digit0,t);
 222   5                  //WriteWord (Digit1,tt);
 223   5                  //WriteWord (Digit2,ttt); 
 224   5                  //WriteWord (Digit3,tttt);
 225   5                    //delay(1000);
 226   5                      }
 227   4                                              
 228   4                            } 
 229   3                      }
 230   2              }
 231   1      }
 232          
 233          //void serial_init(void)
 234          //{
 235           //     TMOD |= 0x20;
 236          //      TL1 = 0xfd;     TH1 = 0xfd;
 237          //      SCON = 0x7a;
 238          //      TR1 = 1;
 239          //      TI = 0;
C51 COMPILER V7.06   TEXT8                                                                 03/13/2009 09:14:32 PAGE 5   

 240          //      ES = 1;                                                                                                
             -                                                                                                                        
             -     
 241          //      EA = 1;
 242          //      DE_RE=0;
 243          //}
 244          void serial_re(void) interrupt 4
 245          {
 246   1              static uint ins_cnt; 
 247   1              if(RI) 
 248   1              {
 249   2                      if((ins_cnt==0)&&(SBUF==0xff));
 250   2                      else
 251   2                      {
 252   3                              instruction_buf[ins_cnt] = SBUF;
 253   3                              ins_cnt++;
 254   3                              if(ins_cnt>=9)  ins_cnt=0;
 255   3                      }
 256   2                      RI=0;
 257   2              }
 258   1      }
 259          void putbyte(char c)    //发送一个字节
 260          {
 261   1              DE_RE=1;        //允许串口输出
 262   1              ES = 0; //暂停串行中断,以免数据比较时出错
 263   1              SBUF = c;
 264   1              while(TI==0);
 265   1              TI = 0;
 266   1              DE_RE=0;        //允许串口输入
 267   1              ES = 1;
 268   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1025    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     20      14
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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