اطلاعیه

Collapse
No announcement yet.

مشکل با جاروب متن تابلو روان

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

    مشکل با جاروب متن تابلو روان

    سلام اساتید
    من یه مشکلی پیدا کردم
    تو یه تابلو با ماتریس 8*24 و فونت 5*7 میخوام متن رو حرکت بدم به سمت راست یا چپ
    و این رو هم بگم که برای نمایش از بافر استفاده شده
    کد:
     For I = 0 To 8
          Buf(i + 1) = Lookup(i , T)
          Buf(i + 7) = Lookup(i , I)
          Buf(i + 13) = Lookup(i , M)
          Buf(i + 19) = Lookup(i , E)
            Next I
    این رو میخوام حرکت بدم
    ممنون میشم اگه کسی بلده بهم کمک کنه

    #2
    پاسخ : مشکل با جاروب متن تابلو روان

    مشکل چیه؟
    برنامه خطا داره؟ جواب نمیده؟ حرکت نمی کنه ؟

    دیدگاه


      #3
      پاسخ : مشکل با جاروب متن تابلو روان

      نوشته اصلی توسط ﺣ آ‌ﺎ ﻣ ﺪ
      مشکل چیه؟
      برنامه خطا داره؟ جواب نمیده؟ حرکت نمی کنه ؟
      راستش این کد برای نمایش ثابت کلمه TIME هستش
      حالا من میخوام این رو حرکت بدم به سمت چپ
      از چه کدی استفاده کنم؟

      دیدگاه


        #4
        پاسخ : مشکل با جاروب متن تابلو روان

        نرم افزار تولید کد بسکام برای تابلوهای روان با انتخاب جهت حرکت تو سایت لاچینی هست . ( اینجا )

        نصب کن ، امتحان کن .

        دیدگاه


          #5
          پاسخ : مشکل با جاروب متن تابلو روان

          اگه میتونی سورس کاملتو یا لینک سایتشو بزار

          صدایی از قلب آذربایجان

          Ya$a odlar yurdum AZERBAICANIM

          دیدگاه


            #6
            پاسخ : مشکل با جاروب متن تابلو روان

            سلام.
            اگر در طراحی حروف مشکل داری کار زیاد سختی نیست فقط یه کم حوصله میخواد.
            اما واسه ی اینکه متن حرکت کنه باید اطلاعاتی که از جدول لوکاپ میخونی رو در هر مرحله شیفت بدی و بعد بریزی روی پرت دیتا.(در مرحله اول بدون شیفت ،در مرحله دوم یک شیفت و ...)اینکارو هم به راحتی با قرار دادن توی یک حلقه for انجام بده.

            دیدگاه


              #7
              پاسخ : مشکل با جاروب متن تابلو روان

              با طراحی فونت که مشکلی ندارم
              مشکلم به حرکت در آوردن متنه
              اینم کد

              کد:
              $regfile = "m8def.dat"
              $crystal = 1000000
              
              Config Portd = Output
              Config Portb = Output
              Config Portc = Output
              
              Config Clock = Soft
              Enable Interrupts
              Time$ = "17:40:00"
              
              Declare Sub Sectic
              
              Dim A As Byte
              Dim Scan As Byte
              Dim Index As Byte
              Dim I As Byte
              Dim S As Byte
              Dim C As Word
              Dim Buf(25) As Byte
              
              
              Dim Dcol As Byte
              Dim Dscan As Byte
              Dim Drefresh As Byte
              Dim Dindex As Byte
              Dim Ds As Byte
              Dim Dr As Byte
              
              
              
              Dim Zi As Byte
              Dim Zcol As Byte
              Dim Zscan As Byte
              Dim Zrefresh As Byte
              Dim Zindex As Byte
              Dim Zs As Byte
              
              
              Const Sc_wait = 1
              
              Portc = &HFF
              
              
              ' _  _ _  _ _  _   _  _ _   _____  _____  _  _ _ __  _ _   _____  _____  _  _
              '| | | || | | || | | |  | | | || |  / _ \ / _ \ | | | || || \ | || |  / _ \ / _ \ | \ / |
              '| |/\| || |/\| || |/\| |  | |_| || |  | |_| | | | |_| | |_| || ||  \| || |  | | |_| | | | | | \/ |
              '|   ||   ||   |  | _ || |  | _ | | | _ | _ || ||   || |  | | _ | | | | |   |
              '| /\ || /\ || /\ | _ | | | || |___ | | | | | |_| | | | | || || |\  || | _ | |_| | | |_| | | |\/| |
              '|_/ \_||_/ \_||_/ \_||_||_| |_||_____||_| |_| \_____/ |_| |_||_||_| \__||_||_| \_____/ \_____/ |_| |_|
              
              S = _sec
              
               For Index = 0 To 3
               Buf(index + 11) = Lookup(index , Dot)
               Next Index
              
              
              Do
              
               If S <> _sec Then Call Sectic
               Scan = &HFE
               For Index = 1 To 6
              
               Portd = Buf(index )
               Portc.3 = 1
               Portc.3 = 0
              
               Portd = Buf(index + 8)
               Portc.4 = 1
               Portc.4 = 0
              
               Portd = Buf(index + 16)
               Portc.5 = 1
               Portc.5 = 0
              
               Portb = Scan
               Rotate Scan , Left , 1
               Waitms Sc_wait
               Portb = &HFF
              
               Next Index
              
              
              
               Portd = Buf(7 )
               Portc.3 = 1
               Portc.3 = 0
              
               Portd = Buf(15)
               Portc.4 = 1
               Portc.4 = 0
              
               Portd = Buf(23)
               Portc.5 = 1
               Portc.5 = 0
              
               Portc.1 = 0
               Waitms Sc_wait
               Portc.1 = 1
              
              
              
               Portd = Buf(8 )
               Portc.3 = 1
               Portc.3 = 0
              
               Portd = Buf(16)
               Portc.4 = 1
               Portc.4 = 0
              
               Portd = Buf(24)
               Portc.5 = 1
               Portc.5 = 0
              
               Portc.2 = 0
               Waitms Sc_wait
               Portc.2 = 1
              
              
              
              Loop
              
              End                             'end program
              
              
              Sub Sectic:
              
              S = _sec
              C = _sec Mod 15
              If C < 6 Then
              
               For I = 0 To 3
               C = _sec Mod 2
               If C = 0 Then
                Buf(i + 11) = Lookup(i , Dot)
               Else
                Buf(i + 11) = 0
               End If
               Next I
              
               For I = 0 To 4
              
               A = _hour / 10
               A = A * 5
               A = A + I
               Buf(i + 1) = Lookup(a , Font)
              
               A = _hour Mod 10
               A = A * 5
               A = A + I
               Buf(i + 6) = Lookup(a , Font)
              
               A = _min / 10
               A = A * 5
               A = A + I
               Buf(i + 15) = Lookup(a , Font)
              
               A = _min Mod 10
               A = A * 5
               A = A + I
               Buf(i + 20) = Lookup(a , Font)
              
               Next I
              
              Elseif C < 11 Then
              
              
              
              
              
                  Buf(i + 13) = Lookup(i , T)
                  Buf(i + 19) = Lookup(i , I)
                  Buf(i + 1) = Lookup(i , M)
                  Buf(i + 7) = Lookup(i , E)
              
              
              
              
              
              
              
              
              
              
              
              End If
              
              End Sub
              
              Font:
              Data &H00 , &H3E , &H41 , &H41 , &H3E            '0
              Data &H00 , &H21 , &H7F , &H01 , &H00            '1
              Data &H00 , &H23 , &H45 , &H49 , &H31            '2
              Data &H42 , &H41 , &H51 , &H69 , &H46            '3
              Data &H0C , &H14 , &H24 , &H7F , &H04            '4
              Data &H72 , &H51 , &H51 , &H51 , &H4E            '5
              Data &H1E , &H29 , &H49 , &H49 , &H06            '6
              Data &H40 , &H47 , &H48 , &H50 , &H60            '7
              Data &H36 , &H49 , &H49 , &H49 , &H36            '8
              Data &H30 , &H49 , &H49 , &H4A , &H3C            '9
              
              
              T:
              Data &H40 , &H40 , &H7F , &H40 , &H40            'T
              I:
              Data &H00 , &H41 , &H7F , &H41 , &H00            'I
              M:
              Data &H7F , &H20 , &H18 , &H20 , &H7F            'M
              E:
              Data &H7F , &H49 , &H49 , &H49 , &H41            'E
              
              
              Dot:
              Data &H00 , &H36 , &H36 , &H00 , &H00            ':
              
              Lin:
              Data &H00 , &H08 , &H08 , &H00 , &H00            '-

              دیدگاه


                #8
                پاسخ : مشکل با جاروب متن تابلو روان

                یعنی واقعا تو انجمن به این عظیمی هیشکی نیس به من کمک کنه؟
                کسایی که بلدن کمکم کنن خواهشا :angry:

                دیدگاه


                  #9
                  پاسخ : مشکل با جاروب متن تابلو روان

                  سلام.
                  دوست عزیز من گفتم که چیکار کنی.
                  الان توی این برنامه ای که گذاشتی باید توی do loop یه حلقه for بذاری.این جوری:


                  do

                  For W = 0 To 48
                  Scan = &HFE
                  For Index = 1 To 6

                  Portd = Buf(index + W )
                  Portc.3 = 1
                  Portc.3 = 0

                  Portd = Buf(index + 8+w)
                  Portc.4 = 1
                  Portc.4 = 0

                  Portd = Buf(index + 16+w)
                  Portc.5 = 1
                  Portc.5 = 0

                  Portb = Scan
                  Rotate Scan , Left , 1
                  Waitms Sc_wait
                  Portb = &HFF

                  Next Index



                  Portd = Buf(7+w )
                  Portc.3 = 1
                  Portc.3 = 0

                  Portd = Buf(15+w)
                  Portc.4 = 1
                  Portc.4 = 0

                  Portd = Buf(23+w)
                  Portc.5 = 1
                  Portc.5 = 0

                  Portc.1 = 0
                  Waitms Sc_wait
                  Portc.1 = 1



                  Portd = Buf(8+w )
                  Portc.3 = 1
                  Portc.3 = 0

                  Portd = Buf(16+w)
                  Portc.4 = 1
                  Portc.4 = 0

                  Portd = Buf(24+w)
                  Portc.5 = 1
                  Portc.5 = 0

                  Portc.2 = 0
                  Waitms Sc_wait
                  Portc.2 = 1

                  Next W

                  Loop

                  دیدگاه


                    #10
                    پاسخ : مشکل با جاروب متن تابلو روان

                    ببخشید ها ،اما این کدی که دادین کار نمیکنه
                    همه رو میریزه به هم
                    :cry:

                    دیدگاه


                      #11
                      پاسخ : مشکل با جاروب متن تابلو روان

                      یعنی چی میریزه بهم؟تو عمل امتحان کردی؟ oo:
                      کلآ ریخت بهم؟

                      دیدگاه


                        #12
                        پاسخ : مشکل با جاروب متن تابلو روان

                        سلام
                        دوست عزیز من برای نمایش حرکت حروف از روش اقای لاچینی استفاده میکنم ولی برنامه ای که ایشون گذاشته بودن یکیم اشکال داشت و برای مثلا برای برنامه حرکت به بالا من کدهاشو برای ماتریس 7*5 به صورت زیر و مطابق با بافر نات که استفاده کردم تفییر دادم
                        کد:
                        $regfile = "m16def.dat"
                        $crystal = 8000000
                        Config Portb = Output
                        Config Porta = Output
                        Dim Col As Byte
                        Dim Scan As Byte
                        Dim Refresh As Byte
                        Dim Index As Byte
                        Dim S As Byte
                        Dim R As Byte
                        Dim Mask As Byte
                        Dim A As Byte , X As Byte
                        Do
                        For S = 0 To 8
                        A = 8 - S
                        Mask = &HFF
                        Shift Mask , Left , S
                        For Refresh = 1 To 10
                        Scan = &B00000001
                        For Col = 0 To 4
                        Portb = Lookup(col , Gelayof)
                        Shift Portb , Right , A
                        X = Portb Or Mask
                        Portb = Not X
                        Porta = Scan
                        Waitus 250
                        Rotate Scan , Left
                        Porta = &H00
                        Next Col
                        Next Refresh
                        Next S
                        For S = 0 To 8
                        A = 8 - S
                        Mask = &HFF
                        Shift Mask , Right , A
                        For Refresh = 1 To 10
                        Scan = &B00000001
                        For Col = 0 To 4
                        Portb = Lookup(col , Gelayof)
                        Shift Portb , Left , S
                        X = Portb Or Mask
                        Portb = Not X
                        Porta = Scan
                        Waitus 250
                        Rotate Scan , Left
                        Porta = &H00
                        Next Col
                        Next Refresh
                        Next S
                        Loop
                        End 'end program
                        Gelayof:
                        Data &B11110111
                        Data &B11101111
                        Data &B11000000
                        Data &B11101111
                        Data &B11110111
                        شاید به دردتون بخوره
                        البته من دارم روی به حرکت در آوردن حروف تو ابعاد بزرگتر و با آیسی لچ کار میکنم اگه تموم شد بخاین اونو رو میزارم
                        فقط این برنامه ای که شما نوشتید :
                        For I = 0 To 8
                        Buf(i + 1) = Lookup(i , T)
                        Buf(i + 7) = Lookup(i , I)
                        Buf(i + 13) = Lookup(i , M)
                        Buf(i + 19) = Lookup(i , E)
                        Next I
                        از کجای سایت آقای لاچینی برداشتین ؟ من پیداش نکردم
                        صدایی از قلب آذربایجان

                        Ya$a odlar yurdum AZERBAICANIM

                        دیدگاه

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