亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sp3767.lst

?? T5767收音機IIC協議和控制部分源碼
?? LST
?? 第 1 頁 / 共 2 頁
字號:
 261   1      
 262   1      
 263   1              bFmWriteData[2] = 0x00;//low injection ,stereo on,left not muted,right not muted,SW port1 low
 264   1      #ifdef BAND_USA
 265   1              bFmWriteData[3] = 0x1e;//SW port2 low,standby off,US/Europe FM band limit,xtal=32.768kHz,Soft-mute on,HCC
             - on,SNC on,pin 14 is SW port1;
 266   1      #else
                      bFmWriteData[3] = 0x3e;
              #endif
 269   1              bFmWriteData[4] = 0x40;
 270   1      #define         SP3767_ID               0x00
 271   1      #define         SP3767_RSV              0x00
 272   1              if(SP3767Read())
 273   1              {
 274   2                      if((bFmReadData[3] & 0x0F) == SP3767_ID && bFmReadData[4] == SP3767_RSV)
 275   2                              return 1;
 276   2                      else return 0;
 277   2              }
 278   1              else return 0;
 279   1      }
 280          
 281          bit FmSetFreq(void)
 282          {
 283   1              WORD TP_WORD_0;
 284   1      #define wPLL    TP_WORD_0
 285   1              wPLL = CalculatePLL();
 286   1              if (fHILOInjection)
 287   1                      bFmWriteData[2] |= FM_HI_INJECTION_EN;
 288   1              else
 289   1                      bFmWriteData[2] &= FM_LO_INJECTION_EN;
 290   1      
 291   1              bFmWriteData[0]=((wPLL >> 8) & FM_CMD_MUTE_DIS) & FM_CMD_SEARCH_DIS; //not mute and not in search mode
 292   1              bFmWriteData[1] = wPLL ;
 293   1              bFmWriteData[2] &= 0xF0;
 294   1      
 295   1              return SP3767Write();
 296   1      }
 297          
 298          bit Search(bit fSearchUp)
 299          {
 300   1              unsigned short wPLL;            //              TP_WORD_1 //TP_BYTE_2
 301   1              unsigned short wTimeOut2;       //              TP_WORD_3 // TP_BYTE_6
 302   1              unsigned char bNowStopLevel;//          TP_BYTE_14
C51 COMPILER V7.06   SP3767                                                                06/15/2007 16:08:30 PAGE 6   

 303   1      
 304   1              unsigned char bLevel;
 305   1              unsigned char bIFCounter;
 306   1              unsigned short wFreqSave;
 307   1              
 308   1      
 309   1      //===========指定頻率 =============
 310   1              if(fHand)
 311   1              {       
 312   2      //              fHILOInjection = FM_LO_INJEC;
 313   2                      fHILOInjection = FM_HI_INJEC;
 314   2                      bNowStopLevel = FM_CMD_STOP_HIGH;                       // Use Low Level for search default
 315   2                      wFreqSave = wFmFreq;            
 316   2                      printf("wFmFreq: %d.%d MHz\n",(unsigned short)(wFmFreq / 10),(unsigned short)(wFmFreq % 10));
 317   2                      wPLL = CalculatePLL();
 318   2                      printf("PLL: %x\n",(unsigned short)wPLL);       
 319   2                      bFmWriteData[0] = ((BYTE)(wPLL >> 8) & (~FM_CMD_SEARCH_EN) | FM_CMD_MUTE_EN);
 320   2                      bFmWriteData[1] = (BYTE)wPLL;
 321   2                      bFmWriteData[2] = (((BYTE)fSearchUp) << 7) | bNowStopLevel;
 322   2                      bFmWriteData[2] |= FM_HI_INJECTION_EN;
 323   2              
 324   2                      SP3767Write();          //Start Search
 325   2                      DelayMs(10);
 326   2                      SP3767Read();
 327   2                      bLevel = (bFmReadData[3] & 0xF0) >> 4;  
 328   2                      DelayMs(100);
 329   2                      SP3767Read();
 330   2                      bIFCounter = bFmReadData[2] & FM_GET_IF;
 331   2                      printf("bLevel: %d,             bIFCounter: %x\n",(unsigned short)bLevel,(unsigned short)bIFCounter);
 332   2                      return 1;
 333   2              }
 334   1      //===================end=======================
 335   1      
 336   1      //===================下面是自動=======================
 337   1      RETRY:
 338   1              bNowStopLevel = FM_CMD_STOP_MID;                        // Use Low Level for search default
 339   1              fHILOInjection = FM_HI_INJEC;
 340   1      
 341   1              while(1)
 342   1              {
 343   2                      wFreqSave = wFmFreq;
 344   2                      wPLL = CalculatePLL();
 345   2                      printf("Search wFmFreq: %d.%d MHz\n",(unsigned short)(wFmFreq / 10),(unsigned short)(wFmFreq % 10));
 346   2                      printf("Search PLL: %x\n",(unsigned short)wPLL);
 347   2                      bFmWriteData[0] = ((BYTE)(wPLL >> 8) | FM_CMD_SEARCH_EN | FM_CMD_MUTE_EN);
 348   2                      bFmWriteData[1] = (BYTE)wPLL;           
 349   2                      bFmWriteData[2] = (((BYTE)fSearchUp) << 7) | bNowStopLevel;
 350   2                      bFmWriteData[2] |= FM_HI_INJECTION_EN;
 351   2      
 352   2                      SP3767Write();          //Start Search
 353   2                      DelayMs(100);
 354   2                      wTimeOut2 = 0xFFFF;
 355   2                      SP3767Read();
 356   2                      do
 357   2                      {
 358   3                              wPLL = bFmReadData[0] & 0x3F;
 359   3                              wPLL = (wPLL << 8) | bFmReadData[1];
 360   3                              wFmFreq = ConvertPLL(wPLL);
 361   3                              printf("current freq: %d\n",wFmFreq);
 362   3                              wPLL = CalculatePLL();
 363   3                              bFmWriteData[0] = ((BYTE)(wPLL >> 8) | FM_CMD_SEARCH_EN | FM_CMD_MUTE_EN);
 364   3                              bFmWriteData[1] = (BYTE)wPLL;
C51 COMPILER V7.06   SP3767                                                                06/15/2007 16:08:30 PAGE 7   

 365   3                              SP3767Write();          //Start Search
 366   3                              DelayMs(100);
 367   3                              if(!SP3767Read()) return FALSE;
 368   3                              wTimeOut2 --;
 369   3                              if(wTimeOut2 == 0) return FALSE;        //Time Out
 370   3                              if(bFmReadData[0] & FM_SEARCH_BAND) //Reach the band limit
 371   3                              {
 372   4                                      printf("band over\n");
 373   4                                      if(fSearchUp)
 374   4                                              wFmFreq = 875;
 375   4                                      else wFmFreq = 1080;
 376   4                                      goto RETRY;
 377   4                              }
 378   3                      }while((bFmReadData[0] & FM_SEARCH_FINISH) == FALSE);   //wait search finish
 379   2      
 380   2                      bIFCounter = bFmReadData[2] & FM_GET_IF;
 381   2                      bLevel = (bFmReadData[3] & 0xF0) >> 4;
 382   2      
 383   2                      if(0x31 < bIFCounter && bIFCounter < 0x3E && bLevel >= 7)
 384   2                      {
 385   3                              if(wFmFreq == wFreqSave)
 386   3                              {
 387   4                                      if(fSearchUp)
 388   4                                              wFmFreq ++;
 389   4                                      else wFmFreq --;
 390   4                                      goto RETRY;
 391   4                              }
 392   3                      }
 393   2                      else
 394   2                      {
 395   3                              if(fSearchUp)
 396   3                                      wFmFreq ++;
 397   3                              else wFmFreq --;
 398   3      
 399   3                              if(wFmFreq >= BAND_MAX)
 400   3                                      wFmFreq = BAND_MIN;
 401   3                              if(wFmFreq <= BAND_MIN)
 402   3                                      wFmFreq = BAND_MAX;
 403   3                              goto RETRY;
 404   3                      }
 405   2      
 406   2                      wPLL = ((WORD)(bFmReadData[0] & 0x3f)) << 8;
 407   2                      wPLL |= bFmReadData[1];
 408   2                      wFmFreq = ConvertPLL(wPLL);
 409   2                      printf("bLevel: %d,             bIFCounter: %x\n",(unsigned short)bLevel,(unsigned short)bIFCounter);
 410   2                      printf("radio return revise PLL: %x\n", wPLL);
 411   2                      printf("radio return revise freq: %d.%d MHz\n",(unsigned short)(wFmFreq / 10),(unsigned short)(wFmFreq %
             - 10));
 412   2                      return 1;
 413   2              }
 414   1      }
 415          
 416          void mInitSTDIO()
 417          {
 418   1              SCON = 0x50;
 419   1              PCON = 0x80;
 420   1              TMOD = 0x20;
 421   1              TH1 = 0xf3;  /* 24MHz晶振, 9600bps */
 422   1              TR1 = 1;
 423   1              TI = 1;
 424   1      }
 425          
