久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3208|回復: 2
打印 上一主題 下一主題
收起左側

51單片機實現12864圖形點陣顯示C語言與匯編程序及資料

[復制鏈接]
跳轉到指定樓層
樓主
                DATA  VISION 的12864圖形點陣LCD屏
簡介: STN,有LED背光,無控制芯片,驅動芯片為M5299/M5298,4位數據接口,無內部負壓
/****************************************************************************************/
重要接口解析
CLP        CP    數據的移位時鐘
LIP        LD    數據鎖存信號,每移位一行數據鎖存一次,高電平時間不能小于1.46uS
FRMB        DF    交替信號(LCD驅動所需的交替信號)
FRP        FLM    幀信號
/****************************************************************************************/

LCD接口
1.    LED+
2.    LED-
3.    VCC
4.    GND
5.    -VP             我接-15V直流電壓,-20V到-5V都可以
6.    LD    I    5298的36腳(CP),5299的49腳(LOAD)
7.    DF    I    5298的35腳(DF)
8.    FLM    I    5298的37腳(IO1)
9.    CP    I    5299的47腳(CP)
10.    GND   
11.    D0        5299的43-46腳(D3-D0)
12.    D1
13.    D2
14.    D3
/****************************************************************************************/
編程思路:
         M5299是列驅動,本液晶使用了兩片M5299
         M5298是行驅動,本液晶使用了一片M5298
數據線D0--D3是接到M5299上面的(看上面的LCD接口列表),所以就決定了點陣數據在液晶屏上面是橫向填充的,這個很重要,你用軟件對漢字和圖片取模的時候要設置的,也就是設置為橫向取模。
     編程的時候主要的接口是:CP,LD,FLM,D0--D3
具體是這樣的:
     先給數據D0--D3,接著給移位時鐘CP(下降沿),再給
數據D0--D3,再給時鐘,……一直到給了32個時鐘的時候(此時數據移滿一行,32x4=128),給一個鎖存信號LD將數據送出.這個M5299的鎖存信號同時接到了M5298的CP端,而M5298是行驅動,其結果就是移到了下一行,又開始新一輪的送數據…….當送完整個一屏的時候,也就是一幀,給一個幀信號FLM.

要注意的地方:
      (1)要先給高4位數據,再給低4位數據
      (2)移位時鐘是下降沿使能
      (3)移完128點一行后再移8個時鐘再鎖存
      (4)我用C寫程序顯示畫面有點閃爍,用匯編就沒有這個問題
         畫面很清晰
/****************************************************************************************/
整個掃屏過程就像是電視機的顯像管掃描,如果你看過電視機的
原理,那就很容易理解了.

             數據移位時鐘CP    VS    顯像管行掃描
             數據鎖存信號LD    VS    顯像管場掃描

制作出來的實物圖如下:


單片機c語言源程序如下:
  1. //************************************************
  2. //                DATA  VISION 的12864圖形點陣LCD屏
  3. //簡介: STN,有LED背光,無控制芯片,驅動芯片為M5299/M5298,4位數據接口,無內部負壓
  4. //************************************************
  5. //程序功能:顯示圖片,AT89s51,用20MHz有源晶振
  6. //單位:桂林電子科技大學/電子工程學院/8201班
  7. //作者:覃秋霖
  8. //2008.5
  9. //************************************************

  10. #include "reg51.h"
  11. #define    DATA_POR   P0
  12. #define    uchar      unsigned char
  13. #define    uint       unsigned int

  14. sbit     LOAD     =  P0^0;
  15. sbit     DF       =  P0^1;
  16. sbit     FLM      =  P0^2;
  17. sbit     CLK      =  P0^3;

  18. uchar code  logo[]={
  19. /*--  寬度x高度=128x64  --*/
  20. 0x00,0x00,0x00,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  21. -------------------------見附件
  22. };

  23. //*******************************************
  24. //函數名稱:void disyPicture(uchar *Ptr)
  25. //函數功能:掃描顯示
  26. //形式參數:uchar *Ptr
  27. //行參說明:數組地址
  28. //返回參數:無
  29. //使用說明:無                  
  30. //*******************************************       
  31. void disyPicture(uchar *Ptr)
  32. {       
  33.         uchar  i,j;
  34.                 uchar  dataTemp1,dataTemp2;
  35.                 bit  DF_b;
  36.                 DF_b  =  0;

  37.        for(j=1;j<=64;j++) {
  38.        for(i=1;i<=16;i++) {  
  39.         dataTemp1  =  *(Ptr++);
  40.         DATA_POR = 0;
  41.         CLK = 1;
  42.          dataTemp2  = DATA_POR & 0x0f;
  43.         DATA_POR = (dataTemp1 & 0xf0) | dataTemp2;
  44.         CLK = 0;

  45.         CLK = 1;
  46.         dataTemp2  = DATA_POR & 0x0f;
  47.         DATA_POR = (dataTemp1 << 4) | dataTemp2;
  48.         CLK = 0;
  49.         }
  50.      DATA_POR  = DATA_POR & 0x0f;

  51.          i = 8;                
  52.      while(i--) {
  53.         CLK = 1;
  54.         CLK = 0;
  55.      }
  56.      LOAD  = 1;
  57.      LOAD  = 1;
  58.      LOAD  = 1;
  59.      LOAD  = 1;
  60.      LOAD  = 0;
  61.        
  62.     }
  63.      LOAD  =  1;
  64.      FLM   =  1;
  65.      DF    = ~DF_b;
  66.      LOAD  =  0;
  67.      CLK = 1;
  68. ……………………

  69. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

單片機匯編語言源程序:
  1. //************************************************
  2. //                DATA  VISION 的12864圖形點陣LCD屏
  3. //簡介: STN,有LED背光,無控制芯片,驅動芯片為M5299/M5298,4位數據接口,無內部負壓
  4. //************************************************
  5. //程序功能:顯示圖片,AT89s51,用20MHz有源晶振
  6. //單位:桂林電子科技大學/電子工程學院/8201班
  7. //作者:覃秋霖
  8. //2008.5
  9. //************************************************
  10. LOAD                BIT          P0.0                ;每行數據鎖存,每40個CLK執行一個LOAD
  11. DF                        BIT                     P0.1                        ;交流驅動信號
  12. FLM                        BIT                     P0.2                        ;幀信號,每64個LOAD執行一個FLM
  13. CLK                        BIT                     P0.3                        ;數據移位時鐘
  14. DATA_PORT       EQU          P0

  15.                 ORG                0000H
  16.                 LJMP             MAIN
  17.                 ORG                30H
  18. MAIN:        MOV                DATA_PORT ,#0
  19. LOOP3:        MOV                DPTR, #0400H-1       
  20.               MOV                R0, #64                        ;液晶64行
  21. LOOP4:          MOV                R1, #16                        ;16x8=128,8是下面送出的數據位數
  22. LOOP1:        INC                DPTR
  23.                 CLR                 A
  24.                 SETB         CLK
  25.                 MOVC         A, @A+DPTR                 ;讀數據
  26.                 ANL                 A, #0F0H            ;保留高4位     
  27.                 ANL                 DATA_PORT , #0FH         ;保留低4位       
  28.                 ORL                 DATA_PORT , A                 ;高低位相并輸出(輸出高4bit數據)
  29.                 CLR                 CLK                         ;數據移位               
  30.                 CLR                 A
  31.                 MOVC           A, @A+DPTR
  32.                 SWAP           A                          ;交換A中的高低4bit
  33.                 SETB           CLK                ;
  34.                 ANL           A, #0F0H               ;-----同上-------
  35.                 ANL           DATA_PORT , #0FH       ;               
  36.                 ORL           DATA_PORT , A              ;高低位相并輸出(輸出低4bit數據)
  37.                 CLR           CLK

  38.                 DJNZ        R1, LOOP1
  39.                 ANL        P1, #0FH

  40.                 SETB        CLK                ;;;;;;;;;;;;;;;;;8個移位時鐘(無數據)
  41.                      CLR                CLK                     ;
  42.                 SETB        CLK                             ;
  43.                      CLR                CLK                            ;
  44.                 SETB        CLK                             ;
  45.                      CLR                CLK                     ;
  46.                 SETB        CLK                             ;
  47.                      CLR                CLK                     ;
  48.                 SETB        CLK                             ;
  49.                      CLR                CLK                     ;
  50.                 SETB        CLK                             ;
  51.                      CLR                CLK                            ;
  52.                 SETB        CLK                             ;
  53.                      CLR                CLK                     ;
  54.                 SETB        CLK                             ;
  55.                      CLR                CLK     ;;;;;;;;;;;;;;;;;
  56.        
  57.                 DJNZ        R0, LOOP2
  58.                 SETB        LOAD                 
  59.                 SETB        FLM
  60.                 CPL        DF          ;按位取反
  61.                 CLR        LOAD
  62.                 SETB        CLK
  63.                 CLR        FLM
  64.                 LJMP        LOOP3
  65. LOOP2:        SETB        LOAD
  66.              NOP
  67.               NOP
  68.             CLR            LOAD
  69.             LJMP        LOOP4               

  70.                
  71.                 ORG                0400H
  72. //字庫
  73. DB   000H, 000H, 000H, 03FH, 0F8H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  74. DB   000H, 000H, 000H, 0FFH, 0FCH, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  75. DB   000H, 000H, 001H, 0FFH, 0FFH, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  76. DB   000H, 000H, 003H, 0FFH, 0FFH, 080H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  77. DB   000H, 000H, 007H, 0FFH, 0FFH, 0C0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  78. DB   000H, 000H, 00FH, 0FFH, 0FFH, 0C0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  79. DB   000H, 000H, 01FH, 0FFH, 0FFH, 0E0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  80. DB   000H, 000H, 01FH, 0FFH, 0FFH, 0E0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  81. DB   000H, 000H, 03FH, 0FFH, 0FFH, 0F0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  82. DB   000H, 000H, 03FH, 0FFH, 0FFH, 0F0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  83. DB   000H, 000H, 03FH, 0FFH, 0FFH, 0F0H, 000H, 000H, 000H, 000H, 007H, 0FFH, 0FFH, 0FFH, 080H, 000H
  84. DB   000H, 000H, 03FH, 0FFH, 0FFH, 0F0H, 000H, 000H, 000H, 000H, 0FFH, 0FFH, 0FFH, 0FFH, 0FEH, 000H
  85. DB   000H, 000H, 03FH, 0FFH, 0FFH, 0F0H, 000H, 000H, 000H, 007H, 0F8H, 000H, 000H, 000H, 01FH, 080H
  86. DB   000H, 000H, 03FH, 0FFH, 0FFH, 0F0H, 000H, 000H, 000H, 00FH, 080H, 000H, 000H, 000H, 001H, 0E0H
  87. DB   000H, 000H, 01FH, 0FFH, 0FFH, 0F0H, 000H, 000H, 000H, 01CH, 000H, 000H, 000H, 000H, 000H, 070H
  88. DB   000H, 000H, 01FH, 0FFH, 0FFH, 0E0H, 000H, 000H, 000H, 018H, 000H, 000H, 000H, 000H, 000H, 018H
  89. DB   000H, 000H, 00FH, 0FFH, 0FFH, 0C0H, 000H, 000H, 000H, 038H, 080H, 090H, 000H, 000H, 010H, 09CH
  90. DB   000H, 000H, 00FH, 0FFH, 0FFH, 0FFH, 080H, 000H, 000H, 030H, 081H, 0B0H, 000H, 000H, 030H, 08CH
  91. DB   000H, 000H, 00FH, 0FFH, 0FFH, 0FFH, 0E0H, 000H, 000H, 070H, 080H, 090H, 008H, 020H, 010H, 086H
  92. DB   000H, 000H, 003H, 0FFH, 0FFH, 0FFH, 0FCH, 000H, 000H, 060H, 0EEH, 097H, 008H, 020H, 090H, 086H
  93. DB   000H, 000H, 001H, 0FFH, 0FFH, 0FFH, 0FFH, 000H, 000H, 060H, 0AAH, 095H, 008H, 02EH, 0D7H, 086H
  94. DB   000H, 000H, 000H, 0FFH, 0FFH, 0FFH, 0E7H, 080H, 000H, 060H, 0AEH, 095H, 009H, 02AH, 094H, 086H
  95. DB   000H, 000H, 000H, 03FH, 0FFH, 007H, 0E1H, 0C0H, 000H, 020H, 0A8H, 095H, 005H, 04AH, 094H, 086H
  96. DB   000H, 000H, 000H, 00FH, 0FEH, 000H, 0E0H, 0E0H, 000H, 030H, 0AEH, 097H, 002H, 08EH, 097H, 086H
  97. DB   000H, 000H, 000H, 01FH, 0FCH, 000H, 070H, 070H, 000H, 038H, 000H, 000H, 000H, 000H, 000H, 006H
  98. DB   000H, 03FH, 080H, 03FH, 0F8H, 000H, 010H, 038H, 000H, 018H, 000H, 000H, 000H, 000H, 000H, 00CH
  99. DB   000H, 0FFH, 0E0H, 07FH, 0F8H, 000H, 000H, 03CH, 000H, 00CH, 000H, 000H, 000H, 000H, 000H, 01CH
  100. DB   003H, 0FFH, 0F8H, 07FH, 0F0H, 000H, 001H, 09CH, 00FH, 086H, 000H, 000H, 000H, 000H, 000H, 070H
  101. DB   007H, 0FFH, 0FCH, 0FFH, 0F0H, 000H, 0E3H, 0CEH, 01FH, 0C7H, 000H, 000H, 000H, 000H, 01FH, 0C0H
  102. DB   00FH, 0FFH, 0FFH, 0FFH, 0F0H, 001H, 0F3H, 0EEH, 03FH, 0E3H, 000H, 000H, 001H, 0FFH, 0FFH, 080H
  103. DB   01FH, 0FFH, 0FFH, 0FFH, 0F0H, 001H, 0FBH, 0F6H, 07FH, 0F1H, 080H, 000H, 07FH, 0FFH, 0E0H, 000H
  104. DB   01FH, 0FFH, 0FFH, 0FFH, 0F0H, 001H, 0FDH, 0F7H, 07FH, 0F1H, 080H, 000H, 0FEH, 000H, 000H, 000H
  105. DB   03FH, 0FFH, 0FFH, 0FFH, 0F8H, 000H, 0FFH, 0FFH, 07FH, 0F1H, 080H, 003H, 0C0H, 000H, 000H, 000H
  106. DB   03FH, 0FFH, 0FFH, 0FFH, 0F8H, 000H, 0FEH, 01BH, 07FH, 0F1H, 080H, 007H, 080H, 000H, 000H, 000H
  107. DB   03FH, 0FFH, 0FFH, 0FFH, 0F8H, 000H, 00EH, 07BH, 0FFH, 0F1H, 080H, 00EH, 000H, 000H, 000H, 000H
  108. DB   03FH, 0FFH, 0FFH, 0FFH, 0FCH, 000H, 01FH, 07FH, 0FFH, 0F1H, 080H, 01CH, 000H, 000H, 000H, 000H
  109. DB   03FH, 0FFH, 0FFH, 0FFH, 0FCH, 000H, 03FH, 07FH, 0FFH, 0E1H, 080H, 018H, 000H, 000H, 000H, 000H
  110. DB   03FH, 0FFH, 0FFH, 0FFH, 0FEH, 000H, 03FH, 07CH, 0FFH, 0C1H, 080H, 070H, 000H, 000H, 000H, 000H
  111. DB   03FH, 0FFH, 0FFH, 0FFH, 0FFH, 000H, 01FH, 038H, 07FH, 081H, 000H, 0E0H, 000H, 000H, 000H, 000H
  112. DB   03FH, 0FFH, 0FFH, 0FFH, 0FFH, 080H, 00FH, 070H, 03FH, 083H, 001H, 0C0H, 000H, 000H, 000H, 000H
  113. DB   03FH, 0FFH, 0FFH, 0FFH, 0FFH, 0C0H, 006H, 040H, 01DH, 086H, 007H, 000H, 000H, 000H, 000H, 000H
  114. DB   01FH, 0FFH, 0FFH, 0FFH, 0FFH, 0E0H, 000H, 000H, 001H, 084H, 01CH, 000H, 000H, 000H, 000H, 000H
  115. DB   01FH, 0FFH, 0FFH, 0FEH, 000H, 020H, 000H, 000H, 003H, 08CH, 070H, 000H, 000H, 000H, 000H, 000H
  116. DB   01FH, 0FFH, 0FFH, 0F8H, 000H, 000H, 000H, 000H, 003H, 09BH, 0C0H, 000H, 000H, 000H, 000H, 000H
  117. DB   00FH, 0FFH, 0FFH, 0F0H, 03CH, 000H, 000H, 000H, 007H, 01EH, 000H, 000H, 000H, 000H, 000H, 000H
  118. DB   007H, 0FFH, 0FDH, 0E0H, 07CH, 000H, 000H, 000H, 007H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  119. DB   003H, 0FFH, 0F8H, 0E0H, 0E0H, 000H, 000H, 000H, 00EH, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  120. DB   000H, 0FFH, 0E0H, 0E0H, 0F0H, 000H, 000H, 000H, 01CH, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  121. DB   000H, 03FH, 080H, 061H, 0BCH, 000H, 000H, 000H, 038H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  122. DB   000H, 000H, 000H, 061H, 09EH, 000H, 000H, 000H, 070H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  123. DB   000H, 000H, 000H, 030H, 01FH, 080H, 000H, 001H, 0E0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  124. DB   000H, 000H, 000H, 030H, 00FH, 0F0H, 000H, 007H, 0C0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  125. DB   000H, 000H, 000H, 018H, 00FH, 0FFH, 0E7H, 0FFH, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  126. DB   000H, 000H, 000H, 00CH, 01FH, 0FFH, 0FFH, 0FCH, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  127. DB   000H, 000H, 000H, 006H, 00FH, 0FFH, 0FFH, 0E0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  128. DB   000H, 000H, 000H, 003H, 0C7H, 0FFH, 0FEH, 0E0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  129. DB   000H, 000H, 000H, 000H, 0F3H, 08FH, 0FDH, 0C0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  130. DB   000H, 000H, 000H, 000H, 073H, 0C7H, 01FH, 080H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  131. DB   000H, 000H, 000H, 000H, 01FH, 0E3H, 07FH, 080H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  132. DB   000H, 000H, 000H, 000H, 00FH, 0FBH, 0FEH, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  133. DB   000H, 000H, 000H, 000H, 003H, 0FFH, 0FCH, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  134. DB   000H, 000H, 000H, 000H, 001H, 0FFH, 0F8H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  135. DB   000H, 000H, 000H, 000H, 000H, 07FH, 0E0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
  136. DB   000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H

  137. END
復制代碼


所有資料51hei提供下載:
51單片機實現的12864圖形點陣LCD控制器.rar (271.08 KB, 下載次數: 33)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:94449 發表于 2020-2-19 17:57 | 只看該作者
天天家里蹲,翻出個吃灰的12864,下樓主程序來點亮下,謝謝了。
回復

使用道具 舉報

板凳
ID:333807 發表于 2020-2-21 09:57 | 只看該作者
下樓主程序來點亮下,謝謝了。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产欧美综合在线 | 久久精品手机视频 | 伊人成人免费视频 | 97成人在线| 欧美成人一区二区三区 | 亚洲精品国产a久久久久久 中文字幕一区二区三区四区五区 | 超碰91在线 | 欧美精品一区二区三区蜜桃视频 | 久久精品一级 | .国产精品成人自产拍在线观看6 | 亚洲一区 中文字幕 | 国产精品久久久久久久7电影 | 亚洲日韩中文字幕一区 | 亚洲高清视频在线观看 | 黄片毛片 | 91在线视频免费观看 | 午夜视频在线观看一区二区 | 国产一区二区毛片 | 精品一级毛片 | 亚洲高清视频在线观看 | 久久久999国产精品 中文字幕在线精品 | 日本粉嫩一区二区三区视频 | 91爱爱·com | 国产一区二区三区免费视频 | 四虎成人精品永久免费av九九 | 亚洲精品乱码8久久久久久日本 | 中文字幕第一页在线 | 精品国产一区久久 | 亚洲精品一区二区三区蜜桃久 | 超碰日本| 国产一区二区自拍 | 国产欧美一级二级三级在线视频 | 国产一区二区在线免费观看 | 成人精品毛片 | 中文字幕成人在线 | 精品永久 | 精品日韩在线观看 | 国产一级一级国产 | 欧美 日韩 中文 | 国产午夜精品一区二区三区嫩草 | 久久99蜜桃综合影院免费观看 |