FM24064点陈图形式液晶屏接线原理图

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FM24064点陈图形式液晶屏接线原理图
源代码程序
;FM24064接口程序(T6963C控制芯片,MCS51间接方式;图形方式下左滚动显示汉字
;"南晶国显"
;"东方广视"
;"急流勇进"
;"独领风骚"
;fosc=8M
;RD=P3.1 WR=P3.0 CD=P3.3 D0-D7=P1 CE=GND FS=GND(选8*8点阵字
体 ;******************************************************************** ****** CCODE EQU 30H ;字符代码
Y EQU 31H ;行Y坐标0—15
X EQU 32H ;列X坐标0—29
COUNT EQU 33H ;8*8点阵字符个数
DAT1 EQU 34H
;参数1,低字节
;参数2,高字节
DAT2 EQU 35H
;指令代码单元
COM EQU 36H
CD EQU P3.3 ;通道选择信号
;写操作信号
WR_ EQU P3.0
RD_ EQU P3.1 ;读操作信号
;========主程序
================================================= ORG 0000H
AJMP START
ORG 0030H
START: MOV SP,#60H
MOV P1,#00H
MOV P3,#00001011B ;控制初始化(CD=1,RD=1,WR=1 LCALL
;LCD初始化
LCDINI
movlcd
loop: lcall
LCALL
CLEAR
l oop
ajmp
;---------------------------------------------------
;图形方式下左滚动显示汉字“南晶国显”
;设计思想:修改显示位置,然后用空白格添写以达到擦除的效果; 40H=X,41H=Y,42H=XTMP,43H=YTMP
movLCD:
r3,#18 ;移动次数,15个汉字格+4个显示汉字-1
mov
40h,#28
;首位置:28列
mov
41h,#1 ;首位置:1行
mov
MLP00: LCALL ys500ms CLRMAP
LCALL
MOV 42H,40H
;42H为40H的暂存器,即暂存X值;43H为41H的暂存器,即暂存Y值MOV 43H,41H
CJNE r3,#0,MLP01
RET
MLP01: CJNE r3,#1,MLP02
MOV CCODE,#4 ;显
MOV X,40H ;列
MOV Y,41H ;行
WRI_CC
LCALL
DEC R3
AJMP MLP00
MLP02: CJNE r3,#2,MLP03 MOV CCODE,#3 ;国
MOV X,40H ;列
MOV Y,41H ;行
WRI_CC
LCALL
MOV CCODE,#4 ;显
MOV A,40H
ADD A,#2
MOV X,A
;列
MOV Y,41H ;行
WRI_CC
LCALL
DEC R3
AJMP MLP00
MLP03: CJNE r3,#3,MLP04 MOV CCODE,#2 ;晶
MOV X,40H ;列
MOV Y,41H ;行
LCALL
WRI_CC
MOV CCODE,#3 ;国
MOV A,40H
ADD A,#2
;列
MOV X,A
MOV Y,41H ;行
LCALL
WRI_CC
MOV CCODE,#4 ;显
MOV A,40H
ADD A,#4
;列
MOV X,A
MOV Y,41H ;行
LCALL
WRI_CC
DEC R3
AJMP MLP00
MLP04: CJNE r3,#4,MLP05 DisHZ00
;显示4个汉字
LCALL
DisHZ01
LCALL
DisHZ02
LCALL
DisHZ03
LCALL
DEC R3
AJMP MLP00
MLP05: CJNE r3,#5,MLP06 JMP
Mstep ;40H=0
MLP06: CJNE r3,#6,MLP07 Mstep ;40H=2
JMP
MLP07: CJNE r3,#7,MLP08 Mstep ;40H=4
JMP
MLP08: CJNE r3,#8,MLP09 JMP
Mstep ;40H=6
MLP09: CJNE r3,#9,MLP10 Mstep ;40H=8
JMP
MLP10: CJNE r3,#10,MLP11 Mstep ;40H=10
JMP
MLP11: CJNE r3,#11,MLP12 JMP
Mstep ;40H=12
MLP12: CJNE r3,#12,MLP13
Mstep ;40H=14
JMP
MLP13: CJNE r3,#13,MLP14
Mstep ;40H=16
JMP
MLP14: CJNE r3,#14,MLP15
JMP
Mstep ;40H=18
MLP15: CJNE r3,#15,MLP16 Mstep: LCALL DisHZ00 ;显示4个汉字LCALL
DisHZ01
DisHZ02
LCALL
DisHZ03
LCALL
DEC R3
DEC 40H
;40H=20
DEC 40H
AJMP MLP00
MLP16: CJNE r3,#16,MLP17 DisHZ00
;显示3个汉字
LCALL
DisHZ01
LCALL
DisHZ02
LCALL
DEC R3
DEC 40H
;40H=22
DEC 40H
AJMP MLP00
MLP17: CJNE r3,#17,MLP18 ;显示2个汉字
DisHZ00
LCALL
DisHZ01
LCALL
DEC R3
DEC 40H
;40H=24
DEC 40H
AJMP MLP00
MLP18: LCALL DisHZ00 ;显示1个汉字
DEC R3
DEC 40H
DEC 40H
;40H=26
AJMP MLP00
;---------------------------------
ys500ms:
MOV R5,#6 ;foc=8M,延时500ms dly00: MOV R6,#111 ; dly01: MOV R7,#250 ;
DJNZ R7,$
DJNZ R6,dly01
DJNZ R5,dly00
RET
;------------------------------------------------- ;图形方式显示汉字
CLRMAP:
MOV 42H,#0
CLP: MOV CCODE,#0 ;清除汉字MOV X,42H ;列
MOV Y,43H ;行
WRI_CC
LCALL
42H
INC
42H
INC
MOV A,42H
CJNE A,#30,CLP
RET
;////////////////////////////////////// ;"南晶国显"
DisHZ00:
MOV CCODE,#1 ;南MOV X,40H ;列
MOV Y,41H ;行
WRI_CC
LCALL
RET
DisHZ01:
MOV CCODE,#2 ;晶MOV A,40H
ADD A,#2
;列
MOV X,A
MOV Y,43H ;行
WRI_CC
LCALL
RET
DisHZ02:
MOV CCODE,#3 ;国MOV A,40H
ADD A,#4
;列
MOV X,A
MOV Y,43H ;行WRI_CC
LCALL
RET
DisHZ03:
MOV CCODE,#4 ;显MOV A,40H
ADD A,#6
;列
MOV X,A
MOV Y,43H ;行WRI_CC
LCALL
RET
;//////////////////////////////////////////
;---------------------------------------------------------
;汉字库
;以下字库由“LCD点阵生成器”生成。

为16×16点阵字库,顺向,行列式(从左到右,从上到下
;字的横向8点构成一字节,左边点在字节的高位
;字符点阵四角按左上角→左下角→右上角→右下角取字
CCTAB:
;///16*16点阵,顺向,阴码,行列式///由LCD显示点阵生成器生成
DB
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00; DB
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; ;0/*以上为"空白"的点阵*/
DB 0x01,0x01,0xFF,0x01,0x01,0x7F,0x48,0x44
DB 0x5F,0x41,0x41,0x5F,0x41,0x41,0x41,0x40 ;
DB 0x00,0x04,0xFE,0x00,0x04,0xFE,0x24,0x44
DB 0xF4,0x04,0x04,0xF4,0x04,0x04,0x14,0x08 ;
;1/*以上为"南"的点阵*/
DB
0x0F,0x08,0x08,0x0F,0x08,0x08,0x0F,0x08,0x7E,0x42,0x42,0x7E,0x42,0x42,0x7E,0x4 2 ; DB
0xE0,0x20,0x20,0xE0,0x20,0x20,0xE0,0x24,0xFE,0x84,0x84,0xFC,0x84,0x84,0xFC,0x 84 ; ;2/*以上为"晶"的点阵*/
DB
0x00,0x7F,0x40,0x5F,0x41,0x41,0x41,0x4F,0x41,0x41,0x41,0x41,0x5F,0x40,0x7F,0x4 0 ; DB
0x04,0xFE,0x24,0xF4,0x04,0x04,0x44,0xE4,0x04,0x44,0x24,0x04,0xF4,0x04,0xFC,0x0 4 ; ;3/*以上为"国"的点阵*/
DB
0x00,0x1F,0x10,0x10,0x1F,0x10,0x10,0x1F,0x14,0x44,0x34,0x14,0x04,0x04,0xFF,0x0 0 ; DB
0x10,0xF8,0x10,0x10,0xF0,0x10,0x10,0xF0,0x50,0x44,0x4C,0x50,0x40,0x44,0xFE,0x0 0 ; ;4/*以上为"显"的点阵*/
DB
0x02,0x02,0x02,0xFF,0x04,0x09,0x09,0x11,0x3F,0x01,0x09,0x09,0x11,0x21,0x45,0x02 ; DB
0x00,0x00,0x04,0xFE,0x00,0x00,0x00,0x10,0xF8,0x00,0x40,0x20,0x10,0x18,0x08,0x00 ; ;5/*以上为"东"的点阵*/
DB
0x04,0x03,0x01,0x00,0xFF,0x04,0x04,0x07,0x04,0x04,0x04,0x08,0x08,0x10,0x20,0x40 ; DB
0x00,0x00,0x00,0x04,0xFE,0x00,0x10,0xF8,0x10,0x10,0x10,0x10,0x10,0x10,0xA0,0x4 0 ; ;6/*以上为"方"的点阵*/
DB
0x01,0x00,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80,0x00 ; DB
0x00,0x84,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; ;7*以上为"广"的点阵*/
DB
0x20,0x13,0x12,0x02,0xFE,0x0A,0x12,0x32,0x5A,0x96,0x12,0x10,0x11,0x11,0x12,0x1 4 ; DB
0x08,0xFC,0x08,0x48,0x48,0x48,0x48,0x48,0x48,0x68,0xA8,0xA0,0x22,0x22,0x1E,0x 00 ; ;8/*以上为"视"的点阵*/
DB
0x04,0x04,0x0F,0x08,0x10,0x3F,0x40,0x1F,0x00,0x3F,0x02,0x51,0x50,0x90,0x0F,0x0 0 ; DB
0x00,0x00,0xE0,0x40,0x88,0xFC,0x08,0xF8,0x08,0xF8,0x00,0x84,0x92,0x12,0xF0,0x0 0 ; ;9/*以上为"急"的点阵*/
DB
0x00,0x40,0x37,0x10,0x80,0x61,0x27,0x08,0x11,0x21,0xE1,0x21,0x21,0x21,0x22,0x24 ; DB
0x80,0x48,0xFC,0x40,0x90,0x08,0xFC,0x04,0x50,0x50,0x50,0x50,0x52,0x52,0x4E,0x4 0 ;
;10/*以上为"流"的点阵*/
DB
0x3F,0x02,0x01,0x3F,0x21,0x3F,0x21,0x3F,0x21,0x21,0x7F,0x02,0x02,0x04,0x18,0x6 0 ; DB
0xF0,0x40,0x88,0xFC,0x08,0xF8,0x08,0xF8,0x08,0x10,0xF8,0x08,0x08,0x08,0x50,0x2 0 ; ;11/*以上为"勇"的点阵*/
DB
0x02,0x42,0x22,0x2F,0x02,0x02,0xE2,0x22,0x2F,0x22,0x22,0x22,0x24,0x50,0x8F,0x0 0 ; DB
0x20,0x20,0x28,0xFC,0x20,0x20,0x20,0x28,0xFC,0x20,0x20,0x20,0x20,0x26,0xFC,0x0 0 ; ;12/*以上为"进"的点阵*/
DB 000H,044H,028H,010H,02BH,04AH,08AH,01AH
DB 02AH,04BH,00AH,008H,008H,008H,057H,020H
DB 040H,040H,040H,048H,0FCH,048H,048H,048H
DB 048H,0F8H,048H,040H,048H,078H,084H,004H
;13/*以上为"独"的点阵*/
DB
0x10,0x13,0x28,0x24,0x43,0xA1,0x11,0x01,0xFF,0x03,0x05,0x29,0x10,0x08,0x08,0x0 3 ; DB
0x04,0xFE,0x20,0x44,0xFE,0x04,0x24,0x24,0x24,0x24,0x24,0x24,0x50,0x48,0x86,0x0 2 ; ;14/*以上为"领"的点阵*/
DB
0x00,0x3F,0x20,0x28,0x24,0x22,0x22,0x21,0x21,0x22,0x22,0x24,0x28,0x30,0x40,0x80 ; DB
0x10,0xF8,0x10,0x50,0x50,0x90,0x90,0x10,0x10,0x90,0x90,0x50,0x50,0x12,0x0A,0x0 6 ; ;15/*以上为"风"的点阵*/
DB
0x08,0xFF,0x09,0x48,0x48,0x48,0x4B,0x48,0x7D,0x05,0x1D,0xE5,0x45,0x04,0x15,0x 08 ; DB
0x00,0xFC,0x24,0x88,0x70,0x88,0x26,0x24,0xFE,0x24,0x24,0xFC,0x20,0x28,0xFC,0x 04 ; ;16/*以上为"骚"的点阵*/
;--------------------------------------
;汉字显示子程序(图形方式
;计算图形显示RAM地址
WRI_CC: MOV A,Y
;图形显示区宽度:30列
MOV B,#1EH
MUL AB
ADD A,X
;显示屏左上角水平位置
MOV X,A
MOV A,B
;图形显示区首地址:0800H
ADDC A,#08H
;垂直位置
MOV Y,A
MOV DPTR,#CCTAB ;取汉字库字符首地址
MOV A,CCODE
;一个汉字占8*4=32个字节
MOV B,#20H
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
PUSH DPH ;字库首址入栈
PUSH DPL
;计数器设置为16次(16*16点阵
MOV COUNT,#10H
WRCC1: MOV DAT1,X ;设置显示RAM地址MOV DAT2,Y
MOV COM,#24H
PR1
LCALL
;字库首址出栈
DPL
POP
DPH
POP
CLR
A
;取左部字模数据
MOVC A,@A+DPTR MOV DAT2,A
;存高字节
;偏置地址为16(行列式字符MOV A,#10H
;取右部字模数据
MOVC A,@A+DPTR
;存低字节
MOV DAT1,A
DPTR ;字库地址指针加1 INC
PUSH DPH ;字库首址入栈PUSH DPL
;写入字符高字节,地址加1
MOV COM,#0C0H
PR11 ;写入数据DAT2
LCALL
MOV DAT2,DAT1
PR11 ;写入数据DAT1
LCALL
MOV A,#1eh ;修正显示RAM地址ADD A,X
MOV X,A
A
CLR
ADDC A,Y
MOV Y,A
DJNZ COUNT,WRCC1
ACC ;修正栈指针
POP
ACC
POP
RET
;********LCD初始化
********************************************************* LCDINI:
MOV DAT1,#00H ;设置文本显示区RAM首地址:0000H
MOV DAT2,#00H
MOV COM,#40H
PR1
LCALL
MOV DAT1,#30 ;设置文本显示区宽度:30个字节(因240/8=30 MOV DAT2,#00H
MOV COM,#41H
PR1
LCALL
MOV DAT1,#00H ;设置图形显示区RAM首地址:0800H
MOV DAT2,#08H
MOV COM,#42H
PR1
LCALL
MOV DAT1,#30 ;设置图形显示区宽度:30个字节(因240/8=30
MOV DAT2,#00H
MOV COM,#43H
PR1
LCALL
MOV COM,#0A0H
;设置光标形状:1行
PR12
LCALL
MOV COM,#80H ;设置显示方式:或模式,内部CGROM有效
PR12
LCALL
MOV COM,#98H ;设置显示开关:文本区关闭,图形打开,光标不显示不闪烁PR12
LCALL
;显示RAM清0
LCALL
CLEAR
RET
;-------读状态字-----------------------
STATE: MOV P1,#0FFH ;
;指令操作
SETB CD
SETB WR_ ;禁止写
R D_
;允许读
CLR
MOV A,P1 ;读操作
;禁止读
SETB RD_
RET
ST01: LCALL STATE ;读写指令和读写数据状态ACC.0,ST01
JNB
ACC.1,ST01
JNB
RET
ST2: L CALL STATE ;数据自动读状态
ACC.2,ST2
JNB
RET
ST3: L CALL STATE ;数据自动写状态
JNB
ACC.3,ST3
RET
ST6: L CALL STATE ;屏读/屏拷贝状态
JB ACC.6,ERR
RET
ERR: LJMP ST6 ;出错处理程序
;-------写指令和写数据------------------------------ ST01 ;双参数指令入口
PR1: LCALL
;取第1参数单元数据
MOV A,DAT1
PR13 ;写入数据
LCALL
PR11: LCALL ST01 ;单参数指令入口
MOV A,DAT2
;取第2参数单元数据
PR13
LCALL
PR12: LCALL ST01 ;无参数指令入口(写指令;取指令代码单元数据
MOV A,COM
LJMP PR14 ;写入指令代码
C D ;数据操作(写数据
PR13: CLR
PR14: MOV P1,A ;送数据
;禁止读
SETB RD_
W R_ ;允许写
CLR
SETB WR_ ;禁止写
RET
;-------读数据---------------------------
PR2: LCALL
ST01
;数据操作
C D
CLR
ORL P1,#0FFH
;允许读
CLR
R D_
MOV A,P0 ;读数据
;禁止读
SETB RD_
MOV DAT2,A ;保存数据
RET
;--------清显示RAM---------------------------------- CLEAR: MOV DAT1,#00H ;设置显示RAM首地址MOV DAT2,#00H
MOV COM,#24H
PR1
LCALL
;显示RAM宽度:32K字节(8000H MOV R3,#00H
MOV R4,#20H
MOV COM,#0B0H
;设置自动写方式
PR12 ;写入指令
LCALL
CLR1: LCALL ST3
;设置写入数据为00H
MOV A,#00H
PR13 ;写入数据
LCALL
DJNZ R3,CLR1
DJNZ R4,CLR1
;结束自动写方式
MOV COM,#0B2H
PR12
LCALL
RET
;****************************************************************** END。

相关文档
最新文档