- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Q2 Q1 Q0 六进制计数器0 carry clk enable /rst Q2 Q1 Q0 六进制计数器1 carry clk enable /rst Q2 Q1 Q0 六进制计数器2 carry clk enable /rst Q2 Q1 Q0 六进制计数器3 carry clk enable /rst 显示部分 及电路 显示部分 及电路 显示部分 及电路 =12 时钟 清零 使能 2个3位二进制转换成 2个4位二进制电路 0 0 显示部分 及电路 时针显示 分针显示 秒针显示 从图中可以看出,需要设计: 六进制计数器 三输入的显示部分及其电路 四输入的显示部分及其电路,并判断是否等于12 下面先设计六进制计数器。 这里采用状态转移图方法设计六进制计数器。 首先给每个状态起一个名字,分别用S0~S5表示计数器的值0~5。则状态转移图如下。 其中 u 为输入。当u= ↑时,状态发生变化。 书上是当u=1/0时,状态变化。 S0 S1 S2 S5 S4 S3 u=↑ u= ↑ u= ↑ u= ↑ u= ↑ u= ↑ carry 如果将u换成脉冲clk,且根据原理图和状态转移图,可以编写六进制计数器的代码如下: module counter6(enable,clk,q,rst,carry); input enable,clk,rst; output [2:0] q; output carry; reg [2:0] q; reg carry; always @(posedge clk or negedge rst) begin if(!rst) begin q=3b000;carry=0; end else if (enable) begin if(q==5) begin carry=!carry;q=3b000;end else begin q=q+3b001;end end end endmodule 显示部分采用七段数码管,它的显示构成如下图所示。 a g d b c f e 设数码管输入为低电平时亮,为高电平时不亮,则显示数字0—9的gfedcba编码如表所示。 输出 输入 显示数字 gfe dcba 0 100 0000 1 111 1001 2 010 0100 3 011 0000 4 001 1001 5 001 0010 6 000 0010 7 111 1000 8 000 0000 9 001 0000 代码如下: module led7(seg7,q); input [3:0] q; output [6:0]seg7; reg [6:0]seg7; //g,f,e,d,c,b,a; always @(q) begin case(q) 4b0000:seg7=7b100_0000; 4b0001:seg7=7b111_1001; 4b0010:seg7=7b010_0100; 4b0011:seg7=7b011_0000; 4b0100:seg7=7b001_1001; 4b0101:seg7=7b001_0010; 4b0110:seg7=7b000_0010; 4b0111:seg7=7b111_1000; 4b1000:seg7=7b000_0000; 4b1001:seg7=7b001_0000; default:seg7=7b111_1111;//light off endcase end endmodule 2个3位二进制转换成2个4位二进制电路 代码如下: //将2个3位二进制数转换成4位二进制数输出。 module decode3_4(qhh_o,qhl_o,qhh,qhl); input [2:0] qhh,qhl; output [3:0] qhh_o,qhl_o; wire [3:0] qhh_o,qhl_o; assign qhl_o=((qhh*6+qhl)12)?(qhh*6+qhl)%10:0; //lower assign qhh_o=((qhh==1)(qhl3))?4b0001:4b0000; //high endmodule 所有代码汇总 `include clock.v `include led7.v `includ
文档评论(0)