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

📄 t1main.src

📁 基于FPGA 的直接数字频率合成信号发生器(DDS)设计
💻 SRC
📖 第 1 页 / 共 3 页
字号:
?C0052:
;  if(sta_num[7]==1)
			; SOURCE LINE # 205
	MOV  	A,sta_num+07H
	CJNE 	A,#01H,?C0053
; 				f2=!f2;             
			; SOURCE LINE # 206
	MOV  	A,f2+01H
	ORL  	A,f2
	JNZ  	?C0054
	MOV  	R7,#01H
	SJMP 	?C0055
?C0054:
	MOV  	R7,#00H
?C0055:
	MOV  	f2,#00H
	MOV  	f2+01H,R7
?C0053:
; 			if(sta_num[7]==2)
			; SOURCE LINE # 207
	MOV  	A,sta_num+07H
	CJNE 	A,#02H,?C0056
; 				h2=!h2;              
			; SOURCE LINE # 208
	MOV  	A,h2+01H
	ORL  	A,h2
	JNZ  	?C0057
	MOV  	R7,#01H
	SJMP 	?C0058
?C0057:
	MOV  	R7,#00H
?C0058:
	MOV  	h2,#00H
	MOV  	h2+01H,R7
?C0056:
; 			if(sta_num[7]==3)
			; SOURCE LINE # 209
	MOV  	A,sta_num+07H
	XRL  	A,#03H
	JZ   	$ + 5H
	LJMP 	?C0083
;              {
			; SOURCE LINE # 210
; 		         if(sta_num[2]>15)
			; SOURCE LINE # 211
	MOV  	A,sta_num+02H
	SETB 	C
	SUBB 	A,#0FH
	JC   	?C0060
;                    sta_num[2]=0;
			; SOURCE LINE # 212
	CLR  	A
	MOV  	sta_num+02H,A
	RET  	
?C0060:
;                  else
; 		           sta_num[2]++;
			; SOURCE LINE # 214
	INC  	sta_num+02H
;                }		
			; SOURCE LINE # 215
;               break;
			; SOURCE LINE # 216
	RET  	
; 			  case Right_KEYCODE:
			; SOURCE LINE # 217
?C0062:
;  if(sta_num[7]==1)
			; SOURCE LINE # 218
	MOV  	A,sta_num+07H
	CJNE 	A,#01H,?C0063
; 				f1=!f1;             
			; SOURCE LINE # 219
	MOV  	A,f1+01H
	ORL  	A,f1
	JNZ  	?C0064
	MOV  	R7,#01H
	SJMP 	?C0065
?C0064:
	MOV  	R7,#00H
?C0065:
	MOV  	f1,#00H
	MOV  	f1+01H,R7
?C0063:
; 			if(sta_num[7]==2)
			; SOURCE LINE # 220
	MOV  	A,sta_num+07H
	CJNE 	A,#02H,?C0066
; 				h1=!h1;              
			; SOURCE LINE # 221
	MOV  	A,h1+01H
	ORL  	A,h1
	JNZ  	?C0067
	MOV  	R7,#01H
	SJMP 	?C0068
?C0067:
	MOV  	R7,#00H
?C0068:
	MOV  	h1,#00H
	MOV  	h1+01H,R7
?C0066:
; 			if(sta_num[7]==3)
			; SOURCE LINE # 222
	MOV  	A,sta_num+07H
	XRL  	A,#03H
	JNZ  	?C0083
;              {
			; SOURCE LINE # 223
; 		         if(sta_num[1]>15)
			; SOURCE LINE # 224
	MOV  	A,sta_num+01H
	SETB 	C
	SUBB 	A,#0FH
	JC   	?C0070
;                    sta_num[1]=0;
			; SOURCE LINE # 225
	CLR  	A
	MOV  	sta_num+01H,A
	RET  	
?C0070:
;                  else
; 		           sta_num[1]++;
			; SOURCE LINE # 227
	INC  	sta_num+01H
;                }
			; SOURCE LINE # 228
; break;		
			; SOURCE LINE # 229
	RET  	
; 			   case Left_KEYCODE:
			; SOURCE LINE # 230
?C0072:
;   if(sta_num[7]==1)
			; SOURCE LINE # 231
	MOV  	A,sta_num+07H
	CJNE 	A,#01H,?C0073
; 				f0=!f0;             
			; SOURCE LINE # 232
	MOV  	A,f0+01H
	ORL  	A,f0
	JNZ  	?C0074
	MOV  	R7,#01H
	SJMP 	?C0075
?C0074:
	MOV  	R7,#00H
?C0075:
	MOV  	f0,#00H
	MOV  	f0+01H,R7
?C0073:
; 			if(sta_num[7]==2)
			; SOURCE LINE # 233
	MOV  	A,sta_num+07H
	CJNE 	A,#02H,?C0076
; 				h0=!h0;              
			; SOURCE LINE # 234
	MOV  	A,h0+01H
	ORL  	A,h0
	JNZ  	?C0077
	MOV  	R7,#01H
	SJMP 	?C0078
?C0077:
	MOV  	R7,#00H
?C0078:
	MOV  	h0,#00H
	MOV  	h0+01H,R7
?C0076:
; 			if(sta_num[7]==3)
			; SOURCE LINE # 235
	MOV  	A,sta_num+07H
	CJNE 	A,#03H,?C0083
;              {
			; SOURCE LINE # 236
; 		         if(sta_num[0]>15)
			; SOURCE LINE # 237
	MOV  	A,sta_num
	SETB 	C
	SUBB 	A,#0FH
	JC   	?C0080
;                    sta_num[0]=0;
			; SOURCE LINE # 238
	CLR  	A
	MOV  	sta_num,A
	RET  	
?C0080:
;                  else
; 		           sta_num[0]++;
			; SOURCE LINE # 240
	INC  	sta_num
;                }
			; SOURCE LINE # 241
; break;		
			; SOURCE LINE # 242
;          default:
			; SOURCE LINE # 243
;               break;    
			; SOURCE LINE # 244
;      }
			; SOURCE LINE # 245
; }
			; SOURCE LINE # 246
?C0083:
	RET  	
; END OF KeyProc

; 
; //-------------------------------------------------------------------------------------------
; void UpdateDisplay(void)

	RSEG  ?PR?UpdateDisplay?T1MAIN
UpdateDisplay:
	USING	0
			; SOURCE LINE # 249
