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

📄 t1main.src

📁 基于FPGA 的直接数字频率合成信号发生器(DDS)设计
💻 SRC
📖 第 1 页 / 共 3 页
字号:
	MOV  	R3,#080H
	MOV  	R2,#096H
	MOV  	R1,#098H
	MOV  	R0,#00H
	MOV  	R7,freq+03H
	MOV  	R6,freq+02H
	MOV  	R5,freq+01H
	MOV  	R4,freq
	LCALL	?C?ULDIV
	MOV  	R4,AR0
	MOV  	R5,AR1
	MOV  	R6,AR2
	MOV  	R7,AR3
	MOV  	R3,#040H
	MOV  	R2,#042H
	MOV  	R1,#0FH
	MOV  	R0,#00H
	LCALL	?C?ULDIV
	MOV  	Fre+01BH,R7
	MOV  	Fre+01AH,R6
	MOV  	Fre+019H,R5
	MOV  	Fre+018H,R4
; 	Fre[7]=freq/100000000;
			; SOURCE LINE # 74
	MOV  	R3,#00H
	MOV  	R2,#0E1H
	MOV  	R1,#0F5H
	MOV  	R0,#05H
	MOV  	R7,freq+03H
	MOV  	R6,freq+02H
	MOV  	R5,freq+01H
	MOV  	R4,freq
	LCALL	?C?ULDIV
	MOV  	Fre+01FH,R7
	MOV  	Fre+01EH,R6
	MOV  	Fre+01DH,R5
	MOV  	Fre+01CH,R4
; 	Int_Num=0;
			; SOURCE LINE # 75
	CLR  	A
	MOV  	Int_Num,A
; }
			; SOURCE LINE # 76
	RET  	
; END OF frefun

CSEG	AT	00003H
	LJMP	ExInt0Rsp

; 
; //外部中断0中断程序
; void ExInt0Rsp(void) interrupt 0 using 1 //INT0

	RSEG  ?PR?ExInt0Rsp?T1MAIN
ExInt0Rsp:
	PUSH 	ACC
	PUSH 	B
	PUSH 	DPH
	PUSH 	DPL
	PUSH 	PSW
	USING	1
	MOV  	PSW,#08H
			; SOURCE LINE # 79
; {              ol++;
			; SOURCE LINE # 80
	INC  	ol
; 	TR0=0;	
			; SOURCE LINE # 81
	CLR  	TR0
;                frefun();
			; SOURCE LINE # 82
	LCALL	frefun
; 	TH0=0x00;
			; SOURCE LINE # 83
	MOV  	TH0,#00H
; 	TL0=0x00;              
			; SOURCE LINE # 84
	MOV  	TL0,#00H
;                TR1=1;
			; SOURCE LINE # 85
	SETB 	TR1
; 	EX0=0;
			; SOURCE LINE # 86
	CLR  	EX0
; }
			; SOURCE LINE # 87
	POP  	PSW
	POP  	DPL
	POP  	DPH
	POP  	B
	POP  	ACC
	RETI 	
; END OF ExInt0Rsp

CSEG	AT	0001BH
	LJMP	Timer1IntRsp

; 
; 
; 
; //片内T/C1中断程序
; void Timer1IntRsp(void) interrupt 3   using 2 

	RSEG  ?PR?Timer1IntRsp?T1MAIN
Timer1IntRsp:
			; SOURCE LINE # 92
; {
;     ET0 = 0;
			; SOURCE LINE # 94
	CLR  	ET0
; }
			; SOURCE LINE # 95
	RETI 	
; END OF Timer1IntRsp

CSEG	AT	00013H
	LJMP	ExInt1Rsp

; //外部中断1中断程序
; void ExInt1Rsp(void) interrupt 2   using 2  

	RSEG  ?PR?ExInt1Rsp?T1MAIN
ExInt1Rsp:
			; SOURCE LINE # 97
; {
;     KeyMark = 1;
			; SOURCE LINE # 99
	SETB 	KeyMark
;     EX1 = 0;
			; SOURCE LINE # 100
	CLR  	EX1
; }
			; SOURCE LINE # 101
	RETI 	
; END OF ExInt1Rsp

