نمایش متن متحرک بر روی LCD کارکتری
در این بخش تیم الکترونیک و برنامه نویسی الکترونیک ۹۸, اقدام به طراحی و انتشار پروژه ای جذاب با عنوان, نمایش متن متحرک بر روی LCD کاراکتری, برای شما علاقه مندان به پروژه های میکروکنترلر AVR کرده است. گاهی وقت ها در طراحی یک پروژه مواقعی پیش می آید که شما نیاز دارید یک متن یا یک پیام طولانی (تعداد حروف زیاد) را در یک ال سی دی کاراکتری به کاربر نشان دهید اما به دلیل محدودیت نمایش LCD های کاراکتری در تعداد حروف شما نمی توانید از یک تعداد مشخص، از حروف (کاراکتر) بیشتری استفاده کنید.
شرح عملکرد پروژه
برای حل مشکل مطرح شده معمولا متن هایی با حروف زیاد را به صورت متحرک از سمت چپ به راست و یا بلعکس در LCD های کاراکتری نمایش می دهند. البته جدا از کاربردی بودن این روش برای متن های طولانی یک افکت زیبا برای نمایش انواع متن ها در ال سی دی های کاراکتری نیز کاربرد دارد. به همین دلیل در این پروژه می خواهیم شما را با نحوه برنامه نویسی میکروکنترلر ATmega16 جهت نمایش یک متن به صورت متحرک در یک ال سی دی کاراکتری 2*16 آشنا کنیم.
نقشه شماتیک پروژه
در این پروژه بر روی نمایشگر LCD کاراکتری در سطر اول عبارت “Micro Controller” با پله های زمانی 500 میلی ثانیه ای از سمت چپ وارد صفحه شده و از سمت راست صفحه خارج می شود و در سطر دوم عبارت “AVR-2014” به صورت بلعکس یعنی از سمت راست صفحه وارد و از سمت چپ صفحه خارج می گردد، و این پروسه مدام تکرار می شود.
برنامه میکروکنترلر در نرم افزار Bascom-AVR
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
$regfile = “m16def.dat” $crystal = 8000000 ‘—————————————————————— Config Lcdpin = Pin , Db4 = Pinc.2 , Db5 = Pinc.3 , _ Db6 = Pinc.4 , Db7 = Pinc.5 , Rs = Pinc.0 , E = Pinc.1 ‘—————————————————————— Config Lcd = 16 * 2 Cursor Off Cls Config Portc.6 = Output ‘———————————- Dim A As Word Dim B As Word ‘———————————- Main: B = 10 For A = 1 To 17 Decr B Locate 1 , A Lcd “Micro Controller” ‘———————————- Locate 2 , B Lcd “AVR-2014” ‘———————————- Waitms 500 Cls Toggle Portc.6 Next Goto Main End |
شرح برنامه به زبان بیسیک BASIC
به کمک دستور For A = 1 To 17 حلقه 16 تایی ایجاد می کنیم تا علاوه بر اینکه کل متن از صفحه خارج شود از متغییر A برای افزایش موقعیت ستون سطر اول استفاده کنیم. پس از آنکه عبارت سطر دوم را از موقعیت ستون پیش فرض 10 شروع کردیم در هر گردش حلقه به کمک دستور Decr B یک واحد از مقدار متغیر B کم می کنیم تا عبارت به سمت چپ شیفت پیدا کنید. پس از خارج شدن کل متن، حلقه از ابتدا شروع به کار می کند.
همچنین فایل شبیه ساز این پروژه نیز که با نرم افزار Proteus 8 Professional طراحی شده، پیوست فایل پروژه جهت دانلود قرار داده شده است، که می تواند شما را در یادگیری هر چه بهتر مدار و نحوه عملکرد آن یاری نماید.
سلام و خسته نباشید
پایه های 7-8-9-10 با مقاومت به زمین وصلن؟اگه مقاومته میشه لطف کنید مقادیرشون رو بگید.
ممنون
سلام دوست عزیز
پایه های 7 الی 10 ال سی دی در برنامه نویسی به زبان بیسیک به صورت مستقیم به زمین (منفی منبع تغذیه) متصل می شوند و نیازی به استفاده از مقاومت نیست.