光立方电路原理图与其所需元件.docx
- 文档编号:8102776
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:13
- 大小:119.80KB
光立方电路原理图与其所需元件.docx
《光立方电路原理图与其所需元件.docx》由会员分享,可在线阅读,更多相关《光立方电路原理图与其所需元件.docx(13页珍藏版)》请在冰豆网上搜索。
光立方电路原理图与其所需元件
光立方电路原理图与其所需元件
锁车器主要用的是595锁车器,用usb插口供电。
这是用595的电路,材料清单如下:
1:
8个74HC595(封装为DIP—16);
2:
2个74HC04(封装为DIP—14);
3:
2个30PF的瓷介电容;一个10UF的电解电容;一个220UF的电解电容;
4:
一块89C516(单片机);
5:
每个芯片配套的座子;
6:
24MHZ或者12MHZ的晶振;
7:
1个1K,1个10K(都是碳膜电阻);
8:
一个按键开关,3个按键;
9:
最好买600个灯(一包也可以,比较便宜),因为焊接的时候可能会损坏,颜色随便你自己选择;
备注:
上面的3个按键可以只要1个,另外2个是我设计的外部中断,你可以不用它;同时我自己有开发板,所以我没有设计程序下载电路,全以最节省的方案为前提,你只要把单片机在开发板上下载好程序,再插到光立方上就好了。
同时画电路时每个芯片的电源引脚隐藏了,(595是8接负,16接正;7404是7接负,14接正.),还有注意电解电容的极性。
我是在板子上面安装了一个USB的接口供电。
这是用573的电路,材料清单如下:
1:
8个74HC573(封装为DIP—20);
2:
2个74HC04(封装为DIP-14);
3:
2个30PF的瓷介电容;2个10UF的电解电容;一个220UF的电解电容;
4:
一块89C516(单片机);
5:
芯片配套的座子;
6:
24或者12MHZ的晶振;
7:
1个1K,2个10K,8个500欧(都是碳膜电阻);
8:
一个按键开关,1个按键;
9:
最好买600个灯,因为焊接的时候可能会损坏(颜色随便你自己选择);
10:
你可以考虑买4个铜柱;
备注:
画电路时每个芯片的电源引脚隐藏了,(单片机是20接负,40接正;573是10接负,20接正;7404是7接负,14接正.),还有注意电解电容的极性.关于你接电源的问题是你自己的事,我是在板子上面安装了一个USB的接口供电。
还有就是这个电路我没有画全,因为全部都一样的:
就是:
1:
把8个573的2—9引脚对应接在一起;
2:
把8个573的11脚接在一起;
总结:
上面的2个电路,每个595或者573都有8个引脚没有接,那是用来接灯的负极的,8*8=64;7404的八个引脚是来接灯的正极的,8层就是8个引脚;同时最好把芯片按顺序依次的排列和连接,这样可以大大方便写程序。
次程序仅供参考。
#include #include〈intrins.h> #include”zimo。 h" #defineucharunsignedchar #defineuintunsignedint /**********************************************************************/ sbitDS=P1^0; /**********************************************************************/ /**********************************************************************/ sbitCLK=P1^1;//74HC595的SH—CP(11脚) sbitSTB=P1^2;//74HC595的时钟和输出锁存(12脚) /**********************************************************************/ /*坐标数组*/ /**********************************************************************/ ucharcodeshu[8]={0,1,2,3,4,5,6,7};//十进制数选 ucharcodex1[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//595数据 ucharcodey1[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//595使能 ucharcodez1[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//层扫描 /************************************************************************/ /*亮度调节延时*/ /************************************************************************/ voiddelay(unsignedinti) { unsignedintj; for(;i>0;i-—) { for(j=5;j〉0;j-—); } } /**********************************************************************/ /*ms延时*/ /**********************************************************************/ voiddelayms(ucharxms) { uchari,j; for(i=0;i〈xms;i++) { for(j=0;j<110;j++); } } /************************************************************************/ /*亮度调整*/ /************************************************************************/ /*voidPWM_LIGHT(unsignedcharp) { OE=0; delay(p); OE=1; delay(10—p); }*/ /***********************************************************************/ /*595发送一字节*/ /***********************************************************************/ voidSet595(unsignedcharxie) { unsignedchari; unsignedinttemp; temp=xie; for(i=0;i<8;i++) { if(temp&0x01) { DS=1; } elseDS=0; temp=temp〉>1; CLK=0; _nop_(); _nop_(); CLK=1;//移位上升沿有效? } } /**********************************************************************/ /**********************************************************************/ voiddis595(void) { STB=0; _nop_(); _nop_(); STB=1;//串行输出上升沿有效 } /**********************************************************************/ /**********************************************************************/ voidSet595_1(unsignedcharxie,unsignedcharxie1) { unsignedchari; for(i=0;i〈8;i++) { DS=xie&0x01; DS=xie1&0x01; DS=0; DS=1; xie〉>=1; xie1>>=1; //移位上升沿有效? } } /**********************************************************************/ /*倒计时*/ /**********************************************************************/ voiddaojishi(void) { uchari,j,k; for(j=0;j<8;j++) { for(k=0;k<60;k++) for(i=0;i<8;i++) { Set595(shuzi[7][i]); Set595(shuzi[6][i]); Set595(shuzi[5][i]); Set595(shuzi[4][i]); Set595(shuzi[3][i]); Set595(shuzi[2][i]); Set595(shuzi[1][i]); Set595(shuzi[0][i]); P1=y1[j]; P2=z1[7—i]; dis595(); } } } /**********************************************************************/ /*方框缩放*/ /**********************************************************************/ voidsuofang() { ucharx,y,z,w,e,r,a,s; for(y=0;y<8;y++) { for(x=0;x<8;x++) { if((z==0)&&(y==0)||(z==0)&&(y==7)) { P1=y1[y]; P2=z1[0]; Set595(x1[x]); dis595(); } } } for(e=0;e<8;e++) { for(r=0;r〈8;r++) { if((w==0)&&(e==0)||(w==0)&&(e==7)) { P1=y1[e]; P2=z1[r]; Set595(x1[0]); dis595(); } } } for(e=0;e<8;e++) { for(r=0;r<8;r++) { if((w==0)&&(e==0)||(w==0)&&(e==7)) { P1=y1[e]; P2=z1[r]; Set595(x1[7]); dis595(); } } } for(a=0;a<8;a++) { P1=y1[a]; P2=z1[7]; Set595(x1[0]); dis595(); P1=y1[a]; P2=z1[7]; Set595(x1[7]); dis595(); } for(s=0;s〈8;s++) { P1=y1[s]; P2=z1[0]; Set595(x1[0]); dis595(); P1=y1[s]; P2=z1[0]; Set595(x1[7]); dis595(); } for(y=0;y<8;y++) { for(x=0;x<8;x++) { if((z==0)&&(y==0)||(z==0)&&(y==7)) { P1=y1[y]; P2=z1[7]; Set595(x1[x]); dis595(); } } } } /**********************************************************************/ voidxingdian() { ucharx,y,z; for(z=0;z<8;z++) for(y=0;y〈8;y++) { for(x=0;x〈8;x++) { if((y==0)||(y==2)||(y==4)||(y==6)||(y==1)||(y==3)||(y==5)||(y==7)) { P1=y1[y]; P2=z1[z]; Set595(x1[x]); dis595(); } } delayms(20000); } } /*主函数*/ /**********************************************************************/ voidmain() { ucharj; while (1) { daojishi();//倒计时7-0 for(j=0;j〈50;j++) { suofang();//方框缩放 } //xingdian();//星点 } } 这是595的程序,实现0—9倒数。 #include〈reg52.h> #defineuintunsignedint #defineucharunsignedchar voiddelay(uintz); voidmain() { while (1) { P3=0x00; delay(10); P2=0x00; delay(5); P1=0x00; } } voiddelay(uintz) { ucharx,y; for(x=0;x〈z;x++) for(y=0;y〈121;y++); } 这是573的程序简单的点亮512个灯. 所以573写程序方便,595接线方便。 随你怎么选择.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 立方 电路 原理图 与其 元件