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

📄 new_zong.lst

📁 本程序为单片机对四相步进电机的控制
💻 LST
📖 第 1 页 / 共 2 页
字号:

 217   5                                         switch( scan)
 218   5                                         {
 219   6                                         case 0xe0:    key_all= 1;break;
 220   6                                         case 0xd0:    key_all= 2;break;
 221   6                                         case 0xb0:    key_all= 3;break;
 222   6                                         case 0x70:    key_all= 4;break;
 223   6                                         }
 224   5                                       while((P2&0xf0)!=0xf0);
 225   5      
 226   5                                       }
 227   4                              return ;
 228   4                              }
 229   3      
 230   3                       P2=0xfd;                  // 发全0扫描码
 231   3               
 232   3                     if((P2&0xf0)!=0xf0)        //若有键盘按下
 233   3                      { 
 234   4                                delay();
 235   4                            if((P2&0xf0)!=0xf0)         //若有键盘按下
 236   4                          {
 237   5                                         scan=P2&0xf0;
 238   5                                         switch( scan)
 239   5                                         {
 240   6                                         case 0xe0:    key_all= 5;break;
 241   6                                         case 0xd0:    key_all= 6;break;
 242   6                                         case 0xb0:    key_all= 7;break;
 243   6                                         case 0x70:    key_all= 8;break;
 244   6                                         }
 245   5                                                                          while(( P2&0xf0)!=0xf0);
 246   5      
 247   5      
 248   5                                        }
 249   4                                      return ;
 250   4                              }
 251   3                       P2=0xfb;                  // 发全0扫描码
 252   3               
 253   3                     if((P2&0xf0)!=0xf0)        //若有键盘按下
 254   3                      { 
 255   4                                delay();
 256   4                            if((P2&0xf0)!=0xf0)         //若有键盘按下
 257   4                          {
 258   5                                         scan=P2&0xf0;
 259   5                                         switch( scan)
 260   5                                         {
 261   6                                         case 0xe0:    key_all= 9;break;
 262   6                                         case 0xd0:    key_all= 10;break;
 263   6                                         case 0xb0:    key_all= 11;break;
 264   6                                         case 0x70:    key_all= 12;break;
 265   6                                         }
 266   5                                                                                  while(( P2&0xf0)!=0xf0);
 267   5      
 268   5                                       }
 269   4                              return;
 270   4                              }
 271   3                       P2=0xf7;                  // 发全0扫描码
 272   3               
 273   3                     if((P2&0xf0)!=0xf0)        //若有键盘按下
 274   3                      { 
 275   4                                delay();
 276   4                            if((P2&0xf0)!=0xf0)         //若有键盘按下
 277   4                          {
 278   5                                         scan=P2&0xf0;
C51 COMPILER V8.05a   NEW_ZONG                                                             05/19/2009 13:16:15 PAGE 6   

 279   5                                         switch( scan)
 280   5                                         {
 281   6                                         case 0xe0:    key_all= 13;break;
 282   6                                         case 0xd0:    key_all= 14;break;
 283   6                                         case 0xb0:    key_all= 15;break;
 284   6                                         case 0x70:    key_all= 16;break;
 285   6                                         }
 286   5                                                                                  while(( P2&0xf0)!=0xf0);
 287   5      
 288   5                                       }
 289   4                                       return;
 290   4                              }
 291   3                        }
 292   2                        }
 293   1      }
*** WARNING C280 IN LINE 197 OF NEW_ZONG.C: 'tep': unreferenced local variable
 294          
 295              void send(uchar add,uchar dat)
 296          {
 297   1              uchar ADS,i,j;
 298   1              CLP=0;
 299   1              LOAD=0;
 300   1              DIN=0;
 301   1              i=4;
 302   1              while(i<16)
 303   1              {
 304   2               if(i<8)
 305   2                      {
 306   3                              ADS=add;
 307   3                      }
 308   2                else
 309   2                      {
 310   3                              ADS=dat;
 311   3                      }
 312   2                for(j=8;j>=1;j--)
 313   2                      {
 314   3      
 315   3                              if((ADS&0x80)==0)
 316   3                              {       DIN=0 ;}
 317   3                              else 
 318   3                              {       DIN=1;}
 319   3                              ADS=ADS<<1;
 320   3                      
 321   3                      CLP=1;
 322   3                      CLP=0;  
 323   3                       }
 324   2                i=i+8;
 325   2         }
 326   1         LOAD=1;
 327   1      }
 328          
 329          void s_seg(uchar *p)
 330          {
 331   1               send(0x0c,0x01);//正常状态
 332   1         send(0x0b,0x07);//设置扫描范围DIG0-7
 333   1               send(0x0a,0x05);//设置亮度11/32
 334   1         send(0x09,0xff);//采用译码方式
 335   1      
 336   1         send(0x01,p[8]);
 337   1         send(0x02,p[7]);
 338   1         send(0x03,p[6]);
 339   1         send(0x04,p[5]);
C51 COMPILER V8.05a   NEW_ZONG                                                             05/19/2009 13:16:15 PAGE 7   

 340   1         send(0x05,p[4]);
 341   1         send(0x06,p[3]);
 342   1         send(0x07,p[2]);
 343   1         send(0x08,p[1]);     
 344   1      }
 345          
 346          
 347          
 348          
 349          
 350          /*void zhengzhuan(int step)
 351          {
 352             int i; unsigned char pos;
 353          
 354             for (i=0;i<step;i++)
 355             {
 356                if(pos>7) pos=0;
 357                    P1=clock[pos];
 358                    pos++;
 359                    my_delay();
 360                  }
 361          }
 362          void fanzhuan(int step)
 363          {
 364             int i; unsigned char pos;
 365                                    my_delay();
 366          
 367          
 368             for (i=0;i<step;i++)
 369             {
 370                if(pos>7) pos=0;
 371                    P1=anticlock[pos];
 372                    pos++;
 373                    my_delay();
 374                  }
 375          }
 376          */
 377          
 378          void zhengzhuan(int step)         //排线机number 为1,  主线机
 379          {
 380   1         int i; unsigned char pos;
 381   1       for (pos=0;pos<step;pos++)
 382   1         {
 383   2      
 384   2         for (i=0;i<8;i++)
 385   2         {
 386   3                
 387   3                 P1=clock[i]; 
 388   3                my_delay();
 389   3              }
 390   2              }
 391   1      }
 392          void fanzhuan(int step)
 393          {
 394   1         int i; unsigned char pos;
 395   1       for (pos=0;pos<step;pos++)
 396   1         {
 397   2      
 398   2         for (i=0;i<8;i++)
 399   2         {
 400   3               P1=anticlock[i]; 
 401   3                my_delay();
C51 COMPILER V8.05a   NEW_ZONG                                                             05/19/2009 13:16:15 PAGE 8   

 402   3              }
 403   2              }
 404   1      }
 405          
 406          
 407          
 408          
 409          void my_delay(void)
 410          {
 411   1          int i,j;
 412   1              for (i=0;i<5000;i++);
 413   1              { 
 414   2                 for(j=0;j<1000;j++);
 415   2              }
 416   1      }
 417          
 418          
 419          
 420            void es_isr0 (void) interrupt 1 //定时器0断服务函数
 421           {
 422   1              // EA=0;
 423   1               TF0=0;
 424   1               TR0=0;
 425   1                tick++;
 426   1              TL0=0x01;
 427   1              TH0=0x88;
 428   1      
 429   1      if((tick/2)<=step)
 430   1      {
 431   2                P1_1=!P1_1;  if(P1_0) pos++;else { if(pos==0)  pos=0;else  pos--;      }
 432   2                if(pos<0) pos=0;
 433   2                }
 434   1      else EA=0;
 435   1      
 436   1      //       EA=1;
 437   1               TR0=1;
 438   1      
 439   1      
 440   1       }
 441          
 442          
 443          
 444          
 445          
 446          
 447          
 448          
 449          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2506    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     52      16
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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