پروژه های الکترونیکی برای نمایش دیتا به کاربر، نیازمند راه اندازی LCD متنی با میکروکنترلر AVR هستند.

LCD ها یکی از انواع راه های ارتباطی دنیای دیجیتال و کاربران هستند.

اگر شما هم علاقه مند به انجام پروژه های کاربردی هستید، این ویدیو را تا انتها تماشا کنید.

راه اندازی LCD متنی با میکروکنترلر AVR (بخشی از بسته BEE)

تنظیمات اولیه در نرم افزار CodevisionAVR

برای راه اندازی LCD متنی با میکروکنترلر AVR باید در محیط CodeWizard ابتدا تنظیمات مربوط به ارتباط سریال را فعال کرده و
سپس از منوی سمت چپ گزینه Alphanumeric LCD را انتخاب کرده و گزینه Enable را تیک میزنیم.

با توجه به نوع LCD گزینه مناسب Character/Line را انتخاب میکنیم، در LCD مورد استفاده ما هر سطر 16 کاراکتر دارد.

در قسمت دوم تنظیمات شماره پایه های میکروکنترلر AVR که قرار است به LCD متصل شوند را انتخاب می کنیم.

محیط codewizard برای راه اندازی LCD متنی

توابع قابل استفاده در کتابخانه alcd.h

برای راه اندازی LCD متنی با میکروکنترلر AVR می توان از توابع از پیش تعریف شده در ااین کتابخانه استفاده کرد.

دستور (lcd_gotoxy(x,y : شروع نوشتن از یک خانه خاص از صفحه نمایش LCD

دستور ()lcd_clear : پاک کردن صفحه نمایش LCD

دستور ()lcd_putchar : نمایش یک کاراکتر روی صفحه نمایش LCD

دستور ()lcd_puts : نمایش یک string که در حافظه SRAM قرار دارد.

دستور ()lcd_putsf : نمایش یک string که در حافظه FLASH قرار دارد.

دستور ()lcd_putse : نمایش یک string که در حافظه EEPROM قرار دارد.

** دستورهایی که در کتابخانه ها با یک ( _ ) در ابتدای آن ها نامگذاری شده اند از نوع private هستند و
قابلیت استفاده توسط برنامه نویس را ندارند.

راه اندازی LCD متنی با میکروکنترلر AVR

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

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

در بالای بخش (while(1 یکبار LCD را پاک کرده و
سپس با استفاده از دستور lcd_puts یک کاراکتر a را نمایش می گذاریم.

از یک پتانسیومتر برای تنظیم نور پس زمینه LCD استفاده می کنیم.

برای جا به جا کردن cursor صفحه نمایش LCD باید از دستور (lcd_gotoxy(x,y استفاده کنیم و
بجای x و y میتوانیم دو عدد از بازه 0 تا 255 بدهیم.

به صورت پیشفرض cursor در محل (0و0) قرار دارد.

خانه های LCD از چپ به راست از 0 تا 15 و از بالا به پایین با اعداد 0 و 1 شماره گذاری شده اند.

راه اندازی LCD متنی

برای استفاده از تابع lcd_puts باید یک ورودی از جنس char star بدهیم که
در واقع pointer به خانه اول یک آرایه یا همان یک string را از ما می خواهد.

برای مثال عبارت !NAMATEK را با استفاده از دبل کوتیشن به عنوان ورودی این تابع می دهیم که
در این حالت کامپایلر string نوشته شده را به صورت آرایه با یک null انتهایی ذخیره میکند.

** حافظه flash: این حافظه محل ذخیره کدهای برنامه هستند و برای ذخیره کردن متغیرهای از نوع Const نیز استفاده میشوند **

کد مربوط به نمایش مقدار متغیر روی LCD متنی 

برای نمایش یک مقدار متغیر روی LCD باید در ابتدا یک بافر تعریف کنیم که
از نوع char باشد و باید تعداد حداکثر خانه های آن را نیز تعریف کنیم.

برای راه اندازی LCD با 16 ستون لازم داریم که یک بافر 16 تایی تعریف کنیم و
از طرفی یک خانه هم برای null termination درنظر میگیریم که
در صورت پر بودن کل خانه های LCD باید خانه 17 ام را برای null داشته باشیم.

با میکروکنترلرها آشنا شویم و تفاوتشان با میکروپروسسور را بدانیم! بنر

دستور sprintf

در حلقه (while(1 از دستور sprintf استفاده میکنیم و به این صورت مینویسیم که

;(sprintf(buffer, “a : %d”, a

این دستور برای ساختن یک string و قرار دادن آن در یک بافر استفاده میشود.

و در ادامه مقدار buffer را با دستور lcd_puts نمایش میدهیم و
بعد از آن یک (delay_ms(1000 قرار میدهیم که یک ثانیه بین شمارش فاصله بیفتد.

در ابتدای حلقه (while(1 یکبار LCD را پاک می کنیم تا هربار عدد جدید به جای قبلی نوشته شود و
بعد از نمایش مقدار بافر، باید متغیر a را یکی اضافه کنیم.

پروژه شمارنده بعد از راه اندازی LCD متنی

مقاله بالا بخشی از بسته جامع الکترونیک (BEE) است.

برای مشاهده کامل این بسته کلیک کنید.

مشاهده بسته الکترونیک
بسته جامع آموزش الکترونیک

در نماتک نظر دهید