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

📄 main.src

📁 该设计采用ADC0832实现了四种波形的信号发生器的设计
💻 SRC
📖 第 1 页 / 共 5 页
字号:
; 
; #define uchar unsigned char
; #define uint unsigned int
; 
; #define WAVE1 1
; #define WAVE2 2
; #define WAVE3 3
; #define WAVE4 4
; 
; sbit k1=P1^0;
; sbit k2=P1^1;
; sbit k3=P1^2;
; sbit k4=P1^3;
; sbit k5=P1^4;
; sbit k6=P1^5;
; sbit k7=P1^6;
; sbit k8=P1^7;
; 
; uchar WaveSelect=0;
; uchar old_SetHZ=0;
; uchar SetHZ=0;
; uchar StartOut=0;
; uchar add=0;
; uchar DLY;
; 
; uchar ValueHZ[4]={0,0,0,0};
; 
; void IntKey()interrupt 0 using 1  //外部中断服务程序
; {
; 	EA=0;
; 	if(k1==0)WaveSelect=WAVE1;
; 	if(k2==0)WaveSelect=WAVE2;
; 	if(k3==0)WaveSelect=WAVE3;
; 	if(k4==0)WaveSelect=WAVE4;
; 	if(k5==0){
; 		if(ValueHZ[add]==0)ValueHZ[add]=0;
; 		else ValueHZ[add]--;
; 		SetHZ=!SetHZ;
; 	}
; 	if(k6==0)StartOut=!StartOut;
; 	if(k7==0){
; 		if(ValueHZ[add]==9)ValueHZ[add]=9;
; 		else ValueHZ[add]++;
; 		SetHZ=!SetHZ;
; 	}
; 	if(k8==0){
; 		if(add!=3)add++;
; 		else add=0;
; 	}
; 	EA=1;
; }
; 
; void HZ_to_DLY(void){		//计算延时常量函数
; 	uint value;
; 	value=ValueHZ[0]*100+ValueHZ[1]*10+ValueHZ[2]*1;
; 	
; 	DLY=(1/value);
; }
; 
; main(){
; 	uint i; 
; 	uchar old_WaveSelect;	
; 
; 	EA=1;
; 	EX0=1;
; 	IT0=1;		  //开中断
; 
; 	Init_12864();
; 	for(i=500;i>0;i--){
; 		delay2us(100);
; 	}
; 
; 	DisControl();
; 			 
; 	while(1){
; 		if(WaveSelect==WAVE1)Wave1();
; 		if(WaveSelect==WAVE2)Wave2();
; 		if(WaveSelect==WAVE3)Wave3();
; 		if(WaveSelect==WAVE4)Wave4();
; 
; 		maths(ValueHZ[0],5,0x04);
; 		maths(ValueHZ[1],13,0x04);
; 		maths(ValueHZ[2],21,0x04);
; 		Pagefirst(0x05);
; 		Linefirst(29);
; 		Wdata(0x04);
; 		maths(ValueHZ[3],31,0x04);
; 
; 		old_WaveSelect=WaveSelect;
; 		old_SetHZ=SetHZ;
; 
; 		HZ_to_DLY(); //得到延时常量
; 
; 		while(1){
; 			if(old_WaveSelect!=WaveSelect){
; 				StartOut=0;
; 				Direction=0;
; 				break;
; 			}
; 
; 			if(old_SetHZ!=SetHZ)break;
; 
; 			if(StartOut==1){

	RSEG  ?PR?Left?MAIN
Left:
			; SOURCE LINE # 106
; 				if(WaveSelect==WAVE1)WaveOut1(100);
			; SOURCE LINE # 107
; 				if(WaveSelect==WAVE2)WaveOut2(DLY);
			; SOURCE LINE # 108
	CLR  	CS1
; 				if(WaveSelect==WAVE3)WaveOut3(DLY);
			; SOURCE LINE # 109
	SETB 	CS2
; 				if(WaveSelect==WAVE4)WaveOut4(DLY);
			; SOURCE LINE # 110
	RET  	
; END OF Left

; 			}
; 		}

	RSEG  ?PR?Right?MAIN
Right:
			; SOURCE LINE # 112
; 	}
			; SOURCE LINE # 113
; }
			; SOURCE LINE # 114
	SETB 	CS1
; *** sync lost ***
			; SOURCE LINE # 115
	CLR  	CS2
; *** sync lost ***
			; SOURCE LINE # 116
	RET  	
; END OF Right

; *** sync lost ***
; *** sync lost ***

	RSEG  ?PR?Busy_12864?MAIN
Busy_12864:
			; SOURCE LINE # 118
; *** sync lost ***
			; SOURCE LINE # 119
?C0005:
; *** sync lost ***
			; SOURCE LINE # 120
	CLR  	E
; *** sync lost ***
			; SOURCE LINE # 121
	CLR  	RS
; *** sync lost ***
			; SOURCE LINE # 122
	SETB 	RW
; *** sync lost ***
			; SOURCE LINE # 123
	MOV  	P2,#0FFH
; *** sync lost ***
			; SOURCE LINE # 124
	SETB 	E
; *** sync lost ***
			; SOURCE LINE # 125
	CLR  	E
	JB   	bflag,?C0005
; *** sync lost ***
			; SOURCE LINE # 126
	RET  	
; END OF Busy_12864

; *** sync lost ***
; *** sync lost ***

	RSEG  ?PR?_Wreg?MAIN
_Wreg:
			; SOURCE LINE # 128
;---- Variable 'c?340' assigned to Register 'R7' ----
; *** sync lost ***
			; SOURCE LINE # 129
; *** sync lost ***
			; SOURCE LINE # 130
	LCALL	Busy_12864
; *** sync lost ***
			; SOURCE LINE # 131
	CLR  	RS
; *** sync lost ***
			; SOURCE LINE # 132
	CLR  	RW
; *** sync lost ***
			; SOURCE LINE # 133
	MOV  	P2,R7
; *** sync lost ***
			; SOURCE LINE # 134
	SETB 	E
; *** sync lost ***
			; SOURCE LINE # 135
	CLR  	E
; *** sync lost ***
			; SOURCE LINE # 136
	RET  	
; END OF _Wreg

; *** sync lost ***
; *** sync lost ***

	RSEG  ?PR?_Wdata?MAIN
L?0188:
	USING	0
L?0189:
	MOV  	R7,#03H
L?0190:
	LCALL	_Pagefirst
	MOV  	R7,AR5
	LCALL	_Linefirst
	MOV  	R7,AR6
_Wdata:
			; SOURCE LINE # 138
;---- Variable 'c?441' assigned to Register 'R7' ----
; *** sync lost ***
			; SOURCE LINE # 139
; *** sync lost ***
			; SOURCE LINE # 140
	LCALL	Busy_12864
; *** sync lost ***
			; SOURCE LINE # 141
	SETB 	RS
; *** sync lost ***
			; SOURCE LINE # 142
	CLR  	RW
; *** sync lost ***
			; SOURCE LINE # 143
	MOV  	P2,R7
; *** sync lost ***
			; SOURCE LINE # 144
	SETB 	E
; *** sync lost ***
			; SOURCE LINE # 145
	CLR  	E
; *** sync lost ***
			; SOURCE LINE # 146
	RET  	
; END OF _Wdata

; *** sync lost ***
; *** sync lost ***

	RSEG  ?PR?_Pagefirst?MAIN
L?0195:
	USING	0
L?0196:
	LCALL	_Linefirst
	MOV  	R7,#0FCH
L?0197:
	LCALL	_Wdata
	MOV  	R7,#03H
_Pagefirst:
	USING	0
			; SOURCE LINE # 148
;---- Variable 'c?542' assigned to Register 'R7' ----
; *** sync lost ***
			; SOURCE LINE # 149
; *** sync lost ***
; *** sync lost ***
			; SOURCE LINE # 151
;---- Variable 'i?543' assigned to Register 'R7' ----
; *** sync lost ***
			; SOURCE LINE # 152
	MOV  	A,R7
	ORL  	A,#0B8H
	MOV  	R7,A
; *** sync lost ***
			; SOURCE LINE # 153
	LCALL	Busy_12864
; *** sync lost ***
			; SOURCE LINE # 154
	LJMP 	_Wreg
; END OF _Pagefirst

; *** sync lost ***
; *** sync lost ***
; *** sync lost ***

	RSEG  ?PR?_Linefirst?MAIN
L?0185:
	USING	0
L?0186:
	MOV  	R7,#03H
L?0187:
	LCALL	_Pagefirst
	MOV  	R7,AR6
_Linefirst:
	USING	0
			; SOURCE LINE # 157
;---- Variable 'c?644' assigned to Register 'R7' ----
; *** sync lost ***
			; SOURCE LINE # 158
; *** sync lost ***
; *** sync lost ***
			; SOURCE LINE # 160
;---- Variable 'i?645' assigned to Register 'R7' ----
; *** sync lost ***
			; SOURCE LINE # 161
	MOV  	A,R7
	ORL  	A,#040H
	MOV  	R7,A
