본문 바로가기

[Microchip]/PIC32

[PIC32-SM EVM] GLCD 7565 테스트

[PIC32-SM EVM] GLCD 7565 테스트



[NET-EVM] 보드에는 GLCD 모듈을 연결할 수 있다. 핀맵이 동일하므로 여러가지 모듈이 가능한데 일단 ST7565드라이버로 테스트 해보자. 회로는 아래와 같다.



테스트 예제 코드는 config 파일의 HAL부분만 수정하면 나머지 코드는 수정없이 사용 가능하다.
//-----------------------------------------------------------------------------
//glcd 7565 LCD driver hal
#define LCD_RDON()
#define LCD_RDOFF()

#define LCD_DAT      BIT8
#define LCD_DAT1()      Sbi(LATG, LCD_DAT)
#define LCD_DAT0()      Cbi(LATG, LCD_DAT)

#define LCD_DI      BIT15
#define LCD_RSON()     Sbi(LATB, LCD_DI) 
#define LCD_RSOFF()     Cbi(LATB, LCD_DI)

#define LCD_CLK      BIT6
#define LCD_CLKON()     Sbi(LATG, LCD_CLK)
#define LCD_CLKOFF()     Cbi(LATG, LCD_CLK)

#define LCD_CS1      BIT5
#define LCD_CS1ON()     Sbi(LATF, LCD_CS1) 
#define LCD_CS1OFF()    Cbi(LATF, LCD_CS1)

#define LCD_RST      
#define LCD_RST1()      //Sbi(LCD_PORT, LCD_RST)
#define LCD_RST0()      //Cbi(LCD_PORT, LCD_RST)

#define LCD_BL_BIT     BIT7
#define LCD_BL_PORT     LATD
#define LCD_BL_OFF()    Cbi(LCD_BL_PORT, LCD_BL_BIT)
#define LCD_BL_ON()     Sbi(LCD_BL_PORT, LCD_BL_BIT)

#define GLCD_PORT_INIT()   Cbi(TRISG, BIT6|BIT8);\
         Cbi(TRISF, BIT5);\
         Cbi(TRISB, BIT15);
//-----------------------------------------------------------------------------



int main()
{
    unsigned int cnt = 0;
   
 SystemInit(); 

 Led1Init();
 Led1On();
 
 //GLCD 초기화
 GlcdInit();

 //GLCD 데이터 출력
 GlcdClear();
 GlcdSetAddress(0,1);
 GlcdPutStr("PIC32-SM EVM Board");  
 GlcdSetAddress(0,3);
 GlcdPutStr("GLCD 7565 DRV"); 
 
 while(1)
 {
        Led1Toggle();
  
  Delay(200);
 }
 return 0;
} // main



반응형