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

📄 t.src

📁 通过51解码38khz的红外遥控器信号
💻 SRC
📖 第 1 页 / 共 2 页
字号:
; unsigned char Flag=0;
; //=====================================================================//
; 
; //====================主程序======================//
; main()

	RSEG  ?PR?main?T
main:
	USING	0
			; SOURCE LINE # 22
; {
			; SOURCE LINE # 23
;  TMOD=0x21;     
			; SOURCE LINE # 24
	MOV  	TMOD,#021H
;  TH1=0xE8;      //波特率1200时,定时器/计数器T1自动重装初值 
			; SOURCE LINE # 25
	MOV  	TH1,#0E8H
;  TL1=0xE8; 
			; SOURCE LINE # 26
	MOV  	TL1,#0E8H
;  PCON=0x00;     //SMOD为0不倍增模式 
			; SOURCE LINE # 27
	CLR  	A
	MOV  	PCON,A
;  SCON=0xc0;     //串行口设置为模式3,//
			; SOURCE LINE # 28
	MOV  	SCON,#0C0H
;  //REN=1;       //允许接收 
;  //ES=0;          //串行口允许中断 
; EA=1;
			; SOURCE LINE # 31
	SETB 	EA
; IT1=1;
			; SOURCE LINE # 32
	SETB 	IT1
; IT0=1; //键盘中断
			; SOURCE LINE # 33
	SETB 	IT0
; EX0=1;EX1=1;
			; SOURCE LINE # 34
	SETB 	EX0
	SETB 	EX1
; Initialize();
			; SOURCE LINE # 35
	LCALL	Initialize
; ClearScr(0,0,8,128);
			; SOURCE LINE # 36
	MOV  	R0,#LOW (?_ClearScr?BYTE+03H)
	MOV  	A,#080H
	MOVX 	@R0,A
	MOV  	R3,#08H
	CLR  	A
	MOV  	R5,A
	MOV  	R7,A
	LCALL	_ClearScr
; DisplayListChar(0,0,Tip,0);
			; SOURCE LINE # 37
	MOV  	R3,#0FFH
	MOV  	R2,#HIGH (Tip)
	MOV  	R1,#LOW (Tip)
	CLR  	A
	MOV  	R0,#LOW (?_DisplayListChar?BYTE+05H)
	MOVX 	@R0,A
	MOV  	R5,A
	MOV  	R7,A
	LCALL	_DisplayListChar
; DisplayPic(1,1,2,16,wu,1);DisplayPic(1,17,2,16,zhi,1);DisplayPic(1,33,2,16,bin,1);//汉字测试
			; SOURCE LINE # 38
	MOV  	R0,#LOW (?_DisplayPic?BYTE+03H)
	MOV  	A,#010H
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#0FFH
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#HIGH (wu)
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#LOW (wu)
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#01H
	MOVX 	@R0,A
	MOV  	R3,#02H
	MOV  	R5,A
	MOV  	R7,A
	LCALL	_DisplayPic
	MOV  	R0,#LOW (?_DisplayPic?BYTE+03H)
	MOV  	A,#010H
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#0FFH
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#HIGH (zhi)
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#LOW (zhi)
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#01H
	MOVX 	@R0,A
	MOV  	R3,#02H
	MOV  	R5,#011H
	MOV  	R7,A
	LCALL	_DisplayPic
	MOV  	R0,#LOW (?_DisplayPic?BYTE+03H)
	MOV  	A,#010H
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#0FFH
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#HIGH (bin)
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#LOW (bin)
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#01H
	MOVX 	@R0,A
	MOV  	R3,#02H
	MOV  	R5,#021H
	MOV  	R7,A
	LCALL	_DisplayPic
; DisplayPic(3,1,2,16,hzk[0],1);DisplayPic(3,17,2,16,hzk[1],1);DisplayPic(3,33,2,16,hzk[2],1);//汉字测试
			; SOURCE LINE # 39
	MOV  	R0,#LOW (?_DisplayPic?BYTE+03H)
	MOV  	A,#010H
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#0FFH
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#HIGH (hzk)
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#LOW (hzk)
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#01H
	MOVX 	@R0,A
	MOV  	R3,#02H
	MOV  	R5,A
	MOV  	R7,#03H
	LCALL	_DisplayPic
	MOV  	R0,#LOW (?_DisplayPic?BYTE+03H)
	MOV  	A,#010H
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#0FFH
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#HIGH (hzk+020H)
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#LOW (hzk+020H)
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#01H
	MOVX 	@R0,A
	MOV  	R3,#02H
	MOV  	R5,#011H
	MOV  	R7,#03H
	LCALL	_DisplayPic
	MOV  	R0,#LOW (?_DisplayPic?BYTE+03H)
	MOV  	A,#010H
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#0FFH
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#HIGH (hzk+040H)
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#LOW (hzk+040H)
	MOVX 	@R0,A
	INC  	R0
	MOV  	A,#01H
	MOVX 	@R0,A
	MOV  	R3,#02H
	MOV  	R5,#021H
	MOV  	R7,#03H
	LCALL	_DisplayPic
; Delay(200);
			; SOURCE LINE # 40
	MOV  	R7,#0C8H
	MOV  	R6,#00H
	LCALL	_Delay
?C0001:
; while(1)
			; SOURCE LINE # 41
; {if (key2==0){Delay(2000);while(key2==0);Flag=3;}
			; SOURCE LINE # 42
	JB   	key2,?C0003
	MOV  	R7,#0D0H
	MOV  	R6,#07H
	LCALL	_Delay
?C0004:
	JNB  	key2,?C0004
?C0005:
	MOV  	R0,#LOW (Flag)
	MOV  	A,#03H
	MOVX 	@R0,A
?C0003:
; switch (Flag)
			; SOURCE LINE # 43
	MOV  	R0,#LOW (Flag)
	MOVX 	A,@R0
	ADD  	A,#0FEH
	JZ   	?C0008
	DEC  	A
	JZ   	?C0009
	ADD  	A,#02H
	JNZ  	?C0001
; {case 1:LED=0;ClearScr(0,0,8,128);DisplayListChar(0,0,Rec,0);
			; SOURCE LINE # 44
?C0007:
	CLR  	LED
	MOV  	R0,#LOW (?_ClearScr?BYTE+03H)
	MOV  	A,#080H
	MOVX 	@R0,A
	MOV  	R3,#08H
	CLR  	A
	MOV  	R5,A
	MOV  	R7,A
	LCALL	_ClearScr
	MOV  	R3,#0FFH
	MOV  	R2,#HIGH (Rec)
	MOV  	R1,#LOW (Rec)
	CLR  	A
	MOV  	R0,#LOW (?_DisplayListChar?BYTE+05H)
	MOVX 	@R0,A
	MOV  	R5,A
	MOV  	R7,A
	LCALL	_DisplayListChar
;         ReadCode();LED2=0;DisplayListChar(0,0,End,0);Flag=0;break;
			; SOURCE LINE # 45
	LCALL	ReadCode
	CLR  	LED2
	MOV  	R3,#0FFH
	MOV  	R2,#HIGH (End?)
	MOV  	R1,#LOW (End?)
	CLR  	A
	MOV  	R0,#LOW (?_DisplayListChar?BYTE+05H)
	MOVX 	@R0,A
	MOV  	R5,A
	MOV  	R7,A
	LCALL	_DisplayListChar
	SJMP 	?C0051
;  case 2:ClearScr(0,0,8,128);DisplayUART();Flag=0;break;
			; SOURCE LINE # 46
?C0008:
	MOV  	R0,#LOW (?_ClearScr?BYTE+03H)
	MOV  	A,#080H
	MOVX 	@R0,A
	MOV  	R3,#08H
	CLR  	A
	MOV  	R5,A
	MOV  	R7,A
	LCALL	_ClearScr
	LCALL	DisplayUART
?C0051:
	CLR  	A
	MOV  	R0,#LOW (Flag)
	MOVX 	@R0,A
	SJMP 	?C0001
;  case 3:ClearScr(0,0,8,128);DisplayListChar(0,0,Cod,0);ChangCode();Flag=0;break;
			; SOURCE LINE # 47
?C0009:
	MOV  	R0,#LOW (?_ClearScr?BYTE+03H)
	MOV  	A,#080H
	MOVX 	@R0,A
	MOV  	R3,#08H
	CLR  	A
	MOV  	R5,A
	MOV  	R7,A
	LCALL	_ClearScr
	MOV  	R3,#0FFH
	MOV  	R2,#HIGH (Cod)
	MOV  	R1,#LOW (Cod)
	CLR  	A
	MOV  	R0,#LOW (?_DisplayListChar?BYTE+05H)
	MOVX 	@R0,A
	MOV  	R5,A
	MOV  	R7,A
	LCALL	_DisplayListChar
	LCALL	ChangCode
	CLR  	A
	MOV  	R0,#LOW (Flag)
	MOVX 	@R0,A
	LJMP 	?C0001
; END OF main

CSEG	AT	00013H
	LJMP	Key_1

; }
; }
; }
; //=============================================================================//
; void Key_1() interrupt 2

	RSEG  ?PR?Key_1?T
	USING	0
Key_1:
	PUSH 	ACC
	PUSH 	B
	PUSH 	DPH
	PUSH 	DPL
	PUSH 	PSW
	MOV  	PSW,#00H
	PUSH 	AR0
	PUSH 	AR1
	PUSH 	AR2
	PUSH 	AR3
	PUSH 	AR4
	PUSH 	AR5
	PUSH 	AR6
	PUSH 	AR7
	USING	0
			; SOURCE LINE # 52
; {
; Delay(2000);
			; SOURCE LINE # 54
	MOV  	R7,#0D0H
	MOV  	R6,#07H
	LCALL	_Delay
?C0011:
; while(key1==0);
			; SOURCE LINE # 55
	JNB  	key1,?C0011
?C0012:
; Flag=1;__asm RETI
			; SOURCE LINE # 56
	MOV  	R0,#LOW (Flag)
	MOV  	A,#01H
	MOVX 	@R0,A
	 RETI
; }
			; SOURCE LINE # 57
	POP  	AR7
	POP  	AR6
	POP  	AR5
	POP  	AR4
	POP  	AR3
	POP  	AR2
	POP  	AR1
	POP  	AR0
	POP  	PSW
	POP  	DPL
	POP  	DPH
	POP  	B
	POP  	ACC
	RETI 	
; END OF Key_1

CSEG	AT	00003H
	LJMP	Key_0

; //==============================================================================//
; 
; //KEY0确认键处理子程序==============================================================//
; void Key_0() interrupt 0

	RSEG  ?PR?Key_0?T
	USING	0
Key_0:
	PUSH 	ACC
	PUSH 	B
	PUSH 	DPH
	PUSH 	DPL
	PUSH 	PSW
	MOV  	PSW,#00H
	PUSH 	AR0
	PUSH 	AR1
	PUSH 	AR2
	PUSH 	AR3
	PUSH 	AR4
	PUSH 	AR5
	PUSH 	AR6
	PUSH 	AR7
	USING	0
			; SOURCE LINE # 61
; {
; Delay(2000);
			; SOURCE LINE # 63
	MOV  	R7,#0D0H
	MOV  	R6,#07H
	LCALL	_Delay
?C0014:
; while(key0==0);
			; SOURCE LINE # 64
	JNB  	key0,?C0014
?C0015:
; Flag=2;
			; SOURCE LINE # 65
	MOV  	R0,#LOW (Flag)
	MOV  	A,#02H
	MOVX 	@R0,A
; }
			; SOURCE LINE # 66
	POP  	AR7
	POP  	AR6
	POP  	AR5
	POP  	AR4
	POP  	AR3
	POP  	AR2
	POP  	AR1
	POP  	AR0
	POP  	PSW
	POP  	DPL
	POP  	DPH
	POP  	B
	POP  	ACC
	RETI 	
; END OF Key_0

CSEG	AT	00023H
	LJMP	Uart

; 
; //UART中断程序
; void Uart() interrupt 4

	RSEG  ?PR?Uart?T
	USING	0
Uart:
	PUSH 	ACC
	PUSH 	PSW
	MOV  	PSW,#00H
	PUSH 	AR0
	USING	0
			; SOURCE LINE # 69
; {RI=0; 
			; SOURCE LINE # 70
	CLR  	RI
; SerialBuf[SerialBufCount]= SBUF;
			; SOURCE LINE # 71
	MOV  	R0,#LOW (SerialBufCount)
	MOVX 	A,@R0
	ADD  	A,#LOW (SerialBuf)
	MOV  	R0,A
	MOV  	A,SBUF
	MOVX 	@R0,A
;  SerialBufCount++;
			; SOURCE LINE # 72
	MOV  	R0,#LOW (SerialBufCount)
	MOVX 	A,@R0
	INC  	A
	MOVX 	@R0,A
; }
			; SOURCE LINE # 73
	POP  	AR0
	POP  	PSW
	POP  	ACC
	RETI 	
; END OF Uart

; //==============================================================================//
; unsigned char DisplayUART()

	RSEG  ?PR?DisplayUART?T
DisplayUART:
	USING	0
			; SOURCE LINE # 75
; {
			; SOURCE LINE # 76
; unsigned char i,x=0,y=0;
			; SOURCE LINE # 77
	CLR  	A
	MOV  	R0,#LOW (x?441)
	MOVX 	@R0,A
	INC  	R0
	MOVX 	@R0,A
; TR1=1;//ES=1;
			; SOURCE LINE # 78
	SETB 	TR1
; for (i=0;i<SerialBufCount;i++)
			; SOURCE LINE # 79
	MOV  	R0,#LOW (i?440)
	MOVX 	@R0,A
?C0018:
	MOV  	R0,#LOW (SerialBufCount)
	MOVX 	A,@R0
	MOV  	R7,A
	MOV  	R0,#LOW (i?440)
	MOVX 	A,@R0
	MOV  	R6,A
	CLR  	C
	SUBB 	A,R7
	JNC  	?C0019
; {
			; SOURCE LINE # 80
; SendData(SerialBuf[i]);
			; SOURCE LINE # 81
	MOV  	A,#LOW (SerialBuf)
	ADD  	A,R6
	MOV  	R0,A
	MOVX 	A,@R0
	MOV  	R7,A
	LCALL	_SendData
; if (y>120)y=0,x++;
			; SOURCE LINE # 82
	MOV  	R0,#LOW (y?442)
	MOVX 	A,@R0
	SETB 	C
	SUBB 	A,#078H
	JC   	?C0021
	CLR  	A
	MOVX 	@R0,A
	DEC  	R0
	MOVX 	A,@R0
	INC  	A
	MOVX 	@R0,A
?C0021:
; if (SerialBufCount>100)return(1);    
			; SOURCE LINE # 83
	MOV  	R0,#LOW (SerialBufCount)
	MOVX 	A,@R0
	SETB 	C
	SUBB 	A,#064H
	JC   	?C0022
	MOV  	R7,#01H
	RET  	
?C0022:
; DisplayListChar(x,y,&Number[SerialBuf[i]],0);y+=14;
			; SOURCE LINE # 84
	MOV  	R0,#LOW (i?440)
	MOVX 	A,@R0
	ADD  	A,#LOW (SerialBuf)
	MOV  	R0,A
	MOVX 	A,@R0
	MOV  	B,#03H
	MUL  	AB
	ADD  	A,#LOW (Number?)
	MOV  	R1,A
	MOV  	A,#HIGH (Number?)
	ADDC 	A,B
	MOV  	R2,A
	MOV  	R3,#0FFH
	MOV  	R0,#LOW (x?441)
	MOVX 	A,@R0
	MOV  	R7,A
	INC  	R0
	MOVX 	A,@R0
	MOV  	R5,A
	CLR  	A
	MOV  	R0,#LOW (?_DisplayListChar?BYTE+05H)
	MOVX 	@R0,A
	LCALL	_DisplayListChar
	MOV  	R0,#LOW (y?442)
	MOVX 	A,@R0
	ADD  	A,#0EH
	MOVX 	@R0,A
; }
			; SOURCE LINE # 85
	MOV  	R0,#LOW (i?440)
	MOVX 	A,@R0
	INC  	A
	MOVX 	@R0,A
	SJMP 	?C0018
?C0019:
; SerialBufCount=0;LED2=1;LED=1;
			; SOURCE LINE # 86
	CLR  	A
	MOV  	R0,#LOW (SerialBufCount)
	MOVX 	@R0,A
	SETB 	LED2
	SETB 	LED
; TR1=0;//ES=0;
			; SOURCE LINE # 87
	CLR  	TR1
; }
			; SOURCE LINE # 88
?C0023:
	RET  	
; END OF DisplayUART

; //---------------------------------------------*/
; void SendData(unsigned char Serial_data)   

	RSEG  ?PR?_SendData?T
_SendData:
			; SOURCE LINE # 90
;---- Variable 'Serial_data?543' assigned to Register 'R7' ----
; { 
			; SOURCE LINE # 91
;       ACC=Serial_data; 
			; SOURCE LINE # 92
	MOV  	A,R7
;       TB8=P;TI=0; 
			; SOURCE LINE # 93
	MOV  	C,P
	MOV  	TB8,C
	CLR  	TI
;       SBUF=Serial_data; 
			; SOURCE LINE # 94
	MOV  	SBUF,A
?C0024:
;       while(!TI); 
			; SOURCE LINE # 95
	JNB  	TI,?C0024
?C0025:
;       TI=0;                            
			; SOURCE LINE # 96
	CLR  	TI
; }
			; SOURCE LINE # 97
	RET  	
; END OF _SendData

; 
; //---------------------------------------------  
; unsigned char ReadCode()

	RSEG  ?PR?ReadCode?T
ReadCode:
	USING	0
			; SOURCE LINE # 100
; {
			; SOURCE LINE # 101
; unsigned char i;
; SerialBufCount=0;
			; SOURCE LINE # 103
	CLR  	A
	MOV  	R0,#LOW (SerialBufCount)
	MOVX 	@R0,A
?C0027:
; while(Inf==1);// 等待信号
			; SOURCE LINE # 104
	JB   	Inf,?C0027
?C0028:
; TH0=0x00;      
			; SOURCE LINE # 105
	CLR  	A
	MOV  	TH0,A
; TL0=0x00;
			; SOURCE LINE # 106
	MOV  	TL0,A
; TR0=1;   // 如果有信号开定时器
			; SOURCE LINE # 107
	SETB 	TR0
; //--------------------------------
; for (i=0;i<100;i++)//读值
			; SOURCE LINE # 109
;---- Variable 'i?644' assigned to Register 'R7' ----
	MOV  	R7,A
?C0029:
; {
			; SOURCE LINE # 110
?C0032:
; while(Inf==0);TR0=0;
			; SOURCE LINE # 111
	JNB  	Inf,?C0032
?C0033:
	CLR  	TR0
; SerialBuf[SerialBufCount]= TH0; 
			; SOURCE LINE # 112
	MOV  	R0,#LOW (SerialBufCount)
	MOVX 	A,@R0
	ADD  	A,#LOW (SerialBuf)
	MOV  	R0,A
	MOV  	A,TH0
	MOVX 	@R0,A
; SerialBufCount++; TH0=0x00;TL0=0x00;TR0=1;
			; SOURCE LINE # 113
	MOV  	R0,#LOW (SerialBufCount)
	MOVX 	A,@R0
	INC  	A
	MOVX 	@R0,A
	CLR  	A
	MOV  	TH0,A
	MOV  	TL0,A
	SETB 	TR0
?C0034:
; 
; while(Inf==1);
			; SOURCE LINE # 115
	JB   	Inf,?C0034
?C0035:
; if (TH0>0x4e) {SerialBufCount--;return 0;}
			; SOURCE LINE # 116
	MOV  	A,TH0
	SETB 	C
	SUBB 	A,#04EH
	JC   	?C0036
	MOV  	R0,#LOW (SerialBufCount)
	MOVX 	A,@R0
	DEC  	A
	MOVX 	@R0,A
	MOV  	R7,#00H
	RET  	
?C0036:
; TR0=0;
			; SOURCE LINE # 117
	CLR  	TR0
; SerialBuf[SerialBufCount]= TH0; 
			; SOURCE LINE # 118
	MOV  	R0,#LOW (SerialBufCount)
	MOVX 	A,@R0
	ADD  	A,#LOW (SerialBuf)
	MOV  	R0,A
	MOV  	A,TH0
	MOVX 	@R0,A
; SerialBufCount++; TH0=0x00;TL0=0x00;TR0=1;
			; SOURCE LINE # 119
	MOV  	R0,#LOW (SerialBufCount)
	MOVX 	A,@R0
	INC  	A
	MOVX 	@R0,A
	CLR  	A
	MOV  	TH0,A
	MOV  	TL0,A
	SETB 	TR0
; }
			; SOURCE LINE # 120
	INC  	R7
	MOV  	A,R7
	CJNE 	A,#064H,?C0029
; }
			; SOURCE LINE # 121
?C0037:
	RET  	
; END OF ReadCode

; 
; //--------------------------------
; void ChangCode()

	RSEG  ?PR?ChangCode?T
ChangCode:
	USING	0
			; SOURCE LINE # 124
; {
			; SOURCE LINE # 125
; unsigned char temp=0,i,k=3,x,Code[4];
			; SOURCE LINE # 126
;---- Variable 'temp?745' assigned to Register 'R7' ----
	CLR  	A
	MOV  	R7,A
;---- Variable 'k?747' assigned to Register 'R6' ----
	MOV  	R6,#03H
; for (x=0;x<4;x++)
			; SOURCE LINE # 127
	MOV  	R0,#LOW (x?748)
	MOVX 	@R0,A
?C0038:
; {
			; SOURCE LINE # 128
;  for (i=0;i<8;i++)
			; SOURCE LINE # 129
	CLR  	A
	MOV  	R0,#LOW (i?746)
	MOVX 	@R0,A
?C0041:
	MOV  	R0,#LOW (i?746)
	MOVX 	A,@R0
	MOV  	R5,A
	CLR  	C
	SUBB 	A,#08H
	JNC  	?C0042
;  {
			; SOURCE LINE # 130
;  temp=temp>>1;
			; SOURCE LINE # 131
	MOV  	A,R7
	CLR  	C
	RRC  	A
	MOV  	R7,A
;  if (SerialBuf[i+k]>0x04){temp=temp|0x80;k++;}
			; SOURCE LINE # 132
	MOV  	A,R5
	ADD  	A,R6
	ADD  	A,#LOW (SerialBuf)
	MOV  	R0,A
	MOVX 	A,@R0
	MOV  	R5,A
	SETB 	C
	SUBB 	A,#04H
	JC   	?C0044
	MOV  	A,R7
	ORL  	A,#080H
	MOV  	R7,A
	INC  	R6
	SJMP 	?C0043
?C0044:
;  else if (SerialBuf[i+k]<0x04){temp=temp&0x7f;k++;}
			; SOURCE LINE # 133
	MOV  	A,R5
	CLR  	C
	SUBB 	A,#04H
	JNC  	?C0043
	MOV  	A,R7
	ANL  	A,#07FH
	MOV  	R7,A
	INC  	R6
;  }
			; SOURCE LINE # 134
?C0043:
	MOV  	R0,#LOW (i?746)
	MOVX 	A,@R0
	INC  	A
	MOVX 	@R0,A
	SJMP 	?C0041
?C0042:
; 
; Code[x]=temp;k=k+8;
			; SOURCE LINE # 136
	MOV  	R0,#LOW (x?748)
	MOVX 	A,@R0
	ADD  	A,#LOW (Code?749)
	MOV  	R0,A
	MOV  	A,R7
	MOVX 	@R0,A
	MOV  	A,#08H
	ADD  	A,R6
	MOV  	R6,A
; }
			; SOURCE LINE # 137
	MOV  	R0,#LOW (x?748)
	MOVX 	A,@R0
	INC  	A
	MOVX 	@R0,A
	MOVX 	A,@R0
	CJNE 	A,#04H,?C0038
?C0039:
; i=30;
			; SOURCE LINE # 138
	MOV  	R0,#LOW (i?746)
	MOV  	A,#01EH
	MOVX 	@R0,A
; TR1=1;
			; SOURCE LINE # 139
	SETB 	TR1
; for (x=0;x<4;x++)
			; SOURCE LINE # 140
	CLR  	A
	INC  	R0
	MOVX 	@R0,A
?C0047:
	MOV  	R0,#LOW (x?748)
	MOVX 	A,@R0
	MOV  	R7,A
	CLR  	C
	SUBB 	A,#04H
	JNC  	?C0048
; {SendData(Code[x]);DisplayListChar(2,i,&Number[Code[x]],0);i+=14;}
			; SOURCE LINE # 141
	MOV  	A,#LOW (Code?749)
	ADD  	A,R7
	MOV  	R0,A
	MOVX 	A,@R0
	MOV  	R7,A
	LCALL	_SendData
	MOV  	R0,#LOW (x?748)
	MOVX 	A,@R0
	ADD  	A,#LOW (Code?749)
	MOV  	R0,A
	MOVX 	A,@R0
	MOV  	B,#03H
	MUL  	AB
	ADD  	A,#LOW (Number?)
	MOV  	R1,A
	MOV  	A,#HIGH (Number?)
	ADDC 	A,B
	MOV  	R2,A
	MOV  	R3,#0FFH
	MOV  	R0,#LOW (i?746)
	MOVX 	A,@R0
	MOV  	R5,A
	CLR  	A
	MOV  	R0,#LOW (?_DisplayListChar?BYTE+05H)
	MOVX 	@R0,A
	MOV  	R7,#02H
	LCALL	_DisplayListChar
	MOV  	R0,#LOW (i?746)
	MOVX 	A,@R0
	ADD  	A,#0EH
	MOVX 	@R0,A
	INC  	R0
	MOVX 	A,@R0
	INC  	A
	MOVX 	@R0,A
	SJMP 	?C0047
?C0048:
; TR1=0;LED2=1;LED=1;
			; SOURCE LINE # 142
	CLR  	TR1
	SETB 	LED2
	SETB 	LED
; }
			; SOURCE LINE # 143
	RET  	
; END OF ChangCode

	END

⌨️ 快捷键说明

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