پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی
تو مد جدید همون برنامه ای که آقای _e_ قرار دادن هست دیگه تازه برا تست vs هم یه برنامه گذاشتن
اگه vs سخت افزاری وصل نکردی ام این برنامه بگیر من اینو رو برد اولیم امتحان کردم درستم کار میکرد البته صداش خش داشت که اونم ماله سخت افزارش بود
تو مد جدید همون برنامه ای که آقای _e_ قرار دادن هست دیگه تازه برا تست vs هم یه برنامه گذاشتن
اگه vs سخت افزاری وصل نکردی ام این برنامه بگیر من اینو رو برد اولیم امتحان کردم درستم کار میکرد البته صداش خش داشت که اونم ماله سخت افزارش بود
کد:
$regfile = "m128def.dat" $crystal = 8000000 $swstack = 128 $hwstack = 128 $framesize = 1024 '-------------------------------------------------------------- Config Lcd = 16 * 2 Config Lcdpin = Pin , Rs = Pine.0 , E = Pine.2 , Db4 = Pine.4 , Db5 = Pine.5 , Db6 = Pine.6 , Db7 = Pine.7 '---------------------------------------------------------------- '----------------------------------------------------------------------- Led Alias Portd.1 Mmc_csn Alias Portb.0 Dreq Alias Pind.4 Xcs Alias Portd.2 Xdcs Alias Portd.3 Xrst Alias Portd.5 Config Led = Output 'led Config Vs_miso = Input 'serial input vs-1003 Config Vs_mosi = Output 'serial out vs-1003 Config Vs_clock = Output 'serial clock vs-1003 Config Xcs = Output 'VS Chip Select Config Xrst = Output 'VS Reset Config Dreq = Input 'VS Data Request Config Xdcs = Output 'VS Stream Request '------------------------------------------------------------------------------- Set Vs_mosi Set Vs_clock Set Xcs Set Xrst Set Xdcs Cls Reset Led Reset Vs_mosi Reset Vs_clock '------------------------- '------------------------------------------------------------------------------- Dim B As Byte Dim A1 As Byte Dim A2 As Byte Dim L As Byte Dim Ff As Byte Dim S As String * 30 Dim Diskf As Long Dim Disks As Long Dim Vs_w As Byte Dim Vs_r As Byte Dim Sc_mode_ad As Byte Dim Sc_bass_ad As Byte Dim Sc_clockf_ad As Byte Dim Sc_aiaddr_ad As Byte Dim Sc_vol_ad As Byte Dim I As Word Dim Buffer(512) As Byte '------------------------------------------------------------------------------- Vs_w = 2 Vs_r = 3 Sc_mode_ad = 0 Sc_bass_ad = 2 Sc_clockf_ad = 3 Sc_aiaddr_ad = 10 Sc_vol_ad = 11 Led = 0 '------------------------------------------------------------------------------- Cursor Off Cls Lcd "loading..." $include "Config_AVR-DOS.BAS" $include "Config_MMC.bas" B = Drivereset() B = Driveinit() If Gbdriveerror <> 0 Then Lcd "mmc config error" End End If 'include avr-dos B = Initfilesystem(1) 'init file system If B <> 0 Then Print "Errore MMC" 'se errore Cls Lcd "VS1003 !!!" Wait 2 Set Led Lcd "Reseting VS1003." Reset Xrst Waitms 1 Set Xrst Waitus 500 Bitwait Dreq , Set Reset Led Cls Lcd "Initializing VS" Wait 2 Set Led Reset Xcs Cls Lcd "Reset Xcs" Wait 10 Shiftout Vs_mosi , Vs_clock , Vs_w , 1 'Spiout Vs_w , 1 Shiftout Vs_mosi , Vs_clock , Sc_mode_ad , 1 'Spiout Sc_mode_ad , 1 'Halate Kariyeh VS1003 A1 = 8 A2 = 0 Shiftout Vs_mosi , Vs_clock , A1 , 1 'Spiout A1 , 1 Shiftout Vs_mosi , Vs_clock , A2 , 1 'Spiout A2 , 1 Set Xcs Cls Lcd "Set Xcs" 'Wait 10 Waitus 500 Bitwait Dreq , Set Reset Xcs Shiftout Vs_mosi , Vs_clock , Vs_w , 1 'Spiout Vs_w , 1 Shiftout Vs_mosi , Vs_clock , Sc_bass_ad , 1 'Spiout Sc_bass_ad , 1 'Tanzime Bass va Treble A1 = &H79 A2 = &HF7 Shiftout Vs_mosi , Vs_clock , A1 , 1 'Spiout A1 , 1 Shiftout Vs_mosi , Vs_clock , A2 , 1 'Spiout A2 , 1 Set Xcs Waitus 500 Bitwait Dreq , Set Reset Xcs Shiftout Vs_mosi , Vs_clock , Vs_w , 1 'Spiout Vs_w , 1 Shiftout Vs_mosi , Vs_clock , Sc_clockf_ad , 1 'Spiout Sc_clockf_ad , 1 'Tanzimeh Clock va PLL bar royeh Adade 3 A1 = &H80 A2 = 0 Shiftout Vs_mosi , Vs_clock , A1 , 1 'Spiout A1 , 1 Shiftout Vs_mosi , Vs_clock , A2 , 1 'Spiout A2 , 1 Set Xcs Waitus 500 Bitwait Dreq , Set Reset Xcs Shiftout Vs_mosi , Vs_clock , Vs_w , 1 'Spiout Vs_w , 1 Shiftout Vs_mosi , Vs_clock , Sc_aiaddr_ad , 1 'Spiout Sc_aiaddr_ad , 1 'Barnameyeh Karbari Nadarim A1 = 0 A2 = 0 Shiftout Vs_mosi , Vs_clock , A1 , 1 'Spiout A1 , 1 Shiftout Vs_mosi , Vs_clock , A2 , 1 'Spiout A2 , 1 Set Xcs Waitus 500 Bitwait Dreq , Set Reset Xcs Shiftout Vs_mosi , Vs_clock , Vs_w , 1 'Spiout Vs_w , 1 Shiftout Vs_mosi , Vs_clock , Sc_vol_ad , 1 'Spiout Sc_vol_ad , 1 'Tanzime Volume Rooyeh Haddeaksar A1 = 0 A2 = 0 Shiftout Vs_mosi , Vs_clock , A1 , 1 'Spiout A1 , 1 Shiftout Vs_mosi , Vs_clock , A2 , 1 'Spiout A2 , 1 Set Xcs Waitus 500 Bitwait Dreq , Set Cls Lcd "VS1003 initiated" Reset Led Wait 1 Cls Lcd "playing file:" Ff = Freefile() Open "song.mp3" For Binary As #ff 'create file in MMC Locate 2 , 1 Lcd Ff Do Get #ff , Buffer(1) , , 512 Set Led Cls For I = 1 To 512 Reset Xdcs Shiftout Vs_mosi , Vs_clock , Buffer(i) , 1 Set Xdcs 'Spiout Buffer(i) , 1 Bitwait Dreq , Set Next I Cls Bitwait Dreq , Set Lcd "Set Xdcs" Reset Led Loop Until Eof(#ff) <> 0 Cls Lcd "Ended." Close #ff End 'end program
دیدگاه