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

📄 recordertx.lst

📁 cc2500的跳频发送程式,有需要的朋友可以参考一下哟
💻 LST
📖 第 1 页 / 共 4 页
字号:
  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 + -