基于基于FPGA的超声波测距(二)的超声波测距(二)
完成了试验一,这次的实验是要测出距离并且要在数码管上显示出来。这个实验最关键的地方就是测出回响电平的高电平的宽度。
先不考虑容错性等问题,单纯的考虑实现功能。
assign start=echo_reg1&~echo_reg2; //posedge
assign finish=~echo_reg1&echo_reg2;//negedge
reg echo_reg1,echo_reg2;
always @(posedge clk)
begin
if(!rst_n)
begin
echo_reg1<=0;
echo_reg2<=0;
end
else
begin
echo_reg1<=echo;
echo_reg2<=echo_reg1;
end
end
parameter idle=2'b00;
parameter state1=2'b01;
parameter state2=2'b10;
reg [1:0]state;
always @(posedge clk)
begin
if(!rst_n)
begin
state<=idle;
cnt<=0;
end
else
begin
case(state)
idle:begin
if(start)
state<=state1;
else
state<=idle;
end
state1:begin
if(finish)
state<=state2;
else
评论5
最新资源