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

74138的实验报告数字系统设计综合实验报告数字系统设计综合实验报告实验名称:1、加法器设计2、编码器设计3、译码器设计4、数据选择器设计5、计数器设计6、累加器设计7、交通灯控制器设计班级:姓名:学号:指导老师:实验1 加法器设计1) 实验目的(1) 复习加法器的分类及工作原理。
(2) 掌握用图形法设计半加器的方法。
(3) 掌握用元件例化法设计全加器的方法。
(4) 掌握用元件例化法设计多位加法器的方法。
(5) 掌握用Verilog HDL语言设计多位加法器的方法。
(6) 学习运用波形仿真验证程序的正确性。
(7) 学习定时分析工具的使用方法。
2) 实验原理加法器是能够实现二进制加法运算的电路,是构成计算机中算术运算电路的基本单元。
目前,在数字计算机中,无论加、减、乘、除法运算,都是化为若干步加法运算来完成的。
加法器可分为1位加法器和多位加法器两大类。
1位加法器有可分为半加器和全加器两种,多位加法器可分为串行进位加法器和超前进位加法器两种。
(1)半加器如果不考虑来自低位的进位而将两个1位二进制数相加,称半加。
实现半加运算的电路则称为半加器。
若设A和B是两个1位的加数,S是两者相加的和,C是向高位的进位。
则由二进制加法运算规则可以得到。
(2)全加器在将两个1位二进制数相加时,除了最低位以外,每一位都应该考虑来自低位的进位,即将两个对应位的加数和来自低位的进位三个数相加,这种运算称全加。
实现全加运算的电路则称为全加器。
若设A、B、CI分别是两个1位的加数、来自低位的进位,S是相加的和,C是向高位的进位。
则由二进制加法运算规则可以得到:3)(1)(2)(3) 实验内容及步骤用图形法设计半加器,仿真设计结果。
用原件例化的方法设计全加器,仿真设计结果用原件例化的方法设计一个4为二进制加法器,仿真设计结果,进行定时分析。
(4) 用Verilog HDL语言设计一个4为二进制加法器,仿真设计结果,进行定时分析。
实验五计数器的设计实验报告

实验五计数器的设计——实验报告邱兆丰 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.设计一个仿74LS1944.用J-K触发器和门电路设计一个特殊的12进制计数器,其十进制的状态转换图为:5.考虑增加一个控制变量D,当D=0时,计数器按自定义内容运行,当D=1时,反方向运行五、实验设计及数据与处理实验一16进制异步计数器设计原理:除最低级外,每一级触发器用上一级触发器的输出作时钟输入,JK都接HIGH,使得低一级的触发器从1变0时高一级触发器恰好接收下降沿信号实现输出翻转。
实验二16进制同步计数器设计原理:除最低级外,每一级的JK输入都为所有低级的输出的“与”运算结果实验三仿74LS194设计原理:前两个开关作选择端输入,下面四个开关模仿预置数输入,再下面两个开关模仿左移、右移的输入,最后一个开关模仿清零输入。
试验四LED数码管显示数字试验五运动计时器的设计试验要求

下载流程
建立引脚约束文件,告诉软件实物中的引脚定义
下载流程
网络,是自己定义的 约束信息,在实验手册
引脚不可变
的每个实验部分有说明
下载流程
接上电源,插入下载线, 首次接入的话,需要等待 一会,保证电脑上设备管 理器下已经完成了驱动连 接。计算机自动安装驱动
编译没有错误之后,直接双击 【Configure Target Device】
输入
源文件目录
编译命令窗口
程序包, 类似C语言中 的include
待添加的程序主体
新建工程 输入
程序主体说明
添加程序包
端口说明
需要的信号,变量申 明 添加程序进 程
新建工程 输入
添加两条库调用语句
端口声明语句 内部信号量声明语句
模块进程,可多个
新建工程 综合
编写好程序之后,【保存】,双击左侧 栏下的【Synthesize-XST】,进行语法检 查,生成RTL原理图
下载流程
双击操作
单击右键选择
找到xx.bit文件,*有时候
窗口出现的不是刚才生成 生成Bit文件的路径,需 要切换过去找到
下载流程
这是选择了bit文件之后 会出现的几个窗口
下载流程
右键单击选择【program】 即完成了下载
下载流程
*常出现下载失败的原因: 1.芯片选型不对 2.连接驱动没有建立成功(电源上电)
实验题目及要求
实验四 LED数码管显示数字
实验五 运动计时器的设计
实验要求:
在四个七段LED数码管上
实验要求:
(1)在四个七段LED数码管上显示分钟和 秒,最长的计时时间为59:59。
显示自己学号的最后四位“xxxx”
五进制计数器实验中注意事项

