📄 lcd.ls1
字号:
A51 MACRO ASSEMBLER LCD 10/31/2003 02:22:22 PAGE 1
MACRO ASSEMBLER A51 V7.01
OBJECT MODULE PLACED IN .\Lcd.OBJ
ASSEMBLER INVOKED BY: C:\Program Files\Keil\C51\BIN\A51.EXE .\Lcd.src PR(.\Lcd.ls1) EP DEBUG
LOC OBJ LINE SOURCE
1 ; .\Lcd.SRC generated from: ..\SourceFile\Lcd.c
2 ; COMPILER INVOKED BY:
3 ; C:\Program Files\Keil\C51\BIN\C51.EXE ..\SourceFile\Lcd.c LARGE BROWSE DEBUG OBJEC
TEXTEND PRINT(.\Lcd.lst) SRC(.\Lcd.SRC)
4
5
6 NAME LCD
7
8 ?PR?_SetPage?LCD SEGMENT CODE
9 ?PR?_SetColumn?LCD SEGMENT CODE
10 ?PR?InitTg19264?LCD SEGMENT CODE
11 ?PR?lcd_init?LCD SEGMENT CODE
12 ?PR?lcd_clear?LCD SEGMENT CODE
13 ?PR?_lcd_display_graphic?LCD SEGMENT CODE
14 ?XD?_lcd_display_graphic?LCD SEGMENT XDATA OVERLAYABLE
15 ?BI?_lcd_display_graphic?LCD SEGMENT BIT OVERLAYABLE
16 ?PR?_lcd_display_char?LCD SEGMENT CODE
17 ?XD?_lcd_display_char?LCD SEGMENT XDATA OVERLAYABLE
18 ?BI?_lcd_display_char?LCD SEGMENT BIT OVERLAYABLE
19 ?PR?_lcd_display_text?LCD SEGMENT CODE
20 ?XD?_lcd_display_text?LCD SEGMENT XDATA OVERLAYABLE
21 ?BI?_lcd_display_text?LCD SEGMENT BIT OVERLAYABLE
22 ?PR?_lcd_display_byte?LCD SEGMENT CODE
23 ?XD?_lcd_display_byte?LCD SEGMENT XDATA OVERLAYABLE
24 ?BI?_lcd_display_byte?LCD SEGMENT BIT OVERLAYABLE
25 EXTRN XDATA (g_Graphic)
26 EXTRN CODE (g_ASCII)
27 EXTRN CODE (g_Data2Char)
28 EXTRN CODE (_strlen)
29 EXTRN CODE (?C?ILDIX)
30 EXTRN CODE (?C?CLDPTR)
31 PUBLIC ?_lcd_display_byte?BIT
32 PUBLIC ?_lcd_display_byte?BYTE
33 PUBLIC _lcd_display_byte
34 PUBLIC ?_lcd_display_text?BIT
35 PUBLIC ?_lcd_display_text?BYTE
36 PUBLIC _lcd_display_text
37 PUBLIC ?_lcd_display_char?BIT
38 PUBLIC ?_lcd_display_char?BYTE
39 PUBLIC _lcd_display_char
40 PUBLIC ?_lcd_display_graphic?BIT
41 PUBLIC ?_lcd_display_graphic?BYTE
42 PUBLIC _lcd_display_graphic
43 PUBLIC lcd_clear
44 PUBLIC lcd_init
45
---- 46 RSEG ?XD?_lcd_display_byte?LCD
0000 47 ?_lcd_display_byte?BYTE:
0000 48 XStart?870: DS 1
0001 49 YStart?871: DS 1
0002 50 value?874: DS 1
0003 51 ORG 3
0003 52 Shift?875: DS 1
0004 53 Result?876: DS 1
54
---- 55 RSEG ?BI?_lcd_display_byte?LCD
0000 56 ?_lcd_display_byte?BIT:
0000 57 bHex?872: DBIT 1
A51 MACRO ASSEMBLER LCD 10/31/2003 02:22:22 PAGE 2
0001 58 bReverseDisplay?873: DBIT 1
59
---- 60 RSEG ?XD?_lcd_display_text?LCD
0000 61 ?_lcd_display_text?BYTE:
0000 62 XStart?764: DS 1
0001 63 YStart?765: DS 1
0002 64 pText?767: DS 3
0005 65 ORG 5
0005 66 i?768: DS 1
0006 67 len?769: DS 1
68
---- 69 RSEG ?BI?_lcd_display_text?LCD
0000 70 ?_lcd_display_text?BIT:
0000 71 bReverseDisplay?766: DBIT 1
72
---- 73 RSEG ?XD?_lcd_display_graphic?LCD
0000 74 ?_lcd_display_graphic?BYTE:
0000 75 XStart?544: DS 1
0001 76 YStart?545: DS 1
0002 77 Width?546: DS 1
0003 78 Height?547: DS 1
0004 79 GraphicIndex?549: DS 1
0005 80 ORG 5
0005 81 PageStart?552: DS 1
0006 82 PageEnd?553: DS 1
83
---- 84 RSEG ?BI?_lcd_display_graphic?LCD
0000 85 ?_lcd_display_graphic?BIT:
0000 86 bReverseDisplay?548: DBIT 1
87
---- 88 RSEG ?XD?_lcd_display_char?LCD
0000 89 ?_lcd_display_char?BYTE:
0000 90 XStart?655: DS 1
0001 91 YStart?656: DS 1
0002 92 character?658: DS 1
0003 93 ORG 3
0003 94 PageEnd?662: DS 1
95
---- 96 RSEG ?BI?_lcd_display_char?LCD
0000 97 ?_lcd_display_char?BIT:
0000 98 bReverseDisplay?657: DBIT 1
99 ; /*************************************************/
100 ;
101 ; /**************液晶显示屏*******************/
102 ;
103 ; /***************2003年1月20日*******************/
104 ;
105 ; /************WROTE BY WANGSW********************/
106 ;
107 ;
108 ;
109 ;
110 ;
111 ; #include <absacc.h> /*XBYTE绝对外部内存空间头文件*/
112 ; #include <string.h>
113 ; #include <intrins.h>
114 ; #include "define.h"
115 ; #include "ascii.h"
116 ; #include "lcd.h"
117 ;
118 ;
119 ; #ifdef DP_51
120 ; #define WLCD XBYTE[0xF800] /*r定义WLCD为写LCD的内容*/
121 ; #define RLCD XBYTE[0xF801] /*r定义RLCD为读LCD的内容*/
122 ; #define RS XBYTE[0xF802] /*对于TG19264A1,RS=0为命令,RS=1为数据*/
123 ; #endif
A51 MACRO ASSEMBLER LCD 10/31/2003 02:22:22 PAGE 3
124 ;
125 ; #ifdef TG19264
126 ; #define MAX_COLUMN 64
127 ; #define MAX_PAGE 8
128 ; #endif
129 ;
130 ;
131 ; #define SendCtr(value) RS = 0; RS = 0; WLCD = value;
132 ; #define SendData(value) RS = 1; RS = 1; WLCD = value;
133 ;
134 ; /*******************************************************************/
135 ; //static void SendCtr(byte value);
136 ; //static void SendData(byte value);
137 ; static void SetPage(byte value);
138 ; static void SetColumn(byte value);
139 ; static void InitTg19264(void);
140 ;
141 ;
142 ;
143 ;
144 ; /****************************************************************************************
**
145 ; *函数名: SetPage
146 ; *参数: value 设置的页码值,从0~7有效
147 ; *返回值: 无
148 ; *描述: 对于TG19264液晶屏,设置当前操作的页码值
149 ; *编写: 王绍伟
150 ; *版本信息: V1.0 2003年8月15日
151 ; *****************************************************************************************
*/
152 ; static void SetPage(byte value)
153
---- 154 RSEG ?PR?_SetPage?LCD
0000 155 _SetPage:
156 ; SOURCE LINE # 54
157 ;---- Variable 'value?040' assigned to Register 'R7' ----
158 ; {
159 ; SOURCE LINE # 55
160 ; #ifdef TG19264
161 ; SendCtr(0xB8 + value);
162 ; SOURCE LINE # 57
0000 90F802 163 MOV DPTR,#0F802H
0003 E4 164 CLR A
0004 F0 165 MOVX @DPTR,A
0005 F0 166 MOVX @DPTR,A
0006 EF 167 MOV A,R7
0007 24B8 168 ADD A,#0B8H
0009 90F800 169 MOV DPTR,#0F800H
000C F0 170 MOVX @DPTR,A
171 ; #endif
172 ; }
173 ; SOURCE LINE # 59
000D 22 174 RET
175 ; END OF _SetPage
176
177 ;
178 ;
179 ; /****************************************************************************************
**
180 ; *函数名: SetColumn
181 ; *参数: value 设置的X坐标位置,从0~63有效
182 ; *返回值: 无
183 ; *描述: 设置当前液晶屏操作的X坐标位置
184 ; *编写: 王绍伟
185 ; *版本信息: V1.0 2003年8月15日
186 ; *****************************************************************************************
A51 MACRO ASSEMBLER LCD 10/31/2003 02:22:22 PAGE 4
*/
187 ; static void SetColumn(byte value)
188
---- 189 RSEG ?PR?_SetColumn?LCD
0000 190 _SetColumn:
191 ; SOURCE LINE # 70
192 ;---- Variable 'value?141' assigned to Register 'R7' ----
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -