LCDSTM32

آموزش راه اندازی lcd کاراکتری با STM32

4.9/5 - (74 امتیاز)

آیا تا کنون پیش آمده است که بخواهید مقادیر وضعیت یا خوانده شده از سنسورها را نمایش دهید؟ در این صورت ممکن است نمایشگرهای LCD کاملاً مناسب باشند. نمایشگر LCD بسیار رایج و راهی سریع برای افزودن یک رابط قابل خواندن به پروژه شما هستند .

این آموزش همه مواردی را که برای راه اندازی و کار با LCD Character باید بدانید را پوشش می دهد. نه فقط LCD 16 × 2 (1602)  بلکه LCD های دارای ابعاد مختلف (به عنوان مثال 16 × 4 ، 16 × 1 ، 20 × 4 و غیره) که مبتنی بر تراشه کنترل کننده LCD رابط موازی شرکت هیتاچی به نام HD44780 هستند.

آیا می دانید LCD به چه معناست ؟

LCD مخفف “Liquid Crystal Display” می باشد و به معنای صفحه نمایش کریستال مایع است. در واقع این یک واحد نمایش است که از کریستال های مایع برای تولید یک تصویر قابل مشاهده استفاده می کند.

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

بررسی اجمالی سخت افزار LCD کاراکتری 16×2

این LCD ها فقط برای نمایش متن یا کاراکتر ها ایده آل هستند ، از این رو نام آن «Character LCD» است. این صفحه نمایش دارای نور پس زمینه LED است و می تواند 32 کارارکتر ASCII را در 2 ردیف با 16 حرف در هر ردیف نمایش دهد.

lcd کاراکتری 16*2
lcd کاراکتری 16*2

اگر به دقت نگاه کنید ، در واقع می توانید مستطیل های کوچک مربوط به هر کاراکتر را بر روی صفحه نمایش و پیکسل های تشکیل دهنده یک کاراکتر را مشاهده کنید. هر یک از این مستطیل ها یک شبکه 5 × 8 پیکسل است.

تعداد پیکسل در lcd کاراکتری
تعداد پیکسل در lcd کاراکتری

اگرچه lcd کاراکتری فقط متن را نشان می دهند ، اما در اندازه ها و رنگ های مختلفی وجود دارند . به عنوان مثال ، 16 × 1 ، 16 × 4 ، 20 × 4 ، با متن سفید در زمینه آبی ، با متن سیاه در زمینه رنگ سبز و بسیاری دیگر.

یکی از ویژگی های خوب این است که همه این نمایشگرها شبیه هم هستند و اگر پروژه خود را با یکی از آنها بسازید ، می توانید آن را از روی بورد جدا کرده و از اندازه و رنگ LCD دیگری به انتخاب خود استفاده کنید. ممکن است کد شما باید متناسب با اندازه بزرگتر تغییر کند اما حداقل سیم کشی و PCB آن یکسان است.

پایه های خروجی LCD کاراکتری 16×2

ابتدا نگاهی به Pinout LCD یا پایه های LCD می اندازیم .

  • GND باید به زمین متصل شود.
  • VCC منبع تغذیه LCD است که باید به 5 ولت وصل می کنیم.
  • Vo (کنتراست LCD) کنتراست و روشنایی LCD را کنترل می کند. با استفاده از یک تقسیم کننده ولتاژ ساده با پتانسیومتر ، می توانیم تنظیمات دقیق کنتراست را انجام دهیم.
  • RS (انتخاب رجیستر) به میکروکنترلر اجازه می دهد تا به LCD بگویید که آیا دستورات را ارسال می کند یا داده ها را. اساساً این پین برای تمایز دستورات از داده ها استفاده می شود.
  • R / W (نوشتن/ خواندن) روی LCD برای کنترل این است که آیا شما داده ها را از LCD می خوانید یا اطلاعات را روی LCD می نویسید. از آنجا که ما فقط از این LCD به عنوان دستگاه OUTPUT استفاده می کنیم ، می خواهیم این پایه را پایین ببندیم. این امر آن را وارد حالت WRITE می کند.
  • E برای فعال کردن نمایشگر از پین Enable استفاده می شود. یعنی وقتی این پین روی LOW تنظیم شود ، LCD اهمیتی نمی دهد که با R / W ، RS و خطوط گذرگاه داده چه اتفاقی می افتد. وقتی این پین روی HIGH تنظیم شود ، LCD در حال پردازش داده های ورودی است.
  • D0-D7  پین هایی است که داده های 8 بیتی ما را به صفحه نمایش ارسال می کند. برای مثال ، اگر بخواهیم کاراکتر “A” بزرگ را روی صفحه نمایش ببینیم ، این پایه ها را روی 0100 0001 (مطابق جدول ASCII) روی LCD تنظیم می کنیم.
  • A-K از پین های  Anode & Cathode برای کنترل نور پس زمینه LCD استفاده می شود .
pinout lcd کاراکتری
pinout lcd کاراکتری

 

RS (انتخاب رجیستر یا Register Select)

یک LCD 16X2 دارای دو رجیستر 8 بیتی ، دستوالعمل(IR) و دیتا(DR) است . پایه RS برای انتخاب رجیستر دستوالعمل یا رجیستر دیتا استفاده می شود . RS = 0 برای رجیستر فرمان و RS = 1 برای رجیستر داده استفاده می شود .

به عنوان مثال ، وقتی پین RS روی LOW تنظیم می شود ، ما در حال ارسال دستورات به LCD هستیم (مانند تنظیم مکان نما در یک مکان خاص ، پاک کردن نمایشگر ، پیمایش صفحه به سمت راست و چپ و غیره).

هنگامی که پین RS روی HIGH تنظیم می شود ، ما داده ها یا کاراکترها را به LCD ارسال می کنیم . رجیستر داده ، داده هایی را که باید در LCD نمایش داده شوند ذخیره می کند . داده ها مقدار ASCII کاراکتری است که باید در LCD نمایش داده شود. وقتی داده ها را به LCD می فرستیم ، به رجیستر داده می رود و در آنجا پردازش می شود.

اکنون می خواهیم LCD کاراکتری را روشن و آزمایش کنیم.LCD دارای دو اتصال جداگانه تغذیه است. یکی (پایه 1 و پایه 2) برای خود LCD و دیگری (پایه 15 و پایه 16) برای نور پس زمینه LCD. پایه های 1 و 16 روی LCD را به GND و پایه های 2 و 15 LCD را به 5V وصل کنید.

اکثر قریب به اتفاق LCD ها دارای یک مقاومت داخلی برای نور پس زمینه LED هستند. اگر LCD دارید که مقاومت ندارد ، باید یک مقاومت بین 5 ولت و پایه 15 اضافه کنید.

برای محاسبه مقدار مقاومت سری ، حداکثر جریان نور پس زمینه و افت ولتاژ نور پس زمینه معمولی را از دیتاشیت LCD جستجو کنید. و با استفاده از قانون اهم ساده می توانید مقدار مقاومت را محاسبه کنید.

اگر به دیتاشیت دسترسی ندارید ، استفاده از یک مقاومت 220 اهم مناسب است ، اما ممکن است مقداری نور پس زمینه را کم نور کند.

در ادامه ما اتصالاتی را برای پین 3 در LCD ایجاد خواهیم کرد که کنتراست و روشنایی صفحه را کنترل می کند. برای تنظیم دقیق کنتراست ، ما یک پتانسیومتر 10K بین 5 ولت و GND وصل خواهیم کرد. پایه مرکزی پتانسیومتر را به پایه 3 روی LCD وصل کنید.

در تجربه ای که ما در کارکردن با lcd کاراکتری داشته ایم ، بجای استفاده از پتانسیومتر 10k اهمی که بر روی پایه 3 برای تنظیم کنتراست قرار می دهند . می توان از یک مقاومت 1k اهم بین پایه 3 و زمین استفاده نمود.

آموزش راه اندازی lcd کاراکتری
شماتیک lcd کاراکتری

پایه های مربوط به نورپس زمینه و کنتراست lcd کاراکتری را طبق شماتیک فوق متصل کنید ، بعد از اتصال تغذیه و روشن کردن مدار ، خواهید دید که نور پس زمینه روشن می شود و هنگامی که ولوم پتانسیومتر روی پایه 3 را می چرخانید ، مانند تصویر زیر ، یک سری مربع فقط در خط یا سطر  1 نمایشگر مشاهده خواهید کرد. این الگوی پیش فرض LCD زمانی است که تازه روشن شده و هنوز توسط میکروکنترلر پیکربندی نشده است. . اگر این الگو را نمی بینید ، می توانید ولوم پتانسیومتر را بچرخوانید تا زمانی که این الگو را ببینید .

راه اندازی lcd کاراکتری 16*2
راه اندازی lcd کاراکتری 16*2

 

انواع حافظه در LCD کاراکتری

صفحه نمایش LCD کاراکتری شامل سه بلوک حافظه است:

  1. CGROM
  2. DDRAM
  3. CGRAM

حافظه  CGROM در LCD کاراکتری

CGROM مخفف کلمه Character Generator ROM است. حافظه CGROM ، فونت یا کاراکترهای دائمی را ذخیره می کند . حافظه CGROM غیر فرار است و قلم ذخیره شده در CGROM قابل تغییر نیست . وقتی به یک LCD کاراکتری می گویید که کاراکتر “A” را نمایش دهد ، باید بداند کدام نقطه ها یا پیکسل ها را روشن کند تا کاراکتر “A” را ببینیم. این اطلاعات در حافظه CGROM ذخیره می شود .

به طور معمول حافظه CGROM دارای 256 کاراکتر تعریف شده است . به تصویر زیر توجه کنید ، نیمه اول جدول یا  کاراکتر 0 الی 127 جدول CGROM به فونت های معمولی ASCII اختصاص دارد . از آنجا که کنترل کننده  LCD کاراکتری اولیه در ژاپن طراحی شده اند ، بسیاری از LCD ها دارای فونت های ژاپنی در نیمه دوم  یا کاراکتر 128 الی 255 جدول هستند . برخی از CGROM ها نیز وجود دارند که بجای کاراکترهای ژاپنی ، دارای کاراکترهای European یا Cyrillic در  مکان های بالایی جدول هستند.

حافظه CGROM در LCD کاراکتری
حافظه CGROM در LCD کاراکتری

حافظه  DDRAM در LCD کاراکتری

DDRAM مخفف کلمه Display Data RAM است . حافظه DDRAM برای ذخیره کاراکترهایی است که در صفحه LCD نمایش داده می شوند . کنترل کننده HD44780 دارای 128 آدرس مختلف برای DDRAM است ، اما همه 128 آدرس موقعیت خاص خود را در صفحه LCD ندارند . فقط 80 مکان نمایش را می توان برای ذخیره کاراکترها ها استفاده کرد بنابراین ظرفیت این حافظه برابر 80 کاراکتر است .

کنترل کننده HD44780 نه تنها برای LCD در اندازه 16 × 2 بلکه برای سایزهای دیگر LCD  مانند 16 × 4 ، 20 × 2 یا 40 × 2 نیز قابل استفاده باشد. حافظه DDRAM برای تمام اندازه های LCD یکسان و برابر 80 کاراکتر است . تفاوت این LCD ها در تعداد کاراکتری است که می تواند روی صفحه نمایش داده شود.

به عنوان مثال ، در اندازه 16 × 2 ، فقط امکان نمایش 16×2=32 کاراکتر وجود دارد ، اما آدرس های دیگر از حافظه DDRAM هنوز هم می توانند برای ذخیره کاراکترها استفاده شوند ، هرچند نمایش داده نمی شوند. برای نمایش آن ، می توانیم نمایشگر را به سمت راست یا چپ Shift دهیم . زمانی که LCD را روشن می کنیم ، به صورت پیشفرض از 80 آدرس موجود در حافظه DDRAM ، فقط 32 آدرس تصویر زیر ، بر روی صفحه LCD کاراکتری 16X2 نمایش داده می شود .

DDRAM در LCD 16*2
DDRAM در LCD 16*2

در حقیقت ، می توانیم تصور کنیم که آدرس های دیگری که روی صفحه نمایش 16 × 2 نمایش داده نمی شوند ، به شرح زیر هستند .

آدرس دهی حافظه DDRAM در LCD کاراکتری HD44780
آدرس دهی حافظه DDRAM در LCD کاراکتری HD44780

از این 80 مکان یا آدرس ، می توانیم از قابلیت شیفت صفحه نمایش استفاده کنیم تا مکانهایی را که در صفحه LCD نشان داده نمی شوند نشان دهیم . برای شیفت صفحه نمایش ، می توانیم از دستورالعمل 0x18 برای پیمایش به چپ و از دستورالعمل 0x1C برای پیمایش به راست استفاده کنیم .

در هر پالس روی پایه EN ، صفحه نمایش یک مکان منتقل می شود . توجه به این نکته مهم است که این پیمایش کاراکترها را به مکانهای آدرس DDRAM جدید منتقل نمی کند . درست مثل این است که کل آدرس بلوک را به سمت چپ یا راست زیر صفحه نمایش حرکت دهید .

حرکت یا شیفت متن در LCD کاراکتری HD44780
حرکت یا شیفت متن در LCD کاراکتری HD44780

تنظیم مکان نما یا آدرسی DDRAM

برای تنظیم آدرس مکان نما بر روی LCD می توانیم از دستورالعمل های جدول زیر استفاده کنیم . دستورالعمل آدرس دهی حافظه DDRAM برابر 0b1AAAAAAA می باشد . بنابراین ، اگر بخواهیم مکان نما را در موقعیت سطر اول و ستون اول قرار بدهیم ، آدرس برابر 0b10000000(0x80)+ADD(0x00)=0x80 خواهد بود و اگر بخواهیم مکان نما در موقعیت سطر دوم و ستون اول قرار بگیرد ، آدرس برابر 0b10000000(0x80)+ADD(0x40)=0xC0 تنظیم کنیم . فراموش نکنید که RS و RW را روی LOW قرار دهید و پس از آن پالس EN بدهید .

آدرس حافظه DDRAM در LCD کاراکتری
آدرس حافظه DDRAM در LCD کاراکتری

در ادامه می خواهیم به بررسی و تست چند دستورالعمل پر کاربرد بپردازیم . جدول بالا توسط دیتاشیت ارائه شده است و شامل تمام دستورالعمل های LCD کاراکتری می باشد . جهت سهولت در کار و فهم ساده تردستوالعمل ها را در جدول زیر در مبنای کد هگز قرار داده ایم . دستورالعمل 0x01 صفحه نمایش و حافظه DDRAM را پاک می کند و مکان نما را در موقعیت پیش فرض سطر و ستون 0,0 قرار می دهد . دستورالعمل 0X02 فقط مکان نما یا آدرس DDRAM را در موقعیت سطر و ستون 0,0 قرار می دهد با این تفاوت که صفحه نمایش پاک نمی شود . دستورالعمل 0X06 مکان نما را به راست منتقل می کند به این ترتیب با نمایش هر کاراکتر بر روی LCD ، مکان نما به صورت اتوماتیک یک واحد به راست منتقل می شود و لازم نیست هر بار موقعیت نمایش کاراکتر بعدی تنظیم شود .

دستورالعمل ها در LCD کاراکتری
دستورالعمل ها در LCD کاراکتری

 

حافظه  CGRAM در LCD کاراکتری

CGRAM مخفف کلمه Character Generator RAM است . تمام نمایشگرهای LCD مبتنی بر کنترل کننده Hitachi HD44780 دارای این حافظه هستند . CGRAM حافظه دیگری است که می تواند برای ذخیره کاراکترهای تعریف شده توسط کاربر استفاده شود . استفاده از حافظه CGRAM زمانی مفید است که کاراکتر مورد نیاز ما بخشی از مجموعه کاراکترهای استاندارد ASCII موجود در حافظه CGROM نباشد ، مانند کاراکتر علامت آلارم یا باطری . این حافظه فرار است و می تواند هر زمان اصلاح شود. این حافظه می تواند حداکثر 8 کاراکتر تعریف شده توسط کاربر را ذخیره کند.

برای تعریف یک کاراکتر سفارشی در CGRAM باید به مکان آدرس CGRAM آنها دسترسی پیدا کنیم. دستور برای دسترسی به آدرس CGRAM در تصویر زیر نشان داده شده است.

آدرس دهی حافظه CGRAM در LCD کاراکتری
آدرس دهی حافظه CGRAM در LCD کاراکتری

دستورالعمل آدرس دهی حافظه CGRAM برابر 0b01AAAAAA می باشد . بنابراین اگر بخواهیم در اولین مکان از حافظه CGRAM چیزی بنویسیم  ، آدرس برابر 0b01000000(0x40)+ACG(0x00)=0x40 خواهد بود . هر 1 مکان یا کاراکتر در حافظه CGRAM می تواند 1 ردیف با قالب 5 × 8 پیکسل را ذخیره کند. بنابراین ، اولین الگوی کاراکتر سفارشی در آدرس 0x40 تا 0x47 ذخیره می شود. بعد از اینکه الگویی را در مکان CGRAM نوشتیم ، نشانگر CGRAM به طور خودکار افزایش می یابد. در تصویر زیر ، نحوه نشان دادن الگوهای کاراکترهای سفارشی ذخیره شده در CGRAM نشان داده شده است.

آموزش ساخت کاستوم کاراکتر در LCD کاراکتری
آموزش ساخت کاستوم کاراکتر در LCD کاراکتری

کل حافظه CGRAM شامل 64 بایت می باشد . برای LCD با کاراکترهای 5 × 8 پیکسلی ، حداکثر 8 کاراکتر تعریف شده توسط کاربر می تواند در CGRAM ذخیره شود . و برای LCD مبتنی بر 5 × 10 پیکسل ، فقط 4 کاراکتر تعریف شده توسط کاربر می تواند ذخیره شود.

بعد از اینکه کاراکترهای سفارشی را درون حافظه CGRAM ذخیره کردیم ، چگونه باید این کاراکترها را بر روی LCD کاراکتری نمایش دهیم ؟ قبلا توضیح دادیم حافظه CGROM برای ذخیره تمام کاراکترها و فونتهای دائمی استفاده می شود که می توان با استفاده از کد ASCII کاراکترها نمایش داده شوند . به عنوان مثال ، اگر کد 0x41 هگز را به عنوان دیتا بر روی LCD بنویسیم ، کاراکتر “A” نمایش داده می شود .

برای درک بهتر به جدول زیر توجه کنید کاراکتر “A”در موقعیت 0b01000001(0x41) از حافظه CGROM قرار دارد . به همین ترتیب 8 کاراکتر ابتدای جدول CGROM که با رنگ سبز مشخص شده است کاراکتر هایی هستند که در حافظه CGRAM ذخیره شده اند و مانند این است که به کاراکتر های دائمی در CGROM (با فراخوانی کدهای آنها) دسترسی پیدا کنیم . بنابراین می توان به کاراکترهای سفارشی از کد 0b00000000(0x00) تا 0b00000111(0x07) دسترسی پیدا کرد.

آموزش فارسی نویسی در ال سی دی کاراکتری
آموزش فارسی نویسی در LCD کاراکتری

فارسی نویسی بر روی LCD کاراکتری

همانطور که می دانید فونت فارسی داخل فونت های دائمی حافظه CGROM وجود ندارد . بنابراین باید فونت فارسی کلمه یا جمله ای که می خواهیم  طراحی کنیم و داخل حافظه CGRAM قرار دهیم . فونت های نیز یک کاراکتر سفارشی محسوب می شود و دقیقا باید به روش نوشتن کاراکتر سفارشی که در مرحله قبل توضیح داده شد ، عمل کنیم .

