当前位置:   article > 正文

数电实验 时序逻辑电路1(计数器译码型8位流水灯)_74112集成器的clk

74112集成器的clk

jk触发器可选jkff,7473,7473o,74112。我选的74112。

注意:按照我的设计,要拨码之后流水灯才会流动。

生成自定义器件后,若原来的电路图发生改变,需要重新生成自定义器件(好像还要先把原来的自定义器件删掉才行)。

加入分频器后波形仿真不了,直接下载就行。

课本:数字逻辑设计基础第二版 何健新 高等教育出版社

电路设计参考p179,185,212,214,221,222。

 

实验要求

  1. 设计计数译码型8位流水灯的逻辑电路。要求采用JK或者D触发器构成SSI异步3位二进制计数器和74138实现。
  2. 使用VHDL语言描述做一个分频器,利用实验板50MHZ系统时钟,采用分频的方案产生1HZ、2HZ、4HZ、8HZ的低频时钟信号,并用示波器显示其中低频信号。
  3. 调用50M分频信号模块,将1Hz信号作为流水灯电路的CP信号输入,设计一个自动流水灯。

电路设计

对于74138译码器:

简介:74138是一种3线至8线的二进制译码器。它具有3个数据输入、8个数据输出和3个芯片选择输入端子。当芯片有效(片选)时,输出端子中有效的一位就是输入值的译码值。例如,当输入为001时,Y1输出为0,其余输出全为1。

 

对于74112双jk触发器:

简介: 74112是双jk触发器。该器件由2个下降沿有效的时钟输入端(CLK1,CLK2),四个数据输入端,4个输出端,2个低电平有效的直接复位端(CLR1,CLR2)(置0端)和两个低电平有效的直接置位端(PR1,PR2)(置1端)构成。

 

计数器译码型8位流水灯原理分析: 为了保证电路简洁清晰,我使用了三个74112构成SSI异步3位2进制减法计数器。置位端,复位端,JK都接1,上一个74112的输出1QN作为下一个74112的1CLK输入。这样,最低输出端翻转发生在CP的下降沿,其余每个输出端状态的翻转正好位于它相邻低位的上升沿时刻。

电路设计如下:

d11ce60a37114bb2b14ee75880c063b2.png

将上图74112部分拆分到新文件,编译后生成自定义器件jianfaqi。

037475fe23334157a565c010b3bbeb49.png

jianfaqi

40a2c94a16184f8fb8e339a6407b65d7.png

原来电路图改成这样

 

bf92857364074e878e5527eac0797146.png

波形仿真

 

然后新建vhdl文件,输入以下分频器代码,保存为LowFreqClk。

  1. LIBRARY IEEE;
  2. USE IEEE.STD_LOGIC_1164.ALL;
  3. USE IEEE.STD_LOGIC_UNSIGNED.ALL;
  4. ENTITY LowFreqClk IS
  5. PORT(rst_n : IN STD_LOGIC;
  6. Clk_50M : IN STD_LOGIC;
  7. clk_1Hz : buffer STD_LOGIC;
  8. clk_2Hz : buffer STD_LOGIC;
  9. clk_4Hz : buffer STD_LOGIC;
  10. clk_8Hz : buffer STD_LOGIC);
  11. END LowFreqClk;
  12. ARCHITECTURE Behv OF LowFreqClk IS
  13. BEGIN
  14. PROCESS(Clk_50M,rst_n)
  15. VARIABLE Count:INTEGER ;
  16. BEGIN
  17. IF rst_n = '0' then
  18. Count := 0 ;
  19. clk_8Hz <= '0';
  20. ELSIF Clk_50M'EVENT AND Clk_50M='1' THEN
  21. IF Count >= 3124999 THEN
  22. clk_8Hz <=not clk_8Hz;
  23. Count := 0 ;
  24. ELSE
  25. Count := Count + 1;
  26. END IF;
  27. END IF;
  28. END PROCESS ;
  29. PROCESS(clk_8Hz,rst_n)
  30. BEGIN
  31. IF rst_n = '0' then
  32. clk_4Hz <= '0';
  33. ELSIF Clk_8Hz'EVENT AND Clk_8Hz='1' THEN
  34. clk_4Hz <=not clk_4Hz;
  35. END IF;
  36. END PROCESS ;
  37. PROCESS(clk_4Hz,rst_n)
  38. BEGIN
  39. IF rst_n = '0' then
  40. clk_2Hz <= '0';
  41. ELSIF Clk_4Hz'EVENT AND Clk_4Hz='1' THEN
  42. clk_2Hz <=not clk_2Hz;
  43. END IF;
  44. END PROCESS ;
  45. PROCESS(clk_2Hz,rst_n)
  46. BEGIN
  47. IF rst_n = '0' then
  48. clk_1Hz <= '0';
  49. ELSIF Clk_2Hz'EVENT AND Clk_2Hz='1' THEN
  50. clk_1Hz <=not clk_1Hz;
  51. END IF;
  52. END PROCESS ;
  53. END Behv;

编译通过后file->create->create symbol files for current file。

然后修改原理图同下。

d6c960e7cd6a46458a446a9ce36e73f2.png

 

时钟波形测试:FPGA开发板波形输出管脚的引出采用杜邦线连接,然后示波器探头接入到示波器,这里我们只做两个通道的显示(4个频率中任选2个),示波器的探头接地端接入到JP1的12脚(GND),探针夹在时钟输出端。4通道波形展示,4个通道分别用不同的额颜色显示,其中CH1黄色、CH2青色、CH3紫色、CH4蓝色。

8d6510a0f76047fb98c1aa5e1cf36920.png

附录

拨码开关等见第一篇附录。

0948dc9f2f904780a619001af93213ae.jpeg

74112功能表

MSO5000示波器

ce4ffe41ba664511ac8f71039c2a036f.png

2954be9c0073495db58434ac23f88463.png

5csema5f31c6n的GPIO扩展。

41afd595fea740469e6377d502dad014.png

f08ff370c8164dfa8e010100d36da07f.png

5bfec5c840f2482f96acfecb3ec0d75e.png

596dbd1fc6bb43ee9c824f49805d4db0.png

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/728694
推荐阅读
相关标签
  

闽ICP备14008679号