[디지틀 시스템 설계 및 실습] 06.사거리 교통신호 제어기 설계 - 베릴로그 신호등
본 자료는 8페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
해당 자료는 8페이지 까지만 미리보기를 제공합니다.
8페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

[디지틀 시스템 설계 및 실습] 06.사거리 교통신호 제어기 설계 - 베릴로그 신호등 에 대한 보고서 자료입니다.

목차

1. 설계과정 설명 및 동작설명
2. 상태도
3. 실습과제 코드
4. 응용 과제 코드
5. 핀 할당 설명
6. 전체회로도
7. 동작사진

본문내용

101 : seg = 7'b1011011;
4'b0110 : seg = 7'b1011111;
4'b0111 : seg = 7'b1110010;
4'b1000 : seg = 7'b1111111;
4'b1001 : seg = 7'b1111011;
4'b1010 : seg = 7'b1110111;
4'b1011 : seg = 7'b0011111;
4'b1100 : seg = 7'b0001101;
4'b1101 : seg = 7'b0111101;
4'b1110 : seg = 7'b1001111;
4'b1111 : seg = 7'b1000111;
endcase
end
endmodule
// 세그먼트를 구동하기 위한 모듈
module seg_scan (rst, clk, s7, s6, s5, s4, s3, s2, s1, s0, sn, sout);
input rst, clk;
input [6:0] s7, s6, s5, s4, s3, s2, s1, s0;
output [7:0] sn; // for use comx
output [6:0] sout;
wire [7:0] sn;
reg [6:0] sout;
ring8 R1 (rst, clk, sn); // 링카운터를 이용해 세그먼트를 차례로 선택
always @ * begin // 세그먼트 선택에 따라 해당되는 값을 sout에 넣음
case(sn)
8'b11111110 : sout=s0;
8'b11111101 : sout=s1;
8'b11111011 : sout=s2;
8'b11110111 : sout=s3;
8'b11101111 : sout=s4;
8'b11011111 : sout=s5;
8'b10111111 : sout=s6;
8'b01111111 : sout=s7;
default sout = s0;
endcase
end
endmodule
// 8개의 세그먼트를 잔상효과를 이용하여 구동하기 위해 세그먼트를 선택하는 링카운터
module ring8 (rst, clk, q);
input rst, clk;
output [7:0] q;
reg [7:0] q;
always @ (posedge rst or posedge clk) begin
if(rst) q <= 8'b11111110;
else q = {q[6:0], q[7]}; // 클락에 따라 링카운터 작동
end
endmodule
// 버튼을 눌렀을 때 보행자 신호가 켜지면 삐삐삐삐-- 소리가 나게 하는 모듈
module warning(rst, clk, clk2, en, piezo);
input rst, clk, clk2, en;
output piezo;
reg r_piezo;
integer cnt, tone;
wire piezo;
wire [9:0] q;
wire tc;
assign piezo = r_piezo;
cnt_1000 W0 (clk, rst, 1'b1, q, tc); // 1KHz를 1초로 만들어주는 카운터
always @(q, en) // 삐삐삐삐-- 소리를 만드는 시간 간격
if((q==0)|(q == 159)|(q == 399)|(q == 579)) tone = 0;
else if((q== 79)|(q==249)|(q == 479)|(q == 719)) tone = 127;
always @ (posedge rst, posedge clk) begin // 소리를 내기 위해 주파수를 만든다.
if(rst) begin r_piezo <= 0;
cnt <= 0; end
else if (en) begin
if(cnt >= tone) begin
cnt <= 0;
r_piezo <= ~r_piezo;end
else begin
cnt <= cnt + 1;
r_piezo <= r_piezo; end end
else begin r_piezo <= 0; cnt <= 0; end
end
endmodule
5. 핀 할당 설명
포트 이름
연결장치
입력
clk
메인클럭(1KHz)
rst
SW_1
ss
SW_2
출력
com
SEG8~SEG1
ssout
a~g
tr1, tr2, tr3, tr4
led8~led1
6. 전체회로도
7. 동작사진
상태 0 : 신호등 1이 10(직진), 신호등 2가 00(정지), 신호등 3이 10(직진), 신호등 4가 00(정지)로 신호등 2, 4에 보행자 신호가 30초 켜진다.
상태 1 : 신호등 1이 01(황등), 신호등 2가 00(정지), 신호등 3이 01(황등), 신호등 4가 00(정지)이다.
상태 2 : 신호등 1이 00(정지), 신호등 2가 11(직진좌회전), 신호등 3이 00(정지), 신호등 4가 00(정지)로 신호등 1에 보행자 신호가 15초가 켜진다.
상태 3 : 신호등 1이 00(정지), 신호등 2가 01(황등), 신호등 3이 00(정지), 신호등 4가 00(정지)이다.
상태 4 : 신호등 1이 00(정지), 신호등 2가 00(정지), 신호등 3이 00(정지), 신호등 4가 11(직진좌회전)로 신호등 3에 보행자 신호가 15초 켜진다.
상태 5 : 신호등 1이 00(정지), 신호등 2가 00(정지), 신호등 3이 00(정지), 신호등 4가 01(황등)이다.
상태 6 : 신호등 1이 00(정지), 신호등 2가 00(정지), 신호등 3이 11(직진좌회전), 신호등 4가 00(정지)로 신호등 2에 보행자 신호가 15초 켜진다.
상태 7 : 신호등 1이 00(정지), 신호등 2가 00(정지), 신호등 3이 01(황등), 신호등 4가 00(정지)이다.
상태 8 : 신호등 1이 11(직진좌회전), 신호등 2가 00(정지), 신호등 3이 00(정지), 신호등 4가 00(정지)로 신호등 4에 보행자 신호가 15초 켜진다.
상태 9 : 신호등 1이 01(황등), 신호등 2가 00(정지), 신호등 3이 00(정지), 신호등 4가 00(정지)이다.
상태 10 : 신호등 1이 00(정지), 신호등 2가 10(직진), 신호등 3이 00(정지), 신호등 4가 10(직진)으로 신호등 1, 3에 보행자 신호가 30초 켜진다.
상태 11 : 신호등 1이 00(정지), 신호등 2가 01(황등), 신호등 3이 00(정지), 신호등 4가 01(황등)이다.
청각 장애인용 경보음 스위치작동

키워드

  • 가격15,000
  • 페이지수24페이지
  • 등록일2013.11.06
  • 저작시기2012.10
  • 파일형식한글(hwp)
  • 자료번호#890790
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니