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

📄 islamfinaltes.src

📁 remote control ir data transmittion
💻 SRC
字号:
				
											;	12MHz Crystal
											;	p3.2 = strobe
                                 ; 	p3.4 = Data
                                 ; 	P3.3 = Clk
                                 ;	P3.7 = IR
                                 ;	P3.5 = Stop
                                 ;	P3.0 = Vol+
                                 ;	P3.1 = Vol-		
                                 ;	P1.0 = ColA
                                 ;	P1.1 = ColB
                                 ;	P1.2 = ColC
                                 ;	P1.3 = Row1
                                 ;	P1.4 = Row2
                                 ;	P1.5 = Row3
                                 ;	P1.6 = Row4
                                 ;	P1.7 = Row5
 	
           AJMP 0010h				;	0>0110
    
    
        
           	CLR Strobe				;	10>C2B2
           	CLR Clk					;	12>C2B3
           	CLR Data					;	14>C2B4
           	ACALL ClrLeds			;	16>313E
           	ACALL Repeat			;	18>31AC
           	ACALL ScanControls	;	1A>3188
           	ACALL ScanKey			;	1C>11BA
          	AJMP 001Ah				;	1E>011A
    
    
StreamStart:MOV  R0,#FFh			;	40>78FF
            MOV  R1,#12h			;	42>7912
            CLR IR					;	44>C2B7
            DJNZ  R0,0046h			;	46>D8FE
            DJNZ  R1,0046h			;	48>D9FC
            SETB IR					;	4A>D2B7
            MOV  R1,#09h			;	4C>7909
            DJNZ  R0,004Eh			;	4E>D8FE
            DJNZ  R1,004Eh			;	50>D9FC
            ACALL StandBy			;	52>1158
            RET						;	54>22


StandBy   :	MOV  R0,#FFh			;	58>78FF
          	MOV  R1,#33h			;	5A>7933
           	CLR IR					;	5C>C2B7
           	DJNZ  R1,005Eh			;	5E>D9FE
           	DJNZ  R0,0060h			;	60>D8FE
           	SETB IR					;	62>D2B7
           	RET						;	64>22


SendByte  :	MOV  R2,#08h			;	68>7A08
           	JB ACC.0, 0073h		;	6A>20E006
           	MOV  R0,#FFh			;	6D>78FF
           	DJNZ  R0,006Fh			;	6F>D8FE
           	AJMP 007Bh				;	71>017B
           	MOV  R0,#FFh			;	73>78FF
           	MOV  R1,#03h			;	75>7903
           	DJNZ  R0,0077h			;	77>D8FE
           	DJNZ  R1,0077h			;	79>D9FC
           	ACALL StandBy			;	7B>1158
           	RR A						;	7D>03
           	DJNZ  R2,006Ah			;	7E>DAEA
           	RET						;	80>22


KeySend   :	ACALL StreamStart		;	84>1140
           	MOV  A,#14h				;	86>7414
           	ACALL SendByte			;	88>1168
           	MOV  A,#EBh				;	8A>74EB
           	ACALL SendByte			;	8C>1168
           	MOV  A,R6				;	8E>EE
           	NOP						;	8F>00
           	ACALL SendByte			;	90>1168
           	MOV  A,R6				;	92>EE
           	CPL A						;	93>F4
           	ACALL SendByte			;	94>1168
           	RET						;	96>22


Delay     :	MOV  R0,#20h			;	A0>7820
           	DJNZ  R0,00A2h			;	A2>D8FE
           	RET						;	A4>22
 
0-9KeyValues:Start@ AA
					0	;AA>4D
           		1	;AB>45
           		2	;AC<08
           		3	;AD>09
           		4	;AE>0B
           		5	;AF>48
           		6	;B0>49
           		7	;B1>0D
           		8	;B2>0E
           		9	;B3>0F


ScanKey   :	MOV  A,#00h				;	BA>7400
           	MOV  R4,#FFh			;	BC>7CFF
           	MOV  P1,R4				;	BE>8C90
           	ACALL Delay				;	C0>11A0
           	ACALL CountKey			;	C2>3103
           	JNB P1.3, 00E2h		;	C4>30931B
           	ACALL CountKey			;	C7>3103
           	JNB P1.4, 00E2h		;	C9>309416
           	ACALL CountKey			;	CC>3103
           	JNB P1.5, 00E2h		;	CE>309511
           	ACALL CountKey			;	D1>3103
           	JNB P1.6, 00E2h		;	D3>30960C
           	ACALL CountKey			;	D6>3103
           	JNB P1.7, 00E2h		;	D8>309707
           	DEC R4					;	DB>1C
           	CJNE  R4,#F7h,00BEh	;	DC>BCF7DF
           	MOV  R7,#00h			;	DF>7F00
           	RET						;	E1>22
           	CJNE  R7,#00h,00E9h	;	E2>BF0004
         	ACALL PlayTrack		;	E5>3110
      	   MOV  R7,#0Fh			;	E7>7F0F
        	   RET						;	E9>22


