logisim,quartus实现模为60的BCD码计数器

这篇具有很好参考价值的文章主要介绍了logisim,quartus实现模为60的BCD码计数器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、分析:利用封装的74161完成带有异步复位端的模6和模10计数器,然后级联构成模为60的BCD码计数器:

logisim,quartus实现模为60的BCD码计数器

​ 由74161功能表可知要构成模6计数器和模10计数器,可以采用同步置数法:当达到需要的计数终点时反馈一个置数信号到LD非,使得输出Q3Q2Q1Q0=D3D2D1D0。也可以采用反馈清零法:当达到需要的计数终点时反馈一个清零信号到CR非,使得输出Q3Q2Q1Q0=0000。

二、设计:

logisim,quartus实现模为60的BCD码计数器

logisim,quartus实现模为60的BCD码计数器

图6
三、logisim实现:

1.Logisim环境下设计并封装74161:

logisim,quartus实现模为60的BCD码计数器
2.利用封装的74161完成带有异步复位端的模6和模10计数器,然后连接构成模为60的BCD码计数器:

logisim,quartus实现模为60的BCD码计数器
​ 右边74161作为低位片,利用反馈清零法,从0000计数到1010清零(瞬态),因此实际有效计数从0000到1001,构成了模10计数器。

​ 左边74161作为高位片,同样利用反馈清零法,当从0000计数到0101同时低位片进位到1010时清零,构成模6计数器。

​ 左右两片74161级联,低位片每计10个数清零的同时向高位片发送一个下降沿的时钟信号,高位片计1,直到高位片为0101(5),低位片为1001(9)时产生进位,此时低位片再加1到1010时整体清零(瞬态),由此构成了模为60的BCD码计数器。

logisim,quartus实现模为60的BCD码计数器

四、quartus实现:

1.在quartus环境下完成电路连接电路:

logisim,quartus实现模为60的BCD码计数器

2.同样也可直接用verilog代码实现模60 BCD码计数器计数器:

//模为60的BCD码计数器
module count60(
input clk,
input cin,
input reset,
input load,
input [7:0]data,
output reg [7:0]qout,
output cout
);
always @(posedge clk or negedge reset)begin
    if(!reset)
    qout<=0;
    else if(load)
    qout<=data;
    else if(cin)
        begin
            if(qout[3:0]==9)
                begin
                    qout[3:0]<=0;
                    if(qout[7:4]==5)
                        qout[7:4]<=0;
                     else qout[7:4]<=qout[7:4]+1'b1;   
                end
                
            else qout[3:0]<= qout[3:0]+1'b1;
        end
end
assign cout=((qout==8'h59)&cin)?1:0;
endmodule

五、仿真结果:

1.logisim:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DYaVA0np-1647855011131)(C:\Users\25\Pictures\图8.png)]

说明:低位片每计10个数高位片成功加1,整体从00计数到59时进位输出成功为1,再来一个cp信号整体清零回到0000,重新开始新一轮计数。

2.quartus:

logisim,quartus实现模为60的BCD码计数器

​ 说明:当从00计数到59时产生进位,再来一个cp信号整体清零回到00,重新开始新一轮计数。

六、扩展:

1.除了反馈清零法,也可以用同步置数法来做,高低位片可以都用清零法,也可以都用置数法,也可以高位片清零法低位片置数法,解法并不唯一。

2.BCD码计数器和非BCD码计数器有什么不同?

BCD码计数器相当于将非BCD码计数器的每一位转译为bcd码,既用4位二进制数表示每一位十进制数。BCD码计数器的输出端可以直接通过驱动器连接7段数码管,实现计数的显示功能。

资源下载地址:

Github资源下载文章来源地址https://www.toymoban.com/news/detail-457050.html

到了这里,关于logisim,quartus实现模为60的BCD码计数器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【FPGA零基础学习之旅#7】BCD计数器设计

    🎉欢迎来到FPGA专栏~BCD计数器设计 ☆* o(≧▽≦)o *☆ 嗨 ~我是 小夏与酒 🍹 ✨ 博客主页: 小夏与酒的博客 🎈该系列 文章专栏: FPGA学习之旅 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏 📜 欢迎大家关注! ❤️ 顶层模块中的BCD模块级联: Verilog实现

    2024年02月08日
    浏览(38)
  • 用verilog写一个60进制计数器

    你好!下面是一个使用 Verilog 写的 60 进制计数器的示例代码。这个计数器有四个输入: clock :时钟信号。 reset :当设为高电平时,计数器会重置为 0。 enable :当设为高电平时,计数器才会执行计数操作。 count_up :当设为高电平时,计数器会执行加 1 操作;当设为低电平时

    2024年02月11日
    浏览(35)
  • 【30-60s计数器电路设计】数电课设

    这是徐州工程学院2021年的电子工艺实习课程作业之一,我是20级计嵌专业的学生。电路方面的东西并不是我们的主修课程,所以在完成这项作业的过程中遇到了许多困难( 特别是在查不到样板的情况下 )。网上也找到过一位仁兄的案例,不过并没有详细的电路运行原理和操

    2024年02月08日
    浏览(37)
  • 【FPGA】Verilog:计数器 | 异步计数器 | 同步计数器 | 2位二进制计数器的实现 | 4位十进制计数器的实现

    目录 Ⅰ. 实践说明 0x00 计数器(Counter) 0x01 异步计数器(Asynchronous Counter)

    2024年02月05日
    浏览(46)
  • 【FPGA】Verilog:升降计数器 | 波纹计数器 | 约翰逊计数器 | 实现 4-bit 升降计数器的 UP/DOWN

    目录 Ⅰ. 理论部分 0x00 升降计数器(UP DOWN Counter) 0x01 波纹计数器(Ripple Counter)

    2024年02月05日
    浏览(40)
  • verilog手撕代码5——计数器(置位、加减、环形、扭环形、格雷码计数器实现)

    2023.5.12 编写一个十六进制计数器模块,计数器输出信号递增每次到达0,给出指示信号 zero ,当置位信号 set 有效时,将当前输出置为输入的数值 set_num 。 注意 :这里zero=1和num=0是同一拍输出的,按道理如果根据num=0,然后去输出zero=1应该延迟一拍。所以这里考虑将number延迟一

    2024年02月07日
    浏览(44)
  • Verilog实现按键计数器

    一、简介 计数器我们都知道,这里我们旨在使用Verilog HDL 来实现按键计数器的操作,功能有: 1、按下一个键,计数加一(+1); 2、按下另一个键,计数减一(-1); 3、按下复位键,则计数清零。 4、最多计数60次。 二、 代码实现 我们使用了两个模块,第一个是按键消抖模

    2024年02月04日
    浏览(28)
  • FPGA-计数器的实现

    计数器是依托时钟实现的,在时钟沿(一般在上升沿)进行检测,实现计数加1; 计数是从0开始计数的,所以计数值为(M-1),其中M为计数的值。比如计数到10,我们实现时到9即可; 这里为计数器的第一种实现方法,该方法非最优方法,我们只需要了解即可,后续我们会介

    2024年02月04日
    浏览(30)
  • 计数器简介以及FPGA实现

    在时序逻辑电路中,最基本的单元是寄存器,本篇将会介绍如何利用寄存器,实现一个具有计数器功能的电路。在FPGA开发中,一切与时间有关的设计都会用到计数器,所以学会设计计数器至关重要。 计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路,计数

    2024年02月05日
    浏览(42)
  • 【FGPA】Verilog:移位寄存器 | 环形计数器 | 4bit移位寄存器的实现 | 4bit环形计数器的实现

      目录 Ⅰ. 理论部分 0x00 移位寄存器(Shift Register) 0x01 环形计数器(Ring Counter)

    2024年02月05日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包