找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12633|回复: 29
打印 上一主题 下一主题
收起左侧

595+2803光立方整套资料(原理图+PCB+程序)

  [复制链接]
跳转到指定楼层
楼主
595+2803光立方整套资料(原理图+PCB+程序) 分享给大家

为了避免过孔过多(由于595级联),在595的11,12,13脚加了排阵,但是焊的时候请飞线,但是有顺序的,具体想看原理图,不要乱飞,U1,5,8,10,是在一起的,但是最好看下原理图,以免我看错了哈,然后U2,4,7,11,在一起,不要看错了哈,然后人都有错误的哈,如果我的原理图和原来的原理图对不上,只能说我是傻子了,在这里给大家道歉了。


在图中加了三个按键,是为以后开发其他功能所用,流出来的排阵,P1口是留给键盘的,以后玩贪吃蛇,不知道我能做出来不,还有做时钟什么的,但这是木易大叔的主意哈。


我也是菜鸟,只想把我会的告诉大家,如果觉得我哪里不足可以提意见,我知道我的PCB布线有很大问题,但是我很努力的在学习,希望大家能够喜欢,不喜欢也不要喷偶,偶心理承受能力比较弱,私下提建议哈,谢谢你了。


打印的时候记得顶层要镜像,然后是,很多都是贴片元件哦,不过为了方便大家,我把引脚拉长了,焊的时候先用焊锡走一遍,避免到时候虚焊了


  光立方原理图


  光立方的所有资料打包下载:
光立方(595 2803).zip (1.12 MB, 下载次数: 267)


源码预览如下:
  1. /*Ideasoft

  2. Display memery:display[8][8];
  3. */
  4. #include "reg52.h"
  5. #include<intrins.h>

  6. #define uchar unsigned char
  7. #define uint unsigned int

  8. sbit STCP = P3^2;
  9. uchar display[8][8];
  10. /*rank:A,1,2,3,4,I,心,U*/
  11. uchar code table_cha[8][8]={0x51,0x51,0x51,0x4a,0x4a,0x4a,0x44,0x44,0x18,0x1c,0x18,0x18,0x18,0x18,0x18,0x3c,0x3c,0x66,0x66,0x30,0x18,0xc,0x6,0xf6,0x3c,0x66,0x60,0x38,0x60,0x60,0x66,0x3c,0x30,0x38,0x3c,0x3e,0x36,0x7e,0x30,0x30,0x3c,0x3c,0x18,0x18,0x18,0x18,0x3c,0x3c,0x66,0xff,0xff,0xff,0x7e,0x3c,0x18,0x18,0x66,0x66,0x66,0x66,0x66,0x66,0x7e,0x3c};
  12. /*the "ideasoft"*/
  13. uchar code table_id[40]={0x81,0xff,0x81,0x00,0xff,0x81,0x81,0x7e,0x00,0xff,0x89,0x89,0x00,0xf8,0x27,0x27,0xf8,0x00,0x8f,0x89,0x89,0xf9,0x00,0xff,0x81,0x81,0xff,0x00,0xff,0x09,0x09,0x09,0x01,0x0,0x01,0x01,0xff,0x01,0x01,0x00};
  14. /*railway*/
  15. uchar code dat[128]={0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,0xe4,0xe8,0xec,0xf0,0xf4,0xf8,0xfc,0xdc,0xbc,0x9c,0x7c,0x5c,0x3c,0x1c,0x18,0x14,0x10,0xc,0x8,0x4,0x25,0x45,0x65,0x85,0xa5,0xc5,0xc9,0xcd,0xd1,0xd5,0xd9,0xb9,0x99,0x79,0x59,0x39,0x35,0x31,0x2d,0x29,0x4a,0x6a,0x8a,0xaa,0xae,0xb2,0xb6,0x96,0x76,0x56,0x52,0x4e,0x6f,0x8f,0x93,0x73,0x6f,0x8f,0x93,0x73,0x4a,0x6a,0x8a,0xaa,0xae,0xb2,0xb6,0x96,0x76,0x56,0x52,0x4e,0x25,0x45,0x65,0x85,0xa5,0xc5,0xc9,0xcd,0xd1,0xd5,0xd9,0xb9,0x99,0x79,0x59,0x39,0x35,0x31,0x2d,0x29,0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,0xe4,0xe8,0xec,0xf0,0xf4,0xf8,0xfc,0xdc,0xbc,0x9c,0x7c,0x5c,0x3c,0x1c,0x18,0x14,0x10,0xc,0x8,0x4};
  16. /*railway 2*/
  17. uchar code dat2[28]={0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,0xe4,0xe8,0xec,0xf0,0xf4,0xf8,0xfc,0xdc,0xbc,0x9c,0x7c,0x5c,0x3c,0x1c,0x18,0x14,0x10,0xc,0x8,0x4};
  18. /*railway 3*/
  19. uchar code dat3[24]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x16,0x26,0x36,0x46,0x56,0x66,0x65,0x64,0x63,0x62,0x61,0x60,0x50,0x40,0x30,0x20,0x10};
  20. /*3p char*/
  21. uchar code table_3p[3][8]={0xff,0x89,0xf5,0x93,0x93,0xf5,0x89,0xff,0x0e,0x1f,0x3f,0x7e,0x7e,0x3f,0x1f,0x0e,0x18,0x3c,0x7e,0xff,0x18,0x18,0x18,0x18};
  22. /*initializtion
  23. That is to initialize the program .
  24. It is write to set the timer in c52 mcu.
  25. So the program can renovate the led_3d_cube in fixed time use the interrupt function.*/

  26. void sinter(void)
  27. {
  28.     IE=0x82;
  29.         TCON=0x01;
  30.         TH0=0xc0;
  31.         TL0=0;
  32.         TR0=1;
  33.          
  34.         TMOD = 0x20;
  35.     PCON = 0x00;
  36.     SCON = 0x00;                                               
  37. }
  38. void delay(uint i)
  39. {                                                                                       
  40.         uchar b;
  41.         while (i--)
  42.         {
  43.                 b=3;
  44.                 while(b--);
  45.         }
  46.         ;
  47. }
  48. /*判断一个数值的第n位,是1还是0,并返回相应数值*/
  49. uchar judgebit(uchar num,uchar b)
  50. {
  51.         char n;
  52.         num=num&(1<<b);
  53.         if (num)
  54.         n=1;
  55.         else
  56.         n=0;
  57.         return n;
  58. }
  59. /*To figure out the round number*/
  60. uchar abs(uchar a)
  61. {
  62.         uchar b;
  63.         b=a/10;
  64.         a=a-b*10;
  65.         if (a>=5)
  66.         b++;
  67.         return b;
  68. }
  69. /*To figure out the absolute value*/
  70. uchar abss(char a)
  71. {
  72.         if (a<0)
  73.         a=-a;
  74.         return a;
  75. }
  76. /*The function can comparat the character.
  77. And remove the big one to the back.*/
  78. void max(uchar *a,uchar *b)
  79. {
  80.    uchar t;
  81.    if ((*a)>(*b))
  82.    {
  83.                 t=(*a);
  84.                 (*a)=(*b);
  85.                 (*b)=t;   
  86.    }
  87. }
  88. /*The function is to figure out the max number and return it.*/
  89. uchar maxt(uchar a,uchar b,uchar c)
  90. {
  91.         if (a<b)
  92.         a=b;
  93.         if (a<c)
  94.         a=c;
  95.         return a;
  96. }
  97. void clear(char le)
  98. {
  99.         uchar i,j;
  100.         for (j=0;j<8;j++)
  101.         {
  102.                 for (i=0;i<8;i++)
  103.                 display[j][i]=le;
  104.         }
  105. }
  106. void trailler(uint speed)
  107. {
  108.         char i,j;
  109.         for (i=6;i>=-3;i--)
  110.         {
  111.                 if (i>=0)
  112.                 {
  113.                         for (j=0;j<8;j++)
  114.                         display[j][i]=display[j][i+1];
  115.                 }
  116.                 if (i<4)
  117.                 {
  118.                         for (j=0;j<8;j++)
  119.                         display[j][i+4]=0;
  120.                 }
  121.                 delay(speed);
  122.         }
  123. }
  124. void point(uchar x,uchar y,uchar z,uchar le)
  125. {
  126.         uchar ch1,ch0;
  127.         ch1=1<<x;
  128.         ch0=~ch1;
  129.         if (le)
  130.         display[z][y]=display[z][y]|ch1;
  131.         else
  132.         display[z][y]=display[z][y]&ch0;
  133. }
  134. void type(uchar cha,uchar y)
  135. {       
  136.         uchar xx;
  137.         for (xx=0;xx<8;xx++)
  138.         {
  139.         display[xx][y]=table_cha[cha][xx];
  140.         }
  141. }
  142. /*The first variable is the distance from the midpoint.
  143. The second is the layer.
  144. the third is the flash speed of the time between each two point.
  145. The forth is the enable io,it controls weather draw or claen.*/
  146. void cirp(char cpp,uchar dir,uchar le)
  147. {
  148.         uchar a,b,c,cp;
  149.         if ((cpp<128)&(cpp>=0))
  150.         {
  151.                 if (dir)
  152.                 cp=127-cpp;
  153.                 else
  154.                 cp=cpp;
  155.                 a=(dat[cp]>>5)&0x07;
  156.                 b=(dat[cp]>>2)&0x07;
  157.                 c=dat[cp]&0x03;
  158.                 if (cpp>63)
  159.                 c=7-c;
  160.                 point (a,b,c,le);
  161.         }
  162. }
  163. void line(uchar x1,uchar y1,uchar z1,uchar x2,uchar y2,uchar z2,uchar le)
  164. {
  165.         char t,a,b,c,a1,b1,c1,i;
  166.         a1=x2-x1;
  167.         b1=y2-y1;
  168.         c1=z2-z1;
  169.         t=maxt(abss(a1),abss(b1),abss(c1));
  170.         a=x1*10;
  171.         b=y1*10;
  172.         c=z1*10;
  173.         a1=a1*10/t;
  174.         b1=b1*10/t;
  175.         c1=c1*10/t;
  176.         for (i=0;i<t;i++)
  177.         {
  178.                 point(abs(a),abs(b),abs(c),le);
  179.                 a+=a1;
  180.                 b+=b1;
  181.                 c+=c1;
  182.         }
  183.         point(x2,y2,z2,le);
  184. }
  185. void box(unsigned char x1,unsigned char z1,unsigned char y1,unsigned char x2,unsigned char z2,unsigned char y2,unsigned char fill,unsigned char le)
  186. {
  187.         uchar i,j,t=0;
  188.         max(&x1,&x2);
  189.         max(&y1,&y2);
  190.         max(&z1,&z2);
  191.         for (i=x1;i<=x2;i++)
  192.                 t|=1<<i;
  193.         if (!le)
  194.                 t=~t;
  195.         if (fill)
  196.         {
  197.                 if (le)
  198.                 {
  199.                         for (i=z1;i<=z2;i++)
  200.                         {
  201.                                 for (j=y1;j<=y2;j++)
  202.                                         display[j][i]|=t;
  203.                         }
  204.                 }
  205.                 else
  206.                 {
  207.                         for (i=z1;i<=z2;i++)
  208.                         {
  209.                                 for (j=y1;j<=y2;j++)
  210.                                         display[j][i]&=t;
  211.                         }
  212.                 }
  213.         }
  214.         else
  215.         {
  216.                 if (le)
  217.                 {
  218.                         display[y1][z1]|=t;
  219.                         display[y2][z1]|=t;
  220.                         display[y1][z2]|=t;
  221.                         display[y2][z2]|=t;
  222.                 }
  223.                 else
  224.                 {
  225.                          display[y1][z1]&=t;
  226.                         display[y2][z1]&=t;
  227.                         display[y1][z2]&=t;
  228.                         display[y2][z2]&=t;
  229.                 }
  230.                 t=(0x01<<x1)|(0x01<<x2);
  231.                 if (!le)
  232.                         t=~t;
  233.                 if (le)
  234.                 {
  235.                         for (j=z1;j<=z2;j+=(z2-z1))
  236.                         {
  237.                                 for (i=y1;i<=y2;i++)
  238.                                         display[i][j]|=t;
  239.                         }
  240.                         for (j=y1;j<=y2;j+=(y2-y1))
  241.                         {
  242.                                 for (i=z1;i<=z2;i++)
  243.                                         display[j][i]|=t;
  244.                         }
  245.                 }
  246.                 else
  247.                 {
  248.                         for (j=z1;j<=z2;j+=(z2-z1))
  249.                         {
  250.                                 for (i=y1;i<=y2;i++)
  251.                                 {
  252.                                 display[i][j]&=t;
  253.                                 }
  254.                         }
  255.                         for (j=y1;j<=y2;j+=(y2-y1))
  256.                         {
  257.                                 for (i=z1;i<=z2;i++)
  258.                                 {
  259.                                 display[j][i]&=t;
  260.                                 }
  261.                         }
  262.                 }
  263.         }
  264. }
  265. void box_apeak_xy(uchar x1,uchar y1,uchar z1,uchar x2,uchar y2,uchar z2,uchar fill,uchar le)
  266. {
  267.         uchar i;
  268.         max(&z1,&z2);
  269.         if (fill)
  270.         {
  271.                 for (i=z1;i<=z2;i++)
  272.                 {
  273.                         line (x1,y1,i,x2,y2,i,le);
  274.                 }
  275.         }
  276.         else
  277.         {
  278.                 line (x1,y1,z1,x2,y2,z1,le);
  279.                 line (x1,y1,z2,x2,y2,z2,le);
  280.                 line (x2,y2,z1,x2,y2,z2,le);
  281.                 line (x1,y1,z1,x1,y1,z2,le);
  282.         }
  283. }
  284. void box_parallel_xy(uchar x1,uchar y1,uchar z1,uchar x2,uchar y2,uchar z2,uchar le)
  285. {
  286.         uchar i;
  287.         max(&y1,&y2);
  288.         for (i=y1;i<=y2;i++)
  289.         {
  290.                 line (x1,i,z1,x2,i,z2,le);
  291.         }
  292. }
  293. void poke(uchar n,uchar x,uchar y)
  294. {
  295.         uchar i;
  296.         for (i=0;i<8;i++)
  297.         {
  298.          point(x,y,i,judgebit(n,i));
  299.         }
  300. }
  301. void boxtola(char i,uchar n)
  302. {
  303.         if ((i>=0)&(i<8))
  304.         {
  305.                 poke(n,0,7-i);
  306.         }
  307.         if ((i>=8)&(i<16))
  308.         {
  309.                 poke(n,i-8,0);
  310.         }
  311.         if ((i>=16)&(i<24))
  312.         {
  313.                 poke(n,7,i-16);
  314.         }

  315. }
  316. void rolldisplay(uint speed)
  317. {
  318.         uchar j;
  319.         char i,a;
  320.         for (i=23;i>-40;i--)
  321.         {
  322.                 for (j=0;j<40;j++)
  323.                 {
  324.                         a=i+j;
  325.                         if ((a>=0)&(a<24))
  326.                         boxtola(a,table_id[j]);
  327.                 }
  328.                 delay(speed);
  329.         }
  330. }
  331. void roll_apeak_yz(uchar n,uint speed)
  332. {
  333.         uchar i;
  334.         switch(n)
  335.         {
  336.                 case 1:
  337.                         for (i=0;i<7;i++)
  338.                         {
  339.                                 display[i][7]=0;
  340.                                 display[7][6-i]=255;
  341.                                 delay(speed);
  342.                         };
  343.                         break;
  344.                 case 2:
  345.                         for (i=0;i<7;i++)
  346.                         {
  347.                                 display[7][7-i]=0;
  348.                                 display[6-i][0]=255;
  349.                                 delay(speed);
  350.                         };
  351.                         break;
  352.                 case 3:
  353.                         for (i=0;i<7;i++)
  354.                         {
  355.                                 display[7-i][0]=0;
  356.                                 display[0][i+1]=255;
  357.                                 delay(speed);
  358.                         };
  359.                         break;
  360.                 case 0:
  361.                         for (i=0;i<7;i++)
  362.                         {
  363.                                 display[0][i]=0;
  364.                                 display[i+1][7]=255;
  365.                                 delay(speed);
  366.                         };
  367.         }
  368. }
  369. void roll_apeak_xy(uchar n,uint speed)
  370. {
  371.         uchar i;
  372.         switch(n)
  373.         {
  374.                 case 1:
  375.                         for (i=0;i<7;i++)
  376.                         {
  377.                                 line(0,i,0,0,i,7,0);
  378.                                 line(i+1,7,0,i+1,7,7,1);
  379.                                 delay(speed);
  380.                         };
  381.                         break;
  382.                 case 2:
  383.                         for (i=0;i<7;i++)
  384.                         {
  385.                                 line(i,7,0,i,7,7,0);
  386.                                 line(7,6-i,0,7,6-i,7,1);
  387.                                 delay(speed);
  388.                         };
  389.                         break;
  390.                 case 3:
  391.                         for (i=0;i<7;i++)
  392.                         {
  393.                                 line(7,7-i,0,7,7-i,7,0);
  394.                                 line(6-i,0,0,6-i,0,7,1);
  395.                                 delay(speed);
  396.                         };
  397.                         break;
  398.                 case 0:
  399.                         for (i=0;i<7;i++)
  400.                         {
  401.                                 line(7-i,0,0,7-i,0,7,0);
  402.                                 line(0,i+1,0,0,i+1,7,1);
  403.                                 delay(speed);
  404.                         };
  405.         }
  406. }
  407. void roll_3_xy(uchar n,uint speed)
  408. {
  409.         uchar i;
  410.         switch(n)
  411.         {
  412.                 case 1:
  413.                         for (i=0;i<8;i++)
  414.                         {
  415.                                 box_apeak_xy (0,i,0,7,7-i,7,1,1);
  416.                                 delay(speed);
  417.                                 if (i<7)
  418.                                 box_apeak_xy (3,3,0,0,i,7,1,0);
  419.                         };
  420.                         break;
  421.                 case 2:
  422.                         for (i=0;i<8;i++)
  423.                         {
  424.                                 box_apeak_xy (7-i,0,0,i,7,7,1,1);
  425.                                 delay(speed);
  426.                                 if (i<7)
  427.                                 box_apeak_xy (3,4,0,i,7,7,1,0);
  428.                         };
  429.                         break;
  430.                 case 3:
  431.                         for (i=0;i<8;i++)
  432.                         {
  433.                                 box_apeak_xy (0,i,0,7,7-i,7,1,1);
  434.                                 delay(speed);
  435.                                 if (i<7)
  436.                                 box_apeak_xy (4,4,0,7,7-i,7,1,0);
  437.                         };
  438.                         break;
  439.                 case 0:
  440.                         for (i=0;i<8;i++)
  441.                         {
  442.                                 box_apeak_xy (7-i,0,0,i,7,7,1,1);
  443.                                 delay(speed);
  444.                                 if (i<7)
  445.                                 box_apeak_xy (4,3,0,7-i,0,7,1,0);
  446.                         };
  447.         }
  448. }
  449. void trans(uchar z,uint speed)
  450. {
  451.         uchar i,j;
  452.         for (j=0;j<8;j++)
  453.         {
  454.                 for (i=0;i<8;i++)
  455.                 {
  456.                         display[z][i]>>=1;
  457.                 }
  458.                 delay(speed);
  459.         }
  460. }
  461. void tranoutchar(uchar c,uint speed)
  462. {
  463.         uchar i,j,k,a,i2=0;
  464.         for (i=0;i<8;i++)
  465.         {
  466.                 if (i<7)
  467.                 box_apeak_xy (i+1,0,0,i+1,7,7,1,1);
  468.                 box_apeak_xy (i2,0,0,i2,7,7,1,0);
  469.                 a=0;
  470.                 i2=i+1;
  471.                 for (j=0;j<=i;j++)
  472.                 {
  473.                         a=a|(1<<j);
  474.                 }
  475.                 for (k=0;k<8;k++)
  476.                 {
  477.                         display[k][3]|=table_cha[c][k]&a;
  478.                         display[k][4]|=table_cha[c][k]&a;
  479.                 }
  480.                 delay(speed);
  481.         }
  482. }
  483. void transss()
  484. {
  485.         uchar i,j;
  486.         for (i=0;i<8;i++)
  487.         {
  488.                 for (j=0;j<8;j++)
  489.                 display[i][j]<<=1;
  490.         }
  491. }

  492. /*From now on,the function below is to display the flash.*/
  493. void flash_1()
  494. {

  495. //        box(0,0,0,7,7,7,1,1);
  496. //        while(1);
  497.         clear(0);
  498.         type(1,0);
  499.         delay(60000);
  500.         type(2,0);
  501.         delay(60000);
  502.         type(3,0);
  503.         delay(60000);
  504.         type(4,0);
  505.         delay(60000);
  506.         delay(60000);
  507.         clear(0);
  508.         rolldisplay(30000);
  509.         type(0,7);
  510.         delay(60000);
  511.         trailler(6000);
  512.         delay(60000);
  513. }
  514. void flash_2()
  515. {
  516.         uchar i;
  517.         for (i=129;i>0;i--)
  518.         {
  519.                 cirp(i-2,0,1);
  520.                 delay(8000);
  521.                 cirp(i-1,0,0);
  522.         }
  523.         delay(8000);       
  524.         for (i=0;i<136;i++)
  525.         {
  526.                 cirp(i,1,1);
  527.                 delay(8000);
  528.                 cirp(i-8,1,0);
  529.         }
  530.         delay(8000);
  531.                 for (i=129;i>0;i--)
  532.         {
  533.                 cirp(i-2,0,1);
  534.                 delay(8000);
  535.         }
  536.         delay(8000);
  537.                 for (i=0;i<128;i++)
  538.         {
  539.                 cirp(i-8,1,0);
  540.                 delay(8000);
  541.         }
  542.         delay(60000);       
  543. }
  544. void flash_3()
  545. {
  546.         char i;
  547.         for (i=0;i<8;i++)
  548.         {
  549.                 box_apeak_xy(0,i,0,7,i,7,1,1);
  550.                 delay(20000);
  551.                 if (i<7)
  552.                 box_apeak_xy(0,i,0,7,i,7,1,0);
  553.         }
  554.         for (i=7;i>=0;i--)
  555.         {
  556.                 box_apeak_xy(0,i,0,7,i,7,1,1);
  557.                 delay(20000);
  558.                 if (i>0)
  559.                 box_apeak_xy(0,i,0,7,i,7,1,0);
  560.         }
  561.         for (i=0;i<8;i++)
  562.         {
  563.                 box_apeak_xy(0,i,0,7,i,7,1,1);
  564.                 delay(20000);
  565.                 if (i<7)
  566.                 box_apeak_xy(0,i,0,7,i,7,1,0);
  567.         }
  568. }
  569. void flash_4()
  570. {
  571.         char i,j,an[8];
  572.         for (j=7;j<15;j++)
  573.                 an[j-7]=j;
  574.         for (i=0;i<=16;i++)
  575.         {
  576.                 for (j=0;j<8;j++)
  577.                 {
  578.                         if ((an[j]<8)&(an[j]>=0))
  579.                         line(0,an[j],j,7,an[j],j,1);
  580.                 }
  581.                 for (j=0;j<8;j++)
  582.                 {
  583.                         if (((an[j]+1)<8)&(an[j]>=0))
  584.                         line(0,an[j]+1,j,7,an[j]+1,j,0);
  585.                 }
  586.                 for (j=0;j<8;j++)
  587.                 {
  588.                         if (an[j]>0)
  589.                         an[j]--;
  590.                 }
  591.                 delay(15000);
  592.         }
  593.         for (j=0;j<8;j++)
  594.                 an[j]=1-j;
  595.         for (i=0;i<=16;i++)
  596.         {
  597.                 for (j=0;j<8;j++)
  598.                 {
  599.                         if ((an[j]<8)&(an[j]>=0))
  600.                         line(0,an[j],j,7,an[j],j,1);
  601.                 }
  602.                 for (j=0;j<8;j++)
  603.                 {
  604.                         if (((an[j]-1)<7)&(an[j]>0))
  605.                         line(0,an[j]-1,j,7,an[j]-1,j,0);
  606.                 }
  607.                 for (j=0;j<8;j++)
  608.                 {
  609.                         if (an[j]<7)
  610.                         an[j]++;
  611.                 }
  612.                 delay(15000);
  613.         }
  614. }
  615. void flash_5()
  616. {
  617.         uint a=15000;//a=delay
  618.         char i=8,j,an[4];
  619.         //1
  620.         for (j=7;j<11;j++)
  621.                 an[j-7]=j;
  622.         while(i--)
  623.         {
  624.                 for (j=0;j<4;j++)
  625.                 {
  626.                         if (an[j]<8)
  627.                         box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1);
  628.                         if (an[j]<7)
  629.                         box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0);
  630.                 }
  631.                 for (j=0;j<4;j++)
  632.                 {
  633.                         if (an[j]>3)
  634.                         an[j]--;
  635.                 }
  636.                 delay(a);
  637.         }
  638.         //2
  639.         i=3;
  640.         for (j=0;j<4;j++)
  641.         an[j]=5-j;
  642.         while(i--)
  643.         {
  644.                 for (j=1;j<4;j++)
  645.                 {
  646.                         if (an[j]<4)
  647.                         box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1);
  648.                         if (an[j]<3)
  649.                         box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0);
  650.                 }
  651.                 for (j=0;j<4;j++)
  652.                 {
  653.                         if (an[j]>0)
  654.                         an[j]--;
  655.                 }
  656.                 delay(a);
  657.         }
  658.         //3
  659.         i=3;
  660.         for (j=1;j<4;j++)
  661.         an[j]=4-j;
  662.         while(i--)
  663.         {
  664.                 for (j=1;j<4;j++)
  665.                 {
  666.                         if (an[j]>=0)
  667.                         box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1);
  668.                         if (an[j]>0)
  669.                         box_apeak_xy(j,an[j]-1,j,7-j,an[j]-1,7-j,0,0);
  670.                 }
  671.                 for (j=1;j<4;j++)
  672.                 {
  673.                         if (an[j]<3)
  674.                         an[j]++;
  675.                 }
  676.                 delay(a);
  677.         }

  678.         //4
  679.         i=3;
  680.         for (j=0;j<4;j++)
  681.         an[j]=j+1;
  682.         while(i--)
  683.         {
  684.                 for (j=1;j<4;j++)
  685.                 {
  686.                         if (an[j]>3)
  687.                         box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1);
  688.                         if (an[j]>3)
  689.                         box_apeak_xy(j,an[j]-1,j,7-j,an[j]-1,7-j,0,0);
  690.                 }
  691.                 for (j=0;j<4;j++)
  692.                         an[j]++;
  693.                 delay(a);
  694.         }
  695.         //5
  696.         i=3;
  697.         for (j=3;j<6;j++)
  698.                 an[j-2]=j;
  699.         while(i--)
  700.         {
  701.                 for (j=1;j<4;j++)
  702.                 {
  703.                         box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1);
  704.                         box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0);
  705.                 }
  706.                 for (j=0;j<4;j++)
  707.                 {
  708.                         if (an[j]>3)
  709.                         an[j]--;
  710.                 }
  711.                 delay(a);
  712.         }
  713.         //6
  714.         i=3;
  715.         for (j=0;j<4;j++)
  716.         an[j]=5-j;
  717.         while(i--)
  718.         {
  719.                 for (j=1;j<4;j++)
  720.                 {
  721.                         if (an[j]<4)
  722.                         box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1);
  723.                         if (an[j]<3)
  724.                         box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0);
  725.                 }
  726.                 for (j=0;j<4;j++)
  727.                 {
  728.                         if (an[j]>0)
  729.                         an[j]--;
  730.                 }
  731.                 delay(a);
  732.         }
  733.         //7
  734.         i=3;
  735.         for (j=0;j<4;j++)
  736.         an[j]=3-j;
  737.         an[0]=2;
  738.         while(i--)
  739.         {
  740.                 for (j=0;j<3;j++)
  741.                 {
  742.                         if (an[j]>=0)
  743.                                 box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1);
  744.                         if (an[j]>=0)
  745.                                 box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0);
  746.                 }
  747.                 for (j=0;j<4;j++)
  748.                 {
  749.                         if (j<5-i)
  750.                         an[j]--;
  751.                 }
  752.                 delay(a);
  753.         }
  754.         //8
  755.         i=10;
  756.         for (j=0;j<4;j++)
  757.                 an[j]=j-2;
  758.         while(i--)
  759.         {
  760.                 for (j=0;j<4;j++)
  761.                 {
  762.                         if (an[j]>=0)
  763.                         box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1);
  764.                         if (an[j]>=0)
  765.                         box_apeak_xy(j,an[j]-1,j,7-j,an[j]-1,7-j,0,0);
  766.                 }
  767.                 for (j=0;j<4;j++)
  768.                 {
  769.                         if (an[j]<7)
  770.                         an[j]++;
  771.                 }
  772.                 delay(a);
  773.         }
  774. }
  775. void flash_6()
  776. {
  777.         uchar i,j,k,z;
  778.         roll_apeak_yz(1,10000);
  779.         roll_apeak_yz(2,10000);
  780.         roll_apeak_yz(3,10000);
  781.         roll_apeak_yz(0,10000);
  782.         roll_apeak_yz(1,10000);
  783.         roll_apeak_yz(2,10000);
  784.         roll_apeak_yz(3,10000);
  785.         for (i=0;i<3;i++)
  786.                 {
  787.                         for (j=0;j<8;j++)
  788.                         {
  789.                                 for (k=0;k<8;k++)
  790.                                 {
  791.                                         if ((table_3p[i][j]>>k)&1)
  792.                                         {
  793.                                                 for (z=1;z<8;z++)
  794.                                                         {
  795.                                                                 point (j,7-k,z,1);
  796.                                                                 if (z-1)
  797.                                                                 point (j,7-k,z-1,0);
  798.                                                                 delay(5000);
  799.                                                         }
  800.                                         }
  801.                                 }
  802.                         }
  803.                         trans(7,15000);
  804.                 }
  805. }
  806. void flash_7()
  807. {
  808.         uchar i;
  809.         uint a=3000;
  810.         roll_apeak_yz(0,10000);
  811.         roll_apeak_yz(1,10000);
  812.         roll_apeak_yz(2,10000);
  813.         roll_apeak_yz(3,10000);
  814.         roll_apeak_yz(0,10000);
  815.         roll_apeak_yz(1,10000);
  816.         roll_apeak_yz(2,10000);
  817.         roll_apeak_yz(3,10000);
  818.         roll_apeak_yz(0,10000);
  819.         roll_apeak_yz(1,10000);
  820.         roll_apeak_yz(2,10000);
  821.         roll_apeak_xy(0,10000);
  822.         roll_apeak_xy(1,10000);
  823.         roll_apeak_xy(2,10000);
  824.         roll_apeak_xy(3,10000);
  825.         roll_apeak_xy(0,10000);
  826.         roll_apeak_xy(1,10000);
  827.         roll_apeak_xy(2,10000);
  828.         roll_apeak_xy(3,10000);
  829.         for (i=0;i<8;i++)
  830.         {
  831.                 box_apeak_xy (0,i,0,7-i,i,7,1,1);
  832.                 delay(a);
  833.         }
  834.         delay(30000);
  835.         roll_3_xy(0,a);
  836.         delay(30000);
  837.         roll_3_xy(1,a);
  838.         delay(30000);
  839.         roll_3_xy(2,a);
  840.         delay(30000);
  841.         roll_3_xy(3,a);
  842.         delay(30000);
  843.         roll_3_xy(0,a);
  844.         delay(30000);
  845.         roll_3_xy(1,a);
  846.         delay(30000);
  847.         roll_3_xy(2,a);
  848.         delay(30000);
  849.         roll_3_xy(3,a);
  850.         for (i=7;i>0;i--)
  851.         {
  852.                 box_apeak_xy(i,0,0,i,7,7,1,0);
  853.                 delay(a);
  854.         }
  855. }
  856. void flash_8()
  857. {
  858.         uchar i;
  859.         for (i=5;i<8;i++)
  860.         {
  861.                 tranoutchar(i,10000);
  862.                 delay(60000);
  863.                 delay(60000);
  864.         }
  865. }
  866. void flash_9()
  867. {
  868.         char i;
  869.         uchar j,an[8],x,y,t,x1,y1;
  870.         for (i=0;i<8;i++)
  871.         {
  872.                 box_apeak_xy (i,0,0,i,7,7,1,1);
  873.                 if (i)
  874.                 box_apeak_xy (i-1,0,0,i-1,7,7,1,0);
  875.                 delay(10000);
  876.         }
  877.         roll_apeak_xy(3,10000);
  878.         roll_apeak_xy(0,10000);
  879.         roll_apeak_xy(1,10000);
  880.         for (i=0;i<7;i++)
  881.         {
  882.                 line(6-i,6-i,0,6-i,6-i,7,1);
  883.                 line(i,7,0,i,7,7,0);
  884.                 delay(10000);
  885.         }
  886.         for (i=0;i<8;i++)
  887.                 an[i]=14;
  888.         for (i=0;i<85;i++)
  889.         {
  890.                 clear(0);
  891.                 for (j=0;j<8;j++)
  892.                 {
  893.                         t=an[j]%28;
  894.                         x=dat2[t]>>5;
  895.                         y=(dat2[t]>>2)&0x07;
  896.                         t=(an[j]-14)%28;
  897.                         x1=dat2[t]>>5;
  898.                         y1=(dat2[t]>>2)&0x07;
  899.                         line(x,y,j,x1,y1,j,1);
  900.                 }
  901.                 for (j=0;j<8;j++)
  902.                 {
  903.                 if ((i>j)&(j>i-71))
  904.                 an[j]++;
  905.                 }
  906.                 delay(5000);
  907.         }
  908.         for (i=0;i<85;i++)
  909.         {
  910.                 clear(0);
  911.                 for (j=0;j<8;j++)
  912.                 {
  913.                         t=an[j]%28;
  914.                         x=dat2[t]>>5;
  915.                         y=(dat2[t]>>2)&0x07;
  916.                         t=(an[j]-14)%28;
  917.                         x1=dat2[t]>>5;
  918.                         y1=(dat2[t]>>2)&0x07;
  919.                         line(x,y,j,x1,y1,j,1);
  920.                 }
  921.                 for (j=0;j<8;j++)
  922.                 {
  923.                 if ((i>j)&(j>i-71))
  924.                 an[j]--;
  925.                 }
  926.                 delay(5000);
  927.         }
  928.         for (i=0;i<29;i++)
  929.         {
  930.                 clear(0);

  931.                 t=an[0]%28;
  932.                 x=dat2[t]>>5;
  933.                 y=(dat2[t]>>2)&0x07;
  934.                 t=(an[0]-14)%28;
  935.                 x1=dat2[t]>>5;
  936.                 y1=(dat2[t]>>2)&0x07;
  937.                 box_apeak_xy(x,y,0,x1,y1,7,0,1);
  938.                 box_apeak_xy(x,y,1,x1,y1,6,0,1);
  939.                 an[0]++;
  940.                 delay(5000);
  941.         }
  942.         for (i=0;i<16;i++)
  943.         {
  944.                 clear(0);

  945.                 t=an[0]%28;
  946.                 x=dat2[t]>>5;
  947.                 y=(dat2[t]>>2)&0x07;
  948.                 t=(an[0]-14)%28;
  949.                 x1=dat2[t]>>5;
  950.                 y1=(dat2[t]>>2)&0x07;
  951.                 box_apeak_xy(x,y,0,x1,y1,7,1,1);
  952.                 an[0]--;
  953.                 delay(5000);
  954.         }
  955.         for (i=0;i<8;i++)
  956.         {
  957.                 line(i,i,0,0,0,i,0);
  958.                 delay(5000);
  959.         }
  960.         for (i=1;i<7;i++)
  961.         {
  962.                 line(i,i,7,7,7,i,0);
  963.                 delay(5000);
  964.         }
  965.         for (i=1;i<8;i++)
  966.         {
  967.                 clear(0);
  968.                 box(7,7,7,7-i,7-i,7-i,0,1);
  969.                 delay(10000);
  970.         }
  971.         for (i=1;i<7;i++)
  972.         {
  973.                 clear(0);
  974.                 box(0,0,0,7-i,7-i,7-i,0,1);
  975.                 delay(10000);
  976.         }
  977.         for (i=1;i<8;i++)
  978.         {
  979.                 clear(0);
  980.                 box(0,0,0,i,i,i,0,1);
  981.                 delay(10000);
  982.         }
  983.         for (i=1;i<7;i++)
  984.         {
  985.                 clear(0);
  986.                 box(7,0,0,i,7-i,7-i,0,1);
  987.                 delay(10000);
  988.         }
  989.         for (i=1;i<8;i++)
  990.         {
  991.                 box(7,0,0,7-i,i,i,1,1);
  992.                 delay(10000);
  993.         }
  994.         for (i=1;i<7;i++)
  995.         {
  996.                 clear(0);
  997.                 box(0,7,7,7-i,i,i,1,1);
  998.                 delay(10000);
  999.         }
  1000. }
  1001. void flash_10()
  1002. {
  1003.         uchar i,j,an[4],x,y,t;
  1004.         for (i=1;i<7;i++)
  1005.         {
  1006.                
  1007.                 clear(0);
  1008.                 box(0,6,6,1,7,7,1,1);
  1009.                 box(i,6,6-i,i+1,7,7-i,1,1);
  1010.                 box(i,6,6,i+1,7,7,1,1);
  1011.                 box(0,6,6-i,1,7,7-i,1,1);
  1012.                 box(0,6-i,6,1,7-i,7,1,1);
  1013.                 box(i,6-i,6-i,i+1,7-i,7-i,1,1);
  1014.                 box(i,6-i,6,i+1,7-i,7,1,1);
  1015.                 box(0,6-i,6-i,1,7-i,7-i,1,1);
  1016.                 delay(30000);
  1017.         }
  1018.         for (i=0;i<4;i++)
  1019.         {
  1020.                 an[i]=6*i;
  1021.         }
  1022.         for (i=0;i<35;i++)
  1023.         {
  1024.                 clear(0);
  1025.                 for(j=0;j<4;j++)
  1026.                 {
  1027.                         t=an[j]%24;
  1028.                         x=dat3[t]>>4;
  1029.                         y=dat3[t]&0x0f;
  1030.                         box(x,y,0,x+1,y+1,1,1,1);
  1031.                         box(x,y,6,x+1,y+1,7,1,1);
  1032.                 }
  1033.                 for (j=0;j<4;j++)
  1034.                 an[j]++;
  1035.                 delay(10000);
  1036.         }
  1037.         for (i=0;i<35;i++)
  1038.         {
  1039.                 clear(0);
  1040.                 for(j=0;j<4;j++)
  1041.                 {
  1042.                         t=an[j]%24;
  1043.                         x=dat3[t]>>4;
  1044.                         y=dat3[t]&0x0f;
  1045.                         box(x,y,0,x+1,y+1,1,1,1);
  1046.                         box(x,y,6,x+1,y+1,7,1,1);
  1047.                 }
  1048.                 for (j=0;j<4;j++)
  1049.                 an[j]--;
  1050.                 delay(10000);
  1051.         }
  1052.         for (i=0;i<35;i++)
  1053.         {
  1054.                 clear(0);
  1055.                 for(j=0;j<4;j++)
  1056.                 {
  1057.                         t=an[j]%24;
  1058.                         x=dat3[t]>>4;
  1059.                         y=dat3[t]&0x0f;
  1060.                         box(x,0,y,x+1,1,y+1,1,1);
  1061.                         box(x,6,y,x+1,7,y+1,1,1);
  1062.                 }
  1063.                 for (j=0;j<4;j++)
  1064.                 an[j]++;
  1065.                 delay(10000);
  1066.         }
  1067.         for (i=0;i<36;i++)
  1068.         {
  1069.                 clear(0);
  1070.                 for(j=0;j<4;j++)
  1071.                 {
  1072.                         t=an[j]%24;
  1073.                         x=dat3[t]>>4;
  1074.                         y=dat3[t]&0x0f;
  1075.                         box(x,0,y,x+1,1,y+1,1,1);
  1076.                         box(x,6,y,x+1,7,y+1,1,1);
  1077.                 }
  1078.                 for (j=0;j<4;j++)
  1079.                 an[j]--;
  1080.                 delay(10000);
  1081.         }
  1082.         for (i=6;i>0;i--)
  1083.         {
  1084.                
  1085.                 clear(0);
  1086.                 box(0,6,6,1,7,7,1,1);
  1087.                 box(i,6,6-i,i+1,7,7-i,1,1);
  1088.                 box(i,6,6,i+1,7,7,1,1);
  1089.                 box(0,6,6-i,1,7,7-i,1,1);
  1090.                 box(0,6-i,6,1,7-i,7,1,1);
  1091.                 box(i,6-i,6-i,i+1,7-i,7-i,1,1);
  1092.                 box(i,6-i,6,i+1,7-i,7,1,1);
  1093.                 box(0,6-i,6-i,1,7-i,7-i,1,1);
  1094.                 delay(30000);
  1095.         }
  1096. }
  1097. void flash_11()
  1098. {
  1099.         uchar i,j,t,x,y;
  1100.         uchar code daa[13]={0,1,2,0x23,5,6,7,6,5,0x23,2,1,0};
  1101.         for (j=0;j<5;j++)
  1102.         {
  1103.                 for (i=0;i<13;i++)
  1104.                 {
  1105.                         if (daa[i]>>4)
  1106.                         {
  1107.                                 t=daa[i]&0x0f;
  1108.                                 line (0,0,t+1,0,7,t+1,1);
  1109.                         }
  1110.                         else
  1111.                                 t=daa[i];
  1112.                         line (0,0,t,0,7,t,1);
  1113.                         transss();
  1114.                         delay(10000);
  1115.                 }
  1116.         }
  1117.         for (j=1;j<8;j++)
  1118.         {
  1119.                 if (j>3)
  1120.                         t=4;
  1121.                 else
  1122.                         t=j;
  1123.                 for (i=0;i<24;i+=j)
  1124.                 {
  1125.                         x=dat3[i]>>4;
  1126.                         y=dat3[i]&0x0f;
  1127.                         box_apeak_xy(0,x,y,0,x+1,y+1,1,1);
  1128.                         transss();
  1129.                         delay(10000);
  1130.                 }
  1131.         }
  1132.         for (j=1;j<8;j++)
  1133.         {
  1134.                 if (j>3)
  1135.                         t=4;
  1136.                 else
  1137.                         t=j;
  1138.                 for (i=0;i<24;i+=j)
  1139.                 {
  1140.                         x=dat3[i]>>4;
  1141.                         y=dat3[i]&0x0f;
  1142.                         point (0,x,y,1);
  1143.                         transss();
  1144.                         delay(10000);
  1145.                 }
  1146.         }
  1147. }
  1148. void main()
  1149. {
  1150.         sinter();
  1151.         clear(0);
  1152.         /*play list*/
  1153.         flash_1();
  1154.         clear(0);
  1155.         flash_2();
  1156.         flash_3();
  1157.         flash_4();
  1158.         flash_4();
  1159.         flash_5();
  1160.         flash_5();
  1161.         flash_6();
  1162.         flash_7();
  1163.         flash_8();
  1164.         flash_9();
  1165.         flash_10();
  1166.         clear (0);
  1167.         flash_11();
  1168.         flash_9();
  1169.         flash_5();
  1170.         flash_7();
  1171.         flash_5();
  1172.         flash_6();
  1173.         flash_8();
  1174.         flash_9();
  1175.         flash_10();
  1176.         while(1);
  1177. }
  1178. void print() interrupt 1
  1179. {
  1180.         char i;
  1181.         static uchar layer=0;

  1182.         //          先发送层信息,层在最后一个595上所以要先发送
  1183.         SBUF = 0x80>>layer;
  1184.                 while(!TI)                   //如果发送完毕,硬件会置位TI
  1185.                 {
  1186.                         _nop_();       
  1187.                 }
  1188.                 TI = 0;
  1189.         // 开始发送数据
  1190.         for (i=7;i>=0;i--)
  1191.         {
  1192.                 SBUF = display[layer][i];
  1193.                 while(!TI)                   //如果发送完毕,硬件会置位TI
  1194.                 {
  1195.                         _nop_();       
  1196.                 }
  1197.                 TI = 0;
  1198.         }
  1199.         STCP=1;
  1200.         _nop_();
  1201.         STCP=0;
  1202.         if (layer<7)
  1203.                 layer++;
  1204.         else
  1205.                 layer=0;
  1206.         TH0=0xd0;
  1207.         TL0=0;
  1208. }
