题目:

答案:

工程文件下载: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的情况,有以下真值表:

Q1 Q2 Q2*
0 0 0
0 1 1
1 0 1
1 1 0

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

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

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

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

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

Q1 Q2 Q3 Q3*
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0

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

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

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

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

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

  • 标准方法

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

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

CLK Q3 Q2 Q1 Q3* Q2* Q1*
0 0 0 0 0 0 1
1 0 0 1 0 1 0
2 0 1 0 0 1 1
3 0 1 1 1 0 0
4 1 0 0 1 0 1
5 1 0 1 1 1 0
6 1 1 0 1 1 1
7 1 1 1 0 0 0

(取初始状态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触发器)

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

  1. 数电实验(一)利用与非门设计四舍五入判别电路

    数电实验(一)利用与非门设计四舍五入判别电路 要求: 1.输入为8421BCD码,接四个逻辑电平开关,同时接数码管. 2.输出和LED相连. 一.写出逻辑函数: F(A,B,C,D)=∑m(5,6,7 ...

  2. (数电实验报告)用Verilog–HDL语言设计一个8线3线优先编码器

    `module encoder8_3(S,I7,I6,I5,I4,I3,I2,I1,I0,Y2,Y1,Y0,YS,YEX); input S,I7,I6,I5,I4,I3,I2,I1,I0; outp ...

  3. 数电实验报告实验一_大二下学期的两三事之数电实验amp;课设

    数电实验&课设 叮 写在前面 这学期的数电实验老师是陈W老师.上学期的模电,选过一次他的课,线下教学,老师讲课游刃自如,点到为止,但又醍醐灌顶:这学期线上教学,可能是软件运用不熟练,他多少有些 ...

  4. 【数电实验7】Verilog—外星萤火虫

    [2022.05西南交大数电实验] [本代码及波形已通过老师验收.仅供参考.] [参考博客:[数电实验]外星萤火虫设计_难凉oh的博客-CSDN博客] [建议:有些口语化的注释看完删掉比较好哈,怕老师 ...

  5. 简易交通灯控制电路设计

    摘要 利用计数器和必要的门电路设计简易交通灯控制电路,红绿灯交替点亮90秒.使用74LS90为计数器件,利用T触发器的翻转功能,(本实验将不采用译码器而采用T触发器进行实验),查阅器件参数手册,设计功 ...

  6. 数电实验三 数据选择器及其应用 任务一:用74151芯片采用降维的方法实现F=ABC+ABD+ACD+BCD; 任务二:用74151芯片采用降维方式实现F=BCD反+BC反+A反D;

    数电实验三 数据选择器及其应用 任务一:用74151芯片采用降维的方法实现F=ABC+ABD+ACD+BCD; 任务二:用74151芯片采用降维方式实现F=BCD反+BC反+A反D: 实验数据单

  7. c语言离散卷积编程,数电实验一 离散卷积的C语言编程.ppt

    数电实验一 离散卷积的C语言编程.ppt 实验一 离散卷积的C语言编程实验,DSP实验室,实验性质,综合设计性实验,实验目的,1 了解和认识常用的各种信号: 2 掌握卷积的定义和计算方法: 3 掌握在 ...

  8. 数电实验(三)利用3线-8线译码器74LS138和与非门设计一个表决电路

    数电实验(三)利用3线-8线译码器74LS138和与非门设计一个表决电路 要求: 设计一个表决电路, 当控制端M=0时,输入端A.B.C一致同意时,输出F为1,否则输出为0:当控制端M=1时,输入端A ...

  9. 数电实验4:彩灯控制器设计

    数电实验4:彩灯控制器设计 一.实验目的 二.实验内容 三.预习要求 四.实验报告要求 五.Verilog代码.RTL视图及仿真波形 1.Verilog代码 2.RTL视图 3.仿真波形 西南交大数电 ...

  10. 数电实验(四)利用集成数值比较器74LS85设计一个4位数值比较器

    数电实验(四)利用集成数值比较器74LS85设计一个4位数值比较器 要求: 1.输入为两个4位二进制数,分别接四个逻辑电平开关,同时接数码管 2. 输出和LED相连 Multisim仿真:

最新文章

  1. 上海15岁女高中生蝉联“最年轻科学家”
  2. linux配置环境jdk
  3. Spring-AOP 通过配置文件实现 环绕增强
  4. 牛客假日团队赛10 L 乘积最大 (dp,大数)
  5. .Net中的AOP系列之《方法执行前后——边界切面》
  6. uoni扫地机器人好用吗_扫地机器人好用吗?了解性能看这篇
  7. 收藏 | 万字长文带你理解Pytorch官方Faster RCNN代码
  8. android+动画完成后不可点击,动画后,TranslateAnimated ImageView无法点击[Android]
  9. mysql主从复制实施流程_MySQL主从复制认识及实施操作
  10. 计算机硬件只能做维修吗,关于计算机硬件维修的研究
  11. sqlite 查看数据库表和字段
  12. shell 查看空行与删除空行
  13. 《自己动手写操作系统 》第九章 一 简易硬盘驱动的实现
  14. 零基础,两个月复习备考软考中级经验分享
  15. excel高级筛选怎么用_Excel筛选功能这样用,再多数据我也不惧了!
  16. linux rm f命令,Linux 系统的常用命令之 rm ,rm -rf , rm -f 以及rm 命令的其他参数命令...
  17. Android 获取手机状态栏高度
  18. HTML简介及转义字符大全
  19. OneDNS终端网络安全接入服务原理解析
  20. 前端面试题:如何画一条0.5px的线

热门文章

  1. 安徽计算机技术学院蚌埠,安徽蚌埠技师学院2021年招生简章
  2. 哪种存储器是非易失的_非易失性存储器和易失性存储器有什么全部详细资料对比...
  3. 服务器定时关机 修改时间,服务器调定时关机
  4. 易语言网页填表取不到cookie_易语言置外部浏览器Cookie例子(支持所有浏览器)...
  5. java实例化对象数组_java对象实例化
  6. 数据分析师—Excel实战篇
  7. 主板声卡坏了会不会有电流声_选择声卡讲究多 不同领域适使用不同类型
  8. Lua内存泄露情况举例
  9. ArcGIS for Android 100.3.0(1):开发环境配置
  10. 如何深入学习Java并发编程?