文档库 最新最全的文档下载
当前位置:文档库 › 实验四 32位计数器

实验四 32位计数器

实验四 32位计数器
实验四 32位计数器

32位计数器

1、实验目的

熟悉ISE系列软件的设计流程和基本工具使用。

2、实验内容

(1)创建ISE工程。

(2)VHDL语言设计输入。

(3)完成简单的设计约束,设计综合和设计实现,并生成下载配置文件。

(4)在Spartan 3E开发板上实现32位计数器的计数的显示。

3、实验器材

Spartan 3E开发板。

4、实验说明

实验中所需要的源文件在本报告附录中。

5、实验步骤

步骤1:创建ISE工程

(1)启动桌面上的ISE9.1图标,在Project Navigator中选择File

→New Project。

(2)在弹出的对话框(见图1)中,设置工程名为count32,工程存放路径为E:\work\,顶层模块类型选择HDL,并单击Next按钮。

图1 ISE工程属性对话框

(3)出现图2所示对话框,目标器件选择spartan3E,具体设计如下图

图2 ISE工程属性对话框

(4)一直点击Next,直到出现图3(即是刚才所设定的),最后点击Finish。

图3 工程设计总表

出现图4,这就是所建立的工程,现在我们需要在里面完成我们的设计。

图4 ISE工程属性对话框

步骤2:创建新的VHDL设计文件

(1)在ISE用户界面中,选择Project→New Source。

(2)在弹出的对话框(见图5)中,选择VHDL Module作为源程序类型,设置文件名为count32,并单击“下一步”按钮。

图5 VHDL的New Source Wizard

(3)点击Next,直到出现图6,直到Finish。

图6 程序总结

(4)点击Finish之后出现程序编辑窗口,在窗口中进行程序编辑。输入32位计数器程序并保存(程序见附录),编辑窗口如图7。

图7 保存后的程序编辑窗口

步骤3:利用XST进行设计综合并仿真

(1)点击processes目录下的synthesize-XST可以实现综合。单击synthesize-XST左边的可以展开它。综合后可以点击生成相应的文件并观察。如图8所示。(必须!!)

图8 综合后的程序编辑窗口

(2)综合过后,在信息显示窗口中会显示Process "Synthesize" completed successfully即综合成功。成功后会在相应的地方打勾,即。如果有警告会出现感叹号,若为错误会出现叉号,可以点击Transoript下的Errors 查看错误信息并修改,警告信息可以忽略。

(3)仿真。(可不仿真)

步骤4:设计实现

(1)查看设计(该步操作可不进行)

双击Design Utilities目录下的Creat Schematic Symbol,创建原理图,创建完

成之后,信息窗口中如图16所示。

点击工具栏的按钮,选择count.SYM,注意是以.SYM结尾的,如图17所示,

图17 打开原理图的窗口

点击打开,如图18所示,

图18 原理图

(2)创建用户约束文件(必须!!)

a:在processes框中选择user constraints,打开其+号,选择下拉菜单中的create area constraints,双击它来添加约束。

b:会出现一个问你是否创建约束文件的窗口,点击YES,出现一个窗口,点击右侧的package view。

c:在左下的窗口中可以定义输入输出与引脚的连接。具体的设置如图19,设置后点击保存并关闭窗口。完成上述步骤后,约束文件就已经创建好了。

图19 分配引脚后的封装图

具体的约束条件为:

NET "clk" LOC = "C9" ; --系统时钟,50Mhz

NET "cnt<0>" LOC = "F12" ; --LED0

NET "cnt<1>" LOC = "E12" ; --LED1

NET "cnt<2>" LOC = "E11" ; --LED2

NET "cnt<3>" LOC = "F11" ; --LED3

步骤5:生成下载配置文件

(1)点击processes中的implement design,完成实现设计的三个步骤,即转换、映射和布局布线,如图20,

图20 布局布线图

(2)继续点击下一步Generate Program File可以生成位流文件,关闭弹出的对话框。

(3)将板子的电源和数据线连接好,点击Generate Program File的+号,在下拉菜单中选择generate PROM,ACE,or,JTAG File ,并双击。出现图21,并选

择如下配置。

图21 iMPACT界面(4)点击Next,出现图22,

图22 PROM文件(5)点击Next,选择一个PROM。如图23,

图23 具体的Xilinx PROM器件(7)点击Next,直到点击Finish,完成,出现下图24,

图24 文件生成总结(8)点击完成之后,如图25所示,

图25 配置文件

(9)点击OK ,添加位流文件,如图26所示,

图26 添加位流文件

(10)选中count.bit文件,打开它,在接下弹出的窗口中点击NO,如图27所示。

图27 增加器件

(11)点击No之后,出现图28,

图28 增加器件

(12)如图29所示,

图29 PROM 文件格式

(13)双击source框中的最后一个PROM File Formatter,在Processes中双

击Generate File,生成以.MCS结尾的文件,如图30所示,

图30 生成PROM文件

(14)双击source框中的第一个boundary scan,并在最右侧的空白处右击选

择Initialize Chain,如图31所示,

图31 初始化文件

(15)在弹出的选择添加count32.bit,和Untitled.mcs,后面1个不添加,

如图32所示,

(16)右击count32.bit文件选择program命令,如图33,

(17)Program之后,会出现下图34:

图34

(18)在弹出的Program Succeeded上点击OK

(19)同样,按照下图35所示,下载程序

图35

(20)在弹出的Program Succeeded上点击OK

(21)把设计下载到板子中,在板子上可以看到效果。

注意:板子断电后必须重新载入程序。

6、实验现象

通过把程序下载到Spartan3E板上,可以看到LED发光二极管的低四位按照顺序发光。

7、结语

本实验主要是对ISE软件的熟悉,了解下载的流程。在做此实验的过程时可以相应的看下其他各种命令会产生什么结果。熟悉ISE能完成的相关功能,并了解相关设置的含义,以及板子的使用等等。

附录:

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity count is

Port ( clk : in STD_LOGIC;

cnt : out STD_LOGIC_VECTOR(3 downto 0)

);

