[答案解析]华工数电实验:简易交通灯控制电路的设计

article/2025/6/24 15:29:56

 题目:

答案:

工程文件下载:https://github.com/BlademasterQAQ/A-simple-traffic-signal-lamp-in-digital-electronic-technology

 

用3个JK触发器实现的3位二进制计数器电路:

 

仿真结果:(此为上升沿触发时的仿真结果,改为下降沿触发才正常(向右平移半个CLK))

 

思考题:如何将时间增大10倍?(红灯3s变30s)

由于实验箱提供1Hz的方波信号,1个CLK周期正好是1s,所以一个高电平持续多少个CLK周期就说明了持续多少秒。

若时间增大10倍,很容易想到CLK周期变成10s就行,即输入0.1Hz的方波信号,但这在实验箱是不可行的,我们只能用电路来实现。

我们知道触发器对上升沿/下降沿有效,那么只要将10s内的10个方波信号变成1个就行(忽略前9个方波,最后一个产生一个方波)。

在数学中,这便是逢十进一——十进制的原理,第10个方波才产生进位(1个方波)。

用74160的CO输出端就能简单实现了(每10个CLK,CO输出一个方波)

 

 

(p.s:非常感谢学长提供的答案给我带来的帮助   https://blog.csdn.net/iRay007/article/details/6945968)

只需要答案的同学们可以离开了o(* ̄▽ ̄*)o

 


解析:

题目要求用3个JK触发器和6个与非门实现电路,

而提示中将电路分为了两部分:

1.将CLK时钟信号转换为3位二进制数据的计数器

2.通过逻辑函数用3位二进制数据控制电路

 

其中的第2点在前面几章中我们就已经会将二进制数据通过真值表写出逻辑函数、化简,便可得控制电路,这里不做赘述。

而第1点将CLK时钟信号转换为3位二进制数据需用到第五章新学的触发器

 

如何将CLK时钟信号通过触发器转换为二进制数据?

触发器原理:

首先我们知道触发器的功能是在CLK和输入信号的作用下能实现输出信号高低电平的转换

对于SR主从触发器,当CLK=1时,S=R=0时保持原输出,S=1,R=0时置1,S=0,R=1时置0

而JK触发器比其他触发器特殊在J=K=1时为原输出的反转(Q*=Q‘)

JK触发器的状态方程:Q*=JQ’+K‘Q

 

二进制计数器原理:

二进制计数器实际就为加法器,只是在触发器中变成每产生一个CLK=1的上升沿时,让二进制数据加1

 

  • 推测法:

(笔者未学时序电路分析时的用的方法)

Q1是最低位,每一个CLK=1到来时就应该反转一次,这正对应前面所说的 “ J=K=1时为原输出的反转 ” 。

所以输出Q1的触发器J、K都接Vcc即可。

 

Q2是第二位,当Q1是0时,下个CLK=1时Q1变1,无进位,Q2不变;当Q1是1时,下个CLK时Q1产生进位,Q2=原Q2+1

再考虑原Q2为0或1的情况,有以下真值表:

Q1Q2Q2*
000
011
101
110

       

 

 

 

 

 

        Q2*为下一个CLK=1时的Q2的值

 

上表为二进制简单的进位关系,转化为逻辑方程得:Q2*=Q1Q2’+Q1‘Q2

对应JK触发器的状态方程可知输出Q2的触发器只要满足输入J=Q1,K’=Q1‘(即K=Q1)即可实现该真值表

所以第二个JK触发器的输入端J、K连接第一个JK触发器的输出

 

Q3同理,用二进制进位写出真值表:

Q1Q2Q3Q3*
0000
0011
0100
0111
1000
1011
1101
1110

                                                         

 

 

 

 

 

 

 

 

         Q3*为下一个CLK=1时的Q3的值

 

转化为逻辑方程并化简得:Q3*=(Q1Q2)'Q3+(Q1Q2)Q3'

对应状态方程可知第三个JK触发器的输入应为J=K=Q1Q2

由题目要求限制,需用两个与非门(其中一个当非门使用)实现。

这样,这题的难点就被攻克了(●ˇ∀ˇ●)

 

  • 标准方法

更简便的方法应该用状态转换表和次态卡诺图求解(当时笔者还未学习到)

3位二进制计数器状态转换表(循环):

CLKQ3Q2Q1Q3*Q2*Q1*
0000001
1001010
2010011
3011100
4100101
5101110
6110111
7111000

 

 

 

 

 

 

 

 

 

 

(取初始状态Q3 Q2 Q1 = 0 0 0)

(上一个时钟信号的Q3* Q2* Q1*作为下一次时钟信号的Q3 Q2 Q1输入)

这样每个时钟信号的次态和原状态间构成的简单的二进制加法关系

写出Q3* Q2* Q1*关于Q3 Q2 Q1的逻辑方程,再对应JK触发器的特性方程,即可得电路的逻辑结构图。

 

(注意:Quartus中的JK触发器名为jkff,为上升沿触发(与课本示例不同),若要使第一个灯是3s而不是2.5s,应在JK触发器前加一个非门,使之变成下降沿触发的JK触发器)


http://chatgpt.dhexx.cn/article/mweKNN6h.shtml

相关文章

【数电基础复习】

数字电子技术——概念向 数制和码制数字量与模拟量位权十-二进制运算反码、补码奇偶校验 逻辑函数逻辑代数运算最小项和最大项逻辑函数化简方法 门电路CMOS门电路CMOS反相器CMOS电压传输特性和电流传输特性CMOS反相器静态输入特性和输出特性CMOS反相器的动态特性CMOS与非门、或…

【数电】数字电子技术学习练习

一、 选择题:(共20分,每小题2分) 1、逻辑函数的所有最小项之和等于多少? A. 0 B. 1 C. 0或1 D. 任意值 2、与非门的多余输入端应如何处理?…

Java可变类型与不可变类型

一、可变类型(mutable type)与不可变类型(immutable type) 已知,基本数据类型都是不可变类型;引用(对象)数据类型既有可变类型,也有不可变类型 首先区分:改变…

Python中的可变对象

文章目录 可变对象与不可变对象关于对象图解可变对象 可变对象与不可变对象 关于什么是对象不是这篇的重点,可查看这篇 Python中面向对象的简单应用 可变对象就是说对象的值是可以改变的,序列中可变对象有list 不可变对象有str、tuple 那么问题又来了…

可变剪切|rmats

可变剪切 可变剪切(或选择性剪切)是一个过程,即主要基因或者mRNA前体转录所产生的RNA的外显子以多种方式通过RNA剪切进行重连。由此产生的不同的mRNA可能被翻译成不同的蛋白质构体,因此,一个基因可能编码多种蛋白质。 rmats 下面是小编使用…

python中的可变和不可变类型,每种类型的常用

方法及原理实现 可变数据类型 可变数据类型 :当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变,对于这种数据类型,就称可变数据类型 不可变数据类型 不可变数据类型: 当该数据类型的对应变量的值发生了改变,…

JavaScript 中的可变和不可变

原文:Mutable and immutable in JavaScript https://blog.devgenius.io/mutable-and-immutable-in-javascript-78a3cbc6187c 根据 Mozilla 的定义- 可变(Mutable)是一种可以更改的变量。 在 JavaScript 中,只有对象和数组是可变的,原始值不…

python可变和不可变

python进阶笔记 一、python中的可变和不可变二、简单可变类型拷贝1、Python的深浅拷贝2、深浅拷贝具体代码实现 三、复杂可变类型拷贝四、简单不可变类型拷贝五、复杂不可变类型拷贝1、不可变类型的深浅拷贝-嵌套类型 六、切片拷贝,字典拷贝1、切片拷贝2、字典拷贝 …

vsftpd 配置(中)

原贴:http://www.ititgo.cn/news_view.asp?newsid575 vsftpd 配置(中) 录入员:admin 来源: 加入时间:2007-6-4 11:30:32 点击:274 <script type"text/javascript"> </script> <script src"http://pagead2.googlesyndication.com/pagead/show_…

linux vsftpd 模式,Linux下的Vsftpd配置篇

1.主动与被动模式 1)主动模式(PORT方式) 连接过程为:客户端向服务器FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:我打开了XX端口,你过来连接我,于是服务器从20号端口向客户端的XX端口发送…