; {
			; SOURCE LINE # 250
; 	int i;
;                
;  	GoOutAllLED();
			; SOURCE LINE # 253
	LCALL	GoOutAllLED
; 	SetupHideBit(0xFF, 0);
			; SOURCE LINE # 254
	CLR  	A
	MOV  	R5,A
	MOV  	R7,#0FFH
	LCALL	_SetupHideBit
; 	SetupFlashBit(0xFF, 0);
			; SOURCE LINE # 255
	CLR  	A
	MOV  	R5,A
	MOV  	R7,#0FFH
	LCALL	_SetupFlashBit
; 
; 	//SetupFlashBit(7, 1);
; 	switch(DisStatus)
			; SOURCE LINE # 258
	MOV  	R0,#LOW (DisStatus)
	MOV  	A,@R0
	JZ   	?C0089
	DEC  	A
	JNZ  	?C0084
; 	{
			; SOURCE LINE # 259
; 	            case TestData1_DS:
			; SOURCE LINE # 260
?C0085:
; 		for(i=0;i<8;i++)
			; SOURCE LINE # 261
	CLR  	A
	MOV  	i?941,A
	MOV  	i?941+01H,A
?C0086:
; 			SetupDisBuffer(7-i, 0, Fre[i], 1);
			; SOURCE LINE # 262
	MOV  	R2,i?941+01H
	MOV  	A,R2
	ADD  	A,ACC
	ADD  	A,ACC
	ADD  	A,#LOW (Fre)
	MOV  	R0,A
	LCALL	?C?LLDIDATA
	MOV  	R3,AR7
	CLR  	C
	MOV  	A,#07H
	SUBB 	A,R2
	MOV  	R7,A
	MOV  	?_SetupDisBuffer?BYTE+03H,#01H
	CLR  	A
	MOV  	R5,A
	LCALL	_SetupDisBuffer
	INC  	i?941+01H
	MOV  	A,i?941+01H
	JNZ  	?C0105
	INC  	i?941
?C0105:
	CLR  	C
	SUBB 	A,#08H
	MOV  	A,i?941
	XRL  	A,#080H
	SUBB 	A,#080H
	JC   	?C0086
	SJMP 	?C0084
; 
; 		/*	SetupFlashBit(7,f0);
; 			SetupHideBit(7,h0);
; 		
; 			SetupFlashBit(6,f1);
; 			SetupHideBit(6,h1);
; 		
; 			SetupFlashBit(5,f2);
; 			SetupHideBit(5,h2);
; 	      
; 			SetupFlashBit(4,f3);
; 			SetupHideBit(4,h3);
; 	       
;             SetupFlashBit(3,f4);
; 			SetupHideBit(3,h4);
; 	       
; 			SetupFlashBit(2,f5);
; 			SetupHideBit(2,h5);
; 			
;             SetupFlashBit(1,f6);
; 			SetupHideBit(1,h6);
; 	      */
; 			
; 	        break;
			; SOURCE LINE # 286
; 	case Working_DS:
			; SOURCE LINE # 287
?C0089:
; 	        SetupDisBuffer(7, 0, ol, 1);
			; SOURCE LINE # 288
	MOV  	?_SetupDisBuffer?BYTE+03H,#01H
	MOV  	R3,ol
	CLR  	A
	MOV  	R5,A
	MOV  	R7,#07H
	LCALL	_SetupDisBuffer
; 	SetupDisBuffer(0, 0,lo, 1);
			; SOURCE LINE # 289
	MOV  	?_SetupDisBuffer?BYTE+03H,#01H
	MOV  	R3,lo
	CLR  	A
	MOV  	R5,A
	MOV  	R7,A
	LCALL	_SetupDisBuffer
;            
; 	        break;
			; SOURCE LINE # 291
; 	case TestData2_DS:
			; SOURCE LINE # 292
; 	        //SetupDisBuffer(0, 0, 2, 0);
; 	        break;
			; SOURCE LINE # 294
; 	case Debug_DS:
			; SOURCE LINE # 295
; 	        //SetupDisBuffer(0, 0, 3, 0);
; 	        break;
			; SOURCE LINE # 297
; 	default:
			; SOURCE LINE # 298
; 	        //SetupDisBuffer(0, 0, 4, 0);
; 		break;
			; SOURCE LINE # 300
; 	}
			; SOURCE LINE # 301
?C0084:
; 
;   	Display();
			; SOURCE LINE # 303
	LJMP 	Display
; }
			; SOURCE LINE # 304
; END OF UpdateDisplay

; //-------------------------------------------------------------------------------------  					
; //系统初始化函数
; void Sys_Init(void)

	RSEG  ?PR?Sys_Init?T1MAIN
Sys_Init:
	USING	0
			; SOURCE LINE # 307
; {
			; SOURCE LINE # 308
; 	unsigned int i;
; 
; 	EA=0;
			; SOURCE LINE # 311
	CLR  	EA
; 	IE=0x00;                   /* inhibit all interrupt */
			; SOURCE LINE # 312
	CLR  	A
	MOV  	IE,A
; 	IP=0x00;                  		    
			; SOURCE LINE # 313
	MOV  	IP,A
; 	TCON=0x00;
			; SOURCE LINE # 314
	MOV  	TCON,A
; 	SCON=0x00;
			; SOURCE LINE # 315
	MOV  	SCON,A
; 
; 	//定时计数器0初始
; 	TMOD = 0x0D;                //Timer 0 is used for Counter,
			; SOURCE LINE # 318
	MOV  	TMOD,#0DH
; 	TCON = 0x00;	             //Mode  01 (16bit),C/T=1(Counter),Gate=1	
			; SOURCE LINE # 319
	MOV  	TCON,A
; 	TH0 = 0x00;
			; SOURCE LINE # 320
	MOV  	TH0,A
; 	TL0 = 0x00;
			; SOURCE LINE # 321
	MOV  	TL0,A
; 	TR0 = 1;
			; SOURCE LINE # 322
	SETB 	TR0
; 	ET0 = 1;//计数器0中断允许位,1 允许中断
			; SOURCE LINE # 323
	SETB 	ET0
; 	//定时计数器2初始化
; 	T2MOD=0x00;
			; SOURCE LINE # 325
	MOV  	T2MOD,A
; 	T2CON=0x0B;
			; SOURCE LINE # 326
	MOV  	T2CON,#0BH
; 	TH2=0x00;
			; SOURCE LINE # 327
	MOV  	TH2,A
; 	TL2=0x00;
			; SOURCE LINE # 328
	MOV  	TL2,A
; 	TR2=0;
			; SOURCE LINE # 329
	CLR  	TR2
; 	ET2=1;//定时器2中断允许位,1,允许中断
			; SOURCE LINE # 330
	SETB 	ET2
; 	/*Initial显示和按键初始化
; 	KeyTimer = 200;
; 	KeyCode = 0xF0;
; 	KeyMark = 0;
; 	DisStatus = Working_DS;
; 	外中断1:7279按键中断*/
; 	
; 	IT0=1;//脉冲下降沿触发	
			; SOURCE LINE # 338
	SETB 	IT0
; 	EX0=0;//外部中断允许位,1 允许中断
			; SOURCE LINE # 339
	CLR  	EX0
; 
; 
; 	IP=0x00;
			; SOURCE LINE # 342
	MOV  	IP,A
; 
; 
; 	InitialDisplayControl();
			; SOURCE LINE # 345
	LCALL	InitialDisplayControl
; 
; 	for( i=0;i<1000;i++ ){
			; SOURCE LINE # 347
;---- Variable 'i?1042' assigned to Register 'R6/R7' ----
	CLR  	A
	MOV  	R7,A
	MOV  	R6,A
?C0094:
; 		FeedDog();
			; SOURCE LINE # 348
	LCALL	FeedDog
; 	}
			; SOURCE LINE # 349
	INC  	R7
	CJNE 	R7,#00H,?C0106
	INC  	R6
?C0106:
	CJNE 	R6,#03H,?C0094
	CJNE 	R7,#0E8H,?C0094
?C0095:
; 
; 	Display();
			; SOURCE LINE # 351
	LCALL	Display
; 
; 	EA = 1;
			; SOURCE LINE # 353
	SETB 	EA
; 	
; }
			; SOURCE LINE # 355
	RET  	
; END OF Sys_Init

; void KeyScan(void){

	RSEG  ?PR?KeyScan?T1MAIN
KeyScan:
	USING	0
			; SOURCE LINE # 356
; 	if(KeyMark){
			; SOURCE LINE # 357
	JNB  	KeyMark,?C0098
; 	  KeyCode = Read7279KeyCode();
			; SOURCE LINE # 358
	LCALL	Read7279KeyCode
	MOV  	R0,#LOW (KeyCode)
	MOV  	@R0,AR7
; 	  KeyProc();
			; SOURCE LINE # 359
	LCALL	KeyProc
; 	  KeyTimer = 0;
			; SOURCE LINE # 360
	CLR  	A
	MOV  	KeyTimer,A
; 	  KeyMark = 0;
			; SOURCE LINE # 361
	CLR  	KeyMark
; 	}
			; SOURCE LINE # 362
?C0098:
;     	if( KeyTimer>=60 ){
			; SOURCE LINE # 363
	MOV  	A,KeyTimer
	CLR  	C
	SUBB 	A,#03CH
	JC   	?C0100
; 	  EX1 = 1;
			; SOURCE LINE # 364
	SETB 	EX1
; 	}
			; SOURCE LINE # 365
; }
			; SOURCE LINE # 366
?C0100:
	RET  	
; END OF KeyScan

; //程序入口
; //主函数
; void main(void)

	RSEG  ?PR?main?T1MAIN
main:
	USING	0
			; SOURCE LINE # 369
; {
			; SOURCE LINE # 370
; 	//unsigned int i;
;     	testD1 = 0;
			; SOURCE LINE # 372
	CLR  	A
	MOV  	testD1,A
	MOV  	testD1+01H,A
; 	Sys_Init();
			; SOURCE LINE # 373
	LCALL	Sys_Init
?C0101:
; 
; 	while( 1 )
			; SOURCE LINE # 375
; 	{
			; SOURCE LINE # 376
; 
; 		
; 	FeedDog();
			; SOURCE LINE # 379
	LCALL	FeedDog
;         	
; 	UpdateDisplay();
			; SOURCE LINE # 381
	LCALL	UpdateDisplay
; 	}
			; SOURCE LINE # 382
	SJMP 	?C0101
; }
			; SOURCE LINE # 383
; END OF main

	END

⌨️ 快捷键说明

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