找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7866|回复: 11
打印 上一主题 下一主题
收起左侧

我的第一台DSP收音机(AKC6955)

  [复制链接]
跳转到指定楼层
楼主
ID:688914 发表于 2020-1-31 09:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
记得我做收音机还是在读小学时,用一个二极管接一条长长的电线再接一个耳机,几乎听不到什么东西。但是觉得很神奇,想知道得更多些,从此爱上电子技术。当然那时候也喜欢航模什么的,超喜欢一本杂志是《中学科技》,还有《电子世界》《无线电》,里面介绍了很多电子知识。可能因为看多了,很多电路方面的原理都是自己悟出来的。装的第一台7管收音机是在读高二时,在杂志上看到有黄河741套件,就买回来装了。想想是三十年 前了的事情了。当时听到收音响起来有多激动。
重新想起收音机是几个月前的事。不知道为什么,只是突然想听收音机了,就在网上搜相关资料。之前看到的数字收音都只是加了数字显示功能。收音电路部分还是模拟的,并没有什么吸引我的。但看到DSP收音后才知道,原来通信技术真的发展到软件通信阶段了。基本上所有功能都通过单片机运算实现,已经成了一台计算机了,真太神奇了。这又激起了我的兴趣。想着自己装一台,再自己定制界面,没事再改改程序,好爽啊。在矿坛里看到sudywolf大牛的帖子,所有资料都共享出来,太好了,非常感谢这些无私的人。只是sudywolf大牛当时给出的是触摸屏控制的代码。我手头只有按键和1602。完全用他的代码不行。就根据他给出的资料改成现在这个样子。用着感觉挺好。以后还可以再增加功能,很好玩。先发出来给大家看看。
代码也发出来,只有2个文件,有需要可以下载参考。里面有注释,很好懂。功能不多,只有向前搜台,音量增减。读懂后可以断续增加其他功能。
制作出来的实物图如下:


单片机源程序如下:
  1. #include <Arduino.h>
  2. #include <EEPROM.h>
  3. #include <Wire.h>
  4. #include <LiquidCrystal.h>
  5. #include "akc6955.h"

  6. AKC6955_RADIO radio;
  7. //设置针脚。音量用芯片上电位器控制电路
  8. //byte pinSS=8; //自动搜所有台并保存按键
  9. byte pinNext=10; //下一个台按键
  10. byte pinPrev=11; //上一个台按键
  11. //byte pinBand=9; //波段按键
  12. byte pinVoldec=12; //音量减
  13. byte pinVoladd=8;  //音量加
  14. byte val;
  15. void setup(void)
  16. {
  17.   lcd.begin(16,2);
  18.   radio.Initialize();
  19.   //pinMode(pinSS,INPUT_PULLUP);//扫描全部并保存。INPUT_PULLUP使用内部上拉电阻
  20.   pinMode(pinNext,INPUT_PULLUP);//next
  21.   pinMode(pinPrev,INPUT_PULLUP);//prev
  22.   //pinMode(pinBand,INPUT_PULLUP);//band  
  23.   pinMode(pinVoldec,INPUT_PULLUP);  
  24.   pinMode(pinVoladd,INPUT_PULLUP);
  25. }
  26. void loop()
  27. {  
  28.   val=digitalRead(pinNext);
  29.     if (val==LOW)
  30.    {
  31.     delay(80);
  32.     if (val==LOW) radio.Seek(1);//搜索下一个台
  33.    }
  34.     val=digitalRead(pinPrev);
  35.     if (val==LOW)
  36.    {
  37.     delay(80);
  38.     if (val==LOW) radio.Seek(0); //搜索下一个台
  39.    } //搜索上一个台   
  40.    /* val=digitalRead(pinBand);
  41.     if (val==LOW)         //下一个波段
  42.     {
  43.       delay(80);
  44.       if (val==LOW)
  45.       {while(bcount++>3) bcount=0;
  46.       radio.band_cursor = (++ radio.band_cursor)  % BAND_COUNT ;
  47.       radio.switchBand(radio.band_cursor);
  48.       }
  49.   }  */
  50.    val=digitalRead(pinVoldec);  
  51.    if(val==LOW)
  52.    {
  53.      delay(80);
  54.      if (val==LOW&&(radio.reg6.sound_volume-23) >= 1)   //音量减少
  55.         radio.setVolume(--radio.reg6.sound_volume);   
  56.    }
  57.    val=digitalRead(pinVoladd);
  58.     if(val==LOW)
  59.     {delay(80);
  60.       if (val==LOW&&(radio.reg6.sound_volume-23) < 40)  //音量增加
  61.             radio.setVolume(++radio.reg6.sound_volume);
  62.     }
  63.    delay(100);
  64. }
复制代码

部分程序下载(不完整):
My6955.zip (6.07 KB, 下载次数: 64)



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:395930 发表于 2020-3-23 18:08 | 只看该作者
我下载了好像程序接口定义不清楚,有接线图和新程序发一份多谢。
回复

使用道具 举报

板凳
ID:143767 发表于 2021-3-2 16:33 | 只看该作者
你好楼主,有接线原理图可否发附件一份,谢谢
回复

使用道具 举报

地板
ID:795562 发表于 2021-4-4 18:17 | 只看该作者
你可以写一个Arduino开发板控制si4732的程序吗?
回复

使用道具 举报

5#
ID:795562 发表于 2021-4-4 18:19 | 只看该作者
楼主你可以写一个Arduino开发板控制si4732芯片的收音机程序吗?
回复

使用道具 举报

6#
ID:937433 发表于 2021-6-14 18:06 | 只看该作者
Wow nice project... i needed it
回复

使用道具 举报

7#
ID:138707 发表于 2021-7-3 21:02 | 只看该作者
你好楼主,有接线原理图可否发附件一份,谢谢
回复

使用道具 举报

8#
ID:780108 发表于 2021-8-7 17:29 | 只看该作者
bfzy123 发表于 2021-4-4 18:19
楼主你可以写一个Arduino开发板控制si4732芯片的收音机程序吗?

阿二都落有现成的例子啊
回复

使用道具 举报

9#
ID:370231 发表于 2021-8-13 15:10 | 只看该作者
AKC6955

akc6955_V3.0_2015_3_2.pdf

1.45 MB, 下载次数: 37, 下载积分: 黑币 -5

回复

使用道具 举报

10#
ID:1064915 发表于 2023-5-9 08:48 | 只看该作者
有DSP收音机的keil c资料吗?
回复

使用道具 举报

11#
ID:658914 发表于 2023-5-12 13:20 来自手机 | 只看该作者
同样的经历啊
回复

使用道具 举报

12#
ID:1064915 发表于 2023-7-2 15:43 | 只看该作者
BK1088E可以用吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表