PREVIEW
Pixel Screen (16x16)

Pixel Screen (16x16)

Visualization signal_cellular_alt Advanced schedule 30 min

픽셀 스크린 (16x16)

개요

  • 목적: 픽셀 스크린(16x16)은 16x16 그리드의 픽셀을 표시하는 시각화 부품으로, 각 픽셀의 상태는 메모리 값에 의해 결정됩니다. 이 부품은 간단한 그래픽을 만들거나, 패턴을 표시하거나, 디지털 회로에서 메모리 내용을 시각화하는 데 유용합니다.
  • 기호: 픽셀 스크린은 직사각형 디스플레이 그리드로 표현됩니다. 외부 연결 핀이 없으며, 연결된 RAM 부품의 내부 메모리에서 직접 디스플레이 데이터를 읽습니다.
  • DigiSim.io 역할: 디지털 회로를 위한 시각적 출력 기능을 제공하여, 그래픽 디스플레이, 패턴 시각화, 메모리 내용 모니터링을 가능하게 합니다.

Pixel Screen 16x16 component

기능 설명

픽셀 스크린 부품은 연결된 RAM 부품에서 디스플레이 데이터를 읽으며, 메모리의 각 비트를 켜짐 또는 꺼짐이 될 수 있는 픽셀로 해석합니다. 이 부품은 16x16 픽셀(총 256 픽셀)의 해상도를 제공하며, 이를 나타내기 위해 32바이트의 메모리가 필요합니다 (픽셀당 1비트).

픽셀 스크린은 입력 0개출력 0개입니다. 외부 연결 핀이 없습니다. 대신, 연결된 RAM 부품의 내부 메모리에서 직접 디스플레이 데이터를 읽으며, 구성된 시작 주소를 사용하여 픽셀 데이터를 찾습니다.

구성

픽셀 스크린에는 여러 설정 가능한 속성이 있습니다:

  1. 시작 주소: 디스플레이 데이터가 시작되는 메모리 주소 (기본값: 0xE0)
  2. 전경색: 활성(켜짐) 픽셀의 색상
  3. 배경색: 비활성(꺼짐) 픽셀의 색상
  4. 픽셀 스케일: 디스플레이에서 각 픽셀의 크기

메모리 매핑

16x16 픽셀 그리드는 다음과 같이 메모리에 매핑됩니다:

  • 메모리의 각 바이트는 8개의 수평 픽셀을 나타냄
  • 전체 디스플레이에 32개의 연속 바이트(256비트)가 사용됨
  • 각 바이트 내에서 비트는 MSB에서 LSB로 매핑됨

예를 들어, 시작 주소가 0xE0인 경우:

주소 바이트 설명
0xE0 [76543210] 행 0의 처음 8 픽셀
0xE1 [76543210] 행 0의 마지막 8 픽셀
0xE2 [76543210] 행 1의 처음 8 픽셀
0xE3 [76543210] 행 1의 마지막 8 픽셀
... ... ...
0xFE [76543210] 행 15의 처음 8 픽셀
0xFF [76543210] 행 15의 마지막 8 픽셀

참고: 각 바이트 내의 비트 7-0은 MSB에서 LSB로 매핑된 8개의 수평 픽셀을 나타냅니다

사용법

픽셀 스크린 부품을 사용하려면:

  1. RAM 부품과 함께 회로에 부품을 추가합니다

  2. 픽셀 스크린은 연결된 RAM 부품의 메모리에서 자동으로 읽습니다 — 핀 배선이 필요하지 않습니다

  3. 부품의 속성에서 시작 주소를 설정하여 RAM에서 디스플레이 데이터가 시작되는 위치를 지정합니다

  4. 메모리 주소에 비트 패턴을 써서 디스플레이를 만듭니다:

    • 1을 쓰면 픽셀이 켜짐
    • 0을 쓰면 픽셀이 꺼짐
  5. RAM 내용이 변경되면 디스플레이가 자동으로 업데이트됩니다

예제 응용

간단한 패턴 표시

// 체커보드 패턴 저장
// 첫 번째 행 (교대 픽셀)
RAM[0xE0] = 0b10101010;
RAM[0xE1] = 0b10101010;
// 두 번째 행 (반전 패턴)
RAM[0xE2] = 0b01010101;
RAM[0xE3] = 0b01010101;
// 나머지 행에 대해 패턴 반복...

16x16 스프라이트 표시

// 간단한 얼굴 표시
// 눈 (행 4-5)
RAM[0xE8] = 0b00100100;
RAM[0xE9] = 0b00000000;
RAM[0xEA] = 0b00100100;
RAM[0xEB] = 0b00000000;
// 입 (행 10)
RAM[0xF4] = 0b00011000;
RAM[0xF5] = 0b00100100;

애니메이션 만들기

애니메이션을 만들려면:

  1. 각 프레임에 대해 RAM 내용을 업데이트합니다
  2. 클럭 분주기를 사용하여 새로고침 속도를 제어합니다
  3. 깜빡임을 방지하기 위해 RAM 쓰기를 디스플레이의 새로고침 사이클과 동기화합니다

팁과 트릭

  • 깜빡임을 방지하기 위해 별도의 RAM 영역을 "백 버퍼"로 사용하여 다음 프레임을 준비한 다음 디스플레이 영역에 복사하세요
  • 적절한 비트와 바이트를 계산하여 개별 픽셀을 설정하는 그리기 루틴을 만드세요
  • 색상 효과를 위해 부품의 속성을 통해 전경색과 배경색을 수정할 수 있습니다
  • 카운터나 제어 유닛과 같은 다른 부품과 결합하여 자율 디스플레이를 만드세요
  • 부드러운 애니메이션을 위해 회로가 일정한 속도로 디스플레이를 업데이트하도록 하세요

school 학습 경로

arrow_back 사전 요구 사항

arrow_forward 다음 단계

help_outline 자주 묻는 질문

픽셀 스크린은 어떻게 작동하나요?

16x16 스크린에는 256개의 픽셀이 있으며, 각각 이진 신호로 제어됩니다. X와 Y 좌표를 지정하고 픽셀 값을 설정하세요.

픽셀 데이터는 어떻게 구성되나요?

일반적으로 X와 Y 주소 입력으로 픽셀을 선택하고, 데이터 입력으로 상태(켜짐/꺼짐 또는 색상 값)를 설정합니다.

play_arrow 실시간 회로 실행

다른 컴포넌트 보기