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

📄 radio.l

📁 接收红外遥控,控制2314
💻 L
📖 第 1 页 / 共 5 页
字号:
 1136         00 FD      VFD_TRON_KEY		EQU	0FDH
 1137         00 FD      VFD_TROFF_KEY		EQU	0FDH
 1138         00 FD      VFD_SLEEP_KEY		EQU	0FDH
 1139                    
 1140                    
 1141                    
 1142         00 FD      IR_POWER_KEY		EQU	0FDH
 1143                    ;EQ KEY
 1144         00 FD      IR_JAZZ_KEY		EQU	0FDH
 1145         00 FD      IR_FLAT_KEY		EQU	0FDH
 1146         00 FD      IR_CLASSIC_KEY		EQU	0FDH
 1147         00 FD      IR_ROCK_KEY		EQU	0FDH
 1148         00 FD      IR_CHANGE_EQ_KEY	EQU	0FDH
 1149                    
 1150                    ;FUNCTION KEY
 1151         00 FD      IR_VCD_KEY		EQU	0FDH
 1152         00 FD      IR_TAPE_KEY		EQU	0FDH
 1153         00 FD      IR_AUX_KEY		EQU	0FDH
 1154         00 FD      IR_RADIO_KEY		EQU	0FDH
 1155         00 FD      IR_CHANGE_FUN_KEY	EQU	0FDH
 1156                    
 1157                    ;VOLUME KEY	
 1158         00 FD      IR_VOL_INC_KEY		EQU	0FDH
 1159         00 FD      IR_VOL_DEC_KEY		EQU	0FDH
 1160         00 FD      IR_MUTE_KEY		EQU	0FDH
 1161                    
 1162                    ;TIME KEY
 1163         00 FD      IR_TRON_ON_KEY		EQU	0FDH
 1164         00 FD      IR_TROFF_ON_KEY	EQU	0FDH
 1165         00 FD      IR_SLEEP_ON_KEY	EQU	0FDH
 1166         00 FD      IR_TRON_KEY		EQU	0FDH
 1167         00 FD      IR_TROFF_KEY		EQU	0FDH
 1168         00 FD      IR_SLEEP_KEY		EQU	0FDH
 1169         00 FD      IR_TRTIME_KEY		EQU	0FDH
 1170         00 FD      IR_TRTIME_ON_KEY		EQU	0FDH
 1171                    
 1172                    ;VCD KEY
 1173         00 FD      IR_MEM_NEXT_KEY	EQU	0FDH
 1174         00 FD      IR_MEM_PREV_KEY	EQU	0FDH
 1175         00 FD      IR_MEM_KEY		EQU	0FDH
 1176         00 FD      IR_FF_KEY		EQU	0FDH
 1177         00 FD      IR_FB_KEY		EQU	0FDH
 1178         00 FD      IR_REPEAT_KEY		EQU	0FDH
 1179                    
 1180                    
 1181                    ;DIGITAL KEY
 1182         00 FD      IR_0_KEY		EQU	0FDH
 1183         00 FD      IR_1_KEY		EQU	0FDH
 1184         00 FD      IR_2_KEY		EQU	0FDH
 1185         00 FD      IR_3_KEY		EQU	0FDH
 1186         00 FD      IR_4_KEY		EQU	0FDH
 1187         00 FD      IR_5_KEY		EQU	0FDH
 1188         00 FD      IR_6_KEY		EQU	0FDH
 1189         00 FD      IR_7_KEY		EQU	0FDH
 1190         00 FD      IR_8_KEY		EQU	0FDH
 1191         00 FD      IR_9_KEY		EQU	0FDH
 1192         00 FD      IR_10_KEY		EQU	0FDH
 1193                    
 1194                    
 1195                    
 1196                    
 1197  0000              		ORG	0000H
 1198  0000   00 02      		VECTOR	00H,INIT_9498
 1199  0002              INIT_9498:
 1200                    		
 1201  0002   66 E7 01   		TCM     P1INT,#01H	     ;判断是否是外部中断0
 1202  0005   6D 00 15   		JP	Z,I_INT0		;外部中断0
 1203  0008   66 E7 02                   TCM     P1INT,#02H	             ;判断是否是外部中断1
 1204  000B   6D 00 87   		JP	Z,I_INT1		;执行外部中断1
 1205  000E   66 D0 01                   TCM     TCCON,#01H
 1206  0011   6D 02 A8   		JP	Z,TIMER1_INIT		;时间溢出中断C
 1207  0014   BF         		IRET
 1208                    ;****************************************************************
 1209                    ;			外部中断0
 1210                    ;****************************************************************
 1211  0015              I_INT0:
 1212  0015   B0 09      		CLR             time_delay
 1213  0017   B0 0A      		CLR             time_delay1
 1214         <01>       		IS_STATE_FIRST_9M
 1215  0019   66 00 01   		TCM			STATE_ALL,#01H
 1216         <01>       					.ENDM
 1217  001C   6D 00 40   		JP		Z,state_first
 1218         <01>       		IS_STATE_SECN_2M
 1219  001F   66 00 02   		TCM			STATE_ALL,#02H
 1220         <01>       					.ENDM
 1221  0022   6D 00 58   		JP		Z,state_third
 1222         <01>       		SET_FIRST_9M
 1223  0025   46 00 01   		OR			STATE_ALL,#00000001B
 1224         <01>       					.ENDM
 1225  0028   8D 00 81   		jp             ex_int_ret
 1226                    
 1227  003C              		ORG 003CH
 1228  003C   FF         		DB 0FFH
 1229  003D   FF         		DB 0FFH ; 
 1230  003E   C7         		DB 0C7H ;
 1231  003F   FE                         DB 0FEH ; 
 1232                                    
 1233                    		
 1234  0040              state_first:
 1235  0040   A6 03 55   		CP		time_count,#55H
 1236  0043   BD 00 7B   		JP		UGT,error_return
 1237  0046   A6 03 32   		CP		time_count,#32H
 1238  0049   7D 00 7B   		JP		ULT,error_return
 1239         <01>       		SET_SECN_2M
 1240  004C   46 00 02   		OR			STATE_ALL,#00000010B
 1241         <01>       					.ENDM
 1242         <01>       		CLR_FIRST_9M
 1243  004F   56 00 FE   		AND			STATE_ALL,#11111110B
 1244         <01>       					.ENDM
 1245  0052   E6 04 20   		LD		remote_bit_count,#20H
 1246  0055   8D 00 81   		jp             ex_int_ret
 1247  0058              state_third:
 1248  0058   A6 03 12   		CP		time_count,#12H
 1249  005B   BD 00 7B   		JP		UGT,error_return
 1250  005E   A6 03 02   		CP		time_count,#02H
 1251  0061   7D 00 7B   		JP		ULT,error_return
 1252  0064   26 03 08   		SUB		time_count,#08H
 1253  0067   C0 05      		rrc             remote_cmd_code1
 1254  0069   C0 06      		rrc             remote_cmd_code0
 1255  006B   C0 07      		rrc             remote_sys_code1
 1256  006D   C0 08      		rrc             remote_sys_code0
 1257  006F   26 04 01   		SUB		remote_bit_count,#01H
 1258  0072   6D 00 78   		JP		Z,set_ok
 1259  0075   8D 00 81   		jp             ex_int_ret
 1260  0078              set_ok:
 1261         <01>       		SET_DATA_OK
 1262  0078   46 00 04   		OR			STATE_ALL,#00000100B
 1263         <01>       					.ENDM
 1264                    		;set		remote_key_is_down
 1265  007B              error_return:
 1266         <01>       		CLR_SECN_2M
 1267  007B   56 00 FD   		AND			STATE_ALL,#11111101B
 1268         <01>       					.ENDM
 1269         <01>       		SET_FIRST_9M
 1270  007E   46 00 01   		OR			STATE_ALL,#00000001B
 1271         <01>       					.ENDM
 1272  0081              ex_int_ret:
 1273  0081   B0 03      		CLR             time_count
 1274  0083   56 E7 FE   		AND	P1INT,#11111110B
 1275  0086   BF         		IRET
 1276                    ;****************************************************
 1277                    ;---------------ext int end----------------
 1278                    ;****************************************************
 1279                    
 1280                    
 1281                    
 1282                    
 1283                    ;****************************************************************
 1284                    ;			外部中断1
 1285                    ;****************************************************************
 1286  0087              I_INT1:
 1287                    
 1288                    ;****************************************************
 1289  0087              t1_int:
 1290         <01>       		VCD_CS_IS_HIGH
 1291  0087   66 E3 08   			TCM	P3,#08H
 1292         <01>       			.ENDM
 1293  008A   6D 00 DA   		JP		z,err_ret
 1294         <01>       		INT2_START_IS_HIGH
 1295  008D   66 00 10   		TCM			STATE_ALL,#00010000B
 1296         <01>       			.ENDM
 1297  0090   6D 00 C8   		JP		Z,int_val
 1298  0093   E0 0B      		RR		pulse_data0
 1299  0095   46 0B 80   		OR		pulse_data0,#80H
 1300         <01>       		VCD_DATA_IS_HIGH
 1301  0098   66 E3 10   			TCM	P3,#10H
 1302         <01>       			.ENDM
 1303  009B   8D 00 A1   		JP		no_clr_pulse0
 1304  009E   56 0B 7F   		AND		pulse_data0,#7FH
 1305  00A1              no_clr_pulse0:
 1306  00A1   26 0D 01   		SUB		pulse_count,#1H
 1307  00A4   ED 00 DF   		JP		NE,int1_ret
 1308  00A7              int1_data_ok:
 1309  00A7   A6 0B FF   		CP		pulse_data0,#0FFH
 1310  00AA   ED 00 B2   		JP		NE,mov_val_to_vcd_ram
 1311  00AD              clr_pulse_addr:
 1312  00AD   B0 0C      		CLR		pulse_addr		;pulse_addr val reset ffh
 1313  00AF   8D 00 DF   		JP		int1_ret
 1314  00B2              mov_val_to_vcd_ram:
 1315  00B2   A6 0C 15   		CP		pulse_addr,#15H
 1316  00B5   BD 00 DF   		JP		UGT,int1_ret
 1317  00B8   FC 69      		LD		R15,#VCD_SHOW_BYTE_ADDR
 1318  00BA   04 0C CF   		ADD		R15,pulse_addr
 1319  00BD   F5 0B CF   		LD		@R15,pulse_data0
 1320  00C0   20 0C      		INC		pulse_addr
 1321         <01>       		SET_INT2_START
 1322  00C2   46 00 10   		OR			STATE_ALL,#00010000B
 1323         <01>       			.ENDM
 1324  00C5   8D 00 DF   		JP		int1_ret
 1325  00C8              int_val:
 1326                    		;CLR		pulse_data0
 1327  00C8   46 0B 80   		OR		pulse_data0,#80H
 1328         <01>       		INT2_START_IS_HIGH
 1329  00CB   66 00 10   		TCM			STATE_ALL,#00010000B
 1330         <01>       			.ENDM
 1331  00CE   6D 00 D4   		JP		Z,no_clr_pulse07
 1332  00D1   56 0B 7F   		AND		pulse_data0,#7FH
 1333  00D4              no_clr_pulse07:
 1334  00D4   E6 0D 07   		LD		pulse_count,#07H
 1335  00D7   8D 00 DF   		jp		int1_ret
 1336  00DA              err_ret:
 1337         <01>       		SET_INT2_START
 1338  00DA   46 00 10   		OR			STATE_ALL,#00010000B
 1339         <01>       			.ENDM
 1340  00DD   B0 0D      		CLR		pulse_count
 1341                    		;clr		pulse_data0
 1342                    		;jp		int1_ret	
 1343  00DF              int1_ret:
 1344                    
 1345  00DF   56 E7 FD   		AND	P1INT,#11111101B
 1346  00E2   BF         		IRET
 1347                    ;****************************************************************
 1348                    
 1349                    
 1350  0100              		ORG	0100H
 1351  0100              RESET:
 1352  0100   8F         		DI
 1353  0101   E6 DC A3   		LD 	BTCON,#10100011b 	; Disable Watch-dog
 1354  0104   E6 D9 C0   		LD	SP,#0C0H
 1355  0107   E6 D8 02   		LD      TCNTSEL,#02H
 1356  010A   E6 D4 18                   LD      CLKCON,#00011000B
 1357  010D   E6 D0 2E                   LD      TCCON,#00101110B        ;fxx/8
 1358  0110   E6 D2 C8                   LD      TCDATA,#0c8H		;8/8=1US 1*200=200US
 1359  0113   F6 02 EE   		CALL	IO_INIT
 1360  0116   0C A0      		LD	R0,#0A0H
 1361  0118              CLR_RAM:
 1362  0118   00 C0      		DEC	R0
 1363  011A   B1 C0      		CLR	@R0
 1364  011C   A6 C0 00   		CP	R0,#00H
 1365  011F   ED 01 18   		JP	NE,CLR_RAM
 1366  0122   9F         		EI
 1367         <01>       		SET_POWER
 1368  0123   46 E0 02   		OR	P0,#00000010B
 1369         <01>       		.ENDM
 1370  0126   E6 82 0A   		LD	ACC_SEN_VAL,#0AH
 1371  0129   F6 05 61   		CALL	VFD_WriteLed
 1372                    		
 1373  012C   E6 82 12   		LD	ACC_SEN_VAL,#012H
 1374  012F   F6 06 5E   		CALL	REMOTE_DELAY_200uS
 1375  0132   F6 04 4F   		call	VFD_INIT
 1376                    		;CALL	VFD_Refresh_Byte
 1377  0135   F6 10 E5   		call	CLR_VFD_RAM
 1378                    		
 1379                    
 1380  0138              MAIN:	
 1381                    		
 1382                    
 1383                    	;*********************************************************
 1384                    	;		invalid	when current_key is 0ffh
 1385                    	;*********************************************************
 1386  0138   E6 82 14                   LD	ACC_SEN_VAL,#CHAR_K
 1387  013B   B0 81      		CLR	VAL_VFD_ADDR
 1388  013D   F6 05 DF   		CALL	VFD_SHOW_CHAR
 1389         <01>       		CLR_KEY_VALID
 1390  0140   56 00 DF   		AND			STATE_ALL,#11011111B
 1391         <01>       			.ENDM
 1392                    		;LD	PREVIOUS_KEY,Current_Key
 1393                    		;call	GET_REMOTE_KEY
 1394                    		;CP	Current_Key,#0FFH
 1395                    		;JP	NE,remote_key_valid
 1396  0143   F6 04 9D   		call	VFD_Read_K	;high 7 is 1
 1397  0146   A6 7F FF   		CP	Current_Key,#0FFH
 1398  0149   ED 01 52   		JP	NE,remote_key_valid
 1399         <01>       		CLR_KEY_VALID
 1400  014C   56 00 DF   		AND			STATE_ALL,#11011111B
 1401         <01>       			.ENDM
 1402  014F   8D 01 55   		jp	vfd_key_invalid
 1403  0152              remote_key_valid:
 1404         <01>       		SET_KEY_VALID
 1405  0152   46 00 20   		OR			STATE_ALL,#00100000B
 1406         <01>       			.ENDM
 1407  0155              vfd_key_invalid:
 1408                    ;@@@@@@@@@@@@@@@@@@@@@@@@@TEST VFD KEY @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 1409         <01>       		KEY_VALID_IS_LOW
 1410  0155   76 00 20   		TM			STATE_ALL,#00100000B
 1411         <01>       			.ENDM
 1412  0158   6D 02 A2   		JP	Z,last_even
 1413  015B   E4 7F 82   		LD	ACC_SEN_VAL,Current_Key
 1414  015E   E6 2A 02   		LD	VFD_SHOW_DATA_ADDR,#02H
 1415  0161   F6 11 59   		CALL	VFD_SHOW_DATA
 1416  0164   8D 02 A2   		JP	last_even
 1417                    
 1418                                  ;  jp      MAIN
 1419                    ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 1420                    
 1421  0167   F6 09 EA   		CALL	SAME_VFD_KEY_TO_IR_KEY
 1422  016A   F6 0E 0F   		CALL	TURN_ON_OFF

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -