اطلاعیه

Collapse
No announcement yet.

فارسی نویسی در بسکام روی LCD گرافیکی با کنترل کننده T6963C

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

    فارسی نویسی در بسکام روی LCD گرافیکی با کنترل کننده T6963C

    در تاپیک زیر، در مورد روش فارسی نویسی با LCD های sed مبتنی بر کنترل کننده ks108 توضیحات کافی داده شده است:
    http://www.eca.ir/forum2/index.php?topic=14026.0
    در پست زیر از تاپیک مذکور هم فایل اصلاح شده فونت بسکام به عنوان ضمیمه پست قرار داده شده است:
    http://www.eca.ir/forum2/index.php?t...3721#msg223721

    اما برای فارسی نویسی روی LCD های مبتنی بر کنترل کننده T6963C می توان به دو روش ارتباط مستقیم با T6963C و یا ساخت فونت بصورت نقطه به نقطه و با استفاده از دستور Pset عمل کرد. در این تاپیک از روش دوم برای ایجاد فونت های فارسی 8x8 روی LCD استفاده شده است.
    به این منظور یک روال به شکل زیر تعریف شده که با استفاده از آن می توان در مختصات دلخواه، فونت مورد نظر را نمایش داد:

    Lcdfarsi (X , Y , FONT)


    مقدار X در محدوده (30-1) و مقدار Y در محدوده (16-1) است و بجای فونت فهرستی از نمادها که قبلا هم در فارسی نویسی روی LCD های 128x64 معرفی شده بود، قرار می گیرد( مانند vav یا alef_chasbaan و مانند آن). برای احضار این روال باید از دستور Call استفاده شود. به عنوان مثال دستور زیر حرف "ق" را در بالا و سمت چپ صفحه نمایش می دهد:

    Call Lcdfarsi(1 , 1 , Ghaaf_bozorg)


    برای نوشتن یک جمله و صرفه جویی در نوشتن دستورالعمل ها، می توان در یک حلقه از دستور Lookup استفاده کرد که نمونه ای از آن در مثال ضمیمه همین پست آورده شده است.
    اگر لازم باشد ترکیبی از حروف فارسی و لاتین نمایش داده شوند، برای حروف لاتین از ترکیب دستورات Locate و LCD استفاده می شود که این عمل هم در مثال انجام شده است. فونت فارسی از نظر شکل مشابه همان فونتی است که قبلا برای LCD های 128x64 با کنترل کننده ks108 طراحی شده بود.
    در برنامه مورد نظر، در سطر اول LCD از راست عبارت فارسی" دانایی توانایی است" و در سطر سوم از سمت چپ عبارت"Knowledge is POWER" را نمایش می دهد. هر ترکیب دیگر از عبارات فارسی و انگلیسی را هم به همان ترتیب می توان نمایش داد و کافی است مختصات قرار گیری هر فونت فارسی در دستور Call Lcdfarsi به درستی قرار داده شود و برای عبارات لاتین هم با دستور Locate، محل ابتدای عبارت به درستی تعیین شود.

    توجه: این برنامه برای LCD از نوع 240x128 نوشته شده است.
    فایل های پیوست شده
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

    #2
    پاسخ : فارسی نویسی در بسکام روی LCD گرافیکی با کنترل کننده T6963C

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

    دیدگاه


      #3
      پاسخ : فارسی نویسی در بسکام روی LCD گرافیکی با کنترل کننده T6963C

      نوشته اصلی توسط aliagha1382
      سلام
      فارسی را درست نشون نمی ده.مشکل از کجاست؟
      با تشکر
      نرم افزار فوق بصورت عملی روی سخت افزار با میکروکنترلر mega64 امتحان شده است. یکی از مواردی که می تواند منجر به نمایش نادرست کاراکترهای فارسی شود، عدم تعریف swstack و hwstack و framesize در ابتدای برنامه است. در صورت عدم تعریف این مقادیر، آنها را در ابتدا مطابق نمونه کد اضافه کنید و حتی با مقادیر بیشتر برای swstack امتحان کنید.
      ضمنا در پست قبلی شما ظاهرا قصد قرار دادن یک عکس را داشتید که به دلیل عدم پلود صحیح، نمایش داده نمی شود.
      اوژن: به معنای افکننده و شکست دهنده است
      دانایی، توانایی است-Knowledge is POWER
      برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
      وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
      قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
      اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
      ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

      دیدگاه


        #4
        پاسخ : فارسی نویسی در بسکام روی LCD گرافیکی با کنترل کننده T6963C

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

        دیدگاه


          #5
          پاسخ : فارسی نویسی در بسکام روی LCD گرافیکی با کنترل کننده T6963C

          نمونه کد اخیر قابلیت نوشتن کلیه کاراکتر های فارسی و لاتین را دارد و پاسخ شما از این جهت مبهم است که آیا شما با استفاده از روش توضیح داده شده، کاراکترهای فارسی را نمایش دادید یا خیر.
          اوژن: به معنای افکننده و شکست دهنده است
          دانایی، توانایی است-Knowledge is POWER
          برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
          وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
          قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
          اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
          ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

          دیدگاه


            #6
            پاسخ : فارسی نویسی در بسکام روی LCD گرافیکی با کنترل کننده T6963C

            سلام
            بله تنظیمات را دوباره انجام دادم و نمایش دادم.
            فکر کنم این فونت را با همون نرم افزار LFG ساختید درسته؟

            دیدگاه


              #7
              پاسخ : فارسی نویسی در بسکام روی LCD گرافیکی با کنترل کننده T6963C

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

              دیدگاه


                #8
                پاسخ : فارسی نویسی در بسکام روی LCD گرافیکی با کنترل کننده T6963C

                آیامی توان همین برنامرو برای 16*16 پیاده کرد؟؟؟
                باید دوباره فونت بسازیم؟؟؟
                و چطور فونت ها مشکی رنگ بشن؟؟
                :nice:

                دیدگاه


                  #9
                  پاسخ : فارسی نویسی در بسکام روی LCD گرافیکی با کنترل کننده T6963C

                  اساس این برنامه بر مبنای فونت های 8X8 است و برای سایزهای بزرگتر قابل استفاده نیست. در مورد رنگ lcd هم در نسخه های تک رنگ مانند سبز و آبی رنگ تنها همان رنگ مشخص را می توان ایجاد کرد.
                  اوژن: به معنای افکننده و شکست دهنده است
                  دانایی، توانایی است-Knowledge is POWER
                  برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                  وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                  قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                  اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                  ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                  دیدگاه


                    #10
                    پاسخ : فارسی نویسی در بسکام روی LCD گرافیکی با کنترل کننده T6963C

                    نوشته اصلی توسط طراح
                    اساس این برنامه بر مبنای فونت های 8X8 است و برای سایزهای بزرگتر قابل استفاده نیست. در مورد رنگ lcd هم در نسخه های تک رنگ مانند سبز و آبی رنگ تنها همان رنگ مشخص را می توان ایجاد کرد.
                    بنظر شما من برای برنامه ای که میخام اعدادی رو که دائم تغییر میکنه رو بزرگ روی 240*128 نمایش بدم بهتر از عکس اعداد استفاده کنم و اونها رو از یک لوکاپ فراخوانی کنم یا برم دنبال فونت بزرگتر؟؟
                    میخام اعداد فونت فارسی باشن

                    دیدگاه


                      #11
                      پاسخ : فارسی نویسی در بسکام روی LCD گرافیکی با کنترل کننده T6963C

                      در نمایش عکس اگر بنا باشد کل صفحه پر شود، اولا روش زمان بری است و حافظه flash زیادی هم مصرف می شود. برای حل مشکل شما، آیا جدولی برای فونت 16x16 در اختیار دارید و مشکل شما کدنویسی است و یا از اساس به این نوع فونت دسترسی ندارید؟
                      اوژن: به معنای افکننده و شکست دهنده است
                      دانایی، توانایی است-Knowledge is POWER
                      برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                      وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                      قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                      اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                      ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                      دیدگاه


                        #12
                        پاسخ : فارسی نویسی در بسکام روی LCD گرافیکی با کنترل کننده T6963C

                        نوشته اصلی توسط طراح
                        در نمایش عکس اگر بنا باشد کل صفحه پر شود، اولا روش زمان بری است و حافظه flash زیادی هم مصرف می شود. برای حل مشکل شما، آیا جدولی برای فونت 16x16 در اختیار دارید و مشکل شما کدنویسی است و یا از اساس به این نوع فونت دسترسی ندارید؟
                        ممنون از شما
                        بله حجم زیادی از حافظه flash اشغال شده
                        خیر جدولی در اختیار ندارم
                        البته حتی مایلم فونت بزرگتری از16*16 استفاده کنم ولی فکر میکنم نباشه...
                        حالا باید برای فونت 16*16 ویا حتی بزرگتر چه کرد؟؟؟

                        دیدگاه


                          #13
                          پاسخ : فارسی نویسی در بسکام روی LCD گرافیکی با کنترل کننده T6963C

                          برای فونت های فارسی بزرگتر، یا باید این فونت ها از نو طراحی شود که کار بسیار وقت گیری است (فونت قبلی که را قرار داده ام، شخصا طراحی کرده ام) و یک روش دیگر هم استفاده از فونت های موجود و تبدیل آن به نحوی است که قابل استفاده باشد. در هر صورت این موضوع نیازمند صرف وقت است که اگر فرصتی ایجاد شد، در مورد آن بررسی خواهم کرد.
                          اوژن: به معنای افکننده و شکست دهنده است
                          دانایی، توانایی است-Knowledge is POWER
                          برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                          وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                          قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                          اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                          ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                          دیدگاه


                            #14
                            پاسخ : فارسی نویسی در بسکام روی LCD گرافیکی با کنترل کننده T6963C

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

                            دیدگاه


                              #15
                              پاسخ : فارسی نویسی در بسکام روی LCD گرافیکی با کنترل کننده T6963C

                              در صورت محدود بودن حالت های مورد نظر برای اعداد به نحوی که ظرفیت Flash گنجایش تصاویر لازم را داشته باشد، می توان از این روش استفاده کرد. اما ممکن است در کاربردی ترکیبات مختلفی از نمایش اعداد در نقاط مختلف LCD مورد نیاز باشد که در اینصورت مشکل کمبود حافظه می تواند مانعی برای اجرای این روش باشد.
                              اوژن: به معنای افکننده و شکست دهنده است
                              دانایی، توانایی است-Knowledge is POWER
                              برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                              وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                              قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                              اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                              ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                              دیدگاه

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