• 2023. 8. 20.

    by. 도 현

    반응형
    LCD(Liquid Crystal Display)

    LCD는 전자계산기, 무선 호출기, 휴대용 컴퓨터의 화면 표시용으로도 사용되고 있다. 액정은 전압이 걸리면 일정한 방향으로 늘어서는 성질이 있다. 이러한 성질과 전기석에 의한 편광 성질을 이용하여 전압이 걸린 곳이 검게 표시되는 것이다. LCD는 사용하기 편하며 전력 소모가 매우 적은 장점이 있으나, 동작 속도가 느려 빠른 표시를 할 때는 잔상이 남는 문제점이 있다.

     

    Text-LCD 구조

    EasyFPGA-Combo에서 사용한 Text-LCD는 LCD 패널(FRD7069)과 제어기(HD44780)가 하나로 되어 있는 모듈 형태의 것으로 제어기에 데이터 버스 등을 통하여 데이터를 전송하면 원하는 표시를 얻을 수 있다. LCD 제어기는 DB0~DB7의 8비트 데이터 버스를 통해 데이터를 주고받으며, E(Enable : 모듈 선택 신호), R/W(입력/출력 선택), RS(내부 레지스터 선택)의 제어선을 통해 제어된다. Vdd와 Vss에 +5V 전원을 넣으면 모듈이 동작한다.

    - DB0~DB7 : 데이터 버스

    - RS : 명령어를 입축력과 내부의 메모리의 입출력 중 하나를 선택하기 위해 사용되는 핀으로써, RS가 0이면 명령어 쓰기, 플래그/어드레스 읽기 모드가 되며, RS가 1이면 내부 메모리에 값을 읽거나 쓰는 모드가 된다.

    - R/W : 데이터 읽기와 데이터 쓰기를 선택하는 신호로써, R/W가 0이면 데이터 쓰기이며, R/W가 1이면 데이터 읽기 상태가 된다.

    - E : LCD에 제어 명력이나 데이터를 쓰거나 읽는 동작을 하려면 이 핀이 1이 되어야 한다.

     

    Text-LCD 구동원리

    - 화면을 클리어 후 커서는 홈 위치(00 번지)로 돌아간다. 그리고 DD RAM의 모든 어드레스에 스페이스 코드인 0x20이 들어가고 AC(Address Counter)에 DD RAM 어드레스에 0번지가 셋된다. AC는 DD/CG RAM으로 데이터를 쓰거나 기억된 데이터를 읽을 때, 목적지가 되는 RAM의 어드레스를 지정한다. IR에 어드레스 세트 인스트럭션을 써 넣으면, IR에서 AC로 어드레스 정보가 전송된다. DD/CG RAM에 문자 데이터를 써넣으면 엔트리 모드 설정에 따라서 AC는 자동적으로 +1 혹은   -1 만큼 증감한다. 그리고 AC의 내용은 RS가 0, R/W가 1일 때, DB0 ~ DB7을 통해서 읽는다.

    -  커서를 좌측 상단의 위치(Home)으로 옮긴다. AC에 DD RAM의 어드레스의 0번지가 셋된다.

    - 출력되는 글자가 한 글자씩 뒤로 갈 것인가 앞으로 갈 것인가를 결정한다. I/D=1 이면 증가, I/D=0 이면 감소, S=1 이면 Accompanies display shift

    - 화면의 ON/OFF, 커서의 ON/OFF, 커서의 깜빡임 ON/OFF를 결정한다. D=1 이면 화면 ON, C=1이면 커서 ON, B=1이면 깜빡임 ON

    - LCD에 출력할 문자를 계속 전송할 경우의 방향을 결정한다. S/C=1 이면 디스플레이 시프트, S/C=0 이면 커서 이동, R/L=1이면 오른쪽, R/L=0이면 왼쪽

    - LCD의 제어 설정으로써, 4비트/8비트 데이터 설정과 폰트 크기 등을 결정한다. I/F=1이면 8비트, I/F=0이면 4비트, N=1이면 2행, N=0이면 1행, F=1이면 5x10 폰트 사용, F=0이면 5x7 폰트 사용

    - LCD에 표시할 위치에 해당하는 어드레스를 지정한다. 어드레스는 DB[6:0]로 표시되는 DD RAM의 어드레스가 AC에 설정되고 이후 읽기/쓰기 데이터는 DD RAM에 읽기 또는 쓰기가 실행된다.

     

    Write 동작 타이밍

    RS와 R/W 신호가 먼저 assert 되며, R/W에 'Low'가 인가되면 LCD는 쓰기 싸이클임을 인식하게 되고 곧 LCD의 선택신호 E에 'High'가 인가되어 LCD가 선택되면 버스에 있는 데이터를 LCD 내부에 쓰는 동작을 하게 된다. LCD에 올바른 데이터를 쓰기 위해서 E 신호를 'Low'로 떨어뜨리는 시점에서 최소 tDSW 만큼 이전에 데이터를 데이터 버스에 내놓아야 한다. LCD 컨트롤러는 E 신호가 Low로 떨어지는 시점까지 데이터 버스에 있는 데이터를 읽어 RS가 가리키는 내부 레지스터에 씀으로써 쓰기 동작을 마치게 된다.

     

    Read 동작 타이밍

    RS와 R/W 신호가 먼저 assert되며, R/W에 'High'가 인가되면 LCD는 읽기 싸이클임을 인식하게 된다. 곧 LCD 선택신호 E에 'High'가 인가되면 데이터 출력의 조건이 만족됨을 인식하고 E가 assert된 지 tEr 만큼 후에 RS에 의해 선택된 레지스터의 데이터를 버스에 출력하게 한다.

     

    LCD 모듈의 초기화

    LCD를 사용하기 위해서는 사용된 LCD 패널에 적절한 초기화가 요구된다. LCD 패널에 적절한 초기화가 요구된다. LCD에 문자를 디스플레이하기 위하여 반드시 필요한 과정이다.

    반응형