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

📄 main.lst

📁 采用AD9851设计的一个产生50M 方波
💻 LST
📖 第 1 页 / 共 3 页
字号:
 206   3                                              ichar = Fichar;
 207   3                                              if (ichar > 0)
 208   3                                              {            
 209   4                                    if(!p_bit)
 210   4                                                      freq = f*mul;
 211   4                                                      //else freq = f;
 212   4                                                      if (f>72000000)
 213   4                                                      {
 214   5                                                              freq = 72000000;
 215   5                                                      }
 216   4                              if(!p_bit)
 217   4                                              SetFreq(freq,0);
 218   4                                              p_bit = 0;
 219   4                          write_cmd(0x0c);                                            
 220   4                                              En_Key = FALSE;
 221   4                                              Renew_Key = TRUE;
 222   4                                      }
 223   3                                      Key_Push_Flag = FALSE;                                  // 处理完,清除标志
 224   3                                      Key_Process = TRUE;                                     // 置处理标志
 225   3                                      write_cmd(0x0c);
 226   3      
 227   3                              }
 228   2                              
 229   2                              if ((Key_Code == 0x0A))
 230   2                              {
 231   3                                 write_cmd(0x0f);
 232   3                     if(!p_bit)
 233   3                     write_cmd(0x02);              
 234   3                                 if(p_bit)
 235   3                     write_cmd(0x14);
 236   3                                 p_bit++;
 237   3                     if(p_bit==9)
 238   3                    {
 239   4                                 write_cmd(0x0c);
 240   4                     p_bit=0;
 241   4                                }
C51 COMPILER V8.08   MAIN                                                                  05/04/2009 15:04:02 PAGE 5   

 242   3                                fd = p_bit;
 243   3                                fd1 = p_bit;
 244   3                                 Key_Code = 0xff;
 245   3                               //     Key_Push_Flag = FALSE;                                  // 处理完,清除标志
 246   3                              //      Key_Process = TRUE;                                     // 置处理标志
 247   3                              }
 248   2                    if ((Key_Code<=9)&&(p_bit!=0))
 249   2                     {
 250   3                       delay(50);    
 251   3                                      num_renew(Freqdisplay);
 252   3                                         write_cmd(0x02);
 253   3                                                      for(i=0;i<(p_bit-1);i++)write_cmd(0x14);
 254   3                        Key_Code = 0xff;
 255   3                                        Key_Push_Flag = FALSE;                                        // 处理完,清除标志
 256   3                                      Key_Process = TRUE;                                     // 置处理标志
 257   3                     }
 258   2                                      if ((Key_Code == 0x0B)&&(p_bit==0))
 259   2                              {
 260   3                                  p1+=1;
 261   3                      if(p1==1)
 262   3                     {
 263   4                       mul = 1000;
 264   4                                      display(0xc0,"KHZ");
 265   4                     }
 266   3                      if(p1==2)
 267   3                     {
 268   4                                  mul = 1000000;
 269   4                                      display(0xc0,"MHZ");
 270   4                                      p1 = 0;
 271   4                     }
 272   3                       
 273   3                      Key_Code = 0xff;
 274   3                              }
 275   2                    if (Key_Code == 0x0D)
 276   2                                 {
 277   3                                        unsigned char i;
 278   3                                                delay(50);
 279   3                             if (f == 0)
 280   3                                             break;   
 281   3                                             unit(fd);
 282   3                                                      Fichar = UpDown(Freqdisplay,&f,1);
 283   3                              c = 1;
 284   3                                                      if (f>30000000)
 285   3                                                      {
 286   4                                                              f = 30000000;
 287   4                                                              display(0x80,"       ");
 288   4                                                      }
 289   3                              
 290   3                                                      freq = f*mul;
 291   3                                                      SetFreq(freq,0);
 292   3                                                 write_cmd(0x0c);
 293   3                                                      for (i = Fichar; i>0; i--)
 294   3                                                      {
 295   4                                                              cnt = Freqdisplay[Fichar-i];
 296   4                                                              if (cnt <=9)
 297   4                                                                      cnt += 0x30;
 298   4                                                              else break;
 299   4                                                              Dischar[0] = cnt;
 300   4                                                      //      Dischar[1] = '\0';
 301   4                                                              display(0x88-i,Dischar);
 302   4                                                      }
 303   3                                              //      display(0x80,"       ");
C51 COMPILER V8.08   MAIN                                                                  05/04/2009 15:04:02 PAGE 6   

 304   3                              write_cmd(0x02);
 305   3                                                      for(i=0;i<(p_bit-1);i++)write_cmd(0x14);
 306   3                 
 307   3                                                      write_cmd(0x0f);
 308   3                                      Key_Code = 0xff;
 309   3                                 }
 310   2                              if (Key_Code == 0x0E)
 311   2                              {
 312   3                                 unsigned char i;
 313   3                     delay(50);
 314   3                                unit(fd1);
 315   3                      if (f == 0)
 316   3                                      break;
 317   3                                                      Fichar = UpDown(Freqdisplay,&f,0);
 318   3                                                      if (f<1)
 319   3                                                      {
 320   4                                                              f = 1;
 321   4                                                      }
 322   3                                              //      display(0x80,"       ");
 323   3                                                 freq = f*mul;
 324   3                                                 write_cmd(0x0c);
 325   3                                                 SetFreq(freq,0);
 326   3                                                      for (i = Fichar; i>0; i--)
 327   3                                                      {
 328   4                                                              cnt = Freqdisplay[Fichar-i];
 329   4                                                              if (cnt <=9)
 330   4                                                                      cnt += 0x30;
 331   4                                                              else break;
 332   4                                                              Dischar[0] = cnt;
 333   4                                                              display(0x88-i,Dischar);
 334   4                                                      }
 335   3                              write_cmd(0x02);
 336   3                              for(i=0;i<(p_bit-1);i++)write_cmd(0x14);
 337   3                                                      write_cmd(0x0f);
 338   3                                      Key_Code = 0xff;
 339   3                              }
 340   2                              if (Key_Code == 0x0C)
 341   2                              {
 342   3                                      p_bit = 0;
 343   3                      write_cmd(0x0c);
 344   3                                      switch (Fnc)
 345   3                                      {
 346   4                                              case Freq:
 347   4                                                      display(0x80,"        ");
 348   4                                                      display(0x80,"    1000");
 349   4                                                      display(0xc0,"Hz");
 350   4                                                      SetFreq(1000,0);
 351   4                                                      Key_Push_Flag = FALSE;
 352   4                                                      Key_Process = TRUE;                                     // 置处理标志
 353   4                                                      break;
 354   4                                              case FSK:
 355   4                                                      display(0x80,"        ");
 356   4                                                      display(0xc0,"        ");
 357   4                                                      display(0x80,"FSK");
 358   4                                                      Key_Push_Flag = FALSE;
 359   4                                                      Key_Process = TRUE;                                     // 置处理标志
 360   4                                                      SetFSK(&Key_Push_Flag);
 361   4                                                      break;
 362   4                                              case FM:
 363   4                                                  display(0x80,"        ");
 364   4                                                      display(0xc0,"        ");
 365   4                                                      display(0x80,"FM");
C51 COMPILER V8.08   MAIN                                                                  05/04/2009 15:04:02 PAGE 7   

 366   4                                                      Key_Push_Flag = FALSE;
 367   4                                                      Key_Process = TRUE;
 368   4                                                      SetFM(&Key_Push_Flag);
 369   4                                                      break;
 370   4                                              case PSK:
 371   4                                                      display(0x80,"        ");
 372   4                                                  display(0xc0,"        ");
 373   4                                                      display(0x80,"PSK");
 374   4                                                      Key_Push_Flag = FALSE;
 375   4                                                      Key_Process = TRUE;
 376   4                                                      SetPSK(&Key_Push_Flag);
 377   4                                                      break;
 378   4                                              case ASK:
 379   4                                                      display(0x80,"        ");
 380   4                                                  display(0xc0,"        ");
 381   4                                                      display(0x80,"ASK");
 382   4                                                      Key_Push_Flag = FALSE;
 383   4                                                      Key_Process = TRUE;
 384   4                                                      SetASK(&Key_Push_Flag);
 385   4                                                      break;
 386   4                                              case AM:
 387   4                                                      display(0x80,"        ");
 388   4                                                  display(0xc0,"        ");
 389   4                                                      display(0x80,"AM");
 390   4                                                      Key_Push_Flag = FALSE;
 391   4                                                      Key_Process = TRUE;
 392   4      //                                              SetAM(&Key_Push_Flag);
 393   4                                                      break;
 394   4                                      }
 395   3                                      Fnc ++;
 396   3                                      Fnc&=0x07;
 397   3                                      En_Key = FALSE;
 398   3                                      Renew_Key = TRUE;
 399   3                                      Key_Code = 0xff;
 400   3                              }
 401   2                                
 402   2        }
 403   1      }
 404          //memdis 指向显示内存区域, ichar 在内存中的位置, ad 显示位置,Key_Code 键入值
 405          /************************************************************************
 406          *作者:    杨乐                                                         *
 407          *函数名:  Dis                                                          *
 408          *功能:    显示处理                                                     *
 409          *入口参数:无                                                           *
 410          *返回值:  无                                                           *
 411          *日期:    2009年1月21日                                                *
 412          ************************************************************************/
 413          unsigned long Dis( unsigned char * memdis, unsigned char * ichar, unsigned char ad)
 414          {
 415   1              int cnt;
 416   1               unsigned long Data = 0;
 417   1       //   p = 0;
 418   1      //      p_num = 0;
 419   1              memdis[*ichar] = Key_Code;

⌨️ 快捷键说明

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