今天开始整理零件,由于不在百名之内也就没有补贴了,能节俭的就节俭吧!一切从简,今天回去找找以前做东西剩下的零件吧,先做一个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键即可显示实时的温度,松开即可显示时间日期,便于观察。
调试成功,稍后上效果图。