جلسه چهل و یکم _ بررسی توابع و دستورات مربوط به صفحه کلید ماتریسی 4x4 در نرم افزار Keil
در این جلسه قصد داریم تا به بررسی کتابخانه مربوط به صفحه کلید بپردازیم و پس از آن با اضافه نمودن آن به برنامه و راه اندازی آن، کلید های فشرده شده در صفحه کلید را روی ال سی دی نمایش دهیم. پس در ابتدا کتابخانه مربوط به صفحه کلید را به پروژه اضافه می کنیم برای اینکار در محیط Keil بر روی نام پروژه راست کلیک می کنیم و گزینه Add Group را انتخاب می کنیم.
با انتخاب گزینه Add Group پوشه ای با نام New Group ایجاد می شود که می توانیم نام آن را تغییر دهیم و نام متناسب با نام کتابخانه برایش انتخاب کنیم.
در تصویر زیر می توانید پوشه ایجاد شده را بعد تغییر نام مشاهده نمایید.
بعد از ایجاد پوشه مورد نظر باید آدرس کتابخانه مورد نظر را به آن بدهیم قبل از آدرس دهی باید کتابخانه را در مسیر مناسبی ذخیره کرده باشیم در این پروژه کتابخانه در پوشه Src ذخیره شده است
در این مرحله که پوشه کتابخانه را در مسیر مناسبی قرار دادیم باید آنرا به پروژه خود در نرم افزار keil اضافه کنیم. برای اینکار روی پوشه ای که در نرم افزار اضافه کرده ایم راست کلیک می کنیم و گزینه Add Existing File to Group را انتخاب می کنیم.
با انتخاب مسیر ذخیره کتابخانه فایل های "c." و "h." را به برنامه اضافه می کنیم
پس از انتخاب گزینه Add کتابخانه مورد نظر به برنامه اضافه می شود.
به همین روش کتابخانه مربوط به ال سی دی کاراکتری را نیز به پروژه اضافه می کنیم پس از آن به سراغ توضیح برنامه می رویم.
ابتدا فایل main.h را باز می کنیم و مشاهده خواهید نمود که تمام لیبل هایی که برای پایه ها در نظر گرفته ایم در این فایل اعمال شده اند و همچنین می توانیم ما نیز در بخش USER CODE BEGIN Private defines نیز دیفاین های جدیدی را اضافه نماییم:
حال به سراغ فایل main.c می رویم و در ابتدا کتابخانه ها را مطابق تصویر زیر در آن اینکلود می کنیم:
در ادامه این فایل می توانیم متغیر های مربوط به ال سی دی و صفحه کلید را اضافه کنیم:
در ادامه و قبل از حلقه while دستورات مربوط به پیکربندی ال سی دی و نمایش متن های مورد نظر بر روی ال سی دی می باشد و پس از گذشت 2 ثانیه اطلاعات پاک می شوند و وارد حلقه while می شود.
درون حلقه while یک تابع مربوط به خواندن صفحه کلید وجود دارد که در صورتیکه کلیدی فشار داده نشده باشد این تابع مقدار 16 را باز می گرداند و اگر کلیدی فشار داده شود عدد مربوط به آن کلید بازگردانده می شود. پس از فراخوانی تابع خواندن صفحه کلید یک شرط وجود دارد که اگر کلیدی فشار داده شد و مقدار آن از 16 کمتر بود عدد مربوط به آن کلید را روی نمایشگر نمایش می دهد.
در فایل KBD4x4.h دستورات مربوط به خواندن از ورودی های متصل شده به ستون ها و Set یا Reset کردن پایه های متصل شده به سطر ها مشخص شده است و همچنین اطلاعات مربوط به عدد مربوط به هر کلید مشخص شده است:
در صورتیکه که ترتیب سطرها یا ستون ها جابجا شود مقدار بازگشتی نیز تغییر می کند که برای اصلاح آنها باید فایل KBD4x4.c را باز کنیم و در قسمت های مربوط به مقدار دهی متغیر Key1 (مانند تصویر زیر و بخش های دیگر) اعداد مورد نظر را اصلاح نماییم.
از محاسن این کتابخانه این است که هر پایه از صفحه کلید را می توانید به پورتی مختلف متصل نمایید و نیازی به رعایت ترتیب در اتصال به میکرو نمی باشد.
در انتها می توانید شماتیک مربوط به این جلسه و برنامه (keil , STM32CubeMX) آنرا دانلود نمایید.
دلتون شاد و لبتون پر خنده
محمد هادی دشتی
برای مشاهده آموزش جلسه اول(معرفی هسته آرم و میکروکنترلرهای 32 بیتی شرکت ST ) کلیک کنید.
برای مشاهده آموزش جلسه دوم( معرفی نرم افزارهای مورد نیازجهت برنامه نویسی و پروگرام ) کلیک کنید.
برای مشاهده آموزش جلسه سوم( نحوه دانلود آخرین نسخه از نرم افزار STM32CubeMX ) کلیک کنید.
برای مشاهده آموزش جلسه چهارم(نحوه انجام تنظیمات در نرم افزار STM32CubeMX ) کلیک کنید.
برای مشاهده آموزش جلسه پنجم(نحوه برنامه نویسی پروژه چشمک زن با نرم افزار Keil ) کلیک کنید.
برای مشاهده آموزش جلسه هشتم( نحوه راه اندازی ال سی دی کاراکتری-قسمت اول) کلیک کنید.
برای مشاهده آموزش جلسه سیو دوم(دوره آموزشی میکرو کنترلرهای STM32 _ معرفیSPI (بخش اول)) کلیک کنید.
برای مشاهده آموزش جلسه سی و سوم(دوره آموزشی میکرو کنترلرهای STM32 _ معرفیSPI (بخش دوم)) کلیک کنید.