اطلاعیه

Collapse
No announcement yet.

ساخت دستگاهی برای اجرای wave در زمان مناسب

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

    ساخت دستگاهی برای اجرای wave در زمان مناسب

    با سلام خدمت تمامی دوستان عزیزم در وبسایت eca ....
    بچه من امروز قصد اینو کردم که یک چیزی بسازم که توی این ماه رمضون درست سر موقع افطار ربنا رو با صدای استاد شجریان پخش کنه خوب کد نویسی های مربوط به یک Wave پلیر رو هم دارم ولی خوب قسمت زمانش رو نمیتونم تنظیم کنم ......... مثلا باید ساعت 7:20 شروع به پخش فایل Wave کنه و....
    ممنون میشم که یکی از دوستان هم کد نویسی های wave پلیر رو چک کنه هم این قسمت رو برام بنویسه
    باتشکر از تمام دوستانی که کمک می کنن ....
    طراحی برد و شماتیک و برنامه نویسی پروژه شما با هزینه اندک پذیرفته میشود ...برای سفارش پیغام خصوصی بدید ...

    #2
    پاسخ : ساخت دستگاهی برای اجرای wave در زمان مناسب

    فراموش کردم کد را بزارم .....

    $regfile = "m8def.dat"
    $crystal = 16000000
    $hwstack = 64
    $swstack = 64
    $framesize = 64
    'LCD
    Config Lcdpin = Pin , Db4 = Pind.2 , Db5 = Pind.3 , Db6 = Pind.4 , Db7 = _
    Pind.5 , E = Pind.1 , Rs = Pind.0
    Config Lcd = 16 * 2
    Cursor Off : Cls
    Deflcdchar 0 , 32 , 32 , 31 , 31 , 31 , 31 , 31 , 32 'First #
    Deflcdchar 1 , 32 , 32 , 18 , 26 , 30 , 26 , 18 , 32 'Play/Pause >|
    Deflcdchar 2 , 32 , 32 , 2 , 6 , 14 , 6 , 2 , 32 'Back <<
    Deflcdchar 3 , 32 , 32 , 8 , 12 , 14 , 12 , 8 , 32 'Forward >>
    'PWM
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Prescale = 1
    'Constants
    Const Msbl = 0
    'Variables
    Dim Indat(512) As Byte 'Memory buffer
    Dim Dat As Byte
    Dim Resp As Byte
    Dim I As Word
    Dim Addr As Long
    Dim Address As Long
    Dim Fat As String * 5
    Dim Firstaddr As Long
    Dim Play As Bit
    'Aliases
    Cs Alias Portc.5
    Clk Alias Portc.3
    Miso Alias Pinc.2 'Mcu inp <- MMC
    Mosi Alias Portc.4 'Mcu out -> MMC
    'Declarations
    Declare Sub Minit
    Declare Sub Mread(byval Addr As Long)
    Declare Sub Msearch
    Declare Sub Mfirstfile
    Declare Sub Menu
    Config Pinc.5 = Output
    Config Pinc.3 = Output
    Config Pinc.4 = Output
    Config Pinc.2 = Input
    Waitms 300
    Config Spi = Soft , Din = Pinc.2 , Dout = Portc.4 , Ss = Portc.5 , Clock = Portc.3
    Spiinit
    'Keys
    Config Pind.6 = Input
    Config Pind.7 = Input
    Config Pinb.2 = Input
    Config Pinb.3 = Input
    'Set Pullup
    Portd.6 = 1
    Portd.7 = 1
    Portb.2 = 1
    Portb.3 = 1
    'Alias
    First_key Alias Pind.6
    Play_key Alias Pind.7
    Prev_key Alias Pinb.2
    Next_key Alias Pinb.3
    '____________________________________________ ___________________________________
    'Main Prog Start Here:
    For I = 1 To 100
    Pwm1a = 0
    Waitms 1
    Pwm1a = 64
    Waitms 1
    Next I
    Cls : Lcd " Search Card..."
    Call Minit
    Call Msearch
    Call Mfirstfile
    Call Menu
    'Adrrr = 281600 '256MB Micro SD FAT16 Start Addr
    'Adrrr = 265728 '1GB Micro SD FAT16 Start Addr
    'Adrrr = 396288 '1GB DVRS MMC FAT16 Start Addr
    'Adrrr = 2113024 '1GB DVRS MMC FAT32 Start Addr
    'FAT Addr
    'Adrrr = 19968 '256 Micro SD FAT16/32 Addr
    'Adrrr = 0 '1GB Micro SD FAT16/32 Addr
    'Adrrr = 130560 '1GB DVRS MMC FAT16/32 Addr
    Xloop:
    Set Cs
    Shiftout Mosi , Clk , Dat , Msbl
    End
    '____________________________________________ ___________________________________
    'Init SD/MMC By Diol [Compsys1.com]
    Sub Minit
    Set Cs
    Dat = &HFF
    For I = 1 To 10
    Shiftout Mosi , Clk , Dat , Msbl
    Next I
    Resp = 255
    Reset Cs
    Cmd0:
    Dat = &H40
    Shiftout Mosi , Clk , Dat , Msbl
    Addr = &H00000000
    Shiftout Mosi , Clk , Addr , Msbl
    Dat = &H95
    Shiftout Mosi , Clk , Dat , Msbl
    While Resp <> &H01
    Shiftin Miso , Clk , Resp , Msbl
    Wend
    Set Cs
    Waitms 50
    Reset Cs
    Dat = &HFF
    Cmd1:
    While Resp <> &H00
    Set Cs
    Shiftout Mosi , Clk , Dat , Msbl
    Shiftin Miso , Clk , Resp , Msbl
    Reset Cs
    Dat = &H41
    Shiftout Mosi , Clk , Dat , Msbl
    Addr = 0
    Shiftout Mosi , Clk , Addr , Msbl
    Dat = &HFF
    Shiftout Mosi , Clk , Dat , Msbl
    Shiftout Mosi , Clk , Dat , Msbl
    Shiftin Miso , Clk , Resp , Msbl
    Wend
    Dat = &HFF
    Set Cs
    End Sub
    '____________________________________________ ___________________________________
    'Read SD/MMC Sector By Diol [Compsys1.com]
    Sub Mread(byval Addr As Long)
    Set Cs
    Dat = &HFF
    Shiftout Mosi , Clk , Dat , Msbl
    Shiftin Miso , Clk , Resp , Msbl
    Reset Cs
    Dat = &H51
    Shiftout Mosi , Clk , Dat , Msbl
    Shiftout Mosi , Clk , Addr , Msbl
    Dat = &HFF
    Shiftout Mosi , Clk , Dat , Msbl
    Shiftin Miso , Clk , Resp , Msbl
    While Resp <> 0
    Shiftin Miso , Clk , Resp , Msbl
    Wend
    While Resp <> &HFE
    Shiftin Miso , Clk , Resp , Msbl
    Wend
    Dim Stn As Byte , A As String * 20 , C As Byte , J1 As Byte
    For I = 1 To 512
    Shiftin Miso , Clk , Resp , Msbl
    Indat(i) = Resp
    If Play = 1 Then
    Pwm1a = Resp
    Waitus 30
    End If
    Next I
    Shiftin Miso , Clk , Resp , Msbl
    Shiftin Miso , Clk , Resp , Msbl
    Set Cs
    End Sub
    '____________________________________________ ___________________________________
    'Search FAT Table Of SD/MMC By Sasan
    Sub Msearch
    Address = 0
    Do
    Call Mread(address)
    For I = 1 To 512
    'M is First Char Of "MSDOS5.0" In FAT Sector
    If Indat(i) = "M" Then Exit Do
    Next I
    Address = Address + 512
    Home L : Lcd "Addr:" ; Address
    Loop
    Cls : Lcd "MMC OK"
    Lowerline
    Lcd "MMC FAT: "
    '------------------------ Byte 55 to 59 Contain "FAT16" String, IF FATis16
    For I = 55 To 59
    Fat = Fat + Chr(indat(i))
    Next I
    If Fat = "FAT16" Then
    Lcd "FAT16"
    End If
    '------------------------ Byte 83 to 87 Contain "FAT32" String, IF FATis32
    For I = 83 To 87
    Fat = Fat + Chr(indat(i))
    Next I
    If Fat = "FAT32" Then
    Lcd "FAT32"
    End If
    Wait 2
    End Sub
    '____________________________________________ ___________________________________
    'Find First File Address Of SD/MMC By Sasan
    Sub Mfirstfile
    Cls : Lcd " Search File..."
    Address = 0
    Do
    Call Mread(address)
    For I = 1 To 512
    '1 is Last Char Of "F1" In First File Sector
    If Indat(i) = "1" And Indat(i -1) = "F" Then Exit Do
    Next I
    Address = Address + 512
    Home L : Lcd "Addr:" ; Address
    Loop
    Cls : Lcd "First File:"
    Lowerline
    Lcd Address
    Firstaddr = Address 'Copy FirstFile Addr
    Wait 2
    End Sub
    '____________________________________________ ___________________________________
    Sub Menu
    Address = Firstaddr
    Play = 1
    Cls : Lcd " Wave Player"
    Lowerline
    Lcd Chr(0) ; Spc(4) ; Chr(1) ; Spc(4) ; Chr(2) ; Spc(4) ; Chr(3)
    Do
    'Read Keys
    If Play_key = 0 Then 'Pause
    Waitms 300
    Do
    If Play_key = 0 Then Exit Do 'Play
    Loop
    Waitms 300
    End If
    If First_key = 0 Then Address = Firstaddr 'First
    If Prev_key = 0 Then 'Prev
    If Address > Firstaddr Then Address = Address - 1048576
    Waitms 50
    End If
    If Next_key = 0 Then 'Next
    Address = Address + 1048576
    Waitms 50
    End If
    Call Mread(address)
    Address = Address + 512
    Loop
    End Sub
    طراحی برد و شماتیک و برنامه نویسی پروژه شما با هزینه اندک پذیرفته میشود ...برای سفارش پیغام خصوصی بدید ...

    دیدگاه


      #3
      پاسخ : ساخت دستگاهی برای اجرای wave در زمان مناسب

      لطفا هرکس میتونه زومدتر کمک کنه اینو تکمیل کنیم ....
      طراحی برد و شماتیک و برنامه نویسی پروژه شما با هزینه اندک پذیرفته میشود ...برای سفارش پیغام خصوصی بدید ...

      دیدگاه


        #4
        پاسخ : ساخت دستگاهی برای اجرای wave در زمان مناسب

        اگه بخواین از این مدار به عنوان یه آلارم استفاده کنید باید یه برنامه نویسی برای ساعت کنید بطوریکه:
        دستورات ساعتو بهش بدید تا بدونه ساعت چنده
        یه حلقه براش تعریف کنید تا در اون زمان یه اهنگ رو پخش کنه
        به همین راحتی :biggrin:
        Telegram:
        @reza_br_2489


        Instagram:
        _amp_c

        دیدگاه


          #5
          پاسخ : ساخت دستگاهی برای اجرای wave در زمان مناسب

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

          لطفا کسی دیگه به این پست پاسخ نده .
          طراحی برد و شماتیک و برنامه نویسی پروژه شما با هزینه اندک پذیرفته میشود ...برای سفارش پیغام خصوصی بدید ...

          دیدگاه

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