회로이론/활용

CLCD MCU없이 제어하기(ADM1602) 1편

원원 2022. 7. 9. 14:53

안녕하세요. 오늘은 CLCD를 MCU없이 제어해보겠습니다

데이터시트

 

일반적인 방식으로 CLCD를 아두이노에 연결해서 제어하면 라이브러리를 사용하므로 복잡하지않습니다. 근데 이 글에서는 데이터시트를 보고 회로를 직접 구성해서 아두이노가 하는 역할을 수동(버튼)으로 제어해보겠습니다.

 

핀설명

위 그림의 맨왼쪽이 Pin1입니다

Pin Symbol Function Point
1 Vss CLCD 전원 - 0~7V
2 Vdd CLCD 전원 +
3 V0 글자 밝기 일반적으로 가변저항 연결해서 글자밝기 설정함
4 RS CLCD세팅설정 or CLCD 데이터입력 설정 토글스위치로 연결해서 0 or 1을 입력합니다
0 :
세팅설정
1 :
데이터입력
5 R/W Read/Write 모드 설정 Read는 사용하는경우가 거의 없으므로 0 연결합니다
0 : Write
1 : Read
6 E Read/Write 동작 실행 데이터라인에 값 설정하고 확인버튼거임
7~10 DB0~DB3 데이터라인 하위비트
(4bit 제어에서는 사용안함)
데이터라인0~3
11~14 DB4~DB7 데이터리안 상위비트 데이터라인4~7
15 LED+ LED 전원+ Typ : 3V
(5V
기준 200~500옴저항 연결함)
16 LED- LED 전원-

 

 

회로

이글에서 전원을 5V를 사용하고 4bit만 사용하고 Write기능만 사용합니다. 버튼들은 풀다운저항을 연결했습니다. 6번핀은 확인버튼역할로 중요하므로 채터링방지를위해 캐패시터를 연결하였습니다

HW구성을 완료했으니 이제 제어해보겠습니다

 

 

세팅

먼저 제어를 하기전에 알아야할게 있습니다

CLCD를 사용하기 위해서는 우선 세팅을 해야합니다. 세팅은 4bit모드 or 8bit모드인지, 커서 깜빡일건지,display on 할건지 등등 세팅가능합니다. 최소한으로 세팅을 하고 AB를 출력해보겠습니다

데이터시트 11.9에 세팅값들이 나오는데 위의 두개만 세팅해보겠습니다. 회로상 DB0~DB3를 사용안할거므로 먼저 4bit모드부터 세팅을 하고 다른 세팅을 하면 됩니다.

★4비트모드, 1line => 00 0010 0000

★Display on / Cursor blink on => 00 0000 1101

 

세팅할때는 RS는 0으로  놔야하고 데이터입력할때는 RS를 1로 놔야 합니다. 원하는 세팅을 하고 BTN1을 누르면 됩니다

 

데이터입력

세팅을 하고나서 AB를 출력해보겠습니다 . Write data to Address에 나와있는 방식으로 입력하면 됩니다. RS를 1로 하고 데이터를 입력하면 되는데 이 데이터는 아스키코드랑 일치합니다.

★ A  => 0100 0001 

★ B => 0100 0010

4bit 모드이므로 예를들어 A(0100 0001) 를 입력한다고하면 아래처럼 입력해야합니다.

 

 

 

주의할점

BNT1버튼(E)을 눌렀다가 때야 데이터가 입력됩니다. (폴링엣지)

그러므로 데이터버튼을 누르고있는 상태에서 BNT1버튼을 눌렀다 때야 합니다.

 

실제 테스트

 

 

위의 회로대로 만능기판에 부품들을 배치한 모습입니다. 다음글에서는 이걸가지고 여러 기능을 테스트해보겠습니다.

 

 

CLCD MCU없이 제어하기 (ADM1602) 1편 => CLCD 기초설명
CLCD MCU없이 제어하기 (ADM1602) 2편 => 여러기능 테스트
CLCD MCU없이 제어하기 (ADM1602) 3편 => DDRAM,CGROM,CGRAM,AC설명
CLCD ATMEGA128로 제어하기 1편
CLCD ATMEGA128로 제어하기 2편
CLCD ATMEGA128로 제어하기 3편(I2C)