心形流水灯 STC89C52电子制作焊接套件单片机程序设计0DOC.docx
- 文档编号:23747241
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:27
- 大小:167.56KB
心形流水灯 STC89C52电子制作焊接套件单片机程序设计0DOC.docx
《心形流水灯 STC89C52电子制作焊接套件单片机程序设计0DOC.docx》由会员分享,可在线阅读,更多相关《心形流水灯 STC89C52电子制作焊接套件单片机程序设计0DOC.docx(27页珍藏版)》请在冰豆网上搜索。
心形流水灯STC89C52电子制作焊接套件单片机程序设计0DOC
51单片机心形流水灯电路图
说明:
电路分两个部分:
51单片机最小系统,31只LED发光二极管和限流电阻。
U1采用目前学习单片机最常用的STC89C52RC。
P1是USBB型座,主要是使用USB数据线方便的为电路提供+5V电源。
S1是具有自锁功能的6脚的8X8大小的开关,用来控制电源的通断。
C1、R9构成单片机的自动上电复位。
C2、C3、Y1是单片机的振荡电路外接的起振电容和石英晶体。
C4电源退藕电容。
S2是轻触按钮开关,连接在P3.2/INT0,通过编程,可以调整设置切换心形流水灯的各种模式。
P2是4Pin插针,连接电源和P3.0、P3.1,可以用下载线方便下载更新程序,可以不安装。
D1——D31,是31个3mm红色发光二极管,在线路板上排列成心形,可以将发光颜色更换为其他颜色。
R1——R8、R10——R32为限流电阻,控制通过二极管的电流,避免过大电流烧毁发光二极管。
元件参数:
D1——D313mm红色发光二极管
R1——R8、R10——R32八分之一瓦电阻,680欧姆
U1DIP40封装的STC89C52RC单片机
C1、C410uF/50V电解电容
C2、C330pF瓷片电容
Y111.0592MHz晶振
R94.7K欧姆电阻
元件放置分布图
说明:
在安装元件时,可以最先安装LED发光二极管,注意二极管的极性方向。
新的二极管长引脚的电极是阳极,如果剪过引脚,要是用万用表判断出来阴极和阳极。
在AltiumDesigner的PCB图中,整个圆形中有切掉部分圆弧的一侧是阴极。
如上图所示。
底层布线连接图(底视)
底层布线连接图(顶视)
说明:
焊接上元件后,先不要盲目的慌着剪去多余的过长引脚,可以考虑将长出的引脚折弯与其他含盘点相连。
绕行元的,有交叉的可以考虑使用带绝缘的单芯镀锡线进行连接。
具有5种模式轮流显示的心形流水灯单片机C51源程序。
#include
sbitx1=P0^7;
sbitx2=P0^6;
sbitx3=P0^5;
sbitx4=P0^4;
sbitx5=P0^3;
sbitx6=P0^2;
sbitx7=P0^1;
sbitx8=P0^0;
sbitx9=P1^0;
sbitx10=P1^1;
sbitx11=P1^2;
sbitx12=P1^3;
sbitx13=P1^4;
sbitx14=P1^5;
sbitx15=P1^6;
sbitx16=P1^7;
sbitx17=P3^0;
sbitx18=P3^1;
sbitx19=P3^3;
sbitx20=P3^4;
sbitx21=P3^5;
sbitx22=P3^6;
sbitx23=P3^7;
sbitx24=P2^0;
sbitx25=P2^1;
sbitx26=P2^2;
sbitx27=P2^3;
sbitx28=P2^4;
sbitx29=P2^5;
sbitx30=P2^6;
sbitx31=P2^7;
voiddelay2ms()
{
unsignedinti;
i=12000;
while(i--);
}
voidMode_1()
{
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
P0=0;
P1=0;
P2=0;
P3=0;
delay2ms();
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
P0=0;
P1=0;
P2=0;
P3=0;
delay2ms();
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
x1=0;delay2ms();
x2=0;delay2ms();
x3=0;delay2ms();
x4=0;delay2ms();
x5=0;delay2ms();
x6=0;delay2ms();
x7=0;delay2ms();
x8=0;delay2ms();
x9=0;delay2ms();
x10=0;delay2ms();
x11=0;delay2ms();
x12=0;delay2ms();
x13=0;delay2ms();
x14=0;delay2ms();
x15=0;delay2ms();
x16=0;delay2ms();
x31=0;delay2ms();
x30=0;delay2ms();
x29=0;delay2ms();
x28=0;delay2ms();
x27=0;delay2ms();
x26=0;delay2ms();
x25=0;delay2ms();
x24=0;delay2ms();
x23=0;delay2ms();
x22=0;delay2ms();
x21=0;delay2ms();
x20=0;delay2ms();
x19=0;delay2ms();
x18=0;delay2ms();
x17=0;delay2ms();
x16=0;delay2ms();
}
voidMode_2()
{
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
P0=0;
P1=0;
P2=0;
P3=0;
delay2ms();
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
P0=0;
P1=0;
P2=0;
P3=0;
delay2ms();
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
x16=0;
x17=0;delay2ms();
x15=0;
x18=0;delay2ms();
x14=0;
x19=0;delay2ms();
x13=0;
x20=0;delay2ms();
x21=0;
x12=0;delay2ms();
x11=0;
x22=0;delay2ms();
x23=0;
x10=0;delay2ms();
x9=0;
x24=0;delay2ms();
x8=0;
x25=0;delay2ms();
x26=0;
x7=0;delay2ms();
x27=0;
x6=0;delay2ms();
x5=0;
x28=0;delay2ms();
x29=0;
x4=0;delay2ms();
x3=0;
x30=0;delay2ms();
x31=0;
x2=0;delay2ms();
x1=0;delay2ms();
}
voidMode_3()
{
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
P0=0;
P1=0;
P2=0;
P3=0;
delay2ms();
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
P0=0;
P1=0;
P2=0;
P3=0;
delay2ms();
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
x1=0;delay2ms();
x2=0;delay2ms();
x3=0;delay2ms();
x4=0;delay2ms();
x5=0;delay2ms();
x6=0;delay2ms();
x7=0;delay2ms();
x8=0;delay2ms();
x9=0;delay2ms();
x10=0;delay2ms();
x11=0;delay2ms();
x12=0;delay2ms();
x13=0;delay2ms();
x14=0;delay2ms();
x15=0;delay2ms();
x16=0;delay2ms();
x16=0;delay2ms();
x17=0;delay2ms();
x18=0;delay2ms();
x19=0;delay2ms();
x20=0;delay2ms();
x21=0;delay2ms();
x22=0;delay2ms();
x23=0;delay2ms();
x24=0;delay2ms();
x25=0;delay2ms();
x26=0;delay2ms();
x27=0;delay2ms();
x28=0;delay2ms();
x29=0;delay2ms();
x30=0;delay2ms();
x31=0;delay2ms();
x1=1;delay2ms();
x2=1;delay2ms();
x3=1;delay2ms();
x4=1;delay2ms();
x5=1;delay2ms();
x6=1;delay2ms();
x7=1;delay2ms();
x8=1;delay2ms();
x9=1;delay2ms();
x10=1;delay2ms();
x11=1;delay2ms();
x12=1;delay2ms();
x13=1;delay2ms();
x14=1;delay2ms();
x15=1;delay2ms();
x16=1;delay2ms();
x16=1;delay2ms();
x17=1;delay2ms();
x18=1;delay2ms();
x19=1;delay2ms();
x20=1;delay2ms();
x21=1;delay2ms();
x22=1;delay2ms();
x23=1;delay2ms();
x24=1;delay2ms();
x25=1;delay2ms();
x26=1;delay2ms();
x27=1;delay2ms();
x28=1;delay2ms();
x29=1;delay2ms();
x30=1;delay2ms();
x31=1;delay2ms();
}
voidMode_4()
{
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
P0=0;
P1=0;
P2=0;
P3=0;
delay2ms();
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
P0=0;
P1=0;
P2=0;
P3=0;
delay2ms();
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
x1=0;delay2ms();
x2=0;x31=0;delay2ms();
x3=0;x30=0;delay2ms();
x4=0;x29=0;delay2ms();
x5=0;x28=0;delay2ms();
x6=0;x27=0;delay2ms();
x7=0;x26=0;delay2ms();
x8=0;x25=0;delay2ms();
x9=0;x24=0;delay2ms();
x10=0;x23=0;delay2ms();
x11=0;x22=0;delay2ms();
x12=0;x21=0;delay2ms();
x13=0;x20=0;delay2ms();
x14=0;x19=0;delay2ms();
x15=0;x18=0;delay2ms();
x16=0;x17=0;delay2ms();
}
voidMode_5()
{
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
P0=0;
P1=0;
P2=0;
P3=0;
delay2ms();
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
P0=0;
P1=0;
P2=0;
P3=0;
delay2ms();
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
x1=0;delay2ms();
x2=0;delay2ms();
x3=0;delay2ms();
x4=0;delay2ms();
x1=1;x5=0;delay2ms();
x2=1;x6=0;delay2ms();
x3=1;x7=0;delay2ms();
x4=1;x8=0;delay2ms();
x5=1;x9=0;delay2ms();
x6=1;x10=0;delay2ms();
x7=1;x11=0;delay2ms();
x8=1;x12=0;delay2ms();
x9=1;x13=0;delay2ms();
x10=1;x14=0;delay2ms();
x11=1;x15=0;delay2ms();
x12=1;x16=0;delay2ms();
x13=1;x17=0;delay2ms();
x14=1;x18=0;delay2ms();
x15=1;x19=0;delay2ms();
x16=1;x20=0;delay2ms();
x17=1;x21=0;delay2ms();
x18=1;x22=0;delay2ms();
x19=1;x23=0;delay2ms();
x20=1;x24=0;delay2ms();
x21=1;x25=0;delay2ms();
x22=1;x26=0;delay2ms();
x23=1;x27=0;delay2ms();
x24=1;x28=0;delay2ms();
x25=1;x29=0;delay2ms();
x26=1;x30=0;delay2ms();
x27=1;x31=0;delay2ms();
x28=1;x1=0;delay2ms();
x29=1;x2=0;delay2ms();
x3=0;delay2ms();
}
voidMode_6()
{
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
P0=0;
P1=0;
P2=0;
P3=0;
delay2ms();
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
P0=0;
P1=0;
P2=0;
P3=0;
delay2ms();
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
x1=0;delay2ms();
x1=1;x31=0;x2=0;delay2ms();
x31=1;x2=1;x3=0;x30=0;delay2ms();
x3=1;x30=1;x4=0;x29=0;delay2ms();
x29=1;x4=1;x5=0;x28=0;delay2ms();
x5=1;x28=1;x6=0;x27=0;delay2ms();
x27=1;x6=1;x7=0;x26=0;delay2ms();
x26=1;x7=1;x8=0;x25=0;delay2ms();
x8=1;x25=1;x9=0;x24=0;delay2ms();
x9=1;x24=1;x10=0;x23=0;delay2ms();
x23=1;x10=1;x11=0;x22=0;delay2ms();
x11=1;x22=1;x12=0;x21=0;delay2ms();
x21=1;x12=1;x13=0;x20=0;delay2ms();
x13=1;x20=1;x14=0;x19=0;delay2ms();
x14=1;x19=1;x15=0;x18=0;delay2ms();
x15=1;x18=1;x16=0;x17=0;delay2ms();
//2
x1=0;delay2ms();
x1=1;x31=0;x2=0;delay2ms();
x31=1;x2=1;x3=0;x30=0;delay2ms();
x3=1;x30=1;x29=0;x4=0;delay2ms();
x29=1;x4=1;x5=0;x28=0;delay2ms();
x5=1;x28=1;x27=0;x6=0;delay2ms();
x27=1;x6=1;x26=0;x7=0;delay2ms();
x26=1;x7=1;x8=0;x25=0;delay2ms();
x8=1;x25=1;x9=0;x24=0;delay2ms();
x9=1;x24=1;x23=0;x10=0;delay2ms();
x23=1;x10=1;x11=0;x22=0;delay2ms();
x11=1;x22=1;x21=0;x12=0;delay2ms();
x21=1;x12=1;x13=0;x20=0;delay2ms();
x13=1;x20=1;x14=0;x19=0;delay2ms();
x14=1;x19=1;x15=0;x18=0;delay2ms();
//3
x1=0;delay2ms();
x1=1;x31=0;x2=0;delay2ms();
x31=1;x2=1;x3=0;x30=0;delay2ms();
x3=1;x30=1;x29=0;x4=0;delay2ms();
x29=1;x4=1;x5=0;x28=0;delay2ms();
x5=1;x28=1;x27=0;x6=0;delay2ms();
x27=1;x6=1;x26=0;x7=0;delay2ms();
x26=1;x7=1;x8=0;x25=0;delay2ms();
x8=1;x25=1;x9=0;x24=0;delay2ms();
x9=1;x24=1;x23=0;x10=0;delay2ms();
x23=1;x10=1;x11=0;x22=0;delay2ms();
x11=1;x22=1;x21=0;x12=0;delay2ms();
x21=1;x12=1;x13=0;x20=0;delay2ms();
x13=1;x20=1;x14=0;x19=0;delay2ms();
//4
x1=0;delay2ms();
x1=1;x31=0;x2=0;delay2ms();
x31=1;x2=1;x3=0;x30=0;delay2ms();
x3=1;x30=1;x29=0;x4=0;delay2ms();
x29=1;x4=1;x5=0;x28=0;delay2ms();
x5=1;x28=1;x27=0;x6=0;delay2ms();
x27=1;x6=1;x26=0;x7=0;delay2ms();
x26=1;x7=1;x8=0;x25=0;delay2ms();
x8=1;x25=1;x9=0;x24=0;delay2ms();
x9=1;x24=1;x23=0;x10=0;delay2ms();
x23=1;x10=1;x11=0;x22=0;delay2ms();
x11=1;x22=1;x21=0;x12=0;delay2ms();
x21=1;x12=1;x13=0;x20=0;delay2ms();
//5
x1=0;delay2ms();
x1=1;x31=0;x2=0;delay2ms();
x31=1;x2=1;x3=0;x30=0;delay2ms();
x3=1;x30=1;x29=0;x4=0;delay2ms();
x29=1;x4=1;x5=0;x28=0;delay2ms();
x5=1;x28=1;x27=0;x6=0;delay2ms();
x27=1;x6=1;x26=0;x7=0;delay2ms();
x26=1;x7=1;x8=0;x25=0;delay2ms();
x8=1;x25=1;x9=0;x24=0;delay2ms();
x9=1;x24=1;x23=0;x10=0;delay2ms();
x23=1;x10=1;x11=0;x22=0;delay2ms();
x11=1;x22=1;x21=0;x12=0;delay2ms();
//6
x1=0;delay2ms();
x1=1;x31=0;x2=0;delay2ms();
x31=1;x2=1;x3=0;x30=0;delay2ms();
x3=1;x30=1;x29=0;x4=0;delay2ms();
x29=1;x
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 心形流水灯 STC89C52电子制作焊接套件单片机程序设计0DOC 流水 STC89C52 电子 制作 焊接 套件 单片机 程序设计 DOC
![提示](https://static.bdocx.com/images/bang_tan.gif)