📄 d51_new.src
字号:
RSEG ?PR?delay_dds?D51_NEW
delay_dds:
USING 0
; SOURCE LINE # 220
; {
; SOURCE LINE # 221
; uchar i,j;
; for(i=0;i<1;i++){
; SOURCE LINE # 223
;---- Variable 'i?2069' assigned to Register 'R7' ----
CLR A
MOV R7,A
?C0085:
; j=i;
; SOURCE LINE # 224
MOV j?2070,R7
; }
; SOURCE LINE # 225
INC R7
CJNE R7,#01H,?C0085
; }
; SOURCE LINE # 226
?C0088:
RET
; END OF delay_dds
; void init_dds(void)
RSEG ?PR?init_dds?D51_NEW
init_dds:
USING 0
; SOURCE LINE # 227
; {
; SOURCE LINE # 228
; uchar i;
; WCLK_pin=0;
; SOURCE LINE # 230
CLR P1_1
; FQ_UD_pin=0;
; SOURCE LINE # 231
CLR P1_2
; delay_dds();
; SOURCE LINE # 232
LCALL delay_dds
; delay_dds();
; SOURCE LINE # 233
LCALL delay_dds
; WCLK_pin=1;
; SOURCE LINE # 234
SETB P1_1
; delay_dds();
; SOURCE LINE # 235
LCALL delay_dds
; WCLK_pin=0;
; SOURCE LINE # 236
CLR P1_1
; delay_dds();
; SOURCE LINE # 237
LCALL delay_dds
; FQ_UD_pin=1;
; SOURCE LINE # 238
SETB P1_2
; delay_dds();
; SOURCE LINE # 239
LCALL delay_dds
; FQ_UD_pin=0;
; SOURCE LINE # 240
CLR P1_2
; delay_dds();
; SOURCE LINE # 241
LCALL delay_dds
;
; for(i=0;i<8;i++){
; SOURCE LINE # 243
;---- Variable 'i?2171' assigned to Register 'R6' ----
CLR A
MOV R6,A
?C0089:
;
; DATA_pin=0;
; SOURCE LINE # 245
CLR P1_3
;
; delay_dds();
; SOURCE LINE # 247
LCALL delay_dds
; WCLK_pin=1;
; SOURCE LINE # 248
SETB P1_1
; delay_dds();
; SOURCE LINE # 249
LCALL delay_dds
; WCLK_pin=0;
; SOURCE LINE # 250
CLR P1_1
; }
; SOURCE LINE # 251
INC R6
CJNE R6,#08H,?C0089
?C0090:
; delay_dds();
; SOURCE LINE # 252
LCALL delay_dds
; FQ_UD_pin=1;
; SOURCE LINE # 253
SETB P1_2
; delay_dds();
; SOURCE LINE # 254
LCALL delay_dds
; FQ_UD_pin=0;
; SOURCE LINE # 255
CLR P1_2
;
; }
; SOURCE LINE # 257
RET
; END OF init_dds
; void update_freq(unsigned long f,uchar c)
RSEG ?PR?_update_freq?D51_NEW
L?0138:
MOV freq?2378,A
MOV R7,freq?2378+03H
MOV R6,freq?2378+02H
MOV R5,freq?2378+01H
MOV R4,A
MOV ?_update_freq?BYTE+04H,ctrl1?2381
_update_freq:
USING 0
;---- Variable 'f?2272' assigned to Register 'R4/R5/R6/R7' ----
; SOURCE LINE # 258
; {
; SOURCE LINE # 259
; uchar i,cs;
; unsigned long freq_temp;
; freq_temp=f;
; SOURCE LINE # 262
MOV freq_temp?2276+03H,R7
MOV freq_temp?2276+02H,R6
MOV freq_temp?2276+01H,R5
MOV freq_temp?2276,R4
; cs=c;
; SOURCE LINE # 263
;---- Variable 'cs?2275' assigned to Register 'R3' ----
MOV R3,c?2273
; for(i=0;i<32;i++){
; SOURCE LINE # 264
;---- Variable 'i?2274' assigned to Register 'R2' ----
CLR A
MOV R2,A
?C0093:
; if(freq_temp & 1)
; SOURCE LINE # 265
MOV A,freq_temp?2276+03H
ANL A,#01H
MOV R7,A
CLR A
MOV R6,A
MOV R5,A
MOV R4,A
MOV A,R7
JZ ?C0096
; DATA_pin=1;
; SOURCE LINE # 266
SETB P1_3
SJMP ?C0097
?C0096:
; else
; DATA_pin=0;
; SOURCE LINE # 268
CLR P1_3
?C0097:
;
; delay_dds();
; SOURCE LINE # 270
LCALL delay_dds
; WCLK_pin=1;
; SOURCE LINE # 271
SETB P1_1
; delay_dds();
; SOURCE LINE # 272
LCALL delay_dds
; WCLK_pin=0;
; SOURCE LINE # 273
CLR P1_1
; freq_temp>>=1;
; SOURCE LINE # 274
MOV R7,freq_temp?2276+03H
MOV R6,freq_temp?2276+02H
MOV R5,freq_temp?2276+01H
MOV R4,freq_temp?2276
MOV R0,#01H
LCALL ?C?ULSHR
MOV freq_temp?2276+03H,R7
MOV freq_temp?2276+02H,R6
MOV freq_temp?2276+01H,R5
MOV freq_temp?2276,R4
;
; }
; SOURCE LINE # 276
INC R2
CJNE R2,#020H,?C0093
?C0094:
; for(i=0;i<8;i++){
; SOURCE LINE # 277
CLR A
MOV R2,A
?C0098:
; if(cs & 1)
; SOURCE LINE # 278
MOV A,R3
JNB ACC.0,?C0101
; DATA_pin=1;
; SOURCE LINE # 279
SETB P1_3
SJMP ?C0102
?C0101:
; else
; DATA_pin=0;
; SOURCE LINE # 281
CLR P1_3
?C0102:
;
; delay_dds();
; SOURCE LINE # 283
LCALL delay_dds
; WCLK_pin=1;
; SOURCE LINE # 284
SETB P1_1
; delay_dds();
; SOURCE LINE # 285
LCALL delay_dds
; WCLK_pin=0;
; SOURCE LINE # 286
CLR P1_1
; cs>>=1;
; SOURCE LINE # 287
MOV A,R3
CLR C
RRC A
MOV R3,A
; }
; SOURCE LINE # 288
INC R2
CJNE R2,#08H,?C0098
?C0099:
; delay_dds();
; SOURCE LINE # 289
LCALL delay_dds
; FQ_UD_pin=1;
; SOURCE LINE # 290
SETB P1_2
; delay_dds();
; SOURCE LINE # 291
LCALL delay_dds
; FQ_UD_pin=0;
; SOURCE LINE # 292
CLR P1_2
;
; }
; SOURCE LINE # 294
RET
; END OF _update_freq
; void main (void){ /* main program */
RSEG ?PR?main?D51_NEW
main:
USING 0
; SOURCE LINE # 295
; unsigned int adr;
; unsigned long freq,dfreq,temp_f;
; uchar ctrl1;
; // int temp,i;
; uchar status;
; // char out_char[5];
; EA=0; /* 0=Disable all interrupts */
; SOURCE LINE # 302
CLR EA
; P1=0xff;
; SOURCE LINE # 303
MOV P1,#0FFH
; LED_DATA=0xff; //off all LEDs
; SOURCE LINE # 304
MOV DPTR,#0E000H
MOV A,#0FFH
MOVX @DPTR,A
; freq=1000<<10;
; SOURCE LINE # 305
MOV freq?2378+03H,#00H
MOV freq?2378+02H,#0A0H
MOV freq?2378+01H,A
MOV freq?2378,A
; dfreq=1000<<10;
; SOURCE LINE # 306
MOV dfreq?2379+03H,#00H
MOV dfreq?2379+02H,#0A0H
MOV dfreq?2379+01H,A
MOV dfreq?2379,A
; temp_f=0;
; SOURCE LINE # 307
CLR A
MOV temp_f?2380+03H,A
MOV temp_f?2380+02H,A
MOV temp_f?2380+01H,A
MOV temp_f?2380,A
; ctrl1=0x00;
; SOURCE LINE # 308
MOV ctrl1?2381,A
; DATA_pin=0;
; SOURCE LINE # 309
CLR P1_3
; WCLK_pin=0;
; SOURCE LINE # 310
CLR P1_1
; FQ_UD_pin=0;
; SOURCE LINE # 311
CLR P1_2
;
; delay(10);
; SOURCE LINE # 313
MOV R7,#0AH
LCALL _delay
; init8279();
; SOURCE LINE # 314
LCALL init8279
; // clearDispBuf();
; DispHELLO();
; SOURCE LINE # 316
LCALL DispHELLO
; adr=chkram();
; SOURCE LINE # 317
LCALL chkram
;---- Variable 'adr?2377' assigned to Register 'R6/R7' ----
; encode(adr);
; SOURCE LINE # 318
LCALL _encode
; Display();
; SOURCE LINE # 319
LCALL Display
; // adr=chkram();
; status=0;
; SOURCE LINE # 321
CLR A
MOV status?2382,A
; // NumberC=defaultN;
; EA=1;
; SOURCE LINE # 323
SETB EA
; EX0=1;
; SOURCE LINE # 324
SETB EX0
; EX1=0;
; SOURCE LINE # 325
CLR EX1
; ES=0;
; SOURCE LINE # 326
CLR ES
; ET0=0;
; SOURCE LINE # 327
CLR ET0
; ET1=0;
; SOURCE LINE # 328
CLR ET1
; TMOD=C_T1 | M0_1 | M0_0; //0x51; /* timer1 16位计数器 timer0 16位定时器 */
; SOURCE LINE # 329
MOV TMOD,#051H
; TH1=-NumberC/256;
; SOURCE LINE # 330
CLR C
SUBB A,NumberC+01H
MOV R5,A
CLR A
SUBB A,NumberC
MOV TH1,A
; TL1=-NumberC%256; /* timer1 计数 NumberC 中断 timer0定时 */
; SOURCE LINE # 331
MOV R7,AR5
MOV TL1,R7
; TH0=0;
; SOURCE LINE # 332
CLR A
MOV TH0,A
; TL0=0;
; SOURCE LINE # 333
MOV TL0,A
; THG0=0;
; SOURCE LINE # 334
MOV THG0,A
; TSET=0;
; SOURCE LINE # 335
MOV TSET,A
; ET0=1;
; SOURCE LINE # 336
SETB ET0
; ET1=1;
; SOURCE LINE # 337
SETB ET1
; TR0=1;
; SOURCE LINE # 338
SETB TR0
; TR1=1;
; SOURCE LINE # 339
SETB TR1
; init_dds();
; SOURCE LINE # 340
LCALL init_dds
; delay(10);
; SOURCE LINE # 341
MOV R7,#0AH
LCALL _delay
; LED_DATA=0xfc; //on 2 LEDs
; SOURCE LINE # 342
MOV DPTR,#0E000H
MOV A,#0FCH
MOVX @DPTR,A
; /* for(;;){ //test delay();
; delay(10);
; P1_0=0;
; delay(10);
; P1_0=1;
; }*/
; update_freq(freq,ctrl1);
; SOURCE LINE # 349
MOV R7,freq?2378+03H
MOV R6,freq?2378+02H
MOV R5,freq?2378+01H
MOV R4,freq?2378
MOV ?_update_freq?BYTE+04H,ctrl1?2381
LCALL _update_freq
; status=0;
; SOURCE LINE # 350
CLR A
MOV status?2382,A
?C0104:
; // while (1) { /* repeat forever */
; // }
; while (1) { /* repeat forever */
; SOURCE LINE # 353
; if(LED_status==1){
; SOURCE LINE # 354
MOV A,LED_status
CJNE A,#01H,?C0106
; LED_status=0;
; SOURCE LINE # 355
CLR A
MOV LED_status,A
; DisplayLED();
; SOURCE LINE # 356
LCALL DisplayLED
; }
; SOURCE LINE # 357
?C0106:
;
;
; if(keyNum==1){
; SOURCE LINE # 360
MOV A,keyNum
CJNE A,#01H,?C0104
;
; switch(keyChar)
; SOURCE LINE # 362
MOV A,keyChar
LCALL ?C?CCASE
DW ?C0124
DB 023H
DW ?C0123
DB 02AH
DW ?C0122
DB 030H
DW ?C0122
DB 031H
DW ?C0122
DB 032H
DW ?C0122
DB 033H
DW ?C0122
DB 034H
DW ?C0122
DB 035H
DW ?C0122
DB 036H
DW ?C0122
DB 037H
DW ?C0122
DB 038H
DW ?C0122
DB 039H
DW ?C0109
DB 041H
DW ?C0110
DB 042H
DW ?C0111
DB 043H
DW ?C0112
DB 044H
DW 00H
DW ?C0108
; {
; SOURCE LINE # 363
; case 'A' : /* F1 */
; SOURCE LINE # 364
?C0109:
; freq=temp_f<<10;
; SOURCE LINE # 365
MOV R7,temp_f?2380+03H
MOV R6,temp_f?2380+02H
MOV R5,temp_f?2380+01H
MOV R4,temp_f?2380
MOV R0,#0AH
LCALL ?C?LSHL
MOV freq?2378+03H,R7
MOV freq?2378+02H,R6
MOV freq?2378+01H,R5
MOV freq?2378,R4
; update_freq(freq,ctrl1);
; SOURCE LINE # 366
MOV ?_update_freq?BYTE+04H,ctrl1?2381
LCALL _update_freq
; temp_f=0;
; SOURCE LINE # 367
CLR A
MOV temp_f?2380+03H,A
MOV temp_f?2380+02H,A
MOV temp_f?2380+01H,A
MOV temp_f?2380,A
; clearDispBuf();
; SOURCE LINE # 368
; encode6(freq);
; SOURCE LINE # 369
LCALL L?0136
; Display();
; SOURCE LINE # 370
LCALL Display
; status=0;
; SOURCE LINE # 371
CLR A
MOV status?2382,A
; break;
; SOURCE LINE # 372
LJMP ?C0108
; case 'B' : /* F2 */
; SOURCE LINE # 373
?C0110:
; dfreq=temp_f<<10;
; SOURCE LINE # 374
MOV R7,temp_f?2380+03H
MOV R6,temp_f?2380+02H
MOV R5,temp_f?2380+01H
MOV R4,temp_f?2380
MOV R0,#0AH
LCALL ?C?LSHL
MOV dfreq?2379+03H,R7
MOV dfreq?2379+02H,R6
MOV dfreq?2379+01H,R5
MOV dfreq?2379,R4
; temp_f=0;
; SOURCE LINE # 375
; clearDispBuf();
; SOURCE LINE # 376
LCALL L?0139
; encode6(dfreq);
; SOURCE LINE # 377
MOV R7,dfreq?2379+03H
MOV R6,dfreq?2379+02H
MOV R5,dfreq?2379+01H
MOV R4,dfreq?2379
LCALL _encode6
; Display();
; SOURCE LINE # 378
LCALL Display
; status=0;
; SOURCE LINE # 379
CLR A
MOV status?2382,A
; break;
; SOURCE LINE # 380
LJMP ?C0108
; case 'C' : /* F3 */
; SOURCE LINE # 381
?C0111:
; freq+=dfreq;
; SOURCE LINE # 382
MOV A,freq?2378+03H
ADD A,dfreq?2379+03H
MOV freq?2378+03H,A
MOV A,freq?2378+02H
ADDC A,dfreq?2379+02H
MOV freq?2378+02H,A
MOV A,freq?2378+01H
ADDC A,dfreq?2379+01H
MOV freq?2378+01H,A
MOV A,freq?2378
ADDC A,dfreq?2379
; update_freq(freq,ctrl1);
; SOURCE LINE # 383
LCALL L?0138
; clearDispBuf();
; SOURCE LINE # 384
; encode6(freq);
; SOURCE LINE # 385
LCALL L?0136
; Display(); /* */
; SOURCE LINE # 386
LCALL Display
; status=0;
; SOURCE LINE # 387
CLR A
MOV status?2382,A
; break;
; SOURCE LINE # 388
LJMP ?C0108
; case 'D' : /* F4 */
; SOURCE LINE # 389
?C0112:
; freq-=dfreq;
; SOURCE LINE # 390
CLR C
MOV A,freq?2378+03H
SUBB A,dfreq?2379+03H
MOV freq?2378+03H,A
MOV A,freq?2378+02H
SUBB A,dfreq?2379+02H
MOV freq?2378+02H,A
MOV A,freq?2378+01H
SUBB A,dfreq?2379+01H
MOV freq?2378+01H,A
MOV A,freq?2378
SUBB A,dfreq?2379
; update_freq(freq,ctrl1);
; SOURCE LINE # 391
LCALL L?0138
; clearDispBuf();
; SOURCE LINE # 392
; encode6(freq);
; SOURCE LINE # 393
LCALL L?0136
; Display(); /* */
; SOURCE LINE # 394
LCALL Display
; status=1;
; SOURCE LINE # 395
MOV status?2382,#01H
; break;
; SOURCE LINE # 396
SJMP ?C0108
; case '1' :
; SOURCE LINE # 397
; case '2' :
; SOURCE LINE # 398
; case '3' :
; SOURCE LINE # 399
; case '4' :
; SOURCE LINE # 400
; case '5' :
; SOURCE LINE # 401
; case '6' :
; SOURCE LINE # 402
; case '7' :
; SOURCE LINE # 403
; case '8' :
; SOURCE LINE # 404
; case '9' :
; SOURCE LINE # 405
; case '0' :
; SOURCE LINE # 406
?C0122:
; /* if((key_num==0) && ((status & 0x80)!=0)){
; clearDispBuf();
; Display();
; key_num=0;
; }
; if((status & 0x80)!=0){
; if(key_num<5){
; DisplayChar(LedTab[keyChar-0x30]);
; out_char[key_num]=keyChar;
; key_num++;
; }
; }*/
; temp_f=10*temp_f;
; SOURCE LINE # 419
MOV R7,temp_f?2380+03H
MOV R6,temp_f?2380+02H
MOV R5,temp_f?2380+01H
MOV R4,temp_f?2380
CLR A
MOV R3,#0AH
MOV R2,A
MOV R1,A
MOV R0,A
LCALL ?C?LMUL
MOV temp_f?2380+03H,R7
MOV temp_f?2380+02H,R6
MOV temp_f?2380+01H,R5
MOV temp_f?2380,R4
; temp_f+=keyChar&0x0f;
; SOURCE LINE # 420
MOV A,keyChar
ANL A,#0FH
MOV R7,A
CLR A
MOV R4,A
MOV R5,A
MOV R6,A
MOV A,temp_f?2380+03H
ADD A,R7
MOV temp_f?2380+03H,A
MOV A,R6
ADDC A,temp_f?2380+02H
MOV temp_f?2380+02H,A
MOV A,R5
ADDC A,temp_f?2380+01H
MOV temp_f?2380+01H,A
MOV A,R4
ADDC A,temp_f?2380
MOV temp_f?2380,A
; encode5(keyChar);
; SOURCE LINE # 421
MOV R7,keyChar
LCALL _encode5
; Display(); /* */
; SOURCE LINE # 422
LCALL Display
; status=0;
; SOURCE LINE # 423
CLR A
MOV status?2382,A
; break;
; SOURCE LINE # 424
SJMP ?C0108
;
;
;
; case '*' :
; SOURCE LINE # 428
?C0123:
; temp_f=0;
; SOURCE LINE # 429
; clearDispBuf();
; SOURCE LINE # 430
LCALL L?0139
; Display();
; SOURCE LINE # 431
LCALL Display
; break;
; SOURCE LINE # 432
SJMP ?C0108
; case '#' :
; SOURCE LINE # 433
?C0124:
; encode6(freq);
; SOURCE LINE # 434
LCALL L?0137
; Display(); /* */
; SOURCE LINE # 435
LCALL Display
; status=0;
; SOURCE LINE # 436
CLR A
MOV status?2382,A
; /* if(status==1){
; adr=chkram();
; encode(adr);
; Display();
; status=0;
; }
; else{
; encode5(keyChar);
; DispBuf[7]=LedTab[keyChar-'#'+16]; //#(0x23) --> 16 P *(0x2a) --> 23 -
; Display();
; } */
; break;
; SOURCE LINE # 448
; default :
; SOURCE LINE # 449
; ;
; }
; SOURCE LINE # 451
?C0108:
; keyNum=0;
; SOURCE LINE # 452
CLR A
MOV keyNum,A
; }
; SOURCE LINE # 453
; } /* loop forever */
; SOURCE LINE # 454
LJMP ?C0104
; }
; SOURCE LINE # 455
; END OF main
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -