회로이론/활용

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

원원 2022. 7. 13. 00:24

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

1편에서 CLCD에 대해 알아보고 오늘은 1편에서 만들었던걸 가지고 실제 데이터시트에 나와있는 기능들을 사용해보겠습니다

1편보러가기

 

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

안녕하세요. 오늘은 CLCD를 MCU없이 제어해보겠습니다 데이터시트 일반적인 방식으로 CLCD를 아두이노에 연결해서 제어하면 라이브러리를 사용하므로 복잡하지않습니다. 근데 이 글에서는 데이터

wowon.tistory.com

 

1편의 회로도에서는 전원on/off 버튼은 없는데 그냥 전원을 on/off해주는 버튼입니다. 4bit를 사용하므로 버튼을 4개만 연결하였습니다. RS스위치의 왼쪽은HIGH, 오른쪽은 LOW입니다. 나머지 저항,캐패시터는 LCD아래에 있습니다.

 

 

(1) 초기

초기 모습입니다. 전원을 넣어서 CLCD가 켜진걸 볼 수 있습니다.

 

(2) 4bit 설정

데이터시트를 보면 DL이 4bit / 8bit을 정하는 레지스터고 DL이 LOW면 4bit입니다. DB3~DB0은 LOW로 연결되어있으므로 지금은 N,F를 설정하지못합니다. 그래서 0010 0000를 설정합니다. 4bit 설정이므로 화면에 변화는 없습니다.

 

(3) Display on

D는 Display를 ON/OFF해줍니다(ON:1 , OFF:0) ON -> OFF -> ON 한다고해서 내용이 사라지지 않습니다

C는 현재위치에 커서가 표시됩니다 (ON:1, OFF:0)

B는 커서가 깜박입니다 (ON:1, OFF:0)

D,C,B를 모두 키겠습니다. 4bit로 제어하므로 D7~D4에 해당하는 0000을 입력하고 DB3~DB0에 해당하는 1111을 입력하면 됩니다. (설정값 0000 1111)

C - ON상태
B - ON상태(커서깜빡임)

 

(4) 글자입력

문자 D를 입력해보겠습니다.기본적으로 아스키코드 문자 입력이 가능합니다.
RS를 1로 바꾸고 명령어를 입력해줍니다. (D:0100 0100)

 

(5) 글자이동

S/C가 0일때는 cursor가 움직이고, S/C가 1일때는 전체가 움직입니다.

RS를 0으로 바꾸고 모두 오른쪽으로 움직이는 명령어를 두번 입력했습니다.(설정값: 0001 1100 *2)

설정값 0001 0100을 입력해서 커서를 오른쪽으로 옮겼습니다

 

다음 글에서는 AC,DDRAM, CGROM, CGRAM등 CLCD데이터시트에 나오는 개념을 알아보고 두번째줄에도 데이터를 입력해보겠습니다

 

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)