Page 758 - 3-2
P. 758
begin
if(!reset) cnt<=0;
else begin
if(state==move)
cnt<=(cnt+1)%6;
end
end
always @(posedge clk, negedge reset)
begin
if(!reset) state<=move;
else
begin
case(state)
move: if(sensor==0&&cnt==in) state<=stop; // 센서가 감지되면 멈춤
else state<=move;
stop: if(sw[in]==0) state<=sw_detect; // 스위치가 떼어지면 sw detect
else state<=stop;
sw_detect: if(sensor==1) state<=move; // 스위치가 떼어진상태로 센서가 감지되어도(0)
움직임 감지 안되면, (1) move 상태로 이동
else state<=sw_detect;
endcase
end
end
always @(state)
begin
case(state)
move: motor=1;
stop: motor=0;
sw_detect: motor=1;
endcase
end
endmodule
문제점 – 스위치에 풀다운 저항을 설정하지 않아 스위치 입력으로 모터 제어가 되지 않았음 센서가 감,
지 될 때마다 cnt 가 증가해야하지만 증가되지 않음
17. 터치스크린 코드
< MainFrame.java >
package com.example.user.appclient;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
- 758 -