end count;

architecture Behavioral of count is

signal counter:std_logic_vector(31 downto 0):=(others=>'0'); begin

process(clk)

begin

if(clk'event and clk='1')then

counter <= counter+1;

end if;

end process;

cnt <= counter(31 downto 28);

end Behavioral;

实验四 计数器电路设计

实验四、计数器电路的设计 一、实验目的 1、掌握计数器电路的设计方法; 2、进一步掌握电路的设计、编译、仿真和下载测试的方法。 二、实验要求 1、基本要求 1)设计一个具有异步复位和同步使能的4位二进制加法计数器 2)设计一个具有异步复位和同步使能、并行置数的加减可控的8位二进制计数器 3)设计一个具有异步复位和同步使能的BCD码加法计数电路, 2、扩展要求 1)设计一个具有异步复位和同步使能的六十进制加法计数电路 2)设计一个具有异步复位和同步使能的二十四进制加法计数电路 三、实验原理 四、实验内容及步骤 1、建立一个工程项目,路径如:D:\A0512301\forth,项目名和顶层实体名为count。 2、设计一个具有异步复位和同步使能的4位二进制计数器,并进行编译仿真与下载测试; 3、设计一个具有异步复位和同步使能、并行置数的加减可控的8位二进制计数器,并进行编译仿真与下载测试; 4、设计一个具有异步复位和同步使能的十进制加法计数电路,并进行编译仿真与下载测 试; 五、参考程序 1、四位加法计数器 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; USE IEEE.STD_LOGIC_UNSIGNED.ALL ; ENTITY CNT4 IS PORT ( CLK : IN STD_LOGIC ; Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ) ; END ; ARCHITECTURE bhv OF CNT4 IS SIGNAL Q1 : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS (CLK) BEGIN IF CLK'EVENT AND CLK = '1' THEN Q1 <= Q1 + 1 ; END IF; END PROCESS ; Q <= Q1 ; END bhv; 2、异步复位,同步使能十进制加法计数器 LIBRARY IEEE;

计数器的设计实验报告

计数器的设计实验报告 篇一:计数器实验报告 实验4 计数器及其应用 一、实验目的 1、学习用集成触发器构成计数器的方法 2、掌握中规模集成计数器的使用及功能测试方法二、实验原理 计数器是一个用以实现计数功能的时序部件,它不仅可用来计脉冲数,还常用作数字系统的定时、分频和执行数字运算以及其它特定的逻辑功能。 计数器种类很多。按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。根据计数制的不同,分为二进制计数器,十进制计数器和任意进制计数器。根据计数的增减趋势,又分为加法、减法和可逆计数器。还有可预置数和可编程序功能计数器等等。目前,无论是TTL还是

CMOS集成电路,都有品种较齐全的中规模集成计数器。使用者只要借助于器件手册提供的功能表和工作波形图以及引出端的排列,就能正确地运用这些器件。 1、中规模十进制计数器 CC40192是同步十进制可逆计数器,具有双时钟输入,并具有清除和置数等功能,其引脚排列及逻辑符号如图5-9-1所示。 图5- 9-1 CC40192引脚排列及逻辑符号 图中LD—置数端CPU—加计数端CPD —减计数端CO—非同步进位输出端BO—非同步借位输出端 D0、D1、D2、D3 —计数器输入端 Q0、Q1、Q2、Q3 —数据输出端CR—清除端 CC40192的功能如表5-9-1,说明如下:表5-9-1 当清除端CR为高电平“1”时,计数

器直接清零;CR置低电平则执行其它功能。当CR为低电平,置数端LD也为低电平时,数据直接从置数端D0、D1、D2、D3 置入计数器。 当CR为低电平,LD为高电平时,执行计数功能。执行加计数时,减计数端CPD 接高电平,计数脉冲由CPU 输入;在计数脉冲上升沿进行8421 码十进制加法计数。执行减计数时,加计数端CPU接高电平,计数脉冲由减计数端CPD 输入,表5-9-2为8421 码十进制加、减计数器的状态转换表。加法计数表5-9- 减计数 2、计数器的级联使用 一个十进制计数器只能表示0~9十个数,为了扩大计数器范围,常用多个十进制计数器级联使用。 同步计数器往往设有进位(或借位)输出端,故可选用其进位(或借位)输出信号驱动下一级计数器。 图5-9-2是由CC40192利用进位

实验四、 计数器的设计 电子版实验报告

实验四:计数器的设计 实验室:信息楼247 实验台号: 4 日期: 专业班级:机械1205 姓名:陈朝浪学号: 20122947 一、实验目的 1. 通过实验了解二进制加法计数器的工作原理。 2. 掌握任意进制计数器的设计方法。 二、实验内容 (一)用D触发器设计4位异步二进制加法计数器 由D触发器组成计数器。触发器具有0和1两种状态,因此用一个触发器 就可以表示1位二进制数。如果把n个触发器串起来,就可以表示N位二进制 数。(用两个74LS74设计实现) (二)利用74LS161设计实现任意进制的计数器 设计要求:学生以实验台号的个位数作为所设计的任意进制计数器。 先熟悉用1位74LS161设计十进制计数器的方法。 ①利用置位端实现十进制计数器。 ②利用复位端实现十进制计数器。 提示:设计任意计数器可利用芯片74LS161和与非门设计,74LS00为2输 入与非门,74LS30为8输入与非门。 74LS161为4位二进制加法计数器,其引脚图及功能表如下。

三、实验原理图 1.由4个D触发器改成的4位异步二进制加法计数器 2.由74LS161构成的十进制计数器

四、实验结果及数据处理 1.4位异步二进制加法计数器实验数据记录表 2. 画出你所设计的任意进制计数器的线路图,并说明设计思路。

设计思路:四进制为四个输出Q3Q2Q1Q0=0000,0001,0010,0011循环,第一个无效状态为0100 1,置位法设计四进制计数器:当检测到输入为0011时,先输出显示3,然后再将D 置于低电位,计数器输出Q3Q2Q1Q0复位。 2,复位法设计四进制计数器:当检测到第一个无效状态0100时,通过与非门的反馈计数器的Cr首先置于低电平使计数器复位为0000。 五、思考题 1. 由D触发器和JK触发器组成的计数器的区别? 答:D触发器是cp上升沿触发,JK触发器是下降沿触发。 2. 74LS161是同步还是异步,加法还是减法计数器? 答:同步。加法计数器。 3. 设计十进制计数器时将如何去掉后6个计数状态的? 答:加一个与非门形成负反馈。当计数到第一个无效状态Q3Q2Q1Q0==1010时,Q3和Q1全为1,Q1,Q3接与非门,输出作为复位信号,使所有触发器复位,从而去掉了后6个状态。

计数器和移位寄存器设计仿真实验报告.

实验四典型时序电路的功能测试与综合仿真报告 15291204张智博一.74LS290构成的24位计数器 方法:第一片74290的Q3与第二片的INB相连,R01,R02相连,INA,R91,R92悬空构成24位计数器。50Hz,5v方波电压源提供时钟信号,用白炽灯显示输出信号。 实验电路: 实验现象:

输出由000000变为000001,000010,000011,000100,001000,001001,001010,001011,001100,010001,010000,010010,010011,010100,011000,011001,011010,011011,011100,100000,100001,100010,100011,100100,最终又回到000000,实现一次进位。 二.74LS161构成的24位计数器 方法:运用多次置零法 用两片74LS161构成了24位计数器,两片计数器的时钟信号都由方波电压源提供,第一片芯片的Q3和第二片芯片的Q0通过与非门,构成两个74LS161的LOAD信号,第一片的CO接第二片的ENT,其他ENT和ENP接Vcc(5v)。输出接白炽灯。 电路图: 实验现象:以下为1—24的计数过程

三.74LS194构成的8位双向移位寄存器 方法:通过两片194级联,控制MA,MB的值,来控制左右移动 实验电路由两片74LS194芯片构成。两个Ma接在一起,两个Mb接在一起,第一片的Dr,第二片的Dl,分别通过开关接到Vcc(5v)上。第一片的Q3接到第二片的Dr,第二片的Q0接到第一片的Dl。8个输出端分别接白炽灯。 实验电路:

实验二:+0-9999的计数器电路的设计

实验二:+0-9999的计数器电路的设计

EDA实验报告学院 电气与信息工程学院(部): 专电子信息工程

业: 学生姓 刘玉文 名: 班 电子信息工程1101 级: 学 11401700430 号: 指导教师姓 谭会生 名: 实验二:0~9999的计数器电路的设计 1.实验目的 (1)进一步熟悉和掌握Quartus II软件的使用。 (2)进一步熟悉和掌握GW48-CK或其他EDA实验开发系统的使用。 (3)学习和掌握VHDL进程语句和元件例化语句的使用。 2.实验内容 设计并调试好一个技术范围为0~9999的4位十进制计数器电路CNT9999,并用GW48-CK或其他EDA实验开发系统(可选用的芯片为ispLSI 1032E-PLCC84或EPM7128S-PL84或XCS05/XCS10-PLCC84芯片)进行硬件验证。 3.实验条件 (1)开发软件:Quartus II8.0。

(2)实验设备:GW48-CK EDA实验开发系统。 (3)拟用芯片:EPM7128S-PL84。 4.实验设计 (1)系统原理框图 为了简化设计并便于显示,本计数器电路CNT9999的设计分为两个层次,其中底层电路包括四个十进制计数器模块CNT10,再由这四个模块按照图所示的原理框图构成顶层电路CNT9999。 CNT9999电路原理框图 (2)VHDL程序 计数器CNT9999的底层和顶层电路均采用VHDL文本输入,有关VHDL程序如下。 1)CNT10的VHDL源程序: --CNT10.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT10 IS PORT(CLK:IN STD_LOGIC; CLR:IN STD_LOGIC; ENA:IN STD_LOGIC; CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CO:OUT STD_LOGIC); END ENTITY CNT10; ARCHITECTURE ART OF CNT10 IS SIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK,CLR,ENA)IS BEGIN IF CLR='1'THEN CQI<="0000"; ELSIF CLK'EVENT AND CLK='1'THEN IF ENA='1'THEN IF CQI="1001"THEN CQI<="0000";

实验五计数器的设计实验报告

实验五计数器的设计——实验报告 邱兆丰 15331260 一、实验目的和要求 1.熟悉JK触发器的逻辑功能。 2.掌握用JK触发器设计同步计数器。 二、实验仪器及器件 1、实验箱、万用表、示波器、 2、74LS73,74LS00,74LS08,74LS20 三、实验原理 1.计数器的工作原理 递增计数器----每来一个CP,触发器的组成状态按二进制代码规律增加。递减计数器-----按二进制代码规律减少。 双向计数器-----可增可减,由控制端来决定。 2.集成J-K触发器74LS73 ⑴符号: 图1 J-K触发器符号

⑵功能: 表1 J-K触发器功能表 ⑶状态转换图: 图2 J-K触发器状态转换图

⑷特性方程: ⑸注意事项: ①在J-K触发器中,凡是要求接“1”的,一定要接高电平(例如5V),否则会出现错误的翻转。 ①触发器的两个输出负载不能过分悬殊,否则会出现误翻。 ② J-K触发器的清零输入端在工作时一定要接高电平或连接到实验箱的清零端子。3.时序电路的设计步骤 内容见实验预习。 四、实验内容 1.用JK触发器设计一个16进制异步计数器,用逻辑分析仪观察CP和各输出波形。2.用JK触发器设计一个16进制同步计数器,用逻辑分析仪观察CP和各输出波形。3.设计一个仿74LS194 4.用J-K触发器和门电路设计一个特殊的12进制计数器,其十进制的状态转换图为:5.考虑增加一个控制变量D,当D=0时,计数器按自定义内容运行,当D=1时,反方向运行 五、实验设计及数据与处理 实验一

16进制异步计数器 设计原理:除最低级外,每一级触发器用上一级触发器的输出作时钟输入,JK都接HIGH,使得低一级的触发器从1变0时高一级触发器恰好接收下降沿信号实现输出翻转。实验二 16进制同步计数器 设计原理:除最低级外,每一级的JK输入都为所有低级的输出的“与”运算结果实验三 仿74LS194 设计原理:前两个开关作选择端输入,下面四个开关模仿预置数输入,再下面两个开关模仿左移、右移的输入,最后一个开关模仿清零输入。四个触发器用同一时钟输入作CLK输入。用2个非门与三个与门做成了一个简单译码器。对于每一个触发器,JK输入总为一对相反值,即总是让输入值作为输出值输入。对于每一个输入,当模式“重置”输出为1时,其与预置值结果即触发器输入;当模式“右移”、“左移”输出为1时,其值为上一位或下一位对应值;当各模式输出均为0时各触发器输入为0,使输出为0。 实验四 设计原理: 在12进制同步计数器中,输出的状态只由前一周期的状态决定,而与外来输入无关,因此目标电路为Moore型。而数字电路只有0和1两种状态,因此目标电路要表达12种状态需

实验四_4_位计数器设计

实验四4 位计数器设计 1. 实验目的 学习quartusii 和modelsim 的使用方法; 学习原理图和veriloghdl 混合输入设计方法; 掌握4位计数器设计的设计及仿真方法。 2. 实验原理 设计其中的计数器模块CNT4E和数码管译码驱动模块DECL7S勺verilogHDL代码,并作出整个系统仿真。 2.1 4位计数器模块代码 module CNT4B(out, CLK, RST); // output out; // in put CLK, RST; // reg [3:0] out; // always (posedge CLK or n egedge RST) // begin if(!RST) // out <= 4'dO; else out <= out + 1; // end en dmodule 低电平复位 每一个clk计数 效果图: 定义模块名和各个端口 定义输出端口 定义输入时钟和复位 定义四位计数器 上升沿时钟和下降沿复位

2.2七段数码管代码 module segled(out1,a); // in put [3:0]a; // output [6:0]out1; // reg [6:0]out1; //reg always(a) // begin case(a) //case 4'b0000:out1<=7'b0111111; 4'b0001:out1<=7'b0000110; 4'b0010:out1<=7'b1011011; 4'b0011:out1<=7'b1001111; 4'b0100:out1<=7'b1100110; 4'b0101:out1<=7'b1101101; 4'b0110:out1<=7'b1111101; 4'b0111:out1<=7'b0000111; 4'b1000:out1<=7'b1111111; 4'b1001:out1<=7'b1101111; 4'b1010:out1<=7'b1110111; 4'b1011:out1<=7'b1111100; 4'b1100:out1<=7'b0111001; 4'b1101:out1<=7'b1011110; 4'b1110:out1<=7'b1111001; 4'b1111:out1<=7'b1110001; endcase end en dmodule // 模 块结束效果图: 定义模块名和输入输出端口 输入一个3位矢量 输出一个6位矢量 型变量用于always语句 语句用于选择输出 CNT4B:b2v inst 敏感信号a

实验四 集成计数器

实验四集成计数器 一、实验目的 1、熟悉集成计数器的逻辑功能和各控制端的作用。 2、掌握计数器的使用方法。 二、实验器件 74LS390 双异步二---十进制计数器1片 芯片引脚图如下所示: 三、实验内容与步骤 集成计数器74LS390功能测试 a) 二进制计数 CP O (A)接输入脉冲,输出Q O接电平指示器,观察在CP脉冲作用下,电平指示器的 的波形及状态转换图,说明功能。 显示情况。画出与CP对应的Q O

波形图: CP Q O 功能说明:_____________________________________ 状态转换图: b) 五进制计数 CP1(B)接输入脉冲,输出Q3Q2Q1接电平指示器,观察在CP脉冲作用下,电平指示器的显示情况。画出与CP对应的Q3 Q2 Q1的波形及状态转换图,说明功能。 CP Q1 Q2 Q3 功能说明:_____________________________________ 状态转换图: c) 8421BCD码十进制计数 CP O(A)接输入脉冲,Q0接CP1(B),Q3 Q2 Q1 Q0输出接电平指示器和七段译码显示器,观察在CP脉冲作用下,电平指示器和七段译码显示器的显示情况。画出与CP对应的Q的波形及状态转换图,说明功能。填写表1 波形图:CP Q0 Q1 Q2 Q3 功能说明:_____________________________________ 状态转换图:

d) 5421BCD码十进制计数 CP1(B)接输入脉冲,Q3接CP0(A),输出Q0 Q3 Q2 Q1接电平指示器,观察在CP脉冲作用下,电平指示器的显示情况,画出与CP对应的Q的波形及状态转换图,说明功能。填写表2 波形图: CP Array Q1 Q2 Q3 Q0 功能说明:____________________________________________________ 状态转换图: 表2

EDA实验报告-实验3计数器电路设计(DOC)

暨南大学本科实验报告专用纸 课程名称EDA实验成绩评定 实验项目名称计数器电路设计指导教师郭江陵 实验项目编号03 实验项目类型验证实验地点B305 学院电气信息学院系专业物联网工程 组号:A6 一、实验前准备 本实验例子使用独立扩展下载板EP1K10_30_50_100QC208(芯片为EP1K100QC208)。EDAPRO/240H实验仪主板的VCCINT跳线器右跳设定为3.3V;EDAPRO/240H实验仪主板的VCCIO跳线器组中“VCCIO3.3V”应短接,其余VCCIO均断开;独立扩展下载板“EP1K10_30_50_100QC208”的VCCINT跳线器组设定为 2.5V;独立扩展下载板“EP1K10_30_50_100QC208”的VCCIO跳线器组设定为3.3V。请参考前面第二章中关于“电源模块”的说明。 二、实验目的 1、了解各种进制计数器设计方法 2、了解同步计数器、异步计数器的设计方法 3、通过任意编码计数器体会语言编程设计电路的便利 三、实验原理 时序电路应用中计数器的使用十分普遍,如分频电路、状态机都能看到它的踪迹。计数器有加法计数器、可逆计数器、减法计数器、同步计数器等。利用MAXPLUSII已建的库74161、74390分别实现8位二进制同步计数器和8位二——十进制异步计数器。输出显示模块用VHDL实现。 四、实验内容 1、用74161构成8位二进制同步计数器(程序为T3-1); 2、用74390构成8位二——十进制异步计数器(程序为T3-2); 3、用VHDL语言及原理图输入方式实现如下编码7进制计数器(程序为T3-3): 0,2,5,3,4,6,1 五、实验要求 学习使用Altera内建库所封装的器件与自设计功能相结合的方式设计电路,学习计数器电路的设计。 六、设计框图 首先要熟悉传统数字电路中同步、异步计数器的工作与设计。在MAX+PLUS II中使用内建的74XX库选择逻辑器件构成计数器电路,并且结合使用VHDL语言设计转换模块与接口模块,最后将74XX模块与自设计模块结合起来形成完整的计数器电路。并借用前面设计的数码管显示模块显示计数结果。 ◆74161构成8位二进制同步计数器(程序为T3-1)

实验五 计数器的设计

实验五计数器的设计 姓名:zht 学号: 班级:15自动化 日期:2016/11/11

目录 一、实验内容 (3) 二、设计过程、逻辑图及仿真 (4) ①设计过程 (4) ②逻辑图及仿真 (5) 三、实验数据及总结 (8) ①实验数据 (8) ②总结 (10)

一、实验内容 1.用JK触发器设计一个16进制异步计数器,用逻辑分析仪观察CP 和各输出的波形。 2.用JK触发器设计一个16进制同步计数器,用逻辑分析仪观察CP 和各输出的波形。 3.用JK触发器和门电路设计一个特殊的12进制同步计数器,其十进制的状态转换为从01依次计数到12,再回到01开始新一轮计数。实验仪器: 1.实验箱,示波器。 2.器件:74LS73,74LS00,74LS08,74LS20

二、设计过程、逻辑图及仿真 ①设计过程: 1.异步计数器是将CLK应用于第一个JK触发器的时钟输入上,然后将输出Q接入后一个JK触发器的时钟输入,后面的连接方式都是由前一个JK触发器的输出Q作为后一个JK触发器的时钟输入。异步计数器的原理是由于实验箱上的JK触发器是下降沿触发,第一个JK触发器的输出Q1每一个时钟周期变化一次,即经过两个时钟周期后Q1经过了一个周期。同理,由于第一个JK触发器的输出Q1是第二个的时钟输入,所以经过两个Q1周期后第二个JK触发器的输出Q2经过了一个周期,即每四个时钟周期的时间Q2经过一个周期。以此类推,则第三个JK触发器的输出Q3的周期是时钟周期的八倍,第四个JK 触发器的输出Q4是时钟周期的十六倍,因而Q4、Q3、Q2、Q1组成了一个16进制计数器。该计数器的缺点是由于传输延迟会在其中积累,会限制计数器按时钟运行的速度。 2.同步计数器将CLK应用于每个JK触发器的时钟输入上。第一个JK 触发器的输出Q连接到第二个JK触发器的J和K。此后前一个JK触发器的输出和后一个JK触发器的输出经过与门后共同作为再后一个JK触发器的J和K输入。如此一来,第二个JK触发器的J、K输入由第一个JK触发器的输出Q1控制,时钟每变化两个周期Q1会变化一个周期,而只有当Q1为0时第二个触发器在经过时钟下降沿时才会使输出Q2的状态发生改变,即Q2的周期为Q1的两倍,时钟周期的四倍。接着由于Q1和Q2经过与门后作为第三个触发器的J、K输

数字时钟设计实验报告

电子课程设计题目:数字时钟

数字时钟设计实验报告 设计要求: 设计一个24小时制的数字时钟。 要求:计时、显示精度到秒;有校时功能。采用中小规模集成电路设计。 发挥:增加闹钟功能。 设计方案: 由秒时钟信号发生器、计时电路和校时电路构成电路。 秒时钟信号发生器可由振荡器和分频器构成。 计时电路中采用两个60进制计数器分别完成秒计时和分计时;24进制计数器完成时计时;采用译码器将计数器的输出译码后送七段数码管显示。 校时电路采用开关控制时、分、秒计数器的时钟信号为校时脉冲以完成校时。 电路框图: 图一 数字时钟电路框图 电路原理图: (一)秒脉冲信号发生器 秒脉冲信号发生器是数字电子钟的核心部分,它的精度和稳定度决定了数字钟的质量。由振荡器与分频器组合产生秒脉冲信号。 振荡器: 通常用555定时器与RC 构成的多谐振荡器,经过调整输出1000Hz 脉冲。 分频器: 分频器功能主要有两个,一是产生标准秒脉冲信号,一是提供功能 扩展电路所需要的信号,选用三片74LS290进行级联,因为每片为1/10分频器,三片级联好获得1Hz 标准秒脉冲。其电路图如下: 译码器 译码器 译码器 时计数器 (24进制) 分计数器 (60进制) 秒计数器 (60进制) 校 时 电 路 秒信号发生器

图二秒脉冲信号发生器 (二)秒、分、时计时器电路设计 秒、分计数器为60进制计数器,小时计数器为24进制计数器。 60进制——秒计数器 秒的个位部分为逢十进一,十位部分为逢六进一,从而共同完成60进制计数器。当计数到59时清零并重新开始计数。秒的个位部分的设计:利用十进制计数器CD40110设计10进制计数器显示秒的个位。个位计数器由0增加到9时产生进位,连在十位部计数器脉冲输入端CP,从而实现10进制计数和进位功能。利用74LS161和74LS11设计6进制计数器显示秒的十位,当十位计数器由0增加到5时利用74LS11与门产生一个高电平接到个位、十位的CD40110的清零端,同时产生一个脉冲给分的个位。其电路图如下: 图三60进制--秒计数电路 60进制——分计数电路 分的个位部分为逢十进一,十位部分为逢六进一,从而共同完成60进制计数器。当计数到59时清零并重新开始计数。秒的个位部分的设计:来自秒计数电路的进位脉冲使分的个位加1,利用十进制计数器CD40110设计10进制计数器显示秒的个位。个位计数器由0增加到9时产生进位,连在十位部计数器脉冲输入端CP,从而实现10进制计数和进位

实验二 简易计数器设计

实验二简易计数器设计 实验目的:掌握基本的VHDL语法,能够使用VHDL输入方式,设计实现简单的组合逻辑电路。 实验内容:设计实现个位数的加减乘除计算模块,实现4-8段数码管编码模块,利用两个模块实现计算器。 原理图:如下图所示 仿真结果及结果分析: 如下两张仿真结果图所示,A、B为两个个位的数,表示的范围都是0—7;S 表示A和B两个数进行运算时中间的运算符,即当S为0表示做加法运算、当S 为1表示做减法运算、当S为2表示做乘法运算、当S为3表示做除法运算;Y1和Y0表示A与B运算所得的结果用16进表示,做完后的仿真结果即为对应的七段显示译码器上显示的值,Y1是高位,Y0是低位和除法中的余数,当Y的数值为10则表示负号。

管脚锁定说明: 硬件测试情况说明及结果分析: 根据原理图上的芯片引脚功能按照设好的引脚用线连接好电路,A、B、S应该接到八个开关上控制A、B两个数的运算。开关L3、L2、L1分别对应引脚58、59、60,表示的为数A所表示的二进制数;开关L6、L5、L4分别对应引脚53、54、65,表示的为数B所表示的二进制数;S1、S0对应引脚为51、52,表示的为A 与B之间的运算符,00则为加法、01则为减法、10为乘法、11为除法;而Y0[0]—Y0[6]即输出低位对应七段显示译码器A—G,对应引脚分别为142、141、138、137、136、135、133,而Y1[0]—Y1[6]即输出的高位对应七段显示译码器A—G,

对应引脚分别为10、7、4、3、2、1、144,然后通过八个开关键来操作A、B两数的加减乘除情况,观察七段显示译码器上的结果是否正确,实验完成后可知所做实验符合预期结果的要求,实验成功。 cal代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY cal IS PORT( a,b:in integer range 7 downto 0; s :in STD_LOGIC_VECTOR (1 downto 0); y1,y0:out integer range 10 downto 0); END cal; ARCHITECTURE archcal OF cal IS BEGIN ca14_1:process(a,b) variable t:integer; begin if s="00" then t:=(a+b); elsif s="01" then t:=(a-b); elsif s="10" then t:=(a*b); else t:=(a/b); end if; if (t>=0) then y1<=(t/10);y0<=(t mod 10); else y1<=10;y0<=(-t); end if; end process ca14_1; END ARCHITECTURE archcal; seg7代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY seg7 IS PORT( a:in STD_LOGIC_VECTOR (3 downto 0); y:out STD_LOGIC_VECTOR (6 downto 0) ); END seg7;

实验报告五 定时器计数器实验

信息工程学院实验报告 课程名称:微机原理与接口技术Array 实验项目名称:定时器/计数器实验实验时间: 班级:姓名:学号: 一、实验目的 1. 掌握8254 的工作方式及应用编程。 2. 掌握8254 典型应用电路的接法。 二、实验设备 PC 机一台、TD-PITD+实验系统一套。 三、实验原理 8254 是Intel 公司生产的可编程间隔定时器。是8253 的改进型,比8253 具有更优良的性能。8254 具有以下基本功能: (1)有 3 个独立的16 位计数器。 (2)每个计数器可按二进制或十进制(BCD)计数。 (3)每个计数器可编程工作于 6 种不同工作方式。 (4)8254 每个计数器允许的最高计数频率为10MHz(8253 为2MHz)。 (5)8254 有读回命令(8253 没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。 (6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为: n=f CLKi ÷f OUTi、其中f CLKi 是输入时钟脉冲的频率,f OUTi 是输出波形的频率。 图5-1 是8254 的内部结构框图和引脚图,它是由与CPU 的接口、内部控制电路和三个计数器组成。8254 的工作方式如下述: (1)方式0:计数到0 结束输出正跃变信号方式。 (2)方式1:硬件可重触发单稳方式。 (3)方式2:频率发生器方式。 (4)方式3:方波发生器。 (5)方式4:软件触发选通方式。 (6)方式5:硬件触发选通方式。

图5-1 8254 的内部接口和引脚 8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表5-1~5-3 所示。 表5-1 8254 的方式控制字格式 表5-2 8254 读出控制字格式 表5-3 8254 状态字格式 8254 实验单元电路图如下图所示:

数字电路实验 计数器的设计

数字电路与逻辑设计实验报告实验七计数器的设计 姓名:黄文轩 学号:17310031 班级:光电一班

一、实验目的 熟悉J-K触发器的逻辑功能,掌握J-K触发器构成异步计数器和同步计数器。 二、实验器件 1.数字电路实验箱、数字万用表、示波器。 2.虚拟器件: 74LS73,74LS00, 74LS08, 74LS20 三、实验预习 1. 复习时序逻辑电路设计方法 ①根据设计要求获得真值表 ②画出卡诺图或使用其他方式确定状态转换的规律 ③求出各触发器的驱动方程 ④根据已有方程画出电路图。 2. 按实验内容设计逻辑电路画出逻辑图 Ⅰ、16进制异步计数器的设计 异步计数器的设计思路是将上一级触发器的Q输出作为下一级触发器的时钟信号,置所有触发器的J-K为1,这样每次到达时钟下降沿都发生一次计数,每次前一级 触发器从1变化到0都使得后一级触发器反转,即引发进位操作。 画出由J-K触发器组成的异步计数器电路如下图所示:

使用Multisim仿真验证电路正确性,仿真图中波形从上到下依次是从低位到高位 触发器的输出,以及时钟信号。: 可以看出电路正常执行16进制计数器的功能。 Ⅱ、16进制同步计数器的设计 较异步计数器而言,同步计数器要求电路的每一位信号的变化都发生在相同的时间点。

因此同步计数器各触发器的时钟脉冲必须是同一个时钟信号,这样进位信息就要放置在J-K 输入端,我们可以把J-K端口接在一起,当时钟下降沿到来时,如果满足进位条件(前几位触发器输出都为1)则使JK为1,发生反转实现进位。 画出由J-K触发器和门电路组成的同步计数器电路如下图所示 使用Multisim仿真验证电路正确性,仿真图中波形从上到下依次是从低位到高位触发器的输出,计数器进位输出,以及时钟信号。:

robei计数器设计

计数器 1.实验目的 计数器在数字逻辑设计中的应用十分广泛,可以对时钟信号进行计数,分频和产生序列信号,也可以用在计时器和串并转换等电路。这次实验我们就来学习一下如何用Robei和Verilog语言来设计一个4比特计数器。 2.实验要求 计数器对每个时钟脉冲进行计数,并将数值输出出来。这个实验我们来设计一个4比特的计数器,其范围在0~F之间,也就是计数到最大值16。设计波形要求如图2-2-1所示: 图2-2-1 计数器输出波形要求 3.实验内容 3.1 模型设计 1)新建一个模型。点击工具栏上的图标,或者点击菜单“File”然后在下拉菜单中选择“New”,会有一个对话框弹出来(如图2-2-2所示)。在弹出的对话框中设置你所设计的模型。

图2-2-2 新建一个项目 参数填写完成后点击“OK”按钮,Robei(服务号)就会生成一个新的模块,名字就是counter,如图2-2-3所示: 图2-2-3 计数器界面图 2)修改模型。(公众号:Robei)在自动生成的界面图上进行名称地修改,输入引脚为clock,enable和reset,输出引脚修改成count。其中count引脚的“Datasize”为4比特,用户可以输入4,也可以输入3:0。为了区分每个引脚,我们可以修改每个引脚的Color值,并点回车保存。修改完成后如图2-2-4所示。如果选中模块,按“F1”键,就会自动生成一个Datasheet,如图2-2-5所示:

图2-2-4 修改引脚属性 图2-2-5 “Datasheet”截图 3)输入算法。点击模型下方的Code(如图2-2-6所示)进入代码设计区。

实验六 同步计数器的设计

实验六同步计数器的设计 一、实验目的和要求 1.熟悉JK触发器的逻辑功能。 2.掌握用JK触发器设计同步计数器。 二、实验仪器及器件 仪器及器件名称型号数量数字电路实验箱DS99-1A 1 数字万用表DY2106 1 双踪示波器CS-4135 1 器件74LS73X2 2 74LS32X2 1 74LS08X2 2 四、实验原理 1.计数器的工作原理 递增计数器----每来一个CP,触发器的组成状态按二进制代码规律增加。 递减计数器-----按二进制代码规律减少。 双向计数器-----可增可减,由控制端来决定。 五、实验内容 1.用J-K触发器和门电路设计一个特殊的12进制计数器,其十进制的状态转换图为: 图4 12进制计数器状态转换图 2.考虑增加一个控制变量D,当D=0时,计数器按内容一方式(顺时针)运行,当D=1时,无论计数器当前处于什么状态,计数器按内容一的反方向(逆时针)运行。本题为附加内容,因接线复杂可用模拟软件测试结果。 六、实验报告 1.写出详细的设计过程。 (1)根据实验要求可以的该特殊十二进制计数器状态转换图。

(2)确定电路所需触发器数目:有效状态为m=12,求所需触发器数目n 。 由2n ≥m=12,可得n=4。 (3)画出次态卡诺图 (4)求出每个触发器的状态方程 (5)求各触发器的驱动方程 根据n n n Q K Q J Q +=+1,得到以下J 、K 的逻辑表达式:

(6)仿真图如下: 显示管显示的顺序符合十二进制的要求 2.画出CP及各输出端的波形图,要画好他们之间的相位关系。 (1)通过状态图画得CLK、Q0、Q1、Q2、Q3的波形图如下: (2)仿真得到波形图如下:

4实验四_定时器计数器

PIC单片机定时器实验 课程名称微机原理与单片机技术 学院自动化学院 专业班级电子信息科学与技术(2)班 学号 3214001426 姓名林玫妮 2016年 11月 7日

一、实验目的 熟练掌握在 PIC16F877 的定时器 TMR0 的工作原理配置方式,会使用定时器查 询、中断方式,以及计数器模式。 二、实验内容和要求 在MPLAB环境中建立工程,实现对PIC单片机的定时器TMR0的初始 化,分别实现查询方式和中断方式定时,对比中断及查询方式的差异。实现对 PIC单片机的计数器的初始化,掌握计数器脉冲的输入硬件电路。 三、实验主要仪器设备和材料 计算机,MPLAB 软件,PIC 单片机实验板 HL-K18 四、实验方法、步骤及结果测试 1,熟悉电路板,熟悉相关电路原理图(要求使用 4M 晶振进行编程)。 2,任务1,分别采用定时器查询和定时器中断的方式,实现蜂鸣器按0.5秒周期鸣叫,即一秒鸣叫2次。比较查询与中断响应的区别。在MPLAB环境中 建立工程,按要求编写如下程序,并加载到工程中,编译并下载到单片机实 验板中观察实验结果。 例程1定时器查询方式 主程序 计算初值,实现蜂鸣 器按0.5s周期鸣叫

例程 2 定时器中断方式计算初值,实现蜂鸣器按0.5s周 期鸣叫 主程序 中断服务程序

例程3计数器模式 五、实验报告要求 1,对例程 1、2、3 的每一句程序进行注释。描述如何改变寄存器及其对 IO 的影

响。 (1)例子1: (2)例子2:

(3)例子3: 2,详细写出任务 1 中定时器初值的计算过程。 任务 1 中定时器初值的计算过程如下: 3,画出例程 2 的程序流程图。 4,讨论定时器查询方式和中断方式的差异和优缺点。 (1)中断方式不占用CPU资源,定时时间到会自动进入中断程序,准确度高。自动调用对应的函数。 (2)查询方式需要一直占用CPU资源(需要一直扫描标志位),定时时间到后需要程序查询到才能判断时间到,稍微有点误差。在需要的地方,需要手动调用对应函数 六、思考题 编写中断服务程序,实现蜂鸣器0.25秒周期鸣叫,同时LED数码管前两位按照100 毫秒周期从 10 开始倒数。

同步计数器的设计实验报告文档

2020 同步计数器的设计实验报告文档 Contract Template

同步计数器的设计实验报告文档 前言语料:温馨提醒,报告一般是指适用于下级向上级机关汇报工作,反映情况,答复上级机关的询问。按性质的不同,报告可划分为:综合报告和专题报告;按行文的直接目的不同,可将报告划分为:呈报性报告和呈转性报告。体会指的是接触一件事、一篇文章、或者其他什么东西之后,对你接触的事物产生的一些内心的想法和自己的理解 本文内容如下:【下载该文档后使用Word打开】 同步计数器的设计实验报告 篇一:实验六同步计数器的设计实验报告 实验六同步计数器的设计 学号: 姓名: 一、实验目的和要求 1.熟悉JK触发器的逻辑功能。 2.掌握用JK触发器设计同步计数器。 二、实验仪器及器件 三、实验预习 1、复习时序逻辑电路设计方法。 ⑴逻辑抽象,得出电路的状态转换图或状态转换表 ①分析给定的逻辑问题,确定输入变量、输出变量以及电路的状态数。通常都是取原因(或条件)作为输入逻辑变量,取结

果作输出逻辑变量。 ②定义输入、输出逻辑状态和每个电路状态的含意,并将电路状态顺序编号。 ③按照题意列出电路的状态转换表或画出电路的状态转换图。通过以上步骤将给定的逻辑问题抽象成时序逻辑函数。 ⑵状态化简 ①等价状态:在相同的输入下有相同的输出,并且转换到同一次态的两个状态。 ②合并等价状态,使电路的状态数最少。 ⑶状态分配 ①确定触发器的数目n。因为n个触发器共有2n种状态组合,所以为获得时序电路所需的M个状态,必须取2n1<M2n ②给每个电路状态规定对应的触发器状态组合。 ⑷选定触发器类型,求出电路的状态方程、驱动方程和输出方程 ①根据器件的供应情况与系统中触发器种类尽量少的原则谨慎选择使用的触发器类型。 ②根据状态转换图(或状态转换表)和选定的状态编码、触发器的类型,即可写出电路的状态方程、驱动方程和输出方程。 ⑸根据得到的方程式画出逻辑图 ⑹检查设计的电路能否自启动 ①电路开始工作时通过预置数将电路设置成有效状态的一种。 ②通过修改逻辑设计加以解决。

计数器实验报告

实验4 计数器及其应用 一、实验目的 1、学习用集成触发器构成计数器的方法 2、掌握中规模集成计数器的使用及功能测试方法 二、实验原理 计数器是一个用以实现计数功能的时序部件,它不仅可用来计脉冲数,还常用作数字系统的定时、分频和执行数字运算以及其它特定的逻辑功能。 计数器种类很多。按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。根据计数制的不同,分为二进制计数器,十进制计数器和任意进制计数器。根据计数的增减趋势,又分为加法、减法和可逆计数器。还有可预置数和可编程序功能计数器等等。目前,无论是TTL还是CMOS集成电路,都有品种较齐全的中规模集成计数器。使用者只要借助于器件手册提供的功能表和工作波形图以及引出端的排列,就能正确地运用这些器件。 1、中规模十进制计数器 CC40192是同步十进制可逆计数器,具有双时钟输入,并具有清除和置数等功能,其引脚排列及逻辑符号如图5-9-1所示。 图5-9-1 CC40192引脚排列及逻辑符号 图中LD—置数端 CP U—加计数端 CP D—减计数端 CO—非同步进位输出端BO—非同步借位输出端 D0、D1、D2、D3—计数器输入端 Q0、Q1、Q2、Q3—数据输出端 CR—清除端

CC40192的功能如表5-9-1,说明如下: 表5-9-1 输 入 输 出 CR LD CP U CP D D 3 D 2 D 1 D 0 Q 3 Q 2 Q 1 Q 0 1 × × × × × × × 0 0 0 0 0 0 × × d c b a d c b a 0 1 ↑ 1 × × × × 加 计 数 0 1 1 ↑ × × × × 减 计 数 当清除端CR 为高电平“1”时,计数器直接清零;CR 置低电平则执行其它功能。 当CR 为低电平,置数端LD 也为低电平时,数据直接从置数端D 0、D 1、D 2、D 3 置入计数器。 当CR 为低电平,LD 为高电平时,执行计数功能。执行加计数时,减计数端CP D 接高电平,计数脉冲由CP U 输入;在计数脉冲上升沿进行 8421 码十进制加法计数。执行减计数时,加计数端CP U 接高电平,计数脉冲由减计数端CP D 输入,表5-9-2为8421码十进制加、减计数器的状态转换表。 表5-9-2 加法计数 输入脉冲数 0 1 2 3 4 5 6 7 8 9 输出 Q 3 0 0 0 0 0 0 0 0 1 1 Q 2 1 1 1 1 Q 1 0 0 1 1 0 0 1 1 0 0 Q 0 1 0 1 1 1 1 减计数 2、计数器的级联使用 一个十进制计数器只能表示0~9十个数,为了扩大计数器范围,常用多个十进制计数器级联使用。 同步计数器往往设有进位(或借位)输出端,故可选用其进位(或借位)输出信号驱动下一级计数器。 图5-9-2是由CC40192利用进位输出CO 控制高一位的CP U 端构成的加数级联图。

相关文档
相关文档 最新文档