اطلاعیه

Collapse
No announcement yet.

پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

    سلام خوشتیپ
    عکس قشنگی گذاشتی

    به ویندوز که ربطی نداره؟ داره؟
    اگر ویروسی نباشه فکر نمیکنم مشکلی بوجود بیاره.

    من متاسفانه برنامه شما را پیدا نکردم. اگه ممکنه لینک بدهید.
    مهندس یکم دیگه بگرد انشاالله پیداش میکنی (خیلی گرفتارم)

    به جرات می توانم بگویم که کیفیتش با کامپیوتر چندان تفاوتی نداره. این پروژه با کتابخانه pff برنامه نویسی شده است.
    آیا با کتابخانه های mmc بسکام می توان به چنین کیفیتی دست یافت؟!!!
    کتابخانه های ff و pff رو جناب چان (یک شخص ژاپنی) نوشته.
    زبانش c هست.
    اولی برای استفاده کامل از اکثر مموری ها هستش (هارد دیسک و ...) و دومی که pff هستش نسخه سبکتره همون اولی یعنی ff هست و برای مموری های SD و Micro-SD مورد استفاده قرار میگیره.
    کلا این دو کتابخانه ff و pff و کتابخانه MMC بسکام کارشون برقراری ارتباط با مموری ها میباشد و ربطی به کیفیت پخش با VS1003 ندارن.

    بنده با کتابخانه mmc بسکام (که البته هم بسکام و هم کتابخانه نسخه خریداری شده از کمپانی بوده) و vs1003 موزیک با فرمت mp3 و کیفیت 320kbps رو پخش کردم و هیچگونه فرقی با pc نداشت و از mp3player های رایج بازار میشه گفت که قویتر و با کیفیت تر بود.
    نکته:دوستان با بسکام کرک شده و نسخه دمو کتابخانه mmc بسکام هم جواب گرفتن و تفاوتی با جوابی که من گرفتم نداشتن.

    نکته بسیار مهم که فکر میکنم شما رعایت نکردین اینه که باید حداقل از میکرویی مثل mega64 استفاده کنین که من mega128 رو ترجیه میدم دلیلش هم اینه که میکروهایی مثل mega32 از sram خیلی کمتری برخوردار هستن که نمیتونن با مموری sd یا micro-sd ارتباط سریع برقرار کنن.

    اگر ic رو به mega128 ارتقا بدی به احتمال قوی جواب خواهی گرفت.

    اگر سوالی بود در خدمتم




    ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
    شهید دکتر مصطفی چمران
    اللهم صل علی محمد و ال محمد و عجل فرجهم
    ; C is not for children

    دیدگاه


      پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

      نوشته اصلی توسط مهدی رهی
      سلام خوشتیپ
      عکس قشنگی گذاشتی
      اگر ویروسی نباشه فکر نمیکنم مشکلی بوجود بیاره.
      مهندس یکم دیگه بگرد انشاالله پیداش میکنی (خیلی گرفتارم)
      کتابخانه های ff و pff رو جناب چان (یک شخص ژاپنی) نوشته.
      زبانش c هست.
      اولی برای استفاده کامل از اکثر مموری ها هستش (هارد دیسک و ...) و دومی که pff هستش نسخه سبکتره همون اولی یعنی ff هست و برای مموری های SD و Micro-SD مورد استفاده قرار میگیره.
      کلا این دو کتابخانه ff و pff و کتابخانه MMC بسکام کارشون برقراری ارتباط با مموری ها میباشد و ربطی به کیفیت پخش با VS1003 ندارن.

      بنده با کتابخانه mmc بسکام (که البته هم بسکام و هم کتابخانه نسخه خریداری شده از کمپانی بوده) و vs1003 موزیک با فرمت mp3 و کیفیت 320kbps رو پخش کردم و هیچگونه فرقی با pc نداشت و از mp3player های رایج بازار میشه گفت که قویتر و با کیفیت تر بود.
      نکته:دوستان با بسکام کرک شده و نسخه دمو کتابخانه mmc بسکام هم جواب گرفتن و تفاوتی با جوابی که من گرفتم نداشتن.

      نکته بسیار مهم که فکر میکنم شما رعایت نکردین اینه که باید حداقل از میکرویی مثل mega64 استفاده کنین که من mega128 رو ترجیه میدم دلیلش هم اینه که میکروهایی مثل mega32 از sram خیلی کمتری برخوردار هستن که نمیتونن با مموری sd یا micro-sd ارتباط سریع برقرار کنن.

      اگر ic رو به mega128 ارتقا بدی به احتمال قوی جواب خواهی گرفت.

      اگر سوالی بود در خدمتم
      قربونت

      وقتی شما میگی با همین کتابخانه MMC بسکام تونستی فایل MP3 با اون بیت ریت و کیفیت پخش کنی ، پس حتما مشکل کمبود سرعت نداشتید. من حتی سرعت SCK را اندازه گرفتم ، خیلی پایین بود. حتی تو بسکام یک DO : LOOP ساده نوشتم بازم سرعت پایین بود. احتمالا یه جای کار بد جوری از حساب افتاده.

      خیلی خیلی ممنون که پاسخ دادی. بازم بیشتر تست میگیرم و نتیجه را همین جا اعلام میکنم.

      تشکر

      دیدگاه


        پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

        CONFIG_AVR-DOS و Config_MMC رو چجوری تنظیم کردی؟ (بزار تا ببینیم)
        از چه میکرویی استفاده میکنی؟
        ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
        شهید دکتر مصطفی چمران
        اللهم صل علی محمد و ال محمد و عجل فرجهم
        ; C is not for children

        دیدگاه


          پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

          نوشته اصلی توسط مهدی رهی
          CONFIG_AVR-DOS و Config_MMC رو چجوری تنظیم کردی؟ (بزار تا ببینیم)
          از چه میکرویی استفاده میکنی؟

          CONFIG_AVR-DOS و Config_MMC را دقیقا از خود MCS استفاده کرده ام و تغییری ندادم. چون از میکروکنترلر MEGA128A استفاده می کنم.

          مشکلی که من دارم اینه که با دستور DRIVEREADSECTOR برای خواندن 512 بایت از مموری چیزی حدود 6ms زمان میبرد. این درحالی هست که برای فایل 48khz تاخیر بین دو بایت باید در حدود 20us باشد.


          ولی در اکثر برنامه های دوستان همه 512 بایت را یکباره از مموری خوانده و به vs تحویل می دهند. حالا چجوری شما این مسئله تاخیر را حل کرده اید؟!!!!!!!!!!!!



          دیدگاه


            پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

            از چه نوع مموری استفاده میکنی؟

            CONFIG_AVR-DOS و Config_MMC را دقیقا از خود MCS استفاده کرده ام و تغییری ندادم. چون از میکروکنترلر MEGA128A استفاده می کنم.
            حتما تا زمانی که برای اولین بار میخوای جواب بگیری نکات زیر رو رعایت کن:
            1- مموری micro sd یا mmc
            2-مموریت بین 128 مگابایت تا 2 گیگ باشه
            3- مموری رو با کامپیوتر فرمت کن. اون رو fat16 و مقدار allucation unit size رو روی بیشترین مقدار بزار
            اگر برات مقدوره از یه مموری جدید با مارک معتبر استفاده کن
            در CONFIG_AVR-DOS مقدار
            کد:
            Const cFileHandles = 2
            رو به 4 تغییر بده
            کد:
            Const cFileHandles = 4
            یه برنامه سبک که صرفا جهت تست پخش فایل mp3 باشه بنویس تا sram آزاد بیشتری داشته باش
            دو متغیر زیر مقدار صفر رو داشته باشن:
            کد:
            dFileSystemStatusFAT Alias 0 : Const dFileSystemStatusFAT = 0
            در فایل Config_MMC تغییرات زیر رو انجام بده:
            مموری رو به بخش سخت افزار spi میکروت وصل کن و برنامه ای که در زیر میزارم رو به جای فایل Config_MMC مورد استفاده قرار بده:
            کد:
            ' THIS IS AN INCLUDE FILE
            ' DO NOT COMPILE
            $nocompile
            '-------------------------------------------------------------------------------
            '             Config_MMC.BAS
            '        Config File for MMC Flash Cards Driver
            '    (c) 2003-2005 , MCS Electronics / Vögel Franz Josef
            '-------------------------------------------------------------------------------
            ' Place MMC.LIB in the LIB-Path of BASCOM-AVR installation
            '
            'Connection as following
            'MMC  M128/M103
            '1   MMC_CS PORTB.0
            '2   MOSI PORTB.2
            '3   GND
            '4   +3.3V
            '5   CLOCK PORTB.1
            '6   GND
            '7   MISO, PORTB.3
            
            ' you can vary MMC_CS on HW-SPI and all pins on SOFT-SPI, check settings
            ' ========== Start of user definable range =====================================
            
            ' you can use HW-SPI of the AVR (recommended) or a driver build in Soft-SPI, if
            ' the HW-SPI of the AVR is occupied by an other SPI-Device with different settings
            
            ' Declare here you SPI-Mode
            ' using HW-SPI:   cMMC_Soft = 0
            ' not using HW_SPI: cMMC_Soft = 1
            
            Const Cmmc_soft = 1
            
            #if Cmmc_soft = 0
            
            ' --------- Start of Section for HW-SPI ----------------------------------------
            
              ' define Chip-Select Pin
              Config Pinb.0 = Output                  ' define here Pin for CS of MMC/SD Card
              Mmc_cs Alias Portb.0
              Set Mmc_cs
            
              ' Define here SS Pin of HW-SPI of the CPU (f.e. Pinb.0 on M128)
              Config Pinb.0 = Output                  ' define here Pin of SPI SS
              Spi_ss Alias Portb.0
              Set Spi_ss                        ' Set SPI-SS to Output and High por Proper work of
                                     ' SPI as Master
            
              ' HW-SPI is configured to highest Speed
              Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1
              Spsr = 1                         ' Double speed on ATMega128
              Spiinit                         ' Init SPI
            
            ' --------- End of Section for HW-SPI ------------------------------------------
            
            #else                            ' Config here SPI pins, if not using HW SPI
            
            ' --------- Start of Section for Soft-SPI --------------------------------------
            
              ' Chip Select Pin => Pin 1 of MMC/SD
              Config Pinb.0 = Output
              Mmc_cs Alias Portb.0
              Set Mmc_cs
            
              ' MOSI - Pin => Pin 2 of MMC/SD
              Config Pinb.2 = Output
              Set Portb.2
              Mmc_portmosi Alias Portb
              Bmmc_mosi Alias 2
            
              ' MISO - Pin => Pin 7 of MMC/SD
              Config Pinb.3 = Input
              Mmc_portmiso Alias Pinb
              Bmmc_miso Alias 3
            
              ' SCK - Pin => Pin 5 of MMC/SD
              Config Pinb.1 = Output
              Set Portb.1
              Mmc_portsck Alias Portb
              Bmmc_sck Alias 1
            
            ' --------- End of Section for Soft-SPI ----------------------------------------
            
            #endif
            
            ' ========== End of user definable range =======================================
            
            
            ' Error
            Const Cperrdrivereset = 225                 ' Error response Byte at Reset command
            Const Cperrdriveinit = 226                 ' Error response Byte at Init Command
            Const Cperrdrivereadcommand = 227              ' Error response Byte at Read Command
            Const Cperrdrivewritecommand = 228             ' Error response Byte at Write Command
            Const Cperrdrivereadresponse = 229             ' No Data response Byte from MMC at Read
            Const Cperrdrivewriteresponse = 230             ' No Data response Byte from MMC at Write
            Const Cperrdrive = 231
            Const Cperrdrivenotsupported = 232             ' return code for DriveGetIdentity, not supported yet
            
            Waitms 1                          ' Wait some time before initialising MMC/SD
            Dim Gbdriveerror As Byte                  ' General Driver Error register
            Dim Gbdriveerrorreg As Byte                 ' Driver load Error-Register of HD in case of error
            Dim Gbdrivestatusreg As Byte                ' Driver load Status-Register of HD on case of error
            Dim Gbdrivedebug As Byte
            $lib "MMC.LIB"                       ' link driver library
            $external _mmc
            Gbdriveerror = Driveinit()                 ' Init MMC/SD Card


            ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
            شهید دکتر مصطفی چمران
            اللهم صل علی محمد و ال محمد و عجل فرجهم
            ; C is not for children

            دیدگاه


              پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

              ولی در اکثر برنامه های دوستان همه 512 بایت را یکباره از مموری خوانده و به vs تحویل می دهند.
              باید اینجوری باشه
              ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
              شهید دکتر مصطفی چمران
              اللهم صل علی محمد و ال محمد و عجل فرجهم
              ; C is not for children

              دیدگاه


                پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

                واقعا ممنون آقای مهدی رهی.

                این کارها را انجام میدم و نتیجه را همین جا اعلام میکنم.

                البته من جواب گرفته ام ولی به علت تاخیر در خواندن ، کیفیت پخش مانند پروژه ژاپنی نیست. شما باید اون رو تست کنید تا معیار کیفیت به دست آید.

                حتی در بازار ماژول های پخش ایرانی به فروش میرسد که به هیچ وجه کیفیت لازم را ندارن. احتمالا اونا هم مشکل تاخیر در خواندن را دارند. البته به جز ماژول های شرکت رادشید که واقعا با کیفیت هستند.

                یه برنامه سبک مینویسم و نتیجه را میگم. بازم ممنون.

                دیدگاه


                  پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

                  نوشته اصلی توسط مظاهری
                  سلام
                  اون برنامه ای رو که گفتم تو پست شماره 245 هست.
                  ولی مثل اینکه شما مشکل دیگه ای داری که به برنامه تست مدارت پاسخ نمی ده. حتما پایه Test رو به IOVDD وصل باشه. اگر در این صورت VS به شما پاسخ نمی ده و برنامه منتظر می مونه احتمال داره VS سوخته باشه.اگر می تونی اونو عوضش کن و تو مدارت خیلی مراقب ولتاژها باش. قبل از اینکه خط ولتاژها رو بدی به VS سر راهشون یه جامپر بذار تا بتونی اول اونارو اندازه گیری کنی و بعد بدیشون به VS. به هر حال اگر سرسخت باشی راه می افته. هر مداری رو که می بندی اول با برنامه تست که باید تولید صدای بوق کنه امتحان کن تا از کل مدارت مطمئن بشی. برنامه تست رو هم دوباره می ذارم اینجا :

                  http://alirezaonpg.persiangig.com/other/DriveInTestMode.bas

                  این صدای بوق که تولید می شه خیلی بلنده و کاملا واضح. امیدوارم که بتونی صداش رو بشنوی
                  موفق باشی
                  سلام خدمت همه دوستان
                  من با این برنامه ای که جناب مظاهری قرار دادند تونستم صدای بوق رو از1003 vs بشنوم ، فقط یه موضوعی رو متوجه نمیشم اینکه آدرسی که برای دو بایت ثبات mode نوشته شده با اون چیزی که تو دیتا شیت هست فرق داره یه جای دیگه هم یه نمونه بر نامه دیدم که اونم بیت دیگری رو (به جز اونکه تو دیتا شیت اومده) برای ریست نرم افزاری فعال کرده بود قضیه چیه؟
                  جالب این جاست که همین برنامه رو وقتی از روی دیتا شیت مقدار A1 و A2 را تغیر میدهم دیگه صدای بوق پخش نمیشه!!!!!!!!!!

                  دیدگاه


                    پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

                    سلام دوستان چند روزی است که با ماژول vs1003 با code vision , atmega128 ,xtal16Mمیکنم ولی به نتیجه نرسیدم لطفا راهنماییم کنید
                    t.m.beygi@gmail.com

                    دیدگاه


                      پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

                      سلام دوستان درمورد vs1003 چندتا سوال داشتم لطفا راهنمایی کنید
                      آیا غیر از 96kbps صوت خوبی پخش می شود؟
                      آیا کسی با vs1003 صوت خیره کرده؟

                      دیدگاه


                        پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

                        سلام دوستان
                        روزتون بخیر
                        شرمنده ی سوال درمورد این موضوع داشتم ممنون میشم راهنماییم کنید
                        ی پروژه ای داشتم ک توش چند تا گیرنده و فرستنده ی لیرز استفاده شده
                        ک مثلا اگر دستمون ب لیزر دوم بخوره روی ال سی دی مون مینویسه 2
                        میخواستم این کار هم به صورت صوتی انجام بدم
                        که مثلا علاوه بر اینکه نوشت 2 توسط اسپیکر هم عدد 2 رو بخونه
                        میخواستم بپرسم با این ماژول میتونم این کارو انجام بدم؟
                        پلی لیست داره؟

                        دیدگاه


                          پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

                          نوشته اصلی توسط kingofdark
                          سلام دوستان
                          روزتون بخیر
                          شرمنده ی سوال درمورد این موضوع داشتم ممنون میشم راهنماییم کنید
                          ی پروژه ای داشتم ک توش چند تا گیرنده و فرستنده ی لیرز استفاده شده
                          ک مثلا اگر دستمون ب لیزر دوم بخوره روی ال سی دی مون مینویسه 2
                          میخواستم این کار هم به صورت صوتی انجام بدم
                          که مثلا علاوه بر اینکه نوشت 2 توسط اسپیکر هم عدد 2 رو بخونه
                          میخواستم بپرسم با این ماژول میتونم این کارو انجام بدم؟
                          پلی لیست داره؟
                          سلام
                          بله شما می تونید با ماژول vs1003 صوت رو پخش کنید بدین صورت که ابتدا صدا ها با فرمت mp3 رو با گشت و گذار تو نت پیدا کنید البته در این صورت نیاز هست که صوت را در یه جایی یا فلش خود میکرو یا mmc ذخیره کنید در مورد ذخیره در فلش میکرو فکر کنم پروژه هم بگردی هست
                          برد جوجه کشی:
                          مطالعه پست 1 (حتما مطالعه کنید)


                          مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

                          دانلود

                          توجه:
                          این برد نیمه صنعتی و خانگی هست...
                          برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

                          آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

                          دیدگاه


                            پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

                            نوشته اصلی توسط mahan_a
                            سلام دوستان درمورد vs1003 چندتا سوال داشتم لطفا راهنمایی کنید
                            آیا غیر از 96kbps صوت خوبی پخش می شود؟
                            آیا کسی با vs1003 صوت خیره کرده؟
                            سلام
                            تا بیت ریت 320 بله اگر کد نویسی با کریستال 16 مگا هرتز اصولی باشه بله صوت با کیفیت بالا پخش می شود مثل کامپیوتر
                            برد جوجه کشی:
                            مطالعه پست 1 (حتما مطالعه کنید)


                            مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

                            دانلود

                            توجه:
                            این برد نیمه صنعتی و خانگی هست...
                            برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

                            آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

                            دیدگاه


                              پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

                              سلام
                              دوستان اگر پایه Gbuff رو به GND وصل کنیم ، IC معیوب میشه ؟
                              دلا خو کن به تنهایی که از تنها بلا خیزد

                              دیدگاه


                                پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

                                با تشکر از اقای _e_ واقای علی 3565 که این برنامرو فوروارد کردن من از این برنامه جواب گرفتم
                                فقط خش داشت که مشکلش رم mmc رو اشتباهی به رگولاتور 2.5 ولتی زده بودم و با کیفیت عالی صدا پخش شد البته کریستال رو 14745600 بزغرید عالی میشه باتشکر از همه دوستان :job: :job: :job: :job: :job: :job: :job: :read: :read: :read: :nerd:
                                نوشته اصلی توسط ali3635
                                تو مد جدید همون برنامه ای که آقای _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

                                دیدگاه

                                لطفا صبر کنید...
                                X