⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 recorderrx.lst

📁 cc2500的接收程式,有需的朋友可以参考一下
💻 LST
📖 第 1 页 / 共 5 页
字号:
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 + -