CSEG	AT	0000BH
	LJMP	Timer0IntRsp

; 
; 
; 
; //片内T/C0中断程序
; void Timer0IntRsp(void)  interrupt 1   using 2 

	RSEG  ?PR?Timer0IntRsp?T1MAIN
Timer0IntRsp:
			; SOURCE LINE # 106
; {              lo++;
			; SOURCE LINE # 107
	INC  	lo
;                Int_Num++;
			; SOURCE LINE # 108
	INC  	Int_Num
; 	EX0=1;
			; SOURCE LINE # 109
	SETB 	EX0
; 	
; 	
; 	
; /*	Line2 = !Line2;
; 	if( KeyTimer<100 )
; 	  KeyTimer++;  */
; }
			; SOURCE LINE # 116
	RETI 	
; END OF Timer0IntRsp

CSEG	AT	00023H
	LJMP	SerialPortIntRsp

; 
; 
;   
; //串行口
; void SerialPortIntRsp(void) interrupt 4   using 2

	RSEG  ?PR?SerialPortIntRsp?T1MAIN
SerialPortIntRsp:
			; SOURCE LINE # 121
; {
; 	ES=0;
			; SOURCE LINE # 123
	CLR  	ES
; }
			; SOURCE LINE # 124
	RETI 	
; END OF SerialPortIntRsp

CSEG	AT	0002BH
	LJMP	Timer2IntRsp

; //定时/计数2中断程序
; void Timer2IntRsp(void) interrupt 5   using 2

	RSEG  ?PR?Timer2IntRsp?T1MAIN
Timer2IntRsp:
			; SOURCE LINE # 126
; {
; 
; }
			; SOURCE LINE # 129
	RETI 	
; END OF Timer2IntRsp

; 
; //喂狗函数
; void FeedDog(void)

	RSEG  ?PR?FeedDog?T1MAIN
FeedDog:
			; SOURCE LINE # 132
; {
			; SOURCE LINE # 133
; 	DogLine=0;
			; SOURCE LINE # 134
	CLR  	DogLine
; 	_nop_();
			; SOURCE LINE # 135
	NOP  	
; 	_nop_();
			; SOURCE LINE # 136
	NOP  	
; 	DogLine=1;
			; SOURCE LINE # 137
	SETB 	DogLine
; }
			; SOURCE LINE # 138
	RET  	
; END OF FeedDog

; 
; //--------------按键处理函数------------------
; void KeyProc(void)

	RSEG  ?PR?KeyProc?T1MAIN
KeyProc:
	USING	0
			; SOURCE LINE # 141
; {  
			; SOURCE LINE # 142
; 	testD1++;
			; SOURCE LINE # 143
	INC  	testD1+01H
	MOV  	A,testD1+01H
	JNZ  	?C0104
	INC  	testD1
?C0104:
;      switch(KeyCode)
			; SOURCE LINE # 144
	MOV  	R0,#LOW (KeyCode)
	MOV  	A,@R0
	ADD  	A,#0F2H
	JZ   	?C0012
	ADD  	A,#0F9H
	JNZ  	$ + 5H
	LJMP 	?C0022
	ADD  	A,#0F9H
	JNZ  	$ + 5H
	LJMP 	?C0032
	ADD  	A,#0F9H
	JNZ  	$ + 5H
	LJMP 	?C0042
	ADD  	A,#0F9H
	JNZ  	$ + 5H
	LJMP 	?C0052
	ADD  	A,#0F9H
	JNZ  	$ + 5H
	LJMP 	?C0062
	ADD  	A,#0F9H
	JNZ  	$ + 5H
	LJMP 	?C0072
	ADD  	A,#031H
	JZ   	$ + 5H
	LJMP 	?C0083
;      {
			; SOURCE LINE # 145
;          case Status_KEYCODE:		 
			; SOURCE LINE # 146
?C0010:
;               sta_num[7]=(++i)%3;
			; SOURCE LINE # 147
	INC  	i
	MOV  	A,i
	MOV  	B,#03H
	DIV  	AB
	MOV  	sta_num+07H,B
;               if(sta_num[7]==0)
			; SOURCE LINE # 148
	MOV  	A,sta_num+07H
	JZ   	$ + 5H
	LJMP 	?C0083
;                  sta_num[7]=3;	       
			; SOURCE LINE # 149
	MOV  	sta_num+07H,#03H
;                  break;
			; SOURCE LINE # 150
	RET  	
;          case Shift_KEYCODE:
			; SOURCE LINE # 151
?C0012:
; 	if(sta_num[7]==1)
			; SOURCE LINE # 152
	MOV  	A,sta_num+07H
	CJNE 	A,#01H,?C0013
; 	  f6=!f6;             
			; SOURCE LINE # 153
	MOV  	A,f6+01H
	ORL  	A,f6
	JNZ  	?C0014
	MOV  	R7,#01H
	SJMP 	?C0015
?C0014:
	MOV  	R7,#00H
?C0015:
	MOV  	f6,#00H
	MOV  	f6+01H,R7
?C0013:
; 	if(sta_num[7]==2)
			; SOURCE LINE # 154
	MOV  	A,sta_num+07H
	CJNE 	A,#02H,?C0016
; 	  h6=!h6;              
			; SOURCE LINE # 155
	MOV  	A,h6+01H
	ORL  	A,h6
	JNZ  	?C0017
	MOV  	R7,#01H
	SJMP 	?C0018
?C0017:
	MOV  	R7,#00H
?C0018:
	MOV  	h6,#00H
	MOV  	h6+01H,R7
?C0016:
; 	if(sta_num[7]==3)
			; SOURCE LINE # 156
	MOV  	A,sta_num+07H
	XRL  	A,#03H
	JZ   	$ + 5H
	LJMP 	?C0083
;              {
			; SOURCE LINE # 157
;                if(sta_num[6]>15)
			; SOURCE LINE # 158
	MOV  	A,sta_num+06H
	SETB 	C
	SUBB 	A,#0FH
	JC   	?C0020
;                    sta_num[6]=0;
			; SOURCE LINE # 159
	CLR  	A
	MOV  	sta_num+06H,A
	RET  	
?C0020:
;                  else
;                    sta_num[6]++;
			; SOURCE LINE # 161
	INC  	sta_num+06H
;                }		
			; SOURCE LINE # 162
; 						      
;               break;
			; SOURCE LINE # 164
	RET  	
;          case Up_KEYCODE: 
			; SOURCE LINE # 165
?C0022:
;               if(sta_num[7]==1)
			; SOURCE LINE # 166
	MOV  	A,sta_num+07H
	CJNE 	A,#01H,?C0023
; 	  f5=!f5;             
			; SOURCE LINE # 167
	MOV  	A,f5+01H
	ORL  	A,f5
	JNZ  	?C0024
	MOV  	R7,#01H
	SJMP 	?C0025
?C0024:
	MOV  	R7,#00H
?C0025:
	MOV  	f5,#00H
	MOV  	f5+01H,R7
?C0023:
;               if(sta_num[7]==2)
			; SOURCE LINE # 168
	MOV  	A,sta_num+07H
	CJNE 	A,#02H,?C0026
; 	  h5=!h5;              
			; SOURCE LINE # 169
	MOV  	A,h5+01H
	ORL  	A,h5
	JNZ  	?C0027
	MOV  	R7,#01H
	SJMP 	?C0028
?C0027:
	MOV  	R7,#00H
?C0028:
	MOV  	h5,#00H
	MOV  	h5+01H,R7
?C0026:
;               if(sta_num[7]==3)
			; SOURCE LINE # 170
	MOV  	A,sta_num+07H
	XRL  	A,#03H
	JZ   	$ + 5H
	LJMP 	?C0083
;              {
			; SOURCE LINE # 171
;               if(sta_num[5]>15)
			; SOURCE LINE # 172
	MOV  	A,sta_num+05H
	SETB 	C
	SUBB 	A,#0FH
	JC   	?C0030
;                  sta_num[5]=0;
			; SOURCE LINE # 173
	CLR  	A
	MOV  	sta_num+05H,A
	RET  	
?C0030:
;                  else
;                  sta_num[5]++;
			; SOURCE LINE # 175
	INC  	sta_num+05H
;                }		
			; SOURCE LINE # 176
;               break; 
			; SOURCE LINE # 177
	RET  	
;          case Down_KEYCODE:
			; SOURCE LINE # 178
?C0032:
;               if(sta_num[7]==1)
			; SOURCE LINE # 179
	MOV  	A,sta_num+07H
	CJNE 	A,#01H,?C0033
; 	  f4=!f4;             
			; SOURCE LINE # 180
	MOV  	A,f4+01H
	ORL  	A,f4
	JNZ  	?C0034
	MOV  	R7,#01H
	SJMP 	?C0035
?C0034:
	MOV  	R7,#00H
?C0035:
	MOV  	f4,#00H
	MOV  	f4+01H,R7
?C0033:
;               if(sta_num[7]==2)
			; SOURCE LINE # 181
	MOV  	A,sta_num+07H
	CJNE 	A,#02H,?C0036
; 	  h4=!h4;              
			; SOURCE LINE # 182
	MOV  	A,h4+01H
	ORL  	A,h4
	JNZ  	?C0037
	MOV  	R7,#01H
	SJMP 	?C0038
?C0037:
	MOV  	R7,#00H
?C0038:
	MOV  	h4,#00H
	MOV  	h4+01H,R7
?C0036:
;               if(sta_num[7]==3)
			; SOURCE LINE # 183
	MOV  	A,sta_num+07H
	XRL  	A,#03H
	JZ   	$ + 5H
	LJMP 	?C0083
;              {
			; SOURCE LINE # 184
;               if(sta_num[4]>15)
			; SOURCE LINE # 185
	MOV  	A,sta_num+04H
	SETB 	C
	SUBB 	A,#0FH
	JC   	?C0040
;                  sta_num[4]=0;
			; SOURCE LINE # 186
	CLR  	A
	MOV  	sta_num+04H,A
	RET  	
?C0040:
;               else
; 	  sta_num[4]++;
			; SOURCE LINE # 188
	INC  	sta_num+04H
;                }		
			; SOURCE LINE # 189
;               break;
			; SOURCE LINE # 190
	RET  	
;          case Yes_KEYCODE:
			; SOURCE LINE # 191
?C0042:
;  if(sta_num[7]==1)
			; SOURCE LINE # 192
	MOV  	A,sta_num+07H
	CJNE 	A,#01H,?C0043
; 				f3=!f3;             
			; SOURCE LINE # 193
	MOV  	A,f3+01H
	ORL  	A,f3
	JNZ  	?C0044
	MOV  	R7,#01H
	SJMP 	?C0045
?C0044:
	MOV  	R7,#00H
?C0045:
	MOV  	f3,#00H
	MOV  	f3+01H,R7
?C0043:
; 			if(sta_num[7]==2)
			; SOURCE LINE # 194
	MOV  	A,sta_num+07H
	CJNE 	A,#02H,?C0046
; 				h3=!h3;              
			; SOURCE LINE # 195
	MOV  	A,h3+01H
	ORL  	A,h3
	JNZ  	?C0047
	MOV  	R7,#01H
	SJMP 	?C0048
?C0047:
	MOV  	R7,#00H
?C0048:
	MOV  	h3,#00H
	MOV  	h3+01H,R7
?C0046:
; 			if(sta_num[7]==3)
			; SOURCE LINE # 196
	MOV  	A,sta_num+07H
	XRL  	A,#03H
	JZ   	$ + 5H
	LJMP 	?C0083
;              {
			; SOURCE LINE # 197
; 		         if(sta_num[3]>15)
			; SOURCE LINE # 198
	MOV  	A,sta_num+03H
	SETB 	C
	SUBB 	A,#0FH
	JC   	?C0050
;                    sta_num[3]=0;
			; SOURCE LINE # 199
	CLR  	A
	MOV  	sta_num+03H,A
	RET  	
?C0050:
;                  else
; 		           sta_num[3]++;
			; SOURCE LINE # 201
	INC  	sta_num+03H
;                }		
			; SOURCE LINE # 202
;               break;
			; SOURCE LINE # 203
	RET  	
;          case Esc_KEYCODE:
			; SOURCE LINE # 204

⌨️ 快捷键说明

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