LightLed  : ACALL ClrLeds			;	EE>313E
            ACALL SetPosition		;	F0>3159
           	SETB Strobe				;	F2>D2B2
           	NOP						;	F4>00
           	CLR Strobe				;	F5>C2B2
          	RET						;	F7>22


CountKey  :	INC A						;	103>04
           	DA A						;	104>D4
           	RET						;	105>22


PlayTrack :	MOV  R4,A				;	110>FC
          	 ANL A,#F0				;	111>54F0
           	SWAP A					;	113>C4
           	JZ 011Fh					;	114>6009
           	MOV  R5,A				;	116>FD
           	MOV  R6,#10h			;	117>7E10
           	ACALL KeySend			;	119>1184
           	ACALL BigDelay			;	11B>314B
           	DJNZ  R5,0119h			;	11D>DDFA
           	MOV  A,R4				;	11F>EC
           	ANL A,#0F				;	120>540F
           	MOV DPTR,#00AA  		;	122>9000AA
           	MOVC A,@A+DPTR			;	125>93
           	MOV  R6,A				;	126>FE
           	ACALL KeySend			;	127>1184
           	ACALL BigDelay			;	129>314B
           	ACALL LightLed			;	12B>11EE
           	NOP						;	12D>00
           	NOP						;	12E>00
           	NOP						;	12F>00
           	RET						;	130>22


KeySpace  :	MOV  R0,#FFh			;	132>78FF
           	MOV  R1,#24h			;	134>7924
           	DJNZ  R0,0136h			;	136>D8FE
           	DJNZ  R1,0136h			;	138>D9FC
           	RET						;	13A>22


ClrLeds   :	MOV  R0,#28h			;	13E>7828
           	SETB Clk					;	140>D2B3
           	NOP						;	142>00
           	CLR Clk					;	143>C2B3
           	DJNZ  R0,0140h			;	145>D8F9
           	RET						;	147>22


BigDelay  :	MOV  R0,#FFh			;	14B>78FF
           	MOV  R1,#FFh			;	14D>79FF
           	MOV  R2,#08h			;	14F>7A08
           	DJNZ  R0,0151h			;	151>D8FE
           	DJNZ  R1,0151h			;	153>D9FC
           	DJNZ  R2,0151h			;	155>DAFA
           	RET						;	157>22


SetPosition:MOV  A,R4				;	159>EC
           	ANL A,#F0				;	15A>54F0
           	SWAP A					;	15C>C4
           	JZ 0173h					;	15D>6014
           	MOV  R5,A				;	15F>FD
           	MOV  R0,#0Ah			;	160>780A
           	SETB Data				;	162>D2B4
           	SETB Clk					;	164>D2B3
           	CLR Data					;	166>C2B4
           	CLR Clk					;	168>C2B3
           	DJNZ  R0,0164h			;	16A>D8F8
           	DJNZ  R5,0160h			;	16C>DDF2
	         MOV  A,R4				;	173>EC
   	      ANL A,#0F				;	174>540F
      	   JZ 0183h					;	176>600B
         	SETB Data				;	178>D2B4
          	SETB Clk					;	17A>D2B3
           	CLR Data					;	17C>C2B4
           	CLR Clk					;	17E>C2B3
           	DEC A						;	180>14
           	JNZ 017Ah				;	181>70F7
           	RET						;	183>22


ScanControls:JB Stop, 0193h		;	188>20B508
           	MOV  R6,#17h			;	18B>7E17
          	ACALL KeySend			;	18D>1184
           	ACALL ClrLeds			;	18F>313E
          	RET						;	192>22
           	JB Vol+, 019Eh			;	193>20B008
           	MOV  R6,#5Ch			;	196>7E5C
           	ACALL KeySend			;	198>1184
           	JNB Vol+, 019Ah		;	19A>30B0FD
           	RET						;	19D>22
           	JB Vol-, 01A8h			;	19E>20B107
           	MOV  R6,#1Eh			;	1A1>7E1E
           	ACALL KeySend			;	1A3>1184
           	JNB Vol-, 01A5h		;	1A5>30B1FD
           	RET						;	1A8>22


Repeat    :	MOV  R7,#0Fh			;	1AC>7F0F
           	ACALL BigDelay			;	1AE>314B
           	DJNZ  R7,01AEh			;	1B0>DFFC
           	MOV  R6,#15h			;	1B2>7E15
           	ACALL KeySend			;	1B4>1184
           	RET						;	1B6>22
   

⌨️ 快捷键说明

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