답변이 늦어 죄송합니다.
아래는 dot matrix 예제 중 dot matrix에 scan 데이터와 display 데이터를 입력하는 부분입니다.
한글의 "한"을 표시하는 부분입니다.
cnt_rem은 clk에 의해서 카운트되는 signal 변수이고, clk는 1kHz의 주파수 입력을 받는 입력 포트입니다. .
-- disply, conversion
process(clk)
begin
if clk'event and clk = '1' then
case cnt_rem is
when 0 =>
dot_d <= "00000001100010";
dot_scan <= "0000000001";
when 1 =>
dot_d <= "11110010010010";
dot_scan <= "0000000010";
when 2 =>
dot_d <= "10000100001010";
dot_scan <= "0000000100";
when 3 =>
dot_d <= "10000100001011";
dot_scan <= "0000001000";
when 4 =>
dot_d <= "10000100001010";
dot_scan <= "0000010000";
when 5 =>
dot_d <= "10000010010010";
dot_scan <= "0000100000";
when 6 =>
dot_d <= "10000001100010";
dot_scan <= "0001000000";
when 7 =>
dot_d <= "10000000000000";
dot_scan <= "0010000000";
when 8 =>
dot_d <= "10001111111110";
dot_scan <= "0100000000";
when 9 =>
dot_d <= "10000000100000";
dot_scan <= "1000000000";
end case;
end if;
end process;
이 부분에 대한 응용은 장비의 Demo 동작에서 나오는 "한백전자"라는 문구에 대한 표시로 볼 수 있는데, 이 예제는 CD의 Full-Demo의 내용을 참고하시기 바랍니다.
>
책을 보니 '00000001100010'인 첫째 열의 데이터를 입력하고...
라는 식으로 설명이 되어있습니다.
세로축으로 bit를 위의 숫자 처럼 두어라는 것은 알겠는데
그 데이터를 어떤 방법으로 입력을 시켜야 하는지 모르겠습니다.
클럭으로 하는지 아니면 다른 방법이 있는지 알려주세요.
p.s = 답변은 메일로 주시면 감사하겠습니다~ |