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

上传人:b****9 文档编号:26018212 上传时间:2023-06-17 格式:DOCX 页数:22 大小:101.15KB
下载 相关 举报
FM24064点陈图形式液晶屏接线原理图.docx_第1页
第1页 / 共22页
FM24064点陈图形式液晶屏接线原理图.docx_第2页
第2页 / 共22页
FM24064点陈图形式液晶屏接线原理图.docx_第3页
第3页 / 共22页
FM24064点陈图形式液晶屏接线原理图.docx_第4页
第4页 / 共22页
FM24064点陈图形式液晶屏接线原理图.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

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

《FM24064点陈图形式液晶屏接线原理图.docx》由会员分享,可在线阅读,更多相关《FM24064点陈图形式液晶屏接线原理图.docx(22页珍藏版)》请在冰豆网上搜索。

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

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

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

源代码程序

;FM24064接口程序(T6963C控制芯片,MCS51间接方式

;图形方式下左滚动显示汉字

;"南晶国显"

;"东方广视"

;"急流勇进"

;"独领风骚"

;fosc=8M

;RD=P3.1WR=P3.0CD=P3.3D0-D7=P1CE=GNDFS=GND(选8*8点阵字体;**************************************************************************CCODEEQU30H;字符代码

YEQU31H;行Y坐标0—15

XEQU32H;列X坐标0—29

COUNTEQU33H;8*8点阵字符个数

DAT1EQU34H

;参数1,低字节

;参数2,高字节

DAT2EQU35H

;指令代码单元

COMEQU36H

CDEQUP3.3;通道选择信号

;写操作信号

WR_EQUP3.0

RD_EQUP3.1;读操作信号

;========主程序=================================================ORG0000H

AJMPSTART

ORG0030H

START:

MOVSP,#60H

MOVP1,#00H

MOVP3,#00001011B;控制初始化(CD=1,RD=1,WR=1

LCALL

;LCD初始化

LCDINI

movlcd

loop:

lcall

LCALL

CLEAR

loop

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:

LCALLys500ms

CLRMAP

LCALL

MOV42H,40H

;42H为40H的暂存器,即暂存X值

;43H为41H的暂存器,即暂存Y值

MOV43H,41H

CJNEr3,#0,MLP01

RET

MLP01:

CJNEr3,#1,MLP02

MOVCCODE,#4;显

MOVX,40H;列

MOVY,41H;行

WRI_CC

LCALL

DECR3

AJMPMLP00

MLP02:

CJNEr3,#2,MLP03

MOVCCODE,#3;国

MOVX,40H;列

MOVY,41H;行

WRI_CC

LCALL

MOVCCODE,#4;显

MOVA,40H

ADDA,#2

MOVX,A

;列

MOVY,41H;行

WRI_CC

LCALL

DECR3

AJMPMLP00

MLP03:

CJNEr3,#3,MLP04

MOVCCODE,#2;晶

MOVX,40H;列

MOVY,41H;行

LCALL

WRI_CC

MOVCCODE,#3;国

MOVA,40H

ADDA,#2

;列

MOVX,A

MOVY,41H;行

LCALL

WRI_CC

MOVCCODE,#4;显

MOVA,40H

ADDA,#4

;列

MOVX,A

MOVY,41H;行

LCALL

WRI_CC

DECR3

AJMPMLP00

MLP04:

CJNEr3,#4,MLP05

DisHZ00

;显示4个汉字

LCALL

DisHZ01

LCALL

DisHZ02

LCALL

DisHZ03

LCALL

DECR3

AJMPMLP00

MLP05:

CJNEr3,#5,MLP06

JMP

Mstep;40H=0

MLP06:

CJNEr3,#6,MLP07

Mstep;40H=2

JMP

MLP07:

CJNEr3,#7,MLP08

Mstep;40H=4

JMP

MLP08:

CJNEr3,#8,MLP09

JMP

Mstep;40H=6

MLP09:

CJNEr3,#9,MLP10

Mstep;40H=8

JMP

MLP10:

CJNEr3,#10,MLP11

Mstep;40H=10

JMP

MLP11:

CJNEr3,#11,MLP12

JMP

Mstep;40H=12

MLP12:

CJNEr3,#12,MLP13

Mstep;40H=14

JMP

MLP13:

CJNEr3,#13,MLP14

Mstep;40H=16

JMP

MLP14:

CJNEr3,#14,MLP15

JMP

Mstep;40H=18

MLP15:

CJNEr3,#15,MLP16

Mstep:

LCALLDisHZ00;显示4个汉字

LCALL

DisHZ01

DisHZ02

LCALL

DisHZ03

LCALL

DECR3

DEC40H

;40H=20

DEC40H

AJMPMLP00

MLP16:

CJNEr3,#16,MLP17

DisHZ00

;显示3个汉字

LCALL

DisHZ01

LCALL

DisHZ02

LCALL

DECR3

DEC40H

;40H=22

DEC40H

AJMPMLP00

MLP17:

CJNEr3,#17,MLP18

;显示2个汉字

DisHZ00

LCALL

DisHZ01

LCALL

DECR3

DEC40H

;40H=24

DEC40H

AJMPMLP00

MLP18:

LCALLDisHZ00;显示1个汉字

DECR3

DEC40H

DEC40H

;40H=26

AJMPMLP00

;---------------------------------

ys500ms:

MOVR5,#6;foc=8M,延时500msdly00:

MOVR6,#111;

dly01:

MOVR7,#250;

DJNZR7,$

DJNZR6,dly01

DJNZR5,dly00

RET

;-------------------------------------------------

;图形方式显示汉字

CLRMAP:

MOV42H,#0

CLP:

MOVCCODE,#0;清除汉字

MOVX,42H;列

MOVY,43H;行

WRI_CC

LCALL

42H

INC

42H

INC

MOVA,42H

CJNEA,#30,CLP

RET

;//////////////////////////////////////

;"南晶国显"

DisHZ00:

MOVCCODE,#1;南

MOVX,40H;列

MOVY,41H;行

WRI_CC

LCALL

RET

DisHZ01:

MOVCCODE,#2;晶

MOVA,40H

ADDA,#2

;列

MOVX,A

MOVY,43H;行

WRI_CC

LCALL

RET

DisHZ02:

MOVCCODE,#3;国

MOVA,40H

ADDA,#4

;列

MOVX,A

MOVY,43H;行

WRI_CC

LCALL

RET

DisHZ03:

MOVCCODE,#4;显

MOVA,40H

ADDA,#6

;列

MOVX,A

MOVY,43H;行

WRI_CC

LCALL

RET

;//////////////////////////////////////////

;---------------------------------------------------------

;汉字库

;以下字库由“LCD点阵生成器”生成。

为16×16点阵字库,顺向,行列式(从左到右,从上到下

;字的横向8点构成一字节,左边点在字节的高位

;字符点阵四角按左上角→左下角→右上角→右下角取字

CCTAB:

;///16*16点阵,顺向,阴码,行列式///由LCD显示点阵生成器生成

DB0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;DB0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;;0/*以上为"空白"的点阵*/

DB0x01,0x01,0xFF,0x01,0x01,0x7F,0x48,0x44

DB0x5F,0x41,0x41,0x5F,0x41,0x41,0x41,0x40;

DB0x00,0x04,0xFE,0x00,0x04,0xFE,0x24,0x44

DB0xF4,0x04,0x04,0xF4,0x04,0x04,0x14,0x08;

;1/*以上为"南"的点阵*/

DB0x0F,0x08,0x08,0x0F,0x08,0x08,0x0F,0x08,0x7E,0x42,0x42,0x7E,0x42,0x42,0x7E,0x42;DB0xE0,0x20,0x20,0xE0,0x20,0x20,0xE0,0x24,0xFE,0x84,0x84,0xFC,0x84,0x84,0xFC,0x84;;2/*以上为"晶"的点阵*/

DB0x00,0x7F,0x40,0x5F,0x41,0x41,0x41,0x4F,0x41,0x41,0x41,0x41,0x5F,0x40,0x7F,0x40;DB0x04,0xFE,0x24,0xF4,0x04,0x04,0x44,0xE4,0x04,0x44,0x24,0x04,0xF4,0x04,0xFC,0x04;;3/*以上为"国"的点阵*/

DB0x00,0x1F,0x10,0x10,0x1F,0x10,0x10,0x1F,0x14,0x44,0x34,0x14,0x04,0x04,0xFF,0x00;DB0x10,0xF8,0x10,0x10,0xF0,0x10,0x10,0xF0,0x50,0x44,0x4C,0x50,0x40,0x44,0xFE,0x00;;4/*以上为"显"的点阵*/

DB0x02,0x02,0x02,0xFF,0x04,0x09,0x09,0x11,0x3F,0x01,0x09,0x09,0x11,0x21,0x45,0x02;DB0x00,0x00,0x04,0xFE,0x00,0x00,0x00,0x10,0xF8,0x00,0x40,0x20,0x10,0x18,0x08,0x00;;5/*以上为"东"的点阵*/

DB0x04,0x03,0x01,0x00,0xFF,0x04,0x04,0x07,0x04,0x04,0x04,0x08,0x08,0x10,0x20,0x40;DB0x00,0x00,0x00,0x04,0xFE,0x00,0x10,0xF8,0x10,0x10,0x10,0x10,0x10,0x10,0xA0,0x40;;6/*以上为"方"的点阵*/

DB0x01,0x00,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80,0x00;DB0x00,0x84,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;;7*以上为"广"的点阵*/

DB0x20,0x13,0x12,0x02,0xFE,0x0A,0x12,0x32,0x5A,0x96,0x12,0x10,0x11,0x11,0x12,0x14;DB0x08,0xFC,0x08,0x48,0x48,0x48,0x48,0x48,0x48,0x68,0xA8,0xA0,0x22,0x22,0x1E,0x00;;8/*以上为"视"的点阵*/

DB0x04,0x04,0x0F,0x08,0x10,0x3F,0x40,0x1F,0x00,0x3F,0x02,0x51,0x50,0x90,0x0F,0x00;DB0x00,0x00,0xE0,0x40,0x88,0xFC,0x08,0xF8,0x08,0xF8,0x00,0x84,0x92,0x12,0xF0,0x00;;9/*以上为"急"的点阵*/

DB0x00,0x40,0x37,0x10,0x80,0x61,0x27,0x08,0x11,0x21,0xE1,0x21,0x21,0x21,0x22,0x24;DB0x80,0x48,0xFC,0x40,0x90,0x08,0xFC,0x04,0x50,0x50,0x50,0x50,0x52,0x52,0x4E,0x40;

;10/*以上为"流"的点阵*/

DB0x3F,0x02,0x01,0x3F,0x21,0x3F,0x21,0x3F,0x21,0x21,0x7F,0x02,0x02,0x04,0x18,0x60;DB0xF0,0x40,0x88,0xFC,0x08,0xF8,0x08,0xF8,0x08,0x10,0xF8,0x08,0x08,0x08,0x50,0x20;;11/*以上为"勇"的点阵*/

DB0x02,0x42,0x22,0x2F,0x02,0x02,0xE2,0x22,0x2F,0x22,0x22,0x22,0x24,0x50,0x8F,0x00;DB0x20,0x20,0x28,0xFC,0x20,0x20,0x20,0x28,0xFC,0x20,0x20,0x20,0x20,0x26,0xFC,0x00;;12/*以上为"进"的点阵*/

DB000H,044H,028H,010H,02BH,04AH,08AH,01AH

DB02AH,04BH,00AH,008H,008H,008H,057H,020H

DB040H,040H,040H,048H,0FCH,048H,048H,048H

DB048H,0F8H,048H,040H,048H,078H,084H,004H

;13/*以上为"独"的点阵*/

DB0x10,0x13,0x28,0x24,0x43,0xA1,0x11,0x01,0xFF,0x03,0x05,0x29,0x10,0x08,0x08,0x03;DB0x04,0xFE,0x20,0x44,0xFE,0x04,0x24,0x24,0x24,0x24,0x24,0x24,0x50,0x48,0x86,0x02;;14/*以上为"领"的点阵*/

DB0x00,0x3F,0x20,0x28,0x24,0x22,0x22,0x21,0x21,0x22,0x22,0x24,0x28,0x30,0x40,0x80;DB0x10,0xF8,0x10,0x50,0x50,0x90,0x90,0x10,0x10,0x90,0x90,0x50,0x50,0x12,0x0A,0x06;;15/*以上为"风"的点阵*/

DB0x08,0xFF,0x09,0x48,0x48,0x48,0x4B,0x48,0x7D,0x05,0x1D,0xE5,0x45,0x04,0x15,0x08;DB0x00,0xFC,0x24,0x88,0x70,0x88,0x26,0x24,0xFE,0x24,0x24,0xFC,0x20,0x28,0xFC,0x04;;16/*以上为"骚"的点阵*/

;--------------------------------------

;汉字显示子程序(图形方式

;计算图形显示RAM地址

WRI_CC:

MOVA,Y

;图形显示区宽度:

30列

MOVB,#1EH

MULAB

ADDA,X

;显示屏左上角水平位置

MOVX,A

MOVA,B

;图形显示区首地址:

0800H

ADDCA,#08H

;垂直位置

MOVY,A

MOVDPTR,#CCTAB;取汉字库字符首地址

MOVA,CCODE

;一个汉字占8*4=32个字节

MOVB,#20H

MULAB

ADDA,DPL

MOVDPL,A

MOVA,B

ADDCA,DPH

MOVDPH,A

PUSHDPH;字库首址入栈

PUSHDPL

;计数器设置为16次(16*16点阵

MOVCOUNT,#10H

WRCC1:

MOVDAT1,X;设置显示RAM地址

MOVDAT2,Y

MOVCOM,#24H

PR1

LCALL

;字库首址出栈

DPL

POP

DPH

POP

CLR

A

;取左部字模数据

MOVCA,@A+DPTR

MOVDAT2,A

;存高字节

;偏置地址为16(行列式字符

MOVA,#10H

;取右部字模数据

MOVCA,@A+DPTR

;存低字节

MOVDAT1,A

DPTR;字库地址指针加1

INC

PUSHDPH;字库首址入栈

PUSHDPL

;写入字符高字节,地址加1

MOVCOM,#0C0H

PR11;写入数据DAT2

LCALL

MOVDAT2,DAT1

PR11;写入数据DAT1

LCALL

MOVA,#1eh;修正显示RAM地址

ADDA,X

MOVX,A

A

CLR

ADDCA,Y

MOVY,A

DJNZCOUNT,WRCC1

ACC;修正栈指针

POP

ACC

POP

RET

;********LCD初始化*********************************************************

LCDINI:

MOVDAT1,#00H;设置文本显示区RAM首地址:

0000H

MOVDAT2,#00H

MOVCOM,#40H

PR1

LCALL

MOVDAT1,#30;设置文本显示区宽度:

30个字节(因240/8=30

MOVDAT2,#00H

MOVCOM,#41H

PR1

LCALL

MOVDAT1,#00H;设置图形显示区RAM首地址:

0800H

MOVDAT2,#08H

MOVCOM,#42H

PR1

LCALL

MOVDAT1,#30;设置图形显示区宽度:

30个字节(因240/8=30

MOVDAT2,#00H

MOVCOM,#43H

PR1

LCALL

MOVCOM,#0A0H

;设置光标形状:

1行

PR12

LCALL

MOVCOM,#80H;设置显示方式:

或模式,内部CGROM有效

PR12

LCALL

MOVCOM,#98H;设置显示开关:

文本区关闭,图形打开,光标不显示不闪烁PR12

LCALL

;显示RAM清0

LCALL

CLEAR

RET

;-------读状态字-----------------------

STATE:

MOVP1,#0FFH;

;指令操作

SETBCD

SETBWR_;禁止写

RD_

;允许读

CLR

MOVA,P1;读操作

;禁止读

SETBRD_

RET

ST01:

LCALLSTATE;读写指令和读写数据状态

ACC.0,ST01

JNB

ACC.1,ST01

JNB

RET

ST2:

LCALLSTATE;数据自动读状态

ACC.2,ST2

JNB

RET

ST3:

LCALLSTATE;数据自动写状态

JNB

ACC.3,ST3

RET

ST6:

LCALLSTATE;屏读/屏拷贝状态

JBACC.6,ERR

RET

ERR:

LJMPST6;出错处理程序

;-------写指令和写数据------------------------------

ST01;双参数指令入口

PR1:

LCALL

;取第1参数单元数据

MOVA,DAT1

PR13;写入数据

LCALL

PR11:

LCALLST01;单参数指令入口

MOVA,DAT2

;取第2参数单元数据

PR13

LCALL

PR12:

LCALLST01;无参数指令入口(写指令

;取指令代码单元数据

MOVA,COM

LJMPPR14;写入指令代码

CD;数据操作(写数据

PR13:

CLR

PR14:

MOVP1,A;送数据

;禁止读

SETBRD_

WR_;允许写

CLR

SETBWR_;禁止写

RET

;-------读数据---------------------------

PR2:

LCALL

ST01

;数据操作

CD

CLR

ORLP1,#0FFH

;允许读

CLR

RD_

MOVA,P0;读数据

;禁止读

SETBRD_

MOVDAT2,A;保存数据

RET

;--------清显示RAM----------------------------------

CLEAR:

MOVDAT1,#00H;设置显示RAM首地址

MOVDAT2,#00H

MOVCOM,#24H

PR1

LCALL

;显示RAM宽度:

32K字节(8000H

MOVR3,#00H

MOVR4,#20H

MOVCOM,#0B0H

;设置自动写方式

PR12;写入指令

LCALL

CLR1:

LCALLST3

;设置写入数据为00H

MOVA,#00H

PR13;写入数据

LCALL

DJNZR3,CLR1

DJNZR4,CLR1

;结束自动写方式

MOVCOM,#0B2H

PR12

LCALL

RET

;******************************************************************END

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1