找回密码
 立即注册

QQ登录

只需一步,快速开始

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

444光立方不用573,也不用595,也不用2803

  [复制链接]
跳转到指定楼层
楼主
看到51hei论坛上很多朋友做光立方,444的,888的,甚至16的,我做了888的,成功了,这里就不上图了,用595和2803做的,
近几天我加的光立方群里面很多人要444,888的原理图,以及程序,我突然想到,444的光立方,xyz一共12个控制端,那么单片机的IO口不用说,是肯定多余12的,那么可不可以直接用单片机而不借组其他控制呢?
我做了尝试,上图,后面解释

我买的灯质量比较可靠,在2.6V的时候已经可以亮了饿,而且亮度还比较可以,
我的单片机开发板输入时4.85V,高电平输出时2.8,足够我的灯亮了,后来我又加了5.4V(单片机最高加到5.5),灯很闪亮,说明我的单片机可以带动负载,对了,我的单片机是STC12C5A60S2,用P0口的前四个做层,P1和P2做列选,看图就可以看到了哈

解释得很清楚了,程序以及上面这个图都在文件里,感兴趣的下了一起探讨,我是菜鸟,大神看了我的程序或者是我的想法请不要抨击俺,只是我觉得实现了我想象的功能和大家分享下,谢谢
这是视频效果


新的视频效果和程序重新上传了哈
我的888光立方效果

有的朋友可能灯的额定电压不一样,如果你觉得亮度不好,就加9013三极管,或者8050应该也行,我没试,但是8050电流要大些,注意下,基极接IO口,发射极接上灯角的阳极,然后集电极接VCC,视频中的就是加了三极管的亮度哈,一共加16个
附件下载: 444ledcube不要锁存器,不要uln2803.zip (4.33 MB, 下载次数: 240)

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

使用道具 举报

沙发
ID:1 发表于 2014-12-20 01:19 | 只看该作者
以下是程序:
  1. #include<stdio.h>
  2. #include<reg52.h>
  3. #define uchar unsigned char
  4. #define uint  unsigned int
  5. /*****************************延时函数******************************/
  6. void Delay(uint del)
  7. {
  8.         uint i,j;
  9.         for(i=0; i<del; i++)
  10.         for(j=0; j<18270; j++)   
  11.         ;
  12. }
  13. /*******************************主函数*****************************/
  14. main()
  15. {
  16. /***************群体闪烁********************/
  17. P0=0XF0;
  18. P1=0X00;
  19. P2=0X00;
  20. Delay(10);
  21. P1=0XFF;
  22. P2=0XFF;
  23. Delay(10);
  24. P1=0X00;
  25. P2=0X00;
  26. Delay(10);
  27. P1=0XFF;
  28. P2=0XFF;
  29. Delay(10);
  30. P1=0X00;
  31. P2=0X00;
  32. Delay(10);
  33. P1=0XFF;
  34. P2=0XFF;
  35. Delay(10);
  36. /*********************************列断续扫描**************************/
  37. P0=0X00;
  38. P1=0X1;
  39. P2=0X00;
  40. Delay(10);/*1*/
  41. P1=0X2;
  42. P2=0X00;
  43. Delay(10);/*2*/
  44. P1=0X4;
  45. P2=0X00;
  46. Delay(10);/*3*/
  47. P1=0X8;
  48. P2=0X00;
  49. Delay(10);/*4*/
  50. P1=0X10;
  51. P2=0X00;
  52. Delay(10);/*5*/
  53. P1=0X20;
  54. P2=0X00;
  55. Delay(10);/*6*/
  56. P1=0X40;
  57. P2=0X00;
  58. Delay(10);/*7*/
  59. P1=0X80;
  60. P2=0X00;
  61. Delay(10);/*8*/
  62. P1=0X00;
  63. P2=0X1;
  64. Delay(10);/*9*/
  65. P1=0X00;
  66. P2=0X2;
  67. Delay(10);/*10*/
  68. P1=0X00;
  69. P2=0X4;
  70. Delay(10);/*11*/
  71. P1=0X00;
  72. P2=0X8;
  73. Delay(10);/*12*/
  74. P1=0X00;
  75. P2=0X10;
  76. Delay(10);/*13*/
  77. P1=0X00;
  78. P2=0X20;
  79. Delay(10);/*14*/
  80. P1=0X00;
  81. P2=0X40;
  82. Delay(10);/*15*/
  83. P1=0X00;
  84. P2=0X80;
  85. Delay(10);/*16*/
  86. P1=0X00;
  87. P2=0X40;
  88. Delay(10);/*15*/
  89. P1=0X00;
  90. P2=0X20;
  91. Delay(10);/*14*/
  92. P1=0X00;
  93. P2=0X10;
  94. Delay(10);/*13*/
  95. P1=0X00;
  96. P2=0X8;
  97. Delay(10);/*12*/
  98. P1=0X00;
  99. P2=0X4;
  100. Delay(10);/*11*/
  101. P1=0X00;
  102. P2=0X2;
  103. Delay(10);/*10*/
  104. P1=0X00;
  105. P2=0X1;
  106. Delay(10);/*9*/
  107. P1=0X80;
  108. P2=0X00;
  109. Delay(10);/*8*/
  110. P1=0X40;
  111. P2=0X00;
  112. Delay(10);/*7*/
  113. P1=0X20;
  114. P2=0X00;
  115. Delay(10);/*6*/
  116. P1=0X10;
  117. P2=0X00;
  118. Delay(10);/*5*/
  119. P1=0X8;
  120. P2=0X00;
  121. Delay(10);/*4*/
  122. P1=0X4;
  123. P2=0X00;
  124. Delay(10);/*3*/
  125. P1=0X2;
  126. P2=0X00;
  127. Delay(10);/*2*/
  128. P1=0X1;
  129. P2=0X00;
  130. Delay(10);/*1*/


  131. /****************************************列平面扫描*************************************/
  132. P1=0XF;
  133. P2=0X00;
  134. Delay(20);/*1*/
  135. P1=0XF0;
  136. P2=0X00;
  137. Delay(20);/*2*/
  138. P1=0X00;
  139. P2=0XF;
  140. Delay(20);/*3*/
  141. P1=0X00;
  142. P2=0XF0;
  143. Delay(20);/*4*/
  144. P1=0X00;
  145. P2=0XF;
  146. Delay(20);/*3*/
  147. P1=0XF0;
  148. P2=0X00;
  149. Delay(20);/*2*/
  150. P1=0XF;
  151. P2=0X00;
  152. Delay(20);/*1*/
  153. /**********************************层扫描****************************/
  154. P0=0XFE;
  155. P1=0XFF;
  156. P2=0XFF;
  157. Delay(20);/*第1层(从下到上)*/
  158. P0=0XFD;
  159. P1=0XFF;
  160. P2=0XFF;
  161. Delay(20);/*第2层(从下到上)*/
  162. P0=0XFB;
  163. P1=0XFF;
  164. P2=0XFF;
  165. Delay(20);/*第3层(从下到上)*/
  166. P0=0XF7;
  167. P1=0XFF;
  168. P2=0XFF;
  169. Delay(20);/*第4层(从下到上)*/
  170. P0=0XFB;
  171. P1=0XFF;
  172. P2=0XFF;
  173. Delay(20);/*第3层(从下到上)*/
  174. P0=0XFD;
  175. P1=0XFF;
  176. P2=0XFF;
  177. Delay(20);/*第2层(从下到上)*/
  178. P0=0XFE;
  179. P1=0XFF;
  180. P2=0XFF;
  181. Delay(20);/*第1层(从下到上)*/
  182. /*&*******************************层平面完毕******************************/
  183. /***************群体闪烁********************/
  184. P0=0XF0;
  185. P1=0X00;
  186. P2=0X00;
  187. Delay(10);
  188. P1=0XFF;
  189. P2=0XFF;
  190. Delay(10);
  191. P1=0X00;
  192. P2=0X00;
  193. Delay(10);
  194. P1=0XFF;
  195. P2=0XFF;
  196. Delay(10);
  197. P1=0X00;
  198. P2=0X00;
  199. Delay(10);
  200. P1=0XFF;
  201. P2=0XFF;
  202. Delay(10);
  203. /*********************************列连续扫描*******************************/
  204. P0=0X00;
  205. P1=0X1;
  206. P2=0X00;
  207. Delay(10);/*1*/
  208. P1=0X2;
  209. P2=0X00;
  210. Delay(10);/*2*/
  211. P1=0X4;
  212. P2=0X00;
  213. Delay(10);/*3*/
  214. P1=0X8;
  215. P2=0X00;
  216. Delay(10);/*4*/
  217. P1=0X80;
  218. P2=0X00;
  219. Delay(10);/*8*/
  220. P1=0X40;
  221. P2=0X00;
  222. Delay(10);/*7*/
  223. P1=0X20;
  224. P2=0X00;
  225. Delay(10);/*6*/
  226. P1=0X10;
  227. P2=0X00;
  228. Delay(10);/*5*/
  229. P1=0X00;
  230. P2=0X1;
  231. Delay(10);/*9*/
  232. P1=0X00;
  233. P2=0X2;
  234. Delay(10);/*10*/
  235. P1=0X00;
  236. P2=0X4;
  237. Delay(10);/*11*/
  238. P1=0X00;
  239. P2=0X8;
  240. Delay(10);/*12*/
  241. P1=0X00;
  242. P2=0X80;
  243. Delay(10);/*16*/
  244. P1=0X00;
  245. P2=0X40;
  246. Delay(10);/*15*/
  247. P1=0X00;
  248. P2=0X20;
  249. Delay(10);/*14*/
  250. P1=0X00;
  251. P2=0X10;
  252. Delay(10);/*13(返回开始)*/
  253. P1=0X00;
  254. P2=0X20;
  255. Delay(10);/*14*/
  256. P1=0X00;
  257. P2=0X40;
  258. Delay(10);/*15*/
  259. P1=0X00;
  260. P2=0X80;
  261. Delay(10);/*16*/
  262. P1=0X00;
  263. P2=0X8;
  264. Delay(10);/*12*/
  265. P1=0X00;
  266. P2=0X4;
  267. Delay(10);/*11*/
  268. P1=0X00;
  269. P2=0X2;
  270. Delay(10);/*10*/
  271. P1=0X00;
  272. P2=0X1;
  273. Delay(10);/*9*/
  274. P1=0X10;
  275. P2=0X00;
  276. Delay(10);/*5*/
  277. P1=0X20;
  278. P2=0X00;
  279. Delay(10);/*6*/
  280. P1=0X40;
  281. P2=0X00;
  282. Delay(10);/*7*/
  283. P1=0X80;
  284. P2=0X00;
  285. Delay(10);/*8*/
  286. P1=0X8;
  287. P2=0X00;
  288. Delay(10);/*4*/
  289. P1=0X4;
  290. P2=0X00;
  291. Delay(10);/*3*/
  292. P1=0X2;
  293. P2=0X00;
  294. Delay(10);/*2*/
  295. P1=0X1;
  296. P2=0X00;
  297. Delay(10);/********1(完毕)****************/
  298. /*****************逐点走*****************/
  299. P0=0XFE;
  300. P1=0X1;
  301. P2=0X00;
  302. Delay(10);/*1*/
  303. P0=0XFE;
  304. P1=0X2;
  305. P2=0X00;
  306. Delay(10);/*2*/
  307. P0=0XFE;
  308. P1=0X4;
  309. P2=0X00;
  310. Delay(10);/*3*/
  311. P0=0XFE;
  312. P1=0X8;
  313. P2=0X00;
  314. Delay(10);/*4*/
  315. P0=0XFE;
  316. P1=0X10;
  317. P2=0X00;
  318. Delay(10);/*5*/
  319. P0=0XFE;
  320. P1=0X20;
  321. P2=0X00;
  322. Delay(10);/*6*/
  323. P0=0XFE;
  324. P1=0X40;
  325. P2=0X00;
  326. Delay(10);/*7*/
  327. P0=0XFE;
  328. P1=0X80;
  329. P2=0X00;
  330. Delay(10);/*8*/
  331. P0=0XFE;
  332. P1=0X00;
  333. P2=0X1;
  334. Delay(10);/*9*/
  335. P0=0XFE;
  336. P1=0X00;
  337. P2=0X2;
  338. Delay(10);/*10*/
  339. P0=0XFE;
  340. P1=0X00;
  341. P2=0X4;
  342. Delay(10);/*11*/
  343. P0=0XFE;
  344. P1=0X00;
  345. P2=0X8;
  346. Delay(10);/*12*/
  347. P0=0XFE;
  348. P1=0X00;
  349. P2=0X10;
  350. Delay(10);/*13*/
  351. P0=0XFE;
  352. P1=0X00;
  353. P2=0X20;
  354. Delay(10);/*14*/
  355. P0=0XFE;
  356. P1=0X00;
  357. P2=0X40;
  358. Delay(10);/*15*/
  359. P0=0XFE;
  360. P1=0X00;
  361. P2=0X80;
  362. Delay(10);/*16*/
  363. /*****************正方形放大缩小*********************/
  364. P0=0XFC;
  365. P1=0X00;
  366. P2=0XCC;
  367. Delay(100);/*小正方形*/
  368. P0=0XF8;
  369. P1=0XE0;
  370. P2=0XEE;/*放大一倍*/
  371. Delay(100);
  372. P0=0XF0;
  373. P1=0XFF;
  374. P2=0XFF;
  375. Delay(100);/*再次放大(全亮)*/
  376. P0=0XF8;
  377. P1=0XE0;
  378. P2=0XEE;/*放大一倍*/
  379. Delay(100);
  380. P0=0XFC;
  381. P1=0X00;
  382. P2=0XCC;/*小正方形*/
  383. Delay(200);
  384. /***************群体闪烁********************/
  385. P0=0XF0;
  386. P1=0X00;
  387. P2=0X00;
  388. Delay(10);
  389. P1=0XFF;
  390. P2=0XFF;
  391. Delay(10);
  392. P1=0X00;
  393. P2=0X00;
  394. Delay(10);
  395. P1=0XFF;
  396. P2=0XFF;
  397. Delay(10);
  398. P1=0X00;
  399. P2=0X00;
  400. Delay(10);
  401. P1=0XFF;
  402. P2=0XFF;
  403. Delay(10);

  404. /****************贪吃蛇******************/
  405. P0=0XF7;
  406. P1=0XE;
  407. P2=0X80;
  408. Delay(50);
  409. P1=0X7;
  410. P2=0X80;
  411. Delay(50);
  412. P1=0X13;
  413. P2=0X80;
  414. Delay(50);
  415. P1=0X11;
  416. P2=0X81;
  417. Delay(50);
  418. P1=0X10;
  419. P2=0X91;
  420. Delay(50);
  421. P1=0X00;
  422. P2=0XB1;
  423. Delay(50);
  424. P1=0X00;
  425. P2=0XF0;
  426. Delay(50);
  427. }
