單片機(jī)LCD顯示漢字程序
S_I EQU P1.5 ;內(nèi)容發(fā)送
SCK EQU P1.7 ;串行CP端
RCK EQU P1.6 ;輸出CP端
EN EQU P1.4 ;EN為138使能端.高電平關(guān)閉顯示;低電平顯示
;*********************單片機(jī)LCD顯示漢字程序-匯編語言編寫****************************
;*********************http://www.51hei.com原創(chuàng)*****************************
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: SETB EN ;關(guān)顯示端口
MOV SP,#70H ;堆棧首址
MOV DPTR,#TAB;賦查表初址
MOV R3,#0
ANL P1,#0F0H
setb p1.0
MOV R7,P1
MOV R6,#17 ;掃描的行數(shù),共16行,經(jīng)行程序處理后顯示應(yīng)顯示的行
FF: LCALL QQ ;將顯示內(nèi)容移入內(nèi)存單元
LCALL OUT_595 ;發(fā)送串行口子程序
CALL DELAY
CLR RCK;將輸出CP變?yōu)榈碗娖綖樯仙刈鳒?zhǔn)備
SETB EN ;將使能端變?yōu)楦唠娖綖橄陆笛刈鳒?zhǔn)備
MOV P1,R7 ;送P1口
MOV R7,P1
INC R7
SETB RCK;輸出CP為上升沿,顯示一個(gè)
CLR EN ;138可顯示
DJNZ R6,FF
LJMP MAIN;如顯示完,就重新開始顯示內(nèi)容
;*************************顯示漢字內(nèi)容移入內(nèi)存單元子程序*************************
QQ: MOV R0,#30H
MOV R4,#8 ;如每幕顯示字?jǐn)?shù)
MOV A,R3 ;A清零
QQ1: MOVC A, @A+DPTR
MOV @R0,A
INC R0;下一個(gè)地址
MOV A,R3
INC A
MOVC A,@A+DPTR
MOV @R0,A
MOV A,R3 ;A清零
ADD A,#32 ;加32,移到下一個(gè)字節(jié)的對應(yīng)位置
MOV R3,A ;r3等于32
INC R0;繼續(xù)下一個(gè)地址
DJNZ R4,QQ1
MOV A,R3
SUBB A,#126
SUBB A,#126;每次顯示4個(gè)字,減126
MOV R3,A
RET
;*****************************發(fā)送漢字?jǐn)?shù)據(jù)到串口單片機(jī)子程序*********************************
OUT_595:MOV R0,#30H
MOV R5,#16;一行有8個(gè)字節(jié);如每次顯示字?jǐn)?shù)不同要作相應(yīng)改動(dòng)
DD: CLR C ;清C方便每個(gè)字節(jié)的移動(dòng)
MOV R2,#8
MOV A,@R0;將顯存的字節(jié)的單元移入A
LCALL DD1;調(diào)用顯示一個(gè)字節(jié)的子程序
INC R0;指向下一個(gè)顯存的單元
DJNZ R5,DD;8個(gè)字節(jié)全部移入了沒有,未繼續(xù)
RET
DD1: CLR SCK;清串行CP端
RLC A;將每個(gè)字節(jié)移位
MOV S_I,C;將移入C的位移入信號端
SETB SCK;觸發(fā)串行CP端
DJNZ R2,DD1;每個(gè)字節(jié)位移8次夠了
RET
DELAY: MOV 53H,#10
DELY1: MOV 54H,#030H
DELY: NOP
NOP
DJNZ 54H,DELY
DJNZ 53H,DELY1
RET
;***********************************漢字字碼表-LCD顯示漢字程序按照這些點(diǎn)陣逐行掃描我們?nèi)庋劬涂吹綕h字出現(xiàn)再了lcd屏幕上了*******************
TAB:
;陽碼逐行順向
DB 0FEH, 0FFH, 080H, 003H, 0FEH, 0FFH, 0F0H, 01FH, 0FFH, 0FFH, 0E0H, 00FH, 0EFH, 0EFH, 0E0H, 00FH;
DB 0F7H, 0BFH, 000H, 001H, 0EFH, 0FFH, 081H, 087H, 0EDH, 0B7H, 0DDH, 0B7H, 0B5H, 087H, 07BH, 0FFH;"嘉",0
DB 0FEH, 0FFH, 0FFH, 07FH, 0C0H, 003H, 0DFH, 0FFH, 0DDH, 0FFH, 0DEH, 0F7H, 0CFH, 073H, 0D7H, 037H;
DB 0DBH, 06FH, 0DBH, 06FH, 0D9H, 0DFH, 0BBH, 0DFH, 0BFH, 0BFH, 0A0H, 001H, 07FH, 0FFH, 0FFH, 0FFH;"應(yīng)",1
DB 0FEH, 0F7H, 0EFH, 073H, 0F3H, 037H, 0F7H, 06FH, 080H, 001H, 0BFH, 0FBH, 070H, 017H, 0FFH, 0BFH;
DB 0FFH, 07FH, 080H, 001H, 0FFH, 07FH, 0FFH, 07FH, 0FFH, 07FH, 0FFH, 07FH, 0FDH, 07FH, 0FEH, 0FFH;"學(xué)",2
DB 0FFH, 07FH, 007H, 0BFH, 070H, 001H, 06BH, 0FBH, 05FH, 0FFH, 05CH, 007H, 06FH, 0FFH, 077H, 0FFH;
DB 070H, 001H, 056H, 0DFH, 06EH, 0DFH, 07EH, 0DFH, 07DH, 0DDH, 07DH, 0DDH, 07BH, 0DDH, 077H, 0E1H;"院",3
DB 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0C0H, 007H, 0DEH, 0F7H, 0DEH, 0F7H, 0C0H, 007H, 0DEH, 0F7H;
DB 0DEH, 0F7H, 0DEH, 0F7H, 0C0H, 007H, 0DEH, 0F7H, 0FEH, 0FDH, 0FEH, 0FDH, 0FFH, 001H, 0FFH, 0FFH;"電",4
DB 0FFH, 0FFH, 0C0H, 00FH, 0FFH, 0DFH, 0FFH, 0BFH, 0FFH, 07FH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FBH;
DB 000H, 001H, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FAH, 0FFH, 0FDH, 0FFH;"子",5
DB 0FFH, 083H, 0C0H, 07FH, 0FDH, 0DFH, 0FBH, 0DFH, 0F7H, 0BFH, 0E0H, 07FH, 0FCH, 0DFH, 0F3H, 0EFH;
DB 0C0H, 007H, 0EFH, 073H, 0FBH, 05FH, 0F7H, 06FH, 0EFH, 077H, 0DFH, 07BH, 0BDH, 07BH, 0FEH, 0FFH;"系",6
DB 0FDH, 0FFH, 0FEH, 0FFH, 0C0H, 001H, 0BFH, 0FBH, 0E0H, 007H, 0FFH, 0FFH, 0F0H, 00FH, 0F7H, 0EFH;
DB 0F0H, 00FH, 0F7H, 0EFH, 0F7H, 0EFH, 0F0H, 00FH, 0F7H, 0EFH, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH;"宣",7
END
LCD顯示屏相關(guān)文章:lcd顯示屏原理
lcd相關(guān)文章:lcd原理
評論