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

📄 vfd.s

📁 sunplus spca514 cdmp3 源码
💻 S
📖 第 1 页 / 共 4 页
字号:
	cpc R25,R23
	brlt L141
	ldi R24,<L215
	ldi R25,>L215
	movw R30,R22
	sbiw R30,1
	lsl R30
	rol R31
	add R30,R24
	adc R31,R25
	lpm R0,Z+
	lpm R1,Z
	movw R30,R0
	ijmp
X10:
	.dbline 718
; 		   {
L210:
	.dbline 720
; 		    case TUNER_MODE:
; 			     tuner_display();
	xcall _tuner_display
	.dbline 721
; 			     break;
	xjmp L141
L211:
	.dbline 723
; 			case TAPE_MODE:
; 			     Set_String("   AV1");
	ldi R16,<L197
	ldi R17,>L197
	xcall _Set_String
	.dbline 724
; 			     break;
	xjmp L141
L212:
	.dbline 726
; 			case AV2_MODE:
; 			    Set_String("   AV2");
	ldi R16,<L199
	ldi R17,>L199
	xcall _Set_String
	.dbline 727
; 				break;
	xjmp L141
L213:
	.dbline 729
; 			case AV3_MODE:
; 			     Set_String("   AV3");
	ldi R16,<L201
	ldi R17,>L201
	xcall _Set_String
	.dbline 730
; 				 break;
	xjmp L141
L214:
	.dbline 742
; 			case POWER_OFF_MODE:
; 			#ifdef CLOCK_STANDBY
; 			   g_vfd_grid_buffer[7] = num_trans(time_val[0]/10);
; 		   	   g_vfd_grid_buffer[6] = (num_trans(time_val[0]%10)|VFD_LED_COL);
; 		 	   g_vfd_grid_buffer[5] = num_trans(time_val[1]/10);
; 		 	   g_vfd_grid_buffer[4] = (num_trans(time_val[1]%10)|VFD_LED_COL);
; 		       g_vfd_grid_buffer[3] = num_trans(time_val[2]/10);
; 			   g_vfd_grid_buffer[2] = num_trans(time_val[2]%10);
; 			 #endif
; 			   //Set_FS1_H();
; 			   //Set_FS2_H(); 
;     		   muted = 1;
	ldi R24,1
	sts _muted,R24
	.dbline 743
; 			   MCU_mute();
	xcall _MCU_mute
	.dbline 744
; 			   delay_ms(100);
	ldi R16,100
	ldi R17,0
	xcall _delay_ms
	.dbline 745
; 			   led_val = 0x01;
	ldi R24,1
	sts _led_val,R24
	.dbline 746
; 			   decoder_power_off();
	clr R16
	clr R17
	xcall _DEC_power
	.dbline 747
; 			   break;
	.dbline 749
; 		   }
; 		   break;
L141:
	.dbline 754
L134:
	.dbline 754
; 
; 		
;    }
;   
;  };	
	.dbline 755
;   if(work_mode != POWER_OFF_MODE)
	lds R24,_work_mode
	cpi R24,5
	breq L217
	.dbline 756
;   {
	.dbline 757
;    	if(muted)
	lds R2,_muted
	tst R2
	breq L219
	.dbline 758
;       g_vfd_grid_buffer[7] |= VFD_LED_MUTE;
	lds R25,_g_vfd_grid_buffer+14+1
	lds R24,_g_vfd_grid_buffer+14
	ori R25,64
	sts _g_vfd_grid_buffer+14+1,R25
	sts _g_vfd_grid_buffer+14,R24
L219:
	.dbline 759
;    	if(g_ui_timing_cnt)
	lds R3,_g_ui_timing_cnt+1
	lds R2,_g_ui_timing_cnt
	tst R2
	brne X17
	tst R3
	breq L222
X17:
	.dbline 760
; 	   g_vfd_grid_buffer[0] |= VFD_LED_SLEEP;
	lds R25,_g_vfd_grid_buffer+1
	lds R24,_g_vfd_grid_buffer
	ori R25,128
	sts _g_vfd_grid_buffer+1,R25
	sts _g_vfd_grid_buffer,R24
L222:
	.dbline 763
L217:
	.dbline 763
; 	 //if(g_tape_s.pstate==TAPE_FWD_REC)
; 	   //g_vfd_grid_buffer[10] |= VFD_LED_REC;
;    };
	.dbline 764
;  VFD_LL_SetGrid();				 
	xcall _VFD_LL_SetGrid
	.dbline 765
;  for(i=0; i<VFD_BUFFER_SIZE; i++)
	clr R20
	xjmp L227
L224:
	.dbline 766
	.dbline 767
	ldi R24,<_g_vfd_grid_buffer
	ldi R25,>_g_vfd_grid_buffer
	mov R30,R20
	clr R31
	lsl R30
	rol R31
	add R30,R24
	adc R31,R25
	ldd R18,z+0
	ldd R19,z+1
	mov R16,R20
	clr R17
	xcall _VFD_LL_WriteDisplayRAM
	.dbline 769
	lds R16,_led_val
	clr R17
	xcall _VFD_LL_RefreshLED
	.dbline 773
L225:
	.dbline 765
	inc R20
L227:
	.dbline 765
	cpi R20,12
	brlo L224
	.dbline 773
;  {
;   VFD_LL_WriteDisplayRAM( i, g_vfd_grid_buffer[i]);
;  
;  VFD_LL_RefreshLED(led_val);
;  #ifdef MORE_THAN_16SEGMENT
;   VFD_LL_WriteExtDisplayRAM(i,g_vfd_grid_ext_buffer[i]);
;  #endif
;  };
	.dbline 774
;  VFD_LL_SetDim(0x0f);
	ldi R16,15
	ldi R17,0
	xcall _VFD_LL_SetDim
	.dbline -2
	.dbline 775
; }
L133:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r value 22 i
	.dbsym r i 20 c
	.dbfunc s Set_String _Set_String fI
;            pos -> R20,R21
;            str -> R16,R17
	.even
_Set_String::
	xcall push_gset1
	.dbline -1
	.dbline 778
; 
; unsigned char Set_String(unsigned char *str)
; {
	.dbline 784
; //	int position;
; //	int counter = 0;
; 	int pos;
; //	int letter_index;
; 
; 	for(pos = 9; pos > 1; pos--)
	ldi R20,9
	ldi R21,0
L229:
	.dbline 785
; 	{
	.dbline 786
; 		if (*str)
	movw R30,R16
	ldd R2,z+0
	tst R2
	brne X18
	xjmp L233
X18:
	.dbline 787
; 		{
	.dbline 788
; 			if ( ((*str)>='A') && ((*str)<='Z'))
	clr R3
	movw R24,R2
	cpi R24,65
	ldi R30,0
	cpc R25,R30
	brlt L235
	ldi R24,90
	ldi R25,0
	cp R24,R2
	cpc R25,R3
	brlt L235
	.dbline 789
; 			{
	.dbline 790
; 				g_vfd_grid_buffer[pos] =  vfd_alpha[(*str)-'A'];
	ldi R24,<_vfd_alpha
	ldi R25,>_vfd_alpha
	mov R30,R2
	clr R31
	subi R30,65
	sbci R31,0
	lsl R30
	rol R31
	add R30,R24
	adc R31,R25
	lpm R0,Z+
	lpm R1,Z
	movw R30,R0
	ldi R24,<_g_vfd_grid_buffer
	ldi R25,>_g_vfd_grid_buffer
	movw R26,R20
	lsl R26
	rol R27
	add R26,R24
	adc R27,R25
	st x+,R30
	st x,R31
	.dbline 791
; 			}
	xjmp L236
L235:
	.dbline 792
; 			else if ( (*str) == '-' )
	movw R30,R16
	ldd R24,z+0
	cpi R24,45
	brne L237
	.dbline 793
; 			{
	.dbline 794
; 				g_vfd_grid_buffer[pos] =  VFD_alpha_DASH;
	ldi R24,<_g_vfd_grid_buffer
	ldi R25,>_g_vfd_grid_buffer
	movw R30,R20
	lsl R30
	rol R31
	add R30,R24
	adc R31,R25
	ldi R24,8192
	ldi R25,32
	std z+0,R24
	std z+1,R25
	.dbline 795
; 			}
	xjmp L238
L237:
	.dbline 796
; 			else if ( ((*str)>='0') && ((*str)<='9'))
	movw R30,R16
	ldd R2,z+0
	clr R3
	movw R24,R2
	cpi R24,48
	ldi R30,0
	cpc R25,R30
	brlt L239
	ldi R24,57
	ldi R25,0
	cp R24,R2
	cpc R25,R3
	brlt L239
	.dbline 797
; 			{
	.dbline 799
; 
; 				g_vfd_grid_buffer[pos] =  num_xlate[(*str)-'0'];
	ldi R24,<_num_xlate
	ldi R25,>_num_xlate
	mov R30,R2
	clr R31
	sbiw R30,48
	lsl R30
	rol R31
	add R30,R24
	adc R31,R25
	lpm R0,Z+
	lpm R1,Z
	movw R30,R0
	ldi R24,<_g_vfd_grid_buffer
	ldi R25,>_g_vfd_grid_buffer
	movw R26,R20
	lsl R26
	rol R27
	add R26,R24
	adc R27,R25
	st x+,R30
	st x,R31
	.dbline 800
; 			}
	xjmp L240
L239:
	.dbline 801
; 	        else if((*str)=='*')
	movw R30,R16
	ldd R24,z+0
	cpi R24,42
	brne L241
	.dbline 802
; 			{
	.dbline 803
; 			   g_vfd_grid_buffer[pos] = VFD_alpha_aster;
	ldi R24,<_g_vfd_grid_buffer
	ldi R25,>_g_vfd_grid_buffer
	movw R30,R20
	lsl R30
	rol R31
	add R30,R24
	adc R31,R25
	ldi R24,3804
	ldi R25,14
	std z+0,R24
	std z+1,R25
	.dbline 804
; 			}
	xjmp L242
L241:
	.dbline 805
; 			else if((*str)==0x0D)
	movw R30,R16
	ldd R24,z+0
	cpi R24,13
	brne L243
	.dbline 806
; 			  return 0;
	clr R16
	clr R17
	xjmp L228
L243:
	.dbline 807
; 			else if((*str)==0x0A)
	movw R30,R16
	ldd R24,z+0
	cpi R24,10
	brne L245
	.dbline 808
; 			  return 1;
	ldi R16,1
	ldi R17,0
	xjmp L228
L245:
L242:
L240:
L238:
L236:
	.dbline 809
; 			str++;
	subi R16,255  ; offset = 1
	sbci R17,255
	.dbline 811
; 
; 		}
	xjmp L234
L233:
	.dbline 813
; 		else
; 		 return 0;
	clr R16
	clr R17
	xjmp L228
L234:
	.dbline 815
L230:
	.dbline 784
	subi R20,1
	sbci R21,0
	.dbline 784
	ldi R24,1
	ldi R25,0
	cp R24,R20
	cpc R25,R21
	brge X19
	xjmp L229
X19:
	.dbline 816
; 
; 	}
; 	return 1;
	ldi R16,1
	ldi R17,0
	.dbline -2
L228:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r pos 20 I
	.dbsym r str 16 pc
	.area bss(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
_info::
	.blkb 2
	.dbsym s info _info i
_blink_time::
	.blkb 1
	.dbsym s blink_time _blink_time c
_err_msg::
	.blkb 2
	.dbsym s err_msg _err_msg pc
_g_ui_timing_cnt::
	.blkb 2
	.dbsym s g_ui_timing_cnt _g_ui_timing_cnt i
_g_vfd_grid_buffer::
	.blkb 24
	.dbsym s g_vfd_grid_buffer _g_vfd_grid_buffer A[24:12]i
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L201:
	.blkb 7
	.area idata
	.byte 32,32,32,'A,'V,51,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L199:
	.blkb 7
	.area idata
	.byte 32,32,32,'A,'V,50,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L197:
	.blkb 7
	.area idata
	.byte 32,32,32,'A,'V,49,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L195:
	.blkb 7
	.area idata
	.byte 32,'T,'U,'N,'E,'R,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L182:
	.blkb 6
	.area idata
	.byte 'S,'L,'E,'E,'P,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L170:
	.blkb 4
	.area idata
	.byte 'B,'A,'L,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L161:
	.blkb 7
	.area idata
	.byte 'T,'R,'E,'B,'L,'E,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L153:
	.blkb 5
	.area idata
	.byte 'B,'A,'S,'S,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L146:
	.blkb 4
	.area idata
	.byte 'V,'O,'L,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L144:
	.blkb 9
	.area idata
	.byte 'A,57,56,48,'R,49,48,52,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L119:
	.blkb 6
	.area idata
	.byte 'S,'T,'O,'R,'E,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L115:
	.blkb 6
	.area idata
	.byte 'N,'O,32,'C,'T,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L105:
	.blkb 6
	.area idata
	.byte 'N,'O,32,'R,'T,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L93:
	.blkb 6
	.area idata
	.byte 'O,'T,'H,'E,'R,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L92:
	.blkb 6
	.area idata
	.byte 'A,'L,'A,'R,'M,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L90:
	.blkb 8
	.area idata
	.byte 'O,'T,'H,'E,'R,32,'M,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L88:
	.blkb 9
	.area idata
	.byte 'C,'L,'A,'S,'S,'I,'C,'S,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L86:
	.blkb 8
	.area idata
	.byte 'L,'I,'G,'H,'T,32,'M,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L84:
	.blkb 7
	.area idata
	.byte 'E,'A,'S,'Y,32,'M,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L82:
	.blkb 7
	.area idata
	.byte 'R,'O,'C,'K,32,'M,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L80:
	.blkb 6
	.area idata
	.byte 'P,'O,'P,32,'M,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L78:
	.blkb 7
	.area idata
	.byte 'V,'A,'R,'I,'E,'D,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L76:
	.blkb 8
	.area idata
	.byte 'S,'C,'I,'E,'N,'C,'E,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L74:
	.blkb 8
	.area idata
	.byte 'C,'U,'L,'T,'U,'T,'E,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L72:
	.blkb 6
	.area idata
	.byte 'D,'R,'A,'M,'A,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L70:
	.blkb 8
	.area idata
	.byte 'E,'D,'U,'C,'A,'T,'E,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L68:
	.blkb 6
	.area idata
	.byte 'S,'P,'O,'R,'T,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L66:
	.blkb 5
	.area idata
	.byte 'I,'N,'F,'O,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L64:
	.blkb 8
	.area idata
	.byte 'A,'F,'F,'A,'I,'R,'S,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L62:
	.blkb 5
	.area idata
	.byte 'N,'E,'W,'S,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L60:
	.blkb 5
	.area idata
	.byte 'N,'O,'N,'E,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L53:
	.blkb 7
	.area idata
	.byte 'N,'O,32,'P,'T,'Y,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L39:
	.blkb 4
	.area idata
	.byte 'P,'T,'Y,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c
L33:
	.blkb 9
	.area idata
	.byte 'N,'O,'P,'S,'N,'A,'M,'E,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\vfd.c

⌨️ 快捷键说明

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