五进制计数器实验中注意事项
1.需小心处理进位:五进制计数器在进位时需要特别注意,因为
其进位是在每5个数位之间进行的,因此进位操作需要特别小心,以
确保计数器不会出错或跳过某个数字。
2.需仔细标注输入和输出:在搭建五进制计数器时,需要仔细标
注输入和输出管脚的位置,以确保插入电路板时正确连接,避免错误。
3.需使用适当的电路元器件:五进制计数器需要大量使用器件,
如555定时器、CD4017计数器和74LS138译码器等。
一定要选择正确
的电路元器件,并按照其设计标准使用,以确保能够正确工作。
4.需注意电路板的布局:五进制计数器的电路板需要精心设计,
确保电路元件的布局合理,电路的连接清晰,以及电源和地线的正确
连接等。
5.需根据实际需求进行调整:五进制计数器的设计需根据实际需
求进行调整,如选择计数范围、计数方式以及计数间隔等,以确保计
数器符合实际应用。
实验五 加法计数器的设计

实验五、加法计数器的设计一、实验目的1、掌握计数器的设计与使用;2、掌握时序电路的设计、仿真和硬件测试;3、进一步熟悉VHDL设计技术;二、实验器材PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干三、实验要求1、带有使能端,有异步清零,同步置数的模为10进制加法计数器2、在功能允许的情况下,可自由发挥;四、参考程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT (CLK,CLRN,ENA,LDN : IN STD_LOGIC;D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC );END CNT 10;ARCHITECTURE behav OF CNT10 ISSIGNAL CQI : STD_LOGIC_VECTOR(3 DOWNTO 0):=“0000”;BEGINPROCESS(CLK, CLRN, ENA,LDN)BEGINIF CLRN = ‘0' THEN CQI<= (OTHERS =>'0') ;ELSIF CLK'EVENT AND CLK='1' THENIF LDN=‘0’ THEN CQ I<=D; ELSEIF ENA = '1' THENIF CQI < 9 THEN CQI <= CQI + 1;ELSE CQI <= (OTHERS =>'0');END IF;END IF;END IF;END IF;Q <= CQI; --将计数值向端口输出END PROCESS;COUT<=CQI(0) AND CQI(3);PROCESS( A ) –-译码电路BEGINCASE A ISWHEN 0 => SG <= "0111111"; WHEN 1 => SG <= "0000110";WHEN 2 => SG <= "1011011"; WHEN 3 => SG <= "1001111";WHEN 4 => SG <= "1100110"; WHEN 5 => SG <= "1101101";WHEN 6 => SG <= "1111101"; WHEN 7 => SG <= "0000111";WHEN 8 => SG <= "1111111"; WHEN 9 => SG <= "1101111";WHEN 10 => SG <= "1110111"; WHEN 11 => SG <= "1111100";WHEN 12 => SG <= "0111001"; WHEN 13 => SG <= "1011110";WHEN 14 => SG <= "1111001"; WHEN 15 => SG <= "1110001";WHEN OTHERS => NULL ;END CASE ;END PROCESS P3;END behav;七、实验报告1、写出实验源程序,画出仿真波形;2、总结实验步骤和实验结果;3、心得体会;4、完成实验思考题。
实验五 含异步清零和同步使能4位加法计数器的VHDL设计

实验五含异步清零和同步使能4位加法计数器的VHDL设计一、实验目的1掌握计数器的VHDL设计方法;2掌握异步复位和同步复位和使能的概念;3掌握寄存器性能的分析方法(即分析芯片所能达到的最高时钟频率)。
二、实验内容1异步复位4位加法计数器的设计;2同步复位4位加法计数器的设计。
3异步清0和同步时钟使能的4位加法计数器三、实验原理复位:给计数器一个初值叫复位,如果所给初值为0,则称复位为清零。
异步复位:复位跟时钟无关,只要复位信号的复位电平出现,计数器立即复位,如图5-1所示;同步复位:复位跟时钟有关,当复位信号的复位电平出现时,计数器并不立即复位,而是要等到时钟沿到来时才复位,如图5-2所示。
异步复位4位加法计数器的VHDL设计代码见教材P122-P123,仿真波形如图5-3所示。
同步复位4位加法计数器的VHDL部分代码如下,仿真波形如图5-4所示。
.图5-1异步复位图5-2同步复位图5-3异步复位计数器仿真波形图5-4同步复位计数器仿真波形四、实验步骤(一)异步复位4位加法计数器的设计1建立一个设计工程,工程名为CNT4B;2打开文本编辑器,建立一个VHDL设计文件,其VHDL代码见教材P164中的例6-20,文件名存为CNT4B.VHD。
注意文件的扩展名要选为.vhd,而且要求工程名、文件名和设计实体名必须相同。
3选器件:ACEX1K,EP1K30TC144-3(旧)或Cyclone,EP3C40Q240C8目标芯片。
4编译;5建立波形文件,然后保存,其文件名必须与工程名一致;【波形设置:①设置仿真时间为10us:②设置输入信号的波形:时钟周期设置为200ns,其他输入信号的波形设置参看图6-3。
】6仿真,观察输出波形是否正确;7时序分析:分析芯片所能达到的最高时钟频率。
【打开时序分析器,然后执行菜单命令:analysis/register performance/start,可以看到最高时钟频率为100.00MHZ】(二)同步复位4位加法计数器的设计8建立一个设计工程,工程名为CNT4B_SYS;9打开文本编辑器,建立一个VHDL设计文件,其VHDL代码参看异步计数器代码和实验原理中的参考代码,文件名存为CNT4B_SYS.VHD。
实验五可编程定时器计数器8254实验

实验五 可编程定时器计数器 8254/8253 实验图 1 可编程定时器/计数器 8253/8254 原理图1 实验目的 了解计数器的硬件连接方法及时序关系,掌握 8254/8253 的各种模式的编程及其原理,用示波器观察 各信号之间的时序关系。
2 实验设备(1) PC 机一台;(2) QTH-8086B 16 位微机教学实验仪一套。
3 实验说明8253/8254 是一种可编程的定时器/计数器芯片,它具有 3 个独立的 16 位计数器通道,每个计数器都 可以按照二进制或二-十进制计数,每个计数器都有 6 种工作方式,计数频率可高达 24MHz ,芯片所 有的输入输出都与 TTL 兼容。
计数器都有 6 种工作方式:方式 0—计数过程结束时中断;方式 1—可编程的单拍脉冲;方式2— 频率发生器;方式 3—方波发生器;方式 4—软件触发;方式 5—硬件触发。
6 种工作方式主要有 5 点 不同:一是启动计数器的触发方式和时刻不同;二是计数过程中门控信号 GATE 对计数操作的影响不 同;三是 OUT 输出的波形不同;四是在计数过程中重新写入计数初值对计数过程的影响不同;五是计 数过程结束,减法计数器是否恢复计数初值并自动重复计数过程的不同。
4 实验内容将 32Hz 的晶振频率作为 8254 的时钟输入,利用定时器 8254 产生 1Hz 的方波,发光二极管不 停闪烁,用示波器可看到输出的方波。
5 实验原理图6 实验步骤(1)实验连线:信号源模块短路32.0Hz,CLK 连到8254 模块的CLK0。
8254 模块选通线CS 连到MCU 主模块的地址A14。
8254 模块GATE0 接电源+5*;OUT0 接发光二极管L1。
该模块的WR、RD 分别连到MCU 主模块的WR、RD。
该模块该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到MCU 主模块的数据(AD0~AD7)、地址线(A0~A7)。
数字系统设计实验报告计数器、累加器

