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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 17775|回復: 13
打印 上一主題 下一主題
收起左側

基于單片機控制的FM收音發射電臺,多圖,詳細程序

  [復制鏈接]
跳轉到指定樓層
樓主
  要進行FM收發,我們先認識一款IC~~~RDA820.
  RDA5820 是一顆立體聲 FM 收發芯片,該芯片通過 IIC 接口控制,可以實現 65~108MHz
的全球FM頻段接收,同時可以作為 FM發射。RDA5820 接收與發送天線共用,僅需要極少的
外圍器件即可正常工作。
   看下面原理圖,從原理圖可以看出,RDA5820使用IIC接口,通過控制RDA5820里面一些寄存器,實現收音,發射,靜音,音量,頻點,發射功率,增益,靈敏度調節等~~~~~~~~發射和收音使用同一根天線。天線最好使用20CM拉桿天線,我這里使用50CM軟導線代替了。這樣收音還是挺可以的,發射的話,距離就沒那么遠而已。
  單片機使用STC15系列單片機,這個單片機沒得說的了。顯示屏使用1.8寸TFT液晶,(我之前帖子也有出現http://www.zg4o1577.cn/bbs/dpj-34112-1.html,當時有壇友說開機試試,我那時候相機壞了,沒拍照片,后來修好相機,再上去看不知道怎么改貼了,如果有哪位大蝦知道,不防告訴一聲。)ST7735驅動。
廢話不再。
上圖:




RDA5820原理圖,簡單吧,與單片機通信主要使用IIC接口~~~~~~~~~



內部接線多,沒辦法,這是手持,集成比較多功能



內部集成有2.4G模塊,WIFI模塊,433模塊,但是這些沒接,與本設計無關~~~~



硬件搭起,軟件調試中~~,收音可以使用手機的收音功能。



接口用了2耳機接口,一個接輸出的音箱,一個是輸入的話筒或其他要發射音源~~



裝機后效果,就這樣了~~~~~~~~~~~



完成~~一切正常



基本功能具備了~~~~~~~~~~~



試機~~~~~~

1.8收音機.zip (548.75 KB, 下載次數: 140)
RDA5820編程指南1_0ch.pdf (594.52 KB, 下載次數: 115)

主程序預覽:
  1. /*********************************************************************************
  2. 程序說明:
  3.     RDA5820收音程序
  4.     增肌了DS1302,充電,關機仍然走時
  5.     串口設置
  6. 作者:陳天圣
  7. 版權:珠海市經典電子有限公司
  8. *************************************************************************************/
  9. #include
  10. //#include
  11. #include "config.h"
  12. #include"string.h"
  13. #include "lcd.h"
  14. #include "ds1302.h"
  15. #include "uart.h"
  16. #include "disp.h"
  17. #include "RDA5208.h"
  18. #include "key.h"


  19. void sys_init();
  20. void task();
  21. /*******************************************************************************
  22. /*函數原型:
  23. /*功    能:
  24. /*入口參數:
  25. ********************************************************************************/
  26. void sys_init()
  27. {
  28.     count=0;
  29.    
  30.     TMOD=0x01; //定時器1和定時器0工作在方式1,的定時模式
  31.                 //晶振22.1184  10MS
  32.     TH0 = (65536-4000)/256;
  33.     TL0 = (65536-4000)%256;
  34.     TR0=1;      //定時器1暫時關閉
  35.     ET0=1;
  36.     EA=1;       //系統中斷允許
  37.         Lcd_Init();   //tft初始化
  38.         LCD_Clear(GREEN); //清屏
  39.     xianshi();

  40. }

  41. void task()
  42. {
  43.    u8 i;
  44.   if(UART1_CNT>0)//串口1上有數據到來
  45.     {
  46.       delayms(500);//等待接收完畢
  47.       WDT_CONTR= 0x3d;
  48.       UART1_CNT=0;rec_f1=1;
  49.       if((UART1_REC[0]=='t')&&(UART1_REC[1]=='i')&&(UART1_REC[2]=='m')&&(UART1_REC[3]=='e'))
  50.         {
  51.          time_buf1[0]=(UART1_REC[5]-0x30)*10+(UART1_REC[6]-0x30);
  52.          time_buf1[1]=(UART1_REC[7]-0x30)*10+(UART1_REC[8]-0x30);
  53.          time_buf1[2]=(UART1_REC[9]-0x30)*10+(UART1_REC[10]-0x30);
  54.          time_buf1[3]=(UART1_REC[11]-0x30)*10+(UART1_REC[12]-0x30);
  55.          time_buf1[4]=(UART1_REC[13]-0x30)*10+(UART1_REC[14]-0x30);
  56.          time_buf1[5]=(UART1_REC[15]-0x30)*10+(UART1_REC[16]-0x30);
  57.          time_buf1[6]=(UART1_REC[17]-0x30)*10+(UART1_REC[18]-0x30);
  58.          time_buf1[7]=(UART1_REC[19]-0x30)*10+(UART1_REC[20]-0x30);
  59.         }
  60.       ds1302_write_time();
  61.       SendString_1("set OK!");
  62.      // SendString_1(UART1_REC);
  63.     for(i=0;i<50;i++)
  64.       {
  65.         SendData_1(UART1_REC[i]);
  66.       }
  67.    }
  68. }
  69. /*******************************************************************************
  70. /*函數原型:void main()
  71. /*功    能:主函數
  72. /*入口參數:無
  73. 作      者:陳天圣
  74. ********************************************************************************/
  75. void main()
  76. {
  77.   vol=14;
  78.   jingyin=0;
  79.   pinduan=0;
  80.   gonglv=63;


  81.   sys_init();
  82.   WDT_CONTR= 0x3d;//開看門狗64分頻
  83.   UARTInit();//串口初始化
  84.   SendString_1("STC15F2K60S2Uart1 Test !");
  85.   init_i2c();//
  86.   SendString_1("SYS IS OK!");
  87.   ds1302_init();//時鐘初始化
  88.   freq=RDA5820_Freq_Get();//讀取設置的頻率值
  89.   WDT_CONTR= 0x3d;
  90.   rssi=RDA5820_Rssi_Get();//得到信號強度

  91.     RDA5820_Mute_Set(jingyin);//不靜音
  92.     RDA5820_Rssi_Set(60);//設置靈敏度
  93.         RDA5820_Band_Set(pinduan);        //設置頻段為87~108Mhz
  94.         RDA5820_Space_Set(0);        //設置步進100Khz
  95.         RDA5820_TxPGA_Set(3);        //信號增益為3
  96.     WDT_CONTR= 0x3d;
  97.         RDA5820_TxPAG_Set(gonglv);        //發射功率設置最大
  98.         RDA5820_RX_Mode();                //設置為接收模式
  99.         
  100.         freqset=8750;                                //設置初始頻率
  101.         RDA5820_Freq_Set(freqset);        //設置頻率
  102.     RDA5820_Vol_Set(vol);         //設置音量
  103.     WDT_CONTR= 0x3d;
  104.         while(1)
  105.         {        
  106.     keyscan();
  107.         WDT_CONTR= 0x3d;//開看門狗64分頻        
  108.     if(time_f==1)
  109.      {
  110.       time_f=0;
  111.       ds1302_read_time();
  112.       }
  113.     task();  
  114.     }

  115. }
  116. /*******************************************************************************
  117. /*函數原型:void time1() interrupt 3 using 1
  118. /*功    能:定時器中斷
  119. /*入口參數:無
  120. ********************************************************************************/
  121. void time0() interrupt 1 using 1  //定時器1
  122. {
  123.     TH0 = (65536-4000)/256;
  124.     TL0 = (65536-4000)%256;
  125.   count++;
  126.     if(count==20)
  127.      {
  128.       count=0;
  129.       time_f=1;
  130.      }
  131. }
  132. /*----------------------------
  133. UART 中斷服務程序
  134. -----------------------------*/
  135. void Uart() interrupt 4 using 1
  136. {
  137.         char tmp = 0;
  138.         if(RI)
  139.         {
  140.          RI=0;//清零標志        
  141.      UART1_REC[UART1_CNT]=SBUF;
  142.      UART1_CNT++;
  143.      recr1++;//串口1數據長度
  144.         }
  145.         if(TI)
  146.         {
  147.          TI = 0;
  148.      uart1Sending = 0;
  149.         }        

  150.   
  151. }

復制代碼





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

使用道具 舉報

沙發
ID:95648 發表于 2015-11-13 15:43 | 只看該作者
不錯啊,大神,還能不能再少點下載分。。
回復

使用道具 舉報

板凳
ID:95659 發表于 2015-11-13 16:20 | 只看該作者
我要這個芯片資料,謝謝了。。。我掃描。。
回復

使用道具 舉報

地板
ID:95659 發表于 2015-11-15 10:48 | 只看該作者
丟個聯系方式唄,大神。。
回復

使用道具 舉報

5#
ID:86796 發表于 2015-11-19 21:20 | 只看該作者
我想起了小電臺,哈哈
回復

使用道具 舉報

6#
ID:102697 發表于 2016-1-10 22:03 | 只看該作者
樓主可以問你幾個問題嗎
回復

使用道具 舉報

7#
ID:111164 發表于 2016-3-28 17:41 | 只看該作者
求資料!
回復

使用道具 舉報

8#
ID:72088 發表于 2016-9-25 16:53 | 只看該作者
高人,我想搞收音機了,自己娛樂下
回復

使用道具 舉報

9#
ID:105534 發表于 2016-9-29 13:30 | 只看該作者
樓主高手,這個是不是可以做雙工對講機
回復

使用道具 舉報

10#
ID:148440 發表于 2016-11-18 13:22 | 只看該作者
頂一頂,下載玩
回復

使用道具 舉報

11#
ID:148650 發表于 2016-11-18 14:02 | 只看該作者
感謝樓主分享學習了
回復

使用道具 舉報

12#
ID:276348 發表于 2018-1-15 20:13 | 只看該作者
我就是想做一個單片機的收音機。
回復

使用道具 舉報

13#
ID:301718 發表于 2018-4-3 21:21 | 只看該作者
就需要這個
回復

使用道具 舉報

14#
ID:145036 發表于 2019-4-9 12:29 | 只看該作者
收發頻率范圍能夠超出不?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费视频成人国产精品网站 | 天天爽网站 | 超碰在线人人 | 亚洲五码在线 | 成人特区| 国产精品一区二区三区四区 | 日韩成人一区 | 日韩欧美精品一区 | 国产一区 | av网站在线看 | 亚洲午夜视频在线观看 | a毛片| 91精品国产美女在线观看 | 妖精视频一区二区三区 | 欧美夜夜 | 国产麻豆乱码精品一区二区三区 | 紧缚调教一区二区三区视频 | 欧美极品在线观看 | 1级黄色大片| 在线观看三级av | 99热碰 | 日韩午夜激情 | 亚洲日产精品 | 武道仙尊动漫在线观看 | 亚洲一二三在线观看 | 精品亚洲一区二区 | 久久久亚洲 | av中文字幕在线观看 | 成人欧美一区二区三区黑人孕妇 | 四季久久免费一区二区三区四区 | 伊人精品在线视频 | 成人深夜福利 | 国产一区二区影院 | 四虎最新地址 | av在线电影网站 | 手机看片1 | 黄色一级大片在线免费看产 | 又黑又粗又长的欧美一区 | 成人超碰 | a视频在线观看 | 日韩精品在线一区 |