数字逻辑电路-74194模5扭环形计数器、74160同步7-23加计数器-Quartus2-时序逻辑电路:

(建议两个实验分成两个项目做,只有LowFreqClk设计会重复)

(有些地方会省略文件置顶和编译,有问题的话看看是不是文件没置顶或没编译)

一、实验预习:

用双向移位寄存器74194和门电路设计一个右移模5的扭环计数器;并画出电路图

02184fd2ad654462912461798e0f618d.png

二、实验内容:

1.双向移位寄存器74194的应用——扭环形计数器的设计和实现:用双向移位寄存器74194和门电路设计一个右移模5的扭环计数器,并进行仿真验证。

2.同步十进制加计数器74160的应用——任意进制计数器的设计、仿真和下载:设计一个同步7-23加计数器,并进行仿真验证

(1)、设计74194模5扭环形计数器

[1]、电路图:

使用预习电路图画好电路图,进行编译成功。

[2]、仿真波形

0eaf7c3198634ac3a629df1032b92fb5.pngeaa37d8950d04a58af7296bf7b3279b3.png

如下设计输入CP端:

66f50fe9011d45d8a4f687e7621845b7.png

进行编译,如图即为成功

54d5630ce72247039bdd3b331a9932b5.png

[3]、引脚分配:

如图:

41134df060c841079936f13f30be2d8c.png

 

再编译一遍

[4]、下载至电路板并验证功能

功能如下:

扭环计数器

[5]、进阶(自动)---(老师没要求可跳过)

<1>、设置LowFreqClk--产生时钟信号的器件

ff674c4af78a4007863b0130b1c33779.png74aa8b1c35404b4dacd25185b0e25fea.png

输入VHDL程序代码,如下:

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY LowFreqClk IS
PORT(rst_n  : IN STD_LOGIC;
	Clk_50M  : IN STD_LOGIC;
	clk_1Hz  : buffer STD_LOGIC;
	clk_2Hz  : buffer STD_LOGIC;
	clk_4Hz  : buffer STD_LOGIC;
	clk_8Hz  : buffer STD_LOGIC);
END LowFreqClk;
 
ARCHITECTURE Behv OF LowFreqClk IS
BEGIN
PROCESS(Clk_50M,rst_n)
VARIABLE Count:INTEGER ;
BEGIN
  IF rst_n = '0' then 
    Count := 0 ;
	 clk_8Hz <= '0';
  ELSIF Clk_50M'EVENT AND Clk_50M='1' THEN
    IF Count >= 3124999 THEN
	   clk_8Hz <=not clk_8Hz;
		Count := 0 ;
	  ELSE
		Count := Count + 1;
	  END IF;
  END IF;
END PROCESS ;
PROCESS(clk_8Hz,rst_n)
BEGIN
  IF rst_n = '0' then 
	 clk_4Hz <= '0';
  ELSIF Clk_8Hz'EVENT AND Clk_8Hz='1' THEN
	 clk_4Hz <=not clk_4Hz;
  END IF;
END PROCESS ;
PROCESS(clk_4Hz,rst_n)
BEGIN
  IF rst_n = '0' then 
	 clk_2Hz <= '0';
  ELSIF Clk_4Hz'EVENT AND Clk_4Hz='1' THEN
	 clk_2Hz <=not clk_2Hz;
  END IF;
END PROCESS ;
PROCESS(clk_2Hz,rst_n)
BEGIN
  IF rst_n = '0' then 
	 clk_1Hz <= '0';
  ELSIF Clk_2Hz'EVENT AND Clk_2Hz='1' THEN
	 clk_1Hz <=not clk_1Hz;
  END IF;
END PROCESS ;
END Behv;	

将该文件置顶: 

1043cef321864c6eb95e007aefa41e31.png

保存文件名为:LowFreqClk.VHD并编译通过(这步要注意)

3bc16539d3334de2a7ec07f60acee3ac.png

 运行VHDL程序代码:

378be4788d2c4653ad14de906b1add2f.png

为设计文件创建符号文件

 

142ed771946e43a4ac789efda03b499d.png

<2>、设计电路图,如下:

上一步创建的符号文件和库文件一样,可以在原理图设计文件中使用。

ad97d62a26bb4c1ca44de1e2cad3bf1f.png

电路图,仅修改圈部分,其与原电路图不同:

c9c1a3c08584405ca399503124724c56.png

<3>、引脚分配

仅修改圈部分,与原引脚分配不同:

8ba3a27a5d86469c9d8928140e393c27.png

 结果如图:

2805e75366ce4323b679f1c4526b1625.png

<4>、下载实验板进行功能测试 

拨动下面两个拨码开关都为1,出现自动跳动进行模5扭环计数器验证

99d1b1d062dd42ad951781eb91278e80.png

实验结果如下:

模5的74194(自动)

(2)、同步7-23加计数器74160

[1]、电路图:

d370a3f00b19496a950a85a25b0d5484.png

[2]、仿真波形验证:

如图设计输入CP57102ec0f17f472bade7eef36b58c96a.png

仿真结果为下图,即为成功f41d9c36ff1642d699142aea53ea129f.png

[3]、引脚分配

0cae682d2b974ccebbba97edb0a55c40.png

再编译一遍

16ddc1ebb2594a3d87b970fe9adbc04c.png

[4]、下载至电路板并验证功能

功能如下:

同步7-23计数器

[5]、进阶(自动)---(老师没要求可跳过)

<1>、设置LowFreqClk--产生时钟信号的器件

同上。

<2>、设计电路图,如下:

 仅修改圈内部分,与原电路图不同:2b8d6cb6999c4df28114a498f2f1830d.png

<3>、引脚分配

 仅修改圈内部分,与原引脚分配不同:b82851a800634deab5c77170da5d82c9.png

结果如图:

c6df56eeec164c27924f77247b14edaf.png

 <4>、下载实验板进行功能测试 

拨动下面两个拨码开关都为1,出现自动跳动进行7-23计数器验证

8bbc6604e276411d9f897fc8aabe81ed.png

实验结果如下:

74160(自动)

(如果有帮助请点赞或评论支持,有问题请指正,其他问题请评论交流...)

 

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wirepuller_king

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值