ftp服务器vsftpd配置文件,最全面的vsftpd配置文件详解

最详细的vsftpd配置文件&#xff0c;分享给大家。 注意&#xff1a; 使用匿名登入时&#xff0c;所登入的目录。默认值为/var/ftp。注意ftp目录不能是777的权限属性&#xff0c;即匿名用户的家目录不能有777的权限。 对于用户的访问控制可以通过/etc/vsftpd目录下的vsftpd.user…

ftp服务器vsftpd配置文件,vsftpd配置文件详解及ftp服务器搭建

本文介绍如何在linux上搭建ftp服务器&#xff0c;并且给出了vsftpd 的配置的中文详解&#xff0c;要搭建ftp的同学可以认真看看&#xff0c;其中的配置文件必备全部记忆&#xff0c;在以后配置时可以查看这篇文章。 一、vsftps服务器的配置文件中文详解 vsftps服务器的配置文件…

大数据所具备的四个特点,清楚知道大数据原理原则

说起大数据&#xff0c;估计大家都觉得只听过概念&#xff0c;但是具体是什么东西&#xff0c;怎么定义&#xff0c;没有一个标准的东西&#xff0c;因为在我们的印象中好像很多公司都叫大数据公司&#xff0c;业务形态则有几百种&#xff0c;感觉不是很好理解&#xff0c;所以…

计算机存储容量的基本单位pb,pb存储单位是什么

pb存储单位是一种计算机存储单位&#xff0c;pb的英文全称是Petabytes&#xff0c;其中文名叫拍字节&#xff1b;计算机存储单位一般用字节Byte、千字节KB、兆字节MB、吉字节GB、太字节TB、拍字节PB、艾字节EB等表示。 本文操作环境&#xff1a;Windows7系统&#xff0c;Dell G…

zb计算机术语,容量1zb等于多少kb

满意答案 nnn08nnn08 2017.05.28 采纳率&#xff1a;57% 等级&#xff1a;9 已帮助&#xff1a;115人 1KB1024B&#xff1b;1MB1024KB10241024B。其中1024210。  1B(byte&#xff0c;字节)8bit(见下文)&#xff1b;  1KB(Kibibyte&#xff0c;千字节)1024B2^10B&#xf…

计算机存储1pb等于多少kb,存储容量:1TB等于多少GB?1PB等于多少TB?1EB等于多少PB?

满意答案 youki203. 2013.09.11 采纳率&#xff1a;45% 等级&#xff1a;11 已帮助&#xff1a;12389人 存储容量:是该存储设备上可以存储数据的最大数量&#xff0c;通常使用千字节(kb kilobyte)、兆字节(MB megabyte)、吉字节(GB, gigabyte)、太字节(TB &#xff0c;terab…

word中如何快速引用参考文献

最近一直忙于论文的修改&#xff0c;在修改过程中发现参考文献引用是一个问题&#xff0c;下面结合网上的资源给出了如何快速引用参考文献。 主要分为两大步骤&#xff0c;生成编号项、插入超级链接 1、自动生成编号项 1.1、选种参考文献区域&#xff0c;如下图&#xff1a;…

Word 2016 撰写论文(2): 交叉引用

在利用Word编辑论文时&#xff0c;谁也不可能保证自己撰写的文档会一次性成功&#xff0c;不做任何修改&#xff0c;这就避免的会碰到增加或删减某些图片或表格的情况&#xff0c;以及对插入图片的顺序进行变更&#xff0c;这就产生一个问题&#xff0c;为了是文档产生图文并茂…

Word引用文献设置双向链接

1. 修改参考文献编号格式 2. 选中正文中引用的标号例如&#xff1a; 3. 保持选中的状态下&#xff0c;点击引用&#xff1a; 4. 再点击交叉引用&#xff1a; 5. 引用内容选择“段落编号(完整上下文)”&#xff0c;然后选择具体的引用文献&#xff1a; 6. 如果要在两条文献之中…