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

共4条 1/1 1 跳转至

buton的MCU DIY进程帖

菜鸟
2011-11-08 22:24:27     打赏
最近正准备做51的开发,如果能申请到PCB就打算做一块,要是零件能提供个淘宝店可以自己选需要的零件就好了。
今天开始整理零件,由于不在百名之内也就没有补贴了,能节俭的就节俭吧!一切从简,今天回去找找以前做东西剩下的零件吧,先做一个220V转5V的电源。


电源的原理图如上图所示,7805和变压器是手头有的,变压器把220V转9V,然后经过全桥整流,稳压管稳压出来的就是5V电源了。先做好了当电源备用!
下图是做好的实物图:


图(2)

采购器件:已买到部分器件,随后会上资料
先到了一部分元件,另一部分还没有到,很担心能不能赶上PCB的到的时间,电阻电容之类的都用0402封装的啦!虽然板子用的是0805的封装,那就看我的焊接水平啦!
今天收到了PCB还有部分元件未到,先开始焊接一部分吧!看了看PCB的结构,边角都还是尖的,P1.0P1.1要是有个按键一键接地就好了,因为我用的是STC的片子。蜂鸣器和LED2都是直接连在一起的,要是有个跳线可选择就好了。
器件采买信息:

索引编号 元件 数量 描述 封装
B1 SPEAKER 1    
BT1 BATTERY 1 Battery  
C1 470uF 1 电容 c0402
C2, C4, C5, C6, C7 0.1uF 5 电容 c0402
C3, C10, C11 10uF 3 电容 c0402
C8, C9 30P 2 电容 c0402
D1 IN4007 1 二极管  
DIS1   1 单色点阵LED
DS1, DS2 共阴数码管 2 买错了,应该为0.36inch,买的0.56inch  
IR1,    1 红外LED  
J10 DB9 1 买错了,应该为母头,买的公头 DB-9/M
J17 ISP 1 ISP下载  
J9 DC-PORT 1 Connector  
LED1 Green 1 绿色贴片 r0805
LED2, LED3, LED4, LED5, LED6, LED7, LED8, LED9, LED12,   32 LED  
NTC1 NTC 1 没买到  
Q1 9014 1 NPN三极管 sot-32
R1 4.7K 1 电阻 r0402
R10, R18, R19 390 3 电阻 r0402
R2, R8, R9, R11, R12, R13, R14, R20, R21, R22 10K 12 电阻 r0402
RG1 RG 1 光敏电阻  
RL1 5V 1 继电器  
RP1 330 1 排阻 DIP-16
RP2 4.7K 1 排阻 DIP-16
S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12, S13, S14, S15, S16, S17, S18,  20 轻触开关  
SW1   1 排针代替  
U1 1602液晶 1 1602液晶  
U10 UL2003 1 没买到  
U11 74HC573 1    
U12 PCF8591 1 没买到  
U2 7805 1    
U3 74HC138 1    
U4 IR1308 1 HS0038红外接收  
U5 DS1302 1 时钟芯片  
U6 MAX3232 1 串口芯片  
U7 24C02 1 EP-ROM  
U8 18B20 1 温度传感器  
U9 MCU 1 STC89C51  
W1, W2,W5, W6 10K 20 电位器  
Y1 AXAL 1 32.768MHz  
Y2 12M 1 18.432MHz  
排阵   5    
USB转TTL开发小板   1    

在淘宝上买的,一次没有买齐,分两次购买的,一共花了差不多九十多块钱,实在太贵了,买不起,还有个别元件买错和漏买了,暂且不买了,花费太多了,先用手头的这些东西做点东西出来吧@!接下来焊接主板了!

焊接信息
经过我的一番奋战,板子焊接好了,调试成功运行:


看看我的焊接技术怎么样,电阻、电容全用的0402封装的





跑马灯运行成功稍后上效果

第1个功能:跑马灯

跑马灯代码:
//P1外接8个LED,低电平发光.

#include<STC89.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//-----------------------------
void delay_ms(uint s)
{
    uint x;
    for(s;s>0;s--)
 {
      for(x=100;x>0;x--);
 }
}
//主程序-----------------------------
void main()
{
 uchar  i, j;
 P1 = 0xFF;       //全灭, P1外接LED, 是低电平发光.
    while(1)
 {
      P1 = 0x7F;       //全灭, P1外接LED, 是低电平发光.
      delay_ms(100);  //稍等
      for(i = 0; i < 8; i++)
   {
    P1=_cror_(P1,1);
    delay_ms(100);   //延时
   }
 }
}
//-----------------------------


总算抽时间搞了一个功能,接下啦继续努力,主要是没时间,接下来要抽时间先把任务完成了。再做些自己喜欢的开发吧!
第2个功能:1602液晶成功显示
液晶的显示注意查Datasheet就行啦!有些字符并不是完全按照ASCii码的,这点需要注意。

第3个功能:时钟成功运行
由于数码管尺寸不对,就用液晶显示时间吧!

第4个功能:串口通信

第5个功能:光感应灯

下面是以上功能的代码,都在一个程序里实现了,有点长哦!下面继续,还可以有人性化的体验,继续完善中!


——回复可见内容——


第6个功能:测温度,并通过1602显示
由于LCD平时显示时间和日期,温度的显示是通过按键选择显示的只要按下S3键即可显示实时的温度,松开即可显示时间日期,便于观察。
调试成功,稍后上效果图。




关键词: buton     进程     时间     DS1302     时钟     功能         

菜鸟
2011-11-08 22:28:35     打赏
2楼
还真想从51学起,然后再学ARM呢!这次活动正和我意,希望能做出点东西来。

专家
2011-11-08 22:43:09     打赏
3楼
好,继续努力!!

高工
2012-01-06 14:37:11     打赏
4楼
看看

共4条 1/1 1 跳转至

回复

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