JHD12864F驱动控制芯片

JHD12864F驱动控制芯片,第1张

你这是晶汉达的屏还是晶华的屏啊?

再说,你要信仔讲清楚是多大尺寸的屏。带中文字库还是不带?这两点讲清楚后才能滑竖汪告纤逗诉你。

12864的IC有:PT6607\ST7576\NT7534\ST7920\AT0107..............太多了

*************************************

LCD型号JHD529(12864)带汉字字库

参考资料ST7920

文件名 JHD529.ASM

LCD显示

-----------------------

白天:00

夜间:00

等待:00

-----------------------

DI BIT P1.1

RW BIT P1.2

E BIT P1.3

PSB BIT P2.7

RESET BIT P2.3

DAYH EQU 31H 屏幕上显哗败粗示白天的数值,十位的控制单元

DAYL EQU 32H 屏幕上显示白天的数值,个位的控制单元

NIGHTH EQU 33H 屏幕上显示夜间的数值,十位的控制单元

NIGHTL EQU 34H 屏幕上显示夜间的数值,个位的控制单元

WAITH EQU 35H 屏幕上显示等待的数值,十位的控制单元

WAITL EQU 36H 屏幕上显示等待的数值,个位的控制单元

KEEP1 EQU 37H 按键控制白天数值加或减一所用的存储单元

KEEP2 EQU 25H 按键控制夜间数值加或减一所用的存储单元

KEEP3 EQU 39H 按键控制等待数值加枯纤或减一所用的存储单元

SHANSHOU EQU 38H 控制光标是否闪烁的存储单元

SSWEIZHI EQU 23H 决定了光标在哪个位乱镇置闪烁的存储单元

MAOHAOEQU 21H 决定了选择冒号还是|的存储单元

XUANZHESS EQU 20H 决定了择光标闪烁子的存储单元

ORG 0000H

AJMP MAIN

ORG 0030H

MAIN:

SETB PSB 设置液晶屏显示模式为并行

MOV SP,#50H

MOV DAYH,#0

MOV DAYL,#0

MOV NIGHTH,#0

MOV NIGHTL,#0

MOV WAITH,#0

MOV WAITL,#0

MOV KEEP1,#0

MOV SHANSHOU,#0

MOV MAOHAO,#0

MOV SSWEIZHI,#0

MOV KEEP2,#0

MOV KEEP3,#0

LCALL INIT

LCALL BMP1

AA:

MOV P1,#0FFH 读按键

MOV A,P1

ANL A,#0FFH

MOV 45H,A

CJNE A,#0FFH,YJ

LJMP SAN1

YJ: LCALL DELAY10

MOV P1,#0FFH

MOV A,P1

ANL A,#0FFH

CJNE A,#0FFH,SHYJ

LJMP SAN1

SHYJ: CJNE A,45H,SAN1

JNB ACC.4,S1

JNB ACC.5,S2

JNB ACC.6,S3

JNB ACC.7,S4

S1: JNB P1.4,S1

LCALL AJJY1 按键加一

AJMPTAOZHUAN

SAN1: MOV A,MAOHAO

CJNEA,#1,AA

LCALL GUANBX 光标闪烁的子程序

TAOZHUAN:LCALL BMP1

LCALL DEL200MS

AJMP AA

S2: JNB P1.5,S2

LCALL AJJY2 按键减一的子程序

LCALL BMP1

LCALL DEL200MS

AJMP AA

S3: JNB P1.6, S3

INC SSWEIZHI

MOV A,SSWEIZHI 决定了光标在哪个位置闪烁的存储单元

MOV MAOHAO,#1 光标闪烁

CJNE A,#4,AAB

MOV SSWEIZHI,#0

MOV MAOHAO,#1 光标闪烁

AAB:AJMP AA

S4: JNB P1.7, S4

MOV MAOHAO,#0 光标不闪

AJMP AA

BMP1:

MOV A,#01H 清显示

LCALL WC1

MOV A,#80H

LCALL WC1

MOV A,#0B0H 查表显示白

LCALL WD1

MOV A,#0D7H

LCALL WD1

MOV A,#0CCH 查表显示天

LCALL WD1

MOV A,#0ECH

LCALL WD1

MOV A,SSWEIZHI

CJNEA,#1,TIAOZ1

LCALL SHUZPD1 光标闪烁子程序

AJMPTIAOZ11

TIAOZ1: LCALL MAOH

TIAOZ11 :LCALL SHUZIPD1 调用十位数字改变的子程序

LCALL SHUZIPD2 调用个位数字改变的子程序

MOV A,#90H

LCALL WC1

MOV A,#0D2H 查表显示夜

LCALL WD1

MOV A,#0B9H

LCALL WD1

MOV A,#0BCH 查表显示间

LCALL WD1

MOV A,#0E4H

LCALL WD1

MOV A,SSWEIZHI

CJNE A,#2,TIAOZ2

LCALL SHUZPD1

AJMPTIAOZ22

TIAOZ2: LCALL MAOH

TIAOZ22: LCALL SHUZIPD3 调用十位数字改变的子程序

LCALL SHUZIPD4 调用个位数字改变的子程序

MOV A,#88H

LCALL WC1

MOV A,#0B5H 查表显示等

LCALL WD1

MOV A,#0C8H

LCALL WD1

MOV A,#0B4H 查表显示待

LCALL WD1

MOV A,#0FDH

LCALL WD1

MOV A,SSWEIZHI

CJNEA,#3,TAOZH3

LCALL SHUZPD1

AJMPTIAOZ33

TAOZH3: LCALL MAOH

TIAOZ33:LCALL SHUZIPD5 调用十位数字改变的子程序

LCALL SHUZIPD6 调用个位数字改变的子程序

RET

SHUZIPD1:MOV A,DAYH

LCALL SHUZIPD

RET

SHUZIPD2:MOV A,DAYL

LCALL SHUZIPD

RET

SHUZIPD3:MOV A,NIGHTH

LCALL SHUZIPD

RET

SHUZIPD4:MOV A,NIGHTL

LCALL SHUZIPD

RET

SHUZIPD5:MOV A,WAITH

LCALL SHUZIPD

RET

SHUZIPD6:MOV A,WAITL

LCALL SHUZIPD

RET

SHUZIPD:CJNE A,#0,YII 判断存储单元中是几,然后查相对应数字的字库地址

MOV A,#0A3H 显示0的字库地址

LCALL WD1

MOV A,#0B0H

LCALL WD1

LJMP RE

YII: CJNE A,#1,ERR

MOV A,#0A3H 显示1的字库地址

LCALL WD1

MOV A,#0B1H

LCALL WD1

LJMP RE

ERR: CJNE A,#2,SANN

MOV A,#0A3H 显示2的字库地址

LCALL WD1

MOV A,#0B2H

LCALL WD1

LJMP RE

SANN: CJNE A,#3,SII

MOV A,#0A3H 显示3的字库地址

LCALL WD1

MOV A,#0B3H

LCALL WD1

LJMP RE

SII: CJNE A,#4,WUU

MOV A,#0A3H 显示4的字库地址

LCALL WD1

MOV A,#0B4H

LCALL WD1

LJMP RE

WUU: CJNE A,#5,LIUU

MOV A,#0A3H 显示5的字库地址

LCALL WD1

MOV A,#0B5H

LCALL WD1

LJMP RE

LIUU: CJNE A,#6,QII

MOV A,#0A3H 显示6的字库地址

LCALL WD1

MOV A,#0B6H

LCALL WD1

LJMP RE

QII: CJNE A,#7,BAA

MOV A,#0A3H 显示7的字库地址

LCALL WD1

MOV A,#0B7H

LCALL WD1

LJMP RE

BAA: CJNE A,#8,JIUU

MOV A,#0A3H 显示8的字库地址

LCALL WD1

MOV A,#0B8H

LCALL WD1

LJMP RE

JIUU: CJNE A,#9,RE

MOV A,#0A3H 显示9的字库地址

LCALL WD1

MOV A,#0B9H

LCALL WD1

RE: RET

GUANBX: INC XUANZHESS 光标闪烁控制子程序

MOV A,XUANZHESS

CJNE A,#1,BB

MOV SHANSHOU,#0

LJMP RE3

BB:MOV SHANSHOU,#1

MOV XUANZHESS,#0

RE3:RET

SHUZPD1:MOV A,SHANSHOU

LCALL SHUZPD

RET

SHUZPD:CJNE A,#0,YI

LCALL MAOH 调用显示:子程序

LJMP RE1

YI: CJNE A,#1,RE1

LCALL KOBAI 调用显示|子程序

RE1:RET

MAOH: MOV A,#0A1H 查表显示:

LCALL WD1

MOV A,#0C3H

LCALL WD1

RET

KOBAI: MOV A,#0A9H 查表显示|

LCALL WD1

MOV A,#0A6H

LCALL WD1

RET

AJJY1: 按键加一

MOV A,SSWEIZHI

CJNE A,#1,ERRR

INC KEEP1

MOV A,KEEP1

MOV B,#10

DIV AB

MOV DAYH,A

MOV DAYL,B

LJMP RT123

ERRR : CJNE A,#2,SANNN

INC KEEP2

MOV A,KEEP2

MOV B,#10

DIV AB

MOV NIGHTH,A

MOV NIGHTL,B

LJMP RT123

SANNN: CJNE A,#3,RT123

INC KEEP3

MOV A,KEEP3

MOV B,#10

DIV AB

MOV WAITH,A

MOV WAITL,B

RT123:RET

AJJY2: MOV A,SSWEIZHI按键减一

CJNE A,#1,ERRR1

DEC KEEP1

MOV A,KEEP1

MOV B,#10

DIV AB

MOV DAYH,A

MOV DAYL,B

LJMP RT123

ERRR1 :CJNE A,#2,SANNN1

DEC KEEP2

MOV A,KEEP2

MOV B,#10

DIV AB

MOV NIGHTH,A

MOV NIGHTL,B

LJMP RT123

SANNN1: CJNE A,#3,RT1231

DEC KEEP3

MOV A,KEEP3

MOV B,#10

DIV AB

MOV WAITH,A

MOV WAITL,B

RT1231: RET

INIT: CLR RESET 初始化LCD

SETB RESET

MOV A,#30H 设置基本指令集,8位控制界面

LCALL WC1

MOV A,#30H

LCALL WC1

MOV A,#0CH 开显示

LCALL WC1

MOV A,#01H 清显示

LCALL WC1

MOV A,#06H 进入点设定

LCALL WC1

RET

WC1:PUSH ACC 写命令

MOV P0,A

CLR RW

CLR DI

SETB E

NOP

CLR E

CALL RFG1

POP ACC

RET

WD1:PUSH ACC 写数据

MOV P0,A

CLR RW

SETB DI

SETB E

NOP

CLR E

CALL RFG1

POP ACC

RET

RFG1: MOV P0,#0FFH 判液晶屏忙否

SETB RW

CLR DI

BUSY: SETB E

MOV A,P0

CLR E

JB ACC.7,BUSY

RET

DELAY10:MOV R7,#20

DL20: MOV R6,#25

DL10: DJNZ R6,DL10

DJNZ R7,DL20

RET

DEL200MS:

MOV R7,#10

DEL2: MOV R6,#80

DEL1: MOV R5,#200

DEL0: DJNZ R5,DEL0

DJNZ R6,DEL1

DJNZ R7,DEL2

RET

END


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12505810.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存