?? ht46r24.lst
字號:
120 000F 0080 R MOV LcdWriteCommand1,A
120 0010 2000 R CALL _LcdWriteCommand
120 0011 L26:
120 0011 0003 RET
120 0002 00 LOCAL b0_4 DB ?
; 114: Uchar temp;
114 0003 00 LOCAL CR11 DB ? ; temp
114 0012 _LocateXY ENDP
; 127: {
127 0000 @DispOneChar .SECTION 'CODE'
127 0000 PUBLIC _DispOneChar
127 0000 _DispOneChar PROC
; 126: void DispOneChar(Uchar x,Uchar y,Uchar Wdata)
126 0000 PUBLIC DispOneChar0
126 0000 00 LOCAL DispOneChar0 DB ? ; x
126 0000 PUBLIC DispOneChar1
126 0001 00 LOCAL DispOneChar1 DB ? ; y
126 0000 PUBLIC DispOneChar2
126 0002 00 LOCAL DispOneChar2 DB ? ; Wdata
; 129: LocateXY( x, y ); // 定位顯示地址
129 0000 0700 R MOV A,DispOneChar0
129 0001 0080 R MOV LocateXY0,A
129 0002 0700 R MOV A,DispOneChar1
129 0003 0080 R MOV LocateXY1,A
129 0004 2000 R CALL _LocateXY
; 130: LcdWriteData( Wdata ); // 寫字符
130 0005 0700 R MOV A,DispOneChar2
130 0006 0080 R MOV LcdWriteData0,A
文件:HT46R24.c 盛群編譯器版本 2.86 頁次8
130 0007 2000 R CALL _LcdWriteData
130 0008 L30:
130 0008 0003 RET
130 0009 _DispOneChar ENDP
; 137: {
137 0000 @LcdReset .SECTION 'CODE'
137 0000 PUBLIC _LcdReset
137 0000 _LcdReset PROC
; 139: LcdWriteCommand( 0x38, 0); // 顯示模式設置(不檢測忙信號)
139 0000 0F38 MOV A,038h
139 0001 0080 R MOV LcdWriteCommand0,A
文件:HT46R24.C 盛群編譯器版本 2.86 頁次8
139 0002 0F00 MOV A,00h
139 0003 0080 R MOV LcdWriteCommand1,A
139 0004 2000 R CALL _LcdWriteCommand
; 140: Delay5Ms();
140 0005 2000 R CALL _Delay5Ms
; 141: LcdWriteCommand( 0x38, 0); // 共三次
141 0006 0F38 MOV A,038h
141 0007 0080 R MOV LcdWriteCommand0,A
141 0008 0F00 MOV A,00h
141 0009 0080 R MOV LcdWriteCommand1,A
141 000A 2000 R CALL _LcdWriteCommand
; 142: Delay5Ms();
142 000B 2000 R CALL _Delay5Ms
; 143: LcdWriteCommand( 0x38, 0);
143 000C 0F38 MOV A,038h
143 000D 0080 R MOV LcdWriteCommand0,A
143 000E 0F00 MOV A,00h
143 000F 0080 R MOV LcdWriteCommand1,A
143 0010 2000 R CALL _LcdWriteCommand
; 144: Delay5Ms();
144 0011 2000 R CALL _Delay5Ms
; 146: LcdWriteCommand( 0x28, 1); // 顯示模式設置(以后均檢測忙信號)
146 0012 0F28 MOV A,028h
146 0013 0080 R MOV LcdWriteCommand0,A
146 0014 0F01 MOV A,01h
146 0015 0080 R MOV LcdWriteCommand1,A
146 0016 2000 R CALL _LcdWriteCommand
; 147: LcdWriteCommand( 0x08, 1); // 顯示關閉
147 0017 0F08 MOV A,08h
147 0018 0080 R MOV LcdWriteCommand0,A
147 0019 0F01 MOV A,01h
147 001A 0080 R MOV LcdWriteCommand1,A
147 001B 2000 R CALL _LcdWriteCommand
; 148: LcdWriteCommand( 0x01, 1); // 顯示清屏
148 001C 0F01 MOV A,01h
148 001D 0080 R MOV LcdWriteCommand0,A
148 001E 0F01 MOV A,01h
文件:HT46R24.c 盛群編譯器版本 2.86 頁次9
148 001F 0080 R MOV LcdWriteCommand1,A
148 0020 2000 R CALL _LcdWriteCommand
; 149: LcdWriteCommand( 0x06, 1); // 顯示光標移動設置
149 0021 0F06 MOV A,06h
149 0022 0080 R MOV LcdWriteCommand0,A
149 0023 0F01 MOV A,01h
149 0024 0080 R MOV LcdWriteCommand1,A
149 0025 2000 R CALL _LcdWriteCommand
; 150: LcdWriteCommand( 0x0c, 1); // 顯示開及光標設置
150 0026 0F0C MOV A,0ch
150 0027 0080 R MOV LcdWriteCommand0,A
150 0028 0F01 MOV A,01h
150 0029 0080 R MOV LcdWriteCommand1,A
150 002A 2000 R CALL _LcdWriteCommand
150 002B L31:
150 002B 0003 RET
150 002C _LcdReset ENDP
; 157: {
157 0000 @LcdWriteCommand .SECTION 'CODE'
157 0000 PUBLIC _LcdWriteCommand
157 0000 _LcdWriteCommand PROC
; 156: void LcdWriteCommand( Uchar CMD,Uchar AttribC )
文件:HT46R24.C 盛群編譯器版本 2.86 頁次9
156 0000 PUBLIC LcdWriteCommand0
156 0000 00 LOCAL LcdWriteCommand0 DB ? ; CMD
156 0000 PUBLIC LcdWriteCommand1
156 0001 00 LOCAL LcdWriteCommand1 DB ? ; AttribC
; 159: if (AttribC) WaitForEnable(); // 檢測忙信號?
159 0000 1080 R SZ LcdWriteCommand1
159 0001 2800 R JMP L35
159 0002 2800 R JMP L33
159 0003 L35:
159 0003 2000 R CALL _WaitForEnable
159 0004 L33:
; 161: _pbc=0;
161 0004 1F15 CLR __pbc
; 162: CLR_LCD_RS;
162 0005 3412 CLR [012H].0
; 163: CLR_LCD_RW;
163 0006 3492 CLR [012H].1
; 164: _delay(1);
164 0007 0000 NOP
; 165: _pb = CMD;
165 0008 0700 R MOV A,LcdWriteCommand0
165 0009 0094 MOV __pb,A
; 166: _delay(1); // 送控制字子程序
166 000A 0000 NOP
; 167: SET_LCD_E;
文件:HT46R24.c 盛群編譯器版本 2.86 頁次10
167 000B 3112 SET [012H].2
; 168: _delay(1);
168 000C 0000 NOP
; 169: _delay(1);
169 000D 0000 NOP
; 170: CLR_LCD_E;
170 000E 3512 CLR [012H].2
; 171: _delay(1);
171 000F 0000 NOP
; 172: _pb = CMD << 4;
172 0010 1100 R SWAPA LcdWriteCommand0
172 0011 0EF0 AND A,0F0H
172 0012 0094 MOV __pb,A
; 173: _delay(1);
173 0013 0000 NOP
; 174: _delay(1); // 送控制字子程序
174 0014 0000 NOP
; 175: SET_LCD_E;
175 0015 3112 SET [012H].2
; 176: _delay(1);
176 0016 0000 NOP
; 177: _delay(1);
177 0017 0000 NOP
; 178: CLR_LCD_E;
178 0018 3512 CLR [012H].2
178 0019 L32:
178 0019 0003 RET
178 001A _LcdWriteCommand ENDP
; 185: {
185 0000 @LcdWriteData .SECTION 'CODE'
文件:HT46R24.C 盛群編譯器版本 2.86 頁次10
185 0000 PUBLIC _LcdWriteData
185 0000 _LcdWriteData PROC
; 184: void LcdWriteData( char dataW )
184 0000 PUBLIC LcdWriteData0
184 0000 00 LOCAL LcdWriteData0 DB ? ; dataW
; 187: WaitForEnable(); // 檢測忙信號
187 0000 2000 R CALL _WaitForEnable
; 189: _pbc=0;
189 0001 1F15 CLR __pbc
; 190: SET_LCD_RS;
190 0002 3012 SET [012H].0
; 191: CLR_LCD_RW;
文件:HT46R24.c 盛群編譯器版本 2.86 頁次11
191 0003 3492 CLR [012H].1
; 192: _delay(1);
192 0004 0000 NOP
; 194: _pb = dataW;
194 0005 0700 R MOV A,LcdWriteData0
194 0006 0094 MOV __pb,A
; 195: _delay(1);
195 0007 0000 NOP
; 196: SET_LCD_E;
196 0008 3112 SET [012H].2
; 197: _delay(1);
197 0009 0000 NOP
; 198: _delay(1);
198 000A 0000 NOP
; 199: CLR_LCD_E; // 操作允許脈沖信號
199 000B 3512 CLR [012H].2
; 200: _delay(1);
200 000C 0000 NOP
; 202: _pb = dataW<<4;
202 000D 1100 R SWAPA LcdWriteData0
202 000E 0EF0 AND A,0F0H
202 000F 0080 R MOV b0_8,A
202 0010 0700 R MOV A,b0_8
202 0011 0094 MOV __pb,A
; 203: _delay(1);
203 0012 0000 NOP
; 204: SET_LCD_E;
204 0013 3112 SET [012H].2
; 205: _delay(1);
205 0014 0000 NOP
; 206: _delay(1);
206 0015 0000 NOP
; 207: CLR_LCD_E; // 操作允許脈沖信號
207 0016 3512 CLR [012H].2
207 0017 L36:
207 0017 0003 RET
207 0001 00 LOCAL b0_8 DB ?
207 0018 _LcdWriteData ENDP
; 216: {
216 0000 @WaitForEnable .SECTION 'CODE'
216 0000 PUBLIC _WaitForEnable
216 0000 _WaitForEnable PROC
; 217: CLR_LCD_RS;
217 0000 3412 CLR [012H].0
文件:HT46R24.c 盛群編譯器版本 2.86 頁次12
文件:HT46R24.C 盛群編譯器版本 2.86 頁次11
; 218: SET_LCD_RW;
218 0001 3092 SET [012H].1
; 219: _delay(1);
219 0002 0000 NOP
; 221: SET_LCD_E;
221 0003 3112 SET [012H].2
; 222: _delay(1);
222 0004 0000 NOP
; 223: _delay(1);
223 0005 0000 NOP
; 224: _pbc=0xff;
224 0006 1F95 SET __pbc
224 0007 L38:
224 0007 L39:
; 226: while( _pb & Busy );
226 0007 3F94 SZ __pb.7
226 0008 2800 R JMP L38
; 228: CLR_LCD_E;
228 0009 3512 CLR [012H].2
; 230: SET_LCD_E;
230 000A 3112 SET [012H].2
; 231: _delay(1);
231 000B 0000 NOP
; 232: _delay(1);
232 000C 0000 NOP
; 233: CLR_LCD_E;
233 000D 3512 CLR [012H].2
233 000E L37:
233 000E 0003 RET
233 000F _WaitForEnable ENDP
; 239: {
239 0000 @Delay5Ms .SECTION 'CODE'
239 0000 PUBLIC _Delay5Ms
239 0000 _Delay5Ms PROC
; 240: _delay(15000);
240 0000 0F0E MOV A,0eH
240 0001 0080 E MOV RH,A
240 0002 0F9D MOV A,09dH
240 0003 2000 E CALL __DELAYY3
240 0004 L41:
240 0004 0003 RET
240 0005 _Delay5Ms ENDP
; 245: {
文件:HT46R24.c 盛群編譯器版本 2.86 頁次13
245 0000 @Delay400Ms .SECTION 'CODE'
245 0000 PUBLIC _Delay400Ms
245 0000 _Delay400Ms PROC
; 247: for(i=0;i<20;i++)
247 0000 1F00 R CLR CR13
247 0001 L43:
; 249: _delay(60000);
249 0001 0F3A MOV A,03aH
249 0002 0080 E MOV RH,A
249 0003 0F79 MOV A,079H
249 0004 2000 E CALL __DELAYY3
249 0005 L44:
; 247: for(i=0;i<20;i++)
文件:HT46R24.C 盛群編譯器版本 2.86 頁次12
247 0005 1480 R INC CR13
247 0006 0F80 MOV A,80h
247 0007 0400 R XOR A,CR13
247 0008 0A94 SUB A,094h
247 0009 380A SNZ [0ah].0
247 000A 2800 R JMP L43
247 000B L42:
247 000B 0003 RET
; 246: int i;
246 0000 00 LOCAL CR13 DB ? ; i
246 000C _Delay400Ms ENDP
; 46: void main(void)
46 0000 STARTSEC .SECTION 'CODE'
46 0000 STARTUP:
46 0000 0003 RET
46 0001 EXTERN RH:BYTE
46 0001 EXTERN T2:BYTE
46 0001 EXTERN __DELAYY0:NEAR
46 0001 EXTERN __DELAYY1:NEAR
46 0001 EXTERN __DELAYY2:NEAR
46 0001 EXTERN __DELAYY3:NEAR
46 0001 EXTERN __DELAYY4:NEAR
46 0001 EXTERN __DELAYY5:NEAR
46 0000 @CODE .SECTION AT 0 'CODE'
46 0000 2800 R JMP begin
46 0001 @DUMMY PROC
46 0001 2000 R CALL _main
46 0002 @DUMMY ENDP
0 Errors
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -