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

QQ登錄

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

搜索

我自己用8×8連16×16,為什么不能用啊,只有第八行和第16行亮

查看數(shù): 2495 | 評(píng)論數(shù): 5 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁(yè)<-左 右->
    組圖打開(kāi)中,請(qǐng)稍候......
發(fā)布時(shí)間: 2018-12-25 01:33

正文摘要:

回復(fù)

ID:155507 發(fā)表于 2018-12-25 10:03

  1. /*-----------------------------------------------
  2.   名稱:595控制4漢字點(diǎn)陣屏
  3.   修改:無(wú) 51單片機(jī)
  4.   內(nèi)容:屏+5V、GND連接電源5V
  5.   現(xiàn)象:使用普通速度51系列單片機(jī)。單個(gè)漢字屏出現(xiàn)紅色“德”
  6. ------------------------------------------------*/
  7. #include<reg52.h>

  8. sbit T_STR = P2^6;       //鎖存引腳,屏上標(biāo)識(shí)位STR
  9. sbit R1    = P0^4;       //數(shù)據(jù)引腳,屏上標(biāo)識(shí)R1
  10. sbit G1    = P2^4;       //數(shù)據(jù)引腳,屏上標(biāo)識(shí)G1
  11. sbit T_CLK = P2^5;       //時(shí)鐘引腳,屏上標(biāo)識(shí)位CLK
  12. sbit OE    = P2^1;       //使能引腳,屏上標(biāo)識(shí)EN/OE

  13. unsigned char tab[8];
  14. unsigned char DIS[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};//行數(shù)據(jù)

  15. /*-----------------------------------------------
  16.              16x16漢字取模數(shù)據(jù)
  17. ------------------------------------------------*/
  18. unsigned char code hztest[][32]=    //二維數(shù)組,目的是減少運(yùn)算,可以用最基本的一維數(shù)組,每個(gè)漢字有32個(gè)字節(jié)數(shù)據(jù)
  19. {
  20. /*--  文字:  德  --*/
  21. /*--  宋體12;  此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16   --*/
  22. 0x08,0x02,0x08,0x02,0xF4,0x7F,0x02,0x02,0xE9,0x3F,0x28,0x25,0x24,0x25,0xE6,0x3F,
  23. 0x05,0x00,0xF4,0x7F,0x04,0x02,0x04,0x24,0xA4,0x44,0xA4,0x50,0x94,0x10,0x04,0x1F,

  24. /*--  文字:  飛  --*/
  25. /*--  宋體12;  此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16   --*/
  26. 0x00,0x00,0xFF,0x03,0x00,0x02,0x00,0x22,0x00,0x12,0x00,0x0A,0x00,0x06,0x00,0x0A,
  27. 0x00,0x12,0x00,0x22,0x00,0x04,0x00,0x04,0x00,0x48,0x00,0x50,0x00,0x60,0x00,0x40,

  28. /*--  文字:  萊  --*/
  29. /*--  宋體12;  此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16   --*/
  30. 0x10,0x04,0x10,0x04,0xFF,0x7F,0x90,0x04,0x80,0x00,0xFC,0x1F,0x80,0x00,0x88,0x08,
  31. 0x90,0x04,0xFE,0x3F,0xC0,0x01,0xA0,0x02,0x90,0x04,0x8C,0x18,0x83,0x60,0x80,0x00,

  32. };
  33. /*-----------------------------------------------
  34.              向595寫入一個(gè)字節(jié) 單紅色
  35. ------------------------------------------------*/
  36. void InputByte( unsigned  char DataR1) //寫一個(gè)字節(jié)
  37. {
  38. unsigned  char i;
  39. for(i=8; i>0; i--)
  40. {
  41. R1 = !(DataR1&0x01);                  
  42. T_CLK = 0;
  43. T_CLK = 1;
  44. DataR1 = DataR1 >> 1;
  45. }
  46. }
  47. /*-----------------------------------------------
  48.              向595寫入兩個(gè)字節(jié) 雙色
  49. ------------------------------------------------*/
  50. /*
  51. void Input2Byte( unsigned  char DataR1,unsigned  char DataG1) //寫一個(gè)字節(jié)
  52. {
  53. unsigned  char i;
  54. for(i=8; i>0; i--)
  55. {
  56. R1 = !(DataR1&0x01);   
  57. G1 = !(DataG1&0x01);               
  58. T_CLK = 0;
  59. T_CLK = 1;
  60. DataR1 = DataR1 >> 1;
  61. DataG1 = DataG1 >> 1;
  62. }
  63. }
  64. */

  65. /*-----------------------------------------------
  66.             初始化定時(shí)器,做為動(dòng)態(tài)掃描
  67. ------------------------------------------------*/
  68. void Init_Timer1(void)
  69. {
  70. TMOD |= 0x10;                             
  71. EA=1;                      //總中斷使能
  72. ET1=1;                     //定時(shí)中斷使能
  73. TR1=1;                     //打開(kāi)定時(shí)器開(kāi)關(guān)
  74. }


  75. /*-----------------------------------------------
  76.                       主程序
  77. ------------------------------------------------*/
  78. main()
  79. {
  80. Init_Timer1(); //初始化定時(shí)器

  81. while(1)
  82. {
  83.   //可以加入其它的控制程序
  84. }
  85. }

  86. /*-----------------------------------------------
  87.              定時(shí)器執(zhí)行動(dòng)態(tài)掃描
  88. ------------------------------------------------*/
  89. void Timer1_isr(void) interrupt 3
  90. {

  91. static unsigned char count,j;
  92. unsigned char i;
  93. TH1=0xff;                //重裝初值
  94. TL1=0;


  95. T_STR=0;       //鎖存釋放
  96.    
  97. for(j=0;j<1;j++) //取每個(gè)漢字的前2個(gè)字節(jié),數(shù)據(jù)傳輸完成后鎖存輸出即可 j表示漢字個(gè)數(shù),如果是3個(gè)漢字屏就可以修改成3
  98.         {
  99.     InputByte(~hztest[j][i]);
  100.     InputByte(~hztest[j][i+1]);
  101.         }
  102. OE=1;  //暫時(shí)關(guān)閉屏幕,防止出現(xiàn)鬼影,如果沒(méi)有使用該引腳控制則會(huì)出現(xiàn)拖影現(xiàn)象。
  103. T_STR=1;      //鎖存有效,此時(shí)一行的數(shù)據(jù)顯示到屏上
  104. P0=DIS[15-count]|0xf0;//用P0口的前4位控制16行,屏內(nèi)部通過(guò)4-16譯碼器工作,循環(huán)掃描其他15行
  105. OE=0;//使能
  106. count++;
  107. i+=2;              //累加調(diào)用下一行數(shù)據(jù)
  108. if(count==16)
  109.     count=0;
  110. if(i==32)
  111.     i=0;

  112. }
復(fù)制代碼
ID:155507 發(fā)表于 2018-12-25 09:25
程序呢?線路圖呢?什么都沒(méi)有,人家想幫你也幫不上呀

我給你來(lái)個(gè)試試
  1. /*-----------------------------------------------
  2.   名稱:595控制4漢字點(diǎn)陣屏
  3.   修改:無(wú) 51單片機(jī)
  4.   內(nèi)容:屏+5V、GND連接電源5V
  5.         P0.0-P0.3分別連接A、B、C、D,用于控制16行,通過(guò)2路HC138控制
  6.         SCK時(shí)鐘連接P2.5
  7.         LATCH鎖存連接P2.6
  8.         R1紅色數(shù)據(jù)信號(hào)連接至P0.4
  9.         G1綠色數(shù)據(jù)信號(hào)連接至P2.4,如果使用單紅色屏此信號(hào)無(wú)需連接
  10.         OE使能端一般接GND,可以用IO引腳PWM控制亮度
  11.         或者使用此引腳控制拖尾現(xiàn)象。
  12.   現(xiàn)象:使用普通速度51系列單片機(jī)。單個(gè)漢字屏出現(xiàn)紅色“德”
  13. ------------------------------------------------*/
  14. #include<reg52.h>

  15. sbit T_STR = P2^6;       //鎖存引腳,屏上標(biāo)識(shí)位STR
  16. sbit R1    = P0^4;       //數(shù)據(jù)引腳,屏上標(biāo)識(shí)R1
  17. sbit G1    = P2^4;       //數(shù)據(jù)引腳,屏上標(biāo)識(shí)G1
  18. sbit T_CLK = P2^5;       //時(shí)鐘引腳,屏上標(biāo)識(shí)位CLK
  19. sbit OE    = P2^1;       //使能引腳,屏上標(biāo)識(shí)EN/OE

  20. unsigned char tab[8];
  21. unsigned char DIS[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};//行數(shù)據(jù)

  22. /*-----------------------------------------------
  23.              16x16漢字取模數(shù)據(jù)
  24. ------------------------------------------------*/
  25. unsigned char code hztest[][32]=    //二維數(shù)組,目的是減少運(yùn)算,可以用最基本的一維數(shù)組,每個(gè)漢字有32個(gè)字節(jié)數(shù)據(jù)
  26. {
  27. /*--  文字:  德  --*/
  28. /*--  宋體12;  此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16   --*/
  29. 0x08,0x02,0x08,0x02,0xF4,0x7F,0x02,0x02,0xE9,0x3F,0x28,0x25,0x24,0x25,0xE6,0x3F,
  30. 0x05,0x00,0xF4,0x7F,0x04,0x02,0x04,0x24,0xA4,0x44,0xA4,0x50,0x94,0x10,0x04,0x1F,

  31. /*--  文字:  飛  --*/
  32. /*--  宋體12;  此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16   --*/
  33. 0x00,0x00,0xFF,0x03,0x00,0x02,0x00,0x22,0x00,0x12,0x00,0x0A,0x00,0x06,0x00,0x0A,
  34. 0x00,0x12,0x00,0x22,0x00,0x04,0x00,0x04,0x00,0x48,0x00,0x50,0x00,0x60,0x00,0x40,

  35. /*--  文字:  萊  --*/
  36. /*--  宋體12;  此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16   --*/
  37. 0x10,0x04,0x10,0x04,0xFF,0x7F,0x90,0x04,0x80,0x00,0xFC,0x1F,0x80,0x00,0x88,0x08,
  38. 0x90,0x04,0xFE,0x3F,0xC0,0x01,0xA0,0x02,0x90,0x04,0x8C,0x18,0x83,0x60,0x80,0x00,
復(fù)制代碼



led16x16_2.jpg (277.76 KB, 下載次數(shù): 13)

led16x16_2.jpg
ID:446674 發(fā)表于 2018-12-25 09:16
請(qǐng)說(shuō)清楚問(wèn)題,發(fā)照片、程序、電路圖

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

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

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