회로이론/활용

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

원원 2022. 7. 16. 23:15

안녕하세요.

오늘은 CLCD의 두번째줄에 데이터를 입력하는 방법과 DDRAM, CGROM, CGRAM,AC에 대해서 알아보겠습니다

 

 

DDRAM(DIsplay Data RAM)이란
두번째줄에 데이터를 입력하려면 DDRAM을 알아야 합니다.
저희가 사용하는 16x2 CLCD에는 각각 주소가 있는데 이 주소를 DDRAM이라고 부릅니다.
그리고 현재 주소를 AC(Address Counter)라고 부릅니다. 이전 2편에서 데이터를 입력할때마다 Address Counter가 자동으로 1씩 증가했습니다.

위의 CLCD에서 표시되는건 16x2=32개 문자 32개입니다.  근데 1행 1열의 주소가 0x00이고 1행 2열의 주소가 0x40인데 그 이유가 있습니다. DDRAM은 문자 80개를 저장할수있습니다. 80개를 저장하긴하는데 사용자에게 보여주는건 사실 32개일뿐입니다. 그래서 문자를 쭉 입력하면 0x00부터 입력되고 0x0f가 넘어가버리면 문자가 입력이 안되는것처럼 보이는데 사실 입력이 되고있습니다.

(1행에서 40개를 저장하고 2행에서 40개를 저장해서 총 80개입니다. )

 

CGROM(Character Generator ROM)이란
CGROM이란 CLCD가 저장하고있는 문자입니다. 문자들의 주소는 아스키코드 값과 같습니다. 그리고 CLCD는 아스키코드에 없는 일본어를 가지고있어서 일본어도 입력이 가능합니다.

 

CGRAM(Character Generatore RAM)이란
CGRAM이란 사용자가 문자를 만들어서 저장할수있는 장소입니다. 사용자가 문자 8개를 만들어서 저장 가능합니다. 위의 표를보면 CGRAM(1~8)이 있는게 보이는데 여기가 사용자가 문자를 만들어서 저장하는 장소입니다.

 

 

두번째줄에 데이터를 입력하는 방법

1) 2line 세팅
먼저 두번째줄을 사용한다고 세팅해야합니다 Function set의 N을 1로하면 됩니다.
보드가 4bit밖에 설정을 못하는경우(DB3~DB0 gnd 처리함) 4bit/8bit설정하는거랑 2line/1line 설정하는게 한 바이트안에 같이있습고 2line/1line설정은 DB3입니다.
그래서 먼저 4bit 설정을 하고, 다시 4bit/2line 사용설정을 하면 됩니다.
0010 0000 세팅후에 0010 1000세팅

 

2) DDRAM 주소 세팅
CLCD는 DDRAM의 주소를 설정할수있는 커맨드가 있습니다. 
Set DDRAM Address를 사용하면 됩니다.
2행 1열로(두번째줄의 첫번째자리)가고싶으면 1100 0000을 입력하면 됩니다.

 

다음편에는 MCU(atmega)를 이용하여 1편부터 3편까지 했던내용을 해보고 CGRAM에 데이터도 넣어서 사용해보겠습니다

 

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)