راه اندازی lcd N96

سه شنبه 04 شهرویور 1393  •  دسته بندی: پروژه های آماده با میکروکنترلر AVR  •  بازدیدها: 5658  •  برچسب ها: | |

هدف پروژه: کار کردن با کتابخانه این نمایشگر و آشنایی با نمایشگر های رنگی. روال کار به این صورت است که ال سی دی را روی برد گذاشته و با  کتابخانه آن کار می کنیم.

سخت افزار استفاده شده: در این مقاله از برد آموزشی avr شرکت نامینیک مبتنی بر تراشه ATMEGA32 استفاده شده است. ال سی دی روی دو عدد هدر که با عدد 14 مشخص شده اند نصب می شود و توسط دو شیفت رجیستر به پین های 0 تا 2 پورت b وصل می شود.

کتابخانه های استفاده شده: همان کتابخانه ذکر شده در بالا با نام tftlcd_functions.h که در خط 43 برنامه مشاهده می کنید.

تشریح کد: در توضیحات این کتابخانه آمده است که این کتابخانه برای هر نمایشگر موبایل چینی موجود در بازار کار نمی کند. خصوصیات و کنترلر آن، در مقاله مربوطه آمده است که به ذکر آن نمی پردازیم.

در خطوط 5 تا 37 مشخص شده پین های ال سی دی به چه پینی از میکرو متصل اند (طبق دستور العمل توضیحات). البته این تعاریف برای برنامه ما صوری است و برای ست کردن پین ها با توجه به پیکر بندی شیفت رجیستر هاست. ال سی دی در میکرو فقط همان 3 پایه ذکر شده را اشغال می کند.

درخط 53 نمایشگر آماده به کار می شود. در خط بعدی رنگ پس زمینه مشخص می شود. در خود برنامه چند رنگ تعریف شده مثل قرمز که به جای آن می توانید مقدار 0x001f را قرار دهید. یا آبی با کد 0xf800 ، سبز با کد 0x07e0 و سفید با کد 0xffff و ... پس متوجه شدید اگر نمی خواهید از 8 رنگ تعریف شده توسط برنامه استفاده کنید، الگوی rgb به چه صورت است.

در خط 58 برنامه تابع lcd_gotoxy صدا زده شده که مکان نما را به نقطه مشخص شده می برد. آرگومان اول طول است و آرگومان دوم عرض که در حالت افقی به تر تیب حداکثر مقدار 40 و 15 را می پذیرند. تابع خط بعد ، نوشته TFT LCD 2.8’ را از محل نقطه فعلی نشان می دهد (در خط قبل محل فعلی مکان نما را به 10 و 5 تغییر داده بودیم). با رنگ سیاه (آرگومان دوم) و رنگ پس زمینه قرمز (آرگومان سوم برای فعال سازی رنگ پس زمینه و آرگومان چهارم کد رنگ). در خط 63 کل صفحه نمایش پاک شده و بعد از تعیین رنگ پس زمینه در خط 64، سه شکل در سه خط بعدی رسم شده است.

در خط 65 یک خط ساده با رنگ سفید رسم می شود. دو آرگومان اول برای نقطه شروع خط، دو آرگومان بعدی برای نقطه پایان خط و آرگومان پنجم کد رنگ خط هستند.

در خط 66 یک مستطیل تو خالی رسم می شود. 4 آرگومان اول برای نقطه شروع و پایان مستطیل است. آرگومان پنجم مشخص می کند مستطیل تو خالی باشد یا تو پر و آرگومان آخر هم کد رنگ را مشخص می کند.

دستور خط 67 یک دایره تو خالی رسم می کند. 2 آرگومان اول مختصات مرکز دایره و آرگومان بعدی شعاع دایره است. با آرگومان چهارم تو خالی یا پر بودن دایره را می توان مشخص کرد و در نهایت آرگومان پنجم کد رنگ است.

این کتابخانه توابع دیگری نیز دارد مثل نمایش تصاویر bitmap از داخل حافظه فلش میکرو. نرم افزار هایی برای تبدیل عکس های bitmap به آرایه وجود دارد مثل نرم افزار bitmap2lcd. در داکیومنت مذکور هم نرم افزاری برای این کار معرفی شده است.

#include <mega32a.h>
#include <delay.h>
#define xtal 8000000
//================================ LCD CONFIGURATIONS ======================================= 
 #define PORTRAIT

 #define LCD_CONTROLPORT_DDR  DDRD 
 #define LCD_CONTROLPORT_PORT PORTD
 #define LCD_CONTROLPORT_PIN  PIND 
 
 #define LCD_RST_DDR  DDRD
 #define LCD_RST_PORT PORTD
 #define LCD_RST_PIN  4
 
 #define LCD_RS_DDR  DDRD
 #define LCD_RS_PORT PORTD 
 #define LCD_RS_PIN  1

 #define LCD_CS_DDR  DDRD
 #define LCD_CS_PORT PORTD 
 #define LCD_CS_PIN  0
 
 #define LCD_RD_DDR  DDRD
 #define LCD_RD_PORT PORTD 
 #define LCD_RD_PIN  4
 
 #define LCD_WR_DDR  DDRD
 #define LCD_WR_PORT PORTD 
 #define LCD_WR_PIN  3
 
 #define LCD_DATAPORT_MSB_DDR   DDRA
 #define LCD_DATAPORT_MSB_PORT  PORTA 
 #define LCD_DATAPORT_MSB_PIN   PINA 
 
 #define LCD_DATAPORT_LSB_DDR   DDRC
 #define LCD_DATAPORT_LSB_PORT  PORTC
 #define LCD_DATAPORT_LSB_PIN   PINC



 //================================================================  
 
#include "tftlcd_functions.h"

void main(void)
{     
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=Out Func1=Out Func0=Out 
// State7=T State6=T State5=T State4=T State3=T State2=0 State1=0 State0=0 
PORTB=0x00;
DDRB=0x07;
  
 lcd_init();
 lcd_background_color(GREEN);
while (1)
      {
      lcd_clear_screen();
      lcd_gotoxy(10,5);
      lcd_putsf(" TFT LCD 2.8' ",0x0000,0,RED);
      lcd_gotoxy(7,7);
      lcd_putsf(" WWW.NAMINIC.COM ",0x0000,0,RED); 
      delay_ms(2000);
      lcd_clear_screen();
      lcd_background_color(BLACK);
      lcd_draw_line(5,5,50,50,0xFFFF);
      lcd_draw_rectangle(30,30,80,80,0,0XFFFF);
      lcd_draw_circle(150,150,25,0,0xffff);
      delay_ms(2000);
      }
}

دانلود سورس کد

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

این مطلب را به اشتراک بگذارید:

نظری در این باره وجود ندارد، شما می توانید اولین کسی باشید که نظر می دهید.
نام:
ایمیل:
نظر: