找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 16710|回復(fù): 42
打印 上一主題 下一主題
收起左側(cè)

自己做板,32X64雙色點(diǎn)陣時(shí)鐘制作。有程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:55980 發(fā)表于 2013-10-16 15:25 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
看到網(wǎng)上有人做32X64雙色點(diǎn)陣時(shí)鐘,效果不錯(cuò),于是咱也買了幾塊點(diǎn)陣屏,做了起來(lái),話說(shuō),看著簡(jiǎn)單自己做起來(lái)那是相當(dāng)?shù)碾y啊,由于是第一次自己做PCB,在第一次感光上循環(huán)了很多次(因?yàn)椴皇怯玫淖贤饩燈),左后終于曝光成功了?上н^(guò)程中都是接觸液體,而且我僅靠雙手是無(wú)法順利完成制作和照相的工作,照片就無(wú)法上傳了,僅附完成照片和成功的照片。PS:因?yàn)槭堑谝淮巫鲞@個(gè)東西,很多都不了解,在制作PCB上面浪費(fèi)了很多時(shí)間,哈哈哈?匆曨l!




最后放上視頻視頻效果!有需要資料的,請(qǐng)跟帖問(wèn)我要,有建議的也灰常歡迎提出來(lái),我也僅僅是個(gè)剛剛學(xué)51的菜鳥而已

點(diǎn)陣程序.rar (91.95 KB, 下載次數(shù): 435)

評(píng)分

參與人數(shù) 2黑幣 +10 收起 理由
孤星..殘?jiān)?/a> + 5
18316719944 + 5 樓主能發(fā)份控制卡原理圖和程序給我嗎?黑幣.

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏10 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:51142 發(fā)表于 2013-10-31 16:56 | 只看該作者
不錯(cuò),51黑有你更精彩。。。!

下面是樓主的源碼:
  1. #include <STC12C5A60S2.h>
  2. //#include <STC12C5410AD.h>
  3. //#include <STC90C58RD.h>
  4. //#include <REG52.H>
  5. //extern void delay1(unsigned int time);

  6. #define uchar unsigned char
  7. #define uint unsigned int
  8. //this is for 1632
  9. sbit     T_CLK      = P3^5;   /*實(shí)時(shí)時(shí)鐘時(shí)鐘線引腳7 */
  10. sbit     T_IO       = P3^6;   /*實(shí)時(shí)時(shí)鐘數(shù)據(jù)線引腳6 */
  11. sbit     T_RST      = P3^7;   /*實(shí)時(shí)時(shí)鐘復(fù)位線引腳5 */
  12. sbit     ACC0=ACC^0;
  13. sbit     ACC1=ACC^1;
  14. sbit     ACC2=ACC^2;
  15. sbit     ACC3=ACC^3;
  16. sbit     ACC4=ACC^4;
  17. sbit     ACC5=ACC^5;
  18. sbit     ACC6=ACC^6;
  19. sbit     ACC7=ACC^7;


  20. /*******************************************************************  
  21. *
  22. * 名稱: v_RTInputByte
  23. * 說(shuō)明:
  24. * 功能: 往DS1302寫入1Byte數(shù)據(jù)
  25. * 調(diào)用:
  26. * 輸入: ucDa 寫入的數(shù)據(jù)
  27. * 返回值: 無(wú)
  28. ***********************************************************************/
  29. void  v_RTInputByte(uchar  ucDa)  
  30. {                              
  31.     uchar  i;
  32.     ACC = ucDa;
  33.     for(i=8; i>0; i--)
  34.     {
  35.          T_IO = ACC0;          /*相當(dāng)于匯編中的  RRC  */
  36. //                 delay(20);       
  37.          T_CLK = 1;
  38. //                 delay(20);       
  39.          T_CLK = 0;
  40. //                 delay(20);       
  41.          ACC = ACC >> 1;   
  42.      }     
  43. }
  44. /********************************************************************  
  45. *
  46. * 名稱: uchar uc_RTOutputByte
  47. * 說(shuō)明:
  48. * 功能: 從DS1302讀取1Byte數(shù)據(jù)
  49. * 調(diào)用:
  50. * 輸入:
  51. * 返回值: ACC
  52. ***********************************************************************/
  53. uchar uc_RTOutputByte(void)  
  54. {                             
  55.     uchar i;
  56.     for(i=8; i>0; i--)
  57.     {
  58.          ACC = ACC >>1;       /*相當(dāng)于匯編中的  RRC  */
  59.          ACC7 = T_IO;
  60. //                 delay(20);       
  61.          T_CLK = 1;
  62. //                 delay(20);       
  63.          T_CLK = 0;
  64. //                 delay(20);       
  65.     }     
  66.     return(ACC);
  67. }
  68. /********************************************************************  
  69. *
  70. * 名稱: v_W1302
  71. * 說(shuō)明: 先寫地址,后寫命令/數(shù)據(jù)
  72. * 功能: 往DS1302寫入數(shù)據(jù)
  73. * 調(diào)用: v_RTInputByte()
  74. * 輸入: ucAddr: DS1302地址, ucDa: 要寫的數(shù)據(jù)
  75. * 返回值: 無(wú)
  76. ***********************************************************************/
  77. void  v_W1302(uchar ucAddr, uchar ucDa)
  78. {
  79.     T_RST = 0;
  80. //        delay(20);       
  81.     T_CLK = 0;
  82. //        delay(20);       
  83.     T_RST = 1;
  84. //        delay(20);       
  85.     v_RTInputByte(ucAddr);      /* 地址,命令 */
  86.     v_RTInputByte(ucDa);        /* 寫1Byte數(shù)據(jù)*/
  87.     T_CLK = 1;
  88. //        delay(20);       
  89.     T_RST =0;
  90. //        delay(20);       
  91. }
  92. /********************************************************************  
  93. *
  94. * 名稱: uc_R1302
  95. * 說(shuō)明: 先寫地址,后讀命令/數(shù)據(jù)
  96. * 功能: 讀取DS1302某地址的數(shù)據(jù)
  97. * 調(diào)用: v_RTInputByte() , uc_RTOutputByte()
  98. * 輸入: ucAddr: DS1302地址
  99. * 返回值: ucDa :讀取的數(shù)據(jù)
  100. ***********************************************************************/
  101. uchar  uc_R1302(uchar ucAddr)
  102. {
  103.     uchar ucDa;
  104.     T_RST = 0;
  105. //        delay(20);       
  106.     T_CLK = 0;
  107. //        delay(20);       
  108.     T_RST = 1;
  109. //        delay(20);       
  110.     v_RTInputByte(ucAddr);      /* 地址,命令 */
  111.     ucDa = uc_RTOutputByte();   /* 讀1Byte數(shù)據(jù) */
  112.     T_CLK = 1;
  113. //        delay(20);       
  114.     T_RST =0;
  115. //        delay(20);       
  116.     return(ucDa);
  117. }
  118. /********************************************************************  
  119. *
  120. * 名稱: v_BurstW1302T
  121. * 說(shuō)明: 先寫地址,后寫數(shù)據(jù)(時(shí)鐘多字節(jié)方式)
  122. * 功能: 往DS1302寫入時(shí)鐘數(shù)據(jù)(多字節(jié)方式)
  123. * 調(diào)用: v_RTInputByte()
  124. * 輸入: pSecDa: 時(shí)鐘數(shù)據(jù)地址    格式為: 秒 分 時(shí) 日 月 星期 年 控制
  125. *                 8Byte  (BCD碼)        1B 1B 1B 1B 1B  1B  1B  1B
  126. * 返回值: 無(wú)
  127. ***********************************************************************/
  128. /*void  v_BurstW1302T(uchar *pSecDa)
  129. {
  130.     uchar  i;
  131.     v_W1302(0x8e,0x00);       // 控制命令,WP=0,寫操作?
  132.     T_RST = 0;
  133.     T_CLK = 0;
  134.     T_RST = 1;
  135.     v_RTInputByte(0xbe);      // 0xbe:時(shí)鐘多字節(jié)寫命令
  136.     for (i=8;i>0;i--)         //8Byte = 7Byte 時(shí)鐘數(shù)據(jù) + 1Byte 控制
  137.     {
  138.         v_RTInputByte(*pSecDa);// 寫1Byte數(shù)據(jù)
  139.         pSecDa++;
  140.     }
  141.     T_CLK = 1;
  142.     T_RST =0;
  143. }                         */
  144. /********************************************************************  
  145. *
  146. * 名稱: v_BurstR1302T
  147. * 說(shuō)明: 先寫地址,后讀命令/數(shù)據(jù)(時(shí)鐘多字節(jié)方式)
  148. * 功能: 讀取DS1302時(shí)鐘數(shù)據(jù)
  149. * 調(diào)用: v_RTInputByte() , uc_RTOutputByte()
  150. * 輸入: pSecDa: 時(shí)鐘數(shù)據(jù)地址          格式為: 秒 分 時(shí) 日 月 星期 年
  151. *                       7Byte  (BCD碼)        1B 1B 1B 1B 1B  1B  1B
  152. * 返回值: ucDa :讀取的數(shù)據(jù)
  153. ***********************************************************************/
  154. /*void  v_BurstR1302T(uchar *pSecDa)
  155. {
  156.     uchar i;
  157.     T_RST = 0;
  158.     T_CLK = 0;
  159.     T_RST = 1;
  160.     v_RTInputByte(0xbf);      // 0xbf:時(shí)鐘多字節(jié)讀命令
  161.     for (i=8; i>0; i--)      
  162.     {
  163.         *pSecDa = uc_RTOutputByte();   // 讀1Byte數(shù)據(jù)
  164.          pSecDa++;
  165.     }
  166.     T_CLK = 1;
  167.     T_RST =0;
  168. }                         */
  169. /********************************************************************  
  170. *
  171. * 名稱: v_BurstW1302R
  172. * 說(shuō)明: 先寫地址,后寫數(shù)據(jù)(寄存器多字節(jié)方式)
  173. * 功能: 往DS1302寄存器數(shù)寫入數(shù)據(jù)(多字節(jié)方式)
  174. * 調(diào)用: v_RTInputByte()
  175. * 輸入: pReDa: 寄存器數(shù)據(jù)地址
  176. * 返回值: 無(wú)
  177. ***********************************************************************/
  178. /*id  v_BurstW1302R(uchar *pReDa)
  179. {
  180.     uchar  i;
  181.     v_W1302(0x8e,0x00);       // 控制命令,WP=0,寫操作
  182.     T_RST = 0;
  183.     T_CLK = 0;
  184.     T_RST = 1;
  185.     v_RTInputByte(0xfe);      // 0xbe:時(shí)鐘多字節(jié)寫命令
  186.     for (i=31;i>0;i--)        //31Byte  寄存器數(shù)據(jù)   
  187.     {
  188.         v_RTInputByte(*pReDa);        // 寫1Byte數(shù)據(jù)
  189.         pReDa++;
  190.     }
  191.     T_CLK = 1;
  192.     T_RST =0;
  193. }          */
  194. /********************************************************************  
  195. *
  196. * 名稱: uc_BurstR1302R
  197. * 說(shuō)明: 先寫地址,后讀命令/數(shù)據(jù)(寄存器多字節(jié)方式)
  198. * 功能: 讀取DS1302寄存器數(shù)據(jù)
  199. * 調(diào)用: v_RTInputByte() , uc_RTOutputByte()
  200. * 輸入: pReDa: 寄存器數(shù)據(jù)地址
  201. * 返回值: 無(wú)
  202. ***********************************************************************/
  203. /*void  v_BurstR1302R(uchar *pReDa)
  204. {
  205.     uchar i;
  206.     T_RST = 0;
  207.     T_CLK = 0;
  208.     T_RST = 1;
  209.     v_RTInputByte(0xff);      // 0xbf:時(shí)鐘多字節(jié)讀命令
  210.     for (i=31; i>0; i--)       //31Byte  寄存器數(shù)據(jù)   
  211.     {
  212.         *pReDa = uc_RTOutputByte();   //讀1Byte數(shù)據(jù)
  213.          pReDa++;
  214.     }
  215.     T_CLK = 1;
  216.     T_RST =0;
  217. }                                 */

  218. void  Set_Charge(void)  
  219. {
  220.     v_W1302(0x8e,0x00);          /* 控制命令,WP=0,寫操作?*/
  221.     v_W1302(0x90,0xaa);          /* 控制命令,WP=0,寫操作?*/
  222.     v_W1302(0x8e,0x80);  /* 控制命令,WP=1,寫保護(hù)?*/
  223.         v_W1302(0x90,0xa5);
  224. }

  225. /********************************************************************  
  226. *
  227. * 名稱: v_Set1302
  228. * 說(shuō)明:
  229. * 功能: 設(shè)置初始時(shí)間
  230. * 調(diào)用: v_W1302()
  231. * 輸入: pSecDa: 初始時(shí)間地址。初始時(shí)間格式為: 秒 分 時(shí) 日 月 星期 年
  232. *                       7Byte  (BCD碼)        1B 1B 1B 1B 1B  1B  1B
  233. * 返回值: 無(wú)
  234. ***********************************************************************/
  235. void  Set_Time(uchar *pSecDa)  
  236. {
  237.     uchar i;
  238.     uchar ucAddr = 0x80;
  239.    
  240.     v_W1302(0x8e,0x00);          /* 控制命令,WP=0,寫操作?*/
  241.     for(i =7;i>0;i--)
  242.     {
  243.         v_W1302(ucAddr,*pSecDa);  /* 秒 分 時(shí) 日 月 星期 年 */
  244.    
  245.         pSecDa++;
  246.         ucAddr +=2;
  247.      }
  248.      v_W1302(0x8e,0x80);  /* 控制命令,WP=1,寫保護(hù)?*/
  249. }
  250. /********************************************************************  
  251. *
  252. * 名稱: v_Get1302
  253. * 說(shuō)明:
  254. * 功能: 讀取DS1302當(dāng)前時(shí)間
  255. * 調(diào)用: uc_R1302()
  256. * 輸入: ucCurtime: 保存當(dāng)前時(shí)間地址。當(dāng)前時(shí)間格式為: 秒 分 時(shí) 日 月 星期 年
  257. *                              7Byte  (BCD碼)        1B 1B 1B 1B 1B  1B  1B
  258. * 返回值: 無(wú)
  259. ***********************************************************************/
  260. void Read_Time(uchar ucCurtime[])      
  261. {
  262.     uchar  i;
  263.     uchar  ucAddr = 0x81;
  264.     for (i=0;i<7;i++)
  265.     {
  266.          ucCurtime[i] = uc_R1302(ucAddr);/*格式為: 秒 分 時(shí) 日 月 星期 年 */
  267.          ucAddr += 2;
  268.     }
  269. }

  270. void Write_RAM(unsigned char *s,unsigned char startbyte,unsigned char length)
  271. {
  272.     uchar i;
  273.     uchar ucAddr;   
  274.    
  275.         ucAddr=0xc0+startbyte*2;

  276.         v_W1302(0x8e,0x00);          /* 控制命令,WP=0,寫操作?*/
  277.     for(i =0;i<length;i++)
  278.     {
  279.         v_W1302(ucAddr,*s);
  280.    
  281.         s++;
  282.         ucAddr +=2;
  283.      }
  284.      v_W1302(0x8e,0x80);  /* 控制命令,WP=1,寫保護(hù)?*/

  285. }

  286. void Read_RAM(unsigned char *s,unsigned char startbyte,unsigned char length)
  287. {
  288.     uchar  i;
  289.     uchar  ucAddr;
  290.        
  291.         ucAddr=0xc1+startbyte*2;
  292.     for (i=0;i<length;i++)
  293.     {
  294.          s[i] = uc_R1302(ucAddr);
  295.          ucAddr += 2;
  296.     }
  297. }

復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

板凳
ID:43781 發(fā)表于 2013-10-31 22:54 | 只看該作者
樓主頭像挺帥的,呵呵
回復(fù)

使用道具 舉報(bào)

地板
ID:14052 發(fā)表于 2013-11-1 10:30 | 只看該作者
真的不錯(cuò),51黑有你更精彩!
回復(fù)

使用道具 舉報(bào)

5#
ID:58986 發(fā)表于 2014-1-31 15:53 | 只看該作者
我想學(xué)習(xí)一下...可以給我資料嗎...386245215@qq.com
回復(fù)

使用道具 舉報(bào)

6#
ID:59173 發(fā)表于 2014-2-21 16:24 | 只看該作者
高端上檔次!
回復(fù)

使用道具 舉報(bào)

7#
ID:59153 發(fā)表于 2014-2-22 01:02 | 只看該作者
牛哦,厲害!
回復(fù)

使用道具 舉報(bào)

8#
ID:53433 發(fā)表于 2014-3-7 08:09 | 只看該作者
好東西,目前正在研究中
回復(fù)

使用道具 舉報(bào)

9#
ID:46750 發(fā)表于 2014-4-6 14:23 | 只看該作者
不錯(cuò),下了看看。
回復(fù)

使用道具 舉報(bào)

10#
ID:61227 發(fā)表于 2014-4-28 22:14 | 只看該作者
謝謝樓主慷慨,謝謝了
回復(fù)

使用道具 舉報(bào)

11#
ID:61200 發(fā)表于 2014-4-28 22:18 | 只看該作者
高手啊,我也有幾塊雙色屏改天試試,感謝分享
回復(fù)

使用道具 舉報(bào)

12#
ID:33668 發(fā)表于 2014-5-17 21:02 | 只看該作者

謝謝分享,借鑒學(xué)習(xí)學(xué)習(xí),頂一個(gè)
回復(fù)

使用道具 舉報(bào)

13#
ID:47760 發(fā)表于 2014-9-13 06:09 | 只看該作者
謝謝樓主分享!
回復(fù)

使用道具 舉報(bào)

14#
ID:66338 發(fā)表于 2014-9-18 21:39 | 只看該作者
謝謝分享,借鑒學(xué)習(xí)學(xué)習(xí),頂一個(gè)
回復(fù)

使用道具 舉報(bào)

15#
ID:65864 發(fā)表于 2014-9-19 09:14 | 只看該作者
好靚的東東,可惜我做不出來(lái)
回復(fù)

使用道具 舉報(bào)

16#
ID:60628 發(fā)表于 2014-10-13 12:07 | 只看該作者
謝謝 分享 呵呵  頂你
回復(fù)

使用道具 舉報(bào)

17#
ID:73674 發(fā)表于 2015-2-16 14:29 | 只看該作者
太酷了,先收藏著,以后說(shuō)不定可以用上,謝謝樓主
回復(fù)

使用道具 舉報(bào)

18#
ID:81901 發(fā)表于 2015-6-3 11:34 | 只看該作者
我期末要做一個(gè)點(diǎn)陣屏的作品,下回去看看
回復(fù)

使用道具 舉報(bào)

19#
ID:73815 發(fā)表于 2015-6-3 14:21 | 只看該作者
我也想做一個(gè)32*64雙色點(diǎn)陣時(shí)鐘制作請(qǐng)指教
回復(fù)

使用道具 舉報(bào)

20#
ID:81950 發(fā)表于 2015-6-3 21:34 | 只看該作者
51hei論壇有你更精彩
回復(fù)

使用道具 舉報(bào)

21#
ID:67984 發(fā)表于 2015-6-8 09:17 | 只看該作者
請(qǐng)問(wèn)樓主,你的屏是啥借口的?
回復(fù)

使用道具 舉報(bào)

22#
ID:67984 發(fā)表于 2015-6-8 09:17 | 只看該作者
啥接口
回復(fù)

使用道具 舉報(bào)

23#
ID:67984 發(fā)表于 2015-6-8 15:27 | 只看該作者
能把資料發(fā)我QQ 625756413@qq.com
回復(fù)

使用道具 舉報(bào)

24#
ID:79642 發(fā)表于 2015-6-20 03:43 來(lái)自手機(jī) | 只看該作者
支持,
回復(fù)

使用道具 舉報(bào)

25#
ID:67678 發(fā)表于 2015-6-20 23:26 | 只看該作者
收藏了
謝謝樓主的無(wú)私奉獻(xiàn)
回復(fù)

使用道具 舉報(bào)

26#
ID:86023 發(fā)表于 2015-7-18 13:47 | 只看該作者
我想做一個(gè)給我姐當(dāng)結(jié)婚禮物 ,,樓主,求助你啊 ,全部資料。1410309996@qq.com
回復(fù)

使用道具 舉報(bào)

27#
ID:85940 發(fā)表于 2015-7-19 22:12 | 只看該作者
看看怎么樣
回復(fù)

使用道具 舉報(bào)

28#
ID:65533 發(fā)表于 2015-9-8 17:17 | 只看該作者
謝謝分享,支持創(chuàng)作
回復(fù)

使用道具 舉報(bào)

29#
ID:88360 發(fā)表于 2015-10-10 21:14 | 只看該作者
為什么沒(méi)有蜂鳴器呢?
回復(fù)

使用道具 舉報(bào)

30#
ID:88360 發(fā)表于 2015-10-10 21:15 | 只看該作者
非常好,改天我也做一個(gè)。
回復(fù)

使用道具 舉報(bào)

31#
ID:92134 發(fā)表于 2015-10-12 11:48 | 只看該作者
樓主厲害
回復(fù)

使用道具 舉報(bào)

32#
ID:99651 發(fā)表于 2015-12-20 12:14 | 只看該作者
高端上檔次!
回復(fù)

使用道具 舉報(bào)

33#
ID:65980 發(fā)表于 2015-12-20 23:02 | 只看該作者
求資料 謝謝 郵箱397846891@qq.com
回復(fù)

使用道具 舉報(bào)

34#
ID:103808 發(fā)表于 2016-1-21 23:45 | 只看該作者
謝謝分享,借鑒學(xué)習(xí)學(xué)習(xí),頂一個(gè)
回復(fù)

使用道具 舉報(bào)

35#
ID:103808 發(fā)表于 2016-2-12 15:02 | 只看該作者
51黑有你更精彩。。。!
回復(fù)

使用道具 舉報(bào)

36#
ID:93151 發(fā)表于 2016-4-16 21:14 | 只看該作者
不錯(cuò),加油
回復(fù)

使用道具 舉報(bào)

37#
ID:151073 發(fā)表于 2016-11-30 22:31 | 只看該作者
家里有塊空置的點(diǎn)陣屏,老婆最近需要個(gè)時(shí)鐘,樓主能發(fā)控制板原理圖和程序給我嗎?剛好家里又有STC的芯片
回復(fù)

使用道具 舉報(bào)

38#
ID:151073 發(fā)表于 2016-11-30 22:32 | 只看該作者
回復(fù)

使用道具 舉報(bào)

39#
ID:126804 發(fā)表于 2016-12-13 18:48 | 只看該作者
樓主,江湖救急呀!1275203963@qq.com
回復(fù)

使用道具 舉報(bào)

40#
ID:83466 發(fā)表于 2017-1-26 18:25 | 只看該作者
話說(shuō)調(diào)時(shí)沒(méi)按鍵沒(méi)紅外怎么調(diào)的啊?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表