휴대 전화 LCD 화면이나 OLED 화면을 사는 것이 더 좋습니다.
일상 생활에서 우리는 액정 디스플레이를 낯설지 않습니다. 액정 디스플레이 모듈은 계산기, 멀티 미터, 전자 테이블과 같은 장치를 통해 많은 전자 제품으로 사용되었으며 많은 가정용 전자 제품을 볼 수 있으며 디스플레이는 주로 디지털, 특수 기호 및 그래픽입니다. MCU 인간-기계 인터페이스에서 일반적인 출력 방법은 다음과 같습니다: 라이트 튜브, LED 디지털 튜브, 액정 디스플레이. 발광관과 LED 디지털관이 일반적으로 사용되며 하드웨어와 소프트웨어가 비교적 간단합니다. 그것들은 이전 장에서 소개되었지만 여기에서는 소개되지 않습니다. 이 장에서는 문자형 LCD의 응용에 초점을 맞춥니다.
단일 칩 마이크로 컴퓨터 시스템에서 출력 장치로 액정 디스플레이를 적용하면 다음과 같은 장점이 있습니다.
높은 디스플레이 품질
LCDS는 신호를 받은 후 각 지점에서 해당 색상과 밝기를 유지하기 때문에 지속적으로 새로 고쳐야 하는 음극선관 디스플레이(CRTS)와 달리 지속적으로 빛납니다. 따라서 LCD는 화질이 좋고 깜박임이 없습니다.
디지털 방식의 인터페이스
LCD는 디지털이며 단일 칩 마이크로 컴퓨터 시스템의 인터페이스는 더 간단하고 안정적이며 작동이 더 편리합니다.
작은 크기와 가벼운 무게
LCD 디스플레이는 동일한 디스플레이 영역의 기존 디스플레이보다 훨씬 가벼운 디스플레이 화면의 전극을 통해 액정 분자의 상태를 제어하여 표시합니다.
저전력 소비
상대적으로 LCD의 소비 전력은 주로 내부 전극과 구동 IC에서 소비되기 때문에 다른 디스플레이에 비해 소비 전력이 훨씬 적습니다.
10.8.1 LCD 개요
â 액정 표시 원리
액정 디스플레이의 원리는 액정의 물리적 특성을 사용하여 전압을 통해 표시 영역을 제어하고 전력 표시가 있으므로 그래프를 표시할 수 있습니다. 액정 디스플레이는 얇은 두께의 특성을 가지며 대규모 집적 회로 직접 구동에 적합하고 풀 컬러 디스플레이를 구현하기 쉽고 휴대용 컴퓨터, 디지털 카메라, PDA 이동 통신 도구 및 기타 여러 분야에서 널리 사용되었습니다.
(2) 액정표시장치의 분류
많은 종류의 액정 디스플레이 분류 방법이 있으며 일반적으로 세그먼트, 문자, 도트 매트릭스 등으로 나눌 수 있습니다. 흑백 디스플레이 외에도 액정 디스플레이 및 멀티 그레이 컬러 디스플레이. 주행 모드에 따라 Static, SimpleMatrix 및 ActiveMatrix로 나눌 수 있습니다.
(3) LCD 디스플레이 다양한 그래픽 디스플레이 원리:
선분 표시
도트 매트릭스 다이어그램 형태의 LCD는 M×N 디스플레이 유닛으로 구성된다. LCD 디스플레이 화면은 64행, 각 행은 128열, 각 8열은 1바이트의 8비트에 해당한다고 가정합니다. 화면의 64×16 표시 단위는 표시 RAM 영역의 1024바이트에 해당합니다. 각 바이트는 디스플레이에서 해당 위치의 명암에 해당합니다. 예를 들어, 화면의 첫 번째 줄의 밝기와 어두움은 RAM 영역의 000H - 00FH의 16바이트 내용에 의해 결정됩니다. (000H) = FFH일 때 8포인트 길이의 짧은 밝은 선이 화면의 왼쪽 상단 모서리에 표시됩니다. (3FFH) =FFH일 때 화면의 오른쪽 하단 모서리에 짧은 밝은 선이 표시됩니다. (000H) = FFH, (001H) = 00H, (002H) = 00H... (00EH) = 00H, (00FH) = 00H일 때 8개의 밝은 선과 8개의 어두운 선으로 구성된 파선이 표시됩니다. 화면 상단. 이것이 LCD 디스플레이의 기본 원리입니다.
문자 표시
문자는 6×8 또는 8×8 도트 매트릭스로 구성되어 있기 때문에 LCD로 문자를 표시하는 것은 더 복잡합니다. 디스플레이 화면의 일부 위치에 해당하는 디스플레이 RAM 영역의 8바이트를 찾아 각 바이트의 다른 비트를 "1"로 만들고 나머지 비트를 "1"의 빛인 "0"으로 만들어야 합니다. "0"의 빛. 그리고 그것이 캐릭터를 만드는 것입니다. 그러나 문자 생성기가 있는 컨트롤러의 경우 문자를 표시하는 것이 비교적 간단합니다. 컨트롤러를 텍스트 모드에서 작동시키고 LCD에 표시된 각 행의 행 번호와 열 수에 따라 디스플레이 RAM에 해당하는 주소를 찾아 커서를 설정하고 문자에 해당하는 코드를 보낼 수 있습니다. 여기.
한자 표시
한자의 표시는 일반적으로 그래픽 방식을 채택하여 미리 마이크로컴퓨터에서 표시할 한자의 도트 코드를 추출하고(일반적으로 글꼴 소프트웨어 사용), 각 한자는 32B를 차지하고 두 개의 반으로 나누어 각각 설명합니다. 도 16b에서 왼쪽은 1, 3, 5... 오른쪽은 2, 4, 6... 디스플레이 RAM에 해당하는 주소는 표시된 각 행의 행 번호와 열 수에 따라 찾을 수 있습니다. LCD에서 커서 설정, 표시할 한자의 첫 번째 바이트 보내기, 커서 위치에 1 추가, 두 번째 바이트 보내기, 변경
행은 열에 정렬되고 세 번째 바이트가 전송됩니다... 32B 디스플레이까지 LCD에서 완전한 한자를 얻을 수 있습니다.
10.8.21602 문자 LCD 개요
문자형 액정 디스플레이 모듈은 문자, 숫자, 기호 등을 표시하는 데 특별히 사용되는 일종의 도트 매트릭스 LCD입니다. 현재 일반적으로 16*1,16*2, 20*2 및 40*2 라인이 사용됩니다. Changsha Sun People Electronics Co., LTD. 1602 문자 LCD를 예로 들어 그 사용법을 소개합니다. 그림 10-53은 일반적인 1602자 LCD를 보여줍니다.
그림 10-531602 문자 LCD 물리적 보기
10.8.2.11602 LCD 기본 매개변수 및 핀 기능
1602LCD는 백라이트가 있는 것과 없는 두 가지 유형으로 나눌 수 있습니다. 대부분의 기본 컨트롤러는 HD44780입니다. 백라이트가 있는 것이 백라이트가 없는 것보다 두껍습니다.
그림 10-541602LCD 치수
1602LCD의 주요 기술 매개변수:
표시 용량:16 x 2자
칩 작동 전압: 4.5-5.5V
작동 전류: 2.0mA(5.0V)
모듈의 최고 작동 전압: 5.0V
문자 크기: 2.95 x 4.35(W x H)mm
핀 기능 설명
1602LCD는 표준 14핀(백라이트 없음) 또는 16핀(백라이트 포함) 포트를 사용합니다. 표 10-13은 핀 포트를 설명합니다.
일련 번호
상징
핀 설명
일련 번호
상징
핀 설명
1
VSS
하는 힘
9
D2
데이터
2
VDD
긍정적인
10
D3
데이터
3
VL
액정 디스플레이 바이어스
11
D4
데이터
4
RS
데이터/명령 선택
12
D5
데이터
5
R/W
읽기/쓰기 옵션
13
D6
데이터
6
E
신호를 만들 수 있습니다
14
D7
데이터
7
D0
데이터
15
블라
역광원의 양극
8
D1
데이터
16
블크
백라이트 소스의 음극
표 10-13: 핀 포트
Foot 1: VSS는 접지 전원입니다.
Foot 2: VDD는 5V 양극 전원 공급 장치에 연결됩니다.
세 번째 발: LCD 대비 조정 끝을 위한 VL, 양의 전력 대비가 가장 약하고, 가장 높은 접지 대비, 대비가 너무 높으면 "고스트"가 생성되며 10K 전위차계를 통해 대비를 조정하는 데 사용할 수 있습니다.
네 번째 발: 레지스터 선택용 RS, 데이터 레지스터 선택용 고전압 레벨, 명령어 레지스터 선택용 저전압 레벨.
Foot 5: R/W는 읽기/쓰기 신호 라인입니다. 읽기 동작은 고전압에서 수행되고 쓰기 동작은 저전압에서 수행됩니다. RS와 R/W가 모두 로우 레벨일 때 명령어나 디스플레이 주소를 쓸 수 있습니다. RS가 로우 레벨일 때 R/W가 하이 레벨일 때 사용 중 신호를 읽을 수 있습니다. RS가 하이 레벨, R/W가 로우 레벨일 때 데이터를 쓸 수 있습니다.
핀 6: 끝 E는 활성화 끝입니다. end E가 high에서 low로 변경되면 LCD 모듈이 명령을 실행합니다.
핀 7~14: D0~D7은 8비트 양방향 데이터 케이블입니다.
발 15: 백라이트 소스 양극.
Foot 16: 백라이트 소스의 음극.
10.8.2.31602 LCD 명령 설명 시간 순서
1602 LCD의 컨트롤러에는 표 10-14와 같이 11개의 제어 명령이 있습니다.
일련 번호
지침
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
1
클리어 디스플레이
0
0
0
0
0
0
0
0
0
1
2
커서 반환
0
0
0
0
0
0
0
0
1
*
3
입력 모드 설정
0
0
0
0
0
0
0
1
ID
S
4
온/오프 제어 표시
0
0
0
0
0
0
1
D
C
B
5
커서 또는 문자 이동
0
0
0
0
0
1
S/C
R/L
*
*
6
기능 설정
0
0
0
0
1
DL
N
F
*
*
7
문자 발생 메모리 주소 설정
0
0
0
1
문자 발생 메모리 주소
8
데이터 메모리 주소 설정
0
0
1
데이터 메모리 주소를 표시합니다.
9
통화중 표시 또는 주소 읽기
0
1
BF
카운터 주소
10
CGRAM 또는 DDRAM에 숫자 쓰기)
1
0
쓸 데이터 내용
11
CGRAM 또는 DDRAM에서 읽기
1
1
판독값의 데이터 내용
표 10-14: 제어 명령 표
1602 LCD 모듈 읽기 및 쓰기 작업, 화면 및 광학 레이블 작업은 명령 프로그래밍을 통해 달성합니다. (참고: 1은 높은 수준, 0은 낮은 수준)
명령 1: 디스플레이 지우기, 명령 코드 01H, 커서가 주소 00H 위치로 재설정됩니다.
명령 2: 커서 재설정, 커서는 주소 00H로 돌아갑니다.
명령 3: 커서 및 표시 모드 설정 I/D: 커서 이동 방향, 상위 수준 오른쪽 이동, 하위 수준 왼쪽 이동 S: 화면의 모든 텍스트가 왼쪽 또는 오른쪽으로 이동할지 여부. 높은 수준은 유효하고 낮은 수준은 유효하지 않습니다.
지시 4: 디스플레이 스위치 제어. D: 전체 디스플레이의 켜기 및 끄기를 제어합니다. 높은 수준은 디스플레이를 나타냅니다. 낮은 레벨은 오프 디스플레이를 나타냅니다. C: 커서의 켜기 및 끄기를 제어합니다. 높은 수준은 커서를 나타냅니다. 낮은 수준은 커서가 없음을 나타냅니다.
명령 5: 커서 또는 디스플레이 이동 S/C: 높은 전압에서 표시된 텍스트를 이동하고 낮은 전압에서 커서를 이동합니다.
명령 6: 기능 설정 명령 DL: 고전압에서 4비트 버스, 저전압에서 8비트 버스 N: 저전압에서 단일 라인 표시, 고전압에서 이중 라인 표시 F: 저전압에서 5x7 도트 매트릭스 문자, 고전압에서 5x10 도트 매트릭스 문자.
명령 7: 문자 생성기 RAM 주소 설정.
명령 8: DDRAM 주소 설정.
명령 9: 사용 중 신호 및 커서 주소 읽기 BF: 사용 중 플래그 비트를 나타냅니다. 높은 수준은 사용 중임을 나타냅니다. 이 때 모듈은 명령이나 데이터를 수신할 수 없습니다.
명령 10: 데이터를 씁니다.
명령 11: 데이터를 읽습니다.
HD44780과 호환되는 칩의 타이밍 테이블은 다음과 같습니다.
상태 읽기
입력
RS=L, R/W=H, E=H
출력
D0 - D7 = 상태 단어
서면 지침
입력
RS=L, R/W=L, D0 -- D7= 명령 코드, E= 하이 펄스
출력
없다
데이터 읽기
입력
RS=H, R/W=H, E=H
출력
D0 - D7 = 데이터
데이터 쓰기
입력
RS=H, R/W=L, D0 -- D7= 데이터, E= 하이 펄스
출력
없다
표 10-15: 기본 작업 순서 목록
그림 10-55 및 10-56은 읽기 및 쓰기 작업의 타이밍을 보여줍니다.
그림 10-55 읽기 작업의 타이밍 순서
그림 10-56 쓰기 작업의 타이밍 순서
10.8.2.41602 LCD RAM 주소 매핑 및 표준 글꼴 테이블
LCD 모듈은 느린 디스플레이 장치이므로 각 명령을 실행하기 전에 모듈의 사용 중 플래그가 낮고 모듈이 사용 중이 아님을 나타내는지 확인해야 합니다. 그렇지 않으면 명령이 유효하지 않습니다. 문자를 표시하려면 먼저 표시 문자 주소를 입력합니다. 즉, 모듈에 문자를 표시할 위치를 알려줍니다. 그림 10-57은 1602의 내부 디스플레이 주소입니다.
그림 10-571602 LCD에 표시된 내부 주소
예를 들어, 두 번째 줄의 첫 번째 문자의 주소가 40H인 경우 40H를 직접 작성하여 두 번째 줄의 첫 번째 문자 위치에 커서를 위치시킬 수 있습니까? 디스플레이 주소를 쓸 때 최상위 비트 D7이 하이 레벨 1에서 일정해야 하기 때문에 이것은 작동하지 않습니다. 따라서 쓰여지는 실제 데이터는 01000000B(40H) +10000000B(80H)=11000000B(C0H)여야 합니다.
LCD 모듈의 초기화에서는 디스플레이 모드를 먼저 설정해야 합니다. LCD 모듈에 문자가 표시되면 수동 개입 없이 커서가 자동으로 오른쪽으로 이동합니다. 각 입력 명령 전에 LCD 모듈이 사용 중인지 여부를 확인합니다.
1602 LCD 모듈 내부의 문자 생성 메모리(CGROM)에는 그림 10-58에서와 같이 160개의 서로 다른 도트 매트릭스 문자 그래픽이 저장되어 있습니다. 이러한 문자는 다음과 같습니다. 각 문자에는 고정 코드가 있습니다. 예를 들어 대문자 "A"의 코드는 01000001B(41H)입니다. 모듈이 주소 41H에 도트 매트릭스 문자 그래프를 표시하면 문자 "A"를 볼 수 있습니다.
그림 10-58 문자 코드와 숫자의 매핑
10.8.2.51602 일반 LCD 초기화(재설정) 프로세스
15ms 지연
쓰기 명령 38H(사용 중 신호가 감지되지 않음)
5ms 지연
쓰기 명령 38H(사용 중 신호가 감지되지 않음)
5ms 지연
쓰기 명령 38H(사용 중 신호가 감지되지 않음)
앞으로는 쓰기 명령과 데이터 읽기/쓰기 작업에 대해 사용 중 신호를 감지해야 합니다.
쓰기 명령 38H: 표시 모드 설정
쓰기 명령 08H: 디스플레이가 꺼져 있습니다.
쓰기 명령 01H: 화면 지우기 표시
쓰기 명령 06H: 커서 이동 설정 표시
쓰기 명령 0CH: 표시 열기 및 커서 설정
10.8.31602 LCD의 하드웨어 및 소프트웨어 설계 예
1602LCD에서 첫 번째 줄에는 웹사이트 이름이 표시되고(www.hificat.com) 두 번째 줄에는 연락처 전화번호(0571-85956028)가 표시됩니다. 실험 전에 디스플레이 스위치를 LCD 작동 상태로 전환해야 합니다.
그림 10-591602LCD 데모 다이어그램
10.8.3.1 하드웨어 개략도
1602 LCD 모듈은 그림 10-60과 같이 단일 칩 마이크로컴퓨터 AT89C51에 직접 연결할 수 있습니다.
그림 10-60 하드웨어 개략도
10.8.3.2 프로그램 흐름도
그림 10-61 소프트웨어 프로세스
10.8.3.3 소프트웨어 코드
#포함
#포함
sbitrs=P2^0;
sbitrw=P2^1;
스빗텝=P2^2;
unsignedcharcodedis1[]={"www.hificat.com;
unsignedcharcodedis2[]={"0571-85956028;
voiddelay(unsignedcharms)
{
서명되지 않은 차리;
동안(밀리초)
{
for(i=0; i<250; i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}
bitlcd_bz()
{
비트 결과;
rs=0;
rw=1;
ep=1;
_nop_();
_nop_();
_nop_();
_nop_();
결과=(비트)(P0&0x80);
e