بررسی Busy Flag در LCD کاراکتری

Busy Flag یک پرچم نشانگر وضعیت برای LCD است. وقتی ما یک دستورالعمل یا داده به LCD می فرستیم ، این پرچم فعال می شود (یعنی BF = 1) و به محض اجرای موفقیت آمیز دستورالعمل ، این پرچم پاک می شود (BF = 0).

برای خواندن Busy Flag ، شرط RS = 0 و R / W = 1 باید برآورده شود و MSB باس داده یا پایه DB7 از LCD به عنوان پرچم اشغال یا Busy Flag عمل می کند. وقتی BF = 1 به معنای LCD در حال انجام یک عملیات داخلی است و دستور یا داده بعدی را نمی پذیرد و BF = 0 به معنای آن است که LCD برای پردازش دستور یا داده بعدی آماده است.

خواندن busy flag در lcd کاراکتری
خواندن busy flag در lcd کاراکتری

همانطور که اشاره شد ، برای اجرای هر دستوالعمل یا داده در LCD باید کمی تأخیر وجود داشته باشد تا LCD بتواند با موفقیت دستورالعمل یا داده را پردازش کند. بنابراین بجای خواندن و بررسی پرچم BUSY FLAG ، می توان این تاخیر را توسط میکروکنترلر با ایجاد یک حلقه تأخیر یا Delay ایجاد کرد . فقط این تاخیر یا Delay نباید کمتر از زمان مشخص شده در دیتاشیت برای پردازش LCD باشد .

در اغلب کتابخانه هایی که برای کار با lcd کاراکتری ها ارائه شده است ، بجای استفاده از روش چک کردن busy flag از delay استفاده شده است . در این حالت چون دیگر نیازی به خواندن اطلاعاتی از lcd کاراکتری نیست ، می توانیم پایه R/W را فقط در حالت نوشتن یا Write  قرار دهیم و پایه R/W=0 را مستقیم به پایه GND یا زمین LCD متصل کنیم . بنابراین در استفاده یکی از پایه های میکروکنترلر صرفه جویی می شود .

استفاده از LCD کاراکتری در محیطهای صنعتی و پرنویز

اگر از LCD کاراکتری در محیط های صنعتی و پرنویز استفاده می کنید . توصیه ما این است که حتما از پایه R/W و قابلیت خواندن LCD استفاده شود . چون ممکن است در اثر نویز LCD از تنظیمات اولیه خارج شود و علامت های ناخوانا نمایش دهد  . در این صورت LCD باید دوباره پیکربندی یا INIT شود . سعی شود LCD  تا حد ممکن به بورد نزدیک باشد . از خازن 100 نانوفاراد سرامیکی و 10 میکروفاراد تانتالیوم در نزدیکی پایه های تغذیه استفاده شود .

راه اندازی LCD کاراکتری در مد 4 بیتی و 8 بیتی

LCD کاراکتری ها را می توان در مدهای 4 بیتی یا 8 بیتی استفاده کرد . در مد 8 بیتی ، برای ارسال دستور یا داده به 8 سیم از D7 تا D0 نیاز داریم ، بنابراین 8 پایه از میکروکنترلر اشغال می شود . استفاده از مد 8 بیتی سریعتر است زیرا در مد 8 بیتی ، یک بایت اطلاعات که شامل هشت بیت است با یک بار نوشتن ، در حافظه LCD قرار می گیرد . دستوالعمل فعال سازی مد 8 بیتی در LCD کاراکتری برابر 0x38 هگز می باشد .

در مد 4 بیتی ، برای ارسال دستور یا داده به 4 سیم از D7 تا D4 نیاز داریم و پایه های D3 تا D0 استفاده نمی شود ، بنابراین 4 پایه از میکروکنترلر اشغال می شود . با این حال ، در مد 4 بیتی شما باید یک بایت اطلاعات را به دو بخش چهار بیت با ارزش MSB و چهار بیت کم ارزش LSB  تقسیم کنید ، در این شرایط برای انتقال یک بایت به حافظه LCD باید 2 بار عمل نوشتن را انجام دهیم . دستوالعمل فعال سازی مد 8 بیتی در LCD کاراکتری برابر 0x28 هگز می باشد .

