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

📄 mc145170.lst

📁 这是锁相环芯片MC145170程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 213   2                 CLK=1;
 214   2                 _nop_();
 215   2              }
 216   1      
 217   1              //
 218   1              ENB=0;
 219   1              for(i=0;i<8;i++)
 220   1              { 
 221   2                 CLK=0;
 222   2                 _nop_();
 223   2                 if(i==4)
 224   2                              DIN=1;
 225   2                 else 
 226   2                              DIN=0;
 227   2                 CLK=1;
 228   2                 _nop_();
 229   2              }
 230   1      
 231   1              ENB=1;
 232   1      
 233   1      }
 234          /************************************** 
 235          名称:changefrequence
 236          功能:改变频率的任务函数 
 237          输入参数:无 
 238          输出参数:无 
 239          *************************************/ 
C51 COMPILER V8.01   MC145170                                                              03/16/2008 21:34:52 PAGE 5   

 240          /*void changefrequence(void)
 241          {       
 242                  switch(Menu1)
 243                  {       case 1: mc145170reset();
 244                                          Delay5Ms();
 245                                          writec(0x6f);
 246                                          Delay5Ms();
 247                                          write_R24(BaseFre);
 248                                          Delay5Ms();
 249                                          write_N(Frequence);
 250                                          ePutUint(15,1,Frequence);
 251                                          Delay5Ms();     
 252                                          Menu1=2;
 253                                  
 254                                          break;
 255                          case 2://输入的按键对应的数码从显示屏右端移入
 256                                          switch(MyKey)
 257                                                  {case 0:break;
 258                                                   case 1:
 259                                                                  Frequence=Frequence+1;//递增                    
 260                                                                  write_N(Frequence);
 261                                                                  ePutUint(15,1,Frequence);
 262                                                                  MyKey=0;
 263                                                                  break;                                          
 264                                                   case 2:
 265                                                                  Frequence=Frequence-5;//递减                    
 266                                                                  write_N(Frequence);
 267                                                                  ePutUint(15,1,Frequence);
 268                                                                  MyKey = 0;//清按键缓冲区,表示按键值已经取走
 269                                                                  break;
 270                                                   case 3:                                                                                                        
 271                                                                  MyKey = 0;//清按键缓冲区,表示按键值已经取走
 272                                                                  Menu1=1;
 273                                                                  break;
 274                                          }
 275                                          break;
 276          
 277                  }
 278          }        */
 279          Set_all_Mc145170()
 280           {
 281   1          mc145170reset();
 282   1              Delay5Ms();
 283   1              writec(0x6f);
 284   1              Delay5Ms();
 285   1              write_R24(BaseFre);
 286   1              Delay5Ms();
 287   1              write_N(Frequence);
 288   1              Delay5Ms();     
 289   1       }
 290          
 291           //////////////////////////////////////////数字各位分离程序/////////////////////////////
 292          void MakeDate(int show_answer)
 293          {   char i; 
 294   1              for(i=0;i<7;i++)         
 295   1                     {c[i] = show_answer%10;
 296   2                      show_answer = show_answer/10;
 297   2                     }
 298   1                         if(c[6]==0)
 299   1                           {c[6]=10;
 300   2                            if(c[5]==0)
 301   2                              {c[5]=10;
C51 COMPILER V8.01   MC145170                                                              03/16/2008 21:34:52 PAGE 6   

 302   3                               if(c[4]==0)
 303   3                                 {c[4]=10;
 304   4                                      if(c[3]==0)
 305   4                                    {c[3]=10;
 306   5                                         if(c[2]==0)
 307   5                                       {c[2]=10;
 308   6                                           if(c[1]==0)
 309   6                                         {c[1]=10;}
 310   6                                           }
 311   5                                        }
 312   4                                      }
 313   3                               }
 314   2                            }   
 315   1      }
 316          
 317          display_fre()                                   //显示频率
 318          {
 319   1        char j = 0;
 320   1        MakeDate(Frequence) ;           //分离数字
 321   1        for(j=0;j<8;j++)
 322   1        {
 323   2         XBYTE[0x8100]=~(0x80>>j);         //选择数码管显示位数    
 324   2          XBYTE[0x8200]=DisplayBuffer[c[j]];     //显示数字
 325   2              delay_1ms();
 326   2         }
 327   1      
 328   1       }
 329          
 330           keybord()
 331           {
 332   1         XBYTE[0x8200] = 0;
 333   1         if(P1_0 == 0)
 334   1          {
 335   2            Delay5Ms();
 336   2                Delay5Ms();
 337   2                Delay5Ms();
 338   2                Delay5Ms();
 339   2                Frequence = Frequence + 50;
 340   2                write_N(Frequence);
 341   2           }
 342   1         
 343   1         else if(P1_1 == 0)
 344   1           {
 345   2                 Delay5Ms();
 346   2                 Delay5Ms();
 347   2                 Delay5Ms();
 348   2                Delay5Ms();
 349   2                 Frequence = Frequence - 50;
 350   2                 write_N(Frequence);
 351   2           }
 352   1        }
 353           
 354          /************************************** 
 355          名称:main 
 356          功能:主函数 
 357          输入参数:无 
 358          输出参数:无 
 359          *************************************/ 
 360          main()
 361          {       
 362   1                      //EA = 0;
 363   1              Set_all_Mc145170();  //一个函数把mc145170所有寄存器设置好       
C51 COMPILER V8.01   MC145170                                                              03/16/2008 21:34:52 PAGE 7   

 364   1      
 365   1              while(1)
 366   1              {
 367   2                  display_fre();  
 368   2                      keybord()  ;
 369   2              }
 370   1      
 371   1      }
 372          
 373          
 374          
 375          /*05级单片机板程序
 376          main()
 377          { 
 378                                  EA = 0;
 379                    Set_all_Mc145170();  //一个函数把mc145170所有寄存器设置好     
 380          
 381                  while(1)
 382                  {
 383                           P3_7 = 1;
 384                           if(P3_2 == 0)
 385                            {
 386                                   P3_7 = 0;
 387                               Delay400Ms() ;
 388                                    Delay400Ms() ;
 389                                   Frequence = Frequence + 100;
 390                          
 391                            }
 392                  
 393                             if(P3_3 == 0)
 394                            {
 395                               P3_7 = 0;
 396                                   Delay400Ms() ;
 397                                    Delay400Ms() ;
 398                                   Frequence = Frequence - 100;
 399                          
 400                            }
 401                           if(P3_4 == 0)
 402                            {
 403                                        P3_7 = 0;
 404                                       Delay400Ms() ;
 405                                           
 406                                           mc145170reset();
 407                                          Delay5Ms();
 408                                          writec(0x6f);
 409                                          Delay5Ms();
 410                                          write_R24(BaseFre);
 411                                          Delay5Ms();
 412                                          write_N(Frequence);
 413                  //                              ePutUint(15,1,Frequence);
 414                                          Delay5Ms();
 415                            }     
 416                  }
 417          
 418          }       */


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    531    ----
   CONSTANT SIZE    =     13    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
C51 COMPILER V8.01   MC145170                                                              03/16/2008 21:34:52 PAGE 8   

   DATA SIZE        =     10       2
   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 + -