复制代码
回复

使用道具 举报

板凳
ID:72901 发表于 2015-1-28 12:28 | 只看该作者
不错,值 得学习。
回复

使用道具 举报

地板
ID:70624 发表于 2015-2-6 15:17 | 只看该作者
学习......
回复

使用道具 举报

5#
ID:28982 发表于 2015-3-1 22:37 | 只看该作者
学习了,谢谢、、
回复

使用道具 举报

6#
ID:28982 发表于 2015-3-1 22:38 | 只看该作者
回头也自己弄个。
回复

使用道具 举报

7#
ID:28982 发表于 2015-3-1 22:42 | 只看该作者
怎么焊的啊
回复

使用道具 举报

8#
ID:64125 发表于 2015-8-20 20:58 | 只看该作者
感谢楼主无私奉献
回复

使用道具 举报

9#
ID:22225 发表于 2015-9-26 09:42 | 只看该作者
学习了,谢谢、、
回复

使用道具 举报

10#
ID:92210 发表于 2015-10-12 12:46 | 只看该作者
除了单片机,还要什么芯片
回复

使用道具 举报

11#
ID:126072 发表于 2016-8-15 19:29 | 只看该作者
额那不错   我这个新手可以试试
回复

使用道具 举报

12#
ID:126072 发表于 2016-8-16 10:44 | 只看该作者
请问一下,这个是共阴还是共阳
回复

使用道具 举报

13#
ID:323880 发表于 2018-5-7 08:21 来自手机 | 只看该作者
请问还有别的特效的程序吗?比如旋转或水滴那些
回复

使用道具 举报

14#
ID:308858 发表于 2018-6-23 15:51 | 只看该作者
正极再加16个三极管把电流放大,实际操作的话不加三极管是不会亮的,我做的时候加了三极管才能亮
回复

使用道具 举报

15#
ID:243748 发表于 2019-1-8 22:48 来自手机 | 只看该作者
用IC好些,焊接方便
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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