📄 recorderrx.lst
字号:
00191 V_IOC_DInt:
00192 V_Tmr2Int:
00193 V_KeyMatrixInt:
295 00194 0028 F400 rts;
00195 ;==============================================================
00196 ;==============================================================
00197 V_Reset:
299 00198 0029 EE00 fast;
300 00199 002A E900 sie* 0;
301 00200 002B C0C6 call F_InitContrlPin;
302 00201 002C C0B0 call F_ClrAllRAM;
303 00202 002D C0B9 call F_InitalPort;
304 00203 002E 5F04 lds R_DelALMLo,D_DelALMLo;
305 00204 002F 5885 lds R_DelALMHi,D_DelALMHi;
306 00205 0030 C2B5 call F_InitalCC2500;
0206
308 00207 0031 5F88 lds R_Delay,15;
309 00208 0032 C397 call F_DelxxUS;
310 00209 0033 E90E sie* D_Tmr1IntEnable+D_PreIntEnable+D_ExtIntEnable;
0210
00211 ;lds R_Delay,15;
00212 ;call F_DelxxUS;
0213
00214 ;lds R_ReadAddrLow,08
00215 ;lds R_ReadAddrHigh,0fh;
00216 ;call F_ReadCC2500Reg;
0217
00218 ;lda R_ParHigh;
00219 ;jb3 L_ProReadDate;
00220 ;jmp L_LoopRed;
00221 ;L_ProReadDate:
00222 ; lds R_IntWrk,0;
00223 ; lcp R_CSnBuf,R_IntWrk; CSn ouput low.
00224 ;L_WaitSOLow16:
00225 ; ipa R_IntWrk;
00226 ; jb0 L_WaitSOLow16;
00227 ;
00228 ; call F_RDCC2500Bit;
00229 ; lds R_ParLow,0ffh%16;
00230 ; lds R_ParHigh,0ffh/16;
00231 ; call F_WRCC2500_REG_Addr;
00232 ;
00233 ; call F_ReadCC2500AByte;
00234 ; lda R_ParHigh;
00235 ; jnz L_ExiteIs;
00236 ;
00237 ; call F_ReadCC2500AByte;
00238 ; lda R_ParLow;
00239 ; sta R_RecCommandLow;
00240 ; lda R_ParHigh;
00241 ; sta R_RecCommandHigh;
00242 ;
00243 ; call F_ReadCC2500AByte;
00244 ; nop;
00245 ; nop;
00246 ; call F_ReadCC2500AByte;
00247 ;L_ExiteIs:
00248 ; lds R_IntWrk,D_CSn;
00249 ; lcp R_CSnBuf,R_IntWrk; CSn ouput High.
00250 ;
00251 ; lds R_ParLow,CMD_CC2500_SIDLE%16;
00252 ; lds R_ParHigh,CMD_CC2500_SIDLE/16;
00253 ; call F_CC2500WRStrobe;
00254 ;
00255 ; lds R_Delay,15;
00256 ; call F_DelxxUS;
00257 ; lds R_ParLow,CMD_CC2500_SFRX%16;
00258 ; lds R_ParHigh,CMD_CC2500_SFRX/16;
00259 ; call F_CC2500WRStrobe;
00260 ;
00261 ; lds R_ParLow,CMD_CC2500_SRX%16;
00262 ; lds R_ParHigh,CMD_CC2500_SRX/16;
00263 ; call F_CC2500WRStrobe;
00264 ; sie* D_ExtIntEnable;
00265 ; rts;
0266
00267 L_MainLoop:
369 00268 0034 C286 call F_ChkRFCMD;
370 00269 0035 6C74 lda R_KeyVal;
371 00270 0036 B038 jz L_ChkSleep;
0271
373 00272 0037 C0FA call F_ProKeyVal;
00273 L_ChkSleep:
375 00274 0038 D034 jmp L_MainLoop;
0275
377 00276 0039 6C03 lda R_KeyWakeDel;
378 00277 003A A034 jnz L_MainLoop;
379 00278 003B 6C72 lda R_Flags1;
380 00279 003C 8834 jb1 L_MainLoop;
381 00280 003D 9034 jb2 L_MainLoop;
00281 ;=================================================
00282 ;=================================================
00283 L_HaltIs:
385 00284 003E 3F12 ori* R_Flags1,B_HaltNormal;
386 00285 003F F510 sca 10h;
387 00286 0040 E800 she 0;
388 00287 0041 E90C sie* D_PreIntEnable+D_ExtIntEnable;
389 00288 0042 0000 nop;
390 00289 0043 0000 nop;
391 00290 0044 FF00 halt;
0291
393 00292 0045 0000 nop;
394 00293 0046 0000 nop;
395 00294 0047 EE00 fast;
396 00295 0048 4B70 msb R_WrkReg1;
397 00296 0049 884B jb1 L_IOCWake;
398 00297 004A D04C jmp L_WakeUpPro;
00298 L_IOCWake:
400 00299 004B 5D03 lds R_KeyWakeDel,D_KeyWakeDel;
00300 L_WakeUpPro:
402 00301 004C 3BE2 andi* R_Flags1,1110b;
403 00302 004D C0B9 call F_InitalPort;
404 00303 004E D034 jmp L_MainLoop;
00304 ;*************************************************************
00305 ;V: Vector Name: V_IntPinInt.
00306 ;V:
00307 ;V:
00308 ;V:
00309 ;V:
00310 ;*************************************************************
00311 V_IntPinInt:
413 00312 004F 6800 sta R_TempAcc;
414 00313 0050 4A01 maf R_TempStatus;
415 00314 0051 780B mwr R_TempWrk1,R_WrkReg1;
0315
417 00316 0052 5871 lds R_IntWrk,0;
418 00317 0053 0649 lcp R_CSnBuf,R_IntWrk; CSn ouput low.
00318 L_WaitSOLow10:
420 00319 0054 4271 ipa R_IntWrk;
421 00320 0055 8054 jb0 L_WaitSOLow10;
0321
423 00322 0056 C3B7 call F_RDCC2500Bit;
424 00323 0057 5F86 lds R_ParLow,0ffh%16;
425 00324 0058 5F87 lds R_ParHigh,0ffh/16;
426 00325 0059 C3C6 call F_WRCC2500_REG_Addr;
0326
428 00327 005A C402 call F_ReadCC2500AByte;
0328
430 00329 005B C402 call F_ReadCC2500AByte;
431 00330 005C 6C06 lda R_ParLow;
432 00331 005D 6877 sta R_RecCommandLow;
433 00332 005E 6C07 lda R_ParHigh;
434 00333 005F 6878 sta R_RecCommandHigh;
0334
436 00335 0060 C402 call F_ReadCC2500AByte;
437 00336 0061 5AF1 lds R_IntWrk,55h%16;
438 00337 0062 2606 sub R_ParLow;
439 00338 0063 A06E jnz L_ErrorCMD;
440 00339 0064 5AF1 lds R_IntWrk,55H/16;
441 00340 0065 2207 sbc R_ParHigh;
442 00341 0066 A06E jnz L_ErrorCMD;
0342
444 00343 0067 C402 call F_ReadCC2500AByte;
445 00344 0068 5D71 lds R_IntWrk,aah%16;
446 00345 0069 2606 sub R_ParLow;
447 00346 006A A06E jnz L_ErrorCMD;
448 00347 006B 5D71 lds R_IntWrk,aah/16;
449 00348 006C 2207 sbc R_ParHigh;
450 00349 006D B070 jz L_RightCMD;
00350 L_ErrorCMD:
452 00351 006E 5877 lds R_RecCommandLow,0;
453 00352 006F 5878 lds R_RecCommandHigh,0;
00353 L_RightCMD:
455 00354 0070 58F1 lds R_IntWrk,D_CSn;
456 00355 0071 0649 lcp R_CSnBuf,R_IntWrk; CSn ouput High.
0356
458 00357 0072 5D06 lds R_ParLow,CMD_CC2500_SFRX%16;
459 00358 0073 5987 lds R_ParHigh,CMD_CC2500_SFRX/16;
460 00359 0074 C39F call F_CC2500WRStrobe;
0360
462 00361 0075 5B06 lds R_ParLow,CMD_CC2500_SIDLE%16;
463 00362 0076 5987 lds R_ParHigh,CMD_CC2500_SIDLE/16;
464 00363 0077 C39F call F_CC2500WRStrobe;
0364
466 00365 0078 5A06 lds R_ParLow,CMD_CC2500_SRX%16;
467 00366 0079 5987 lds R_ParHigh,CMD_CC2500_SRX/16;
468 00367 007A C39F call F_CC2500WRStrobe;
0368
470 00369 007B FC00 alm 0;
471 00370 007C 3F13 ori* R_Flags2,B_RFCmd;
472 00371 007D 5F04 lds R_DelALMLo,D_DelALMLo;
473 00372 007E 5885 lds R_DelALMHi,D_DelALMHi;
0373
475 00374 007F 6C72 lda R_Flags1;
476 00375 0080 8082 jb0 L_HaltRFInt;
477 00376 0081 D0A4 jmp L_ExitIntTotal;
00377 L_HaltRFInt:
479 00378 0082 E80A she 0ah; 允许定时器1与0.5s时基中断。
480 00379 0083 E27F tmsx 001111111b; 15.625ms interrupt.
481 00380 0084 F680 sf 80h; Enable the re-load function.
482 00381 0085 700B mrw R_WrkReg1,R_TempWrk1;
483 00382 0086 6D01 mra R_TempStatus;
484 00383 0087 6C00 lda R_TempAcc;
485 00384 0088 E90C sie* D_PreIntEnable+D_ExtIntEnable;
486 00385 0089 F400 rts;
00386 ;*************************************************************
00387 ;V: Vector Name: V_Tmr1Int.
00388 ;V: Describe:
00389 ;V: 15.625ms Interrupt for key scan or delay time base.
00390 ;V:
00391 ;*************************************************************
00392 V_Tmr1Int:
494 00393 008A 6800 sta R_TempAcc;
495 00394 008B 4A01 maf R_TempStatus;
496 00395 008C 780B mwr R_TempWrk1,R_WrkReg1;
0396
498 00397 008D C0DA call F_ScanKey;
499 00398 008E C243 call F_ChkSNDStatus;
500 00399 008F 6C03 lda R_KeyWakeDel;
501 00400 0090 B092 jz L_Tmr1IntRet;
0401
503 00402 0091 4103 dec* R_KeyWakeDel;
00403 L_Tmr1IntRet:
505 00404 0092 700B mrw R_WrkReg1,R_TempWrk1;
506 00405 0093 6D01 mra R_TempStatus;
507 00406 0094 6C00 lda R_TempAcc;
508 00407 0095 E90E sie* D_Tmr1IntEnable+D_PreIntEnable+D_ExtIntEnable;
509 00408 0096 F400 rts;
00409 ;**************************************************************
00410 ;V: Vector name: V_PreDiverInt.
00411 ;V: Describe:
00412 ;V: 0.5S Interrupt for timer trammsist check signal.
00413 ;V:
00414 ;**************************************************************
00415 V_PreDiverInt:
517 00416 0097 6800 sta R_TempAcc;
518 00417 0098 4A01 maf R_TempStatus;
519 00418 0099 780B mwr R_TempWrk1,R_WrkReg1;
0419
521 00420 009A 5A06 lds R_ParLow,CMD_CC2500_SRX%16;
522 00421 009B 5987 lds R_ParHigh,CMD_CC2500_SRX/16;
523 00422 009C C39F call F_CC2500WRStrobe;
0423
525 00424 009D 4104 dec* R_DelALMLo;
526 00425 009E B8A4 jc L_ExitIntTotal;
527 00426 009F 4105 dec* R_DelALMHi;
528 00427 00A0 B8A4 jc L_ExitIntTotal;
0428
530 00429 00A1 5F04 lds R_DelALMLo,D_DelALMLo;
531 00430 00A2 5885 lds R_DelALMHi,D_DelALMHi;
532 00431 00A3 FC90 alm 010010000b; 2kHZ&2Hz;
00432 L_ExitIntTotal:
534 00433 00A4 6C72 lda R_Flags1;
535 00434 00A5 80AB jb0 L_STOPModeRet;
00435 L_NormalModeRet:
537 00436 00A6 700B mrw R_WrkReg1,R_TempWrk1;
538 00437 00A7 6D01 mra R_TempStatus;
539 00438 00A8 6C00 lda R_TempAcc;
540 00439 00A9 E90E sie* D_Tmr1IntEnable+D_PreIntEnable+D_ExtIntEnable;
541 00440 00AA F400 rts;
00441 L_STOPModeRet:
543 00442 00AB 700B mrw R_WrkReg1,R_TempWrk1;
544 00443 00AC 6D01 mra R_TempStatus;
545 00444 00AD 6C00 lda R_TempAcc;
546 00445 00AE E90C sie* D_PreIntEnable+D_ExtIntEnable;
547 00446 00AF F400 rts;
00447 ;*************************************************************
00448 ;*************************************************************
00449 ;The include file.
0450 .INCLUDE function.asm (D:\MyWorks\RFPj\code\code12_11Before\RX\FUNCTION.ASM)
00001+ ;**************************************************************************
00002+ ;F: File Name: function.asm.
00003+ ;F: Build Name: 2006/11/6.
00004+ ;F:
00005+ ;F:
00006+ ;**************************************************************************
0007+
0008+
0009+
00010+ ;*****************************************************************
00011+ ;F: Function Name: F_ClrAllRAM.
00012+ ;F:
00013+ ;F:
00014+ ;F:
00015+ ;F:
00016+ ;******************************************************************
00017+ F_ClrAllRAM:
569 00018+ 00B0 5870 lds R_WrkReg1,0;
570 00019+ 00B1 1C70 mvl R_WrkReg1;
571 00020+ 00B2 1D70 mvh R_WrkReg1;
572 00021+ 00B3 1E70 mvu R_WrkReg1;
00022+ L_LoopClr:
574 00023+ 00B4 5870 lds R_WrkReg1,0;
575 00024+ 00B5 68C0 sta# @HL;
576 00025+ 00B6 EFFF cphl 0ffh;
577 00026+ 00B7 D0B4 jmp L_LoopClr;
578 00027+ 00B8 F400 rts;
00028+ ;******************************************************************
00029+ ;F: Function Name: F_InitalPort.
00030+ ;F:
00031+ ;F:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -