📄 led.ls1
字号:
00FB 230 DAC1 DATA 0FBH
00DD 231 CCONV BIT 0D8H.5
00F2 232 ADCOFSH DATA 0F2H
00D0 233 PSW DATA 0D0H
00C0 234 WDCON DATA 0C0H
235 ?PR?_delay?LED SEGMENT CODE
236 ?DT?_delay?LED SEGMENT DATA OVERLAYABLE
237 ?PR?main?LED SEGMENT CODE
238 ?C_INITSEG SEGMENT CODE
239 ?DT?LED SEGMENT DATA
240 EXTRN CODE (_SendByte)
241 EXTRN CODE (ReadByte)
242 EXTRN CODE (_DelayUs)
243 EXTRN CODE (DelayUs2)
244 EXTRN CODE (?C_STARTUP)
245 PUBLIC s_data
246 PUBLIC i
247 PUBLIC c?
248 PUBLIC napis
249 PUBLIC main
250 PUBLIC _delay
251
---- 252 RSEG ?DT?_delay?LED
0000 253 ?_delay?BYTE:
0000 254 length?040: DS 2
255
A51 MACRO ASSEMBLER LED 12/19/2005 19:21:27 PAGE 5
---- 256 RSEG ?DT?LED
0000 257 napis: DS 22
0016 258 c?: DS 1
0017 259 i: DS 2
0019 260 s_data: DS 2
261
---- 262 RSEG ?C_INITSEG
0000 16 263 DB 016H
0001 00 F 264 DB napis
0002 20537075 265 DB ' ' ,'S' ,'p' ,'u' ,'k' ,'i' ,' ' ,'j' ,'e' ,'s'
0006 6B69206A
000A 6573
000C 74206465 266 DB 't' ,' ' ,'d' ,'e' ,'b' ,'e' ,09CH,'c' ,'i' ,'a'
0010 62659C63
0014 6961
0016 6B20 267 DB 'k' ,' '
268
269
0018 02 270 DB 002H
0019 00 F 271 DB i
001A 0000 272 DW 00000H
273
001C 02 274 DB 002H
001D 00 F 275 DB s_data
001E 0000 276 DW 00000H
277
0020 01 278 DB 001H
0021 00 F 279 DB c?
0022 00 280 DB 000H
281
282 ; //#include <ADuC842.h>
283 ; #include <stdio.h>
284 ; #include <rs_usb.h>
285 ;
286 ;
287 ; sbit TEM = P2^0;
288 ; sbit ADXL_Y = P1^4;
289 ;
290 ; unsigned char napis[22] = " Spuki jest debe渃iak ";
291 ;
292 ;
293 ; signed int i=0;
294 ; signed int s_data=0;
295 ; unsigned char c=0;
296 ;
297 ;
298 ; void delay(unsigned int length) {
299
---- 300 RSEG ?PR?_delay?LED
0000 301 _delay:
302 USING 0
303 ; SOURCE LINE # 17
0000 8E00 F 304 MOV length?040,R6
0002 8F00 F 305 MOV length?040+01H,R7
0004 306 ?C0001:
307 ; while (length!=0) {
308 ; SOURCE LINE # 18
0004 E500 F 309 MOV A,length?040+01H
0006 4500 F 310 ORL A,length?040
0008 601D 311 JZ ?C0004
312 ; i = ReadByte();
313 ; SOURCE LINE # 19
000A 120000 F 314 LCALL ReadByte
000D 8E00 F 315 MOV i,R6
000F 8F00 F 316 MOV i+01H,R7
317 ; if (i>=0) c = i&0xFF;
A51 MACRO ASSEMBLER LED 12/19/2005 19:21:27 PAGE 6
318 ; SOURCE LINE # 20
0011 C3 319 CLR C
0012 E500 F 320 MOV A,i
0014 6480 321 XRL A,#080H
0016 9480 322 SUBB A,#080H
0018 4003 323 JC ?C0003
001A EF 324 MOV A,R7
001B F500 F 325 MOV c?,A
001D 326 ?C0003:
327 ; length--;
328 ; SOURCE LINE # 21
001D E500 F 329 MOV A,length?040+01H
001F 1500 F 330 DEC length?040+01H
0021 70E1 331 JNZ ?C0001
0023 1500 F 332 DEC length?040
0025 333 ?C0008:
334 ; }
335 ; SOURCE LINE # 22
0025 80DD 336 SJMP ?C0001
337 ; }
338 ; SOURCE LINE # 23
0027 339 ?C0004:
0027 22 340 RET
341 ; END OF _delay
342
343 ;
344 ;
345 ; //void delayms(unsigned char length) { while (length!=0) length--; }
346 ; /*
347 ; void Timer2_Int () interrupt 5
348 ; {
349 ; LED = !LED;
350 ; TF2 = 0;
351 ; }
352 ; */
353 ;
354 ;
355 ; void main (void)
356
---- 357 RSEG ?PR?main?LED
0000 358 main:
359 USING 0
360 ; SOURCE LINE # 36
361 ; {
362 ; SOURCE LINE # 37
363 ; DelayUs(0x01); DelayUs2();
364 ; SOURCE LINE # 38
0000 7F01 365 MOV R7,#01H
0002 120000 F 366 LCALL _DelayUs
0005 120000 F 367 LCALL DelayUs2
368 ; TxD_USB = 1; // Wysoki stan na linii nadawczej
369 ; SOURCE LINE # 39
0008 D2B4 370 SETB TxD_USB
371 ; P1 = 11101111; // Port P1.4 jako Analog Input;
372 ; SOURCE LINE # 40
000A 7590B7 373 MOV P1,#0B7H
374 ; PLLCON = 0x01; //PLL Clock config
375 ; SOURCE LINE # 41
000D 75D701 376 MOV PLLCON,#01H
377 ;
378 ; //Timer2 config
379 ; // ET2 = 1;
380 ; // TH2 = 0x00; TL2 = 0x00;
381 ; // RCAP2H = 0xF0; RCAP2L = 0x00;
382 ; EA = 0;
383 ; SOURCE LINE # 47
A51 MACRO ASSEMBLER LED 12/19/2005 19:21:27 PAGE 7
0010 C2AF 384 CLR EA
385 ; // T2CON = 0x04;
386 ; napis[0] = 0xFF;
387 ; SOURCE LINE # 49
0012 7500FF F 388 MOV napis,#0FFH
389 ; napis[21] = 0x00;
390 ; SOURCE LINE # 50
0015 E4 391 CLR A
0016 F500 F 392 MOV napis+015H,A
0018 393 ?C0005:
394 ;
395 ; while(1) {
396 ; SOURCE LINE # 52
397 ; s_data = c;
398 ; SOURCE LINE # 53
0018 750000 F 399 MOV s_data,#00H
001B 850000 F 400 MOV s_data+01H,c?
401 ; SendByte(s_data >> 8);
402 ; SOURCE LINE # 54
001E E500 F 403 MOV A,s_data
0020 FF 404 MOV R7,A
0021 33 405 RLC A
0022 95E0 406 SUBB A,ACC
0024 120000 F 407 LCALL _SendByte
408 ; SendByte(c);
409 ; SOURCE LINE # 55
0027 AF00 F 410 MOV R7,c?
0029 120000 F 411 LCALL _SendByte
412 ; SendByte(P0);
413 ; SOURCE LINE # 56
002C AF80 414 MOV R7,P0
002E 120000 F 415 LCALL _SendByte
416 ; SendByte(P1);
417 ; SOURCE LINE # 57
0031 AF90 418 MOV R7,P1
0033 120000 F 419 LCALL _SendByte
420 ; SendByte(P2);
421 ; SOURCE LINE # 58
0036 AFA0 422 MOV R7,P2
0038 120000 F 423 LCALL _SendByte
424 ; SendByte(P3);
425 ; SOURCE LINE # 59
003B AFB0 426 MOV R7,P3
003D 120000 F 427 LCALL _SendByte
428 ; delay(0x03FF);
429 ; SOURCE LINE # 60
0040 7FFF 430 MOV R7,#0FFH
0042 7E03 431 MOV R6,#03H
0044 120000 F 432 LCALL _delay
433 ; }
434 ; SOURCE LINE # 61
0047 80CF 435 SJMP ?C0005
436 ; END OF main
437
438 END
A51 MACRO ASSEMBLER LED 12/19/2005 19:21:27 PAGE 8
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?C0001 . . . . . . C ADDR 0004H R SEG=?PR?_DELAY?LED
?C0003 . . . . . . C ADDR 001DH R SEG=?PR?_DELAY?LED
?C0004 . . . . . . C ADDR 0027H R SEG=?PR?_DELAY?LED
?C0005 . . . . . . C ADDR 0018H R SEG=?PR?MAIN?LED
?C0008 . . . . . . C ADDR 0025H R SEG=?PR?_DELAY?LED
?C_INITSEG . . . . C SEG 0023H REL=UNIT
?C_STARTUP . . . . C ADDR ----- EXT
?DT?LED. . . . . . D SEG 001BH REL=UNIT
?DT?_DELAY?LED . . D SEG 0002H REL=UNIT
?PR?MAIN?LED . . . C SEG 0049H REL=UNIT
?PR?_DELAY?LED . . C SEG 0028H REL=UNIT
?_DELAY?BYTE . . . D ADDR 0000H R SEG=?DT?_DELAY?LED
AC . . . . . . . . B ADDR 00D0H.6 A
ACC. . . . . . . . D ADDR 00E0H A
ADCCON1. . . . . . D ADDR 00EFH A
ADCCON2. . . . . . D ADDR 00D8H A
ADCCON3. . . . . . D ADDR 00F5H A
ADCDATA. . . . . . D ADDR 00D9H A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -