DATA VISION 的12864圖形點(diǎn)陣LCD屏
簡(jiǎn)介: STN,有LED背光,無控制芯片,驅(qū)動(dòng)芯片為M5299/M5298,4位數(shù)據(jù)接口,無內(nèi)部負(fù)壓
/****************************************************************************************/
重要接口解析
CLP CP 數(shù)據(jù)的移位時(shí)鐘
LIP LD 數(shù)據(jù)鎖存信號(hào),每移位一行數(shù)據(jù)鎖存一次,高電平時(shí)間不能小于1.46uS
FRMB DF 交替信號(hào)(LCD驅(qū)動(dòng)所需的交替信號(hào))
FRP FLM 幀信號(hào)
/****************************************************************************************/
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是列驅(qū)動(dòng),本液晶使用了兩片M5299
M5298是行驅(qū)動(dòng),本液晶使用了一片M5298
數(shù)據(jù)線D0--D3是接到M5299上面的(看上面的LCD接口列表),所以就決定了點(diǎn)陣數(shù)據(jù)在液晶屏上面是橫向填充的,這個(gè)很重要,你用軟件對(duì)漢字和圖片取模的時(shí)候要設(shè)置的,也就是設(shè)置為橫向取模。
編程的時(shí)候主要的接口是:CP,LD,F(xiàn)LM,D0--D3
具體是這樣的:
先給數(shù)據(jù)D0--D3,接著給移位時(shí)鐘CP(下降沿),再給
數(shù)據(jù)D0--D3,再給時(shí)鐘,……一直到給了32個(gè)時(shí)鐘的時(shí)候(此時(shí)數(shù)據(jù)移滿一行,32x4=128),給一個(gè)鎖存信號(hào)LD將數(shù)據(jù)送出.這個(gè)M5299的鎖存信號(hào)同時(shí)接到了M5298的CP端,而M5298是行驅(qū)動(dòng),其結(jié)果就是移到了下一行,又開始新一輪的送數(shù)據(jù)…….當(dāng)送完整個(gè)一屏的時(shí)候,也就是一幀,給一個(gè)幀信號(hào)FLM.
要注意的地方:
(1)要先給高4位數(shù)據(jù),再給低4位數(shù)據(jù)
(2)移位時(shí)鐘是下降沿使能
(3)移完128點(diǎn)一行后再移8個(gè)時(shí)鐘再鎖存
(4)我用C寫程序顯示畫面有點(diǎn)閃爍,用匯編就沒有這個(gè)問題
畫面很清晰
/****************************************************************************************/
整個(gè)掃屏過程就像是電視機(jī)的顯像管掃描,如果你看過電視機(jī)的
原理,那就很容易理解了.
數(shù)據(jù)移位時(shí)鐘CP VS 顯像管行掃描
數(shù)據(jù)鎖存信號(hào)LD VS 顯像管場(chǎng)掃描
制作出來的實(shí)物圖如下:
匯編寫的.JPG (52.88 KB, 下載次數(shù): 39)
下載附件
2019-6-12 18:15 上傳
C寫的.JPG (42.65 KB, 下載次數(shù): 47)
下載附件
2019-6-12 18:15 上傳
單片機(jī)c語言源程序如下:
- //************************************************
- // DATA VISION 的12864圖形點(diǎn)陣LCD屏
- //簡(jiǎn)介: STN,有LED背光,無控制芯片,驅(qū)動(dòng)芯片為M5299/M5298,4位數(shù)據(jù)接口,無內(nèi)部負(fù)壓
- //************************************************
- //程序功能:顯示圖片,AT89s51,用20MHz有源晶振
- //單位:桂林電子科技大學(xué)/電子工程學(xué)院/8201班
- //作者:覃秋霖
- //2008.5
- //************************************************
- #include "reg51.h"
- #define DATA_POR P0
- #define uchar unsigned char
- #define uint unsigned int
- sbit LOAD = P0^0;
- sbit DF = P0^1;
- sbit FLM = P0^2;
- sbit CLK = P0^3;
- uchar code logo[]={
- /*-- 寬度x高度=128x64 --*/
- 0x00,0x00,0x00,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- -------------------------見附件
- };
- //*******************************************
- //函數(shù)名稱:void disyPicture(uchar *Ptr)
- //函數(shù)功能:掃描顯示
- //形式參數(shù):uchar *Ptr
- //行參說明:數(shù)組地址
- //返回參數(shù):無
- //使用說明:無
- //*******************************************
- void disyPicture(uchar *Ptr)
- {
- uchar i,j;
- uchar dataTemp1,dataTemp2;
- bit DF_b;
- DF_b = 0;
- for(j=1;j<=64;j++) {
- for(i=1;i<=16;i++) {
- dataTemp1 = *(Ptr++);
- DATA_POR = 0;
- CLK = 1;
- dataTemp2 = DATA_POR & 0x0f;
- DATA_POR = (dataTemp1 & 0xf0) | dataTemp2;
- CLK = 0;
- CLK = 1;
- dataTemp2 = DATA_POR & 0x0f;
- DATA_POR = (dataTemp1 << 4) | dataTemp2;
- CLK = 0;
- }
- DATA_POR = DATA_POR & 0x0f;
- i = 8;
- while(i--) {
- CLK = 1;
- CLK = 0;
- }
- LOAD = 1;
- LOAD = 1;
- LOAD = 1;
- LOAD = 1;
- LOAD = 0;
-
- }
- LOAD = 1;
- FLM = 1;
- DF = ~DF_b;
- LOAD = 0;
- CLK = 1;
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
單片機(jī)匯編語言源程序:
- //************************************************
- // DATA VISION 的12864圖形點(diǎn)陣LCD屏
- //簡(jiǎn)介: STN,有LED背光,無控制芯片,驅(qū)動(dòng)芯片為M5299/M5298,4位數(shù)據(jù)接口,無內(nèi)部負(fù)壓
- //************************************************
- //程序功能:顯示圖片,AT89s51,用20MHz有源晶振
- //單位:桂林電子科技大學(xué)/電子工程學(xué)院/8201班
- //作者:覃秋霖
- //2008.5
- //************************************************
- LOAD BIT P0.0 ;每行數(shù)據(jù)鎖存,每40個(gè)CLK執(zhí)行一個(gè)LOAD
- DF BIT P0.1 ;交流驅(qū)動(dòng)信號(hào)
- FLM BIT P0.2 ;幀信號(hào),每64個(gè)LOAD執(zhí)行一個(gè)FLM
- CLK BIT P0.3 ;數(shù)據(jù)移位時(shí)鐘
- DATA_PORT EQU P0
- ORG 0000H
- LJMP MAIN
- ORG 30H
- MAIN: MOV DATA_PORT ,#0
- LOOP3: MOV DPTR, #0400H-1
- MOV R0, #64 ;液晶64行
- LOOP4: MOV R1, #16 ;16x8=128,8是下面送出的數(shù)據(jù)位數(shù)
- LOOP1: INC DPTR
- CLR A
- SETB CLK
- MOVC A, @A+DPTR ;讀數(shù)據(jù)
- ANL A, #0F0H ;保留高4位
- ANL DATA_PORT , #0FH ;保留低4位
- ORL DATA_PORT , A ;高低位相并輸出(輸出高4bit數(shù)據(jù))
- CLR CLK ;數(shù)據(jù)移位
- CLR A
- MOVC A, @A+DPTR
- SWAP A ;交換A中的高低4bit
- SETB CLK ;
- ANL A, #0F0H ;-----同上-------
- ANL DATA_PORT , #0FH ;
- ORL DATA_PORT , A ;高低位相并輸出(輸出低4bit數(shù)據(jù))
- CLR CLK
- DJNZ R1, LOOP1
- ANL P1, #0FH
- SETB CLK ;;;;;;;;;;;;;;;;;8個(gè)移位時(shí)鐘(無數(shù)據(jù))
- CLR CLK ;
- SETB CLK ;
- CLR CLK ;
- SETB CLK ;
- CLR CLK ;
- SETB CLK ;
- CLR CLK ;
- SETB CLK ;
- CLR CLK ;
- SETB CLK ;
- CLR CLK ;
- SETB CLK ;
- CLR CLK ;
- SETB CLK ;
- CLR CLK ;;;;;;;;;;;;;;;;;
-
- DJNZ R0, LOOP2
- SETB LOAD
- SETB FLM
- CPL DF ;按位取反
- CLR LOAD
- SETB CLK
- CLR FLM
- LJMP LOOP3
- LOOP2: SETB LOAD
- NOP
- NOP
- CLR LOAD
- LJMP LOOP4
-
- ORG 0400H
- //字庫
- DB 000H, 000H, 000H, 03FH, 0F8H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 000H, 0FFH, 0FCH, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 001H, 0FFH, 0FFH, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 003H, 0FFH, 0FFH, 080H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 007H, 0FFH, 0FFH, 0C0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 00FH, 0FFH, 0FFH, 0C0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 01FH, 0FFH, 0FFH, 0E0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 01FH, 0FFH, 0FFH, 0E0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 03FH, 0FFH, 0FFH, 0F0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 03FH, 0FFH, 0FFH, 0F0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 03FH, 0FFH, 0FFH, 0F0H, 000H, 000H, 000H, 000H, 007H, 0FFH, 0FFH, 0FFH, 080H, 000H
- DB 000H, 000H, 03FH, 0FFH, 0FFH, 0F0H, 000H, 000H, 000H, 000H, 0FFH, 0FFH, 0FFH, 0FFH, 0FEH, 000H
- DB 000H, 000H, 03FH, 0FFH, 0FFH, 0F0H, 000H, 000H, 000H, 007H, 0F8H, 000H, 000H, 000H, 01FH, 080H
- DB 000H, 000H, 03FH, 0FFH, 0FFH, 0F0H, 000H, 000H, 000H, 00FH, 080H, 000H, 000H, 000H, 001H, 0E0H
- DB 000H, 000H, 01FH, 0FFH, 0FFH, 0F0H, 000H, 000H, 000H, 01CH, 000H, 000H, 000H, 000H, 000H, 070H
- DB 000H, 000H, 01FH, 0FFH, 0FFH, 0E0H, 000H, 000H, 000H, 018H, 000H, 000H, 000H, 000H, 000H, 018H
- DB 000H, 000H, 00FH, 0FFH, 0FFH, 0C0H, 000H, 000H, 000H, 038H, 080H, 090H, 000H, 000H, 010H, 09CH
- DB 000H, 000H, 00FH, 0FFH, 0FFH, 0FFH, 080H, 000H, 000H, 030H, 081H, 0B0H, 000H, 000H, 030H, 08CH
- DB 000H, 000H, 00FH, 0FFH, 0FFH, 0FFH, 0E0H, 000H, 000H, 070H, 080H, 090H, 008H, 020H, 010H, 086H
- DB 000H, 000H, 003H, 0FFH, 0FFH, 0FFH, 0FCH, 000H, 000H, 060H, 0EEH, 097H, 008H, 020H, 090H, 086H
- DB 000H, 000H, 001H, 0FFH, 0FFH, 0FFH, 0FFH, 000H, 000H, 060H, 0AAH, 095H, 008H, 02EH, 0D7H, 086H
- DB 000H, 000H, 000H, 0FFH, 0FFH, 0FFH, 0E7H, 080H, 000H, 060H, 0AEH, 095H, 009H, 02AH, 094H, 086H
- DB 000H, 000H, 000H, 03FH, 0FFH, 007H, 0E1H, 0C0H, 000H, 020H, 0A8H, 095H, 005H, 04AH, 094H, 086H
- DB 000H, 000H, 000H, 00FH, 0FEH, 000H, 0E0H, 0E0H, 000H, 030H, 0AEH, 097H, 002H, 08EH, 097H, 086H
- DB 000H, 000H, 000H, 01FH, 0FCH, 000H, 070H, 070H, 000H, 038H, 000H, 000H, 000H, 000H, 000H, 006H
- DB 000H, 03FH, 080H, 03FH, 0F8H, 000H, 010H, 038H, 000H, 018H, 000H, 000H, 000H, 000H, 000H, 00CH
- DB 000H, 0FFH, 0E0H, 07FH, 0F8H, 000H, 000H, 03CH, 000H, 00CH, 000H, 000H, 000H, 000H, 000H, 01CH
- DB 003H, 0FFH, 0F8H, 07FH, 0F0H, 000H, 001H, 09CH, 00FH, 086H, 000H, 000H, 000H, 000H, 000H, 070H
- DB 007H, 0FFH, 0FCH, 0FFH, 0F0H, 000H, 0E3H, 0CEH, 01FH, 0C7H, 000H, 000H, 000H, 000H, 01FH, 0C0H
- DB 00FH, 0FFH, 0FFH, 0FFH, 0F0H, 001H, 0F3H, 0EEH, 03FH, 0E3H, 000H, 000H, 001H, 0FFH, 0FFH, 080H
- DB 01FH, 0FFH, 0FFH, 0FFH, 0F0H, 001H, 0FBH, 0F6H, 07FH, 0F1H, 080H, 000H, 07FH, 0FFH, 0E0H, 000H
- DB 01FH, 0FFH, 0FFH, 0FFH, 0F0H, 001H, 0FDH, 0F7H, 07FH, 0F1H, 080H, 000H, 0FEH, 000H, 000H, 000H
- DB 03FH, 0FFH, 0FFH, 0FFH, 0F8H, 000H, 0FFH, 0FFH, 07FH, 0F1H, 080H, 003H, 0C0H, 000H, 000H, 000H
- DB 03FH, 0FFH, 0FFH, 0FFH, 0F8H, 000H, 0FEH, 01BH, 07FH, 0F1H, 080H, 007H, 080H, 000H, 000H, 000H
- DB 03FH, 0FFH, 0FFH, 0FFH, 0F8H, 000H, 00EH, 07BH, 0FFH, 0F1H, 080H, 00EH, 000H, 000H, 000H, 000H
- DB 03FH, 0FFH, 0FFH, 0FFH, 0FCH, 000H, 01FH, 07FH, 0FFH, 0F1H, 080H, 01CH, 000H, 000H, 000H, 000H
- DB 03FH, 0FFH, 0FFH, 0FFH, 0FCH, 000H, 03FH, 07FH, 0FFH, 0E1H, 080H, 018H, 000H, 000H, 000H, 000H
- DB 03FH, 0FFH, 0FFH, 0FFH, 0FEH, 000H, 03FH, 07CH, 0FFH, 0C1H, 080H, 070H, 000H, 000H, 000H, 000H
- DB 03FH, 0FFH, 0FFH, 0FFH, 0FFH, 000H, 01FH, 038H, 07FH, 081H, 000H, 0E0H, 000H, 000H, 000H, 000H
- DB 03FH, 0FFH, 0FFH, 0FFH, 0FFH, 080H, 00FH, 070H, 03FH, 083H, 001H, 0C0H, 000H, 000H, 000H, 000H
- DB 03FH, 0FFH, 0FFH, 0FFH, 0FFH, 0C0H, 006H, 040H, 01DH, 086H, 007H, 000H, 000H, 000H, 000H, 000H
- DB 01FH, 0FFH, 0FFH, 0FFH, 0FFH, 0E0H, 000H, 000H, 001H, 084H, 01CH, 000H, 000H, 000H, 000H, 000H
- DB 01FH, 0FFH, 0FFH, 0FEH, 000H, 020H, 000H, 000H, 003H, 08CH, 070H, 000H, 000H, 000H, 000H, 000H
- DB 01FH, 0FFH, 0FFH, 0F8H, 000H, 000H, 000H, 000H, 003H, 09BH, 0C0H, 000H, 000H, 000H, 000H, 000H
- DB 00FH, 0FFH, 0FFH, 0F0H, 03CH, 000H, 000H, 000H, 007H, 01EH, 000H, 000H, 000H, 000H, 000H, 000H
- DB 007H, 0FFH, 0FDH, 0E0H, 07CH, 000H, 000H, 000H, 007H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 003H, 0FFH, 0F8H, 0E0H, 0E0H, 000H, 000H, 000H, 00EH, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 0FFH, 0E0H, 0E0H, 0F0H, 000H, 000H, 000H, 01CH, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 03FH, 080H, 061H, 0BCH, 000H, 000H, 000H, 038H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 000H, 061H, 09EH, 000H, 000H, 000H, 070H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 000H, 030H, 01FH, 080H, 000H, 001H, 0E0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 000H, 030H, 00FH, 0F0H, 000H, 007H, 0C0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 000H, 018H, 00FH, 0FFH, 0E7H, 0FFH, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 000H, 00CH, 01FH, 0FFH, 0FFH, 0FCH, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 000H, 006H, 00FH, 0FFH, 0FFH, 0E0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 000H, 003H, 0C7H, 0FFH, 0FEH, 0E0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 000H, 000H, 0F3H, 08FH, 0FDH, 0C0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 000H, 000H, 073H, 0C7H, 01FH, 080H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 000H, 000H, 01FH, 0E3H, 07FH, 080H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 000H, 000H, 00FH, 0FBH, 0FEH, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 000H, 000H, 003H, 0FFH, 0FCH, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 000H, 000H, 001H, 0FFH, 0F8H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 000H, 000H, 000H, 07FH, 0E0H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
- END
復(fù)制代碼
0.png (4.25 KB, 下載次數(shù): 58)
下載附件
2019-6-12 18:16 上傳
所有資料51hei提供下載:
51單片機(jī)實(shí)現(xiàn)的12864圖形點(diǎn)陣LCD控制器.rar
(271.08 KB, 下載次數(shù): 33)
2019-6-12 10:58 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|