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

📄 main.s

📁 基于ATmega64的MP3程序
💻 S
📖 第 1 页 / 共 2 页
字号:
	xcall _LCD_write_String
	.dbline 127
;  putstring("SD INIT OK!"); 
	ldi R16,<L31
	ldi R17,>L31
	xcall _putstring
	.dbline 129
;  
;  sta_Init();
	xcall _sta_Init
	.dbline 130
;  LCD_write_String(0,2,10,"STA013 OK!",0);
	clr R2
	std y+4,R2
	ldi R24,<L32
	ldi R25,>L32
	std y+3,R25
	std y+2,R24
	ldi R24,10
	std y+0,R24
	ldi R18,2
	clr R16
	xcall _LCD_write_String
	.dbline 131
;  putstring("STA013 OK!");
	ldi R16,<L32
	ldi R17,>L32
	xcall _putstring
	.dbline 133
;  
;  if(FATinit())
	xcall _FATinit
	tst R16
	breq L33
	.dbline 134
;    {
	.dbline 135
;     LCD_write_String(0,3,13,"FAT INIT ERR!",0);
	clr R2
	std y+4,R2
	ldi R24,<L35
	ldi R25,>L35
	std y+3,R25
	std y+2,R24
	ldi R24,13
	std y+0,R24
	ldi R18,3
	clr R16
	xcall _LCD_write_String
	.dbline 136
; 	putstring("FAT INIT ERR!");
	ldi R16,<L35
	ldi R17,>L35
	xcall _putstring
L36:
	.dbline 137
L37:
	.dbline 137
;     while(1);
	xjmp L36
X4:
	.dbline 138
;    }
L33:
	.dbline 139
;  LCD_write_String(0,3,12,"FAT INIT OK!",0);
	clr R2
	std y+4,R2
	ldi R24,<L39
	ldi R25,>L39
	std y+3,R25
	std y+2,R24
	ldi R24,12
	std y+0,R24
	ldi R18,3
	clr R16
	xcall _LCD_write_String
	.dbline 140
;  putstring("FAT INIT OK!");
	ldi R16,<L39
	ldi R17,>L39
	xcall _putstring
	.dbline 142
;  
;  Mp3_number_Counter();
	xcall _Mp3_number_Counter
	.dbline 144
; 
;  if(MP3_all_number==0)
	lds R2,_MP3_all_number
	tst R2
	brne L40
	.dbline 145
;     {
	.dbline 146
; 	 LCD_write_String(0,4,13,"HAVE NOT MP3!",0);     //启动3310显示没有MP3文件
	clr R2
	std y+4,R2
	ldi R24,<L42
	ldi R25,>L42
	std y+3,R25
	std y+2,R24
	ldi R24,13
	std y+0,R24
	ldi R18,4
	clr R16
	xcall _LCD_write_String
	.dbline 147
; 	 putstring("HAVE NOT MP3!");
	ldi R16,<L42
	ldi R17,>L42
	xcall _putstring
L43:
	.dbline 148
L44:
	.dbline 148
; 	 while(1);
	xjmp L43
X5:
	.dbline 149
; 	}
L40:
	.dbline 151
;  
;  Delay_ms(500);
	ldi R16,500
	ldi R17,1
	xcall _Delay_ms
	.dbline 152
;  LCD_clear();          
	xcall _LCD_clear
	.dbline 154
;                     
;  LCD_set_XY(0,2);
	ldi R18,2
	clr R16
	xcall _LCD_set_XY
	.dbline 155
;  LCD_write_byte(0xFF,1);
	ldi R18,1
	ldi R16,255
	xcall _LCD_write_byte
	.dbline 156
;  LCD_write_byte(0x01,1);
	ldi R18,1
	ldi R16,1
	xcall _LCD_write_byte
	.dbline 158
;  
;  LCD_set_XY(82,2);
	ldi R18,2
	ldi R16,82
	xcall _LCD_set_XY
	.dbline 159
;  LCD_write_byte(0x01,1);
	ldi R18,1
	ldi R16,1
	xcall _LCD_write_byte
	.dbline 160
;  LCD_write_byte(0xFF,1);
	ldi R18,1
	ldi R16,255
	xcall _LCD_write_byte
	.dbline 163
