?? 2ifinput.lst
字號:
234 00234 001F 5870 lds 70h,00h
235 00235 0020 0600 lcp 00h,70h
236 00236 0021 0610 lcp 01h,70h
237 00237 0022 0620 lcp 02h,70h
238 00238 0023 0630 lcp 03h,70h
239 00239 0024 0640 lcp 04h,70h
240 00240 0025 0650 lcp 05h,70h
241 00241 0026 0660 lcp 06h,70h
242 00242 0027 F400 rts
00243 ;================================
00244 InitIO:
00245 ;IOA4 IOA3 IOA2 IOA1
00246 ; | | | |
00247 ;Mute CE CK DA
248 00248 0028 5C70 lds 70h,1000b
249 00249 0029 6878 sta PortAState
250 00250 002A 0A70 opa 70h
251 00251 002B F59F spa 11111b
00252 ; IOB4 IOB3 IOB2 IOB1
00253 ; | | | |
00254 ; × AM/FM IO1 PowerOut
255 00255 002C 5BF0 lds 70h,0111b ;2005-9-1 16:22
256 00256 002D 6879 sta PortBState
257 00257 002E 0C70 opb 70h
258 00258 002F F5BF spb 11111b
00259 ;IOC4 IOC3 IOC2 IOC1
00260 ; | | | |
00261 ; Down Up Power Mode
262 00262 0030 5870 lds 70h,0000b
263 00263 0031 0D70 opc 70h
264 00264 0032 F5D0 spc 10000b
00265 ;===================
266 00266 0033 5870 lds 70h,0000b
267 00267 0034 0E70 opd 70h
268 00268 0035 F5FF spd 11111b
00269 ;==Set C5-C9 Output as 0==
270 00270 0036 5870 lds 70h,00h
271 00271 0037 07F0 lcp 1fh,70h
272 00272 0038 F400 rts
00273 SetCKAsHigh:
274 00274 0039 3F28 ori* PortAState,CK_High
275 00275 003A 0A78 opa PortAState
276 00276 003B F400 rts
00277 SetCKAsLow:
278 00278 003C 3BD8 andi* PortAState,CK_Low
279 00279 003D 0A78 opa PortAState
280 00280 003E F400 rts
00281 SetCEAsHigh:
282 00282 003F 3F48 ori* PortAState,CE_High
283 00283 0040 0A78 opa PortAState
284 00284 0041 F400 rts
00285 SetCEAsLow:
286 00286 0042 3BB8 andi* PortAState,CE_Low
287 00287 0043 0A78 opa PortAState
288 00288 0044 F400 rts
00289 SetDAAsHigh:
290 00290 0045 3F18 ori* PortAState,DA_High
291 00291 0046 0A78 opa PortAState
292 00292 0047 F400 rts
00293 SetDAAsLow:
294 00294 0048 3BE8 andi* PortAState,DA_Low
295 00295 0049 0A78 opa PortAState
296 00296 004A F400 rts
00297 SetMuteAsHigh:
298 00298 004B 3F88 ori* PortAState,Mute_High
299 00299 004C 0A78 opa PortAState
300 00300 004D F400 rts
00301 SetMuteAsLow:
302 00302 004E 3B78 andi* PortAState,Mute_Low
303 00303 004F 0A78 opa PortAState
304 00304 0050 F400 rts
00305 SetBandSwitchAsHigh:
306 00306 0051 3F49 ori* PortBState,BandSwitch_High
307 00307 0052 0C79 opb PortBState
308 00308 0053 F400 rts
00309 SetBandSwitchAsLow:
310 00310 0054 3BB9 andi* PortBState,BandSwitch_Low
311 00311 0055 0C79 opb PortBState
312 00312 0056 F400 rts
00313 SetIO1AsHigh:
314 00314 0057 3F29 ori* PortBState,IO1_High
315 00315 0058 0C79 opb PortBState
316 00316 0059 F400 rts
00317 SetIO1AsLow:
318 00318 005A 3BD9 andi* PortBState,IO1_Low
319 00319 005B 0C79 opb PortBState
320 00320 005C F400 rts
00321 SetPowerAsHigh:
322 00322 005D 3F19 ori* PortBState,Power_High
323 00323 005E 0C79 opb PortBState
324 00324 005F F400 rts
00325 SetPowerAsLow:
326 00326 0060 3BE9 andi* PortBState,Power_Low
327 00327 0061 0C79 opb PortBState
328 00328 0062 F400 rts
00329 ;*********************** 15.625MS事件處理 ***************************
00330 Halt15msPro:
331 00331 0063 EA10 plc 10h ;Clear timer2 Halt release request flag HRF1
332 00332 0064 3BD7 andi* Halt15ms,1101b ;clear timer2 Halt release flag
333 00333 0065 0000 nop
334 00334 0066 0000 nop
335 00335 0067 6C12 lda AutoScanFlag
336 00336 0068 A088 jnz GoToAutoSearch
337 00337 0069 7010 mrw WorkReg,Counter1
338 00338 006A 3680 subi WorkReg,08h
339 00339 006B B86E jc EighthSecEntry
340 00340 006C 4010 inc* Counter1
341 00341 006D D013 jmp MainHalt
00342 ;=========== 1/8秒事件處理 ============
00343 EighthSecEntry:
344 00344 006E 5810 lds Counter1,00h
345 00345 006F 6C14 lda CycScanKeyFlag
346 00346 0070 B075 jz EighthSecEntry2
347 00347 0071 7091 mrw WorkReg+1,Counter2
348 00348 0072 3641 subi WorkReg+1,04h ;設置常按時間
349 00349 0073 B87F jc AutoScanDelWith
350 00350 0074 4011 inc* Counter2
00351 EighthSecEntry2: ;125ms偵測一次按鍵
352 00352 0075 4716 ipc KeyValue ;read pin of portc
353 00353 0076 B079 jz NoDetectKey
354 00354 0077 2617 sub KeySave
355 00355 0078 B07D jz DetectKey
00356 NoDetectKey:
357 00357 0079 5814 lds CycScanKeyFlag,00h
358 00358 007A 5811 lds Counter2,00h
359 00359 007B FE81 rf2 1 ;關閉reload功能 2005-3-11 18:06
360 00360 007C D013 jmp MainHalt
00361 DetectKey: ;不變,表明是常按鍵
362 00362 007D 5894 lds CycScanKeyFlag,01h
363 00363 007E D013 jmp MainHalt
00364 ;==================常按鍵處理===================
00365 AutoScanDelWith:
366 00366 007F 5893 lds KeyHoldFlag,01h
367 00367 0080 5811 lds Counter2,00h
368 00368 0081 5892 lds AutoScanFlag,01h
369 00369 0082 FE01 sf2 01h
370 00370 0083 D013 jmp MainHalt
00371 ;==============================
00372 KeyAddPressPro1:
373 00373 0084 C0FD call KeyAddPress
374 00374 0085 D08C jmp AutoSearchAgain
00375 KeySubPressPro1:
376 00376 0086 C13F call KeySubPress
377 00377 0087 D08C jmp AutoSearchAgain
00378 ;******************* 自動搜臺 *******************
00379 GoToAutoSearch:
00380 ;rf2 1 ;關閉reload功能 2005-3-11 18:06
381 00381 0088 6C17 lda KeySave
382 00382 0089 9084 jb2 KeyAddPressPro1
383 00383 008A 9886 jb3 KeySubPressPro1
384 00384 008B D013 jmp MainHalt
00385 AutoSearchAgain:
386 00386 008C 5812 lds AutoScanFlag,00h
00387 ;call Delay62ms ;2005-11-16 13:39
388 00388 008D C244 call Delay100ms ;2005-11-16 13:52
389 00389 008E C19E call TransDataControlByD2
390 00390 008F 6C12 lda AutoScanFlag
391 00391 0090 A094 jnz AutoSearchAgain1
392 00392 0091 FE01 sf2 1h ;開啟reload功能/enable timer2
393 00393 0092 5892 lds AutoScanFlag,01h ;2005-8-23 13:33
394 00394 0093 D013 jmp MainHalt
00395 AutoSearchAgain1:
396 00396 0094 5812 lds AutoScanFlag,00h
00397 ;call Delay62ms
398 00398 0095 C244 call Delay100ms
399 00399 0096 C19E call TransDataControlByD2
400 00400 0097 6C12 lda AutoScanFlag
401 00401 0098 A09C jnz DetectHighReally
402 00402 0099 FE01 sf2 1h ;開啟reload功能/enable timer2
403 00403 009A 5892 lds AutoScanFlag,01h ;2005-8-23 13:33
404 00404 009B D013 jmp MainHalt
00405 DetectHighReally:
00406 ;call Delay27ms
00407 ;call TransDataControlByD2
408 00408 009C 0A1F opa FixZero ;prevent mute
409 00409 009D 6C13 lda KeyHoldFlag
410 00410 009E B0A3 jz VoutHighAndKeyUp
411 00411 009F C0C5 call ClrCountRAM
412 00412 00A0 FE01 sf2 1h ;開啟reload功能/enable timer2
413 00413 00A1 5895 lds EverHoldFlag,01h
414 00414 00A2 D013 jmp MainHalt
00415 ;自動偵測到反饋信號為高,同時鍵彈起,則停止自動收臺。
00416 VoutHighAndKeyUp:
417 00417 00A3 FE81 rf2 01h ;關閉reload功能 2005-3-11 18:06
418 00418 00A4 5812 lds AutoScanFlag,00h
419 00419 00A5 D013 jmp MainHalt
00420 ;************************ 按鍵處理 ***************************
00421 HaltPortCPro:
422 00422 00A6 EA01 plc 01h ;Clear ioc Halt release request flag HRF1
423 00423 00A7 3BDA andi* HaltPortC,1101b ;clear ioc Halt release flag
424 00424 00A8 F510 sca 10h
425 00425 00A9 0000 nop
426 00426 00AA 0000 nop
427 00427 00AB 0000 nop
428 00428 00AC 0000 nop
429 00429 00AD 0000 nop
00430 ;lcp 1fh,00h
431 00431 00AE 4716 ipc KeyValue
432 00432 00AF B0B4 jz KeyUpRelease
00433 KeyDownRelease:
434 00434 00B0 6817 sta KeySave
435 00435 00B1 C0C5 call ClrCountRAM
436 00436 00B2 FE01 sf2 1h ;開啟reload功能/enable timer2
437 00437 00B3 D013 jmp MainHalt
00438 KeyUpRelease:
439 00439 00B4 6C13 lda KeyHoldFlag
440 00440 00B5 B0BA jz KeyUpDealWith1
00441 ;常按鍵鍵彈起處理
442 00442 00B6 5813 lds KeyHoldFlag,00h
443 00443 00B7 FE01 sf2 1
444 00444 00B8 5892 lds AutoScanFlag,01h
445 00445 00B9 D013 jmp MainHalt
00446 ;單次按鍵鍵彈起處理
00447 KeyUpDealWith1:
448 00448 00BA 6C15 lda EverHoldFlag
449 00449 00BB A0C1 jnz NoKeyPress ;經過常按鍵自動偵測馬上鍵彈起后不作處理
450 00450 00BC 6C17 lda KeySave
451 00451 00BD 80CC jb0 KeyModeChangePro
452 00452 00BE 88D1 jb1 KeyPowerPressPro
453 00453 00BF 90D3 jb2 KeyAddPressPro
454 00454 00C0 98D8 jb3 KeySubPressPro
00455 NoKeyPress:
456 00456 00C1 5817 lds KeySave,00h
457 00457 00C2 5815 lds EverHoldFlag,00h
458 00458 00C3 C0C5 call ClrCountRAM
459 00459 00C4 D013 jmp MainHalt
00460 ;===================================
00461 ClrCountRAM:
462 00462 00C5 5810 lds Counter1,00h
463 00463 00C6 5811 lds Counter2,00h
464 00464 00C7 5814 lds CycScanKeyFlag,00h
465 00465 00C8 5813 lds KeyHoldFlag,00h
466 00466 00C9 5812 lds AutoScanFlag,00h
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -