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

共8条 1/1 1 跳转至

芊菱草的功放DIY进程贴

菜鸟
2015-03-13 21:23:39     打赏

11号就收到套件了,看到PCB没有镀锡,同事都说是简单的铺铜,后来论坛上说是质量非常好的板子,工艺沉金的。迫不及待的等待下班。。

第一步完成焊接,利用晚上的空闲时间,焊接了一部分,不是在学校里的时候了,时间比较充分,上班的时候时间比较少。利用晚上休息时间焊接了一部分,只是没有丝印,感觉焊接起来有些麻烦


菜鸟
2015-03-14 21:24:52     打赏
2楼

正好周末,有时间把全部的元件焊接好,通电测试,没问题,开始灌程序,程序是论坛提供的测试程序,开始下载不进去,后来看到论坛有朋友也遇到这个问题了,的确通信线的电流足以让单片机跑起来,后来换了根线解决了问题。最后连接好电脑,书架音箱,测试OK

连接好的板子

看到论坛上有些朋友说有问题的,在这里顺便说一下,论坛上提供的套件没有问题,一次性测试通过。


院士
2015-03-16 09:47:23     打赏
3楼
嘻嘻,不错~~~

菜鸟
2015-03-22 13:57:59     打赏
4楼
在这里首先要向论坛及各位支持功放DIY的工作人员道歉,刚刚把套件焊接好就被安排出差,没有来得及上传进度,周五的下午回来,自己建立MCU的软件工程,想把调试代码上传,发现工业园的网络瘫痪,没法上网,光纤被施工队挖断了,截止到现在,网络刚刚恢复正常,综上原因,这个周没有上传帖子,不过我会以电子爱好者的心态,技术心态,保证帖子技术质量的前提下完成论坛规定的任务。

菜鸟
2015-03-22 14:13:41     打赏
5楼
#include<STC15F2K60S2.h>
#define uc unsigned char
#define ui unsigned int

sbit LED = P1^5;   				 
sbit IR_INT0 = P3^2;        	//红外	  
sbit KEY_SUB = P1^2;  			//调音按键
sbit KEY_ADD = P1^3;  
sbit KEY_MUTE = P1^1;   
sbit CHECK = P1^0;  			//检测音频线有没有接入
sbit MUTE = P1^4;  				//功放静音    
sbit CLOCK = P3^3;  			//MCU调音量
sbit UPDOWN = P3^6;  
  								//还有几个全局变量,主要是存功放和按键状态的
uc uup=0;   					//有连续按键时用  
uc IRtimer;  
uc phonejack;    				//有没有音频线状态  
uc MUTEstate = 0;    			//MUTE状态  
  
        						//配置功放关开IO,
								//P1.4=1时是关功放,=0时是开功放  
	P1M1&=~(1<<4);       		//P1.4(MUTE)推挽  
    P1M0|=(1<<4);  
    MUTE = 1;  
void Delay_ms(ui z)				//延时1MS子函数
{
	ui x,y;
	for(x=z;x>0;x--)
		for(y=567;y>0;y--);
}
void main()
{
	while(1)
	{
		
	}
} 

 以上代码是建立好的工程及功放必须要的代码,包含宏定义端口定义等。。。。其中延时子函数没有用示波器看,所以y=567也是不准确的,回头使用示波器调整好在告诉大家。


菜鸟
2015-03-22 14:53:16     打赏
6楼
/////////////////////////////////控制音量加   
void Volume_add(void)  
{  
    uc iadd = 5;  
    UPDOWN = 1;  
    while(--iadd)  
        Delay_ms(1);  
    CLOCK = 0;  
    iadd = 5;  
    while(--iadd)  
        Delay_ms(1);  
    CLOCK = 1;  
}   
/////////////////////////////////控制音量减  
void Volume_sub(void)  
{  
	uc isub = 5;  
	  UPDOWN = 0;  
	  while(--isub)  
	    Delay_ms(1);  
	  CLOCK = 0;  
	  isub = 5;  
	  while(--isub)  
	    Delay_ms(1);  
	  CLOCK = 1;  
}   

 这部分代码是参考论坛里稍作修改而来,代码应该具有自己 的风格,但不是不堪阅读。下一步写出按键的扫描程序就可以下载调试了,至于红外程序,计划放在最后。


菜鸟
2015-03-25 22:47:05     打赏
7楼



菜鸟
2015-03-25 22:48:37     打赏
8楼
今天晚上为了以后调试红外程序,知道红外对时序很敏感,所以特意加上示波器看一下延时程序单位为1MS的子函数,在STC15W204s这块单片机里,默认的内部晶振11.0592MHz,延时延时函数void Delay_ms(ui z) //延时1MS子函数
{
ui x,y;
for(x=z;x>0;x--)

for(y=840;y>0;y--);

这样的Y=840,为精确延时1MS的子程序,延时几毫秒在调用的时候写上就可以了,这是测试环境,5V单独给MCU供电,泰克2465A示波器,


共8条 1/1 1 跳转至

回复

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