AVR64.com



1395/04/20

نمایشگر های LCD معمولی 2x16 یکی از متداول ترین ابزارهای نمایش برای نشان دادن خروجی میکروکنترلرها بوده و با توجه به قیمت مناسب و راه اندازی آسان معمولا به عنوان بهترین ابزار خروجی مورد استفاده قرار می گیرند. ایراد اصلی این نمایشگر ها فونت های کوچک می باشد که از فاصله چند متری بخوبی قابل مشاهده نیست.

صفحه ی این نمایشگرهای کریستال مایع از دو ردیف 16 کاراکتری تشکیل شده است که هر کاراکتر بصورت یک ماتریس 5 در 8 می باشد. فاصله این ماتریس ها در هر سطر و نیز فاصله بین ماتریس های سطر بالا و سطر پایین با هم برابر بوده و می توان کل LCD را بصورت یک نمایشگر ماتریسی 80 در 16 پیکسل فرض کرد. با این فرض یک ایده برای نمایش کاراکتر های بزرگ بر روی این نمایشگر بدست می آید که هم اکنون در بسیاری از پروژه ها استفاده می شود. بدین صورت که کل LCD به 4 بلوک 6 کاراکتری تقسیم می شود و هر گروه 6 کاراکتری (ماتریس 16 در 30 پیکسلی) یک کاراکتر بزرگ را نمایش می دهد.

ما در این مقاله با بررسی ایده های مختلف برای چگونگی نمایش اعداد، یک کتابخانه قدرتمند با BASCOM طراحی کرده ایم که به کمک آن می توانید بدون درگیر شدن با جزئیات، فقط با استفاده از توابعی نظیر ()Insert_num اعداد مورد نظر را بصورت بزرگ بر روی LCD نمایش دهید. در این کتابخانه همچنین توابعی برای نمایش اعداد بصورت تک رقمی (در هر کجای صفحه)، اعداد یک تا 4 رقمی (چپ چین و راست چین) و نیز امکان انتخاب دو نوع فونت flat و round (گوشه های گرد و تخت) تهیه شده است که کار با این کتابخانه را بسیار راحت می کند. کتابخانه مذکور در واقع مجموعه ای از چند سابروتین می باشد که براحتی می توانید در انتهای برنامه های خود کپی کرده و طبق نمونه کد ارائه شده از آن استفاده نمایید. در این کتابخانه توابع کمکی دیگری نیز برای نمایش کاراکتر های خاص مثل علامت منفی، درجه، دونقطه و ممیز در نظر گرفته شده است که برای نمایش اعداد علامت دار و اعشاری استفاده می شود.

از جمله کاربرهای کتابخانه "فونت بزرگ" که فقط اعداد را شامل می شود می توان به ساخت ابزار هایی از قبیل: ساعت دیجیتال، شمارنده، دماسنج، رطوبت سنج، ولتمتر، آمپرسنج و هر ابزار خاص دیگری که به نمایش اعداد بصورت بزرگ و خوانا نیاز دارد اشاره نمود.

مثالهایی از توابع کتابخانه فونت بزرگ:

Call Insert_0_9999(0 , "flat" , "left")
Call Insert_0_9999(15 , "flat" , "left")
Call Insert_0_9999(236 , "flat" , "left")
Call Insert_0_9999(4589 , "flat" , "left")


Call Insert_0_9999(0 , "flat" , "right")
Call Insert_0_9999(15 , "flat" , "right")
Call Insert_0_9999(236 , "flat" , "right")
Call Insert_0_9999(4589 , "flat" , "right")


   Call Insert_num(1 , , "round")
   Call Insert_num(2 , , "round")
   Call Insert_num(4 , , "round")
   Call Insert_num(5 , 13 , "round")
   Call Insert_colon(8)
   Call Insert_num(1 , , "flat")
   Call Insert_num(2 , , "flat")
   Call Insert_num(4 , , "flat")
   Call Insert_num(5 , 13 , "flat")
   Call Insert_colon(8)
   Call Insert_minus(1)
   Call Insert_num(2 , , "flat")
   Call Insert_num(5 , , "flat")
   Call Insert_dot(12)
   Call Insert_num(7 , 13 , "flat")
   Call Insert_degree(16)
   Lcd "Temp="
   Call Insert_num(2 , , "flat")
   Call Insert_num(5 , 11 , "flat")
   Call Insert_degree(14)
   Locate , 15 : Lcd "C"





سورس کامل کتابخانه فونت بزرگ برای LCD معمولی 2x16 به زبان بیسیک و با کامپایلر BASCOM-AVR (بسکام/بیسکام):
نسخه 1.0.49 (1395/04/20)
در صورت بروز هرگونه مشکل و یا پشتیبانی در خصوص سورس ایمیل بزنید:


دانلود


© 2009-2020 AVR64.com