اطلاعیه

Collapse
No announcement yet.

آموزش نوشتن بیشتر از 8 کاراکتر خاص روی ال سی دی کاراکتری

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

    آموزش نوشتن بیشتر از 8 کاراکتر خاص روی ال سی دی کاراکتری

    سلام دوستان
    ی مدت پیش یکی از دوستان گفتن استادشون گفته اگه بتونی با " بسکام " ( درس آز میکروپروسسور ) بیشتر از 8 تا کاراکتر خاص رو بسازی و نشون بدی نمره خاصی میدن
    از جمله کارایی های میشه کرد خب نوشتن جملات بلند فارسی هست
    خلاصه بنده برای ایشون نوشتم گفتم تو eca بذارم شاید کس دیگه ای هم خواست ب دردش خورد

    مقدمه :
    از دو دستور lcdcmd برای آماده سازی بافر کنترلر ال سی دی جهت دریافت 8 بایت کاراکتر خاص در هر سیکل استفاده خواهیم کرد
    و دستور lcddata جهت ارسال بایت مورد نظر از کاراکتر خاص

    کاراکتر مورد نظر رو توسط نرم افزار های مختلف میشه به کد تبدیل کرد از مبدل خود بسکامم میشه استفاده کرد

    مکانیزم کار :
    تو بسکام مشکلی که هست شما اول کار باید بیاین و 8 تا کاراکتر خاص رو واسه برنامتون بسازین و در محل مورد نظر از اون ها استفاده کنین مشکلی که هست نمیشه حین اجرای برنامه اون ها رو تغییر داد
    اگه بتونیم هر زمان که نیاز داشتیم مقدار جدیدی جایگزین مقدار اولیه اون 8 کاراکتر کنیم درواقع میتونیم عبارات مختلفی روی صفحه نشون بدیم و میتونیم بیش از 8 کاراکتر خاص رو داشته باشیم

    بنابر این ما میایم و توسط یک lookup table یا در اینجا چون فقط 8 بایت ( یک کاراکتر ) ساخته شده از ارایه استفاده میکنیم و کد کاراکتر های مورد نظر رو داخلش ذخیره میکنیم

    کد:
    $regfile = "m8def.dat"
    
    $crystal = 8000000
    
    Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.2 , Rs = Portd.1
    
    Dim Def1(8) As Byte
    Dim Def2(8) As Byte
    Def1(1) = 0
    Def1(2) = &H0F
    Def1(3) = &H0B
    Def1(4) = &H08
    Def1(5) = &H08
    Def1(6) = &H08
    Def1(7) = &H08
    Def1(8) = 0
    بعد از این مرحله عدد باینری 01000000 رو برای ال سی دی ارسال میکنیم این دستور کامند هست و در دیتاشیت ذکر شده آماده سازی کردن جهت دریافت کاراکتر های خاص واسه مقدار دهی بافر داخلی ال سی دی
    و بعد از اون در اینجا 8 بایت مربوط به کاراکتر اول رو ارسال میکنیم
    توجه کنید اگه هر 8 تا کاراکتر رو بخواین مقدار دهی کنید ی آرایه یا تیبل 64 تایی نیاز دارین درواقع 64 بایت اطلاعات رو پشت هم ارسال کنید

    کد:
    Lcdcmd 64
    
    Dim I As Byte
    
    For I = 1 To 8
    Lcddata Def1(i)
    Next
    
    Cls
    Locate 1 , 1
    Lcd Chr(0)
    در اینجا به طور نمونه ما فقط بایت صفر رو مقدار دهی کردیم و رو ال سی دی نشون دادیم حالا هرجای برنامه نیاز باشه میتونید با تغییر مقادیر و ارسال مجددش به ال سی دی کاراکتر جدیدی رو نشون بدین
    بنابر این اگه هرچندتا کاراکتر داشته باشین میتونید نمایش بدین فقط بیشتر از 8 کاراکتر نمیشه همزمان نمایش داد چون کلا بافر ال سی دی مقادیرش تغییر میکنه پس شما در صورتی که نیاز به نمایش فرضا کلمه ای دارید بیشتر از 8 بخش هست میبایست 8 تا هشتا نشون بدین و قبلی رو پاک کنید جدید رو نمایش بدین سریع ک این کار تکرار بشه تقریبا میشه جمله مورد نظر روتا حد مناسبی بدون چشمک زدن دید
    اشک هایی که پس از هر شکست ریخته میشوند همان عرق هاییست که برای پیروزی ریخته نشده است

    #2
    پاسخ : آموزش نوشتن بیشتر از 8 کاراکتر خاص روی ال سی دی کاراکتری

    عزیز جان خیلی وقت بود دنبال همچین جیزی بودم ولی خوب چون درگیر کار هستیم فرصت فکر کردن واطلاعات جمع کردن نیست خدا خیرت بده.ان شالله موفق باشید.
    eshop-hodhod.ir

    دیدگاه


      #3
      پاسخ : آموزش نوشتن بیشتر از 8 کاراکتر خاص روی ال سی دی کاراکتری

      خیلی عالی دستتون درد نکنه
      ولی کاش برا بیشتر از 8 کاراکتری رو بیشتر توضیح می دادین و دستورشو نی زاشتین

      دیدگاه

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