📄 intctrl.lst
字号:
148 3 Current_Remote_In = 0;
149 3 IrState = IR_READY;
150 3
151 3 }
152 2 break;
153 2 }
154 1 }
155
156 /*======================================================
157 外部中断0, 用来判断CS49326是否有message发送给主控MCU
158 =======================================================*/
159 void CS49326Int(void) interrupt 0// using 1
160 {
161 1 //read CS49326 unsolicited messages
162 1 }
163
164 /*================================================================
165 Timer0中断用于遥控按键输入中断的计时
166 ================================================================*/
167 void TIMER0Int(void) interrupt INT_Timer0
168 {
169 1 Stop_Timer0;
170 1 IrState = IR_READY;
171 1 Timer0_CntH = 0;
172 1 Timer0_CntL = 0;
173 1 ET0 = 1;
174 1 }
175 /*===================================================================
176 设置TIMER1为定时中断,每次中断时间为20ms,中断1ms后开始测试滚轮按键,
177 VFD显示时间长度计时
178 ===================================================================*/
179 void TIMER1Int(void) interrupt INT_Timer1
C51 COMPILER V7.20 INTCTRL 06/30/2005 14:02:57 PAGE 4
180 {
181 1 Timer1_CntL = 0xE0;
182 1 Timer1_CntH = 0xB1;
183 1 Start_Timer1;
184 1 /*
185 1 if(Volume_Interval > 0)
186 1 {
187 1 Volume_Interval++;
188 1 if(Volume_Interval > 60)
189 1 Volume_Interval = 0;
190 1 }
191 1 */
192 1 if(FMAM_PRESSED > 0)
193 1 {
194 2 FMAM_PRESSED++;
195 2 //证明已经没有FM/AM按下,如果按下FMAM_PRESSED=1,
196 2 //按下经过120ms,(NEC最长为108ms)
197 2 if(FMAM_PRESSED > 8)
198 2 {
199 3 if(RepCount > 5)
200 3 {
201 4 if(Remote_value == 18)//FMAM_KEY
202 4 Remote_value = 28;//AUTO_SCAN_KEY
203 4 else if(Remote_value == 7) //CHANNEL_SETPR_KEY
204 4 Remote_value = 20;//CHANNEL_FB_KEY
205 4 else if(Remote_value == 8) //CHANNEL_SETPF_KEY
206 4 Remote_value = 21;//CHANNEL_FF_KEY
207 4
208 4 }
209 3 IR_KeyAct = 1;
210 3 FMAM_PRESSED = 0;
211 3 }
212 2
213 2
214 2 }
215 1 if(TO_MAIN_DISPLAY > 0)
216 1 {
217 2 TO_MAIN_DISPLAY--;
218 2 if((TO_MAIN_DISPLAY % 15) == 0)
219 2 {
220 3 if(FLASH_TEMP == 0)
221 3 FLASH_TEMP = 1;
222 3 else
223 3 FLASH_TEMP = 0;
224 3 }
225 2 }
226 1
227 1
228 1 if(Key_Timer >= 1)
229 1 {
230 2 Key_Timer++;
231 2
232 2 }
233 1
234 1 if(Wait_Lock_40ms > 0)
235 1 Wait_Lock_40ms++;
236 1
237 1
238 1 }
239 /*===================================================================
240 Timer2中断,暂时未用
241 ===================================================================*/
C51 COMPILER V7.20 INTCTRL 06/30/2005 14:02:57 PAGE 5
242 void TIMER2Int(void) interrupt INT_Timer2
243 {
244 1 TF2 = 0;
245 1
246 1 if(ReadKey_Timer < 20)
247 1 {
248 2 ReadKey_Timer++;
249 2 }
250 1
251 1 if(Volume_Control == 1)
252 1 {
253 2 Jog_A_Input = 1;
254 2 Jog_B_Input = 1;
255 2 Jog_A_Buffer <<= 1;
256 2 Jog_B_Buffer <<= 1;
257 2 if(1 == Jog_A_Input)
258 2 Jog_B_Buffer++;
259 2 if(1 == Jog_B_Input)
260 2 Jog_A_Buffer++;
261 2 Jog_A_Buffer &= 0x7;
262 2 Jog_B_Buffer &= 0x7;
263 2 if(( 4 == Jog_A_Buffer) && (0 == Volume_Key_Dealed))
264 2 {
265 3 if(Jog_B_Buffer >= 0x7)//ab ab ab ab ab ab ab ab
266 3 {
267 4 Jog_Key = 1; //11->01->00->10->11->01->00->10 ;a=9 b=0xc
268 4 }
269 3 else
270 3 {
271 4 Jog_Key = 2; //ab ab ab ab ab ab ab ab
272 4 }
273 3 Jog_KeyAct = 1; //11->10->00->01->11->10->00->01 ;a=4 b=(0,1)
274 3 Volume_Key_Dealed = 1;
275 3 }
276 2 }
277 1 else
278 1 {
279 2 Jog_A_Buffer = 0;
280 2 Jog_B_Buffer = 0;
281 2 }
282 1 }
283 /*===================================================================
284 串口中断,暂时未用
285 ===================================================================*/
286 void SerialInt(void) interrupt INT_Serial
287 {
288 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 782 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -