📄 wl028.lst
字号:
A51 MACRO ASSEMBLER WL028 08/19/2005 13:36:45 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN wl028.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE wl028.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;********************************************************************************
2 ;* 标题: 伟纳电子ME300B单片机开发系统演示程序 - 12864LCD(不带字库)滚动显示 *
3 ;* 文件: wl028.asm *
4 ;* 日期: 2005-8-19 *
5 ;* 版本: 1.0 *
6 ;* 作者: gguoqing *
7 ;* 邮箱: gguoqing@sxicc.ac.cn *
8 ;* 网站: http://www.willar.com *
9 ;********************************************************************************
10 ;* 描述: *
11 ;* TS12864A-2 上下滚动显示演示程序 *
12 ;* *
13 ;* 有规律地改变显示起始行,实现显示滚动的效果 *
14 ;* *
15 ;* *
16 ;********************************************************************************
17 ;* 【版权】 Copyright(C)伟纳电子 www.willar.com All Rights Reserved *
18 ;* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息! *
19 ;********************************************************************************
20
00A4 21 CS2 BIT P2.4
00A3 22 CS1 BIT P2.3
00A2 23 E BIT P2.2
00A1 24 R_W BIT P2.1
00A0 25 D_I BIT P2.0
00A5 26 RST BIT P2.5
0020 27 COM EQU 20H ; 指令寄存器
0021 28 DAT EQU 21H ; 数据寄存器
29
0094 30 K1 EQU P1.4
0095 31 K2 EQU P1.5
0096 32 K3 EQU P1.6
0097 33 K4 EQU P1.7
00B7 34 BEEP EQU P3.7
35
0000 36 ORG 0000H
0000 0150 37 AJMP MAIN
38
39 ;------------------------------------------
0050 40 ORG 0050H
0050 41 MAIN:
0050 758150 42 mov sp,#50h
0053 D2A5 43 SETB RST ;
44
0055 75203E 45 MOV COM,#3EH ;关显示
0058 120222 46 LCALL WRITE_I
005B 120219 47 LCALL DELLY
005E 75203F 48 MOV COM,#3FH ;开显示
0061 120222 49 LCALL WRITE_I
0064 120219 50 LCALL DELLY
51
0067 C2A4 52 CLR CS2 ;清左半屏
0069 D2A3 53 SETB CS1
006B 12019D 54 LCALL CLEAR
006E C2A3 55 CLR CS1 ;清右半屏
0070 D2A4 56 SETB CS2
0072 12019D 57 LCALL CLEAR
58
A51 MACRO ASSEMBLER WL028 08/19/2005 13:36:45 PAGE 2
59 ;==========================================
60 ;写左半屏
61 ;(R3)=页地址, (R4)= 列地址
62 ;=========================================
0075 C2A4 63 CLR CS2 ;欢
0077 D2A3 64 SETB CS1
0079 90027E 65 MOV DPTR,#HZ101
007C 7BB8 66 MOV R3,#0B8H ;页地址
007E 7C60 67 MOV R4,#60H ;列地址
0080 1201CB 68 LCALL HZSHOW
69
0083 90029E 70 MOV DPTR,#HZ102 ;迎
0086 7BB8 71 MOV R3,#0B8H
0088 7C70 72 MOV R4,#70H
008A 1201CB 73 LCALL HZSHOW
74
008D 9002FE 75 MOV DPTR,#ZM01 ;M
0090 7BBA 76 MOV R3,#0BAH
0092 7C50 77 MOV R4,#50H
0094 1201F2 78 LCALL YWSHOW
79
0097 900316 80 MOV DPTR,#ZM02 ;E
009A 7BBA 81 MOV R3,#0BAH
009C 7C60 82 MOV R4,#60H
009E 1201F2 83 LCALL YWSHOW
84
00A1 90032E 85 MOV DPTR,#ZM03 ;3
00A4 7BBA 86 MOV R3,#0BAH
00A6 7C70 87 MOV R4,#70H
00A8 1201F2 88 LCALL YWSHOW
89
00AB 900376 90 MOV DPTR,#HZ301 ;单
00AE 7BBC 91 MOV R3,#0BCH
00B0 7C40 92 MOV R4,#40H
00B2 1201CB 93 LCALL HZSHOW
94
00B5 900396 95 MOV DPTR,#HZ302 ;片
00B8 7BBC 96 MOV R3,#0BCH
00BA 7C50 97 MOV R4,#50H
00BC 1201CB 98 LCALL HZSHOW
99
00BF 9003B6 100 MOV DPTR,#HZ303 ;机
00C2 7BBC 101 MOV R3,#0BCH
00C4 7C60 102 MOV R4,#60H
00C6 1201CB 103 LCALL HZSHOW
104
00C9 9003D6 105 MOV DPTR,#HZ304 ;开
00CC 7BBC 106 MOV R3,#0BCH
00CE 7C70 107 MOV R4,#70H
00D0 1201CB 108 LCALL HZSHOW
109
110 ;==========================================
111 ;写右半屏
112 ;(R3)=页地址, (R4)= 列地址
113 ;=========================================
114 ;LCALL DELLY
00D3 C2A3 115 CLR CS1 ;使
00D5 D2A4 116 SETB CS2
00D7 9002BE 117 MOV DPTR,#HZ103
00DA 7BB8 118 MOV R3,#0B8H ;页地址
00DC 7C40 119 MOV R4,#40H ;列地址
00DE 1201CB 120 LCALL HZSHOW
121
00E1 9002DE 122 MOV DPTR,#HZ104 ;用
00E4 7BB8 123 MOV R3,#0B8H
00E6 7C50 124 MOV R4,#50H
A51 MACRO ASSEMBLER WL028 08/19/2005 13:36:45 PAGE 3
00E8 1201CB 125 LCALL HZSHOW
126
00EB 900346 127 MOV DPTR,#ZM04 ;0
00EE 7BBA 128 MOV R3,#0BAH
00F0 7C40 129 MOV R4,#40H
00F2 1201F2 130 LCALL YWSHOW
131
00F5 900346 132 MOV DPTR,#ZM04 ;0
00F8 7BBA 133 MOV R3,#0BAH
00FA 7C50 134 MOV R4,#50H
00FC 1201F2 135 LCALL YWSHOW
136
00FF 90035E 137 MOV DPTR,#ZM05 ;B
0102 7BBA 138 MOV R3,#0BAH
0104 7C60 139 MOV R4,#60H
0106 1201F2 140 LCALL YWSHOW
141
0109 9003F6 142 MOV DPTR,#HZ305 ;发
010C 7BBC 143 MOV R3,#0BCH
010E 7C40 144 MOV R4,#40H
0110 1201CB 145 LCALL HZSHOW
146
0113 900416 147 MOV DPTR,#HZ306 ;系
0116 7BBC 148 MOV R3,#0BCH
0118 7C50 149 MOV R4,#50H
011A 1201CB 150 LCALL HZSHOW
151
011D 900436 152 MOV DPTR,#HZ307 ;统
0120 7BBC 153 MOV R3,#0BCH
0122 7C60 154 MOV R4,#60H
0124 1201CB 155 LCALL HZSHOW
156
0127 900456 157 MOV DPTR,#HZ308 ;板
012A 7BBC 158 MOV R3,#0BCH
012C 7C70 159 MOV R4,#70H
012E 1201CB 160 LCALL HZSHOW
161
0131 3135 162 MAIN1: call SCAN_KEY
0133 80FC 163 JMP MAIN1
164 ;-----------------------
165 ;功能键子程序
166 ;-----------------------
0135 167 SCAN_KEY:
0135 209405 168 JB K1, KEY2
0138 5160 169 CALL BEEP_BL
013A 12016F 170 LCALL MOVE_UP
171
013D 209505 172 KEY2: JB K2, KEY3
0140 5160 173 CALL BEEP_BL
0142 12014D 174 LCALL MOVE_DOWN
175
0145 209604 176 KEY3: JB K3,KEY4
0148 5160 177 CALL BEEP_BL
014A 0150 178 jmp MAIN
014C 22 179 KEY4: RET
180 ;------------------------
181 ;向下滚动子程序
182 ;有规律地改变显示起始行地址,实现显示滚动的效果。
183 ;------------------------
014D 184 MOVE_DOWN:
014D 7F3F 185 MOV R7,#03FH ;偏移数
014F 186 MOVE_DOWN1:
014F 74C0 187 MOV A,#0C0H ;显示起始行设置代码
0151 4F 188 ORL A,R7 ;与偏移数相或,得新的地址
0152 C2A4 189 CLR CS2
0154 D2A3 190 SETB CS1 ;写左半屏
A51 MACRO ASSEMBLER WL028 08/19/2005 13:36:45 PAGE 4
0156 F520 191 MOV COM,A
0158 120222 192 LCALL WRITE_I
015B B2A3 193 CPL CS1
015D B2A4 194 CPL CS2 ;写右半屏
015F F520 195 MOV COM,A
0161 120222 196 LCALL WRITE_I
0164 120193 197 LCALL DELAY1
0167 120145 198 lcall key3
016A DFE3 199 DJNZ R7,MOVE_DOWN1 ;偏移数减1
016C 02014D 200 LJMP MOVE_DOWN
201
202 ;----------------------
203 ;向上滚屏子程序
204 ;有规律地改变显示起始行,实现显示滚屏的效果。
205 ;----------------------
016F 206 MOVE_UP:
016F 7F00 207 MOV R7,#00H
0171 208 MOVE_UP1:
0171 74C0 209 MOV A,#0C0H ;显示起始行设置代码
0173 4F 210 ORL A,R7 ;与偏移数相或,得新的地址
0174 C2A4 211 CLR CS2
0176 D2A3 212 SETB CS1 ;写左半屏
0178 F520 213 MOV COM,A
017A 120222 214 LCALL WRITE_I
017D B2A3 215 CPL CS1
017F B2A4 216 CPL CS2 ;写右半屏
0181 F520 217 MOV COM,A
0183 120222 218 LCALL WRITE_I
0186 120193 219 LCALL DELAY1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -