VHDL 엘레베이터 8층짜리 Elevator
- 최초 등록일
- 2011.06.14
- 최종 저작일
- 2011.06
- 28페이지/ 한컴오피스
- 가격 6,000원
소개글
8층짜리 엘레베이터
핀 설정 및 사진 첨부 되어 있음
주석처리된 부분 살리면 더 많은 기능 활용 가능 (오류 문제로 제거)
기타 주석처리된 여러가지 구조문 존재
1~8층까지의 건물에서 사용되는 엘레베이터로써 엘레베이터 내부의 1~8층까지의 버튼과
2,4,6,8층에서의 Up, Down 버튼 구현
4, 6층에서 Up 버튼이 동작하면 1층에있던 엘레베이터가 4층으로 갔다가 문 열리고 닫힌 뒤 6층으로 이동
올라가는 모습은 segment 에 간단하게 표현
층의 이동은 LED를 통해서 표현
기본 엘레베이터의 기능 구현에 초점
컴파일 이후 생성되는 회로도 첨부 (실제론 별 도움 안됨 , 쿼터스를 통해서 생성 가능)
테스트벤치 미존재, elevator_top.vhd 구문의 입출력 포트를 토대로 직접 작성해야 함
목차
없음
본문내용
elevator
elevator_top에서 바라본 회로의 모습이다. 엘레베이터의 탑승하기 전의 외부 층
1~8층 중에 2,4,6,8 짝수층에만 올라가고 내려가는 버튼을 이용하게 해 두었으며 이 버튼들은 모두 토글키를 이용하여 만들어졌다. 엘레베이터 내부의 층간 이동 버튼은 5개의 토글 스위치를 활용하여 만들어졌으며 여러가지 기능을 구현하려고 시도 해 보았다.
temp_led:="11111110";
elsif rising_edge(clk) then
case out4 is --Display Current Floor By LED
when 1 => temp_led := "01111111";
when 2 => temp_led := "10111111";
when 3 => temp_led := "11011111";
when 4 => temp_led := "11101111";
when 5 => temp_led := "11110111";
when 6 => temp_led := "11111011";
when 7 => temp_led := "11111101";
when 8 => temp_led := "11111110";
when 0 => temp_led := "11111111";
when others => temp_led := "00000000";
end case;
end if;
led_out <= not temp_led;
end process;
end arch;
LED.vhd 의 일부분
<중 략>
목적지의 출력을 Segment로 표현해주는 부분이다. 엘레베이터 내부에서 층 버튼을 눌렀을 때 엘레베이터가 목표하는 위치의 층을 표시해주고 현재 위치를 보여주려는 방식으로 시도 되었다.
참고 자료
없음