솔루션 STN 캐릭터 LCD 제어 인터페이스 가이드

STN 캐릭터 LCD 제어 인터페이스 가이드

Jan 19, 2023

소개

Winstar는 다양한 산업 및 임베디드 애플리케이션에 적용할 수 있는 표준형 문자 LCD 모듈(Character LCD Module)을 제공합니다. WH0802, WH1202, WH1601, WH1602, WH1604, WH2002, WH2004, WH2402, WH4002 시리즈 등 다양한 표준 디스플레이 타입을 지원하며, 최소한의 제어 핀으로 디스플레이를 구현할 수 있어 고객이 적합한 MCU를 보다 쉽게 선정할 수 있습니다.

일반적인 문자 LCD 모듈은 그림 1과 같이 I2C 인터페이스 지원을 위해 별도의 변환 보드(Transfer Board)를 추가하는 방식이 많이 사용됩니다. 하지만 이러한 방식은 LCM 전체 두께 증가, 제조 공정 추가, 생산 수율 저하 등의 문제가 발생할 수 있습니다.
 

그림 1: I2C 인터페이스 지원을 위해 변환 보드가 추가된 일반적인 문자 LCD 모듈

그림 1: I2C 인터페이스 지원을 위해 변환 보드가 추가된 일반적인 문자 LCD 모듈

그림 2: 별도의 변환 보드 없이 I2C 및 SPI 인터페이스를 지원하는 Winstar WH1602 문자 LCD 모듈

그림 2: 별도의 변환 보드 없이 I2C 및 SPI 인터페이스를 지원하는 Winstar WH1602 문자 LCD 모듈

 

별도의 변환 보드 없이 Arduino Uno 개발 보드와 직접 연결하여 다양한 통신 인터페이스로 아래 Winstar 문자 LCD 모듈을 제어할 수 있습니다.

  • WINSTAR WH1602 LCM: 16문자 × 2라인
  • WINSTAR WH2002 LCM: 20문자 × 2라인
  • WINSTAR WH2004 LCM: 20문자 × 4라인
 

상기 3종 LCM 시리즈는 RW1063 LCD 컨트롤러 IC를 내장하고 있으며, 직렬 인터페이스(I2C 및 SPI)와 병렬 인터페이스(6800)를 모두 지원합니다.

참고: 디스플레이 인터페이스에 대한 자세한 내용은 "디스플레이 인터페이스 바로 알기"를 참조하십시오.

LCM 핀 정의 확인

핀 번호 기호 설명
No.1 Vss 접지
No.2 Vdd 로직 전원 공급
No.3 V0 콘트라스트 조정
No.4 RS 명령어/데이터 선택
No.5 RW 6800 8/4비트 인터페이스 전용 읽기/쓰기 선택 신호
No.6 E 6800 8/4비트 인터페이스 전용 Enable 신호
No.7 DB0/SA0 6800 8비트 인터페이스 전용 데이터 버스 라인 0
I2C 인터페이스용 SA0 주소 설정 라인
No.8 DB1/SA1 6800 8비트 인터페이스 전용 데이터 버스 라인 1
I2C 인터페이스용 SA1 주소 설정 라인
No.9 DB2 6800 8비트 인터페이스 전용 데이터 버스 라인 2
No.10 DB3 6800 8비트 인터페이스 전용 데이터 버스 라인 3
No.11 DB4 6800 8/4비트 인터페이스 전용 데이터 버스 라인 4
No.12 DB5/CSB/CSB 6800 8/4비트 인터페이스 전용 데이터 버스 라인 5
I2C 및 SPI 인터페이스용 CSB Enable 선택 라인
No.13 DB6/SDA/SCLK 6800 8/4비트 인터페이스 전용 데이터 버스 라인 6
I2C 인터페이스용 SDA 데이터 라인
SPI 인터페이스용 SCLK 클록 신호
No.14 DB7/SCL/SID 6800 8/4비트 인터페이스 전용 데이터 버스 라인 7
I2C 인터페이스용 SCL 클록 라인
SPI 인터페이스용 SID 데이터 라인
No.15 A+ 백라이트(B/L) + 전원 공급
No.16 K- 백라이트(B/L) - 전원 공급
 
표 1:LCM 핀 정의

 

위 표의 V0 핀은 문자 표시 콘트라스트 조정을 위해 20kΩ 가변 저항을 연결하여 사용합니다. 테스트 과정에서 문자가 표시되지 않거나 배경 화면만 계속 표시되는 경우, 가변 저항을 조정하여 적절한 콘트라스트로 설정하십시오.

V0 가변 저항의 연결 방법은 그림 3과 같습니다.

V0 가변 저항 연결 방법
 
그림 3:V0 가변 저항 연결 방법

 

LCM과 Arduino Uno 개발 보드 연결 방법

 

그림 4는 4가지 LCM 통신 인터페이스(I2C, SPI, 6800 8비트/4비트)를 Arduino Uno와 연결하는 방법을 보여줍니다. I2C 및 SPI 인터페이스는 적은 수의 GPIO 핀만으로 문자 LCD 모듈을 제어할 수 있음을 확인할 수 있습니다.

I2C 인터페이스의 경우 Arduino Uno는 I2C 핀에 내부 풀업 저항을 제공하므로 SDA 및 SCL 핀에 별도의 풀업 저항을 추가로 연결할 필요가 없습니다. 단, 프로그램에서 내부 풀업 저항 기능을 비활성화하는 경우에는 외부 풀업 저항을 연결해야 합니다.

(a) I2C 인터페이스 연결

LCM과 Arduino Uno 간 I2C 인터페이스 연결 방법

(b) SPI 인터페이스 연결

LCM과 Arduino Uno 간 SPI 인터페이스 연결 방법

(c) 6800-4비트 인터페이스 연결

LCM과 Arduino Uno 간 6800 4비트 인터페이스 연결 방법

(d) 6800-8비트 인터페이스 연결

LCM과 Arduino Uno 간 6800 8비트 인터페이스 연결 방법

그림 4: Arduino Uno와 4가지 LCM 통신 인터페이스 연결 방법

 

LCM 명령어

모든 통신 인터페이스에서 LCM의 전체 명령어 세트를 사용할 수 있는 것은 아닙니다. SPI 인터페이스의 경우 RW 제어 라인과 MISO 핀이 없기 때문에 읽기 명령(Read Command)을 지원하지 않습니다. 쓰기 동작에서는 RS 제어 라인을 통해 명령어 데이터 또는 표시 데이터를 전송할지 결정합니다.

I2C 인터페이스 역시 RW 제어 라인이 없으므로 읽기 명령을 지원하지 않습니다. 명령어 데이터 또는 표시 데이터를 전송하기 전에 명령 제어 코드(A0=0) 또는 데이터 제어 코드(A0=1)를 먼저 전송하여 다음에 전송되는 바이트가 명령어 데이터인지 표시 데이터인지 결정합니다.

SPI 및 I2C 인터페이스 타이밍

그림 5와 그림 6은 SPI 인터페이스를 통해 LCM을 제어할 때의 타이밍 다이어그램을 보여줍니다. 일반적인 MCU에서 제공하는 표준 SPI 인터페이스와 달리, LCM에서 사용하는 SPI 인터페이스는 현재 전송되는 바이트가 명령어인지 데이터인지 구분하기 위해 추가적인 RS 신호 라인이 필요합니다. 데이터 라인(SID)의 비트 데이터(BIT7~BIT0)는 클록 라인(SCLK)이 Low 상태일 때 변경되며, 클록 라인(SCLK)이 High 상태일 때 해당 비트 데이터(BIT7~BIT0)가 샘플링됩니다.

SPI 명령어 쓰기 타이밍

그림 5:SPI 명령어 쓰기 타이밍

SPI 데이터 쓰기 타이밍

그림 6:SPI 데이터 쓰기 타이밍

그림 7과 그림 8은 I2C 인터페이스를 통해 LCM을 제어할 때의 타이밍 다이어그램을 보여줍니다. Chip Select Bar(CSB)를 제외하면, I2C 인터페이스 제어 방식은 명령어 데이터 또는 표시 데이터를 쓰기 위해 매번 3바이트를 전송하는 구조입니다. 이 중 두 번째 바이트의 A0 비트는 세 번째 바이트가 명령어 데이터인지 표시 데이터인지 결정합니다.

I2C 명령어 쓰기 타이밍

그림 7:I2C 명령어 쓰기 타이밍

I2C 데이터 쓰기 타이밍

그림 8:I2C 데이터 쓰기 타이밍

코드

프로그램 설정을 변경하면 LCM에 맞게 코드를 컴파일하고 바로 사용할 수 있습니다.

Step1: LCM 한 줄에 표시할 수 있는 최대 문자 수를 설정합니다.
예를 들어, 아래 설정은 한 줄에 최대 16문자를 표시하도록 설정합니다.

Step1: LCM 한 줄의 최대 문자 수 설정

Step2: LCM의 최대 표시 라인 수를 설정합니다.
예를 들어, 아래 설정은 LCM을 2라인으로 설정합니다.

Step2: LCM의 최대 표시 라인 수 설정

Step3: LCM 인터페이스를 설정합니다.
예를 들어, 아래 설정은 I2C 인터페이스를 선택합니다.

Step3: LCM 인터페이스 설정

Step4: 프로그램을 컴파일한 후 Arduino Uno 개발 보드에 업로드합니다.
그림 9는 3종 LCM의 표시 화면 예시를 보여줍니다.
표시 화면의 콘트라스트가 너무 밝거나 어두운 경우, 그림 10과 같이 V0 핀에 연결된 가변 저항을 조정하여 적절한 콘트라스트로 설정할 수 있습니다.

(a) 밝은 콘트라스트
문자만 희미하게 표시됨
(b) 적절한 콘트라스트 (c) 어두운 콘트라스트
각 문자에 뚜렷한 그림자가 나타남
figure9-a-1-3종 LCM 표시 화면 figure9-b-1-3종 LCM 표시 화면 figure9-c-1-3종 LCM 표시 화면
figure9-a-2-3종 LCM 표시 화면 figure9-b-2-3종 LCM 표시 화면 figure9-c-2-3종 LCM 표시 화면
figure9-a-3-3종 LCM 표시 화면 figure9-b-3-3종 LCM 표시 화면 figure9-c-3-3종 LCM 표시 화면
그림 9:3종 LCM의 표시 화면 예시

 

V0 핀 조정을 통한 콘트라스트 설정

그림 10:V0 핀 조정을 통한 콘트라스트 설정

전체 데모 코드가 필요한 경우, 문의하기를 통해 연락해 주십시오.

비즈니스에 맞는 디스플레이 솔루션에 관해 궁금한 점이 있으십니까? 문의!

구독

Winstar의 최신 소식을 전하는 이메일을 받아보세요.

문의

가격/데이터시트/일반 문의

기술 지원

각종 기술적인 정보가 궁금하시면 문의하세요.

go top
연계
close

우리는 귀하의 프라이버시를 소중히 여깁니다

"모든 쿠키 허용"을 클릭하면 사이트 탐색을 개선하고, 사이트 사용을 분석하며, 마케팅 및 성능 노력에 도움을 주기 위해 쿠키를 귀하의 장치에 저장하는 데 동의한 것으로 간주됩니다. 이 주제에 대한 추가 정보는 당사의 정책에서 확인할 수 있습니다. 개인정보 보호정책

우리는 귀하의 프라이버시를 소중히 여깁니다

Winstar와 일부 제3자는 www.winstar.com.tw에서 쿠키를 사용합니다. 쿠키의 종류, 목적 및 관련된 제3자에 대한 자세한 내용은 아래 및 당사의 쿠키 정책에 설명되어 있습니다. 웹사이트에서 최상의 경험을 얻으려면 "모두 허용"을 클릭하여 당사의 쿠키 사용에 동의해 주세요. 또한 선호 설정을 하거나 필수 쿠키를 제외한 쿠키를 거부할 수도 있습니다.

동의 설정 관리

항상 활성화
필수 쿠키

이 쿠키는 웹사이트를 탐색하고 개인 정보 설정, 로그인 또는 양식 작성과 같은 기능을 사용할 수 있도록 하는 데 필수적입니다.

분석 쿠키

“통계 쿠키”라고도 알려진 이러한 쿠키는 웹사이트 사용에 대한 정보를 수집합니다. 예를 들어 어떤 페이지를 방문했는지, 어떤 링크를 클릭했는지와 같은 정보입니다. 자세한 내용을 확인하세요.