您的位置 首页 新能源

AT89S52并口驱动LCD12864(ST7920芯片组)

1.8-bit并口程序;///////////////////////////////////////////////;AT89S52与LCD12864接口实验;LCD12864控制器为ST7920芯

1.8-bit并口程序

;///////////////////////////////////////////////
;AT89S52LCD12864接口试验
;LCD12864控制器为ST7920芯片组
;用12846显现汉字
;RS-P2.4,R/W-P2.5,E-P2.6
;/RET-P2.3,PSB-P2.1,P0-DB0~DB7
;/////////////////////////////////////////////
RS EQU P2.4
RW EQU P2.5
E EQU P2.6
LDB EQU P0
LRET EQU P2.3
PSB EQU P2.1
COM EQU 40H;写入指令暂存器
DAT EQU 41H;显现数据暂存器
ADDR EQU 42H;显现地址寄存器
ORG 0000H
SJMP START
ORG 0030H
;主程序
START:MOV SP,50H
MOV P2,#10000111B
LCALL DEL40 ;
SETB LRET
LCALL RESET;LCD12864初始化

MOV ADDR,#80H;显现第一页数据
MOV DPTR,#DISA1
LCALL LINE
MOV ADDR,#90H
MOV DPTR,#DISA2
LCALL LINE
MOV ADDR,#88H
MOV DPTR,#DISA3
LCALL LINE
MOV ADDR,#98H
MOV DPTR,#DISA4
LCALL LINE
LCALL DEL2S

MOV ADDR,#80H;显现第二页数据
MOV DPTR,#DISA5
LCALL LINE
MOV ADDR,#90H
MOV DPTR,#DISA6
LCALL LINE
MOV ADDR,#88H
MOV DPTR,#DISA7
LCALL LINE
MOV ADDR,#98H
MOV DPTR,#DISA8
LCALL LINE
LCALL DEL2S

MOV ADDR,#80H;显现第三页数据
MOV DPTR,#DISB1
LCALL LINE
MOV ADDR,#90H
MOV DPTR,#DISB2
LCALL LINE
MOV ADDR,#88H
MOV DPTR,#DISB3
LCALL LINE
MOV ADDR,#98H
MOV DPTR,#DISB4
LCALL LINE
LCALL DEL2S

MOV ADDR,#80H;显现第四页数据
MOV DPTR,#DISB5
LCALL LINE
MOV ADDR,#90H
MOV DPTR,#DISB6
LCALL LINE
MOV ADDR,#88H
MOV DPTR,#DISB7
LCALL LINE
MOV ADDR,#98H
MOV DPTR,#DISB8
LCALL LINE
LCALL DEL2S

LJMP START

;函数WCOM 写LCD指令
WCOM: CLR RS
SETB RW
D2:MOV LDB,#0FFH
SETB E
MOV A,LDB
CLR E
JB ACC.7,D2
CLR RW
MOV A,COM
MOV LDB,A
SETB E
NOP
CLR E
RET

;函数WDAT 写显现数据
WDAT: CLR RS
SETB RW
D3:MOV LDB,#0FFH
SETB E
MOV A,LDB
CLR E
JB ACC.7,D3
SETB RS
CLR RW
MOV A,DAT
MOV LDB,A
SETB E
NOP
CLR E
RET

;函数RESET LCD初始化程序
RESET:MOV COM,#00110000B;设置根本指令
LCALL WCOM
MOV COM,#00110000B;设置8bit并口
LCALL WCOM
MOV COM,#00001100B;开显现,关光标,关反白
LCALL WCOM
MOV COM,#00000001B;清屏,AC=0
LCALL WCOM
MOV COM,#00000110B;进入点设定
LCALL WCOM
RET

;函数LINE 写入一行的显现数据
LINE: MOV A,ADDR
MOV COM,A
LCALL WCOM
MOV R0,#10H
MOV R1,#00H
D1:MOV A,R1
MOVC A,@A+DPTR
MOV DAT,A
LCALL WDAT
INC R1
DJNZ R0,D1
RET

;函数DEL40 40MS延时D
DEL40:MOV R3,#10
E2:MOV R4,#100
E1:NOP
NOP
DJNZ R4,E1
DJNZ R3,E2
RET

;函数DEL2S 2S延时
DEL2S:MOV R2,#03
E5:MOV R5,#100
E4:MOV R6,#20
E3:MOV R7,#248
DJNZ R7,$
DJNZ R6,E3
DJNZ R5,E4
DJNZ R2,E5
RET

;显现内容区
DISA1:DB “青岛佰谦工贸公司”
DISA2:DB “WWW.Baidu.COM.cn”
DISA3:DB ” 13210813637 “
DISA4:DB “128*64全点阵显现”
DISA5:DB “图形以及字符显现”
DISA6:DB “2009年 7月 29 日”
DISA7:DB “设计者:赵玉庆 “
DISA8:DB “AT89C52 与ST7920”

DISB1:DB “昨晚星斗昨晚风,”
DISB2:DB “画楼西畔桂堂东。”
DISB3:DB “身无彩凤双飞翼,”
DISB4:DB “心有灵犀一点通。”
DISB5:DB “隔座送钩春酒暖,”
DISB6:DB “分曹射覆蜡灯红。”
DISB7:DB “嗟余听鼓应官去,”
DISB8:DB “走马兰台类转蓬。”

END

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/xinnengyuan/276182.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部