; *** sync lost ***
			; SOURCE LINE # 162
	LCALL	Busy_12864
; *** sync lost ***
			; SOURCE LINE # 163
	LJMP 	_Wreg
; END OF _Linefirst

; *** sync lost ***
; *** sync lost ***
; *** sync lost ***
; *** sync lost ***
; *** sync lost ***
; *** sync lost ***
; *** sync lost ***
; *** sync lost ***
; *** sync lost ***
; *** sync lost ***
; *** sync lost ***
; *** sync lost ***

	RSEG  ?PR?Ready_12864?MAIN
Ready_12864:
	USING	0
			; SOURCE LINE # 175
;---- Variable 'j?747' assigned to Register 'R4/R5' ----
; *** sync lost ***
			; SOURCE LINE # 176
; *** sync lost ***
; *** sync lost ***
			; SOURCE LINE # 178
	LCALL	Left
; *** sync lost ***
			; SOURCE LINE # 179
	MOV  	R7,#03FH
	LCALL	_Wreg
; *** sync lost ***
			; SOURCE LINE # 180
	LCALL	Right
; *** sync lost ***
			; SOURCE LINE # 181
	LCALL	_Wreg
; *** sync lost ***
; *** sync lost ***
			; SOURCE LINE # 183
	LCALL	Left
; *** sync lost ***
			; SOURCE LINE # 184
;---- Variable 'i?746' assigned to Register 'R2/R3' ----
	CLR  	A
	MOV  	R3,A
	MOV  	R2,A
?C0011:
; *** sync lost ***
			; SOURCE LINE # 185
; *** sync lost ***
			; SOURCE LINE # 186
	MOV  	R7,AR3
	LCALL	_Pagefirst
; *** sync lost ***
			; SOURCE LINE # 187
	CLR  	A
	MOV  	R7,A
	LCALL	_Linefirst
; *** sync lost ***
			; SOURCE LINE # 188
	CLR  	A
	MOV  	R4,A
	MOV  	R5,A
?C0014:
; *** sync lost ***
			; SOURCE LINE # 189
; *** sync lost ***
			; SOURCE LINE # 190
	CLR  	A
	MOV  	R7,A
	LCALL	_Wdata
; *** sync lost ***
			; SOURCE LINE # 191
	INC  	R5
	CJNE 	R5,#00H,?C0179
	INC  	R4
?C0179:
	MOV  	A,R5
	XRL  	A,#040H
	ORL  	A,R4
	JNZ  	?C0014
; *** sync lost ***
			; SOURCE LINE # 192
?C0013:
	INC  	R3
	CJNE 	R3,#00H,?C0180
	INC  	R2
?C0180:
	MOV  	A,R3
	XRL  	A,#08H
	ORL  	A,R2
	JNZ  	?C0011
?C0012:
; *** sync lost ***
; *** sync lost ***
			; SOURCE LINE # 194
	LCALL	Right
; *** sync lost ***
			; SOURCE LINE # 195
	CLR  	A
	MOV  	R2,A
	MOV  	R3,A
?C0017:
; *** sync lost ***
			; SOURCE LINE # 196
; *** sync lost ***
			; SOURCE LINE # 197
	MOV  	R7,AR3
	LCALL	_Pagefirst
; *** sync lost ***
			; SOURCE LINE # 198
	CLR  	A
	MOV  	R7,A
	LCALL	_Linefirst
; *** sync lost ***
			; SOURCE LINE # 199
	CLR  	A
	MOV  	R4,A
	MOV  	R5,A
?C0020:
; *** sync lost ***
			; SOURCE LINE # 200
; *** sync lost ***
			; SOURCE LINE # 201
	CLR  	A
	MOV  	R7,A
	LCALL	_Wdata
; *** sync lost ***
			; SOURCE LINE # 202
	INC  	R5
	CJNE 	R5,#00H,?C0181
	INC  	R4
?C0181:
	MOV  	A,R5
	XRL  	A,#040H
	ORL  	A,R4
	JNZ  	?C0020
; *** sync lost ***
			; SOURCE LINE # 203
?C0019:
	INC  	R3
	CJNE 	R3,#00H,?C0182
	INC  	R2
?C0182:
	MOV  	A,R3
	XRL  	A,#08H
	ORL  	A,R2
	JNZ  	?C0017
; *** sync lost ***
			; SOURCE LINE # 204
?C0023:
	RET  	
; END OF Ready_12864

; *** sync lost ***
; *** sync lost ***
; *** sync lost ***
; *** sync lost ***
; *** sync lost ***
; *** sync lost ***

	RSEG  ?PR?_Display?MAIN
L?0191:
	USING	0
	MOV  	?_Display?BYTE+04H,#010H
L?0192:
	MOV  	?_Display?BYTE+05H,#010H
L?0193:
	CLR  	A
L?0194:
	MOV  	?_Display?BYTE+06H,A
	MOV  	R5,#04H
_Display:
	USING	0
			; SOURCE LINE # 210
;---- Variable 's?848' assigned to Register 'R1/R2/R3' ----
;---- Variable 'page?849' assigned to Register 'R6' ----
	MOV  	R6,AR5
; *** sync lost ***
			; SOURCE LINE # 211
; *** sync lost ***
; *** sync lost ***
			; SOURCE LINE # 213
;---- Variable 'i?853' assigned to Register 'R5' ----
	CLR  	A
	MOV  	R5,A
?C0024:
	MOV  	A,R5
	CLR  	C
	SUBB 	A,com?851
	JNC  	?C0029
; *** sync lost ***
			; SOURCE LINE # 214
; *** sync lost ***
			; SOURCE LINE # 215
	MOV  	R7,AR6
	LCALL	_Pagefirst
; *** sync lost ***
			; SOURCE LINE # 216
	MOV  	A,line?850
	ADD  	A,R5
	MOV  	R7,A
	LCALL	_Linefirst
; *** sync lost ***
			; SOURCE LINE # 217
	LCALL	?C?CLDPTR
	MOV  	R7,A
	LCALL	_Wdata
; *** sync lost ***
			; SOURCE LINE # 218
	MOV  	A,#01H
	ADD  	A,R1
	MOV  	R1,A
	CLR  	A
	ADDC 	A,R2
	MOV  	R2,A
; *** sync lost ***
			; SOURCE LINE # 219
	MOV  	A,R6
	INC  	A
	MOV  	R7,A
	LCALL	_Pagefirst
; *** sync lost ***
			; SOURCE LINE # 220
	MOV  	A,line?850
	ADD  	A,R5
	MOV  	R7,A
	LCALL	_Linefirst
; *** sync lost ***
			; SOURCE LINE # 221
	LCALL	?C?CLDPTR
	MOV  	R7,A
	LCALL	_Wdata
; *** sync lost ***
			; SOURCE LINE # 222
	MOV  	A,#01H
	ADD  	A,R1
	MOV  	R1,A
	CLR  	A
	ADDC 	A,R2
	MOV  	R2,A
; *** sync lost ***
			; SOURCE LINE # 223
	MOV  	A,dat?852
	JZ   	?C0026
?C0027:
; *** sync lost ***
; *** sync lost ***
			; SOURCE LINE # 225
; *** sync lost ***
			; SOURCE LINE # 226
	MOV  	A,R6
	ADD  	A,#02H
	MOV  	R7,A
	LCALL	_Pagefirst
; *** sync lost ***
			; SOURCE LINE # 227
	MOV  	A,line?850
	ADD  	A,R5
	MOV  	R7,A
	LCALL	_Linefirst
; *** sync lost ***
			; SOURCE LINE # 228
	LCALL	?C?CLDPTR
	MOV  	R7,A
	LCALL	_Wdata
; *** sync lost ***
			; SOURCE LINE # 229
	MOV  	A,#01H
	ADD  	A,R1
	MOV  	R1,A
	CLR  	A
	ADDC 	A,R2
	MOV  	R2,A
; *** sync lost ***
			; SOURCE LINE # 230
; *** sync lost ***
			; SOURCE LINE # 231
?C0026:
	INC  	R5
	SJMP 	?C0024
; *** sync lost ***
			; SOURCE LINE # 232
?C0029:
	RET  	
; END OF _Display

; *** sync lost ***
; *** sync lost ***

	RSEG  ?PR?hengxian?MAIN
hengxian:
	USING	0
			; SOURCE LINE # 234
; *** sync lost ***
			; SOURCE LINE # 235
; *** sync lost ***
; *** sync lost ***
			; SOURCE LINE # 237
	LCALL	Left
; *** sync lost ***
			; SOURCE LINE # 238
;---- Variable 'i?954' assigned to Register 'R6' ----
	CLR  	A
	MOV  	R6,A
?C0030:
; *** sync lost ***
			; SOURCE LINE # 239
; *** sync lost ***
			; SOURCE LINE # 240
; *** sync lost ***
			; SOURCE LINE # 241
	LCALL	L?0185
; *** sync lost ***
			; SOURCE LINE # 242
	MOV  	R7,#036H
	LCALL	_Wdata
; *** sync lost ***
			; SOURCE LINE # 243
	INC  	R6
	CJNE 	R6,#040H,?C0030