复制代码


0.png (41.02 KB, 下载次数: 169)

0.png

评分

参与人数 4黑币 +115 收起 理由
一世顾你 + 5 很给力!
qjzyx + 5 赞一个!
18316719944 + 5 共享资料的黑币奖励!
admin + 100 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏6 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:150612 发表于 2016-11-27 20:34 | 只看该作者
谢谢分享

评分

参与人数 1黑币 +4 收起 理由
杨51黑电子论坛 + 4 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:140528 发表于 2016-11-28 15:23 | 只看该作者
正需要,谢谢分享。。。。

评分

参与人数 1黑币 +4 收起 理由
杨51黑电子论坛 + 4 淡定

查看全部评分

回复

使用道具 举报

地板
ID:161685 发表于 2017-2-21 12:35 | 只看该作者
谢谢谢谢11111
回复

使用道具 举报

5#
ID:120259 发表于 2017-9-27 16:39 | 只看该作者
喜欢  想下载 谢谢楼主的贡献
回复

使用道具 举报

6#
ID:238907 发表于 2017-10-12 16:29 | 只看该作者
谢谢贴主
回复

使用道具 举报

7#
ID:238967 发表于 2017-10-23 20:20 | 只看该作者
这个真的很赞,谢谢楼主
回复

使用道具 举报