;  
;  //LCD_set_XY(0,3);
;  LCD_write_byte(0x0F,1);
	ldi R18,1
	ldi R16,15
	xcall _LCD_write_byte
	.dbline 164
;  LCD_write_byte(0x08,1);
	ldi R18,1
	ldi R16,8
	xcall _LCD_write_byte
	.dbline 166
;  
;  LCD_set_XY(82,3);
	ldi R18,3
	ldi R16,82
	xcall _LCD_set_XY
	.dbline 167
;  LCD_write_byte(0x08,1);
	ldi R18,1
	ldi R16,8
	xcall _LCD_write_byte
	.dbline 168
;  LCD_write_byte(0x0F,1);
	ldi R18,1
	ldi R16,15
	xcall _LCD_write_byte
	.dbline 170
;  
;  LCD_write_String(20,5,1,"-",0);
	clr R2
	std y+4,R2
	ldi R24,<L46
	ldi R25,>L46
	std y+3,R25
	std y+2,R24
	ldi R24,1
	std y+0,R24
	ldi R18,5
	ldi R16,20
	xcall _LCD_write_String
	.dbline 171
;  ASCII(buffer,MP3_all_number);
	lds R18,_MP3_all_number
	ldi R16,<_buffer
	ldi R17,>_buffer
	xcall _ASCII
	.dbline 172
;  LCD_write_String(26,5,2,buffer,0);
	clr R2
	std y+4,R2
	ldi R24,<_buffer
	ldi R25,>_buffer
	std y+3,R25
	std y+2,R24
	ldi R24,2
	std y+0,R24
	ldi R18,5
	ldi R16,26
	xcall _LCD_write_String
	.dbline 173
;  LCD_write_byte(0xFF,0);
	clr R18
	ldi R16,255
	xcall _LCD_write_byte
	.dbline 176
;   //=================================================================
;   /*音量显示划条*/
;   LCD_write_String(40,5,3,"vol",0);
	clr R2
	std y+4,R2
	ldi R24,<L47
	ldi R25,>L47
	std y+3,R25
	std y+2,R24
	ldi R24,3
	std y+0,R24
	ldi R18,5
	ldi R16,40
	xcall _LCD_write_String
	.dbline 177
;   buffer[0]=24;
	ldi R24,24
	sts _buffer,R24
	.dbline 178
;   LCD_set_XY(58,5);
	ldi R18,5
	ldi R16,58
	xcall _LCD_set_XY
	.dbline 179
;   LCD_write_byte(0x7E,1);
	ldi R18,1
	ldi R16,126
	xcall _LCD_write_byte
	xjmp L49
L48:
	.dbline 181
	.dbline 182
	ldi R18,1
	ldi R16,66
	xcall _LCD_write_byte
	.dbline 183
L49:
	.dbline 180
;   while(buffer[0]--)
	lds R2,_buffer
	clr R3
	mov R24,R2
	subi R24,1
	sts _buffer,R24
	tst R2
	brne L48
	.dbline 184
;   {
;    LCD_write_byte(0x42,1);
;   }
;   LCD_write_byte(0x7E,1);
	ldi R18,1
	ldi R16,126
	xcall _LCD_write_byte
	.dbline 186
;   //==================================================================
;   sta_SetVolume(59+set_volume*5,1);         //第一级为59,每级加5点
	ldi R18,1
	lds R2,_set_volume
	ldi R24,5
	mul R24,R2
	mov R16,R0
	subi R16,197    ; addi 59
	xcall _sta_SetVolume
	.dbline 187
;   LCD_set_XY(59,5);
	ldi R18,5
	ldi R16,59
	xcall _LCD_set_XY
	.dbline 188
;   buffer[0]=set_volume*3;
	lds R2,_set_volume
	ldi R24,3
	mul R24,R2
	sts _buffer,R0
	xjmp L52
L51:
	.dbline 190
	.dbline 191
	ldi R18,1
	ldi R16,90
	xcall _LCD_write_byte
	.dbline 192
L52:
	.dbline 189
;   while(buffer[0]--)
	lds R2,_buffer
	clr R3
	mov R24,R2
	subi R24,1
	sts _buffer,R24
	tst R2
	brne L51
	.dbline 194
;   {
;   LCD_write_byte(0x5A,1);
;   }
;   //==================================================================
;   LCD_write_tubiao(0,5,0);
	clr R2
	std y+0,R2
	ldi R18,5
	clr R16
	xcall _LCD_write_tubiao
	.dbline 195
;   DAT_Directory();
	xcall _DAT_Directory
	.dbline 197
;   
;   pcm1770_Ini();
	xcall _pcm1770_Ini
	.dbline 198
;   pcm1770_init();	
	xcall _pcm1770_init
	.dbline 199
;   key_init();
	xcall _key_init
	.dbline 200
;   timer1_init();
	xcall _timer1_init
	.dbline -2
L24:
	adiw R28,5
	.dbline 0 ; func end
	ret
	.dbend
	.area bss(ram, con, rel)
	.dbfile D:\TDDownload\MP3BOA~1.8\main.c
_mp3_info::
	.blkb 57
	.dbstruct 0 57 MP3_information
	.dbfield 0 NAME A[52:26]i
	.dbfield 52 Name_number c
	.dbfield 53 DIR_FstClusL A[2:2]c
	.dbfield 55 DIR_Filesize A[2:2]c
	.dbend
	.dbsym e mp3_info _mp3_info S[MP3_information]
_fat_info::
	.blkb 7
	.dbstruct 0 7 FAT_information
	.dbfield 0 Relative c
	.dbfield 1 BPB_SecPerClus c
	.dbfield 2 BPB_RsvdSecCnt c
	.dbfield 3 Firstgengmulu i
	.dbfield 5 FirstDateSecter i
	.dbend
	.dbsym e fat_info _fat_info S[FAT_information]
_buffer::
	.blkb 512
	.dbsym e buffer _buffer A[512:512]c
_key_value::
	.blkb 1
	.dbsym e key_value _key_value c
_play_state::
	.blkb 1
	.dbsym e play_state _play_state c
_MP3_all_number::
	.blkb 1
	.dbsym e MP3_all_number _MP3_all_number c
_timer1_over::
	.blkb 1
	.dbsym e timer1_over _timer1_over c
	.area data(ram, con, rel)
	.dbfile D:\TDDownload\MP3BOA~1.8\main.c
L47:
	.blkb 4
	.area idata
	.byte 'v,'o,'l,0
	.area data(ram, con, rel)
	.dbfile D:\TDDownload\MP3BOA~1.8\main.c
L46:
	.blkb 2
	.area idata
	.byte 45,0
	.area data(ram, con, rel)
	.dbfile D:\TDDownload\MP3BOA~1.8\main.c
L42:
	.blkb 14
	.area idata
	.byte 'H,'A,'V,'E,32,'N,'O,'T,32,'M,'P,51,33,0
	.area data(ram, con, rel)
	.dbfile D:\TDDownload\MP3BOA~1.8\main.c
L39:
	.blkb 13
	.area idata
	.byte 'F,'A,'T,32,'I,'N,'I,'T,32,'O,'K,33,0
	.area data(ram, con, rel)
	.dbfile D:\TDDownload\MP3BOA~1.8\main.c
L35:
	.blkb 14
	.area idata
	.byte 'F,'A,'T,32,'I,'N,'I,'T,32,'E,'R,'R,33,0
	.area data(ram, con, rel)
	.dbfile D:\TDDownload\MP3BOA~1.8\main.c
L32:
	.blkb 11
	.area idata
	.byte 'S,'T,'A,48,49,51,32,'O,'K,33,0
	.area data(ram, con, rel)
	.dbfile D:\TDDownload\MP3BOA~1.8\main.c
L31:
	.blkb 12
	.area idata
	.byte 'S,'D,32,'I,'N,'I,'T,32,'O,'K,33,0
	.area data(ram, con, rel)
	.dbfile D:\TDDownload\MP3BOA~1.8\main.c
L27:
	.blkb 13
	.area idata
	.byte 'S,'D,32,'I,'N,'I,'T,32,'E,'R,'R,33,0
	.area data(ram, con, rel)
	.dbfile D:\TDDownload\MP3BOA~1.8\main.c
L18:
	.blkb 5
	.area idata
	.byte 'R,'U,'N,33,0
	.area data(ram, con, rel)
	.dbfile D:\TDDownload\MP3BOA~1.8\main.c

⌨️ 快捷键说明

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