[Microchip]/PIC322010. 11. 29. 17:03

[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



Posted by nexp
TAG GLCD, PIC32, ST7565

댓글을 달아 주세요

  1. 비더탑

    관리자의 승인을 기다리고 있는 댓글입니다

    2013.10.15 18:32 [ ADDR : EDIT/ DEL : REPLY ]

[MODULE]/LCD_GLCD2010. 7. 31. 22:54

[TM0027 GLCD EVM] 보드 제작 - 128x64 ST7565 Driver

[TM0027 GLCD EVM] 보드 제작 - 128x64 ST7565 Driver



TM0027 GLCD 모듈(ST7565 드라이버)을 여러가지 용도로 사용할 수 있도록 소형화 해서 모듈로 제작했다. 



시리얼 방식 회로도





TM0027 초기화코드
 - Cortex-M3 예제소스코드 링크 
 - MSP430 예제 소스코드 링크
 - AVR 예제소스코드 링크
void Lcd_init(void)
{  
 glcdport_init();
 
    Delay(500);
    Lcd_Cmd(0xab);      //new
    Lcd_Cmd(0xaf);            // display on
    Lcd_Cmd(0x40);            // display start line=0
    Lcd_Cmd(0xc8);            // Common output mode select= reverse 
    Lcd_Cmd(0xa6);            // normal display
    Lcd_Cmd(0xa4);            // Duisplay all point = off
    Lcd_Cmd(0xa3);            // LCD bias = 1/9   a2
    Lcd_Cmd(0x2f);            // Power control = all on
    Lcd_Cmd(0x25);            // Rab Ratio     26
    Lcd_Cmd(0x81);            // E-Vol setting
    Lcd_Cmd(0x11);      // Contrast Level
}


시리얼 방식 제어로 SI, RE, SCL, CS 4핀으로 간딘히 제어 가능하다.



STM32 MP3모듈과 동일한 크기로 제작해서 쉽게 연결가능하다.





확장 테스트 보드 연결



Posted by nexp
TAG GLCD, ST7565

댓글을 달아 주세요

[TI]/LM3S2xxx2010. 7. 27. 23:00

[LM3S2616 EVM] GLCD(ST7516) 테스트

[LM3S2616 EVM] GLCD(ST7516) 테스트


LM3S2616을 이용하여 GLCD 모듈을 테스트 하는데 CS핀이 PC3으로 JTAG핀과 공용으로 사용된다.
Lunmiary Micro Cortex-M3는 JTAG핀을 GPIO로 사용할수 있지만 GPIO로 사용할 경우 JTAG을 사용할 수 없기 때문에 JTAG로 개발하거나 디버딩할 때 상당히 힘들다.

특정 핀을 이용해 JTAG모드로 사용할것인지 GPIO로 설정할 것인지를 선택할 수 있도록 하거나 리셋직후 일정 시간후 JTAG모드에서 GPIO모드로 전환하도록 하는 방법이 있겠지만... 아무튼 신경 쓰지 않으면 문제가 있을 수 있다.

시리즈마다 설정이 조금씩 다른것 같다. LM8962에서 잘 사용했던 코드를 LM3S2616보드에 그대로 적용해서 테스트 했는데 잘 안되서 예제 코드를 살펴 보니 아래와 같이 다르게 설정이 되어 있었다. 아무래도 최신 Dust Devil제품이라 좀 다른것 같다.
GPIO_LOCK_KEY_DD 로 설정하니 문제 없이 동작한다.

#define LCD_DAT      BIT4
#define LCD_DAT1()      Sbi(PORTA, LCD_DAT)
#define LCD_DAT0()      Cbi(PORTA, LCD_DAT)

#define LCD_DI      BIT6
#define LCD_RSON()     Sbi(PORTC, LCD_DI) 
#define LCD_RSOFF()     Cbi(PORTC, LCD_DI)

#define LCD_CLK      BIT2
#define LCD_CLKON()     Sbi(PORTA, LCD_CLK)
#define LCD_CLKOFF()     Cbi(PORTA, LCD_CLK)

#define LCD_CS1      BIT3
#define LCD_CS1ON()     Sbi(PORTC, LCD_CS1) 
#define LCD_CS1OFF()    Cbi(PORTC, LCD_CS1)

#define GLCD_PORT_INIT()   SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);\
         SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);\
         SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);\
        HWREG(GPIO_PORTC_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY_DD;\
        HWREG(GPIO_PORTC_BASE + GPIO_O_CR) = 0x08;\
        HWREG(GPIO_PORTC_BASE + GPIO_O_AFSEL) &= 0xf7;\
         GPIOPinTypeGPIOOutput(GPIO_PORTA_BASE, BIT2|BIT4);\
         GPIOPinTypeGPIOOutput(GPIO_PORTC_BASE, BIT3|BIT6);\
         GPIOPinTypeGPIOOutput(GPIO_PORTE_BASE, BIT0|BIT1);


ST7516 Glcd 출력 테스트
Posted by nexp

댓글을 달아 주세요

[TI]/LM3S8xx2010. 4. 25. 16:16

[LM3S818 EVM] ST7565 GLCD 테스트

[LM3S818 EVM] ST7565 GLCD 테스트




STM32-EXP보드에 있는 ST7565 드라이버 TM0027 GLCD모듈을 [LM3S818 EVM]보드로 테스트 해보았다.
4핀의 시리얼 인터페이스 방식으로 연결하여 제어할 예정이므로 아래와 같이 커넥터에 연결한다.



[STM32-48 EXP]보드에는 그냥 점퍼를 이용하여 쉽게 연결가능하다



LM3S818 ST7565 GLCD핀맵
STM32-48 EXP보드의  CN62-15P에 CS, CN62-14P에 RS핀이 연결되어 있다. CN24-14P(SCK) ->PA2, CN24-16P(SI) ->PA4 로 연결하면 된다.

//-----------------------------------------------------------------------------
//glcd ST7565 LCD driver hal
#define LCD_RDON()
#define LCD_RDOFF()

#define LCD_DAT      BIT4
#define LCD_DAT1()      Sbi(PORTA, LCD_DAT)
#define LCD_DAT0()      Cbi(PORTA, LCD_DAT)

#define LCD_DI      BIT4
#define LCD_RSON()     Sbi(PORTC, LCD_DI) 
#define LCD_RSOFF()     Cbi(PORTC, LCD_DI)

#define LCD_CLK      BIT2
#define LCD_CLKON()     Sbi(PORTA, LCD_CLK)
#define LCD_CLKOFF()     Cbi(PORTA, LCD_CLK)

#define LCD_CS1      BIT0
#define LCD_CS1ON()     Sbi(PORTE, LCD_CS1) 
#define LCD_CS1OFF()    Cbi(PORTE, LCD_CS1)

#define GLCD_PORT_INIT()   SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);\
         SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);\
         SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);\
         GPIOPinTypeGPIOOutput(GPIO_PORTA_BASE, BIT2|BIT4);\
         GPIOPinTypeGPIOOutput(GPIO_PORTC_BASE, BIT4);\
         GPIOPinTypeGPIOOutput(GPIO_PORTE_BASE, BIT0);



LM3S818 GLCD(ST7565) 테스트 예제 소스코드

#include "system.h"
#include "glcd.h"

int main()
{
 SystemInit(); 

 Led1Init();
 Led1On();
 
 //GLCD 초기화
 GlcdInit();
 
 //GLCD 데이터 출력
 GlcdClear();
 
 GlcdSetAddress(0,1);
 GlcdPutStr("GLCD 7565 DRV"); 

 while(1)
 {
  Led1Toggle();
  Delay(300);
 }
 
 return 0;
}

Posted by nexp
TAG GLCD, ST7565

댓글을 달아 주세요

[MSP430]/MSP430-SM2009. 7. 25. 10:59

[MSP430F2418 EVM] ST7565 GLCD 테스트

[MSP430F2418 EVM] ST7565 GLCD 테스트



STM32-EXP보드에 있는 ST7565 드라이버 TM0027 GLCD모듈을 MSP430F2416 보드로 테스트 해보았다.
4핀의 시리얼 인터페이스 방식으로 연결하여 제어할 예정이므로 아래와 같이 커넥터에 연결한다.



[STM32-48 EXP]보드에는 그냥 점퍼를 이용하여 쉽게 연결가능하다



MSP430F2418 ST7565 GLCD핀맵
STM32-48 EXP보드의  CN62-15P에 CS, CN62-14P에 RS핀이 연결되어 있다. CN24-14P(SCK) ->P5.3, CN24-16P(SI) ->P5.1 이 연결하면 된다.
//-----------------------------------------------------------------------------
//glcd ssd1815 LCD driver hal
#define LCD_RDON()
#define LCD_RDOFF()

#define LCD_DAT      BIT1
#define LCD_DAT1()      Sbi(P5OUT, LCD_DAT)
#define LCD_DAT0()      Cbi(P5OUT, LCD_DAT)

#define LCD_DI      BIT4
#define LCD_RSON()     Sbi(P1OUT, LCD_DI) 
#define LCD_RSOFF()     Cbi(P1OUT, LCD_DI)

#define LCD_CLK      BIT3
#define LCD_CLKON()     Sbi(P5OUT, LCD_CLK)
#define LCD_CLKOFF()     Cbi(P5OUT, LCD_CLK)

#define LCD_CS1      BIT3
#define LCD_CS1ON()     Sbi(P1OUT, LCD_CS1) 
#define LCD_CS1OFF()    Cbi(P1OUT, LCD_CS1)

#define GLCD_PORT_INIT()   Sbi(P5DIR, BIT3|BIT1);\
         Sbi(P1DIR, BIT3|BIT4);


메인 소스코드
//-----------------------------------------------------------------------------
// MSP430-SM EVM Test Code
//
// by netxp.tistory.com
//-----------------------------------------------------------------------------
#include "system.h"
#include "glcd.h"

//-----------------------------------------------------------------------------
void main(void)
{
    SystemInit();
   
    Led1Init();
    Led1On();

 //GLCD 초기화
 GlcdInit(); 
 GlcdClear();
 
 //GLCD 데이터 출력
 GlcdSetAddress(0,0);
 GlcdPutStr("MSP430F2416 Test");
 
 GlcdSetAddress(0,2);
 GlcdPutStr("GLCD 7565 DRV");
 
    while(1)
    {
        Led1Toggle();
  Delay(200);
    }
}
//-----------------------------------------------------------------------------



MSP430F2418 GLCD테스트 결과




Posted by nexp

댓글을 달아 주세요