实验五计数器设计一、实验目的:1)复习计数器的结构组成及工作原理。
2)掌握图形法设计计数器的方法。
3)掌握Verilog HDL语言设计计数器的方法。
4)进一步熟悉设计流程、熟悉数字系统实验开发箱的使用。
二、实验器材:数字系统设计试验箱、导线、计算机、USB接口线三、实验内容:1)用图形法设计一个十进制计数器, 仿真设计结果。
下载, 进行在线测试。
用Verilog HDL语言设计一个十进制的计数器(要求加法计数;时钟上升沿触发;异步清零, 低电平有效;同步置数, 高电平有效), 仿真设计结果。
下载, 进行在线测试。
四、实验截图1)原理图:2)仿真波形:3)文本程序:5)波形仿真:五、实验结果分析、体会:这次实验, , 由于试验箱有抖动, 故在原理图上加了去抖电路, 但是在波形仿真的时候无需考虑抖动, 所以我在波形仿真的时候将去抖电路消除了, 方便观察实验六累加器设计一、实验目的:1)学习了解累加器工作原理;2)了解多层次结构的设计思路;3)学会综合应用原理图和文本相结合的设计方法。
实验器材:数字系统设计试验箱、导线、计算机、USB接口线三、实验内容:1)在文本输入方式下设计分别设计出8位的全加器和8位的寄存器, 并分别存为add8_8.v和reg8.v;3) 2)在原理图输入方式下通过调用两个模块设计出累加器电路, 并存为add8.bdf, 进行功能仿真;下载, 进行在线测试。
四、实验截图1)8位累加器原理图:2)波形仿真:3)文本输入8位加法器语言及符号:生成元器件:4)文本输入8位寄存器:生成图元:五、实验总结:通过本次实验, 学习了解累加器工作原理, 了解多层次结构的设计思路, 学会综合应用原理图和文本相结合的设计方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五计数器的设计
姓名: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输
入,即2
Q 为第三个JK触发器的J、K输入,故只有当Q1、Q2均为
1Q
0时第三个触发器在经过时钟下降沿时才会使输出Q3的状态发生改变,即Q3的周期为Q1的四倍,时钟周期的八倍。
以此推类,按照此接法,第四个触发器的输出Q4的周期为Q1的八倍,即时钟周期的十六倍。
因而Q4、Q3、Q2、Q1组成了一个十六进制计数器。
此种方法因为避免了传输延迟的积累,故比异步计数器更适用于时钟频率高的数字电路中。
3.实验箱上的JK触发器即74LS73因而要实现十二进制同步计数器可以先按照第二个实验内容连接一个十六进制同步计
数器,然后将Q4、Q3Q1接入74LS20与非门的输入端,将其输出X接入第四、第三、第二个JK触发器的清零端R。
如此每当计数器数到13即Q4Q3Q2Q1为1101时,74LS20的输出X会变为0并使第四、第三、第二个JK触发器的输出Q置零,Q4Q3Q2Q1便会立即变为计数器数到1的状态0001,并开始新一轮循环,这样便能使计数器在数完12过后开始数13的一瞬间回到数1的状态,十六进制同步计数器便转变为一个十二进制同步计数器。
②逻辑图及仿真:
实验内容一逻辑图:
实验内容一仿真:
实验内容二逻辑图:
实验内容二仿真:
实验内容三逻辑图:
实验内容三仿真:
从仿真结果中可以看出,仿真大部分都符合实验内容的要求,但仿真中触发器的输出都是在时钟的上升沿经过时发生改变,不符合74LS73是由时钟下降沿触发的性质。
检查电路后没有发现问题,猜测可能是proteus软件自身的问题。
三、实验数据及总结
①实验数据:
1.实验内容一:
实际连线图:
波形图:
实际连线图:
波形图:
实际连线图:
注:波形图中,D0、D1、D2、D3、D4均对应于CP、Q1、Q2、Q3、Q4。
②总结:
可以看出,波形图与预期结果十分符合,达成了实验内容的要求。
另外,实验内容一的波形图可以看到每个JK触发器的输出与上一个JK 触发器的输出相比都有一些延迟,这是异步计数器传输延迟积累的结果,而实验内容二同步计数器的波形图则可以看到只有时钟输入到
JK触发器时会产生一个传输延迟,传输延迟不会积累,验证了同步计数器更适于在高速数字电路中工作。
实验问题:一开始在做实验内容三即实现十二进制计数器时,我打算推导出十二进制计数器的次态表,并根据JK触发器的转换表来画出各J、K输入的卡诺图,并以此得到每个触发器的J和K输入的表达式,并实现组合逻辑。
不过这种方法实际操作起来比较麻烦,在实验箱上实现也比较繁琐。
解决方法:后来老师提醒我们可以用十六进制同步计数器,并在计数到一定值时让一部分触发器清零来实现十二进制同步计数器。
根据这个思路设计出来的逻辑电路更简单,也更便于在实验箱上实现。
心得体会:有时候在需要设计的电路比较复杂时,可以考虑整合、改造已有的用于某一功能的设计来完成目标,以此来降低完成逻辑功能的难度、简化逻辑电路。
第11页共11 页。