isr.lst
来自「myson的MTV332的DEMO程序 主要功能有菜单的设计和无线遥控以及视频」· LST 代码 · 共 1,619 行 · 第 1/5 页
LST
1,619 行
74 4 byMTV_IIC_TXRCBBUF = *SlaveB_Addr;
75 4 }
76 3 else
77 3 {
78 4 *SlaveB_Addr = byMTV_IIC_TXRCBBUF;
79 4 SlaveB_Addr++;
80 4 }
81 3 }
82 2 }
83 1 else if( ( temp & TXBI ) ) // send data
84 1 {
85 2 SlaveB_Addr++;
86 2 byMTV_IIC_TXRCBBUF = *SlaveB_Addr;
87 2 }
88 1
89 1 byMTV_IIC_INTFLG = 0;
90 1
91 1 //IE1 = 0;
92 1 EA = 1;
93 1 }
94
95
96 #ifdef _IR_
97 /****************For IR interrupt**************/
98 Timer1() interrupt 3
99 {
100 1 TH1=256-200; //200us reload
101 1 TL1=256-200; //200us reload
102 1
103 1 if(byIRstateHighCount > 32)
104 1 return;
105 1
106 1 if((P3 & 0x04)==0x04) //high
107 1 byIRstateHighCount++;
108 1 else
109 1 byIRstateLowCount++;
110 1
111 1 }
112
113 /***************for IR**************************/
114 IR_INT0() interrupt 0 //INT 0
115 {
116 1 if(byIRstateLowCount>16 || byIRstateHighCount>16)
117 1 IR_Step = 0;
118 1
119 1 switch(IR_Step)
120 1 {
121 2 case 0 : //start signal
122 2
123 2 if((byIRstateLowCount>40) && (byIRstateHighCount>20))
124 2 {
125 3 IR_Step = 1;
C51 COMPILER V6.10 ISR 12/02/2004 10:58:52 PAGE 17
126 3 IR_Data_Count = 0;
127 3 IR_Value.valDW = 0;
128 3 } // repeat key
129 2 else if((byIRstateLowCount>40) && (byIRstateHighCount>8))
130 2 {
131 3 IR_RepeatFlag ++;
132 3 }
133 2 break;
134 2 case 1 : //data signal
135 2
136 2 if((byIRstateLowCount>1) && (byIRstateHighCount>6))
137 2 {
138 3 IR_Value.valDW = (IR_Value.valDW <<1) | 0x01;
139 3 IR_Data_Count++;
140 3 }
141 2 else if((byIRstateLowCount>1) && (byIRstateHighCount>0))
142 2 {
143 3 IR_Value.valDW = (IR_Value.valDW <<1);
144 3 IR_Data_Count++;
145 3 }
146 2
147 2 if(IR_Data_Count == 32)
148 2 {
149 3 IR_Step = 0;
150 3 // IR_DebugKey = IR_Value.valDW;
151 3 if(IR_Value.valW[0] == IR_Customer_Code)
152 3 IR_OldKey = IR_Value.valB[3];
153 3 }
154 2
155 2 break;
156 2 }
157 1
158 1 byIRstateHighCount=0;
159 1 byIRstateLowCount=0;
160 1 }
161 #endif
162
C51 COMPILER V6.10 ISR 12/02/2004 10:58:52 PAGE 18
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION Timer0 (BEGIN)
0000 C0E0 PUSH ACC
0002 C083 PUSH DPH
0004 C082 PUSH DPL
0006 C0D0 PUSH PSW
; SOURCE LINE # 4
; SOURCE LINE # 6
0008 758CFC MOV TH0,#0FCH
; SOURCE LINE # 7
000B 758A18 MOV TL0,#018H
; SOURCE LINE # 9
000E 900000 E MOV DPTR,#EEP_Wait
0011 E0 MOVX A,@DPTR
0012 6002 JZ ?C0001
; SOURCE LINE # 10
0014 14 DEC A
0015 F0 MOVX @DPTR,A
0016 ?C0001:
; SOURCE LINE # 17
0016 900000 E MOV DPTR,#KeyReChkCnt
0019 E0 MOVX A,@DPTR
001A 7002 JNZ ?C0035
001C A3 INC DPTR
001D E0 MOVX A,@DPTR
001E ?C0035:
001E 600E JZ ?C0002
; SOURCE LINE # 18
0020 900000 E MOV DPTR,#KeyReChkCnt+01H
0023 E0 MOVX A,@DPTR
0024 24FF ADD A,#0FFH
0026 F0 MOVX @DPTR,A
0027 900000 E MOV DPTR,#KeyReChkCnt
002A E0 MOVX A,@DPTR
002B 34FF ADDC A,#0FFH
002D F0 MOVX @DPTR,A
002E ?C0002:
; SOURCE LINE # 20
002E 900000 E MOV DPTR,#OsdTimer
0031 E0 MOVX A,@DPTR
0032 7002 JNZ ?C0036
0034 A3 INC DPTR
0035 E0 MOVX A,@DPTR
0036 ?C0036:
0036 600E JZ ?C0003
; SOURCE LINE # 21
0038 900000 E MOV DPTR,#OsdTimer+01H
003B E0 MOVX A,@DPTR
003C 24FF ADD A,#0FFH
003E F0 MOVX @DPTR,A
003F 900000 E MOV DPTR,#OsdTimer
0042 E0 MOVX A,@DPTR
0043 34FF ADDC A,#0FFH
0045 F0 MOVX @DPTR,A
0046 ?C0003:
; SOURCE LINE # 23
0046 900000 E MOV DPTR,#IIC_Timer
0049 E0 MOVX A,@DPTR
004A 6002 JZ ?C0005
; SOURCE LINE # 24
C51 COMPILER V6.10 ISR 12/02/2004 10:58:52 PAGE 19
004C 14 DEC A
004D F0 MOVX @DPTR,A
; SOURCE LINE # 29
004E ?C0005:
004E D0D0 POP PSW
0050 D082 POP DPL
0052 D083 POP DPH
0054 D0E0 POP ACC
0056 32 RETI
; FUNCTION Timer0 (END)
; FUNCTION MTV_INT1 (BEGIN)
0000 C0E0 PUSH ACC
0002 C0F0 PUSH B
0004 C083 PUSH DPH
0006 C082 PUSH DPL
0008 C0D0 PUSH PSW
000A 75D000 MOV PSW,#00H
000D C000 PUSH AR0
000F C001 PUSH AR1
0011 C002 PUSH AR2
0013 C003 PUSH AR3
0015 C005 PUSH AR5
0017 C007 PUSH AR7
; SOURCE LINE # 33
; SOURCE LINE # 37
0019 C2AF CLR EA
; SOURCE LINE # 39
001B 900000 E MOV DPTR,#byMTV_IIC_INTFLG
001E E0 MOVX A,@DPTR
;---- Variable 'temp' assigned to Register 'R5' ----
001F FD MOV R5,A
; SOURCE LINE # 43
0020 20E603 JB ACC.6,$ + 6H
0023 020000 R LJMP ?C0006
; SOURCE LINE # 44
; SOURCE LINE # 45
0026 900000 E MOV DPTR,#byMTV_IIC_STUS1
0029 E0 MOVX A,@DPTR
002A 30E743 JNB ACC.7,?C0007
; SOURCE LINE # 46
; SOURCE LINE # 47
002D 900000 E MOV DPTR,#byMTV_IIC_TXRCBBUF
0030 E0 MOVX A,@DPTR
0031 FD MOV R5,A
; SOURCE LINE # 50
0032 B47717 CJNE A,#077H,?C0008
; SOURCE LINE # 51
; SOURCE LINE # 52
0035 75A800 MOV IE,#00H
; SOURCE LINE # 53
0038 900000 E MOV DPTR,#byMTV_WDT
003B E4 CLR A
003C F0 MOVX @DPTR,A
; SOURCE LINE # 54
003D 900000 E MOV DPTR,#byMTV_ISPSLV
0040 747C MOV A,#07CH
0042 F0 MOVX @DPTR,A
; SOURCE LINE # 55
0043 900000 E MOV DPTR,#byMTV_ISPEN
0046 7493 MOV A,#093H
0048 F0 MOVX @DPTR,A
C51 COMPILER V6.10 ISR 12/02/2004 10:58:52 PAGE 20
; SOURCE LINE # 56
0049 758701 MOV PCON,#01H
; SOURCE LINE # 58
004C ?C0008:
; SOURCE LINE # 60
004C C200 R CLR bWAddr_Flag
; SOURCE LINE # 61
004E ED MOV A,R5
004F 700F JNZ ?C0009
; SOURCE LINE # 62
0051 FB MOV R3,A
0052 A905 MOV R1,AR5
0054 900000 R MOV DPTR,#SlaveB_Addr
0057 F0 MOVX @DPTR,A
0058 A3 INC DPTR
0059 CB XCH A,R3
005A F0 MOVX @DPTR,A
005B A3 INC DPTR
005C E9 MOV A,R1
005D F0 MOVX @DPTR,A
005E 8074 SJMP ?C0014
0060 ?C0009:
; SOURCE LINE # 64
0060 ED MOV A,R5
0061 FA MOV R2,A
0062 900000 R MOV DPTR,#SlaveB_Addr
0065 7401 MOV A,#01H
0067 F0 MOVX @DPTR,A
0068 A3 INC DPTR
0069 EA MOV A,R2
006A F0 MOVX @DPTR,A
006B A3 INC DPTR
006C E4 CLR A
006D F0 MOVX @DPTR,A
; SOURCE LINE # 65
006E 8064 SJMP ?C0014
0070 ?C0007:
; SOURCE LINE # 67
; SOURCE LINE # 68
0070 900000 E MOV DPTR,#byMTV_IIC_TXRCBBUF
0073 E0 MOVX A,@DPTR
0074 FF MOV R7,A
0075 FD MOV R5,A
; SOURCE LINE # 70
0076 200020 R JB bWAddr_Flag,?C0012
; SOURCE LINE # 71
; SOURCE LINE # 72
0079 FB MOV R3,A
007A 900000 R MOV DPTR,#SlaveB_Addr+01H
007D E4 CLR A
007E 8BF0 MOV B,R3
0080 120000 E LCALL ?C?IILDX
; SOURCE LINE # 73
0083 D200 R SETB bWAddr_Flag
; SOURCE LINE # 74
0085 900000 R MOV DPTR,#SlaveB_Addr
0088 E0 MOVX A,@DPTR
0089 FB MOV R3,A
008A A3 INC DPTR
008B E0 MOVX A,@DPTR
008C FA MOV R2,A
008D A3 INC DPTR
C51 COMPILER V6.10 ISR 12/02/2004 10:58:52 PAGE 21
008E E0 MOVX A,@DPTR
008F F9 MOV R1,A
0090 120000 E LCALL ?C?CLDPTR
0093 900000 E MOV DPTR,#byMTV_IIC_TXRCBBUF
0096 F0 MOVX @DPTR,A
; SOURCE LINE # 75
0097 803B SJMP ?C0014
0099 ?C0012:
; SOURCE LINE # 77
; SOURCE LINE # 78
0099 900000 R MOV DPTR,#SlaveB_Addr
009C E0 MOVX A,@DPTR
009D FB MOV R3,A
009E A3 INC DPTR
009F E0 MOVX A,@DPTR
00A0 FA MOV R2,A
00A1 A3 INC DPTR
00A2 E0 MOVX A,@DPTR
00A3 F9 MOV R1,A
00A4 EF MOV A,R7
00A5 120000 E LCALL ?C?CSTPTR
; SOURCE LINE # 79
00A8 900000 R MOV DPTR,#SlaveB_Addr+01H
00AB E4 CLR A
00AC 75F001 MOV B,#01H
00AF 120000 E LCALL ?C?IILDX
; SOURCE LINE # 80
; SOURCE LINE # 81
; SOURCE LINE # 82
00B2 8020 SJMP ?C0014
00B4 ?C0006:
; SOURCE LINE # 83
00B4 ED MOV A,R5
00B5 30E71C JNB ACC.7,?C0014
; SOURCE LINE # 84
; SOURCE LINE # 85
00B8 900000 R MOV DPTR,#SlaveB_Addr+01H
00BB E4 CLR A
00BC 75F001 MOV B,#01H
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?