سلام دوستان
ی مدت پیش یکی از دوستان گفتن استادشون گفته اگه بتونی با " بسکام " ( درس آز میکروپروسسور ) بیشتر از 8 تا کاراکتر خاص رو بسازی و نشون بدی نمره خاصی میدن
از جمله کارایی های میشه کرد خب نوشتن جملات بلند فارسی هست
خلاصه بنده برای ایشون نوشتم گفتم تو eca بذارم شاید کس دیگه ای هم خواست ب دردش خورد
مقدمه :
از دو دستور lcdcmd برای آماده سازی بافر کنترلر ال سی دی جهت دریافت 8 بایت کاراکتر خاص در هر سیکل استفاده خواهیم کرد
و دستور lcddata جهت ارسال بایت مورد نظر از کاراکتر خاص
کاراکتر مورد نظر رو توسط نرم افزار های مختلف میشه به کد تبدیل کرد از مبدل خود بسکامم میشه استفاده کرد
مکانیزم کار :
تو بسکام مشکلی که هست شما اول کار باید بیاین و 8 تا کاراکتر خاص رو واسه برنامتون بسازین و در محل مورد نظر از اون ها استفاده کنین مشکلی که هست نمیشه حین اجرای برنامه اون ها رو تغییر داد
اگه بتونیم هر زمان که نیاز داشتیم مقدار جدیدی جایگزین مقدار اولیه اون 8 کاراکتر کنیم درواقع میتونیم عبارات مختلفی روی صفحه نشون بدیم و میتونیم بیش از 8 کاراکتر خاص رو داشته باشیم
بنابر این ما میایم و توسط یک lookup table یا در اینجا چون فقط 8 بایت ( یک کاراکتر ) ساخته شده از ارایه استفاده میکنیم و کد کاراکتر های مورد نظر رو داخلش ذخیره میکنیم
بعد از این مرحله عدد باینری 01000000 رو برای ال سی دی ارسال میکنیم این دستور کامند هست و در دیتاشیت ذکر شده آماده سازی کردن جهت دریافت کاراکتر های خاص واسه مقدار دهی بافر داخلی ال سی دی
و بعد از اون در اینجا 8 بایت مربوط به کاراکتر اول رو ارسال میکنیم
توجه کنید اگه هر 8 تا کاراکتر رو بخواین مقدار دهی کنید ی آرایه یا تیبل 64 تایی نیاز دارین درواقع 64 بایت اطلاعات رو پشت هم ارسال کنید
در اینجا به طور نمونه ما فقط بایت صفر رو مقدار دهی کردیم و رو ال سی دی نشون دادیم حالا هرجای برنامه نیاز باشه میتونید با تغییر مقادیر و ارسال مجددش به ال سی دی کاراکتر جدیدی رو نشون بدین
بنابر این اگه هرچندتا کاراکتر داشته باشین میتونید نمایش بدین فقط بیشتر از 8 کاراکتر نمیشه همزمان نمایش داد چون کلا بافر ال سی دی مقادیرش تغییر میکنه پس شما در صورتی که نیاز به نمایش فرضا کلمه ای دارید بیشتر از 8 بخش هست میبایست 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
و بعد از اون در اینجا 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 تا هشتا نشون بدین و قبلی رو پاک کنید جدید رو نمایش بدین سریع ک این کار تکرار بشه تقریبا میشه جمله مورد نظر روتا حد مناسبی بدون چشمک زدن دید
دیدگاه