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

📄 playedit.s

📁 mega128+VS1003做的mp3的程序 可以用WINAVR编译
💻 S
📖 第 1 页 / 共 5 页
字号:
L206:
	.dbline 333
;  while(1){
	.dbline 334
;  		  Play_xuanzhe(&path[0],1);	  	 		   //文件选择菜单
	ldi R18,1
	ldi R19,0
	movw R16,R28
	subi R16,216  ; offset = 40
	sbci R17,255
	xcall _Play_xuanzhe
	.dbline 335
;  		  if(keybuf == K_ESC) goto out;
	lds R24,_keybuf
	cpi R24,5
	brne L209
	.dbline 335
	xjmp L211
L209:
	.dbline 336
; 		  if(keybuf == K_ENTER) break;
	lds R24,_keybuf
	cpi R24,4
	brne L212
	.dbline 336
	xjmp L208
L212:
	.dbline 337
L207:
	.dbline 333
	xjmp L206
L208:
	.dbline 338
; 		 } 
;  show_clear();	 	  	 		   //清除显示区
	xcall _show_clear
	.dbline 339
;  show_lcd(0, 0, 192, 2, &please_time[0],0);    
	clr R2
	clr R3
	std y+7,R3
	std y+6,R2
	ldi R24,<_please_time
	ldi R25,>_please_time
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,192
	std y+1,R25
	std y+0,R24
	clr R18
	clr R19
	clr R16
	clr R17
	xcall _show_lcd
	.dbline 340
;  show_play(&Filename[0],3,0);	   //显示选择的文件名
	clr R2
	clr R3
	std y+1,R3
	std y+0,R2
	ldi R18,3
	ldi R19,0
	ldi R16,<_Filename
	ldi R17,>_Filename
	xcall _show_play
	.dbline 341
;  set_out_time(&playtime,6);		   //得到定时时间
	ldi R18,6
	ldi R19,0
	movw R16,R28
	subi R16,206  ; offset = 50
	sbci R17,255
	xcall _set_out_time
	.dbline 342
;  if(keybuf == K_ESC) break;
	lds R24,_keybuf
	cpi R24,5
	brne L214
	.dbline 342
	xjmp L194
L214:
	.dbline 343
	ldd R2,y+52
	std y+37,R2
	.dbline 344
	ldd R2,y+51
	std y+38,R2
	.dbline 345
	ldd R2,y+50
	std y+39,R2
	.dbline 346
	ldi R24,85
	std y+36,R24
	.dbline 347
	ldi R18,<_Filename
	ldi R19,>_Filename
	movw R16,R28
	subi R16,248  ; offset = 8
	sbci R17,255
	xcall _strcpy
	.dbline 348
	ldi R24,32
	ldi R25,0
	std y+1,R25
	std y+0,R24
	movw R18,R28
	subi R18,248  ; offset = 8
	sbci R19,255
	movw R16,R20
	xcall _EEPROMWriteBytes
	.dbline 349
L193:
	.dbline 316
	xjmp L198
L194:
L211:
	.dbline 350
	.dbline 351
L179:
	.dbline 306
	xjmp L182
X23:
	.dbline -2
L177:
	adiw R28,53
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym l playtime 50 X
	.dbsym l path 40 A[10:10]c
	.dbsym r point 20 i
	.dbsym r day 22 c
	.dbsym l FILE 8 X
	.dbsym r data 22 c
	.dbend
	.dbfunc e Play_edit_data _Play_edit_data fV
;           data -> R20
;             ii -> R22
	.even
_Play_edit_data::
	xcall push_gset5
	sbiw R28,8
	.dbline -1
	.dbline 361
;  FILE.hour = playtime.hour;
;  FILE.min  = playtime.min;
;  FILE.sec  = playtime.sec;
;  FILE.active  = 0x55;
;  strcpy(&FILE.filename[0],&Filename[0]);
;  EEPROMWriteBytes(point,&FILE,sizeof(FILE));
;  } 
;  out:;
;  }
;  }
;  
;  /////////////////////////////////////////////////////////////////////////////////////////////
;  extern uchar const DotTbl16[];
;  extern unsigned char const add_tab[];
;  extern unsigned char const del_tab[];
;  extern unsigned char const show_tab[];
;  extern unsigned char const nAsciiDot[];
;  void Play_edit_data(void)
;  {
	.dbline 364
;    uchar ii;
;    uchar data;
;    data = 0;
	clr R20
	.dbline 365
;    show_clear();
	xcall _show_clear
	xjmp L224
L223:
	.dbline 366
;    while(1){
	.dbline 367
;    			ii = 0;
	clr R22
	.dbline 368
;    			show_lcd(0, ii, 16, 2, &DotTbl16[9*32],0);//星期
	clr R2
	clr R3
	std y+7,R3
	std y+6,R2
	ldi R24,<_DotTbl16+288
	ldi R25,>_DotTbl16+288
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	clr R19
	clr R16
	clr R17
	xcall _show_lcd
	.dbline 369
;    			ii += 16;
	subi R22,240    ; addi 16
	.dbline 370
;    			show_lcd(0, ii, 16, 2, &DotTbl16[10*32],0);//星期
	clr R2
	clr R3
	std y+7,R3
	std y+6,R2
	ldi R24,<_DotTbl16+320
	ldi R25,>_DotTbl16+320
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	clr R19
	clr R16
	clr R17
	xcall _show_lcd
	.dbline 371
; 			ii += 16;
	subi R22,240    ; addi 16
	.dbline 372
;    			show_lcd(0, ii, 8, 2, &nAsciiDot[26*16],0);//:
	clr R2
	clr R3
	std y+7,R3
	std y+6,R2
	ldi R24,<_nAsciiDot+416
	ldi R25,>_nAsciiDot+416
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,8
	std y+1,R25
	std y+0,R24
	mov R18,R22
	clr R19
	clr R16
	clr R17
	xcall _show_lcd
	.dbline 374
; 			
; 			ii = 32;
	ldi R22,32
	.dbline 375
; 			show_lcd(3, ii, 16, 2, &DotTbl16[11*32],0);
	clr R2
	clr R3
	std y+7,R3
	std y+6,R2
	ldi R24,<_DotTbl16+352
	ldi R25,>_DotTbl16+352
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	clr R19
	ldi R16,3
	ldi R17,0
	xcall _show_lcd
	.dbline 376
; 			ii += 32;
	subi R22,224    ; addi 32
	.dbline 377
; 			show_lcd(3, ii, 16, 2, &DotTbl16[12*32],0);
	clr R2
	clr R3
	std y+7,R3
	std y+6,R2
	ldi R24,<_DotTbl16+384
	ldi R25,>_DotTbl16+384
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	clr R19
	ldi R16,3
	ldi R17,0
	xcall _show_lcd
	.dbline 378
; 			ii += 32;
	subi R22,224    ; addi 32
	.dbline 379
; 			show_lcd(3, ii, 16, 2, &DotTbl16[13*32],0);
	clr R2
	clr R3
	std y+7,R3
	std y+6,R2
	ldi R24,<_DotTbl16+416
	ldi R25,>_DotTbl16+416
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	clr R19
	ldi R16,3
	ldi R17,0
	xcall _show_lcd
	.dbline 380
; 			ii = 129;
	ldi R22,129
	.dbline 381
; 			show_lcd(3, ii, 16, 2, &DotTbl16[14*32],0);
	clr R2
	clr R3
	std y+7,R3
	std y+6,R2
	ldi R24,<_DotTbl16+448
	ldi R25,>_DotTbl16+448
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	clr R19
	ldi R16,3
	ldi R17,0
	xcall _show_lcd
	.dbline 383
; 			
; 			ii += 32;
	subi R22,224    ; addi 32
	.dbline 384
; 			show_lcd(3, ii, 16, 2, &DotTbl16[15*32],0);
	clr R2
	clr R3
	std y+7,R3
	std y+6,R2
	ldi R24,<_DotTbl16+480
	ldi R25,>_DotTbl16+480
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	clr R19
	ldi R16,3
	ldi R17,0
	xcall _show_lcd
	.dbline 385
; 			ii = 0;
	clr R22
	.dbline 386
; 			show_lcd(6, ii, 16, 2, &DotTbl16[16*32],0);
	clr R2
	clr R3
	std y+7,R3
	std y+6,R2
	ldi R24,<_DotTbl16+512
	ldi R25,>_DotTbl16+512
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	clr R19
	ldi R16,6
	ldi R17,0
	xcall _show_lcd
	.dbline 387
; 			ii += 32;
	subi R22,224    ; addi 32
	.dbline 388
; 			show_lcd(6, ii, 16, 2, &DotTbl16[2*32],0);
	clr R2
	clr R3
	std y+7,R3
	std y+6,R2
	ldi R24,<_DotTbl16+64
	ldi R25,>_DotTbl16+64
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	clr R19
	ldi R16,6
	ldi R17,0
	xcall _show_lcd
	.dbline 389
; 			ii += 32;
	subi R22,224    ; addi 32
	.dbline 390
	mov R10,R20
	clr R11
	tst R10
	brne X24
	tst R11
	breq L239
X24:
	movw R24,R10
	cpi R24,1
	ldi R30,0
	cpc R25,R30
	breq L241
	cpi R24,2
	ldi R30,0
	cpc R25,R30
	brne X32
	xjmp L243
X32:
	cpi R24,3
	ldi R30,0
	cpc R25,R30
	brne X33
	xjmp L245
X33:
	cpi R24,4
	ldi R30,0
	cpc R25,R30
	brne X34
	xjmp L247
X34:
	cpi R24,5
	ldi R30,0
	cpc R25,R30
	brne X35
	xjmp L249
X35:
	cpi R24,6
	ldi R30,0
	cpc R25,R30
	brne X36
	xjmp L251
X36:
	xjmp L236
X25:
	.dbline 390
; 			switch(data){
L239:
	.dbline 392
; 						 case 0://星期1
; 						 	    show_lcd(3, 32, 16, 2, &DotTbl16[11*32],1);
	ldi R24,1
	ldi R25,0
	std y+7,R25
	std y+6,R24
	ldi R24,<_DotTbl16+352
	ldi R25,>_DotTbl16+352
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,16
	std y+1,R25
	std y+0,R24
	ldi R18,32
	ldi R19,0
	ldi R16,3
	ldi R17,0
	xcall _show_lcd
	.dbline 393
; 						 	    break;
	xjmp L237
L241:
	.dbline 395
; 						 case 1://星期2
; 						 	    show_lcd(3, 64, 16, 2, &DotTbl16[12*32],1);
	ldi R24,1
	ldi R25,0
	std y+7,R25
	std y+6,R24
	ldi R24,<_DotTbl16+384
	ldi R25,>_DotTbl16+384
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,16
	std y+1,R25
	std y+0,R24
	ldi R18,64
	ldi R19,0
	ldi R16,3
	ldi R17,0
	xcall _show_lcd
	.dbline 396
; 						 	    break;
	xjmp L237
L243:
	.dbline 398
; 					     case 2://星期3
; 						 	    show_lcd(3, 96, 16, 2, &DotTbl16[13*32],1);
	ldi R24,1
	ldi R25,0
	std y+7,R25
	std y+6,R24
	ldi R24,<_DotTbl16+416
	ldi R25,>_DotTbl16+416
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,16
	std y+1,R25
	std y+0,R24
	ldi R18,96
	ldi R19,0
	ldi R16,3
	ldi R17,0
	xcall _show_lcd
	.dbline 399
; 						 	    break;
	xjmp L237
L245:
	.dbline 401
; 						 case 3://星期4
; 						 	    show_lcd(3, 129, 16, 2, &DotTbl16[14*32],1);
	ldi R24,1
	ldi R25,0
	std y+7,R25
	std y+6,R24
	ldi R24,<_DotTbl16+448
	ldi R25,>_DotTbl16+448
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,16
	std y+1,R25
	std y+0,R24
	ldi R18,129
	ldi R19,0
	ldi R16,3
	ldi R17,0
	xcall _show_lcd
	.dbline 402
; 						 	    break;
	xjmp L237
L247:
	.dbline 404
; 						 case 4://星期5
; 						        show_lcd(3, 161, 16, 2, &DotTbl16[15*32],1);
	ldi R24,1
	ldi R25,0
	std y+7,R25
	std y+6,R24
	ldi R24,<_DotTbl16+480
	ldi R25,>_DotTbl16+480
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,16
	std y+1,R25
	std y+0,R24
	ldi R18,161
	ldi R19,0
	ldi R16,3
	ldi R17,0
	xcall _show_lcd
	.dbline 405
; 						 	    break;
	xjmp L237
L249:
	.dbline 407
; 						 case 5://星期6
; 						 	    show_lcd(6, 0, 16, 2, &DotTbl16[16*32],1);
	ldi R24,1
	ldi R25,0
	std y+7,R25
	std y+6,R24
	ldi R24,<_DotTbl16+512
	ldi R25,>_DotTbl16+512
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,16
	std y+1,R25
	std y+0,R24
	clr R18
	clr R19
	ldi R16,6
	ldi R17,0
	xcall _show_lcd
	.dbline 408
; 						 	    break;
	xjmp L237
L251:
	.dbline 410
; 						 case 6://星期日
; 						 	    show_lcd(6, 32, 16, 2, &DotTbl16[2*32],1);
	ldi R24,1
	ldi R25,0
	std y+7,R25
	std y+6,R24
	ldi R24,<_DotTbl16+64
	ldi R25,>_DotTbl16+64
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,16
	std y+1,R25
	std y+0,R24
	ldi R18,32
	ldi R19,0
	ldi R16,6
	ldi R17,0
	xcall _show_lcd
	.dbline 411
; 						 	    break;													
L236:
L237:
	.dbline 413
; 			            }
; 			KEYBUF_NULL;
	clr R2
	sts _keybuf,R2
	.dbline 413
L253:
	.dbline 414
L254:
	.dbline 414
; 			while(keybuf == NULL);
	lds R2,_keybuf
	tst R2
	breq L253
	.dbline 415
; 			if((keybuf == K_RIFT)|(keybuf == K_DOWN)){(++data == 7) ? (data = 0) : 0;}
	mov R24,R2
	cpi R24,6
	brne L258
	ldi R24,1
	ldi R25,0
	movw R14,R24
	xjmp L259
L258:
	clr R14
	clr R15
L259:
	lds R24,_keybuf
	cpi R24,1
	brne L260
	ldi R24,1
	ldi R25,0
	movw R12,R24
	xjmp L261
L260:
	clr R12
	clr R13
L261:
	movw R2,R14
	or R2,R12
	or R3,R13
	tst R2
	brne X26
	tst R3
	breq L256
X26:
	.dbline 415
	.dbline 415
	mov R24,R20
	subi R24,255    ; addi 1
	mov R20,R24
	cpi R20,7
	brne L263
	clr R20
	xjmp L263
L263:
	.dbline 415
L256:
	.dbline 416
; 			if((keybuf == K_LIFT)|(keybuf == K_UP)){(--data == 255) ? (data = 6) : 0;}
	lds R24,_keybuf
	cpi R24,2
	brne L266
	ldi R24,1
	ldi R25,0
	movw R14,R24
	xjmp L267
L266:
	clr R14
	clr R15
L267:
	lds R24,_keybuf
	cpi R24,3
	brne L268
	ldi R24,1
	ldi R25,0
	movw R12,R24
	xjmp L269
L268:
	clr R12
	clr R13
L269:
	movw R2,R14
	or R2,R12
	or R3,R13
	tst R2
	brne X27
	tst R3
	breq L264
X27:
	.dbline 416
	.dbline 416
	mov R24,R20
	subi R24,1
	mov R20,R24
	cpi R20,255
	brne L271
	ldi R20,6
	xjmp L271
L271:
	.dbline 416
L264:
	.dbline 417
; 			if(keybuf == K_ESC) break;
	lds R24,_keybuf
	cpi R24,5
	brne L272
	.dbline 417
	xjmp L225
L272:
	.dbline 418
; 			if(keybuf != K_ENTER) continue;
	lds R24,_keybuf
	cpi R24,4
	breq L274
	.dbline 418
	xjmp L224
L274:
	.dbline 419
; 			ii = 0;
	clr R22
	xjmp L277
L276:
	.dbline 420
; 			while(1){
	.dbline 421
; 					 show_clear();
	xcall _show_clear
	.dbline 422
;  					 show_lcd(0, 56, 80, 2, &show_tab[0],0);  
	clr R2
	clr R3
	std y+7,R3
	std y+6,R2
	ldi R24,<_show_tab
	ldi R25,>_show_tab
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,80
	std y+1,R25
	std y+0,R24
	ldi R18,56
	ldi R19,0
	clr R16
	clr R17
	xcall _show_lcd
	.dbline 423
;  					 show_lcd(3, 56, 80, 2, &add_tab[0],0);  
	clr R2
	clr R3
	std y+7,R3
	std y+6,R2
	ldi R24,<_add_tab
	ldi R25,>_add_tab
	std y+5,R25
	std y+4,R24
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,80

⌨️ 快捷键说明

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