📄 recordertx.lst
字号:
617 00098+ 0101 C1EE call F_WRCC2500_ABYTE;
00099+ ;======================================
00100+ ;Addr 0x0A CHANNR.
620 00101+ 0102 480B ipd R_ParLow; 0~15 AS CHANNER VALUE。
00102+ ;lds R_ParLow,2;
622 00103+ 0103 580C lds R_ParHigh,0;
623 00104+ 0104 C1EE call F_WRCC2500_ABYTE;
00105+ ;======================================
00106+ ;Addr 0x0B FSCTRL1.
626 00107+ 0105 5E8B lds R_ParLow,0dh; IF frequency of 254kHz,
627 00108+ 0106 580C lds R_ParHigh,0;
628 00109+ 0107 C1EE call F_WRCC2500_ABYTE;
00110+ ;======================================
00111+ ;Addr 0x0C FSCTRL0.
631 00112+ 0108 580B lds R_ParLow,0; Resolution is FXTAL/214 (1.5kHz-1.7kHz); range is ±186kHz to
00113+ ;±217kHz, dependent of XTAL frequency.
633 00114+ 0109 580C lds R_ParHigh,0;
634 00115+ 010A C1EE call F_WRCC2500_ABYTE;
00116+ ;======================================
00117+ ;Addr 0x0D FREQ2.
637 00118+ 010B 5E0B lds R_ParLow,0ch; 2464MHz-2483.4MHz (0-97)
638 00119+ 010C 5A8C lds R_ParHigh,05h;
639 00120+ 010D C1EE call F_WRCC2500_ABYTE;
00121+ ;======================================
00122+ ;Addr 0x0E FREQ1.
642 00123+ 010E 588B lds R_ParLow,01h;
643 00124+ 010F 5D8C lds R_ParHigh,0bh;
644 00125+ 0110 C1EE call F_WRCC2500_ABYTE;
00126+ ;======================================
00127+ ;Addr 0x0F FREQ0.
647 00128+ 0111 5D8B lds R_ParLow,0bh;
648 00129+ 0112 598C lds R_ParHigh,03h;
649 00130+ 0113 C1EE call F_WRCC2500_ABYTE;
00131+ ;======================================
00132+ ;Addr 0x10 MDMCFG4.
652 00133+ 0114 5E8B lds R_ParLow,0dh;
653 00134+ 0115 590C lds R_ParHigh,02h;
654 00135+ 0116 C1EE call F_WRCC2500_ABYTE; 203kHz channel filter bandwidth,
00136+ ;======================================
00137+ ;Addr 0x11 MDMCFG3.
657 00138+ 0117 5D8B lds R_ParLow,0bh;
658 00139+ 0118 598C lds R_ParHigh,03h;
659 00140+ 0119 C1EE call F_WRCC2500_ABYTE; data rate of 115.051kbps.
00141+ ;======================================
00142+ ;Addr 0x12 MDMCFG2.
662 00143+ 011A 590B lds R_ParLow,02h;
663 00144+ 011B 5B8C lds R_ParHigh,07h;
664 00145+ 011C C1EE call F_WRCC2500_ABYTE; 2-FSK/disable Manchester encoding/decoding/16/16 sync word bits detected.
00146+ ;======================================
00147+ ;Addr 0x13 MDMCFG1.
667 00148+ 011D 598B lds R_ParLow,03h;
668 00149+ 011E 590C lds R_ParHigh,02h;
669 00150+ 011F C1EE call F_WRCC2500_ABYTE; disable Forward Error Correction (FEC)/
00151+ ;======================================
00152+ ;Addr 0x14 MDMCFG0.
672 00153+ 0120 5F8B lds R_ParLow,0fh;
673 00154+ 0121 5F8C lds R_ParHigh,0fh;
674 00155+ 0122 C1EE call F_WRCC2500_ABYTE; give 199.951kHz channel spacing.
00156+ ;======================================
00157+ ;Addr 0x15 DEVIATN.
677 00158+ 0123 588B lds R_ParLow,01h;
678 00159+ 0124 580C lds R_ParHigh,0;
679 00160+ 0125 C1EE call F_WRCC2500_ABYTE; give ±47.607kHz deviation,
00161+ ;======================================
00162+ ;Addr 0x16 MCSM2.
682 00163+ 0126 5B8B lds R_ParLow,07h;
683 00164+ 0127 580C lds R_ParHigh,0;
684 00165+ 0128 C1EE call F_WRCC2500_ABYTE;
00166+ ;======================================
00167+ ;Addr 0x17 MCSM1.
687 00168+ 0129 580B lds R_ParLow,0;
688 00169+ 012A 598C lds R_ParHigh,3;
689 00170+ 012B C1EE call F_WRCC2500_ABYTE;
00171+ ;======================================
00172+ ;Addr 0x18 MCSM0.
692 00173+ 012C 5C0B lds R_ParLow,8; When going from IDLE to RX or TX (or FSTXON)
693 00174+ 012D 588C lds R_ParHigh,1; Approx. 146μs – 171μs
694 00175+ 012E C1EE call F_WRCC2500_ABYTE;
00176+ ;======================================
00177+ ;Addr 0x19 FOCCFG.
697 00178+ 012F 5F0B lds R_ParLow,0eh; Frequency offset compensation configuration.
698 00179+ 0130 588C lds R_ParHigh,1;
699 00180+ 0131 C1EE call F_WRCC2500_ABYTE;
00181+ ;======================================
00182+ ;Addr 0x1A BSCFG.
702 00183+ 0132 5E0B lds R_ParLow,0ch; Bit Synchronization configuration.
703 00184+ 0133 5B0C lds R_ParHigh,6;
704 00185+ 0134 C1EE call F_WRCC2500_ABYTE;
00186+ ;======================================
00187+ ;Addr 0x1B AGCTRL2.
707 00188+ 0135 598B lds R_ParLow,3; AGC control register.
708 00189+ 0136 5E0C lds R_ParHigh,0ch;
709 00190+ 0137 C1EE call F_WRCC2500_ABYTE;
00191+ ;======================================
00192+ ;Addr 0x1C AGCTRL1.
712 00193+ 0138 580B lds R_ParLow,0; AGC control register.
713 00194+ 0139 5A0C lds R_ParHigh,4;
714 00195+ 013A C1EE call F_WRCC2500_ABYTE;
00196+ ;======================================
00197+ ;Addr 0x1D AGCTRL0.
717 00198+ 013B 588B lds R_ParLow,1; AGC control register.
718 00199+ 013C 5C8C lds R_ParHigh,9;
719 00200+ 013D C1EE call F_WRCC2500_ABYTE;
00201+ ;======================================
00202+ ;Addr 0x1E WOREVT1.
722 00203+ 013E 5B8B lds R_ParLow,7; High byte of Event 0 timeout register.
723 00204+ 013F 5C0C lds R_ParHigh,8;
724 00205+ 0140 C1EE call F_WRCC2500_ABYTE;
00206+ ;======================================
00207+ ;Addr 0x1F WOREVT0.
727 00208+ 0141 5D8B lds R_ParLow,0bh; Low byte of Event 0 timeout register.
728 00209+ 0142 5B0C lds R_ParHigh,6;
729 00210+ 0143 C1EE call F_WRCC2500_ABYTE;
00211+ ;======================================
00212+ ;Addr 0x20 WORCTRL.
732 00213+ 0144 5D8B lds R_ParLow,0bh;
733 00214+ 0145 5F8C lds R_ParHigh,0fh;
734 00215+ 0146 C1EE call F_WRCC2500_ABYTE;
00216+ ;======================================
00217+ ;Addr 0x21 FREND1.
737 00218+ 0147 5B0B lds R_ParLow,06h; Front end RX configuration.
738 00219+ 0148 5D8C lds R_ParHigh,0bh;
739 00220+ 0149 C1EE call F_WRCC2500_ABYTE;
00221+ ;======================================
00222+ ;Addr 0x22 FREND0.
742 00223+ 014A 580B lds R_ParLow,0;
743 00224+ 014B 588C lds R_ParHigh,1;
744 00225+ 014C C1EE call F_WRCC2500_ABYTE;
00226+ ;======================================
00227+ ;Addr 0x23 FSCAL3.
747 00228+ 014D 5D0B lds R_ParLow,0ah; Frequency synthesizer calibration configuration and result register.
748 00229+ 014E 5F0C lds R_ParHigh,0eh;
749 00230+ 014F C1EE call F_WRCC2500_ABYTE;
00231+ ;======================================
00232+ ;Addr 0x24 FSCAL2.
752 00233+ 0150 5D0B lds R_ParLow,0ah;
753 00234+ 0151 580C lds R_ParHigh,0;
754 00235+ 0152 C1EE call F_WRCC2500_ABYTE;
00236+ ;======================================
00237+ ;Addr 0x25 FSCAL1.
757 00238+ 0153 580B lds R_ParLow,0;
758 00239+ 0154 580C lds R_ParHigh,0;
759 00240+ 0155 C1EE call F_WRCC2500_ABYTE;
00241+ ;======================================
00242+ ;Addr 0x26 FSCAL0.
762 00243+ 0156 588B lds R_ParLow,1;
763 00244+ 0157 588C lds R_ParHigh,1;
764 00245+ 0158 C1EE call F_WRCC2500_ABYTE;
00246+ ;======================================
00247+ ;Addr 0x27 RCCTRL1.
767 00248+ 0159 588B lds R_ParLow,01h;
768 00249+ 015A 5A0C lds R_ParHigh,04h;
769 00250+ 015B C1EE call F_WRCC2500_ABYTE;
00251+ ;======================================
00252+ ;Addr 0x28 RCCTRL0.
772 00253+ 015C 580B lds R_ParLow,0;
773 00254+ 015D 580C lds R_ParHigh,0;
774 00255+ 015E C1EE call F_WRCC2500_ABYTE;
00256+ ;======================================
00257+ ;Addr 0x29 FSTEST.
777 00258+ 015F 5C8B lds R_ParLow,9;
778 00259+ 0160 5A8C lds R_ParHigh,5;
779 00260+ 0161 C1EE call F_WRCC2500_ABYTE;
00261+ ;======================================
00262+ ;Addr 0x2A PTEST.
782 00263+ 0162 5F8B lds R_ParLow,0fh;
783 00264+ 0163 5B8C lds R_ParHigh,07h;
784 00265+ 0164 C1EE call F_WRCC2500_ABYTE;
00266+ ;======================================
00267+ ;Addr 0x2B AGCTEST.
787 00268+ 0165 5F8B lds R_ParLow,0fh;
788 00269+ 0166 598C lds R_ParHigh,03h;
789 00270+ 0167 C1EE call F_WRCC2500_ABYTE;
00271+ ;======================================
00272+ ;Addr 0x2C TEST2.
792 00273+ 0168 5F8B lds R_ParLow,0fh;
793 00274+ 0169 5C0C lds R_ParHigh,8;
794 00275+ 016A C1EE call F_WRCC2500_ABYTE;
00276+ ;======================================
00277+ ;Addr 0x2D TEST1.
797 00278+ 016B 588B lds R_ParLow,1;
798 00279+ 016C 590C lds R_ParHigh,2;
799 00280+ 016D C1EE call F_WRCC2500_ABYTE;
00281+ ;======================================
00282+ ;Addr 0x2E TETS0.
802 00283+ 016E 5D8B lds R_ParLow,0bh;
803 00284+ 016F 580C lds R_ParHigh,0;
804 00285+ 0170 C1EE call F_WRCC2500_ABYTE;
0286+
806 00287+ 0171 3F4A ori* R_PortA,D_CSn; CSn pin ouput high pulse.
807 00288+ 0172 0A7A opa R_PortA;
0289+
809 00290+ 0173 5908 lds R_Delay,2;
810 00291+ 0174 C1A3 call F_DelxxUS;
811 00292+ 0175 3BBA andi* R_PortA,D_NCSn;
812 00293+ 0176 0A7A opa R_PortA;
00294+ L_WaitSOLow03:
814 00295+ 0177 4471 ipb R_WrkReg1; waiting for the SO pin of cc2500 get low.
815 00296+ 0178 9977 jb3 L_WaitSOLow03;
0297+
817 00298+ 0179 C1B6 call F_WRCC2500Bit; 设置发射功率。
818 00299+ 017A 5F0B lds R_ParLow,0eh;
819 00300+ 017B 5B8C lds R_ParHigh,07h;
820 00301+ 017C C1D0 call F_WRCC2500_REG_Addr; 地址3EH为功率控制寄存器。
0302+
822 00303+ 017D 5F8B lds R_ParLow,0fh; PATABLE byte0.
823 00304+ 017E 5F8C lds R_ParHigh,0fh;
824 00305+ 017F C1EE call F_WRCC2500_ABYTE
0306+
826 00307+ 0180 5F8B lds R_ParLow,0fh; PATABLE byte1.
827 00308+ 0181 5F8C lds R_ParHigh,0fh;
828 00309+ 0182 C1EE call F_WRCC2500_ABYTE
0310+
830 00311+ 0183 5F8B lds R_ParLow,0fh; PATABLE byte2.
831 00312+ 0184 5F8C lds R_ParHigh,0fh;
832 00313+ 0185 C1EE call F_WRCC2500_ABYTE
0314+
834 00315+ 0186 5F8B lds R_ParLow,0fh; PATABLE byte3.
835 00316+ 0187 5F8C lds R_ParHigh,0fh;
836 00317+ 0188 C1EE call F_WRCC2500_ABYTE
0318+
838 00319+ 0189 5F8B lds R_ParLow,0fh; PATABLE byte4.
839 00320+ 018A 5F8C lds R_ParHigh,0fh;
840 00321+ 018B C1EE call F_WRCC2500_ABYTE
0322+
842 00323+ 018C 5F8B lds R_ParLow,0fh; PATABLE byte5.
843 00324+ 018D 5F8C lds R_ParHigh,0fh;
844 00325+ 018E C1EE call F_WRCC2500_ABYTE
0326+
846 00327+ 018F 5F8B lds R_ParLow,0fh; PATABLE byte6.
847 00328+ 0190 5F8C lds R_ParHigh,0fh;
848 00329+ 0191 C1EE call F_WRCC2500_ABYTE
0330+
850 00331+ 0192 5F8B lds R_ParLow,0fh; PATABLE byte7.
851 00332+ 0193 5F8C lds R_ParHigh,0fh;
852 00333+ 0194 C1EE call F_WRCC2500_ABYTE
0334+
854 00335+ 0195 3F4A ori* R_PortA,D_CSn; CSn pin ouput low->high pulse.
855 00336+ 0196 0A7A opa R_PortA;
0337+
0338+
858 00339+ 0197 5D8B lds R_ParLow,CMD_CC2500_SFTX%16;
859 00340+ 0198 598C lds R_ParHigh,CMD_CC2500_SFTX/16;
860 00341+ 0199 C1AB call F_CC2500WRStrobe;
0342+
862 00343+ 019A 5D0B lds R_ParLow,CMD_CC2500_SFRX%16;
863 00344+ 019B 598C lds R_ParHigh,CMD_CC2500_SFRX/16;
864 00345+ 019C C1AB call F_CC2500WRStrobe;
0346+
0347+
867 00348+ 019D 598B lds R_ParLow,CMD_CC2500_SCAL%16;
868 00349+ 019E 598C lds R_ParHigh,CMD_CC2500_SCAL/16;
869 00350+ 019F C1AB call F_CC2500WRStrobe;
0351+
871 00352+ 01A0 5908 lds R_Delay,2;
872 00353+ 01A1 C1A3 call F_DelxxUS;
873 00354+ 01A2 F400 rts;
00355+ ;*********************************************************************
00356+ ;F: Function Name: F_DelxxUs.
00357+ ;F: Input:
00358+ ;F: R_Delay.
00359+ ;F:
00360+ ;F:
00361+ ;*********************************************************************
00362+ F_DelxxUS:
882 00363+ 01A3 0000 nop;
883 00364+ 01A4 0000 nop;
884 00365+ 01A5 0000 nop;
885 00366+ 01A6 0000 nop;
886 00367+ 01A7 0000 nop;
887 00368+ 01A8 4108 dec* R_Delay;
888 00369+ 01A9 A1A3 jnz F_DelxxUS;
889 00370+ 01AA F400 rts;
00371+ ;*********************************************************************
00372+ ;F: Function Name: F_CC2500WRStrobe.
00373+ ;F: Input:
00374+ ;F: R_ParLow,R_ParHigh.
00375+ ;F: Output:
00376+ ;F: None:
00377+ ;F:
00378+ ;**********************************************************************
00379+ F_CC2500WRStrobe:
899 00380+ 01AB 3BBA andi* R_PortA,D_NCSn;
900 00381+ 01AC 0A7A opa R_PortA;
00382+ L_WaitSOLO00:
902 00383+ 01AD 4471 ipb R_WrkReg1;
903 00384+ 01AE 99AD jb3 L_WaitSOLO00;
0385+
905 00386+ 01AF C1B6 call F_WRCC2500Bit;
906 00387+ 01B0 C1D0 call F_WRCC2500_REG_Addr;
0388+
908 00389+ 01B1 5D08 lds R_Delay,10;
909 00390+ 01B2 C1A3 call F_DelxxUS;
910 00391+ 01B3 3F4A ori* R_PortA,D_CSn;
911 00392+ 01B4 0A7A opa R_PortA;
912 00393+ 01B5 F400 rts;
00394+ ;***********************************************************************
00395+ ;F: Function Name: F_WRCC2500Bit.
00396+ ;F:
00397+ ;F: 送出一位写信号位。
00398+ ;F:
00399+ ;F:
00400+ ;************************************************************************
00401+ F_WRCC2500Bit:
921 00402+ 01B6 3BEA andi* R_PortA,D_NSI;
922 00403+ 01B7 0A7A opa R_PortA;
0404+
924 00405+ 01B8 0000 nop;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -