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

📄 main.s

📁 LED条屏显示程序,但是对初学者
💻 S
📖 第 1 页 / 共 2 页
字号:
	xcall _putstring
	.dbline 118
;  
;  sta_Init();
	xcall _sta_Init
	.dbline 119
;  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 120
;  putstring("STA013 OK!");
	ldi R16,<L32
	ldi R17,>L32
	xcall _putstring
	.dbline 122
;  
;  if(FATinit())
	xcall _FATinit
	tst R16
	breq L33
	.dbline 123
;    {
	.dbline 124
;     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 125
; 	putstring("FAT INIT ERR!");
	ldi R16,<L35
	ldi R17,>L35
	xcall _putstring
L36:
	.dbline 126
L37:
	.dbline 126
;     while(1);
	xjmp L36
X4:
	.dbline 127
;    }
L33:
	.dbline 128
;  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 129
;  putstring("FAT INIT OK!");
	ldi R16,<L39
	ldi R17,>L39
	xcall _putstring
	.dbline 131
;  
;  Mp3_number_Counter();
	xcall _Mp3_number_Counter
	.dbline 133
; 
;  if(MP3_all_number==0)
	lds R2,_MP3_all_number
	tst R2
	brne L40
	.dbline 134
;     {
	.dbline 135
; 	 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 136
; 	 putstring("HAVE NOT MP3!");
	ldi R16,<L42
	ldi R17,>L42
	xcall _putstring
L43:
	.dbline 137
L44:
	.dbline 137
; 	 while(1);
	xjmp L43
X5:
	.dbline 138
; 	}
L40:
	.dbline 140
;  
;  Delay_ms(500);
	ldi R16,500
	ldi R17,1
	xcall _Delay_ms
	.dbline 141
;  LCD_clear();          
	xcall _LCD_clear
	.dbline 143
;                     
;  LCD_set_XY(0,2);
	ldi R18,2
	clr R16
	xcall _LCD_set_XY
	.dbline 144
;  LCD_write_byte(0xFF,1);
	ldi R18,1
	ldi R16,255
	xcall _LCD_write_byte
	.dbline 145
;  LCD_write_byte(0x01,1);
	ldi R18,1
	ldi R16,1
	xcall _LCD_write_byte
	.dbline 147
;  
;  LCD_set_XY(82,2);
	ldi R18,2
	ldi R16,82
	xcall _LCD_set_XY
	.dbline 148
;  LCD_write_byte(0x01,1);
	ldi R18,1
	ldi R16,1
	xcall _LCD_write_byte
	.dbline 149
;  LCD_write_byte(0xFF,1);
	ldi R18,1
	ldi R16,255
	xcall _LCD_write_byte
	.dbline 152
;  
;  //LCD_set_XY(0,3);
;  LCD_write_byte(0x0F,1);
	ldi R18,1
	ldi R16,15
	xcall _LCD_write_byte
	.dbline 153
;  LCD_write_byte(0x08,1);
	ldi R18,1
	ldi R16,8
	xcall _LCD_write_byte
	.dbline 155
;  
;  LCD_set_XY(82,3);
	ldi R18,3
	ldi R16,82
	xcall _LCD_set_XY
	.dbline 156
;  LCD_write_byte(0x08,1);
	ldi R18,1
	ldi R16,8
	xcall _LCD_write_byte
	.dbline 157
;  LCD_write_byte(0x0F,1);
	ldi R18,1
	ldi R16,15
	xcall _LCD_write_byte
	.dbline 159
;  
;  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 160
;  ASCII(buffer,MP3_all_number);
	lds R18,_MP3_all_number
	ldi R16,<_buffer
	ldi R17,>_buffer
	xcall _ASCII
	.dbline 161
;  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 162
;  LCD_write_byte(0xFF,0);
	clr R18
	ldi R16,255
	xcall _LCD_write_byte
	.dbline 165
;   //=================================================================
;   /*音量显示划条*/
;   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 166
;   buffer[0]=24;
	ldi R24,24
	sts _buffer,R24
	.dbline 167
;   LCD_set_XY(58,5);
	ldi R18,5
	ldi R16,58
	xcall _LCD_set_XY
	.dbline 168
;   LCD_write_byte(0x7E,1);
	ldi R18,1
	ldi R16,126
	xcall _LCD_write_byte
	xjmp L49
L48:
	.dbline 170
	.dbline 171
	ldi R18,1
	ldi R16,66
	xcall _LCD_write_byte
	.dbline 172
L49:
	.dbline 169
;   while(buffer[0]--)
	lds R2,_buffer
	clr R3
	mov R24,R2
	subi R24,1
	sts _buffer,R24
	tst R2
	brne L48
	.dbline 173
;   {
;    LCD_write_byte(0x42,1);
;   }
;   LCD_write_byte(0x7E,1);
	ldi R18,1
	ldi R16,126
	xcall _LCD_write_byte
	.dbline 175
;   //==================================================================
;   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 176
;   LCD_set_XY(59,5);
	ldi R18,5
	ldi R16,59
	xcall _LCD_set_XY
	.dbline 177
;   buffer[0]=set_volume*3;
	lds R2,_set_volume
	ldi R24,3
	mul R24,R2
	sts _buffer,R0
	xjmp L52
L51:
	.dbline 179
	.dbline 180
	ldi R18,1
	ldi R16,90
	xcall _LCD_write_byte
	.dbline 181
L52:
	.dbline 178
;   while(buffer[0]--)
	lds R2,_buffer
	clr R3
	mov R24,R2
	subi R24,1
	sts _buffer,R24
	tst R2
	brne L51
	.dbline 183
;   {
;   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 184
;   DAT_Directory();
	xcall _DAT_Directory
	.dbline 186
;   
;   pcm1770_Ini();
	xcall _pcm1770_Ini
	.dbline 187
;   pcm1770_init();	
	xcall _pcm1770_init
	.dbline 188
;   key_init();
	xcall _key_init
	.dbline 189
;   timer1_init();
	xcall _timer1_init
	.dbline -2
L24:
	adiw R28,5
	.dbline 0 ; func end
	ret
	.dbend
	.area bss(ram, con, rel)
	.dbfile E:\MYWORK~1\开发设计\AVR-MP3\mp3开发板光盘\驱动程序\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 E:\MYWORK~1\开发设计\AVR-MP3\mp3开发板光盘\驱动程序\MP3BOA~1.8\main.c
L47:
	.blkb 4
	.area idata
	.byte 'v,'o,'l,0
	.area data(ram, con, rel)
	.dbfile E:\MYWORK~1\开发设计\AVR-MP3\mp3开发板光盘\驱动程序\MP3BOA~1.8\main.c
L46:
	.blkb 2
	.area idata
	.byte 45,0
	.area data(ram, con, rel)
	.dbfile E:\MYWORK~1\开发设计\AVR-MP3\mp3开发板光盘\驱动程序\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 E:\MYWORK~1\开发设计\AVR-MP3\mp3开发板光盘\驱动程序\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 E:\MYWORK~1\开发设计\AVR-MP3\mp3开发板光盘\驱动程序\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 E:\MYWORK~1\开发设计\AVR-MP3\mp3开发板光盘\驱动程序\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 E:\MYWORK~1\开发设计\AVR-MP3\mp3开发板光盘\驱动程序\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 E:\MYWORK~1\开发设计\AVR-MP3\mp3开发板光盘\驱动程序\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 E:\MYWORK~1\开发设计\AVR-MP3\mp3开发板光盘\驱动程序\MP3BOA~1.8\main.c
L18:
	.blkb 5
	.area idata
	.byte 'R,'U,'N,33,0
	.area data(ram, con, rel)
	.dbfile E:\MYWORK~1\开发设计\AVR-MP3\mp3开发板光盘\驱动程序\MP3BOA~1.8\main.c

⌨️ 快捷键说明

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