📄 nrf24l01.lst
字号:
860 0052 0F00 R mov a,high TX_to_P3_ADDR_Table
861 0053 009F mov TBHP,a
862 0054 0F30 mov a,30h
863 0055 00B6 MOV SBDR,a
864 0056 2800 R jmp $6
865 0057 ;----------------------------------
866 0057 $4:
867 0057 3800 E snz TX_ADDRESS_Select.4
868 0058 2800 R jmp $6
869 0059
870 0059 0F00 R mov a,low TX_to_P4_ADDR_Table
871 005A 0087 mov TBLP,a
872 005B 0F00 R mov a,high TX_to_P4_ADDR_Table
873 005C 009F mov TBHP,a
874 005D 0F30 mov a,30h
875 005E 00B6 MOV SBDR,a
876 005F 2800 R jmp $6
877 0060 ;----------------------------------
878 0060 $5:
879 0060 3800 E snz TX_ADDRESS_Select.5
880 0061 0003 ret
881 0062
882 0062 0F00 R mov a,low TX_to_P5_ADDR_Table
883 0063 0087 mov TBLP,a
"File: NRF24L01.ASM Holtek Cross-Assembler Version 2.86 Page 16
884 0064 0F00 R mov a,high TX_to_P5_ADDR_Table
885 0065 009F mov TBHP,a
886 0066 0F30 mov a,30h
887 0067 00B6 MOV SBDR,a
888 0068 2800 R jmp $6
889 0069 ;----------------------------------
890 0069 ;------ Write adress value --------
891 0069 $6:
892 0069 3835 snz TRF
893 006A 2800 R jmp $6
894 006B 3435 CLR TRF
895 006C
896 006C ADDR_loop_TX:
897 006C 1D00 E TABRDC table_data
898 006D KMOV SBDR,table_data
899 006F $7:
900 006F 3835 snz TRF
901 0070 2800 R jmp $7
902 0071 1487 inc TBLP
903 0072 3435 CLR TRF
904 0073 1780 E SDZ temp_num
905 0074 2800 R jmp ADDR_loop_TX
906 0075
907 0075 3535 clr CSEN ;End SPI operation
908 0076 3635 clr SBEN ;SPI Disable
909 0077
910 0077 0003 ret
911 0078
912 0078 ;==========================================================
913 0078
914 0078 nRF_RX_ADDR_WRITE:
915 0078 KMOV temp_num,Address_Size ;For P0 P1 Address loop 5 times
916 007A
917 007A 2000 R call SPI_EN
918 007B
919 007B 3800 E snz RX_ADDRESS_Select.0
920 007C 2800 R jmp $1
921 007D
922 007D 3400 E clr RX_ADDRESS_Select.0
923 007E 0F00 R mov a,low RX_P0_ADDR_Table
924 007F 0087 mov TBLP,a
925 0080 0F00 R mov a,high RX_P0_ADDR_Table
926 0081 009F mov TBHP,a
927 0082 0F2A mov a,02Ah
928 0083 00B6 MOV SBDR,a
929 0084 2800 R jmp $6
930 0085 ;----------------------------------
931 0085 $1:
932 0085 3800 E snz RX_ADDRESS_Select.1
933 0086 2800 R jmp $2
934 0087
935 0087 3400 E clr RX_ADDRESS_Select.1
936 0088 0F00 R mov a,low RX_P1_ADDR_Table
937 0089 0087 mov TBLP,a
938 008A 0F00 R mov a,high RX_P1_ADDR_Table
939 008B 009F mov TBHP,a
940 008C 0F2B mov a,02Bh
941 008D 00B6 MOV SBDR,a
942 008E 2800 R jmp $6
943 008F ;----------------------------------
"File: NRF24L01.ASM Holtek Cross-Assembler Version 2.86 Page 17
944 008F $2:
945 008F 3800 E snz RX_ADDRESS_Select.2
946 0090 2800 R jmp $3
947 0091
948 0091 3400 E clr RX_ADDRESS_Select.2
949 0092 KMOV temp_num,01h
950 0094 0F00 R mov a,low RX_P2_ADDR_Table
951 0095 0087 mov TBLP,a
952 0096 0F00 R mov a,high RX_P2_ADDR_Table
953 0097 009F mov TBHP,a
954 0098 0F2C mov a,02Ch
955 0099 00B6 MOV SBDR,a
956 009A 2800 R jmp $6
957 009B ;----------------------------------
958 009B $3:
959 009B 3800 E snz RX_ADDRESS_Select.3
960 009C 2800 R jmp $4
961 009D
962 009D 3400 E clr RX_ADDRESS_Select.3
963 009E KMOV temp_num,01h
964 00A0 0F00 R mov a,low RX_P3_ADDR_Table
965 00A1 0087 mov TBLP,a
966 00A2 0F00 R mov a,high RX_P3_ADDR_Table
967 00A3 009F mov TBHP,a
968 00A4 0F2D mov a,2Dh
969 00A5 00B6 MOV SBDR,a
970 00A6 2800 R jmp $6
971 00A7 ;----------------------------------
972 00A7 $4:
973 00A7 3800 E snz RX_ADDRESS_Select.4
974 00A8 2800 R jmp $5
975 00A9
976 00A9 3400 E clr RX_ADDRESS_Select.4
977 00AA KMOV temp_num,01h
978 00AC 0F00 R mov a,low RX_P4_ADDR_Table
979 00AD 0087 mov TBLP,a
980 00AE 0F00 R mov a,high RX_P4_ADDR_Table
981 00AF 009F mov TBHP,a
982 00B0 0F2E mov a,2Eh
983 00B1 00B6 MOV SBDR,a
984 00B2 2800 R jmp $6
985 00B3 ;----------------------------------
986 00B3 $5:
987 00B3 3800 E snz RX_ADDRESS_Select.5
988 00B4 0003 ret
989 00B5
990 00B5 3400 E clr RX_ADDRESS_Select.5
991 00B6 KMOV temp_num,01h
992 00B8 0F00 R mov a,low RX_P5_ADDR_Table
993 00B9 0087 mov TBLP,a
994 00BA 0F00 R mov a,high RX_P5_ADDR_Table
995 00BB 009F mov TBHP,a
996 00BC 0F2F mov a,2Fh
997 00BD 00B6 MOV SBDR,a
998 00BE 2800 R jmp $6
999 00BF
1000 00BF ;----------------------------------
1001 00BF ;------ Write adress value --------
1002 00BF $6:
1003 00BF 3835 snz TRF
"File: NRF24L01.ASM Holtek Cross-Assembler Version 2.86 Page 18
1004 00C0 2800 R jmp $6
1005 00C1 3435 CLR TRF
1006 00C2
1007 00C2 ADDR_loop_RX:
1008 00C2 1D00 E TABRDC table_data
1009 00C3 KMOV SBDR,table_data
1010 00C5 $7:
1011 00C5 3835 snz TRF
1012 00C6 2800 R jmp $7
1013 00C7 1487 inc TBLP
1014 00C8 3435 CLR TRF
1015 00C9 1780 E SDZ temp_num
1016 00CA 2800 R jmp ADDR_loop_RX
1017 00CB
1018 00CB 3535 clr CSEN ;End SPI operation
1019 00CC 3635 clr SBEN ;SPI Disable
1020 00CD
1021 00CD 0003 ret
1022 00CE
1023 00CE
1024 00CE ;***************************************************************
1025 00CE ; nRF24L01 TX/RX address read.
1026 00CE ; 1.How to use:
1027 00CE ; a.set RX_ADDRESS_Select.BitNum
1028 00CE ; b.call nRF_RX_ADDR_READ
1029 00CE ; c.clr RX_ADDRESS_Select.BitNum
1030 00CE ;
1031 00CE ;***************************************************************
1032 00CE
1033 00CE nRF_RX_ADDR_READ:
1034 00CE kmov temp_num,Address_Size
1035 00D0
1036 00D0 2000 R call SPI_EN
1037 00D1
1038 00D1 kmov mp1,(OFFSET nRF_ADDR_value)
1039 00D3 3800 E snz RX_ADDRESS_Select.0 ;RX_ADDR_P0(0AH)
1040 00D4 2800 R jmp $1
1041 00D5
1042 00D5 3400 E clr RX_ADDRESS_Select.0
1043 00D6 0F0A mov a,0Ah
1044 00D7 00B6 MOV SBDR,a
1045 00D8 2800 R jmp $7
1046 00D9 ;----------------------------------
1047 00D9 $1:
1048 00D9 3800 E snz RX_ADDRESS_Select.1 ;RX_ADDR_P1(0BH)
1049 00DA 2800 R jmp $2
1050 00DB
1051 00DB 3400 E clr RX_ADDRESS_Select.1
1052 00DC 0F0B mov a,0BH
1053 00DD 00B6 MOV SBDR,a
1054 00DE 2800 R jmp $7
1055 00DF ;----------------------------------
1056 00DF $2:
1057 00DF 3800 E snz RX_ADDRESS_Select.2 ;RX_ADDR_P2(0CH)
1058 00E0 2800 R jmp $3
1059 00E1
1060 00E1 3400 E clr RX_ADDRESS_Select.2
1061 00E2 0F0C mov a,0CH
1062 00E3 00B6 MOV SBDR,a
1063 00E4 kmov temp_num,01h
"File: NRF24L01.ASM Holtek Cross-Assembler Version 2.86 Page 19
1064 00E6 2800 R jmp $7
1065 00E7 ;----------------------------------
1066 00E7 $3:
1067 00E7 3800 E snz RX_ADDRESS_Select.3 ;RX_ADDR_P3(0DH)
1068 00E8 2800 R jmp $4
1069 00E9
1070 00E9 3400 E clr RX_ADDRESS_Select.3
1071 00EA 0F0D mov a,0DH
1072 00EB 00B6 MOV SBDR,a
1073 00EC kmov temp_num,01h
1074 00EE 2800 R jmp $7
1075 00EF ;----------------------------------
1076 00EF $4:
1077 00EF 3800 E snz RX_ADDRESS_Select.4 ;RX_ADDR_P4(0EH)
1078 00F0 2800 R jmp $5
1079 00F1
1080 00F1 3400 E clr RX_ADDRESS_Select.4
1081 00F2 0F0E mov a,0EH
1082 00F3 00B6 MOV SBDR,a
1083 00F4 kmov temp_num,01h
1084 00F6 2800 R jmp $7
1085 00F7 ;----------------------------------
1086 00F7 $5:
1087 00F7 3800 E snz RX_ADDRESS_Select.5 ;RX_ADDR_P5(0FH)
1088 00F8 2800 R jmp $6
1089 00F9
1090 00F9 3400 E clr RX_ADDRESS_Select.5
1091 00FA 0F0F mov a,0FH
1092 00FB 00B6 MOV SBDR,a
1093 00FC kmov temp_num,01h
1094 00FE 2800 R jmp $7
1095 00FF ;----------------------------------
1096 00FF $6:
1097 00FF 3800 E snz RX_ADDRESS_Select.6 ;TX_ADDR(10H)
1098 0100 0003 ret
1099 0101
1100 0101 3400 E clr RX_ADDRESS_Select.6
1101 0102 0F10 mov a,10H
1102 0103 00B6 MOV SBDR,a
1103 0104 2800 R jmp $7
1104 0105 ;----------------------------------
1105 0105 ;------ Read adress value --------
1106 0105 $7:
1107 0105 3835 snz TRF
1108 0106 2800 R jmp $7
1109 0107
1110 0107 kmov RX_FIFO_Status,SBDR
1111 0109 3435 CLR TRF
1112 010A
1113 010A read_addr_loop:
1114 010A
1115 010A KMOV SBDR,R1
1116 010C $8:
1117 010C 3835 snz TRF
1118 010D 2800 R jmp $8
1119 010E KMOV R1,SBDR
1120 0110 1483 inc MP1
1121 0111 3435 CLR TRF
1122 0112 1780 E SDZ temp_num
1123 0113 2800 R jmp read_addr_loop
"File: NRF24L01.ASM Holtek Cross-Assembler Version 2.86 Page 20
1124 0114
1125 0114 3535 clr CSEN ;End SPI operation
1126 0115 3635 clr SBEN ;SPI Disable
1127 0116 0003 ret
1128 0117
1129 0117
1130 0117 ;*****************************************************************
1131 0117 ; switch MCU sys from 12MHz to 16MHz beside USB clock
1132 0117 ;*****************************************************************
1133 0117 MCU_16M:
1134 0117 0722 mov a,UCC
1135 0118 0D20 or a,020h
1136 0119 00A2 mov UCC,a
1137 011A 0003 ret
1138 011B
1139 011B
1140 011B Public TX_RX_Switch
1141 011B Public RX_mode_set
1142 011B Public nRF_TX_Transmit
1143 011B Public nRF_RX_Receive
1144 011B Public nRF_initial
1145 011B Public nRF_int
1146 011B Public MCU_16M
0 Errors
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -