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

QQ登錄

只需一步,快速開(kāi)始

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

32*64雙色點(diǎn)陣成功驅(qū)動(dòng) 漢字上下翻頁(yè)顯示

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:140725 發(fā)表于 2016-10-18 16:14 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

下載: 代碼.rar (1.84 KB, 下載次數(shù): 229)

源程序:
  1. /*****************************************************
  2. 文件名稱(chēng):點(diǎn)陣測(cè)試.C
  3. 功能描述:實(shí)現(xiàn)點(diǎn)陣漢字上下翻頁(yè)顯示
  4. 編譯環(huán)境:Keil4  
  5. 硬件設(shè)施:STC12C5A60S2+12M晶振,32*64雙色點(diǎn)陣
  6. 時(shí)間說(shuō)明: 2012-08-17
  7. 作者:    王言鑫
  8. ****************************************************/
  9. //#include<reg52.h>
  10. //#include<ziku.h>
  11. #include<STC12C5A60S2.H>
  12. #define uchar unsigned char
  13. #define uint unsigned int

  14. sbit R1=P2^0;
  15. sbit R2=P2^1;
  16. sbit G1=P2^2;
  17. sbit G2=P2^3;
  18. sbit LCK=P2^4;
  19. sbit SCK=P2^5;
  20. sbit OE=P2^6;
  21. sbit H138_A=P1^0;
  22. sbit H138_B=P1^1;
  23. sbit H138_C=P1^2;
  24. sbit H138_D=P1^3;
  25. uchar code table[][48]=
  26. {
  27. {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0xFF,0x3F,0xFF,0x1F,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0xFC,0x3B,0xFF,0xB3,0xFF,0xA7,0xFF,0xAF,0xFF,0x8F},
  28. {0xF8,0x9F,0xE0,0x8F,0xE4,0x87,0xFD,0xA7,0xF9,0xB3,0xFB,0xB9,0xF3,0xB8,0xE7,0xBC,0xC7,0xBC,0xFD,0xBF,0xFE,0x3F,0xFE,0x3F,0xFF,0xBF,0x00,0x00,0xFF,0xFF,0xFF,0xFF},/*"永",0*/

  29. {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0xFE,0x00,0xF0,0x00,0xF0,0x87,0xF7,0x8F,0xFF,0x9F,0xFF,0x1F,0xFF,0x1F,0xFE,0x1F,0xFE,0x1F},
  30. {0xFC,0x8F,0xF9,0x91,0xF9,0x98,0xF3,0x9C,0xF7,0x9C,0xE7,0x9E,0xEF,0x9F,0xFF,0x9F,0xFF,0x9F,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0xFF,0xFF},/*"不",1*/

  31. {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0xFF,0x3F,0xFF,0x3F,0xFF,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xF8,0x00,0xE1,0xFE,0xEF,0xFF,0xFF,0x8F,0xFC,0x0F},
  32. {0xFE,0x0F,0xFC,0x0F,0xFE,0x7F,0xFF,0xFF,0xFF,0x0F,0xFC,0x07,0xFC,0xE7,0xFC,0xE7,0xFC,0xC7,0xFC,0x0F,0xFE,0x0F,0xFF,0x3F,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0xFF,0xFF},/*"言",2*/

  33. {0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0xFF,0x3F,0xFF,0x3F,0xFF,0xBF,0xFF,0xC7,0xFF,0x07,0xFC,0x1F,0xFD,0x3F,0xFF,0x6F,0xFE,0x17,0xFC,0x17,0xFC,0x37,0xFD,0xFF,0xFF,0xCF},
  34. {0xFE,0x00,0xFC,0x00,0xE0,0x6E,0xC6,0x6F,0xDE,0xEF,0xFE,0xEF,0xFE,0xEF,0xFC,0xEF,0xFC,0xEF,0xF8,0xEF,0xF9,0xEF,0xFF,0xEF,0xFF,0xEF,0x00,0x00,0xFF,0xFF,0xFF,0xFF},/*"棄",3*/

  35. {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xFF,0xFC,0xFF,0xFD,0xFF,0xFD,0xFF,0xFD,0xFF,0xFD,0xFF,0xFD,0xFF,0xFC,0x61,0xF8,0x89,0xE0,0x99,0xE1,0x89,0xEC,0x89},
  36. {0xF8,0x89,0xF8,0x99,0xF1,0x89,0xF5,0x89,0xE5,0x99,0xED,0x99,0xCD,0x89,0xDD,0x89,0xFD,0x91,0xFD,0xF9,0xFD,0xFD,0xFD,0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0xFF,0xFF},/*"相",4*/

  37. {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xFF,0x8F,0xFF,0x3F,0xFE,0x7F,0xFC,0xF7,0xFB,0xA7,0xFD,0xEF,0xFD,0xDF,0xFD,0xC3,0xFF,0x1D,0xFC,0x3D,0xF9,0x2C,0xF7,0x00},
  38. {0xE6,0x1F,0xE4,0x7F,0xFC,0x8F,0xFE,0xCF,0xFE,0x4F,0xFC,0x1F,0xF9,0x1F,0xFB,0x8F,0xF3,0x2F,0xC4,0x73,0xFC,0xF1,0xFF,0xF0,0xFF,0xFC,0x00,0x00,0xFF,0xFF,0xFF,0xFF},/*"愛(ài)",5*/

  39. {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE1,0xFC,0x01},
  40. {0xC0,0x00,0xC0,0x7C,0xDF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0xFF,0xFF},/*"一",6*/

  41. {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0x9F,0xFC,0x97,0xFC,0x83,0xF8,0x03,0xFA,0x0F,0xF3,0x1F},
  42. {0xF7,0x97,0xF7,0x87,0xFE,0x07,0xFE,0x0F,0xFE,0x1F,0xFF,0x9F,0xFF,0x9F,0xFF,0x80,0xFC,0x00,0xF0,0x7E,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0xFF,0xFF}/*"生",7*/


  43. };
  44. uchar num,sum,move,flag,temp,number;       
  45. char num0,m;
  46. int tim;
  47. /*****************************************************
  48. 函數(shù)名稱(chēng):void write_595()
  49. 功能說(shuō)明:給595寫(xiě)數(shù)據(jù)
  50. 參數(shù):    DR1、DG1-上半屏 DR2、DG2-下半屏  
  51. 返回值:  無(wú)
  52. ****************************************************/
  53. void write_595(uchar DR1,uchar DG1,uchar DR2,uchar DG2)
  54. {
  55.      uchar i;
  56.          for(i=0;i<8;i++)
  57.          {
  58.              LCK=0;
  59.                  R1=DR1&0X80;
  60.                  R2=DR2&0X80;
  61.                  G1=DG1&0X80;
  62.                  G2=DG2&0X80;
  63.                  LCK=1;
  64.                  DR1<<=1;
  65.                  DR2<<=1;
  66.                  DG1<<=1;
  67.                  DG2<<=1;
  68.          }
  69. }
  70. /*****************************************************
  71. 函數(shù)名稱(chēng):void delay()
  72. 功能說(shuō)明:延時(shí)函數(shù)
  73. 參數(shù):    z
  74. 返回值:  無(wú)
  75. ****************************************************/
  76. void delay(uchar z)
  77. {
  78.     uchar x,y;
  79.         for(x=0;x<z;x++)
  80.             for(y=0;y<110;y++);
  81. }

  82. void main()
  83. {
  84.     R1=0;
  85.         R2=0;
  86.         G1=0;
  87.         G2=0;
  88.         OE=1;
  89.         tim=50;                                           //控制延時(shí)時(shí)間
  90.         sum=0;
  91.         num0=0;                                           //列掃描偏置
  92.         number=2;                                   //漢字寬度/8         
  93.         temp=0;                                           //數(shù)據(jù)在字庫(kù)中的位置
  94.         TMOD=0X01;
  95.         TL0=(65536-50000)%256;
  96.         TH0=(65536-50000)/256;
  97.         EA=1;
  98.         ET0=1;
  99.         TR0=1;
  100.         while(1)
  101.         {
  102.             for(num=0;num<16;num++)
  103.                 {
  104.                     sum=num+num0;
  105.                         if(sum<16)
  106.                         {
  107.                               temp=0;
  108.                                   write_595(0xff,table[0+temp][num*number+0],0xff,table[1+temp][num*number+0]);
  109.                               write_595(0xff,table[0+temp][num*number+1],0xff,table[1+temp][num*number+1]);
  110.                               write_595(0xff,table[2+temp][num*number+0],0xff,table[3+temp][num*number+0]);
  111.                                   write_595(0xff,table[2+temp][num*number+1],0xff,table[3+temp][num*number+1]);
  112.                           write_595(0xff,table[4+temp][num*number+0],0xff,table[5+temp][num*number+0]);
  113.                               write_595(0xff,table[4+temp][num*number+1],0xff,table[5+temp][num*number+1]);
  114.                                   write_595(0xff,table[6+temp][num*number+0],0xff,table[7+temp][num*number+0]);
  115.                                   write_595(0xff,table[6+temp][num*number+1],0xff,table[7+temp][num*number+1]);               
  116.                        
  117.                                   SCK=0;
  118.                                   SCK=1;
  119.                                   P1=sum;
  120.                         }       
  121.                         else
  122.                         {
  123.                              temp=8;
  124.                              write_595(0xff,table[0+temp][num*number+0],0xff,table[1+temp][num*number+0]);
  125.                                  write_595(0xff,table[0+temp][num*number+1],0xff,table[1+temp][num*number+1]);
  126.                              write_595(0xff,table[2+temp][num*number+0],0xff,table[3+temp][num*number+0]);
  127.                              write_595(0xff,table[2+temp][num*number+1],0xff,table[3+temp][num*number+1]);
  128.                          write_595(0xff,table[4+temp][num*number+0],0xff,table[5+temp][num*number+0]);
  129.                              write_595(0xff,table[4+temp][num*number+1],0xff,table[5+temp][num*number+1]);
  130.                                  write_595(0xff,table[6+temp][num*number+0],0xff,table[7+temp][num*number+0]);
  131.                                  write_595(0xff,table[6+temp][num*number+1],0xff,table[7+temp][num*number+1]);
  132.                                  SCK=0;
  133.                              SCK=1;
  134.                                  P1=sum-16;
  135.                                  temp=0;
  136.                         }               
  137.                
  138.         }
  139. }               
  140. }

  141. void timer() interrupt 1
  142. {
  143.    
  144.         TL0=(65536-50000)%256;
  145.         TH0=(65536-50000)/256;
  146.         flag++;
  147.         if(flag>tim)
  148.         {
  149.             tim=2;
  150.                 flag=0;
  151.                 if(m==0)
  152.                 {
  153.                         if(num0<16)
  154.                         {
  155.                            num0++;
  156.                         }
  157.                         else
  158.                         {   
  159.                            m=1;
  160.                     }         
  161.                 }  
  162.                 if(m==1)
  163.                 {
  164.                         if(num0>0)
  165.                         {
  166.                            num0--;
  167.                         }
  168.                         else
  169.                         {
  170.                            m=0;
  171.                     }
  172.                 }                  
  173.        
  174.            }
  175.           if((num0==0)||(num0==16))
  176.               tim=50;
  177.         else  tim=2;
  178. }

  179. /*****************************************************
  180. 函數(shù)名稱(chēng):void intensity_control(uchar time)
  181. 功能說(shuō)明:調(diào)整屏幕亮度
  182. 參數(shù):    time
  183. 返回值:  無(wú)
  184. ***************************************************
  185. void intensity_control(uchar time)
  186. {
  187.     OE=1;
  188.         delay(time);
  189.         OE=0;
  190.         delay(10-time);
  191. } */
復(fù)制代碼




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

使用道具 舉報(bào)

沙發(fā)
ID:21568 發(fā)表于 2016-10-25 16:53 | 只看該作者
希望有仿真圖就好
回復(fù)

使用道具 舉報(bào)

板凳
ID:144502 發(fā)表于 2016-10-26 10:20 | 只看該作者
沒(méi)有詳細(xì)的做法給出來(lái)的嗎?
回復(fù)

使用道具 舉報(bào)

地板
ID:39958 發(fā)表于 2016-11-13 08:55 | 只看該作者
正好用上,謝謝樓主無(wú)私奉獻(xiàn)!
回復(fù)

使用道具 舉報(bào)

5#
ID:70902 發(fā)表于 2016-12-10 16:10 | 只看該作者
正需要,支持一下
回復(fù)

使用道具 舉報(bào)

6#
ID:201101 發(fā)表于 2017-5-15 20:40 | 只看該作者
能否分享一份32*64點(diǎn)陣顯示的仿真圖,1103204684@qq.com萬(wàn)分感謝
回復(fù)

使用道具 舉報(bào)

7#
ID:198608 發(fā)表于 2017-5-16 16:00 | 只看該作者
我試了為什么不出字
回復(fù)

使用道具 舉報(bào)

8#
ID:167337 發(fā)表于 2017-6-21 15:29 | 只看該作者
謝謝樓主分享好資源,關(guān)注32x63點(diǎn)陣屏,正需要學(xué)習(xí)!
回復(fù)

使用道具 舉報(bào)

9#
ID:291645 發(fā)表于 2018-3-20 20:46 | 只看該作者
老鐵,32*64 需要幾個(gè)74HC595啊,有知道的嗎
回復(fù)

使用道具 舉報(bào)

10#
ID:255559 發(fā)表于 2018-6-30 18:08 | 只看該作者
需要好多,給你個(gè)實(shí)物圖
回復(fù)

使用道具 舉報(bào)

11#
ID:367145 發(fā)表于 2018-7-10 10:26 | 只看該作者
樓主你好,你的作品太棒了,我也想試著做一個(gè),能否麻煩你傳一份元件清單,謝謝。只有代碼也不行啊。
回復(fù)

使用道具 舉報(bào)

12#
ID:65956 發(fā)表于 2018-9-27 10:12 | 只看該作者
學(xué)習(xí)一下,測(cè)試一下我的板看看,謝謝分享
回復(fù)

使用道具 舉報(bào)

13#
ID:399426 發(fā)表于 2018-9-27 12:26 | 只看該作者
表白神器,多謝分享
回復(fù)

使用道具 舉報(bào)

14#
ID:97554 發(fā)表于 2018-9-27 14:24 | 只看該作者
silentstorm 發(fā)表于 2017-5-15 20:40
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

這個(gè)無(wú)需仿真圖,3264點(diǎn)陣模塊上邊是標(biāo)準(zhǔn)的08接口,排列順序就是左邊上數(shù)第4腳EN   5腳 R1    6腳R2
右邊上數(shù)引腳分別為A  B  C  D  G1  G2   LCK  SCK
對(duì)應(yīng)樓主的程序EN = P2.6    R1 = P2.0   R2 = P2.1     A = P1.0   B = P1.1   C = P1.2  D = P1.3   G1= P2.2   G2 = P2.3  LCK = P2.4   SCK = P2.5     

這些對(duì)應(yīng)的引腳也可以由自己的喜好修改,但注意不要使用P0口,P0口不接上拉電阻驅(qū)動(dòng)點(diǎn)陣屏有可能會(huì)不亮。
回復(fù)

使用道具 舉報(bào)

15#
ID:97554 發(fā)表于 2018-9-27 14:26 | 只看該作者
Asher0120 發(fā)表于 2018-3-20 20:46
老鐵,32*64 需要幾個(gè)74HC595啊,有知道的嗎

每個(gè)8 × 8 模塊需要一色一個(gè)595,雙色的就是每個(gè)8 × 8點(diǎn)陣上需要2個(gè)595
回復(fù)

使用道具 舉報(bào)

16#
ID:97554 發(fā)表于 2018-9-27 14:28 | 只看該作者
hacehi 發(fā)表于 2018-7-10 10:26
樓主你好,你的作品太棒了,我也想試著做一個(gè),能否麻煩你傳一份元件清單,謝謝。只有代碼也不行啊。

我替樓主回答下吧,這個(gè)一個(gè)單片機(jī)最小系統(tǒng)板,一塊點(diǎn)陣屏,外加5v 5A以上的電源就可以了
回復(fù)

使用道具 舉報(bào)

17#
ID:97554 發(fā)表于 2018-9-27 14:30 | 只看該作者
vs795 發(fā)表于 2016-10-26 10:20
沒(méi)有詳細(xì)的做法給出來(lái)的嗎?

會(huì)燒寫(xiě)程序,然后把線一一對(duì)應(yīng)接上就可以了
回復(fù)

使用道具 舉報(bào)

18#
ID:97554 發(fā)表于 2018-9-27 14:42 | 只看該作者
vs795 發(fā)表于 2016-10-26 10:20
沒(méi)有詳細(xì)的做法給出來(lái)的嗎?


3264點(diǎn)陣屏的08接口圖示:


單片機(jī)與點(diǎn)陣屏連接圖示:





有以上器件的,單片機(jī)為STC  12C5A60S2 一塊3264的LED雙色點(diǎn)陣屏,按上圖連接好,把程序中的引腳修改為對(duì)應(yīng)硬件的引腳,把程序燒入單片機(jī)即可,無(wú)需其他元器件。這個(gè)供電是5V 供電,電流至少要保證在4A以上。
回復(fù)

使用道具 舉報(bào)

19#
ID:399179 發(fā)表于 2018-9-27 18:50 來(lái)自手機(jī) | 只看該作者
怎么改字?
回復(fù)

使用道具 舉報(bào)

20#
ID:399179 發(fā)表于 2018-9-28 06:51 來(lái)自手機(jī) | 只看該作者
很棒的樣子!
回復(fù)

使用道具 舉報(bào)

21#
ID:403231 發(fā)表于 2018-9-28 13:20 | 只看該作者
楊雪飛 發(fā)表于 2018-9-27 14:42
3264點(diǎn)陣屏的08接口圖示:

市售的那些點(diǎn)陣屏,是不是單片機(jī)已經(jīng)在背后了?因?yàn)樗麄兲峁└膬?nèi)容軟件寫(xiě)入就可以了。
回復(fù)

使用道具 舉報(bào)

22#
ID:97554 發(fā)表于 2018-9-29 15:16 | 只看該作者
一片到 發(fā)表于 2018-9-28 13:20
市售的那些點(diǎn)陣屏,是不是單片機(jī)已經(jīng)在背后了?因?yàn)樗麄兲峁└膬?nèi)容軟件寫(xiě)入就可以了。

不是的,像銀行那些用的叫號(hào)的條屏是定制的單片機(jī)控制卡,一般的是51單片機(jī)然后加的485通訊芯片通過(guò)485接口與叫號(hào)電腦相連。那些做成大的廣告屏用的是專(zhuān)用的控制卡,一般是ARM單片機(jī),內(nèi)部植有程序,可以通過(guò)U盤(pán),串口,或者WIFI進(jìn)行改字。
回復(fù)

使用道具 舉報(bào)

23#
ID:399179 發(fā)表于 2018-9-30 09:44 來(lái)自手機(jī) | 只看該作者
這個(gè)是不是有專(zhuān)用的軟件?就是直接在軟件上打字就可以顯示了
回復(fù)

使用道具 舉報(bào)

24#
ID:300212 發(fā)表于 2018-10-19 22:22 來(lái)自手機(jī) | 只看該作者
hacehi 發(fā)表于 2018-7-10 10:26
樓主你好,你的作品太棒了,我也想試著做一個(gè),能否麻煩你傳一份元件清單,謝謝。只有代碼也不行啊。

閑魚(yú)淘個(gè)二手的,便宜,這個(gè)32*64光買(mǎi)8*8點(diǎn)陣的話都比你淘二手貴的多,所以直接買(mǎi)現(xiàn)成的,剩下程序自己寫(xiě),我就是這樣干的,正在想辦法搞程序
回復(fù)

使用道具 舉報(bào)

25#
ID:300212 發(fā)表于 2018-10-19 22:29 來(lái)自手機(jī) | 只看該作者
楊雪飛 發(fā)表于 2018-9-27 14:28
我替樓主回答下吧,這個(gè)一個(gè)單片機(jī)最小系統(tǒng)板,一塊點(diǎn)陣屏,外加5v 5A以上的電源就可以了

5a以上電流?
回復(fù)

使用道具 舉報(bào)

26#
ID:411542 發(fā)表于 2018-12-10 15:20 | 只看該作者
楊雪飛 發(fā)表于 2018-9-27 14:24
這個(gè)無(wú)需仿真圖,3264點(diǎn)陣模塊上邊是標(biāo)準(zhǔn)的08接口,排列順序就是左邊上數(shù)第4腳EN   5腳 R1    6腳R2
右 ...

似乎有點(diǎn)明白。要是用esp8266當(dāng)MCU,也對(duì)應(yīng)的腳口接上,燒上固件就可以了吧?
回復(fù)

使用道具 舉報(bào)

27#
ID:523395 發(fā)表于 2019-4-28 10:29 | 只看該作者
謝謝分享謝謝老大
回復(fù)

使用道具 舉報(bào)

28#
ID:219600 發(fā)表于 2019-5-24 13:25 | 只看該作者
學(xué)習(xí)學(xué)習(xí),流動(dòng)字的我還不會(huì)
回復(fù)

使用道具 舉報(bào)

29#
ID:646541 發(fā)表于 2019-12-20 18:45 | 只看該作者
能不能幫忙畫(huà)個(gè)仿真圖
回復(fù)

使用道具 舉報(bào)

30#
ID:1046983 發(fā)表于 2022-10-11 10:44 | 只看該作者
太棒了,收藏了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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