找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3194|回复: 0
收起左侧

给 ALINCO DR620 加装通话结束信令板

[复制链接]
ID:72705 发表于 2015-1-24 02:40 | 显示全部楼层 |阅读模式

通联的时候经常听到用moto台子的ham有通话结束应,自己开始弄不明白这个东西怎么搞的,然后把手咪拆开看了下,决定引一个音频信号到mic引脚,这个信号由单片机来产生,这样的话可以灵活改变语音结束的提示音了,今天画的板子回来了,呵呵,上图。


这个是焊接后的图,垃圾呀,好好地东西糟蹋了,没有细焊锡丝,1.2mm焊的,水品也不怎么地,就搞成这个样子了
      

为了追求小体积,便于安装所以都用贴片了,除了那个12M晶振。
下面这个是和手咪里的主板连接好后的样子,没有热缩管了,用胶布搞了。




组装后的样子




呵呵,电路板后面加了一段塑料管,为了加重手咪分量的那个铁板没去掉。
塑料管用的就是中心笔芯的一段



就这些了,呵呵。现在结束通话的时候,有短促的三下“滴”声,觉得挺好玩的。
下面是电路图



那个三极管只是为了做封装,用的是78L05,位置预留,因为有好多机型的手咪是8V的,要降压的。
下面给个测试程序,就是我用的程序,以后的都会在这个上面改进的。
#include

unsigned char bb=0,dis_buf[3];
unsigned int sec1s=0,sec; //定时初始时间
bit f;//运行标志位
sbit spk=P1^4; //音频
sbit k=P1^6; //接按键
sbit GND=P1^7;//接按键连接线

void delayms(unsigned int ms)
{      
unsigned int i;
while(ms--)
    for(i = 0; i < 30; i++);
}

void DD(void)
{
unsigned char b=0;
for(b=0;b<50;b++)
{
     spk= ~ spk;
delayms(1);
    }
delayms(90);
for(b=0;b<120;b++)
{
     spk= ~ spk;
delayms(1);
    }
      delayms(90);
for(b=0;b<120;b++)
{
     spk= ~ spk;
delayms(1);
    }

}
main(void)
{

while(1)
{
if(k==0)
    {
      delayms(1);
    GND=0;
    while(!k);
    DD(); spk=1;
    delayms(10);
    GND=1;
     }

    }
}
搞定了,吃饭去,分享快乐!!
73送给大家。


回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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