8#
ID:138918 发表于 2018-2-22 01:56 | 只看该作者
好东西 果断收藏学习 非常感谢
回复

使用道具 举报

9#
ID:266116 发表于 2018-2-22 12:18 | 只看该作者
谢谢分享
回复

使用道具 举报

10#
ID:266116 发表于 2018-2-22 12:34 | 只看该作者
谢谢分享
回复

使用道具 举报

11#
ID:284762 发表于 2018-2-22 14:38 | 只看该作者
感谢分享!~
回复

使用道具 举报

12#
ID:284994 发表于 2018-2-24 16:47 | 只看该作者
谢谢分享
回复

使用道具 举报

13#
ID:243748 发表于 2018-2-26 23:44 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

14#
ID:282528 发表于 2018-5-5 16:56 | 只看该作者
谢谢楼主的分享!
回复

使用道具 举报

15#
ID:324035 发表于 2018-5-7 11:47 | 只看该作者
最近做的毕设就是这个,恩,图看不清啊
回复

使用道具 举报

16#
ID:322886 发表于 2018-5-8 15:49 | 只看该作者
很牛逼!!!!
回复

使用道具 举报

17#
ID:349446 发表于 2018-6-11 14:21 | 只看该作者
谢谢 分享
回复

使用道具 举报

