📄 ir.lst
字号:
A51 MACRO ASSEMBLER IR 04/04/2009 22:01:18 PAGE 1
MACRO ASSEMBLER A51 V1.12
NO OBJECT MODULE REQUESTED
ASSEMBLER INVOKED BY: C:\PROGRA~1\MANLEY\MEDWINV3\A51.EXE IR.INC DB
LOC OBJ LINE SOURCE
1 ;IR part
0000 2 IR_INITIAL:
3 MOV VAR_IR_CUSTOMER_CODE,#0x00
*** ERROR #7 IN 3 (IR.INC, LINE 3): UNDEFINED SYMBOL
*** ERROR #3 IN 3 (IR.INC, LINE 3): ILLEGAL CHARACTER IN NUMERIC CONSTANT
4 MOV VAR_IR_CUSTOMER_CODE_INVERSE,#0x00
*** ERROR #7 IN 4 (IR.INC, LINE 4): UNDEFINED SYMBOL
*** ERROR #3 IN 4 (IR.INC, LINE 4): ILLEGAL CHARACTER IN NUMERIC CONSTANT
5 MOV VAR_IR_KEY_CODE,#0x00
*** ERROR #7 IN 5 (IR.INC, LINE 5): UNDEFINED SYMBOL
*** ERROR #3 IN 5 (IR.INC, LINE 5): ILLEGAL CHARACTER IN NUMERIC CONSTANT
6 MOV VAR_IR_KEY_CODE_INVERSE,#0x00
*** ERROR #7 IN 6 (IR.INC, LINE 6): UNDEFINED SYMBOL
*** ERROR #3 IN 6 (IR.INC, LINE 6): ILLEGAL CHARACTER IN NUMERIC CONSTANT
0000 22 7 RET
8
0001 9 IR_DECODE_LEADER: /*
10 ;Tick different in 0~9ms
11 CALL IR_GET_TICK_DIFFERENT_0
12 MOV R2,#0x00
13 MOV R3,#0x00
14 CALL TIMER_TICK_COMPARE_DIFFERENT
15 CJNE R0,#0x01,IR_DECODE_LEADER_RETURN
16
17 CALL IR_GET_TICK_DIFFERENT_1
18 MOV R0,#0x5A
19 MOV R1,#0x00
20 CALL TIMER_TICK_COMPARE_DIFFERENT
21 CJNE R0,#0x01,IR_DECODE_LEADER_RETURN
22
23 ;Detect IR device IO pulse
24 JNB P2.2,IR_DECODE_LEADER_START
25
26 ;No leader code
27 MOV VAR_IR_STATUS,#DEFINE_IR_STATUS_IDLE
28 CALL IR_TICK_SYNC
29 LJMP IR_DECODE_LEADER_RETURN
30
31 IR_DECODE_LEADER_START:
32 INC VAR_IR_COUNTER
33
34
35 MOV VAR_IR_STATUS,#DEFINE_IR_STATUS_LEADER_CODE
36 CALL IR_TICK_SYNC
37
38 IR_DECODE_LEADER_RETURN: */
0001 22 39 RET
40
0002 41 IR_DECODE_SERIES: /*
42 ;Tick different in 2.225~4.5ms
43 CALL IR_GET_TICK_DIFFERENT_0
44 MOV R2,#0x17
45 MOV R3,#0x00
46 CALL TIMER_TICK_COMPARE_DIFFERENT
47 CJNE R0,#0x01,IR_DECODE_SERIES_RETURN
48
49 CALL IR_GET_TICK_DIFFERENT_1
50 MOV R0,#0x2D
A51 MACRO ASSEMBLER IR 04/04/2009 22:01:18 PAGE 2
51 MOV R1,#0x00
52 CALL TIMER_TICK_COMPARE_DIFFERENT
53 CJNE R0,#0x01,IR_DECODE_LEADER_RETURN
54
55 ;Detect IR device IO pulse
56 JNB P2.2,IR_DECODE_SERIES_START
57
58 ;Normal code
59 MOV VAR_IR_STATUS,#DEFINE_IR_STATUS_NORMAL_CODE
60 CALL IR_TICK_SYNC
61 LJMP IR_DECODE_LEADER_RETURN
62
63 IR_DECODE_SERIES_START:
64 MOV VAR_IR_STATUS,#DEFINE_IR_STATUS_SERIES_CODE
65 CALL IR_TICK_SYNC
66
67 IR_DECODE_SERIES_RETURN: */
0002 22 68 RET
69
0003 70 IR_DECODE_DATA:
0003 22 71 RET
72
0004 73 IR_DECODE_END:
0004 22 74 RET
75
76 ;IR process flow
0005 77 IR_TASK_PROCESS:
78
0005 020005 79 LJMP IR_TASK_PROCESS
80 /*
81 MOV A,VAR_IR_STATUS
82 SUBB A,#DEFINE_IR_STATUS_IDLE
83 JZ IR_PROCESS_LEADER_CODE_DETECT
84
85 MOV A,VAR_IR_STATUS
86 SUBB A,#DEFINE_IR_STATUS_LEADER_CODE
87 JZ IR_PROCESS_SERIES_CODE_DETECT
88
89 MOV A,VAR_IR_STATUS
90 SUBB A,#DEFINE_IR_STATUS_SERIES_CODE
91 JZ IR_PROCESS_RECV_END
92
93 MOV A,VAR_IR_STATUS
94 SUBB A,#DEFINE_IR_STATUS_NORMAL_CODE
95 JZ IR_PROCESS_RECV_DATA
96
97 MOV A,VAR_IR_STATUS
98 SUBB A,#DEFINE_IR_STATUS_RECV_DATA
99 JZ IR_PROCESS_RECV_END
100
101 IR_PROCESS_LEADER_CODE_DETECT:
102 CALL IR_DECODE_LEADER
103 RET
104
105 IR_PROCESS_SERIES_CODE_DETECT:
106 CALL IR_DECODE_SERIES
107 RET
108
109 IR_PROCESS_RECV_DATA:
110 CALL IR_DECODE_DATA
111 RET
112
113 IR_PROCESS_RECV_END:
114 CALL IR_DECODE_END
115 RET */
0008 22 116 RET
A51 MACRO ASSEMBLER IR 04/04/2009 22:01:18 PAGE 3
*** WARNING IN 116 (IR.INC, LINE 116): MISSING 'END' STATEMENT
A51 MACRO ASSEMBLER IR 04/04/2009 22:01:18 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
IR_DECODE_DATA . . . . . . . C ADDR 0003H A
IR_DECODE_END. . . . . . . . C ADDR 0004H A
IR_DECODE_LEADER . . . . . . C ADDR 0001H A
IR_DECODE_SERIES . . . . . . C ADDR 0002H A
IR_INITIAL . . . . . . . . . C ADDR 0000H A
IR_TASK_PROCESS. . . . . . . C ADDR 0005H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 1 WARNING(S), 8 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -