📄 12864-+
字号:
A51 MACRO ASSEMBLER ST7920 10/11/2009 23:23:19 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN st7920.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE st7920.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1
2 ;****************************************************************
3 ;* ★★★ 自带字库12864图形中文液晶模块演示程序 ★★★ *
4 ;* (电子驿站单片机实验板、开发板配套例程,程序转载请著明出处。) *
5 ;* E-mail: support@ourmpu.com QQ留言:451338254 476485321 *
6 ;* 编程:ourmpu http://www.ourmpu.com/ 更多例程请登陆网站 *
7 ;****************************************************************
8 ;* 此演示程序仅适用与本站提供的配套的自带字库12864液晶模块演示 *
9 ;* 2M位中文字型ROM(CGROM),总共提供8192个中文字型(16×16点阵) *
10 ;* 16K位半宽字型ROM(HCGROM),总共提供126个西文字型(16×8点阵) *
11 ;* 64×16位字符产生RAM(CGRAM) *
12 ;* 15×16位总共240点的ICON RAM(ICONRAM) *
13 ;****************************************************************
14
00A0 15 RS EQU P2.0 ;H=DATA,L=COM
00A1 16 RW EQU P2.1 ;H=READ,L=WRITE
00A2 17 E EQU P2.2 ;
0030 18 COM EQU 30H ;控制字暂存单元
0031 19 DAT EQU 31H ;显示数据暂存单元
0032 20 CODER EQU 32H ;字符代码暂存单元
0033 21 ADDR EQU 33H ;地址暂存单元
22
0000 23 ORG 0000H
0000 0130 24 AJMP MAIN
25
0030 26 ORG 0030H
0030 27 MAIN:
0030 758160 28 MOV SP,#60H
0033 75A0F8 29 MOV P2,#0F8H
0036 120129 30 LCALL DEL_20MS
0039 120129 31 LCALL DEL_20MS
003C 120129 32 LCALL DEL_20MS
003F 120129 33 LCALL DEL_20MS
0042 120129 34 LCALL DEL_20MS
0045 1200C0 35 LCALL INI ;进入初始化子程序
0048 753380 36 MOV ADDR,#80H
004B 90015F 37 MOV DPTR,#WEL_1
004E 1200DF 38 LCALL W_LINE
0051 753390 39 MOV ADDR,#90H
0054 90016F 40 MOV DPTR,#WEL_2
0057 1200DF 41 LCALL W_LINE
005A 753388 42 MOV ADDR,#88H
005D 90017F 43 MOV DPTR,#WEL_3
0060 1200DF 44 LCALL W_LINE
0063 753398 45 MOV ADDR,#98H
0066 90018F 46 MOV DPTR,#WEL_4
0069 1200DF 47 LCALL W_LINE
006C 120155 48 LCALL DEL_1500MS
006F 753380 49 MOV ADDR,#80H
0072 90019F 50 MOV DPTR,#WEL_5
0075 1200DF 51 LCALL W_LINE
0078 753390 52 MOV ADDR,#90H
007B 9001AF 53 MOV DPTR,#WEL_6
007E 1200DF 54 LCALL W_LINE
0081 753388 55 MOV ADDR,#88H
0084 9001BF 56 MOV DPTR,#WEL_7
0087 1200DF 57 LCALL W_LINE
008A 753398 58 MOV ADDR,#98H
A51 MACRO ASSEMBLER ST7920 10/11/2009 23:23:19 PAGE 2
008D 9001CF 59 MOV DPTR,#WEL_8
0090 1200DF 60 LCALL W_LINE
0093 120155 61 LCALL DEL_1500MS
0096 753380 62 MOV ADDR,#80H ;
0099 9001DF 63 MOV DPTR,#HZ_1 ;
009C 1200DF 64 LCALL W_LINE
009F 753390 65 MOV ADDR,#90H ;
00A2 9001EF 66 MOV DPTR,#HZ_2 ;
00A5 1200DF 67 LCALL W_LINE
00A8 753388 68 MOV ADDR,#88H ;
00AB 9001FF 69 MOV DPTR,#HZ_3 ;
00AE 1200DF 70 LCALL W_LINE
00B1 753398 71 MOV ADDR,#98H ;
00B4 90020F 72 MOV DPTR,#HZ_4 ;
00B7 1200DF 73 LCALL W_LINE
00BA 120155 74 LCALL DEL_1500MS ;延时后重复显示
00BD 020030 75 LJMP MAIN
76
00C0 77 INI:
00C0 753030 78 MOV COM,#30H ;功能设定,基本指令
00C3 1200F3 79 LCALL WCOM
00C6 753030 80 MOV COM,#30H ;基本指令,8-bit 模式,基本指令
00C9 1200F3 81 LCALL WCOM
00CC 75300C 82 MOV COM,#0CH ;显示开,游标关,反白关
00CF 1200F3 83 LCALL WCOM
00D2 753001 84 MOV COM,#01H ;清除显示
00D5 1200F3 85 LCALL WCOM
00D8 753006 86 MOV COM,#06H ;进入设定点,游标7 右移,画面不移动
00DB 1200F3 87 LCALL WCOM
00DE 22 88 RET
89
00DF 90 W_LINE: ;写入一行8 汉字子程序
00DF 853330 91 MOV COM,ADDR ;
00E2 1200F3 92 LCALL WCOM ;
00E5 7A10 93 MOV R2,#16 ;16 个循环,连续写入8 个汉字或是16 个西文字符
00E7 94 W_L1:
00E7 7400 95 MOV A,#00H
00E9 93 96 MOVC A,@A+DPTR
00EA F532 97 MOV CODER,A
00EC 12010D 98 LCALL WCODE
00EF A3 99 INC DPTR
00F0 DAF5 100 DJNZ R2,W_L1
00F2 22 101 RET
102
00F3 103 WCOM: ;写指令子程序
00F3 C2A0 104 CLR RS
00F5 D2A1 105 SETB RW
00F7 106 WC1:
00F7 7580FF 107 MOV P0,#0FFH
00FA D2A2 108 SETB E
00FC E580 109 MOV A,P0
00FE C2A2 110 CLR E
0100 20E7F4 111 JB ACC.7,WC1 ;查忙
0103 C2A1 112 CLR RW
0105 853080 113 MOV P0,COM
0108 D2A2 114 SETB E
010A C2A2 115 CLR E
010C 22 116 RET
117
010D 118 WCODE: ;写代码子程序
010D C2A0 119 CLR RS
010F D2A1 120 SETB RW
0111 121 WCO1:
0111 7580FF 122 MOV P0,#0FFH
0114 D2A2 123 SETB E
0116 E580 124 MOV A,P0
A51 MACRO ASSEMBLER ST7920 10/11/2009 23:23:19 PAGE 3
0118 C2A2 125 CLR E
011A 20E7F4 126 JB ACC.7,WCO1
011D D2A0 127 SETB RS
011F C2A1 128 CLR RW
0121 853280 129 MOV P0,CODER
0124 D2A2 130 SETB E
0126 C2A2 131 CLR E
0128 22 132 RET
133
0129 134 DEL_20MS:
0129 781E 135 MOV R0,#30
012B 136 D2:
012B 79FF 137 MOV R1,#255
012D 138 D1:
012D 00 139 NOP
012E 00 140 NOP
012F 00 141 NOP
0130 D9FB 142 DJNZ R1,D1
0132 D8F7 143 DJNZ R0,D2
0134 22 144 RET
145
0135 146 DEL_100MS:
0135 120129 147 LCALL DEL_20MS
0138 120129 148 LCALL DEL_20MS
013B 120129 149 LCALL DEL_20MS
013E 120129 150 LCALL DEL_20MS
0141 120129 151 LCALL DEL_20MS
0144 22 152 RET
153
0145 154 DEL_500MS:
0145 120135 155 LCALL DEL_100MS
0148 120135 156 LCALL DEL_100MS
014B 120135 157 LCALL DEL_100MS
014E 120135 158 LCALL DEL_100MS
0151 120135 159 LCALL DEL_100MS
0154 22 160 RET
161
0155 162 DEL_1500MS:
0155 120145 163 LCALL DEL_500MS
0158 120145 164 LCALL DEL_500MS
015B 120145 165 LCALL DEL_500MS
015E 22 166 RET
167
015F 168 WEL_1:
015F B5E7D7D3 169 DB "电子驿站欢迎您!"
0163 E6E4D5BE
0167 BBB6D3AD
016B C4FAA3A1
016F 170 WEL_2:
016F 20777777 171 DB " www.ourmpu.com "
0173 2E6F7572
0177 6D70752E
017B 636F6D20
017F 172 WEL_3:
017F 54454C3A 173 DB "TEL:13376781108 "
0183 31333337
0187 36373831
018B 31303820
018F 174 WEL_4:
018F 4641583A 175 DB "FAX:0762-2826385"
0193 30373632
0197 2D323832
019B 36333835
019F 176 WEL_5:
019F CDBCD0CE 177 DB "图形以及字符显示"
01A3 D2D4BCB0
A51 MACRO ASSEMBLER ST7920 10/11/2009 23:23:19 PAGE 4
01A7 D7D6B7FB
01AB CFD4CABE
01AF 178 WEL_6:
01AF CFD4CABE 179 DB "显示四行八个中文"
01B3 CBC4D0D0
01B7 B0CBB8F6
01BB D6D0CEC4
01BF 180 WEL_7:
01BF C4DAB4F8 181 DB "内带标准中文字库"
01C3 B1EAD7BC
01C7 D6D0CEC4
01CB D7D6BFE2
01CF 182 WEL_8:
01CF BAAC3831 183 DB "含8192个中文字型"
01D3 3932B8F6
01D7 D6D0CEC4
01DB D7D6D0CD
01DF 184 HZ_1:
01DF C9D9D0A1 185 DB "少小离家老大回,"
01E3 C0EBBCD2
01E7 C0CFB4F3
01EB BBD8A3AC
01EF 186 HZ_2:
01EF CFE7D2F4 187 DB "乡音无改鬓毛衰。"
01F3 CEDEB8C4
01F7 F7DEC3AB
01FB CBA5A1A3
01FF 188 HZ_3:
01FF B6F9CDAF 189 DB "儿童相见不相识,"
0203 CFE0BCFB
0207 B2BBCFE0
020B CAB6A3AC
020F 190 HZ_4:
020F D0A6CECA 191 DB "笑问客从何处来。"
0213 BFCDB4D3
0217 BACEB4A6
021B C0B4A1A3
192 END
A51 MACRO ASSEMBLER ST7920 10/11/2009 23:23:19 PAGE 5
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
ADDR . . . . . . . N NUMB 0033H A
CODER. . . . . . . N NUMB 0032H A
COM. . . . . . . . N NUMB 0030H A
D1 . . . . . . . . C ADDR 012DH A
D2 . . . . . . . . C ADDR 012BH A
DAT. . . . . . . . N NUMB 0031H A
DEL_100MS. . . . . C ADDR 0135H A
DEL_1500MS . . . . C ADDR 0155H A
DEL_20MS . . . . . C ADDR 0129H A
DEL_500MS. . . . . C ADDR 0145H A
E. . . . . . . . . B ADDR 00A0H.2 A
HZ_1 . . . . . . . C ADDR 01DFH A
HZ_2 . . . . . . . C ADDR 01EFH A
HZ_3 . . . . . . . C ADDR 01FFH A
HZ_4 . . . . . . . C ADDR 020FH A
INI. . . . . . . . C ADDR 00C0H A
MAIN . . . . . . . C ADDR 0030H A
P0 . . . . . . . . D ADDR 0080H A
P2 . . . . . . . . D ADDR 00A0H A
RS . . . . . . . . B ADDR 00A0H.0 A
RW . . . . . . . . B ADDR 00A0H.1 A
SP . . . . . . . . D ADDR 0081H A
WC1. . . . . . . . C ADDR 00F7H A
WCO1 . . . . . . . C ADDR 0111H A
WCODE. . . . . . . C ADDR 010DH A
WCOM . . . . . . . C ADDR 00F3H A
WEL_1. . . . . . . C ADDR 015FH A
WEL_2. . . . . . . C ADDR 016FH A
WEL_3. . . . . . . C ADDR 017FH A
WEL_4. . . . . . . C ADDR 018FH A
WEL_5. . . . . . . C ADDR 019FH A
WEL_6. . . . . . . C ADDR 01AFH A
WEL_7. . . . . . . C ADDR 01BFH A
WEL_8. . . . . . . C ADDR 01CFH A
W_L1 . . . . . . . C ADDR 00E7H A
W_LINE . . . . . . C ADDR 00DFH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -