📄 红外解码_test.lst
字号:
A51 MACRO ASSEMBLER 红外解码_TEST 09/16/2006 15:28:22 PAGE 1
MACRO ASSEMBLER A51 V7.08a
OBJECT MODULE PLACED IN 红外解码_test.OBJ
ASSEMBLER INVOKED BY: D:\Keil\C51\BIN\A51.EXE 红外解码_test.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0000 1 ORG 0000H
0000 010D 2 AJMP START
000B 3 ORG 000BH
000B 0135 4 AJMP MAIN_PRO_0
000D 755C00 5 START: MOV 5CH,#00H
0010 755D00 6 MOV 5DH,#00H
0013 756200 7 MOV 62H,#00H
0016 756300 8 MOV 63H,#00H ;数据5CH,5DH,62H,63H区清零
0019 758926 9 MOV TMOD,#26H ;T0工作于计数模式;方式2:自动装载;1 TO 0
001C 758CFF 10 MOV TH0,#0FFH
001F 758AFF 11 MOV TL0,#0FFH
0022 758DFD 12 MOV TH1,#0FDH
0025 759840 13 MOV SCON,#40H
0028 D2AF 14 SETB EA
002A D2A9 15 SETB ET0 ;允许T0中断
002C D28C 16 SETB TR0 ;T0运行
002E D28E 17 SETB TR1
0030 108D02 18 MAIN: JBC TF0,MAIN_PRO_0 ;检测T0是否溢出
0033 80FB 19 SJMP MAIN
20 ; SJMP MAIN
0035 7E08 21 MAIN_PRO_0: MOV R6,#08H
0037 117E 22 PROCESS_0: ACALL DL0MS
0039 20B43D 23 JB P3.4,PRO_END ;P3.4=1跳出
003C DEF9 24 DJNZ R6,PROCESS_0 ;P3.4=0的时间是否=0.887*8
003E 30B4FD 25 JNB P3.4,$ ;时间满足后,当P3.4=0,等待
0041 1187 26 ACALL DL5MS
0043 795C 27 MOV R1,#5CH
0045 7A02 28 MOV R2,#02H
0047 7B08 29 MAIN_PRO_1: MOV R3,#08H
0049 30B4FD 30 PROCESS_1: JNB P3.4,$ ;当P3.4=0,等待
004C 12007E 31 LCALL DL0MS
004F A2B4 32 MOV C,P3.4
0051 5003 33 JNC PROCESS_2 ;P3.4=0(即C=0),去处理
0053 120090 34 LCALL DL1MS ;P3.4=1(即C=1),延时1.005MS
0056 E7 35 PROCESS_2: MOV A,@R1 ;处理程序
0057 13 36 RRC A
0058 F7 37 MOV @R1,A
0059 DBEE 38 DJNZ R3,PROCESS_1
005B 09 39 INC R1
005C 120087 40 LCALL DL5MS
005F DAE6 41 DJNZ R2,MAIN_PRO_1
0061 855D63 42 MOV 63H,5DH ;
0064 855C62 43 MOV 62H,5CH
0067 7862 44 MOV R0,#62H
0069 E6 45 MOV A,@R0
006A B4C40C 46 CJNE A,#0C4H,PRO_END ;判断是否是键盘按下
006D C2AF 47 CLR EA ;是,就发送串口
006F 7863 48 MOV R0,#63H
0071 E6 49 MOV A,@R0
0072 F599 50 MOV SBUF,A
0074 3099FD 51 JNB TI,$
0077 1199 52 ACALL DL
0079 D2AF 53 PRO_END: SETB EA
007B 020030 54 LJMP MAIN
55 ;==========================================================================
007E 7C13 56 DL0MS: MOV R4,#13H ;延时0.887MS
0080 7D14 57 DL0LP: MOV R5,#14H
A51 MACRO ASSEMBLER 红外解码_TEST 09/16/2006 15:28:22 PAGE 2
0082 DDFE 58 DJNZ R5,$
0084 DCFA 59 DJNZ R4,DL0LP
0086 22 60 RET
61 ;==========================================================================
0087 7C0A 62 DL5MS: MOV R4,#0AH ;延时4.743MS
0089 7DD9 63 DL5LP: MOV R5,#0D9H
008B DDFE 64 DJNZ R5,$
008D DCFA 65 DJNZ R4,DL5LP
008F 22 66 RET
67 ;==========================================================================
0090 7C02 68 DL1MS: MOV R4,#02H ;延时1.005MS
0092 7DE6 69 DL1LP: MOV R5,#0E6H
0094 DDFE 70 DJNZ R5,$
0096 DCFA 71 DJNZ R4,DL1LP
0098 22 72 RET
73 ;==========================================================================
0099 74 DL:
0099 7F03 75 MOV R7,#03H ;延时425.843MS
009B 76 DL0:
009B 7EFF 77 MOV R6,#0FFH
009D 78 DL1:
009D 7DFF 79 MOV R5,#0FFH
009F DDFE 80 DJNZ R5,$
00A1 DEFA 81 DJNZ R6,DL1
00A3 DFF6 82 DJNZ R7,DL0
00A5 22 83 RET
84 END
A51 MACRO ASSEMBLER 红外解码_TEST 09/16/2006 15:28:22 PAGE 3
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
DL . . . . . . . . C ADDR 0099H A
DL0. . . . . . . . C ADDR 009BH A
DL0LP. . . . . . . C ADDR 0080H A
DL0MS. . . . . . . C ADDR 007EH A
DL1. . . . . . . . C ADDR 009DH A
DL1LP. . . . . . . C ADDR 0092H A
DL1MS. . . . . . . C ADDR 0090H A
DL5LP. . . . . . . C ADDR 0089H A
DL5MS. . . . . . . C ADDR 0087H A
EA . . . . . . . . B ADDR 00A8H.7 A
ET0. . . . . . . . B ADDR 00A8H.1 A
MAIN . . . . . . . C ADDR 0030H A
MAIN_PRO_0 . . . . C ADDR 0035H A
MAIN_PRO_1 . . . . C ADDR 0047H A
P3 . . . . . . . . D ADDR 00B0H A
PROCESS_0. . . . . C ADDR 0037H A
PROCESS_1. . . . . C ADDR 0049H A
PROCESS_2. . . . . C ADDR 0056H A
PRO_END. . . . . . C ADDR 0079H A
SBUF . . . . . . . D ADDR 0099H A
SCON . . . . . . . D ADDR 0098H A
START. . . . . . . C ADDR 000DH A
TF0. . . . . . . . B ADDR 0088H.5 A
TH0. . . . . . . . D ADDR 008CH A
TH1. . . . . . . . D ADDR 008DH A
TI . . . . . . . . B ADDR 0098H.1 A
TL0. . . . . . . . D ADDR 008AH A
TMOD . . . . . . . D ADDR 0089H A
TR0. . . . . . . . B ADDR 0088H.4 A
TR1. . . . . . . . B ADDR 0088H.6 A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -