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

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

این ساختنی یک گام دیگری در یادگیری بیشتر در مورد پروژه های میکروکنترلر AVR است. در این ساختنی ارتباط ماژول LCD با میکروکنترلر ATmega328 را نشان می دهیم که به شما کمک می کند مفاهیم اولیه راه انداز LCD کاراکتری را بیاموزید. ATmega328 یک میکروکنترلر مبتنی بر (AVR  (Advanced Virtual RISC هشت بیتی است . میکروکنترلری قدرتمند که حافظه داخلی آن حدود ۳۲ کیلو است. میکرو کنترلر ATmega328 دارای ۲۸ پایه ورودی و خروجی است.

بنابراین فقط تعداد محدودی از پین های GPIO وجود دارد. هنگام طراحی پروژه های پیچیده تعداد کافی از پین های ورودی/ خروجی نیاز داریم. یک ماژول LCD می تواند به میکروکنترلر در حالت ۸ بیتی یا در حالت ۴ بیتی متصل شود. حالت ۸ بیتی حالت متعارف است که از ۸ خط داده و پین های RS، R/W و E برای عملکرد استفاده می کند. اگرچه حالت ۴ بیتی تنها با ۴ خط داده آنالوگ همراه با پین های کنترل استفاده می کند. این مورد موجب صرفه جویی در تعداد پین های GPIO  مورد نیاز برای دیگر اهداف است.

تجهیزات مورد نیاز

وسایل مشخصات تعداد
میکرو کنترلر AVR ATmega 328 ۱
ماژول LCD ۲۰x4 ۱
کریستال ۱۶ Mz ۱
مقاومت متغیر ۱۰K ۱
خازن ۳۳pF ۲
مقاومت ۱۰K ۱

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

 

مدار راه انداز LCD با AVR
مدار راه انداز LCD با AVR

همان طور که در دیاگرام مدار نشان داده شده است، پورت B و پورت D کنترل کننده برای ارتباط با ماژول LCD استفاده می شود. در حالت ۴ بیتی فقط ۴ خط D4-D7 همراه با پین های RS، R/W و E استفاده می شود. این حالت ۴ پین از کنترل کننده ما را ذخیره می کند که می توانیم از آن ها برای  اهداف دیگر استفاده کنیم. در اینجا ما در ماژول LCD فقط باید بنویسیم بنابراین پین R/W همان طور که در دیاگرام شماتیک نشان داده شده است، می تواند زمین شود.

در ساختنی بخوانید :  ساخت پایه تبلت قابل تنظیم با چراغ مطالعه!

به این ترتیب تعداد کل پین ها به ۶ می تواند کاهش یابد. در حالت ۴ بیتی بایت های داده به دو چهار بیت تقسیم می شوند و به شکل نیبل انتقال می یابند. انتقال داده به یک LCD به وسیله اختصاص دادن حالت های منطقی به پین های کنترل RS و E انجام می شود. مدار ریست ، مدار نوسان ساز و منبع تغذیه باید برای کارکرد مناسب مدار فراهم شود.

جنبه های مهم کد راه انداز LCD

توجه داشته باشید که گذرواژه فایل : saakhtani.ir است .بخش برنامه نویسی با زبان C با استفاده از Atmel studio 7 انجام می شود. در ابتدای برنامه یک پیش پردازنده به نام “F_CPU” تعریف شده است. برای شما راحتتر این است که ،کد های کتابخانه ای که پردازنده در آنها چندبار در ثانیه برنامه را اجرا می کند، فراخوانی کنید . در اینجا ما F_CPU را ۱۶ مگاهرتز تعریف کردیم. avr/io.h یک فایل هدر است که عملیات I/O مختلف مانند DDRX، PINx، PORTx و غیره را فراهم می کند. “<include <util/delay.h#” یک فایل هدر است که توابع تاخیری داخلی مانند delay_ms()_،delay_us()_ و غیره را فراهم می کند.  “_(delay_ms(1000”یک تاخیر ۱۰۰۰ میلی ثانیه ایجاد می کند( یعنی معادل ۱ ثانیه).

  • DDRx Data Direction Register جهت گیری داده های پورت( ورودی/خروجی) را تنظیم می کند. دستور العمل.
  • PORTx_ رجیستر Port برای اختصاص دادن مقایر مناسب برای پین های پورت است.
  • نوشتن PORTx.n بلافاصله وضعیت پین های پورت را بر اساس مقدار داده شده تغییر خواهد داد.

پورت و پین های مربوطه که ما استفاده می کنیم در ابتدای برنامه تعریف شده اند. با توجه به مدارتان می توانید نام پورت و شماره پین را در برنامه تغییر دهید. یک فراخوانی زیر روال” LCD_CmdWrite()” برای ارسال دستورات به LCD استفاده شده است. در این تابع داده ۸ بیتی به دو داده ۴ بیتی تقسیم می شود و به صورت nibbles به LCD ارسال می شود. ثبت فرمان LCD با نوشتن   ‘۰’ به پین RS انتخاب شده است. عملیات نوشتن به سادگی فعال کردن پین E ال سی دی برای چند میکرو ثانیه است.  به طور مشابه یک فراخوانی زیر روال” LCD_DataWrite()” برای ارسال اطلاعات به LCD استفاده شده است. ثبت داده ها از LCD با نوشتن   ‘۱’ به پین RS انتخاب شده است.

در ساختنی بخوانید :  قفل در برقی بسازید را با بلوتوث کنترل کنید [Arduino]

“LCD_Init()” روشی است که برای تنظیم کردن ماژول LCD مورد استفاده قرار می گیرد. و “LCD_Disp()” برای نمایش رشته ها است. تابع “LCD_setCursor()” برای تنظیم موقعیت مکان نما استفاده می شود.

منبع

خلاصه مطلب
راه اندازی ماژول LCD کاراکتری با استفاده از AVR
عنوان مطلب
راه اندازی ماژول LCD کاراکتری با استفاده از AVR
توضیح کوتاه
مدار راه اندازی LCD کاراکتری با استفاد از میکرو کنترلر های AVR
نویسنده
ساختنی
ساختنی

بیشتر بخوانید:

آموزش ساخت پروگرامر ISP برای میکروکنترلرهای ATmega32... میکروکنترلرهای ATmega32 از سه روش برنامه ریزی پشتیبانی می کنند: برنامه ریزی موازی ،برنامه ریزی در سیستم، برنامه ریزی ISP یا سریال پروگرامینگ و برنامه ...
فانشن ژنراتور یا تولید کننده شکل موج بسازید !... اگر دانشجوی رشته الکترونیک ، یکی از دوست داران پروژه های الکترونیکی و یا در حال آموزش الکترونیک هستید و یا اگر دوست دارید در کارگاه شخصی خودتان یک دست...
حسگر صدا ،یک دستگاه بسیار ساده و کاربردی با میکرو کنترلر AVR... یکی از ساده ترین راه های انجام کار های ساده روی سیگنال صوتی، مانند ساخت مدار حسگر صدا یا مدار صدا سنج ، استفاده از میکرو کنترلر ها است. در این تکنیک ص...
دستگاه کنترل لوازم برقی با پیامک (SMS) بسازید... حتما برای شما هم پیش آمده است که از خانه یا محل کار خود دور باشید و ناگهان یادتان بیاید که باید یک وسیله الکتریکی یا لامپ های روشنایی را روشن و یا خام...
آموزش اتصال کارت SD به میکروکنترلر AVR در این ساختنی به شما یاد می دهیم چطور کارت SD را به انواع میکروکنترلر AVR وصل کنید. اگر از میکروکنترلر AVR برای ساخت پروژه های الکترونیکی استفاده می ک...
گوشی هوشمند را به ریموت لوازم خانگی تبدیل کنید!... ریموت لوازم خانگی و پریز هوشمند یکی از کاربردترین تجهیزات خانه هوشمند است که موارد استفاده زیادی دارد. قبلاً در ساختنی آموزش ساخت ریموت کنترل هوشمند ر...

درباره سید علی طلاکش

سید علی طلاکش
سید علی طلاکش ، مهندس الکترونیک و نویسنده وبسایت ساختنی است .

پیشنهاد می کنیم

کنترل سرعت موتور DC با استفاده از AVR

کنترل سرعت موتور DC با PWM در AVR Atmega32

استفاده از PWM (مدولاسیون پهنای پالس) برای کنترل دستگاه به عنوان یک روش معمول در …

پاسخ دهید