※以一片74163(同步十六进制加法计数器)为核心部件设计可变进制(两种进制选择)计数器
题: 设计一个可控进制的计数器, 当输入控制变量M=0时工作在5进制; M=1时工作在15进制.
分析:
根据之前博客中的分析, 我们可以通过两种方法来进行设计.
设计方案1:
我们可以通过设计74163的四个输入引脚DCBA, 再辅以LOAD'引脚的设计, 来实现可控进制计数器的功能.
将控制变量设定为M: 规定M=0时计数器工作在5进制, M=1时计数器工作在15进制.
当电路状态到达1111时, 触发LOAD'引脚预置数功能: 即将Q3Q2Q1Q0四个引脚分别接到四输入与非门的四个输入端, 该逻辑门的输出接到LOAD'引脚.
当M=0时, 共有1011、1100、1101、1110、1111五个计数状态; 当M=1时, 共有0001、0010、0011、0100、0101、0110、0111、1000、1001、1010、1011、1100、1101、1110、1111十五个计数状态. 由分析, 当M=0时, DCBA=1011; 当M=1时, DCBA=0001. 由此得到下面的真值表.
M | D | C | B | A |
---|---|---|---|---|
0 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 0 | 1 |
从上面的真值表中, 可得到 D=M', C=0, B=M', A=1.
将上面的分析转换为电路的设计, 得到电路的逻辑图.
设计方案2:
我们还可以通过直接设计LOAD'引脚来实现可控进制计数器的功能.
将控制变量设定为M: 规定M=0时计数器工作在5进制, M=1时计数器工作在15进制.
将四个输入引脚DCBA置为0000.
当M=0时, 工作在5进制, 则一共有0000、0001、0010、0011、0100五个计数状态; 当M=1时, 工作在15进制, 则一共有0000、0001、0010、0011、0100、0101、0110、0111、1000、1001、1010、1011、1100、1101、1110十五个计数状态. 再由同步置数法的设计准则可知, 当M=0时, LOAD'引脚在电路状态为0100时为0; 当M=1时, LOAD'引脚在电路状态为1110时为0. 根据此处的分析, 得到下面的LOAD'引脚设计真值表. 补充说明一下, 除了上述两种使得LOAD'=0的情况外, 其它情况下的LOAD'均为1.
M | Q3 | Q2 | Q1 | Q0 | LOAD' |
---|---|---|---|---|---|
0 | 0 | 1 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 0 | 0 |
由上述真值表, LOAD=M'Q3'Q2Q1'Q0'+MQ3Q2Q1Q0', 则LOAD'=(M'Q3'Q2Q1'Q0'+MQ3Q2Q1Q0')'. 这样得到的表达式虽然正确, 但不是最简形式, 我们按照74163的计数规律, 化简LOAD'的逻辑表达式.
由74163的计数规律(积攒设计经验后方可直接得出), LOAD'=(M'Q2+MQ3Q2Q1)'.
按照上述分析绘制电路的逻辑图.
设计总结:
要想设计可控进制的计数器, 必须要先将74160/74163的基本功能彻底掌握, 再须熟练掌握74160/74163同步置数法的设计准则. 有了这两部分的基础, 才能较轻松得设计出可控进制得计数器.
还有一种设计方法要熟练掌握——真值表量化设计法. 相信很多朋友在进行比如上面第一种方案中的DCBA引脚的设计时, 会一直跟着感觉设计, 即没有严格的理论依据——这是不可取的(我也相信很多朋友在设计如74138/74151扩展级联电路时也是跟着感觉一直走). 要想提升设计效率和设计准确率, 必须能将实际问题中输入与输出的对应体现在一张真值表中, 这需要大家多多积攒动手设计电路的经验.
※以一片74163(同步十六进制加法计数器)为核心部件设计可变进制(两种进制选择)计数器相关推荐
- Java多线程编程-(6)-两种常用的线程计数器CountDownLatch和循环屏障CyclicBarrier
前几篇: Java多线程编程-(1)-线程安全和锁Synchronized概念 Java多线程编程-(2)-可重入锁以及Synchronized的其他基本特性 Java多线程编程-(3)-线程本地Th ...
- c语言实现同步四位加法计数器,八进制计数器设计方案汇总(四款模拟电路原理实现过程)...
今天小编要和大家分享的是八进制计数器,计数器相关信息,接下来我将从八进制计数器设计方案汇总(四款模拟电路原理实现过程),试用4位同步二进制加法计数器74161采用置数法构成十进制计数器 二这几个方面来 ...
- c++十六进制加法_C++中输出十六进制形式的字符串
前言 在进行 i18n 相关的开发时,经常遇到字符编码转换的错误.这时如果能把相关字符串用十六进制的形式打印出来,例如,"abc" 输出成 "\\x61\\x62\\x6 ...
- c++十六进制加法_C/C++知识点之怎样理解八进制和十六进制
本文主要向大家介绍了C/C++知识点之怎样理解八进制和十六进制,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助. C语言中8进制和16进制怎么表示 C语言本身支持的三种输入是: 1. ...
- 两片74161实现60进制_74LS161设计60进制计数器-数电课程设计
计数器是一个用以实现计数功能的时序部件,它不仅可用来及脉冲数,还常用作数子系统的定时.分频和执行数字运算以及其它特定的逻辑功能. 计数器种类很多.按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有 ...
- 实验五、计数器逻辑功能和设计
6.实验内容及步骤 (1)测试74HC161的逻辑功能,根据测试结果总结并描述其逻辑功能,表格自行完善. 表2.5.1 74HC161的功能表 (2)测试74HC390的逻辑功能,根据测试结果总结并 ...
- 讲清楚进制转换、进制计算那些事 —— 二进制转换十进制、十六进制
讲清楚进制转换.进制计算那些事 信息在计算机中的表示 1.易于物理实现 2.可靠性高 3.运算规则简单 数制及其不同进制之间的转换 1.常用进制数及其对应关系 表 1-2 常见进制数所使用的基本符号 ...
- lin通讯从节点同步间隔场_LIN总线节点的设计
lin总线节点的设计 [日期:2005-5-11] 来源:电子技术应用 作者:宋开臣 陈 舒 [字体:大 中 小] 摘要:介绍了汽车网络系统a类串行总线通信标准lin协议2.0版本(最新版本),设计了 ...
- lin通讯从节点同步间隔场_LIN总线节点的设计-控制器/处理器-与非网
摘要:介绍了汽车网络系统A类串行总线通信标准LIN协议2.0版本(最新版本),设计了总线节点的硬件和通信程序,规划了电动汽车车身网络总线结构. 关键词:LIN总线 通信 节点 随着汽车电子业的飞速发展 ...
最新文章
- Dreamwerver8下定义表单实现第一个登陆页面
- C# 获取gzip网页解压处理
- 手机端公告文本回滚(简单的jq代码)
- 60-170-040-使用-Time-Flink时间系统系列之实例讲解-如何做定时输出
- sudo uograde 之后 需要重装显卡驱动
- 波兰表达式和逆波兰表达式
- 用python把视频转换为图片
- 茎叶图、箱图是什么,如何用SPSS实现?(图文)
- “VBE6EXT.OLB不能被加载”解决方法
- Logstash系列: mutate拦截器的使用
- word中首行缩进、悬挂缩进、左缩进有什么区别?如何操作?
- 林奇社区群主招募!福利福利福利!
- cannot lock ref问题的解决
- HTML学习笔记~html学习需要准备什么
- nodejs在Linux下使用图片相关模块出现Error: write EPIPE
- AI-041: Python深度学习3 - 三个Karas实例-3
- 比较经典的位字段例题(颜色三原色)
- 1355C - Count Triangles,2021CCPC桂林 C,D
- 智慧城市,以人为本的新世界
- 计算机应用能力考试和软考哪个有用,软考中级哪个最容易过 哪个含金量最高...