亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4112|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

FM收音機(jī)+12864+TEA5767的單片機(jī)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:202568 發(fā)表于 2018-12-6 11:01 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
12864顯示,fm收音模塊文件!

單片機(jī)源程序如下:
  1. #include <reg52.h>
  2. #include <intrins.h>




  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. #define max_freq 1080                           //最高頻率
  6. #define min_freq 875                           //最低頻率

  7. uchar data fm_w[5]={0x00,0x00,0x31,0x17,0x00};//這是要寫(xiě)入的數(shù)據(jù)
  8. uchar data fm_r[5]={0,0,0,0,0};               //這是放讀出的數(shù)據(jù)


  9. //位定義說(shuō)明:u:=1向上自動(dòng)搜臺(tái)反之。。。

  10. bit SM,SUD,RF,SystemError,u,SD,HISI=1,mode;

  11. uchar IF,ADC,STEREO,ADC1;
  12. uint fm,PLL,freq1;
  13. uint frequency=1049;

  14. //#include"FM_PLL.h"//這里包涵的是FM收音的PLL值

  15. sbit down =P1^1;  //頻道下
  16. sbit up          =P1^2;  //頻道上

  17. sbit menu =P1^0;
  18. sbit k3          =P1^1;
  19. sbit k4          =P1^2;

  20. sbit ok          =P1^3;



  21. sbit SDA=P2^6;
  22. sbit SCL=P2^7;

  23. sbit SDA1=P2^0;
  24. sbit SCL1=P2^1;

  25. uchar menu_bit=0;                //申請(qǐng)一下菜單的變量
  26. uchar ch=1;                                //申請(qǐng)一個(gè)頻道號(hào)碼變量
  27. uchar ch_max;                        //申請(qǐng)一個(gè)最大臺(tái)號(hào)保存變量

  28. delayms(uint ms)
  29. {
  30.         uint i,j;
  31.         for(i=0;i<ms;i++)
  32.         for(j=0;j<123;j++);
  33. }



  34. void display();
  35. void key_search();
  36. void fm_xing();
  37. void search();
  38. void auto_search();
  39. void get_pll(void);
  40. void get_freq(void);



  41. void delay() //10ms定時(shí)器,晶振6M時(shí)
  42.   {  
  43.    TMOD=0x01;
  44.    TH0=0xEC;  //
  45.    TL0=0x78;
  46.    TR0=1;
  47.    do{}while(!TF0);
  48.    TF0=0;
  49.   }


  50. #include <LCD1602.h>           //包含的頭文件
  51. #include"IIC.h"
  52. #include"IAP.h"
  53. #include"display.h"



  54. //由頻率計(jì)算PLL
  55. void get_pll(void)
  56. {
  57.         unsigned long y=frequency;
  58.         PLL=((y*100+225)/8.192);
  59. }

  60. void get_freq(void)          //由PLL計(jì)算頻率
  61. {
  62.         unsigned long y;
  63.         y=PLL;
  64.         freq1=(y*8192-225000)/100000+1;
  65. }


  66. void fm_xing()                                //FM收音芯片數(shù)據(jù)刷新一次
  67. {
  68.         write_5byte();                        //送入到5767里面
  69.         delayms(50);                        //送進(jìn)PLL值后,要等50ms再去讀TEA5767里面的數(shù)據(jù)
  70.         read_5byte();                        //讀TEA5767的5個(gè)字節(jié)數(shù)據(jù)
  71. }

  72. //手動(dòng)設(shè)置頻率,mode=1,+0.1MHz; mode=0:-0.1MHz ,
  73. //不用考慮TEA5767用于搜臺(tái)的相關(guān)位:SM,SUD


  74. void search()
  75. {
  76. //給頻率+/-1,
  77.       
  78.     if(mode)
  79.     {
  80.         frequency+=1;
  81.         if(frequency>max_freq)
  82.             frequency=min_freq;
  83.     }
  84.     else
  85.     {
  86.         frequency-=1;
  87.         if(frequency<min_freq)
  88.             frequency=max_freq;
  89.     }      
  90.         fm_xing();
  91.         key_display();                        //調(diào)用顯示程序
  92. }

  93. //自動(dòng)搜臺(tái),mode=1,頻率增加搜臺(tái); mode=0:頻率減小搜臺(tái)
  94. void auto_search()
  95. {
  96.    do  
  97.    {

  98.     if(mode)
  99.         fm_w[2]=0xa0;                //增加頻率搜索
  100.     else
  101.         fm_w[2]=0x20;                //減少頻率搜索

  102.     search();                        //頻率調(diào)整,+或-

  103.         fm_xing();

  104.         }

  105.         while((IF>0x3e)|(IF<0x31)|(ADC<5)|(!STEREO)|(!RF));     //搜臺(tái)成功標(biāo)志
  106. }

  107. /**********************************************************/

  108. void FM_init()
  109. {
  110.         uchar a1,a2;


  111.          ch=Byte_Read(0x401);          //讀出上次播放時(shí)的臺(tái)號(hào)
  112.          ch_max=Byte_Read(0x201); //讀出保存的最高臺(tái)號(hào)
  113.        
  114.        

  115.        
  116.         a1=Byte_Read(ch*3-1);
  117.     display();
  118.     a2=Byte_Read(ch*3);
  119.     display();


  120.        
  121.         PLL=a1*256+a2;                                        //
  122.        
  123.         get_freq();                                                //由PLL計(jì)算頻率
  124.         frequency=freq1;

  125.         iicInit();
  126.         delayms(300);//等待電源穩(wěn)定后再發(fā)數(shù)據(jù)
  127.        
  128.         if(frequency>max_freq,frequency<min_freq)
  129.         {
  130.                 frequency=min_freq;                                //防止出錯(cuò)
  131.         }
  132.        
  133.         fm_xing();                //給PLL寫(xiě)入TEA5767中,并讀出其中的狀態(tài)
  134.         display();                //調(diào)用顯示程序
  135. }


  136. /**********************************************************/
  137. void main(void)
  138. {

  139.         init_12864();                // 初始化LCD
  140.         delayms(10);
  141.         write_code(0x0c);            //向右移動(dòng)光標(biāo)

  142.         write_code(0x91);
  143.         write_hz("FM載入中...");
  144.                                            //開(kāi)機(jī)畫(huà)面
  145.         delayms(500);                                //延時(shí)
  146.         write_code(0x01);                                //清屏
  147. ……………………

  148. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
FM收音機(jī) 12864 TEA5767.rar (8.33 KB, 下載次數(shù): 87)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2018-12-6 16:44 | 只看該作者
補(bǔ)全原理圖或者詳細(xì)說(shuō)明一下電路連接即可獲得100+黑幣
回復(fù)

使用道具 舉報(bào)

板凳
ID:539878 發(fā)表于 2019-5-16 16:28 | 只看該作者
這個(gè)程序有問(wèn)題!用不了
回復(fù)

使用道具 舉報(bào)

地板
ID:264021 發(fā)表于 2024-11-3 23:02 | 只看該作者
,程序不全
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表