1. خانه
  2. آموزش
  3. جلسه نهم _ نحوه راه اندازی ال سی دی کاراکتری (قسمت اول)

جلسه نهم _ نحوه راه اندازی ال سی دی کاراکتری (قسمت اول)

جلسه نهم _ نحوه راه اندازی ال سی دی کاراکتری (قسمت اول)

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

با توجه به محیط استفاده و اطلاعات قابل نمایش، نمایشگر های مختلفی وجود دارند که از بین آنها می توان به چند مورد پرکاربرد همچون سون سگمنت، ال سی دی های کاراکتری، ال سی دی های گرافیکی تک رنگ و ال سی دی های گرافیکی رنگی اشاره نمود که تمام این موارد در سایزهای مختلف وجود دارند شاید بتوان پرکاربرد ترین نمایشگر متنی در پروژه ها را ال سی دی های کاراکتری ۲×۱۶ نام برد که دارای قیمت مناسب و کارایی نسبتا خوبی هستند و قادرند تا اطلاعات را بصورت متنی نمایش دهند. در این جلسه قصد داریم تا ال سی دی کاراکتری را راه اندازی نماییم.
در پروژه ها برای جلوگیری از شلوغی برنامه و همچنین استفاده آسان از بخشی از برنامه در برنامه های دیگر معمولا آنها را بصورت کتابخانه های مجزا می نویسند و سپس در یک فایل آنها را فراخوانی می کنند برای راه اندازی ال سی نیز از یک کتابخانه استفاده می شود در ابتدای کار نحوه پیکربندی ال سی دی را در نرم افزار STM32CubeMX انجام می دهیم و کد اولیه را تولید می کنیم و پس از آن نحوه اضافه نمودن کتابخانه ال سی دی را به برنامه فرا می گیریم.
مطابق جلسات قبلی با توجه به نوع میکرو پروژه ای را ایجاد می کنیم و تنظیمات اصلی را انجام می دهیم پس از آن پایه های مورد نظر و مورد استفاده توسط ال سی دی را مطابق شماتیک در پروژه مشخص و پیکربندی می نماییم. با توجه به اینکه تمامی این پایه ها در پروژه ما بصورت خروجی استفاده می شوند، درابتدا آن ها را بصورت خروجی تعریف می کنیم

Conf_Output

همان طور که در تصویر بالا مشخص است ۷ پایه از پورت E که پایه های ال سی دی به آنها متصل می شود(مطابق شماتیک) بصورت خروجی تعریف می شوند. در ادامه برای هر پایه لیبل مناسب با پایه ای از ال سی دی که به آن متصل شده انتخاب می کنیم.

Set_Alias

پس از انجام تنظیمات و انتخاب نام مناسب برای هر پایه می توانیم با زدن گزینهCODE GENERATE برنامه را ایجاد نماییم. پس از تولید فایل های برنامه ابتدا فایل main.h را باز می کنیم

Direction

با هم اسامی که برای پایه ها در نظر گرفته ایم را بررسی نماییم

 

Define

همانطور که مشخص است برای هر پایه دو اسم در نظر گرفته است که یکی به شماره پایه اشاره دارد و دیگری به پورتی که آن پایه در آن وجود دارد، به طور مثال LCD_D4 به پین PE0 متصل شده است که با یک define مشخص کرده است که این پایه به پین ۰ متصل شده است:

Pin0

و در خط بعد نام پورت آن را مشخص کرده است که پورت E می باشد:

PortE

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

Pin_Define

همانطور که در تصویر بالا مشخص است با توجه به اینکه پایه ها خروجی هستند این قابلیت را دارند که بصورت خاموش یا روشن (Low or High) تنظیم شوند و همانطور که در بخش آموزش یک چشمک زن ساده با هم مشاهده کردیم مشخص شد که چگونه می توانیم یک پایه را خاموش یا روشن کنیم.

SetLcdD4

همانطور که مشاهده می کنید با اجرا شدن دستور HAL_GPIO_WritePin(LCD_D4_GPIO_Port,LCD_D4_Pin,GPIO_PIN_SET) پایه مورد نظر روشن یا Set می شود و با قرار دادن define SetLcdD4 جلو این عبارت از این به بعد می توانیم به جای آن عبارت طولانی فقط با نوشتن SetLcdD4آن پایه را Set کنیم، این روش برای Reset کردن این پایه نیز انجام شده و فقط کافیست از دستور ClrLcdD4 استفاده کنیم.

Prototypes

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

در جلسه بعد به نحوه اضافه کردن این کتابخانه به برنامه اصلی می پردازیم و با هم نحوه راه اندازی ال سی دی را فرا می گیریم.

زندگی تون پر از نور و مسیرتون سبز

محمد هادی دشتی

لینک های مرتبط با آموزش:
جلسه اول_معرفی هسته آرم و میکروکنترلرهای ۳۲ بیتی شرکت ST

جلسه دوم_معرفی نرم افزارهای مورد نیازجهت برنامه نویسی و پروگرام

جلسه سوم _ آموزش نحوه دانلود آخرین نسخه از نرم افزار STM32CubeIDE

جلسه چهارم _نصب نرم افزار STM32CubeIDE و نصب کتابخانه

جلسه پنجم _ نحوه انجام تنظیمات در نرم افزار STM32CubeMX برای تولید کد برنامه چشمک زن

جلسه ششم _ برنامه نویسی یک چشمک زن ساده با استفاده از نرم افزار STM32CubeIDE

جلسه هفتم _ نحوه انجام تنظیمات پایه به صورت ورودی در نرم افزار STM32CubeMX و برنامه نویسی یک کلید

جلسه هشتم _ معرفی نرم افزار STM32 Flash Loader Demonstrator (پروگرامر سریال) 

جلسه دهم _ نحوه راه اندازی ال سی دی کاراکتری _ افزودن کتابخانه (قسمت دوم)

جلسه یازدهم _ نحوه راه اندازی ال سی دی کاراکتری _ معرفی توابع (قسمت سوم)

جلسه دوازدهم _ دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد ADC(بخش اول)

جلسه سیزدهم_دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد ADC(بخش دوم)

جلسه چهاردهم_دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد تایمر(بخش اول)

جلسه پانزدهم_دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد تایمر(بخش دوم)

2 دیدگاه. ارسال دیدگاه جدید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
برای ادامه، شما باید با قوانین موافقت کنید