اطلاعیه

Collapse
No announcement yet.

یه مشکل در ساخت تقویم

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

    #31
    پاسخ : یه مشکل در ساخت تقویم

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

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

    عالمی دیگر بباید ساخت و از نو آدمی
    پردازش تصویر با FPGA از صفر تا انتها
    http://www.eca.ir/forum2/index.php?topic=74299.0

    دیدگاه


      #32
      پاسخ : یه مشکل در ساخت تقویم

      من از قید 1307 گذشتم
      می خوام فقط با کریستال ساعت تقویم درست کنم
      برنامه ای که نوشتم فقط 1 ثانیه می ره جلو
      نمی دونم مشکلش چیه :cry2:
      کسی می تونه کمک کنه؟
      $regfile = "m32def.dat"
      $crystal = 8000000
      $hwstack = 200
      $swstack = 200
      $framesize = 200
      Mcusr = &H80
      Mcusr = &H80
      $lib "glcdKS108.lib"
      $include "font8x8.font"
      Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portb , Ce = 1 , Ce2 = 0 , Cd = 2 , Rd = 3 , Reset = 4 , Enable = 5
      Setfont Font8x8
      '-------------------
      Config Clock = Soft , Gosub = Sectic
      Enable Interrupts
      '----------
      Dim Flag As Bit
      Dim _weekday As Byte , Slc As Byte , C As Byte , Ge As Byte
      '------------------
      Config Pinc.0 = Input
      Config Pinc.1 = Input
      Config Pinc.2 = Input
      Config Pinc.3 = Input
      Config Pinc.4 = Input
      '---------------------
      'Time$ = "12:00:00"
      'Date$ = "88/1/1"
      _year = 88
      _month = 1
      _day = 1
      _weekday = 0
      _hour = 12
      _min = 0
      _sec=0
      '-----------------------
      Shoro:
      Do
      Debounce Pinc.1 , 0 , Setdate1
      Debounce Pinc.2 , 0 , Settime1
      Gosub Timedate
      Loop
      '---------------------------
      Do
      Sectic:
      If Flag = 0 Then Gosub Timedate
      Incr _sec
      If _sec > 59 Then
      _sec = 0
      Incr _min
      If _min > 59 Then
      Incr _hour
      _min = 0
      If _hour > 23 Then
      _hour = 1
      Incr _day
      Incr _weekday
      End If
      End If
      End If
      If _month < 7 Then Goto First
      If _month => 7 Then Goto Second
      Loop
      '----------------------------
      First:
      If _day > 31 Then
      _day = 1
      Incr _month
      If _month > 12 Then
      _month = 1
      End If
      End If
      '-------------------------------
      Second:
      If _day > 30 Then
      _day = 1
      Incr _month
      If _month > 12 Then _month = 1
      End If
      Return
      '---------------
      Timedate:
      cls
      Lcdat , 7 , 1 , "time:" : Lcdat , 7 , 35 , "" : Lcd _hour ; : Lcdat 7 , 55 , ":" : Lcdat , 7 , 60 , "" : Lcd _min ; : Lcdat 7 , 75 , ":" : Lcdat , 7 , 80 , "" : Lcd _sec ;

      Lcdat , 2 , 55 , " " : Lcd _day ;
      Lcdat , 4 , 50 , "1388"
      Waitms 500

      If _weekday = 0 Then Showpic 85 , 1 , Pic0
      If _weekday = 1 Then Showpic 85 , 1 , Pic1
      If _weekday = 2 Then Showpic 85 , 1 , Pic2
      If _weekday = 3 Then Showpic 82 , 1 , Pic3
      If _weekday = 4 Then Showpic 82 , 1 , Pic4
      If _weekday = 5 Then Showpic 85 , 1 , Pic5
      If _weekday = 6 Then Showpic 85 , 1 , Pic6

      If _month = 1 Then Showpic 1 , 1 , Picf
      If _month = 2 Then Showpic 1 , 1 , Pico
      If _month = 3 Then Showpic 1 , 1 , Pickh
      If _month = 4 Then Showpic 1 , 1 , Pict
      If _month = 5 Then Showpic 1 , 1 , Picmo
      If _month = 6 Then Showpic 1 , 1 , Picsh
      If _month = 7 Then Showpic 1 , 1 , Picme
      If _month = 8 Then Showpic 1 , 1 , Picab
      If _month = 9 Then Showpic 1 , 1 , Picaz
      If _month = 10 Then Showpic 1 , 1 , Picd
      If _month = 11 Then Showpic 1 , 1 , Picb
      If _month = 12 Then Showpic 1 , 1 , Pice
      Goto Shoro
      '-------------------------------------------------------------------------------
      End 'end program
      '-------------------------------------------------------------------------------
      Settime1:
      Cls
      Lcdat , 1 , 1 , "set Time:"
      Loop2:
      Lcdat , 5 , 5 , "" : Lcd _hour ; ":" ; _min ; ":" ; _sec

      Do
      Debounce Pinc.1 , 0 , Uphour
      Debounce Pinc.2 , 0 , Upmin
      Debounce Pinc.3 , 0 , Upsec
      Debounce Pinc.0 , 0 , Savetime

      Savetime:
      jmp shoro
      Uphour:
      Incr _hour
      If _hour = 25 Then _hour = 0
      jmp loop2
      Upmin:
      Incr _min
      If _min = 60 Then _min = 0
      jmp loop2
      Upsec:
      Incr _sec
      If _sec = 60 Then _sec = 0
      jmp loop2
      Loop


      Goto Shoro

      '----------------------------------
      Setdate1:
      Cls

      Lcdat , 1 , 1 , "set Date:"
      Loop1:
      Lcdat , 5 , 5 , ""
      _year = 88
      Lcd ; _year ; "/" ; _month ; "/" ; _day ;

      Do
      Debounce Pinc.2 , 0 , Upmonth
      Debounce Pinc.3 , 0 , Upday
      Debounce Pinc.4 , 0 , Upweekday
      Debounce Pinc.0 , 0 , Savedate
      Loop

      Savedate:
      jmp shoro

      Upweekday:
      Incr _weekday
      If _weekday = 7 Then _weekday = 0
      jmp loop1
      Upmonth:
      Incr _month
      If _month = 13 Then _month = 1
      jmp loop1
      Upday:
      Incr _day

      If _month < 7 And _day = 32 Then
      _day = 1
      Else
      If _day = 31 Then _day = 1
      End If
      jmp loop1

      Goto Shoro
      Pic0:
      $bgf "0.bgf"
      Pic1:
      $bgf "1.bgf"
      Pic2:
      $bgf "2.bgf"
      Pic3:
      $bgf "3.bgf"
      Pic4:
      $bgf "4.bgf"
      Pic5:
      $bgf "5.bgf"
      Pic6:
      $bgf "6.bgf"

      Picf:
      $bgf "f.bgf"
      Pico:
      $bgf "o.bgf"
      Pickh:
      $bgf "kh.bgf"
      Pict:
      $bgf "t.bgf"
      Picmo:
      $bgf "mo.bgf"
      Picsh:
      $bgf "sh.bgf"
      Picme:
      $bgf "me.bgf"
      Picab:
      $bgf "ab.bgf"
      Picaz:
      $bgf "az.bgf"
      Picd:
      $bgf "d.bgf"
      Picb:
      $bgf "b.bgf"
      Pice:
      $bgf "e.bgf"









      آنچه هستی هدیه است از طرف خدا به تو
      و آنچه می توانی باشی هدیه ای است از طرف تو به خدا
      پس بهترین باش
      www.mhedayati.blogfa.com

      دیدگاه


        #33
        پاسخ : یه مشکل در ساخت تقویم

        :cry2:
        آنچه هستی هدیه است از طرف خدا به تو
        و آنچه می توانی باشی هدیه ای است از طرف تو به خدا
        پس بهترین باش
        www.mhedayati.blogfa.com

        دیدگاه


          #34
          پاسخ : یه مشکل در ساخت تقویم

          مشکله کریستال رفع شد ساعت نشون میده
          فقط من میخوام روی lcd روز های هفته به صورت فارسی نشون بدم(مثلا شنبه 20 فروردین)
          وقتی عکس فراخوانی می کنم روی lcd قاطی نشون می ده
          سایز عکس درسته چون به تنهایی نشون میده :angry:
          آنچه هستی هدیه است از طرف خدا به تو
          و آنچه می توانی باشی هدیه ای است از طرف تو به خدا
          پس بهترین باش
          www.mhedayati.blogfa.com

          دیدگاه


            #35
            پاسخ : یه مشکل در ساخت تقویم

            سلام
            کد هایی برای نوشتن فارسی روی ال سی دی هست. چرا از اون ها استفاده نمی کنی؟

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

            عالمی دیگر بباید ساخت و از نو آدمی
            پردازش تصویر با FPGA از صفر تا انتها
            http://www.eca.ir/forum2/index.php?topic=74299.0

            دیدگاه


              #36
              پاسخ : یه مشکل در ساخت تقویم

              نوشته اصلی توسط هدایتی
              مشکله کریستال رفع شد ساعت نشون میده
              فقط من میخوام روی lcd روز های هفته به صورت فارسی نشون بدم(مثلا شنبه 20 فروردین)
              وقتی عکس فراخوانی می کنم روی lcd قاطی نشون می ده
              سایز عکس درسته چون به تنهایی نشون میده :angry:
              چطوری نشون میده؟ بالا پایین نشون میده یا نقاط سیاه تو تصویر دیده میشه ؟
              فایل بیت مپ باید حتما به صورت Monochrome ذخیره بشه . ( با Paint راحت میشه این کارو کرد )

              دیدگاه


                #37
                پاسخ : یه مشکل در ساخت تقویم

                نوشته اصلی توسط پویا
                سلام
                کد هایی برای نوشتن فارسی روی ال سی دی هست. چرا از اون ها استفاده نمی کنی؟

                پیروز و سربلند باشید.
                سلام میشه بیشتر توضیح بدین
                این کدها هز کدوم قسمت باید استفاده کنم
                آنچه هستی هدیه است از طرف خدا به تو
                و آنچه می توانی باشی هدیه ای است از طرف تو به خدا
                پس بهترین باش
                www.mhedayati.blogfa.com

                دیدگاه


                  #38
                  پاسخ : یه مشکل در ساخت تقویم

                  نوشته اصلی توسط ﺣ آ‌ﺎ ﻣ ﺪ

                  چطوری نشون میده؟ بالا پایین نشون میده یا نقاط سیاه تو تصویر دیده میشه ؟
                  فایل بیت مپ باید حتما به صورت Monochrome ذخیره بشه . ( با Paint راحت میشه این کارو کرد )
                  سلام
                  قسمت تصویر رو سفید نشون میده
                  اعداد به صورت خیلی کم رنگ حرکت میکنند از پایین به بالا به صورت سایه
                  (فایل بیت مپ باید حتما به صورت Monochrome ذخیره بشه ) یعنی چیه؟
                  آنچه هستی هدیه است از طرف خدا به تو
                  و آنچه می توانی باشی هدیه ای است از طرف تو به خدا
                  پس بهترین باش
                  www.mhedayati.blogfa.com

                  دیدگاه


                    #39
                    پاسخ : یه مشکل در ساخت تقویم

                    برنامه رو دوباره چک کنید .
                    Monochrome هم ساده ترین حالت ( یک بیتی ) نوع بیت مپ هست. همون طور که گفتم با Paint خیلی راحت میشه این کارو انجام داد. عکسی رو که می سازید با Paint در حالت BitMap Monochrome ذخیره کنید و بعدش فایل BGF رو بسازید.

                    دیدگاه


                      #40
                      پاسخ : یه مشکل در ساخت تقویم

                      سلام
                      به طور کلی هر کاراکتری بر روی ال سی دی، بر روی مستطیلی با ابعاد 5 در 8 یا 5 در 10 پیکسل نمایش داده می رود.
                      اگر هر سطر را پنج پیکسل در نظر بگیریم کد 0b00011111 یعنی همه آن ها سیاه باشند و کد 0b00000001 یعنی فقط آخری سیاه باشد و باقی سفید.



                      که کدش می شه :
                      flash unsigned char0[8]=0x01,0x1f,0x10,0x0f,0x04,0x04,0x04,0x04
                      بعد از مساوی یک کروشه باز می شه در انتها بسته می شه. برای آن که فرم کد به هم نریزه نذاشتمشون.

                      اگر کتاب ره افروز رو داری یه نگاه به صفحه 239 بنداز اگر نه بگو تا بیشتر توضیح بدم.

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

                      عالمی دیگر بباید ساخت و از نو آدمی
                      پردازش تصویر با FPGA از صفر تا انتها
                      http://www.eca.ir/forum2/index.php?topic=74299.0

                      دیدگاه


                        #41
                        پاسخ : یه مشکل در ساخت تقویم

                        من از چند نفر پرسیدم گفتن lcd گرافیکی نمی شه فارسی نوشت
                        حالا اگه می شه یه ذره بیشتر توضیح بدین
                        ممنون
                        آنچه هستی هدیه است از طرف خدا به تو
                        و آنچه می توانی باشی هدیه ای است از طرف تو به خدا
                        پس بهترین باش
                        www.mhedayati.blogfa.com

                        دیدگاه


                          #42
                          پاسخ : یه مشکل در ساخت تقویم

                          $regfile = "m32def.dat"
                          $crystal = 8000000
                          Mcusr = &H80
                          Mcusr = &H80
                          $lib "glcdKS108.lib"
                          $include "font8x8.font"
                          Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portb , Ce = 1 , Ce2 = 0 , Cd = 2 , Rd = 3 , Reset = 4 , Enable = 5
                          Setfont Font8x8
                          Cls
                          Config Clock = Soft , Gosub = Sectic
                          Disable Interrupts
                          Dim Flag As Bit , S As Byte , M As Byte , H As Byte , Y As Word
                          Dim M0 As Byte , D As Byte , Slc As Byte , C As Byte , W As Byte
                          Config Pinc.0 = Input
                          Config Pinc.1 = Input
                          Config Pinc.2 = Input
                          Config Pinc.3 = Input
                          Config Pinc.4 = Input
                          Slc = 0
                          Y = 88
                          M0 = 1
                          D = 1
                          H = 12
                          M = 0
                          S = 0
                          W = 0
                          Flag = 0
                          Dim Ge As Byte
                          '---------------------------------
                          Scan:
                          If Pinc.0 = 0 Then Slc = Slc + 1
                          If Slc = 6 Then Slc = 0
                          If Pinc.2 = 0 Then
                          Flag = 0
                          Goto Waitls
                          End If
                          On Slc Goto Hour , Minute , Sec1 , Month , Weekday , Day
                          Goto Scan

                          Waitls:
                          Enable Interrupts
                          Do
                          Ge = 10
                          If Pinc.0 = 0 Then
                          Flag = 1
                          Goto Scan
                          End If
                          Loop
                          '-----------------------------
                          Sectic:
                          If Flag = 0 Then Gosub Show
                          Incr S
                          If S > 59 Then
                          Incr M
                          S = 0

                          If M > 59 Then
                          Incr H
                          M = 0
                          If H > 23 Then
                          H = 0

                          Incr W
                          Incr D
                          If W > 6 Then
                          W = 0
                          End If
                          End If
                          End If
                          End If
                          If M0 < 7 Then Goto First
                          If M0 => 7 Then Goto Second
                          '----------------------------
                          First:
                          If D > 31 Then
                          D = 1
                          Incr M0
                          If M0 > 12 Then
                          M0 = 1
                          End If
                          End If
                          '-------------------------------
                          Second:
                          If D > 30 Then
                          D = 1
                          Incr M0
                          If M0 > 12 Then M0 = 1
                          End If
                          Return
                          '-------------------------------
                          Show:
                          Lcdat , 7 , 1 , "time:"
                          Lcdat , 7 , 40 , H ;
                          Lcdat , 7 , 55 , ":"
                          Lcdat , 7 , 70 , M ;
                          Lcdat , 7 , 90 , ":"
                          Lcdat , 7 , 95 , S;

                          If M < 10 Then
                          Cls
                          Lcdat , 7 , 1 , "time:"
                          Lcdat , 7 , 40 , H ;
                          Lcdat , 7 , 55 , ":"
                          Lcdat , 7 , 70 , "0" ; M;
                          Lcdat , 7 , 90 , ":"
                          Lcdat , 7 , 95 , S;
                          If S < 10 Then
                          Lcdat , 7 , 40 , H ;
                          Lcdat , 7 , 55 , ":"
                          Lcdat , 7 , 70 , "0" ; M;
                          Lcdat , 7 , 90 , ":"
                          Lcdat , 7 , 95 , "0" ; S;
                          End If
                          End If

                          If S < 10 Then
                          Cls
                          Lcdat , 7 , 1 , "time:"
                          Lcdat , 7 , 40 , H ;
                          Lcdat , 7 , 55 , ":"
                          Lcdat , 7 , 70 , "0" ; M;
                          Lcdat , 7 , 90 , ":"

                          If M < 10 Then
                          Cls
                          Lcdat , 7 , 1 , "time:"
                          Lcdat , 7 , 40 , H ;
                          Lcdat , 7 , 55 , ":"
                          Lcdat , 7 , 70 , "0" ; M;
                          Lcdat , 7 , 90 , ":"
                          Lcdat , 7 , 95 , "0" ; S;
                          End If
                          End If

                          'Lcdat , 3 , 1 , "date:"
                          'Lcdat , 3 , 40 , Y ;
                          'Lcdat , 3 , 55 , ":"
                          'Lcdat , 3 , 70 , M0 ;
                          'Lcdat , 3 , 90 , ":"
                          'Lcdat , 3 , 95 , D;


                          'Lcdat , 2 , 50 , D ;
                          'Lcdat , 4 , 50. "1388"
                          If W = 0 Then Showpic 80 , 1 , Pic0
                          'If W = 1 Then Showpic 85 , 1 , Pic1
                          'If W = 2 Then Showpic 85 , 1 , Pic2
                          'If W = 3 Then Showpic 82 , 1 , Pic3
                          'If W = 4 Then Showpic 82 , 1 , Pic4
                          'If W = 5 Then Showpic 85 , 1 , Pic5
                          'If W = 6 Then Showpic 85 , 1 , Pic6

                          'If M0 = 1 Then Showpic 1 , 1 , Picf
                          'If M0 = 2 Then Showpic 1 , 1 , Pico
                          'If M0 = 3 Then Showpic 1 , 1 , Pickh
                          'If M0 = 4 Then Showpic 1 , 1 , Pict
                          'If M0 = 5 Then Showpic 1 , 1 , Picmo
                          'If M0 = 6 Then Showpic 1 , 1 , Picsh
                          'If M0 = 7 Then Showpic 1 , 1 , Picme
                          'If M0 = 8 Then Showpic 1 , 1 , Picab
                          'If M0 = 9 Then Showpic 1 , 1 , Picaz
                          'If M0 = 10 Then Showpic 1 , 1 , Picd
                          'If M0 = 11 Then Showpic 1 , 1 , Picb
                          'If M0 = 12 Then Showpic 1 , 1 , Pice
                          Return
                          '-------------------------------------------------------------------------------
                          End 'end program
                          '-------------------------------------------------------------------------------
                          Hour:
                          If Pinc.1 = 0 Then H = H + 1
                          If H => 24 Then H = 0
                          Lcdat , 1 , 1 , "hour=" : Lcd ; H
                          Waitms 200
                          Cls
                          Goto Scan
                          '---------------------------------
                          Minute:
                          If Pinc.1 = 0 Then M = M + 1
                          If M => 60 Then M = 0
                          Lcdat , 1 , 1 , "minute=" : Lcd ; M
                          Waitms 200
                          Cls
                          Goto Scan
                          '----------------------------------
                          Sec1:
                          If Pinc.1 = 0 Then S = S + 1
                          If S => 60 Then S = 0
                          Lcdat , 1 , 1 , "sec=" : Lcd ; S
                          Waitms 200
                          Cls
                          Goto Scan
                          '-----------------------------------
                          Month:
                          If Pinc.1 = 0 Then M0 = M0 + 1
                          If M0 = 13 Then M0 = 1
                          Lcdat , 1 , 1 , "mounth=" : Lcd ; M0
                          Waitms 200
                          Cls
                          Goto Scan
                          '------------------------------------
                          Weekday:
                          If Pinc.1 = 0 Then W = W + 1
                          If W = 7 Then W = 0
                          Lcdat , 1 , 1 , "weekday=" : Lcd ; W
                          Waitms 200
                          Cls
                          Goto Scan
                          '-------------------
                          Day:
                          If Pinc.1 = 0 Then D = D + 1
                          If D = 31 Then D = 1
                          Lcdat , 1 , 1 , "day=" : Lcd ; D
                          Waitms 200
                          Cls
                          Goto Scan
                          '----------------------


                          Pic0:
                          $bgf "12.bgf"
                          Pic1:
                          $bgf "1.bgf"
                          Pic2:
                          $bgf "2.bgf"
                          Pic3:
                          $bgf "3.bgf"
                          Pic4:
                          $bgf "4.bgf"
                          Pic5:
                          $bgf "5.bgf"
                          Pic6:
                          $bgf "6.bgf"

                          Picf:
                          $bgf "f.bgf"
                          Pico:
                          $bgf "o.bgf"
                          Pickh:
                          $bgf "kh.bgf"
                          Pict:
                          $bgf "t.bgf"
                          Picmo:
                          $bgf "mo.bgf"
                          Picsh:
                          $bgf "sh.bgf"
                          Picme:
                          $bgf "me.bgf"
                          Picab:
                          $bgf "ab.bgf"
                          Picaz:
                          $bgf "az.bgf"
                          Picd:
                          $bgf "d.bgf"
                          Picb:
                          $bgf "b.bgf"
                          Pice:
                          $bgf "e.bgf"





                          آنچه هستی هدیه است از طرف خدا به تو
                          و آنچه می توانی باشی هدیه ای است از طرف تو به خدا
                          پس بهترین باش
                          www.mhedayati.blogfa.com

                          دیدگاه


                            #43
                            پاسخ : یه مشکل در ساخت تقویم

                            سلام

                            شاید با تنظیم نور lcd مشکل رفع بشه.یه تستی بکنید

                            دیدگاه


                              #44
                              پاسخ : یه مشکل در ساخت تقویم

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

                              LCD(Farsi).rar

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

                              عالمی دیگر بباید ساخت و از نو آدمی
                              پردازش تصویر با FPGA از صفر تا انتها
                              http://www.eca.ir/forum2/index.php?topic=74299.0

                              دیدگاه


                                #45
                                پاسخ : یه مشکل در ساخت تقویم

                                سلام
                                مشکل عکس حل شد
                                فقط یه مشکلی که داره آخر ماه که 31 باید باشه نشون نمی ده
                                سریع می ره به ماه بعدی
                                آنچه هستی هدیه است از طرف خدا به تو
                                و آنچه می توانی باشی هدیه ای است از طرف تو به خدا
                                پس بهترین باش
                                www.mhedayati.blogfa.com

                                دیدگاه

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