通联的时候经常听到用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送给大家。
|