找回密码
 立即注册

QQ登录

只需一步,快速开始

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

光立方制作视频教程 程序 动画数组生成软件 元件清单等完整资料

  [复制链接]
跳转到指定楼层
楼主
下面是一个很好的光立方的视频教程:

下面是光立方的动画数组生成软件:


光立方的元件清单:
名称    数量    规格/型号    备注
万能板    1    18*30cm   
单片机STC15F2K60S2    1    DIP40    除非你会改程序,否则请勿擅自更换
74hc154    4        宽窄两种封装均可
40P  IC座    1        
24P  IC座    4        
电解电容47uF    1        
104电容    1        
拨动开关    1        
铜柱(含螺母)    4    M3*100mm   
灯珠    540    2*5*7mm雾状    颜色自选
弯排针    1    每组40P   
直排针    8    每组40P   
白色飞线    2    若干   
USB转TTL下载器    1        PL2303系列或CH340系列
母对母杜邦线    3    每组40P   
母对公杜邦线    1    每组40P   
微动开关    1        

光立方程序的主要部分(不包含动画桢数据)
  1. unsigned char code Segs_tab[]={
  2. 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
  3. 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
  4. 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
  5. 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
  6. };
  7. unsigned char idata Rec_buf[64]={
  8. 0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  9. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  10. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  11. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  12. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  13. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  14. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  15. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  16. };
  17. sbit Rest=P3^0;
  18. void IO_Interrupt_UART_Init();
  19. unsigned char T1_count=0,Anm1=0,Mode=0,Rec_count=0;  
  20. unsigned int End,Anm=0;
  21. void main()
  22. {

  23.         End=sizeof(table);        
  24.         IO_Interrupt_UART_Init();
  25.         while(1)                                          
  26.         {
  27.                 if(Anm>End)Anm=0;
  28.                
  29.                 Segs=Segs_tab[Anm1];
  30.                 switch (Mode)
  31.                 {        
  32.                         case 0:Out=table[Anm1+Anm];break;
  33.                         case 1:Out=Rec_buf[Anm1];break;
  34.                         default:break;
  35.                 }
  36.         }
  37. }
  38. void IO_Interrupt_UART_Init()
  39. {
  40.         P0M1=0x00;
  41.         P0M0=0x00;
  42.         P1M1=0x00;
  43.         P1M0=0xff;

  44.         EA=1;
  45.         EX0=1;
  46.         IT0=1;
  47.         ET0=1;
  48.         ET1=1;
  49.         ES=1;

  50.         AUXR |= 0x80;                //定时器时钟1T模式
  51.         TMOD &= 0xF0;                //设置定时器模式
  52.         TL0 = 0x5C;                //设置定时初值
  53.         TH0 = 0xF7;                //设置定时初值
  54.         TF0 = 0;                //清除TF0标志
  55.         TR0 = 1;                //定时器0开始计时

  56.         AUXR &= 0xBF;                //定时器时钟12T模式
  57.         TMOD &= 0x0F;                //设置定时器模式
  58.         TL1 = 0x00;                //设置定时初值
  59.         TH1 = 0x70;                //设置定时初值
  60.         TF1 = 0;                //清除TF1标志
  61.         TR1 = 1;                //定时器1开始计时

  62.         SCON = 0x50;                //8位数据,可变波特率
  63.         AUXR |= 0x04;                //定时器2时钟为Fosc,即1T
  64.         T2L = 0xD0;                //设定定时初值
  65.         T2H = 0xFF;                //设定定时初值
  66.         AUXR |= 0x01;                //串口1选择定时器2为波特率发生器
  67. }

  68. void Button() interrupt 0                                         
  69. {                          
  70.         Mode=Mode+1;
  71.         if(Mode==1)
  72.         {
  73.                 AUXR |= 0x10;
  74.                 ET1=0;
  75.                 TR1=0;        
  76.                 Anm=0;
  77.                 Anm1=0;
  78.         }
  79.         if(Mode>1)IAP_CONTR=0x60;
  80. }
  81. void Display_delay() interrupt 1                                         
  82. {                          
  83.         TR0=0;     
  84.           Anm1=Anm1+1;
  85.           if(Anm1>63)Anm1=0;
  86.           Out=0x00;
  87.           Segs=0xff;                                
  88.         TR0=1;   
  89. }
  90. void LED_Display() interrupt 3                                
  91. {                          
  92.         TR1=0;
  93.         T1_count++;
  94.                 if(T1_count==Anm_speed)
  95.                 {        
  96.                         T1_count=0;
  97.                         Anm=Anm+64;
  98.                 }
  99.         TR1=1;                                 
  100. }
  101. void uart_receive() interrupt 4         
  102. {
  103.         unsigned char ch;
  104.         ES=0;
  105.         if(RI)
  106.         {
  107.                 ch=SBUF;
  108.                 Rec_buf[Rec_count]=ch;
  109.                 Rec_count++;
  110.                 if(Rec_count>63)Rec_count=0;
  111.         }
  112.         RI=0;
  113.         ES=1;
  114. }
复制代码
作品来自chinked-out工作室


所有资料下载: 888光立方资料包 - 副本.zip (436.54 KB, 下载次数: 121)


评分

参与人数 2黑币 +55 收起 理由
SADACZZSC + 5 很给力!
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
ID:140780 发表于 2016-9-28 18:06 | 只看该作者
TF内存卡 光立方动画生成软件-圣源电子.jar
回复

使用道具 举报

板凳
ID:142915 发表于 2016-10-16 10:45 | 只看该作者
TF内存卡 光立方动画生成软件-
回复

使用道具 举报

地板
ID:147842 发表于 2016-11-15 00:37 来自手机 | 只看该作者
赞一个!
回复

使用道具 举报

5#
ID:153386 发表于 2016-12-9 15:05 | 只看该作者
为什么串口会冲突
回复

使用道具 举报

6#
ID:160401 发表于 2017-1-6 13:54 | 只看该作者
程序的动作设置很方便
回复

使用道具 举报

7#
ID:147188 发表于 2017-1-7 22:54 | 只看该作者
好厉害
回复

使用道具 举报

8#
ID:187583 发表于 2017-4-8 22:52 | 只看该作者
挺有用的
回复

使用道具 举报

9#
ID:234336 发表于 2017-10-5 17:52 | 只看该作者
非常感谢分享
回复

使用道具 举报

10#
ID:582633 发表于 2019-7-11 22:14 | 只看该作者
多谢分享。。。。
回复

使用道具 举报

11#
ID:843713 发表于 2022-11-22 11:40 | 只看该作者
天残地缺 原理图不完整
回复

使用道具 举报

12#
ID:1043730 发表于 2023-5-2 21:06 | 只看该作者
真的可以做出来吗
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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