这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » lijunbo的功放进程贴

共7条 1/1 1 跳转至

lijunbo的功放进程贴

菜鸟
2015-03-23 17:47:21     打赏

星期五下班后收到了板子,今天迫不及待的拿到了公司暴力拆开:拆开包裹后的样子


准备焊接:


焊完贴片元件后的样子:

请忽略我的焊工。。。。。


自己申请的板子,含着泪也要焊完

焊接完成


不知道是因为心情激动,还是因为心情激动,焊接时手抖个不停(抖个毛线啊 ),请忽略我的焊工吧。。。。。。




关键词: lijunbo     功放     进程    

院士
2015-03-24 09:15:28     打赏
2楼
暴力,要动锤子,动斧子!

菜鸟
2015-03-24 16:35:44     打赏
3楼

今天写了几行程序下载一下试试看

按键服务程序和红外都还没有写。

1.设置的音量保存到EEPROM,下次启动时自动读取上次的音量值

2.使用TO定时器,每5ms扫描一次按键。

3.程序使用自带看门狗

4.将红外功能加入

程序下载死活不能成功,看了一下连接没有错误,后来看了一下原理图,由于R21未使用,在没有外接12v电源的情况下,单片机vcc与下载器断开,找了一把镊子接在R21上面,程序顺利下载成功


菜鸟
2015-03-27 11:11:15     打赏
4楼
为什么音频插头检测不到?我用的是美标,插入后死活检测不到输入

菜鸟
2015-05-16 16:03:52     打赏
5楼

由于最近工作一直很忙,很久都没有调试了

今天把之前做的进展发布一 下。

程序输入之后,找了很久都没有合适的音响设备,结果找到了一个大喇叭

装了上去试听了一下王菲的 匆匆那年

感觉还可以,就是音量大了喇叭有点爆音



菜鸟
2015-05-16 16:34:29     打赏
6楼

菜鸟
2015-05-17 23:55:52     打赏
7楼
功放diy.rar


2015.5.17日更新:

增加红外遥控功能(程序支持将接收到的红外键码发送到串口显示),只要打开串口,设置波特率为9600,按下遥控器按键就能在串口中读取到接收的键码,方便使用不同的遥控器

增加静音状态记忆功能

void ReadIr() interrupt 0
{
	unsigned char j,k;
	unsigned int err;
	if(IRIN==0)		//确认是否真的接收到正确的信号
	{	 	
		err=0;				//1000*10us=10ms,超过说明接收到错误的信号
		while((IRIN==0)&&(err<100))	//等待前面9ms的低电平过去  		
		{			
			Delay100us();
			err++;
		}
		if(err==100)
		{
			err=0;
			IE0=0;
			return;
		}
	}
	if(IRIN==1)			 //等待4.5ms的起始高电平过去
	{
		err=0;
		while((IRIN==1)&&(err<45))		
		{
			Delay100us();
			err++;
		}
		if(err==45)
		{
			err=0;
				IE0=0;
			return;
		}
	}
	for(k=0;k<4;k++)		//共有4组数据
	{	
		for(j=0;j<8;j++)	//接收一组数据
		{
			while(IRIN)
			{
				Delay100us();
			}
			while(!IRIN)
			{
				Delay100us();
			}
			err=0;
			while((IRIN==1)&&(err<30))	 //计算高电平的时间长度。
			{
				Delay100us();
				err++;
			}		
			if(err>20)
			{
				err=0;
				IE0=0;
				return;
			}
			IrValue[k]>>=1;	 //k表示第几组数据
			if(err>=10)
			{
				IrValue[k]|=0x80;		
			}		
			err=0;		
		}
	}
	if(IrValue[2]!=~IrValue[3])
	{
		return;
	}
	switch(IrValue[2])			//0x47为静音键,0x15键音量-,0x09键音量+
	{							//使用其他按键请修改
		case 0x47:				
			Key_Num=1;
			break;
		case 0x15:
			Key_Num=2;
			break;
		case 0x09:
			Key_Num=3;
			break;
	}
	ComOutChar(IrValue[2]);
	IE0=0;
	}		

void ComOutChar(unsigned char OutData) //红外键码串口显示
{
	SBUF=OutData;
	while(!TI);
	TI=0;
}

 





共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]