久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

三段式狀態(tài)機(jī)的vhdl程序

作者:佚名   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年01月19日   【字體:
`timescale 1ns / 100ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 22:24:52 03/24/2012
// Design Name:
// Module Name: jtd
// Project Name:
// Target Devices:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module jtd(clk,rst_n,key0,led0,led1
);
input clk,rst_n,key0;
output led0,led1;
reg clk1khz,clk1hz;
reg[1:0] state,next_state;
reg led0,led1;
reg[8:0] count2;
reg[14:0] count1;
reg[3:0] num;
parameter s1 = 2'b00, s2 = 2'b01, s3 = 2'b10, s4 = 2'b11;

//********1khz*******
always @(posedge clk or negedge rst_n)
begin
if(!rst_n) begin
count1 <= 0;
end
else if(count1 == 15'd25000) begin
clk1khz <= ~clk1khz;
count1 <= 0;
end
else begin
count1 <= count1+1;
end
end

//*******1hz**********
always @(posedge clk1khz or negedge rst_n)
begin
if(!rst_n) begin
count2 <= 0;
end
else if(count2 == 9'd500) begin
clk1hz = ~clk1hz;
count2 <= 0;
end
else begin
count2 <= count2 + 1;
end
end

always @(posedge clk1hz or negedge rst_n)
begin
if(!rst_n) begin
num <= 0;
end
else if(num == 4'd10) begin
num <= 0;
end
else begin
num <= num + 1;
end
end


//********狀態(tài)機(jī)*******段一******
always @(posedge clk1hz or negedge rst_n)
begin
if(!rst_n)
state <= s1;
else
state <= next_state;
end

//******狀態(tài)機(jī)******段二******
always @(state)
begin
if(!rst_n)
next_state = s1;
else
case(state)
s1:
if(key0 == 0)
next_state = s4;
else if(num == 4'd10)
next_state = s2;
else
next_state = s1;
s2:
if(key0==0)
next_state = s4;
else if(num == 4'd10)
next_state = s3;
else
next_state = s2;
s3:
if(key0 == 0)
next_state = s4;
else if(num == 4'd10)
next_state = s4;
else
next_state = s3;
s4:
if(key0 == 0)
next_state = s4;
else if(num == 4'd10)
next_state = s1;
else
next_state = s4;
default:
next_state = s1;
endcase
end

//******狀態(tài)機(jī)******段三******
always @(posedge clk1hz or negedge rst_n)
begin
if(!rst_n) begin
led0 <= 0;
led1 <= 0;
end
else
case(state)
s1: begin
led0 <= 0;
led1 <= 0;
end
s2: begin
led0 <= 1;
led1 <= 0;
end
s3: begin
led0 <= 0;
led1 <= 1;
end
s4: begin
led0 <= 1;
led1 <= 1;
end
default: begin
led0 <= 0;
led1 <= 0;
end
endcase
end

endmodule

說(shuō)明:00 01 10 11四個(gè)狀態(tài),復(fù)位時(shí)是00,不復(fù)位時(shí),key0按下時(shí)是11,key0不按下時(shí)每10s進(jìn)入下一個(gè)狀態(tài)。 
關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 亚洲激情一区二区 | 国产精品久久久久久久成人午夜 | 日韩国产在线 | 欧美日韩在线免费 | 亚洲精品一区二区三区精华液 | 久久精品国产一区 | 国产欧美一区二区精品性色超碰 | 日本精品中文字幕 | 日本黄色一级视频 | 三级网站在线 | 欧美专区在线 | 一区二区三区中文字幕 | www黄色| 在线观看网址你懂的 | 中文在线观看免费视频 | 在线免费观看av网站 | 欧美日韩三级 | 国产永久免费视频 | 日韩精品久久久久久久酒店 | 国产精品视频专区 | 中文字幕国产 | 丁香婷婷在线 | 久久久久久av | 日日不卡av| 日本久久久久久久久 | 女人av在线| 国产黄色一级片 | 麻豆国产一区二区三区四区 | 亚洲永久免费 | 亚洲 欧美 激情 另类 校园 | 午夜性福利| 午夜在线观看视频网站 | 久久久久国产 | 免费观看一区二区 | 美女免费网站 | 国产香蕉视频 | 97视频在线 | 一区二区三区四区在线播放 | 日韩精品久久久久久久酒店 | 欧美三级精品 | 视频一区二区在线 |