نحوه درایو کردن صفحه کلید ماتریسی با AVR

5 دقیقه زمان مطالعه

نحوه درایو کردن صفحه کلید ماتریسی با AVR

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

کیت به گونه‌ای طراحی شده است که تمام ویژگی‌ها و قابلیت‌های میکروکنترلر به راحتی توسط کارآموزان مورد استفاده قرار گیرد. کیت از برنامه نویسی درون سیستم (ISP) پشتیبانی می‌کند که از طریق پورت Parallel/ Printer انجام می‌شود.

درایو کردن صفحه کلید ماتریسی

شکل زیر نحوه درایو صفحه کلید ماتریسی X 4 4  را به دو پورت در میکروکنترلر نشان می‌دهد. ردیف‌ها به درگاه خروجی و ستون‌ها به پورت ورودی وصل می شوند.

برای ردیابی یک کلید فشرده شده، میکروکنترلر با ارائه 0 به یک پایه خروجی، تمام ردیف‌ها  مابقی را یک می‌کند و سپس ستون‌ها را می‌خواند. اگر داده های خوانده شده از ستون ها D3-D0 = 1111 باشد، هیچ کلیدی زده نشده است و تا زمانی که کلیدی زده نشود، این روند ادامه دارد. اما اگر یکی از بیت‌های ستون صفر باشد، این بدان معنی است که کلید زده شده است. به عنوان مثال، اگر D3-D0 = 1101 باشد، این بدان معنی است که یک کلید در ستون D1 زده شده است.

پس از شناسایی یک کلید اصلی، میکروکنترلر مراحل شناسایی کلید را طی می‌کند. میکروکنترلر کار پایه گذاری خود را از ردیف بالا شروع می‌کند و تنها با ارائه ردیف D0 به ردیف پایین، می‌رسد. سپس ستون‌ها را می‌خواند.

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

درایو کردن صفحه کلید ماتریسی
درایو کردن صفحه کلید ماتریسی

درایو کردن صفحه کلید ماتریسی با AVR  توسعه داده شده

اکنون می‌خواهیم یک صفحه کلید را با AVR اسکن کنیم. در این مورد، هر دو انتهای سوئیچ‌های صفحه کلید ماتریسی X 4 4 را به پین پورت یعنی چهار ردیف و چهار ستون وصل می‌شوند. بنابراین برای درایو کردن هر شانزده سوئیچ فقط از هشت خط استفاده شده است.

یک صفحه کلید با فرمت ماتریسی مرتب و هر ردیف و بخش ستون با انتخاب J15 بالا یا پایین کشیده شده‌ و تمام خطوط ردیف (PORTB.0 – PORTB.3) و خطوط ستون (PORTB.4 تا PORTB.7) به طور مستقیم توسط پین‌های پورت متصل می شوند.

پین‌های اختصاص داده شده با AVR  توسعه داده شده :

کد نویسی برای درایو کردن صفحه کلید ماتریسی با AVR
پین‌های اختصاص داده شده با AVR توسعه داده شده
نمودار مدار صفحه کلید درایو شده با AVR
نمودار مدار صفحه کلید درایو شده با AVR

کد نویسی برای درایو کردن صفحه کلید ماتریسی با AVR

صفحه کلید با برنامه AVR بسیار ساده و مستقیم درایو می‌شود تا سطرها و ستون‌های صفحه کلید را اسکن ‌کند. هنگامی که ردیف ها و ستون‌ها شناسایی شوند، آن را از طریق UART0 در کامپیوتر نمایش می‌دهد. برنامه های C در نرم افزار CodeVisionAVR تهیه شده‌اند.

برای تهیه کد C این برنامه، به نرم افزار CodeVision AVR احتیاج دارید. این نرم افزار دارای IDE خاص و داخلی و کامپایلر AVR gcc- – است. آنها باید به درستی نصب و برای تهیه کد باید به شکل صحیح تنظیمات شود. برای تهیه کد آن باید فایل C را به پروژه اضافه کنید.

در نرم افزار CodeVision AVR، شما می‌توانید بدون هیچگونه سخت افزاری، پروژه را توسعه یا عیب یابی کنید. شما باید کد تولید فایل HEX را کامپایل کنید. در حالت عیب یابی، می‌توانید خروجی پورت را بدون میکروکنترلر بررسی کنید. از نرم افزار AVR Code Blaster برای بارگیری پرونده hex در میکروکنترلر خود از طریق درگاه Parallel استفاده می‌شود.

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

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

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