بنابراین ، از حالت 4 بیتی اغلب برای صرفه جویی در پایه های ورودی / خروجی استفاده می شود . اما حالت 8 بیتی هنگامی که سرعت در یک برنامه مورد نیاز است انتخاب بهتری می باشد .

راه اندازی LCD کاراکتری 16X2 توسط STM32

برای اتصال lcd کاراکتری به میکروکنترلر stm32 ، توسط نرم افزار stm32cubemx میکروکنترلر مورد نظر خود را انتخاب نمایید و پایه های دیتا و فرمان lcd کاراکتری را بدلخواه به پایه های میکروکنترلر وصل کنید .

نام پین ها حتما باید هم نام پین های تعریف شده در تصویر زیر باشد . در این حالت نیاز به هیچگونه تغییر در فایل کتابخانه نمی باشد  .

راه اندازی lcd کاراکتری با stm32
راه اندازی lcd کاراکتری با stm32

توابع کتابخانه lcd کاراکتری به شرح زیر می باشد :

void HD44780_Init(uint8_t cols, uint8_t rows);
void HD44780_DisplayOn(void);
void HD44780_DisplayOff(void);
void HD44780_Clear(void);
void HD44780_CursorSet(uint8_t col, uint8_t row);
void HD44780_Putc(uint8_t c);
void HD44780_Puts(uint8_t x, uint8_t y, char* str);
void HD44780_Putsn(uint8_t x, uint8_t y, char* str, uint8_t len);
void HD44780_BlinkOn(void);
void HD44780_BlinkOff(void);
void HD44780_CursorOn(void);
void HD44780_CursorOff(void);
void HD44780_ScrollLeft(void);
void HD44780_ScrollRight(void);
void HD44780_Scroll(uint8_t dir, uint8_t step, uint32_t delay);
void HD44780_CreateChar(uint8_t location ,const uint8_t *data);
void HD44780_PutCustom(uint8_t x, uint8_t y, uint8_t location);
#ifdef HD44780_RW_Pin
uint8_t HD44780_Read4bit(void);
uint8_t HD44780_ReadData(void);
uint8_t HD44780_CheckBusy(void);
#endif

قابلیتهای این کتابخانه به شرح زیر می باشد :

کتابخانه و مثال برای نرم افزارهای STM32CUBEIDE و KEIL  .
پیکربندی پایه های LCD کاراکتری توسط نرم افزار STM32CUBEMX .
قابلیت خواندن از lcd و چک کردن Busy Flag ، باید درون نرم افزار STM32CUBEMX پایه ای برای اتصال به RW با نام HD44780_RW تعریف شود ، در غیر اینصورت می توانید پایه RW را به زمین متصل نمایید .
قابلیت نوشتن کاراکترهای سفارشی ، مانند طراحی علامتها و حروف فارسی .
قابلیت استفاده برای انواع LCD کاراکتری در ابعاد مختلف (16X2,20X4) با درایور HD44780
قابلیت راه اندازی در مد 4bit
به همراه سورس کد نوشته شده برای میکروکنترلر Stm32f103c8t6 توسط توابع HAL

آموزش راه ادازی lcd کاراکتری با stm32
آموزش راه ادازی lcd کاراکتری با stm32

 

همچنین بخوانید >> آموزش راه اندازی LCD گرافیکی KS108 به همراه فونت فارسی

خرید و دریافت لینک دانلود :

کتابخانه راه اندازی lcd کاراکتری با stm32 .
قابلیت راه اندازی ابعاد مختلف lcd کاراکتری .
قابلیت نمایش کاراکتر سفارشی .

نوشته های مشابه

مشترک شدن
اطلاع رسانی کن
guest
33 دیدگاه
قدیمی ترین
جدیدترین محبوب ترین
بازخورد داخلی
مشاهده همه نظرات