这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » finema MCU DIY进度帖

共11条 1/2 1 2 跳转至

finema MCU DIY进度帖

助工
2011-11-29 22:00:39     打赏

今天收到板子了,见图,手机拍的不是很清楚。

准备开始器件采购,器件一到就可以焊板了。

非常荣幸能和600人一起学习,感谢EEPW 提供这次机会。




关键词: finema     进度    

院士
2011-11-29 22:11:44     打赏
2楼
图片有点大,给你编辑了一下,以后发帖注意啊

助工
2011-12-04 09:24:37     打赏
3楼
明白,下次会注意。

助工
2011-12-04 10:16:31     打赏
4楼

前2天已经收到了,梦缘电子http://item.taobao.com/item.htm?id=13314689221的器件快递了(早知道店家在深大的话,我就自己过去拿了),店家不错,有知识,有经验。收到的主要器件见下图。


昨天星期六,有时间开工了,在网上百度了一下,焊接的方法和注意事项,下午4点开始动手焊版,焊接技术不够娴熟(焊接贴片元件确实比较费劲),花了6个小时,只焊了五分之一,成果见下图。


焊接元件的次序,以:先内后外、先低向高的原则为益。具体焊接的手法,可以看一下这2篇文章,
《电烙铁钎焊工具介绍和简易元件焊接顺序方法》
http://hi.baidu.com/mengxiang9/blog/item/8e8a1710427932dcf7039eb0.html
《电路板焊接方法》
http://www.360doc.com/content/10/1129/20/1634837_73528125.shtml

对于初学者,遇到管脚正负极不清楚的,还是先到网上查清楚再焊(google,baidu是个好老师)。


在焊板的过程中,发现板子有个地方不够完美,就是留给C1的空间不够大,使得C1焊上去后,会和power LED、C2挤在一起,不够合理,也不美观,希望eepw以后能改进。

今天星期天,继续焊板。


助工
2011-12-07 21:07:50     打赏
5楼

补一下星期天(2011-12-04)的工作成果。花了一天,又焊了一些器件。见下图。


助工
2011-12-07 21:19:03     打赏
6楼

昨晚(2011-12-06)终于把板子焊完了(剩液晶没弄),怕板子没焊好,没敢直接把MCU直接放上),通了电,发现LED2和Power LED 的灯都亮着,以为是哪里出了问题,咨询了梦之旅,说是正常现象。由于太晚了,没继续弄下去,今晚回来再仔细检查一下电路和原理图,确认没问题,把CPU 插上,通电,成功!流水灯跑起来了。


今晚开始可以调程序了。


院士
2011-12-07 21:19:44     打赏
7楼
不错,赞一个

助工
2011-12-11 12:39:21     打赏
8楼

今天,用汇编语言写了第一个程序代码,让板上的LED2~LED9,来回点亮。

到今天为止,算是个里程碑了,也就是入门了,以后的路还长着。

代码如下:

;完成功能:端口1的所有位来回拨动
 ORG 0
 MOV A,#55h ;将55H加载到A
HERE: 
 MOV P1,A ;送A到端口1
 ACALL DELAY1S ;调用时间延迟 子程序
 CPL A  ;对寄存器求反
 SJMP HERE

;12M晶振,使用定时器1,大概延时1秒
DELAY1S:
 MOV TMOD,#10H ;定时器1,模式1
 MOV R3,#15 ;延迟的计数器
AGAIN:
 MOV TL1,#0
 MOV TH1,#0
 SETB TR1 ;启动定时器1
BACK:
 JNB TF1,BACK ;停留在此直至定时器翻转
 CLR TR1  ;停止定时器1
 CLR TF1  ;定时器1标志清零
 DJNZ R3,AGAIN ;若R3 不为零,则定时器重新加载
 RET

 END


专家
2011-12-11 12:47:32     打赏
9楼

很久没人写汇编程序了!!


助工
2011-12-18 16:18:24     打赏
10楼

用 C 重写了一下。

#include <reg51.h>

void Delay1S(unsigned int);
/*------------------------------------------------
                    主函数
------------------------------------------------*/
void main(void)
{
 P1=0x55;
 //端口1的所有位来回拨动
 while (1)
 {
  P1=~P1;
  Delay1S(1);  
 }
}

/*------------------------------------------------
延时1秒函数
参数:nTime   延时的次数,默认1次
注意:使用定时器0,12M晶振
------------------------------------------------*/
void Delay1S(unsigned int nTime)
{
 unsigned int i;
 unsigned int nCount;
 for (i=0;i<nTime;i++) 
 {
  for (nCount=0;nCount<1000;nCount++)
  {
   TMOD = 0x01;     //定时器0,模式1
   TL0=0x18;
   TH0=0xFC;
   TR0=1;    //开启T0
   while (TF0 == 0);  //停留在此直至定时器翻转
   TR0=0;    //关闭T0
   TF0=0;    //TF0清零
  }
 }
}


共11条 1/2 1 2 跳转至

回复

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