18#
ID:358515 发表于 2018-6-26 08:44 | 只看该作者
感谢分享。。。请问PCB图要用什么打开
回复

使用道具 举报

19#
ID:138918 发表于 2018-6-29 19:20 | 只看该作者
不错的资料 果断收藏学习 感谢楼主无私奉献
回复

使用道具 举报

20#
ID:206165 发表于 2018-7-4 08:30 | 只看该作者
资源详细,一级棒,动手能力杠杠的。感谢楼主的奉献!
回复

使用道具 举报

21#
ID:373452 发表于 2018-7-17 16:45 | 只看该作者
感谢分享 可是没有黑币下载啊
回复

使用道具 举报

22#
ID:230901 发表于 2018-7-23 13:53 | 只看该作者
原理图的IO和程序的IO对不上,楼主的595的数据脚(14脚)接的是P3.0,将数据丢到SBUF发送出去只是操作P3.1(即595的11脚,数据移位脚),望改正
回复

使用道具 举报

23#
ID:470774 发表于 2019-1-20 09:41 | 只看该作者
谢谢分享
回复

使用道具 举报

24#
ID:471573 发表于 2019-1-22 16:51 | 只看该作者
能有几张成品图看看就更好了
回复

使用道具 举报

25#
ID:613618 发表于 2019-10-20 22:32 来自手机 | 只看该作者
不错,多谢分享
回复

使用道具 举报

26#
ID:648095 发表于 2019-11-23 21:42 | 只看该作者
不错,感谢分享
回复

使用道具 举报

27#
ID:656536 发表于 2020-3-26 09:53 | 只看该作者
在哪下载资料
回复

使用道具 举报

28#
ID:320306 发表于 2022-2-25 16:10 | 只看该作者
感谢楼主,之前的几个都没有给源文件,就你给了!!
回复

使用道具 举报

29#
ID:872228 发表于 2022-2-28 15:17 | 只看该作者
可惜原理图PCB是protel99格式的,我没有
回复

使用道具 举报

30#
ID:1006621 发表于 2022-3-3 10:33 | 只看该作者
有个问题,单片机还有那么多IO口,为什么2803不直接接上去用呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表