任意进制计数器 || 反馈复位法 反馈置数法 || 超级重点 || 数电

前面介绍了4位二进制计数器和十进制计数器,但它们的计数长度、计数方式是固定的。

例如:

  • 十进制计数器74160,其计数的模为10,计数方式为加1计数,从0000开始,每个时钟脉冲加1,直到1001,即十进制数9,然后再回到0000。
  • 4位二进制计数器74161或者74163,其计数的模为16,计数方式为加1计数,从状态0000开始,每个时钟脉冲加1,直到1111,即十进制数15,然后再回到0000。

但在数字电路应用中,需要用到计数长度任意,计数方式非顺序递增或递减的计数器,我们把这种计数器叫做任意进制计数器。

本文将介绍如何利用已有的集成计数器,通过外电路的不同连接,设计任意进制计数器。

任意进制计数器的设计方法有两类:

  • 反馈复位法(清零法)
  • 反馈置数法

1反馈复位法

1.1异步清零 反馈复位 74160

以例子来介绍,

用带有异步清零端的十进制计数器74160构成模6加法计数器,设计思路是:

假设计数器74160从初始状态Q3Q2Q1Q0=0000开始计数,

接收到第1个时钟脉冲后状态变为0001,

接收到第2个时钟脉冲后状态变为0010,

接收到第3个时钟脉冲后状态变为0011,

接收到第4个时钟脉冲后状态变为0100,

接收到第5个时钟脉冲后状态变为0101,

接收到第6个时钟脉冲后状态变为0110,如果此时利用状态0110,通过组合电路产生异步清零信号,并反馈到74160的清零端,于是计数器尽在状态0110短暂停留后就立刻复位到0000状态,这样,就跳跃了计数器74160的4个状态,而获得了6进制计数器。

根据前面的设计思路,我们只需要附加1个与非门,与非门的输入为计数器状态Q2和Q1,与非门的输出连到计数器的异步清零端,如下图(a)所示。但是清零时Q3Q2Q1Q0不一定会同时变为0000,可能会产生中间状态,使得清零不可靠,所以可以使用一个RS锁存器来改进清零电路。如下下图所示。

1.2 同步清零 反馈复位 74163

这里的反馈状态是0101(5)而不是之前的0110(6)。注意体会同步清零和异步清零的区别。

对于上图,设计数器的初始状态为Q3Q2Q1Q0=0000,

第1个时钟脉冲到来后,状态变为0001,(CLR非)为高电平,

第2个时钟脉冲到来后,状态变为0010,(CLR非)为高电平,

第3个时钟脉冲到来后,状态变为0011,(CLR非)为高电平,

第4个时钟脉冲到来后,状态变为0100,(CLR非)为高电平,

第5个时钟脉冲到来后,状态变为0101,导致(CLR非)变为低电平,但清零并不马上发生,

因为74163是同步清零,要等到第6个时钟脉冲到来后,清零才生效,使计数器状态变为0000,然后(CLR非)回到高电平。

我们可以发现这种采用同步清零的反馈法,不会出现短暂的过渡状态。

2反馈置数法

反馈置数法是利用计数器的同步置数控制端的数据输入端,把计数器状态置到某个数值来实现任意进制计数器。

置入的数值可以是0000到1111之间的任意数值。

当置入0000时,和复位或者清零的作用是相同的,因此这种方法比第一种反馈复位法灵活性要大。

如下图,现在我们还是用一个例子来介绍这种方法。

用带有同步置数控制端的74163构建8421BCD码计数器。

设计思路是:

假定计数器初始状态为Q3Q2Q1Q0=0000,

一开始让计数器正常计数,计到1001后,通过置数使计数器在下一个状态进入0000,跳过1010~1111这个状态。

如下图,再看一个例子,很好理解了吧。

再看一个。

下面解答使用的方法是两次置数。

3采用多片集成计数器设计任意进制计数器

步骤:

  1. 根据待设计任意进制计数器的模,确定集成计数器所需要的数量,并进行级联。
  2. 用前面学习的反馈复位法或者反馈置数法完成任意进制计数器设计。

下面看一个例子,试用74163构成模24同步计数器。

下面再看一个例子,使用74160构成模24同步计数器。

丢题目,

视频:MOOC-数字逻辑电路-第9单元 时序逻辑功能-任意进制计数器

verilog设置24进制计数器_任意进制计数器 || 反馈复位法 反馈置数法 || 超级重点 || 数电...相关推荐

  1. python编写程序转换进制_Python实现任意进制之间的转换

    在日常生活中我们频繁使用到数学的进制,如季度逢三进一,星期逢七进一:生肖.小时使用12进制,每天使用24进制,每月使用30进制,分秒使用60进制,一年使用360进制等等:在编程过程中我们经常需要转换进 ...

  2. 十进制装换为二进制至九进制之间的任意进制输出

    内容:把十进制转换为二进制至九进制之间的任意进制输出 算法原理:N=(N/d)*d+N%d,先得到的余数为低位后输出,后得到的余数为高位先输出,所以正好可以利用栈的特性,将求得的余数放入到栈中,然后再 ...

  3. 任意进制转换java_Java 任意进制转换(两种方式)

    本文提供两种Java实现任意进制转换的方法: 方法一:利用 Integer 实现进制转换 1. Integer类的方法toBinaryString(),Integer.toOctalString(), ...

  4. 进制转换(任意进制转换)

    a进制转b进制 思想:a进制转十进制           十进制转b进制 a进制转十进制 #include<iostream> #include<cstring> #inclu ...

  5. 【python实现进制转换器】10进制整数向任意进制转换

    def radix_any():decimal_number = int(input("请输入10进制数"))asciil = int(input("请输入想转换成的进制 ...

  6. verilog设置24进制计数器_阅读笔记:《Verilog HDL入门》第3章 Verilog语言要素

    3.1标识符 1.Verilog中的Identifier是由任意字母.数字.下划线和$符号组成的,第一个字符必须是字母或者下划线.区分大小写. 2.Escaped Identifier是为了解决简单标 ...

  7. verilog设置24进制计数器_通用计数器的功能简介

    通用计数器主要包括频率.周期和时间间隔测量,任意时间间隔内脉冲个数通常还包括频率比.以及累加计数等测量功能. 通用计数器是一种常用的用数字显示被测信号频率的测量仪器.被测信号可以是方波.正弦波或其它周 ...

  8. python123平台作业答案进制转换_各种进制转换详解-python

    (1)各个进制的符号:b:二进制:o:八进制:d:十进制:x:十六进制 在python中,bin(),oct(),hex()返回值均为字符串而且会带有0b,0o,0o前缀 (2)各个进制相互转换 a) ...

  9. 设计算法把一个十进制的整数转换成二至九进制之间的任意进制输出

    数据结构 考察栈的应用 int main() {int i,j,k,m,n;while(scanf("%d",&n)==1){cout<<"请输入进制 ...

最新文章

  1. 36.两个链表的第一个公共结点——剑指offer
  2. asp用于取代什么技术_.NET的未来:关于.NET5,每个.Net开发人员必须知道什么
  3. AS3.0 对象键和内存管理
  4. 这个省3月23日开始错时错峰开学,在校不要求戴口罩!
  5. 关于PHP代码的开始和结束标签书写,关于PHP结束标签?gt;的使用细节
  6. 从图片搜索到人脸识别,CV正在成为“互动营销”领域的【硬核技术】
  7. 显示文字_如何观看HBO Max并显示中文字幕?
  8. linux 输入子系统(4)---- input子系统的初始化
  9. Hadoop3.2.0使用详解
  10. centos6.6安全设置
  11. 豆丁网文库下载器,版本:201…
  12. Python数据分析实战:TMDB电影数据可视化
  13. vscode如何比较两个文件的异同
  14. 我见过最清晰的–理解梯度,散度,旋度
  15. scan函数函数用法详解
  16. SpringCloud原理分析
  17. 决策表(决策树)[软件工程]
  18. 各种音频线的阻抗(数字音频线,模拟音频线,麦克音频线,拖拽音频线)
  19. 2020清华计算机科学与技术录取分析总结
  20. 网络空间安全 知识图谱的构建与应用(一)

热门文章

  1. 雷达副瓣对消的matlab程序,动目标显示与脉冲多普勒雷达(MATLAB程式设计)
  2. 如何方便的在Office(powerpoint、word)中输入数学公式?
  3. java 模拟电梯_请使用的Java的多线程知识来编写一个程序,实现一个简单的摩天大楼的电梯模型程序是以一座摩天大楼的多个电梯为背景,用线程、流程控制、随机函数等知识来模拟它。2、电梯的描述:...
  4. 【Python 趣味习题】
  5. 节日循环彩灯电路逻辑设计(使用74LS194二片)
  6. Vue+Element UI表格列的显示和隐藏
  7. GO.js官方文档中文版
  8. Java多线程之常见锁策略与CAS中的ABA问题
  9. c语言为什么scanf要取地址printf不用呢?
  10. 华为诺亚方舟实验室—推荐系统中的前沿技术研究与落地报告