?C0031:
; *** sync lost ***
			; SOURCE LINE # 244
	LCALL	Right
; *** sync lost ***
			; SOURCE LINE # 245
	CLR  	A
	MOV  	R6,A
?C0033:
; *** sync lost ***
			; SOURCE LINE # 246
; *** sync lost ***
			; SOURCE LINE # 247
; *** sync lost ***
			; SOURCE LINE # 248
	LCALL	L?0185
; *** sync lost ***
			; SOURCE LINE # 249
	MOV  	R7,#036H
	LCALL	_Wdata
; *** sync lost ***
			; SOURCE LINE # 250
	INC  	R6
	CJNE 	R6,#040H,?C0033
; *** sync lost ***
			; SOURCE LINE # 251
?C0036:
	RET  	
; END OF hengxian

; *** sync lost ***
; *** sync lost ***

	RSEG  ?PR?_dot?MAIN
_dot:
	USING	0
			; SOURCE LINE # 253
;---- Variable 'page?1055' assigned to Register 'R7' ----
; *** sync lost ***
			; SOURCE LINE # 254
	LCALL	Left
; *** sync lost ***
; *** sync lost ***
			; SOURCE LINE # 256
	LCALL	_Pagefirst
; *** sync lost ***
			; SOURCE LINE # 257
	MOV  	R7,#03EH
	LCALL	_Linefirst
; *** sync lost ***
			; SOURCE LINE # 258
	MOV  	R7,#033H
	LCALL	_Wdata
; *** sync lost ***
			; SOURCE LINE # 259
	LJMP 	_Wdata
; END OF _dot

; *** sync lost ***
; *** sync lost ***
; *** sync lost ***
; *** sync lost ***

	RSEG  ?PR?ClrWave?MAIN
ClrWave:
	USING	0
			; SOURCE LINE # 263
; *** sync lost ***
; *** sync lost ***
			; SOURCE LINE # 265
	LCALL	Right
; *** sync lost ***
			; SOURCE LINE # 266
;---- Variable 'i?1156' assigned to Register 'R6' ----
	CLR  	A
	MOV  	R6,A
?C0038:
; *** sync lost ***
			; SOURCE LINE # 267
; *** sync lost ***
			; SOURCE LINE # 268
	MOV  	R7,#02H
; *** sync lost ***
			; SOURCE LINE # 269
	LCALL	L?0187
; *** sync lost ***
			; SOURCE LINE # 270
	CLR  	A
	MOV  	R7,A
	LCALL	_Wdata
; *** sync lost ***
			; SOURCE LINE # 271
	INC  	R6
	CJNE 	R6,#040H,?C0038
?C0039:
; *** sync lost ***
			; SOURCE LINE # 272
	CLR  	A
	MOV  	R6,A
?C0041:
; *** sync lost ***
			; SOURCE LINE # 273
; *** sync lost ***
			; SOURCE LINE # 274
; *** sync lost ***
			; SOURCE LINE # 275
	LCALL	L?0186
; *** sync lost ***
			; SOURCE LINE # 276
	CLR  	A
	MOV  	R7,A
	LCALL	_Wdata
; *** sync lost ***
			; SOURCE LINE # 277
	INC  	R6
	CJNE 	R6,#040H,?C0041
; *** sync lost ***
			; SOURCE LINE # 278
?C0044:
	RET  	
; END OF ClrWave

; *** sync lost ***
; *** sync lost ***

	RSEG  ?PR?Wave1?MAIN
Wave1:
	USING	0
			; SOURCE LINE # 280
; *** sync lost ***
; *** sync lost ***
			; SOURCE LINE # 282
	LCALL	Right
; *** sync lost ***
			; SOURCE LINE # 283
	LCALL	ClrWave
; *** sync lost ***
			; SOURCE LINE # 284
;---- Variable 'i?1257' assigned to Register 'R6' ----
	MOV  	R6,#01H
?C0045:
; *** sync lost ***
			; SOURCE LINE # 285
; *** sync lost ***
			; SOURCE LINE # 286
; *** sync lost ***
			; SOURCE LINE # 287
	LCALL	L?0186
; *** sync lost ***
			; SOURCE LINE # 288
	MOV  	R7,#020H
	LCALL	_Wdata
; *** sync lost ***
			; SOURCE LINE # 289
	INC  	R6
	CJNE 	R6,#0AH,?C0045
?C0046:
; *** sync lost ***
; *** sync lost ***
			; SOURCE LINE # 291
	MOV  	R7,#02H

⌨️ 快捷键说明

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