C51 COMPILER V7.06   SP3767                                                                06/15/2007 16:08:30 PAGE 8   

 426          void main(void)
 427          {
 428   1              unsigned char cnt;      
 429   1      
 430   1              DelayMs(100);
 431   1      
 432   1              cnt = 0;
 433   1              mInitSTDIO();
 434   1      
 435   1              cnt = 5;
 436   1              printf("\nstart...\n");
 437   1              while(cnt -- > 0)
 438   1              {
 439   2                      LED = 0;
 440   2                      DelayMs(100);
 441   2                      LED = 1;
 442   2                      DelayMs(100);
 443   2              }
 444   1      
 445   1      
 446   1              printf("Init SP3767\n");
 447   1              if(FmInit())
 448   1                      printf("SP3767 OK\n");
 449   1              else printf("SP3767 Err\n");
 450   1              cnt = 36;
 451   1              printf("Search...\n");
 452   1      #ifdef HAND
 453   1              index = 0;
 454   1              fHand = 1;
 455   1              wFmFreq = FRQ_TAB[index];
 456   1      #else
                      wFmFreq = 875;
              #endif
 459   1              if(Search(1))
 460   1              {
 461   2                      if(FmSetFreq())
 462   2                              printf("set ok!\n\n");
 463   2                      else
 464   2                              printf("set error!\n\n");
 465   2              }
 466   1              else
 467   1                      printf("search err\n\n");
 468   1      
 469   1              while(1)
 470   1              {
 471   2                      if(!UpKey)
 472   2                      {
 473   3                              while(!UpKey);
 474   3      #ifdef HAND
 475   3                              if(index == NUM) index = 0;
 476   3                              else index ++;
 477   3                              wFmFreq = FRQ_TAB[index];
 478   3                              fHand = 1;
 479   3      #else
                                      wFmFreq ++;
              #endif
 482   3                              if(Search(1))
 483   3                              {
 484   4                                      if(!FmSetFreq())
 485   4                                              printf("set err\n\n");
 486   4                                      else printf("set ok\n\n");
 487   4                              }
C51 COMPILER V7.06   SP3767                                                                06/15/2007 16:08:30 PAGE 9   

 488   3                              else printf("search err\n\n");
 489   3                      }
 490   2                      if(!DnKey)
 491   2                      {
 492   3                              while(!DnKey);
 493   3      #ifdef HAND
 494   3                              if(index == 0)
 495   3                                      index = NUM;
 496   3                              else index --;
 497   3                              wFmFreq = FRQ_TAB[index];
 498   3                              fHand = 1;
 499   3      #else
                                      wFmFreq --;
              #endif
 502   3                              if(Search(0))
 503   3                              {
 504   4                                      if(!FmSetFreq())
 505   4                                              printf("set err\n\n");
 506   4                                      else printf("set ok\n\n");
 507   4                              }
 508   3                              else printf("search err\n\n");
 509   3                              fHand = 0;
 510   3                      }
 511   2              }
 512   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1425    ----
   CONSTANT SIZE    =    385    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     13      13
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2       1
END OF MODULE INFORMATION.


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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区中文字幕精品精品| 91精品中文字幕一区二区三区| 国产亚洲一区二区三区| 免费高清在线视频一区·| 日韩一区和二区| 国产在线精品一区二区夜色| 精品国产一区二区三区四区四| 91蜜桃婷婷狠狠久久综合9色| 亚洲少妇最新在线视频| 欧美日韩一区三区| 麻豆久久久久久久| 中文字幕免费不卡在线| av一区二区三区在线| 亚洲综合视频在线| 日韩午夜激情视频| 成人免费视频caoporn| 亚洲精品成人a在线观看| 欧美日本国产一区| 国产一区91精品张津瑜| 亚洲精品视频在线观看网站| 欧美一区二区三区白人| 国产成人三级在线观看| 亚洲欧美经典视频| 欧美大尺度电影在线| 成人午夜短视频| 亚洲福利一区二区三区| 国产午夜精品一区二区三区嫩草 | 91同城在线观看| 天天综合网天天综合色| 久久精品亚洲精品国产欧美kt∨| 99精品欧美一区| 免费人成网站在线观看欧美高清| 国产欧美日韩综合| 欧美男女性生活在线直播观看| 国产成人久久精品77777最新版本| 国产精品麻豆久久久| 欧美男男青年gay1069videost| 国产69精品久久久久777| 天堂一区二区在线| 中文字幕五月欧美| 日韩精品一区二区三区视频在线观看 | 99久久婷婷国产| 久久激情综合网| 亚洲制服丝袜一区| 久久精品夜色噜噜亚洲a∨| 欧美精品欧美精品系列| 99久久精品免费看| 国产成人综合自拍| 激情图区综合网| 丝袜脚交一区二区| 一区二区三区在线免费播放| 久久精品综合网| 精品国产一区久久| 日韩亚洲欧美成人一区| 欧美在线你懂得| 一本色道久久综合亚洲精品按摩| 国产一区 二区| 韩国一区二区三区| 青草av.久久免费一区| 一区二区久久久久久| 日韩毛片精品高清免费| 欧美激情中文字幕| 久久九九久久九九| 久久影院午夜论| 精品捆绑美女sm三区| 欧美一区二区三区视频免费播放 | eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 亚洲va天堂va国产va久| 亚洲欧洲综合另类在线| 中文字幕一区二区三区在线不卡 | 亚洲在线中文字幕| 亚洲精品免费一二三区| 中文字幕国产精品一区二区| 久久精品欧美一区二区三区麻豆| www久久久久| 久久精品无码一区二区三区| 久久亚洲春色中文字幕久久久| 日韩美女视频一区二区在线观看| 91精品久久久久久久99蜜桃| 欧美男女性生活在线直播观看| 欧美精品tushy高清| 777xxx欧美| 精品国产一二三| 国产日韩综合av| 中文字幕中文字幕在线一区| 国产精品久久久久久久久免费相片| 中文在线一区二区 | 久久日韩精品一区二区五区| 337p日本欧洲亚洲大胆精品 | 色综合天天狠狠| 欧美吻胸吃奶大尺度电影| 欧美色视频在线观看| 5858s免费视频成人| 精品日本一线二线三线不卡| 国产午夜精品久久久久久久| 欧美国产精品劲爆| 一区二区三区四区蜜桃| 日韩国产成人精品| 国产一区不卡在线| 色婷婷综合久久久久中文一区二区 | 香蕉成人伊视频在线观看| 美国毛片一区二区| 成人黄色免费短视频| 欧美在线观看禁18| 久久综合国产精品| 国产精品麻豆视频| 日本不卡高清视频| 成人不卡免费av| 91精品免费在线观看| 日本一区二区三区在线不卡| 亚洲精品国产一区二区三区四区在线| 午夜国产精品影院在线观看| 国产一区 二区| 欧美色视频一区| 国产视频视频一区| 亚洲va天堂va国产va久| 国产成人免费高清| 欧美日韩亚洲综合| 国产女同互慰高潮91漫画| 午夜一区二区三区在线观看| 激情都市一区二区| 欧洲日韩一区二区三区| 2024国产精品视频| 亚洲大尺度视频在线观看| 国产激情91久久精品导航| 欧美视频一区在线| 国产精品美女久久久久aⅴ| 婷婷久久综合九色国产成人 | 欧美日本一区二区在线观看| 国产欧美日韩精品一区| 日韩不卡免费视频| 一本色道久久综合亚洲精品按摩| 欧美va亚洲va在线观看蝴蝶网| 亚洲激情网站免费观看| 粉嫩欧美一区二区三区高清影视| 欧美人妇做爰xxxⅹ性高电影| 亚洲国产精品精华液2区45| 日韩成人精品视频| 色综合天天综合狠狠| 国产精品123| 9191国产精品| 亚洲综合一二三区| 99vv1com这只有精品| 久久女同精品一区二区| 日韩福利视频导航| 欧美性猛交一区二区三区精品| 国产精品美女一区二区三区| 国产在线精品一区二区夜色 | 欧美老女人在线| 亚洲免费观看在线观看| 成人激情校园春色| 国产欧美日韩在线| 国产综合色在线| 欧美大胆一级视频| 久久精品国产**网站演员| 91.com视频| 免费在线观看视频一区| 欧美日韩久久久久久| 亚洲一级二级在线| 欧美性受xxxx| 亚洲欧美国产毛片在线| 一本大道久久精品懂色aⅴ| 中文字幕日韩av资源站| 成人一区在线观看| 中文一区在线播放| 成人小视频在线观看| 中文字幕av一区二区三区高 | 久久亚洲春色中文字幕久久久| 精品无人码麻豆乱码1区2区| 日韩欧美精品在线| 激情欧美一区二区| 国产日韩三级在线| 不卡视频免费播放| 中文字幕一区二区三区在线播放 | 欧美少妇一区二区| 日韩黄色免费网站| 日韩免费看的电影| 国产成人在线电影| 国产精品沙发午睡系列990531| 不卡视频在线看| 悠悠色在线精品| 欧美顶级少妇做爰| 久久国产麻豆精品| 国产欧美日韩精品一区| 色婷婷国产精品| 日本亚洲欧美天堂免费| 久久亚洲一级片| 99精品视频在线观看免费| 亚洲第一成年网| 日韩精品中文字幕在线不卡尤物| 国产一区二区三区四区五区美女 | 欧美韩国日本一区| 色综合久久久久综合99| 视频一区二区欧美| 久久久久成人黄色影片| 91猫先生在线| 精品一二线国产| 亚洲欧美日韩小说| 日韩三级中文字幕| 成人动漫一区二区三区|