📄 recordertx.lst
字号:
309 00208 0058 7090 mrw R_WrkReg1,R_TempWrk;
310 00209 0059 6D03 mra R_TempStatus;
311 00210 005A 6C02 lda R_TempAcc;
312 00211 005B E90A sie* D_Tmr1IntEnable+D_PreIntEnable;
313 00212 005C F400 rts;
00213 ;**************************************************************
00214 ;V: Vector name: V_PreDiverInt.
00215 ;V: Describe:
00216 ;V: 0.5S Interrupt for timer trammsist check signal.
00217 ;V:
00218 ;**************************************************************
00219 V_PreDiverInt:
321 00220 005D 6802 sta R_TempAcc;
322 00221 005E 4A03 maf R_TempStatus;
323 00222 005F 7890 mwr R_TempWrk,R_WrkReg1;
0223
325 00224 0060 C0C7 call F_ChkLowBatter;
326 00225 0061 4104 dec* R_TimerSendLo;
327 00226 0062 B875 jc L_PreIntRet;
328 00227 0063 4105 dec* R_TimerSendHi;
329 00228 0064 B875 jc L_PreIntRet;
0229
331 00230 0065 5D04 lds R_TimerSendLo,D_TimerSendLo;
332 00231 0066 5805 lds R_TimerSendHi,D_TimerSendHi;
333 00232 0067 6C77 lda R_Flags1;
334 00233 0068 8875 jb1 L_PreIntRet; 主程式正在发射中断不发射。
0234
336 00235 0069 5871 lds R_WrkReg1,0;
337 00236 006A 0609 lcp R_RFLEDBuf,R_WrkReg1;
338 00237 006B 588D lds R_LoopSend,1;3;
00238 L_LoopSendIs:
340 00239 006C 5FF0 lds R_IntWrk,D_ScanCommand%16;
341 00240 006D 6806 sta R_SendCommandLo;
342 00241 006E 5FF0 lds R_IntWrk,D_ScanCommand/16;
343 00242 006F 6807 sta R_SendCommandHi;
344 00243 0070 C21F call F_SendRFCommand;
0244
346 00245 0071 410D dec* R_LoopSend;
347 00246 0072 A06C jnz L_LoopSendIs;
0247
349 00248 0073 58F1 lds R_WrkReg1,D_RFLED;
350 00249 0074 0609 lcp R_RFLEDBuf,R_WrkReg1;
00250 L_PreIntRet:
352 00251 0075 6C77 lda R_Flags1;
353 00252 0076 807C jb0 L_STOPModeRet;
00253 L_NormalModeRet:
355 00254 0077 7090 mrw R_WrkReg1,R_TempWrk;
356 00255 0078 6D03 mra R_TempStatus;
357 00256 0079 6C02 lda R_TempAcc;
358 00257 007A E90A sie* D_Tmr1IntEnable+D_PreIntEnable;
359 00258 007B F400 rts;
00259 L_STOPModeRet:
361 00260 007C 7090 mrw R_WrkReg1,R_TempWrk;
362 00261 007D 6D03 mra R_TempStatus;
363 00262 007E 6C02 lda R_TempAcc;
364 00263 007F E908 sie* D_PreIntEnable;
365 00264 0080 F400 rts;
00265 ;**************************************************************
00266 ;The Inlude file.
0267 .INCLUDE function.asm (D:\MyWorks\RFPj\code\TX\FUNCTION.ASM)
00001+ ;***********************************************************************
00002+ ;F: File Name: function.asm.
00003+ ;F: Build Date: 2006/11/3.
00004+ ;F:
00005+ ;F:
00006+ ;F:
00007+ ;***********************************************************************
0008+
0009+
0010+
00011+ ;*****************************************************************
00012+ ;F: Function Name: F_ClrAllRAM.
00013+ ;F:
00014+ ;F:
00015+ ;F:
00016+ ;F:
00017+ ;******************************************************************
00018+ F_ClrAllRAM:
387 00019+ 0081 5871 lds R_WrkReg1,0;
388 00020+ 0082 1C71 mvl R_WrkReg1;
389 00021+ 0083 1D71 mvh R_WrkReg1;
390 00022+ 0084 1E71 mvu R_WrkReg1;
00023+ L_LoopClr:
392 00024+ 0085 5871 lds R_WrkReg1,0;
393 00025+ 0086 68C0 sta# @HL;
394 00026+ 0087 EFFF cphl 0ffh;
395 00027+ 0088 D085 jmp L_LoopClr;
396 00028+ 0089 F400 rts;
00029+ ;******************************************************************
00030+ ;F: Function Name: F_InitalPort.
00031+ ;F:
00032+ ;F:
00033+ ;F:
00034+ ;F:
00035+ ;F:
00036+ ;*******************************************************************
00037+ F_InitalPort:
406 00038+ 008A 58F1 lds R_WrkReg1,D_RFLED;
407 00039+ 008B 0609 lcp R_RFLEDBuf,R_WrkReg1;
408 00040+ 008C 58F1 lds R_WrkReg1,D_LowBatLED;
409 00041+ 008D 0611 lcp R_LowBatLEDBuf,R_WrkReg1;
0042+
411 00043+ 008E 5871 lds R_WrkReg1,0;
412 00044+ 008F 0A71 opa R_WrkReg1;
413 00045+ 0090 F58F spa 1111b;
414 00046+ 0091 5A71 lds R_WrkReg1,D_CSn;
415 00047+ 0092 0A71 opa R_WrkReg1;
416 00048+ 0093 687A sta R_PortA;
0049+
418 00050+ 0094 5871 lds R_WrkReg1,0;
419 00051+ 0095 0C71 opb R_WrkReg1;
420 00052+ 0096 F5A0 spb 0000b;
0053+
422 00054+ 0097 0D71 opc R_WrkReg1;
423 00055+ 0098 F5D0 spc 10000b;
0056+
425 00057+ 0099 0E71 opd R_WrkReg1;
426 00058+ 009A F5F0 spd 10000b;
00059+ ;======================================
00060+ ;======================================
429 00061+ 009B 0000 nop;
430 00062+ 009C 0000 nop;
431 00063+ 009D 0000 nop;
432 00064+ 009E 4871 ipd R_WrkReg1;
433 00065+ 009F 6800 sta R_AddrCode;
0066+
435 00067+ 00A0 E27F tmsx 001111111b; 15.625ms interrupt.
436 00068+ 00A1 F680 sf 80h; Enable the re-load function.
437 00069+ 00A2 E90A sie* D_Tmr1IntEnable+D_PreIntEnable;
438 00070+ 00A3 F400 rts;
00071+ ;*********************************************************************
00072+ ;F: Function Name: F_ScanKey.
00073+ ;F:
00074+ ;F:
00075+ ;F:
00076+ ;F:
00077+ ;*********************************************************************
00078+ F_ScanKey:
447 00079+ 00A4 3618 subi R_KeyStep,D_DelStep;
448 00080+ 00A5 B0AE jz L_DelStepPro;
449 00081+ 00A6 3628 subi R_KeyStep,D_WaitStep;
450 00082+ 00A7 B0BD jz L_WaitStepPro;
451 00083+ 00A8 3638 subi R_KeyStep,D_RelaseStep;
452 00084+ 00A9 B0C1 jz L_RelaseStepPro;
00085+ L_ChkStepPro:
454 00086+ 00AA 4770 ipc R_IntWrk;
455 00087+ 00AB B0C6 jz L_ScanKeyRet;
0088+
457 00089+ 00AC 58F8 lds R_KeyStep,D_DelStep;
458 00090+ 00AD D0C6 jmp L_ScanKeyRet;
00091+ ;=============================================
00092+ ;=============================================
00093+ L_DelStepPro:
462 00094+ 00AE 5978 lds R_KeyStep,D_WaitStep;
463 00095+ 00AF 4770 ipc R_IntWrk;
464 00096+ 00B0 80B5 jb0 L_K1Is;
465 00097+ 00B1 88B7 jb1 L_K2Is;
466 00098+ 00B2 90B9 jb2 L_K3Is;
467 00099+ 00B3 98BB jb3 L_K4Is;
468 00100+ 00B4 D0C5 jmp L_ErrKey;
00101+ L_K1Is:
470 00102+ 00B5 58F9 lds R_KeyVal,1;
471 00103+ 00B6 D0C6 jmp L_ScanKeyRet;
00104+ L_K2Is:
473 00105+ 00B7 5979 lds R_KeyVal,2;
474 00106+ 00B8 D0C6 jmp L_ScanKeyRet;
00107+ L_K3Is:
476 00108+ 00B9 5A79 lds R_KeyVal,4;
477 00109+ 00BA D0C6 jmp L_ScanKeyRet;
00110+ L_K4Is:
479 00111+ 00BB 5C79 lds R_KeyVal,8;
480 00112+ 00BC D0C6 jmp L_ScanKeyRet;
00113+ ;=============================================
00114+ ;=============================================
00115+ L_WaitStepPro:
484 00116+ 00BD 4770 ipc R_IntWrk;
485 00117+ 00BE A0C6 jnz L_ScanKeyRet;
0118+
487 00119+ 00BF 59F8 lds R_KeyStep,D_RelaseStep;
488 00120+ 00C0 D0C6 jmp L_ScanKeyRet;
00121+ ;=============================================
00122+ ;=============================================
00123+ L_RelaseStepPro:
492 00124+ 00C1 4770 ipc R_IntWrk;
493 00125+ 00C2 B0C5 jz L_ErrKey;
0126+
495 00127+ 00C3 5978 lds R_KeyStep,D_WaitStep;
496 00128+ 00C4 D0C6 jmp L_ScanKeyRet;
00129+ L_ErrKey:
498 00130+ 00C5 5878 lds R_KeyStep,0;
00131+ L_ScanKeyRet:
500 00132+ 00C6 F400 rts;
00133+ ;**********************************************************************
00134+ ;F: Function Name: F_ChkLowBatter.
00135+ ;F:
00136+ ;F:
00137+ ;F:
00138+ ;F:
00139+ ;**********************************************************************
00140+ F_ChkLowBatter:
509 00141+ 00C7 4471 ipb R_WrkReg1;
510 00142+ 00C8 90CC jb2 L_NoLowBat;
00143+ L_LowBatIs:
512 00144+ 00C9 5871 lds R_WrkReg1,0
513 00145+ 00CA 0611 lcp R_LowBatLEDBuf,R_WrkReg1;
514 00146+ 00CB F400 rts;
00147+ L_NoLowBat:
516 00148+ 00CC 58F1 lds R_WrkReg1,D_LowBatLED;
517 00149+ 00CD 0611 lcp R_LowBatLEDBuf,R_WrkReg1;
518 00150+ 00CE F400 rts;
0268 .INCLUDE cc2500.asm (D:\MyWorks\RFPj\code\TX\CC2500.ASM)
00001+ ;***************************************************************************
00002+ ;F: File Name: cc2500.asm.
00003+ ;F: Build Date: 2006/11/3.
00004+ ;F: Programer: stone_zen.
00005+ ;F:
00006+ ;***************************************************************************
0007+
0008+
0009+
0010+
0011+
00012+ ;*****************************************************************
00013+ ;F: Function Name: F_InitalCC2500.
00014+ ;F:
00015+ ;F: Describe:
00016+ ;F: configuration the cc2500 registers.
00017+ ;F:
00018+ ;*****************************************************************
00019+ F_InitalCC2500:
539 00020+ 00CF 587A lds R_PortA,0;
540 00021+ 00D0 0A7A opa R_PortA;
0022+
542 00023+ 00D1 5A08 lds R_Delay,4;
543 00024+ 00D2 C1A3 call F_DelxxUS;
544 00025+ 00D3 3F4A ori* R_PortA,D_CSn;
545 00026+ 00D4 0A7A opa R_PortA;
0027+
547 00028+ 00D5 5D08 lds R_Delay,10;
548 00029+ 00D6 C1A3 call F_DelxxUS;
549 00030+ 00D7 580B lds R_ParLow,CMD_CC2500_SRES%16;
550 00031+ 00D8 598C lds R_ParHigh,CMD_CC2500_SRES/16;
551 00032+ 00D9 C1AB call F_CC2500WRStrobe;
0033+
553 00034+ 00DA 5A08 lds R_Delay,4;
554 00035+ 00DB C1A3 call F_DelxxUS;
555 00036+ 00DC 3BBA andi* R_PortA,D_NCSn;
556 00037+ 00DD 0A7A opa R_PortA;
00038+ L_WaitSOLo01:
558 00039+ 00DE 4471 ipb R_WrkReg1;
559 00040+ 00DF 98DE jb3 L_WaitSOLo01; 只有再次检到低时才算RESET 完成。
00041+ ;================================================
00042+ ;================================================
00043+ ;开始初始化配置寄存器的内容。
563 00044+ 00E0 C1B6 call F_WRCC2500Bit;
564 00045+ 00E1 5A0C lds R_ParHigh,40h/16
565 00046+ 00E2 580B lds R_ParLow,40h%16; 设为BURST write Mode.
566 00047+ 00E3 C1D0 call F_WRCC2500_REG_Addr;
00048+ ;======================================
00049+ ;Addr 0x00 IOCFG2.
569 00050+ 00E4 5B8B lds R_ParLow,47H%16; 当同步字被送出时GDO2 pin产生一个低信号.
570 00051+ 00E5 5A0C lds R_ParHigh,47H/16;
571 00052+ 00E6 C1EE call F_WRCC2500_ABYTE;
00053+ ;======================================
00054+ ;Addr 0x01 IOCFG1.
574 00055+ 00E7 5F0B lds R_ParLow,2eh%16; 此脚功能不用。
575 00056+ 00E8 590C lds R_ParHigh,2eh/16;
576 00057+ 00E9 C1EE call F_WRCC2500_ABYTE;
00058+ ;======================================
00059+ ;Addr 0x02 IOCFG0.
579 00060+ 00EA 5B0B lds R_ParLow,46h%16;
580 00061+ 00EB 5A0C lds R_ParHigh,46h/16;
581 00062+ 00EC C1EE call F_WRCC2500_ABYTE; 此脚功能不用。
00063+ ;======================================
00064+ ;Addr 0x03 FIFOTHR.
584 00065+ 00ED 5B8B lds R_ParLow,7; TX FIFO 超过33个字节产生溢出。
585 00066+ 00EE 580C lds R_ParHigh,0;
586 00067+ 00EF C1EE call F_WRCC2500_ABYTE;
00068+ ;======================================
00069+ ;Addr 0x04 SYNC1.
589 00070+ 00F0 598B lds R_ParLow,03h;
590 00071+ 00F1 5E8C lds R_ParHigh,0dh;
591 00072+ 00F2 C1EE call F_WRCC2500_ABYTE;
00073+ ;======================================
00074+ ;Addr 0x05 SYNC0.
594 00075+ 00F3 588B lds R_ParLow,01h; 同步字为0xd391.
595 00076+ 00F4 5C8C lds R_ParHigh,09h;
596 00077+ 00F5 C1EE call F_WRCC2500_ABYTE;
00078+ ;======================================
00079+ ;Addr 0x06 PKTLEN.
599 00080+ 00F6 5A0B lds R_ParLow,4; 每个包的长度为2BYTE。
600 00081+ 00F7 580C lds R_ParHigh,0;
601 00082+ 00F8 C1EE call F_WRCC2500_ABYTE;
00083+ ;======================================
00084+ ;Addr 0x07 PKTCTRL1.
604 00085+ 00F9 5A8B lds R_ParLow,5;
605 00086+ 00FA 580C lds R_ParHigh,0; 在TX 模式下,保留上电初始设置。
606 00087+ 00FB C1EE call F_WRCC2500_ABYTE;
00088+ ;======================================
00089+ ;Addr 0x08 PKTCTRL0.
609 00090+ 00FC 5A0B lds R_ParLow,04h; 固定包,允许CRC功能。
610 00091+ 00FD 580C lds R_ParHigh,0;
611 00092+ 00FE C1EE call F_WRCC2500_ABYTE;
00093+ ;======================================
00094+ ;Addr 0x09 ADDR.
00095+ ;ipd R_ParLow; 0~15 address.
615 00096+ 00FF 5A0B lds R_ParLow,4;
616 00097+ 0100 580C lds R_ParHigh,0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -