这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » ice9的功放DIY进程帖【完成触摸屏远程控制 更新STC15单片机例程下载】

共11条 1/2 1 2 跳转至

ice9的功放DIY进程帖【完成触摸屏远程控制 更新STC15单片机例程下载】

助工
2015-03-10 16:12:55     打赏

3月31日完成无线串口控制,通过安装有无线模块的嵌入式开发板的触摸屏远程控制功放。

完成上位机串口控制。通过一个自己写的小软件来控制功放的音量。

 

STC单片机上还有很多资源可以使用,能用来增加DIY功放的功能,可以参考STC15系列例程: 

 http://share.eepw.com.cn/share/download/id/310448

 

收到元器件:http://forum.eepw.com.cn/thread/269279/1#2

开始焊接,点焊料:http://forum.eepw.com.cn/thread/269279/1#3

烧焊,清洗:http://forum.eepw.com.cn/thread/269279/1#4

完成焊接,下载程序:http://forum.eepw.com.cn/thread/269279/1#5

通过串口小软件控制,增加源代码:http://forum.eepw.com.cn/thread/269279/2#16

通过无线串口模块控制:http://forum.eepw.com.cn/thread/269279/2#19

实现触摸屏远程控制:http://forum.eepw.com.cn/thread/269279/3#21

 

 




关键词: 功放DIY    

助工
2015-03-10 16:15:34     打赏
2楼
3月9日上午收到货,原来以为会到15日以后才能收到,有点惊喜。零件包装的很仔细,电容电阻值都标出了。

助工
2015-03-10 16:29:36     打赏
3楼

3月10日开始焊接,由于板子上有两个底部有焊盘的芯片,所以采用点焊料烧焊。第一步先点焊料。

焊料点完了,开始放置元器件。这时候才发现PCB上虽然做了丝印层,但是把各个封装的名称隐藏了。由于要一个个在PCB文件上看对应的参数,于是做了张装配图,打印出来对照着弄,方便多了哟。 

http://share.eepw.com.cn/share/download/id/310403

然后就开始一个个放贴片元器件啦。

 


助工
2015-03-10 16:41:44     打赏
4楼

贴片元器件全都放好后,再仔细调整好每个元器件的位置,开始上加热台。

完成后将PCB冷却,稍微清理下多余的焊料。为了能一步到位,克服住暂时想偷懒的心,在显微镜下对芯片的引脚检查一下,有不到位的赶紧用烙铁修修补补。

 

确定了没什么问题了,为了让咱的功放板能干干净净的,再把板子拿到超声波清洗器里去除多余的助焊剂。

 

 


助工
2015-03-10 16:55:49     打赏
5楼

清洗完成后,放在通风处让洗板水吹干。再把两个大电容和几个接口焊到板子上,剪去多余的插脚,大功告成啦~~

下面到了最紧张的时刻了,上电检测。先用万用表量了芯片没有短路之后,小心翼翼的加电。LED灯点亮了,然后下了个简单的小程序,功放板上正常运行。一切OK喽~~今天的任务就算完成啦,有空开始调程序~~

 


助工
2015-03-11 15:42:13     打赏
6楼
我用的是keil 4,你可以下载版主的工程文件来调试: http://share.eepw.com.cn/share/download/id/279905

助工
2015-03-16 21:25:51     打赏
7楼
能出声音了,用的是版主的程序。

助工
2015-03-16 21:29:34     打赏
8楼
我用的是熔点183度的焊膏,里面已经有助焊成分了,平时放在冰箱里,用的时候挖一点出来。

助工
2015-03-17 16:57:03     打赏
9楼

电路板焊好之后有事耽误了一段时间,今天有空继续开工~~由于手边没有红外遥控,因此先写了一个电脑的上位机软件来控制DIY功放。

单片机的程序参考了版主的源代码,增加了串口控制部分。

#include
#include

#define MAIN_Fosc		11059200L	//定义主时钟
#define	RX1_Lenth		3			//串口接收缓冲长度
#define	BaudRate1		115200UL	//选择波特率


#define	Timer1_Reload	(65536UL -(MAIN_Fosc / 4 / BaudRate1))		//Timer 1 重装值, 对应300KHZ
#define	Timer2_Reload	(65536UL -(MAIN_Fosc / 4 / BaudRate1))		//Timer 2 重装值, 对应300KHZ

u8	TX1_Cnt;	//发送计数
u8	RX1_Cnt;	//接收计数
bit	B_TX1_Busy;	//发送忙标志

u8	idata RX1_Buffer[RX1_Lenth];	//接收缓冲
bit ReceiveBit;

void main(void)
{
	P1M1&=~(1<<4);		//P1.4(MUTE)推挽
	P1M0|=(1<<4);
	
	P_SW1 &= ~0xc0;
	SCON  = (SCON & 0x3f) | 0x40;
	AUXR &= ~(1<<4);	//Timer stop	特率使用Timer2产生
	AUXR |= 0x01;		//S1 BRT Use Timer2;
	AUXR |=  (1<<2);	//Timer2 set as 1T mode
	T2H = (u8)(Timer2_Reload >> 8);
	T2L = (u8)Timer2_Reload;
	AUXR |=  (1<<4);	//Timer run enable

	REN = 1;	//允许接收
	ES  = 1;	//允许中断
	EA = 1;		//允许全局中断

	LED = 1;

   while(1)
   {
		Scan_key();
		while(ReceiveBit==1)
		{
			if(RX1_Buffer[0]==0xEB&&RX1_Buffer[1]==0x90)
			{
				if(RX1_Buffer[2]==0x01) 
				{
					Volume_add();
					u_sstr("-1\n\r");
					flash_LED(20);
					ReceiveBit=0;
					RX1_Cnt = 0;
				}
				else if(RX1_Buffer[2]==0x02)
				{
					Volume_sub();
					u_sstr("+1\n\r");
					flash_LED(20);
					ReceiveBit=0;
					RX1_Cnt = 0;
				}
				else if(RX1_Buffer[2]==0x00)
				{
					MUTE = 1;
					u_sstr("0\n\r");
					flash_LED(20);
					ReceiveBit=0;
					RX1_Cnt = 0;
				}	
			}
		}
	}
}
	 
void UATR0_ISR(void)  interrupt 4
{
	if(RI)
	{
		RI=0;
		RX1_Buffer[RX1_Cnt]=SBUF;
		if(++RX1_Cnt >= RX1_Lenth)	ReceiveBit=1;
	}
}

 


助工
2015-03-31 13:17:54     打赏
10楼

串口控制已经实现,下面开始考虑实现远程遥控。手上正好有一对无线串口收发模块,采用5V供电,在功放DIY的下载电路上预留了一个5V输出,用一个0Ω电阻把预留的那两个焊盘连上即可。这样功放就可以想放哪放哪,放在看不见的角落里也没关系~~

 


共11条 1/2 1 2 跳转至

回复

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