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

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

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

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

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

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

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

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

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

محیط codewizard

توابع قابل استفاده در کتابخانه 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 میتوانیم دو عدد از بازه ۰ تا ۲۵۵ بدهیم.

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

خانه های LCD از چپ به راست از ۰ تا ۱۵ و از بالا به پایین با اعداد ۰ و ۱ شماره گذاری شده اند.

ال سی دی متنی

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

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

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

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

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

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

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

دستور sprintf

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

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

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

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

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

پروژه شمارنده

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

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

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

مشاهده بسته الکترونیک
بسته جامع آموزش الکترونیک
توسط | ۱۳۹۷-۱۲-۲۶ ۱۲:۴۹:۰۹ +۰۰:۰۰ ۱۵ بهمن ۱۳۹۷|الکترونیک دسته بندی ها|۴ نظرات

در باره نویسنده :

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

۴ ديدگاه

  1. Gholampòor ۱۳۹۷/۱۲/۱۹ در ۲۳:۱۰ - پاسخ دادن

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

    • حانیه برمایون ۱۳۹۷/۱۲/۲۰ در ۱۴:۲۹ - پاسخ دادن

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

  2. پرهام لیلیان ۱۳۹۷/۱۱/۱۹ در ۱۵:۴۲ - پاسخ دادن

    بسیار کاربردی بود , ممنون

    • حانیه برمایون ۱۳۹۷/۱۱/۲۱ در ۱۲:۴۴ - پاسخ دادن

      سلام جناب مهندس.
      خداروشکر که مطلب برای شما دوست عزیز کاربردی بوده.
      موفق باشید.

ثبت ديدگاه

کد تخفیف 20%
پوچ
کد تخفیف 5%
کد تخفیف 10%
کد تخفیف 20%
کد تخفیف 15%
کد تخفیف 10%
پوچ
شانس خود را برای برنده شدن یک جایزه ! امتحان کنید!
شانس خود را برای برنده شدن تخفیف های شگفت انگیز امتحان کنید. مشخصات خود را وارد کنید و دکمه زیر را فشار دهید و اجازه دهید تا گردونه شانس شما را برای بردن جایزه مشخص کند.
کد تخفیف ها برای خرید محصولات جامع قابل استفاده می‌باشد.برای دریافت اطلاعات بیشتر با مهندس هاشمی تماس بگیرید.09017039329
جشنواره تکرار نشدنی نماتک

شانس خودتو توی گردونه نماتک امتحان کن.

گردونه رو میچرخونم
Close