久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9346|回復: 15
收起左側

眾拳STM8的RDA5807收音機實驗資料 附代碼

  [復制鏈接]
ID:170279 發表于 2017-12-8 10:10 | 顯示全部樓層 |閱讀模式
TB2Ez13eMFkpuFjSspnXXb4qFXa_!!85243700.jpg
一. 控制接口
RDA5807 提供了 I2C 作為控制接口.

    在該接口下,有兩中讀寫方式,分別是連續讀寫方式和帶寄存器地址的標準 I2C 方式,兩種方式通過I2C 的器件地址來區分實現,讀寫方式和器件地址詳細描述如下:

1、連續讀寫方式:
    在該模式下,寄存器的地址是不可見的,即有一個固定的起始寄存器地址(寫操作時為 02H,讀操作時為 0AH),并有一個內部遞增計數器,I2C 器件地址為 0010000B,加上讀寫標志,即 I2C 器件地址為0x20(寫操作)和 0x21(讀操作)

(1)、 寫操作: 寫操作默認起始寄存器為 02H, 即所有寫操作都是默認從 02H開始,即使只寫如 03H 或者 05H,都必須從 02H 寫起,MCU 寫入寄存器的順序如下:02H 的高字節,02H 的低字節,03H 的高字節,……,直到結束。芯片在 MCU 寫入每個字節后都會返回一個 ACK。MCU 會給出 STOP 來結束操作。

(2)、 讀操作: 讀操作默認起始寄存器為 0AH, 即所有讀操作都是默認從 0AH開始。在對芯片進行讀操作時,MCU 給出命令字節后,RDA5807HP 會送出數據字節,順序如下:0AH 高字節,0AH 低字節,0BH 高字節,……,直到芯片接收到從 MCU 發出的 NACK, MCU 送出 STOP,讀操作結束。除了最后一個字節, MCU 在讀到每個字節后都要給出 ACK, 在讀到最后一個字節后, MCU給出 NACK,使芯片把總線交給 MCU,然后 MCU 發出 STOP,結束整個操作。
2、標準 I2C 讀寫方式:
    該模式是與標準 I2C 讀寫方式一致,即帶寄存器地址的方式,I2C 器件地址為 0010001B,加上讀寫標志位,即為 0x22(寫操作)和 0x23(讀操作),讀寫方式的格式如下:

1.png

二. 狀態轉換
2.png

RDA5807HP 中有 5 種狀態: 復位初始化(Reset&Initial),設置頻點(Tune), 搜臺(Seek),工作(Working),休眠(Sleep)。

    在芯片上電和復位后,軟件通過編寫 ENABLE(02H,bit 0)寄存器,將其置為 1,即可使RDA5807HP 進入上電狀態。 軟件通過編程相應寄存器, 即可使 RDA5807HP 進入 Tune 或 Seek狀態,這些操作之后,RDA5807HP 進入正常工作狀態(Working)。軟件通過將 ENABLE 置為 0,可使 RDA5807HP 進入睡眠狀態,此時所有寄存器值保持不變(與未睡眠之前相同)。在睡眠狀態時,軟件可通過編寫 ENABLE 為 1,即可將 RDA5807HP 回到正常工作(Working)狀態。進入工作模式后,軟件需要重新設置所需要的頻點,即重新進行一次 Tune 操作。

單片機源程序如下:
  1. /****************************************************************************************
  2. *   說    明: FM收音機固定頻率實驗
  3. *   開發平臺: 劍齒虎STM8開發板        
  4. *   作    者: 劉洋 張殿東
  5. *   版    本: V1.0
  6. ****************************************************************************************/
  7. #include "pbdata.h"

  8. void BSP_Configuration(void);

  9. /****************************************************************************************
  10. *   函 數 名: main
  11. *   功能說明: c程序入口
  12. *   形    參:無
  13. *   返 回 值: 錯誤代碼(無需處理)
  14. ****************************************************************************************/
  15. int main(void)
  16. {   
  17.     u16 time=0;
  18.     u8 key=0;
  19.   
  20.     BSP_Configuration();
  21.      
  22.     while(1)
  23.     {
  24.       key=TM1650_Key();
  25.       
  26.       switch(key)
  27.       {
  28.         case 0x64: //上搜臺
  29.         {            
  30.             RDA_Seek_Direction(1);
  31.             RXFreq=RDA_Search_Freq();
  32.             RDA_Freq_View(RXFreq);
  33.             while(TM1650_Key()==key);
  34.         }
  35.         break;
  36.         case 0x5C:// 下搜臺
  37.         {
  38.             RDA_Seek_Direction(0);
  39.             RXFreq=RDA_Search_Freq();
  40.             RDA_Freq_View(RXFreq);
  41.             while(TM1650_Key()==key);
  42.         }
  43.         break;
  44.         case 0x54:// 左小聲
  45.         {
  46.             RDA_Vol_Small();
  47.             while(TM1650_Key()==key);
  48.         }
  49.         break;
  50.         case 0x44://右大聲
  51.         {
  52.             RDA_Vol_Big();
  53.             while(TM1650_Key()==key);
  54.         }
  55.         break;
  56.         case 0x4C://  確定鍵  開關
  57.         {                       
  58.             RDA_Enable();
  59.             while(TM1650_Key()==key);                        
  60.         }
  61.         break;        
  62.       }
  63.       
  64.       if(KEY_Down(K1_PORT,K1_PIN)==true)//向下微調
  65.       {   
  66.           RDA_Freq_Down();
  67.       }
  68.    
  69.       if(KEY_Down(TOUCH_PORT, TOUCH_PIN)==true)//向上微調
  70.       {            
  71.           RDA_Freq_Up();
  72.       }
  73.       
  74.       time++;
  75.       delay_ms(1);
  76.       if(time>1000)
  77.       {
  78.         time=0;      
  79.         printf("頻率:%d\r\n",RXFreq);
  80.         printf("信號:%d\r\n",RDA_RSSI());
  81.         printf("音量:%d\r\n",Vol);
  82.         printf("\r\n");
  83.       }
  84.     }
  85. }
  86. /****************************************************************************************
  87. *   函 數 名: BSP_Configuration
  88. *   功能說明: 初始化硬件設備。只需要調用一次。該函數配置CPU寄存器和外設的寄存器并初始化一些全局變量。
  89. *   形    參:無
  90. *   返 回 值: 無
  91. ****************************************************************************************/
  92. void BSP_Configuration(void)
  93. {
  94.     CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);   
  95. ……………………

  96. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:

【眾拳】劍齒虎STM8開發板的實驗代碼下載:

眾拳RDA5807收音機實驗程序.zip (1.92 MB, 下載次數: 168)
回復

使用道具 舉報

ID:280790 發表于 2018-1-29 23:39 | 顯示全部樓層
學習了
回復

使用道具 舉報

ID:276663 發表于 2018-1-31 10:18 | 顯示全部樓層
謝謝分享,真的是無私奉獻。
回復

使用道具 舉報

ID:102293 發表于 2018-9-30 18:10 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:370231 發表于 2018-10-13 16:31 | 顯示全部樓層
51hei論壇有你更精彩 謝謝分享
回復

使用道具 舉報

ID:116683 發表于 2019-3-25 16:48 | 顯示全部樓層
感謝分享
回復

使用道具 舉報

ID:102293 發表于 2019-3-30 21:20 | 顯示全部樓層
謝謝分享。辛苦了!
回復

使用道具 舉報

ID:262352 發表于 2019-7-23 17:22 | 顯示全部樓層
有你更精彩
回復

使用道具 舉報

ID:425204 發表于 2019-8-12 21:54 | 顯示全部樓層
謝謝分享,真的是無私奉獻。
回復

使用道具 舉報

ID:425204 發表于 2019-8-12 22:00 | 顯示全部樓層
謝謝分享,收藏了
回復

使用道具 舉報

ID:371458 發表于 2019-9-4 11:43 | 顯示全部樓層
請教個問題:在讀取0BH寄存器時發現FM_TRUE位恒為0,沒辦法判斷當前通道是否為station,請問各位大佬遇到過嗎?怎么解決的?
回復

使用道具 舉報

ID:229821 發表于 2019-10-19 15:56 | 顯示全部樓層
謝謝分享啊。好東西。謝謝了。十分感謝。
回復

使用道具 舉報

ID:655165 發表于 2019-12-20 14:24 來自手機 | 顯示全部樓層
好東西
回復

使用道具 舉報

ID:65880 發表于 2020-4-23 11:10 | 顯示全部樓層
謝謝分享,真的是無私奉獻。
回復

使用道具 舉報

ID:475993 發表于 2020-4-23 17:30 | 顯示全部樓層
用了一下,沒成功。
初始化都不加個判斷是否初始化成功的嗎。即使不連接也能運行下去。
用了搜臺功能,函數里有個while,不過不知道為什么一下子就過去了,一直返回常數。
難受。
回復

使用道具 舉報

ID:669677 發表于 2020-8-7 11:39 | 顯示全部樓層
謝謝分享,真的是無私奉獻
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美午夜精品久久久久免费视 | 日本激情视频在线播放 | 亚洲欧美日韩在线 | 国产中文字幕网 | 国产精品久久九九 | 国产精品99久久久久久动医院 | 中文字幕精品一区二区三区精品 | 亚洲中午字幕 | 精品乱人伦一区二区三区 | 午夜精品一区二区三区在线观看 | 国产亚洲一级 | 欧美三区| 视频精品一区二区三区 | 成人天堂噜噜噜 | 欧美一级特黄aaa大片在线观看 | 精品乱码一区二区 | 91视频国产区 | 日韩精品一区二区三区在线观看 | 美女一级毛片 | 日韩一区二区免费视频 | 亚洲国产一区二区三区四区 | 偷派自拍| 亚洲成人黄色 | 精品成人| 中文字幕一区二区三区日韩精品 | 一区二区三区网站 | 欧美国产精品一区二区三区 | 久久久xx | 国产福利视频导航 | 久久美女网 | 一区二区免费 | 中文字幕一区二区三区日韩精品 | 玖玖国产 | 国产精品国产成人国产三级 | 日本不卡一区二区三区 | 伊人婷婷 | 国产成人高清在线观看 | 欧美成人高清视频 | 天天看天天干 | 欧美一区二区免费在线 | av在线免费观看网址 |