1. نرم افزار کدویژن را باز کنید و بر روی File سپس New Project کلیک کنید. برای راحتی کار اجازه دهید کد ویزارد باز شود و تنظیمات LCD را از آنجا انجام دهید. از لیست سمت چپ، Alphanumeric LCD را انتخاب نمایید. از آنجاییکه نوع LCD مورد نظر ما 16 *2 است از لیست کشویی سمت راست، مقدار 16را برای Character/Line انتخاب کنید. در این پروژه تصمیم داریم از پورت C استفاده کنیم بنابراین برای تک تک پین ها، PORTC را انتخاب می کنیم.
از منوی Program گزینه Generate,Save and Exit را انتخاب نمایید تا کد مربوطه ایجاد شود. پروژه را با نام LcdTest ثبت کنید. (3 بار نیاز به وارد کردن نام و زدن دکمه ذخیره خواهید داشت تا فایل هایی با سه پسوند متفاوت ایجاد شود).
کد ایجاد شده به صورت زیر خواهد بود:
نکته ها:
1- با دستور زیر همه پین های پورت C به عنوان ورودی تعریف می شوند:
DDRC=(1<<DDC7) | (1<<DDC6) | (1<<DDC5) | (1<<DDC4) | (1<<DDC3) | (1<<DDC2) | (1<<DDC1) | (1<<DDC0);
این کد می تواند به صورت زیر مختصر نویسی شود:
DDRC = 0xFF;
2- همان طور که به خاطر دارید برای خواندن صحیح مقدار ورودی، می توانستیم بر روی پین هایی که از نوع ورودی تعریف شده اند مقاومت بالا کش یا پایین کش قرار دهیم. همچنین می دانیم که بر روی پین های میکرو کنترلر AVR این قابلیت وجود دارد که مقاومت بالاکش داخلی را بر روی پین های ورودی فعال کنیم.
PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);
این کد می تواند به صورت زیر مختصر نویسی شود:
PORTC = 0x00;
بنابراین به صورت مختصر می توان با کد زیر پورت C را برای LCD کاراکتری آماده کرد:
حال به چند تابع کلیدی برای فرمان به LCD کاراکتری نیاز داریم.
عملکرد | تابع |
پاک کردن LCD | lcd_clear(); |
رفتن به سطر x و ستون y | lcd_gotoxy(x,y); |
نوشتن متن Test بر روی LCD | lcd_putsf("Test"); |