📄 12864.lst
字号:
A51 MACRO ASSEMBLER 12864 03/18/2008 00:32:12 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN 12864.OBJ
ASSEMBLER INVOKED BY: d:\Keil\C51\BIN\A51.EXE 12864.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;************************************************************
2 ;ST7920的测试程序,该程序使用并口,可测试128×64点阵。其接口为
3 ;RS---P2.5 R/W---P2.6 E---------P2.7 DB0~7-----P0
4 ;重庆电子网 www.cqmcu.com QQ 444011745 469040972
5 ;************************************************************
00A5 6 RS EQU P2.5
00A6 7 RW EQU P2.6
00A7 8 E EQU P2.7
9
0000 10 ORG 0000H
0000 2100 11 AJMP START
12
13 ;主程序
0100 14 ORG 0100H
0100 15 START:
0100 75A881 16 MOV IE,#81H ;EXT. INT0 PERMIT
0103 75B801 17 MOV IP,#01H ;INT0 IS FIRST INT. LEVEL
0106 758800 18 MOV TCON,#00H ;TIMER/COUNTER CONTROLER INIT.
0109 758167 19 MOV SP, #67h
20
010C 1201EA 21 LCALL DELAY
010F 1201EA 22 LCALL DELAY
0112 120180 23 LCALL SETUP
24
0115 7480 25 MOV A,#80H ;第一,三行汉字测试
0117 1201AD 26 LCALL WRITE_COM
011A 901000 27 MOV DPTR,#CHINESE1
011D 1201FE 28 LCALL WRITE_HZ
0120 7490 29 MOV A,#90H ;第二,四行汉字测试
0122 1201AD 30 LCALL WRITE_COM
0125 901010 31 MOV DPTR,#CHINESE2
0128 1201FE 32 LCALL WRITE_HZ
33
012B 1201EA 34 LCALL DELAY
012E 1201EA 35 LCALL DELAY
0131 1201EA 36 LCALL DELAY
0134 1201EA 37 LCALL DELAY
0137 1201EA 38 LCALL DELAY
013A 1201EA 39 LCALL DELAY
013D 1201EA 40 LCALL DELAY
0140 1201EA 41 LCALL DELAY
0143 1201EA 42 LCALL DELAY
0146 1201EA 43 LCALL DELAY
44
0149 7480 45 MOV A,#80H ;第一,三行字符测试
014B 1201AD 46 LCALL WRITE_COM
014E 901024 47 MOV DPTR,#TABLE1
0151 1201F3 48 LCALL WRITE_ASCII
0154 7490 49 MOV A,#90H ;第二,四行字符测试
0156 1201AD 50 LCALL WRITE_COM
0159 901031 51 MOV DPTR,#TABLE2
015C 1201F3 52 LCALL WRITE_ASCII
53
54
015F 1201EA 55 LCALL DELAY
0162 1201EA 56 LCALL DELAY
0165 1201EA 57 LCALL DELAY
0168 1201EA 58 LCALL DELAY
A51 MACRO ASSEMBLER 12864 03/18/2008 00:32:12 PAGE 2
016B 1201EA 59 LCALL DELAY
016E 1201EA 60 LCALL DELAY
0171 1201EA 61 LCALL DELAY
0174 1201EA 62 LCALL DELAY
0177 1201EA 63 LCALL DELAY
017A 1201EA 64 LCALL DELAY
65
017D 020100 66 AAA: LJMP START
67
68 ;初始化
0180 69 SETUP:
0180 1201EA 70 LCALL DELAY
0183 1201EA 71 LCALL DELAY
0186 1201EA 72 LCALL DELAY
0189 7401 73 MOV A,#01H ;清除显示
018B 1201AD 74 LCALL WRITE_COM
018E 7430 75 MOV A,#00110000B ;8位MPU控制界面,基本指令集动作
0190 1201AD 76 LCALL WRITE_COM
0193 7402 77 MOV A,#00000010B ;DDRAM的计数器(AC)到"00H",降游标移动到开头原点位置
0195 1201AD 78 LCALL WRITE_COM
0198 7404 79 MOV A,#00000100B ;
019A 1201AD 80 LCALL WRITE_COM
019D 740C 81 MOV A,#00001100B ;DISPLAY ON
019F 1201AD 82 LCALL WRITE_COM
01A2 7401 83 MOV A,#00000001B ;CLEARING SCREEN
01A4 1201AD 84 LCALL WRITE_COM
01A7 7480 85 MOV A,#10000000B ;SET DDRAM ADDRESS
01A9 1201AD 86 LCALL WRITE_COM
01AC 22 87 RET
88
89 ;写指令
01AD 90 WRITE_COM:
01AD 1201EA 91 LCALL DELAY
01B0 C2A5 92 CLR RS
01B2 C2A5 93 CLR RS
01B4 C2A6 94 CLR RW
01B6 C2A6 95 CLR RW
01B8 F580 96 MOV P0,A
01BA F580 97 MOV P0,A
01BC D2A7 98 SETB E
01BE D2A7 99 SETB E
01C0 00 100 NOP
01C1 00 101 NOP
01C2 C2A7 102 CLR E
01C4 C2A7 103 CLR E
01C6 22 104 RET
105
106 ;写显示数据
01C7 107 WRITE_DAT:
01C7 1201E1 108 LCALL DELAY1
01CA D2A5 109 SETB RS
01CC D2A5 110 SETB RS
01CE C2A6 111 CLR RW
01D0 C2A6 112 CLR RW
01D2 F580 113 MOV P0,A
01D4 F580 114 MOV P0,A
01D6 D2A7 115 SETB E
01D8 D2A7 116 SETB E
01DA 00 117 NOP
01DB 00 118 NOP
01DC C2A7 119 CLR E
01DE C2A7 120 CLR E
01E0 22 121 RET
122
123 ;延时1×1+16×1+16×16×2+16×2+1×2=563us
01E1 124 DELAY1:
A51 MACRO ASSEMBLER 12864 03/18/2008 00:32:12 PAGE 3
01E1 7F10 125 MOV R7,#10H
01E3 7E10 126 D11: MOV R6,#10H
01E5 DEFE 127 DJNZ R6,$
01E7 DFFA 128 DJNZ R7,D11
01E9 22 129 RET
130
131 ;延时1×1+256×1+256×256×2+256×2+1×2=131843us
01EA 132 DELAY:
01EA 7900 133 MOV R1,#00H
01EC 7A00 134 D2: MOV R2,#00H
01EE DAFE 135 DJNZ R2,$
01F0 D9FA 136 DJNZ R1,D2
01F2 22 137 RET
138
139 ;写32个字符到128×64液晶模块,前16个汉字在第一(二)行,后16个汉字在第三(四)行。
01F3 140 WRITE_ASCII:
01F3 7C20 141 MOV R4,#32
01F5 E4 142 DDDD: CLR A
01F6 93 143 MOVC A,@A+DPTR
01F7 1201C7 144 LCALL WRITE_DAT
01FA A3 145 INC DPTR
01FB DCF8 146 DJNZ R4,DDDD
01FD 22 147 RET
148
149 ;写16个汉字到128×64液晶模块,前8个汉字在第一(二)行,后8个汉字在第三(四)行。
01FE 150 WRITE_HZ:
01FE 7C10 151 MOV R4,#16
0200 E4 152 DD: CLR A
0201 93 153 MOVC A,@A+DPTR
154
0202 1201C7 155 LCALL WRITE_DAT
0205 A3 156 INC DPTR
0206 E4 157 CLR A
0207 93 158 MOVC A,@A+DPTR
159
0208 1201C7 160 LCALL WRITE_DAT
020B A3 161 INC DPTR
020C DCF2 162 DJNZ R4,DD
020E 22 163 RET
164
165 ;定位,使汉字代码以偶字节开始
1000 166 ORG 1000H
167 ;"这里是16*16点阵的汉字代码表"
1000 D6D8C7EC 168 CHINESE1: DB "重庆电子网—--—"
1004 B5E7D7D3
1008 CDF8A1AA
100C 2D2DA1AA
1010 BADABDF0 169 CHINESE2: DB "黑金刚51单片机学习板"
1014 B8D53531
1018 B5A5C6AC
101C BBFAD1A7
1020 CFB0B0E5
170 ;"这里是16*8点阵的字符代码"
1024 7777772E 171 TABLE1: DB "www.cqmcu.com"
1028 63716D63
102C 752E636F
1030 6D
1031 51513A34 172 TABLE2: DB "QQ:444011745 469040972 "
1035 34343031
1039 31373435
103D 20343639
1041 30343039
1045 37322020
1049 20202020
104D 202020
173 ;结束
A51 MACRO ASSEMBLER 12864 03/18/2008 00:32:12 PAGE 4
174 END
A51 MACRO ASSEMBLER 12864 03/18/2008 00:32:12 PAGE 5
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
AAA. . . . . . . . C ADDR 017DH A
CHINESE1 . . . . . C ADDR 1000H A
CHINESE2 . . . . . C ADDR 1010H A
D11. . . . . . . . C ADDR 01E3H A
D2 . . . . . . . . C ADDR 01ECH A
DD . . . . . . . . C ADDR 0200H A
DDDD . . . . . . . C ADDR 01F5H A
DELAY. . . . . . . C ADDR 01EAH A
DELAY1 . . . . . . C ADDR 01E1H A
E. . . . . . . . . B ADDR 00A0H.7 A
IE . . . . . . . . D ADDR 00A8H A
IP . . . . . . . . D ADDR 00B8H A
P0 . . . . . . . . D ADDR 0080H A
P2 . . . . . . . . D ADDR 00A0H A
RS . . . . . . . . B ADDR 00A0H.5 A
RW . . . . . . . . B ADDR 00A0H.6 A
SETUP. . . . . . . C ADDR 0180H A
SP . . . . . . . . D ADDR 0081H A
START. . . . . . . C ADDR 0100H A
TABLE1 . . . . . . C ADDR 1024H A
TABLE2 . . . . . . C ADDR 1031H A
TCON . . . . . . . D ADDR 0088H A
WRITE_ASCII. . . . C ADDR 01F3H A
WRITE_COM. . . . . C ADDR 01ADH A
WRITE_DAT. . . . . C ADDR 01C7H A
WRITE_HZ . . . . . C ADDR 01FEH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -