当前位置:文档之家› 华中科技大学基于FPGA的十进制加减可逆计数器

华中科技大学基于FPGA的十进制加减可逆计数器

华中科技大学基于FPGA的十进制加减可逆计数器
华中科技大学基于FPGA的十进制加减可逆计数器

实验名称:十进制加减可逆计数器

实验组别:⑨

实验人:XJY 班级:光信1102 学号:U201114XXX

目标要求:

利用实验板实现十进制加减可逆计数器设计,具体要求为:

拨码开关键SW1为自动可逆加减功能键,当SW1为HIGH时,计数器实现自动可逆模十加减计数功能,即4个七段数码管上几乎同步显示0—1—2—3—4—…9—8—7—…0—1…的模十自动可逆加减计数结果;当SW1为LOW时,计数器按拨码开关键SW0的选择分别执行加减计数功能。即当SW0为HIGH时,计数器实现模十加计数功能,即4个七段数码管上几乎同步显示0—1—2—3—4—…9——0—1…的模十加计数结果;当SW0为LOW时,8—7…的模十减计数结果。

实现原理:

源码清单:

`timescale 1ns / 1ps

////////////////////////////////////////////////////////////////////////////////// // Company:

// Engineer:

//

// Create Date: 14:24:13 12/09/2013

// Design Name:

// Module Name: xjy

// Project Name:

// Target Devices:

// Tool versions:

// Description:

//

// Dependencies:

//

// Revision:

// Revision 0.01 - File Created

// Additional Comments:

//

////////////////////////////////////////////////////////////////////////////////// module xjy(

input clk,

input SW1,

input SW0,

input clear,

input reset,

output reg[3:0] sl_reg,

output reg [6:0]segdat_reg

);

reg [26:0] count;

reg [3:0] q;

reg x;

always@(posedge clk)

begin

if(clear) begin

sl_reg<=0;

count<=0;

end

else

count<=count+1;

end

always@(posedge count[24]) //程序运行时用//always@(posedge count[4]) 程序模拟时使用begin

if (reset) begin q<=0; x<=0; end

else begin

case(SW1)

1'd1:begin

case(x)

1'd0: begin

if(q==4'd8) x<=1;

q<=q+1;

end

1'd1: begin

if(q==4'd1) x<=0;

q<=q-1;

end

endcase

end

1'd0:begin

case(SW0)

1'd0:begin

if(q==4'd0) q<=4'd9;

else q<=q-1;

end

1'd1:begin

if(q==4'd9) q<=4'd0;

else q<=q+1;

end

endcase

end

endcase

end

end

always@(q) // 数码管显示处理

begin

case(q)

4'h0: segdat_reg = 7'b0000001; //0

4'h1: segdat_reg = 7'b1001111; //1

4'h2: segdat_reg = 7'b0010010; //2

4'h3: segdat_reg = 7'b0000110; //3

4'h4: segdat_reg = 7'b1001100; //4

4'h5: segdat_reg = 7'b0100100; //5

4'h6: segdat_reg = 7'b0100000; //6

4'h7: segdat_reg = 7'b0001111; //7

4'h8: segdat_reg = 7'b0000000; //8

4'h9: segdat_reg = 7'b0000100; //9

default: segdat_reg = 7'b0111000; //F

endcase

end

endmodule

测试文件清单:

`timescale 1ns / 1ps

//////////////////////////////////////////////////////////////////////////////// // Company:

// Engineer:

//

// Create Date: 17:46:25 12/09/2013

// Design Name: XJY

// Module Name: D:/ISE/XJY/xjy/xjy_test.v

// Project Name: xjy

// Target Device:

// Tool versions:

// Description:

//

// Verilog Test Fixture created by ISE for module: XJY //

// Dependencies:

//

// Revision:

// Revision 0.01 - File Created

// Additional Comments:

//

//////////////////////////////////////////////////////////////////////////////// module xjy_test;

// Inputs

reg clk;

reg SW1;

reg clear;

reg reset;

// Outputs

wire [3:0] sl_reg;

wire [6:0] segdat_reg;

// Instantiate the Unit Under Test (UUT)

XJY uut (

.clk(clk),

.SW1(SW1),

.clear(clear),

.reset(reset),

.sl_reg(sl_reg),

.segdat_reg(segdat_reg)

);

always begin

#10; clk=~clk;end

initial begin

// Initialize Inputs

clk = 0;

SW1 = 0;

SW0=1;

clear =1;

reset = 1;

// Wait 60 ns for global cleat to finish

#60;

clear =0;

// Wait 60 ns for global reset to finish

#60;

reset = 0;

// Add stimulus here

end

Endmodule

管脚定义文件:

#Created by Constraints Editor (xc3s100e-cp132-4) - 2013/12/10 NET "clk" TNM_NET = clk;

TIMESPEC TS_clk = PERIOD "clk" 20 ns HIGH 50%;

NET "segdat_reg[6]" LOC = L14;

NET "segdat_reg[5]" LOC = H12;

NET "segdat_reg[4]" LOC = N14;

NET "segdat_reg[3]" LOC = N11;

NET "segdat_reg[2]" LOC = P12;

NET "segdat_reg[1]" LOC = L13;

NET "segdat_reg[0]" LOC = M12;

NET "sl_reg[0]" LOC = F12;

NET "sl_reg[1]" LOC = J12;

NET "sl_reg[2]" LOC = M13;

NET "sl_reg[3]" LOC = K14;

NET "clear" LOC = K3;

NET "clk" LOC = B8;

NET "SW1" LOC = L3;

NET "clk" SLEW=FAST;

NET "reset" LOC=B4;

NET "SW0" LOC=P11;

NET "SW1" LOC=L3;

系统使用说明:

clear 为程序开始按钮,定义为开发板的拨码开关SW3

reset 为程序清零按钮,拨至低电位后显示清零,定义为拨码开关SW2

SW1 为程序功能控制按钮,定义为拨码开关SW1

SW0 为程序功能控制按钮,定义为拨码开关SW0

系统功能与性能测试结果:

实验开始之前将SW3,SW2,SW1,SW0,均调至HIGH

实验开始调SW3(clear),SW2(reset)为LOW

当SW1为HIGH时,计数器实现自动可逆模十加减计数功能,即4个七段数码管上几乎同步显示0—1—2—3—4—…9—8—7—…0—1…的模十自动可逆加减计数结果;

当SW1为LOW时,计数器按拨码开关键SW0的选择分别执行加减计数功能。即当SW0为HIGH时,计数器实现模十加计数功能,即4个七段数码管上几乎同步显示0—1—2—3—4—…9——0—1…的模十加计数结果;当SW0为LOW时,8—7…的模十减计数结果。(若实验过程中想实现清零功能,可以将SW2(reset)调至HIGH)

实验心得体会:

同步二进制加法计数器

同步二进制加法计数器 F0302011 5030209303 刘冉 计数器是用来累计时钟脉冲(CP脉冲)个数的时序逻辑部件。它是数字系统中用途最广泛的基本部件之一,几乎在各种数字系统中都有计数器。它不仅可以计数,还可以对CP 脉冲分频,以及构成时间分配器或时序发生器,对数字系统进行定时、程序控制操作。此外,还能用它执行数字运算。 1、计数器的特点: 在数字电路中,把记忆输入CP脉冲个数的操作叫做计数,能实现计数状态的电子电路称为计数器。特点为(1)该电路一般为Moore型电路,输入端只有CP信号。 (2)从电路组成看,其主要组成单元是时钟触发器。 2、计数器分类 1) 按CP脉冲输入方式,计数器分为同步计数器和异步计数器两种。 同步计数器:计数脉冲引到所有触发器的时钟脉冲输入端,使应翻转的触发器在外接的CP脉冲作用下同时翻转。 异步计数器:计数脉冲并不引到所有触发器的时钟脉冲输入端,有的触发器的时钟脉冲输入端是其它触发器的输出,因此,触发器不是同时动作。 2) 按计数增减趋势,计数器分为加法计数器、减法计数器和可逆计数器三种。 加法计数器:计数器在CP脉冲作用下进行累加计数(每来一个CP脉冲,计数器加1)。 3) 按数制分为二进制计数器和非二进制计数器两类。 二进制计数器:按二进制规律计数。最常用的有四位二进制计数器,计数范围从0000到1111。 异步加法的缺点是运算速度慢,但是其电路比较简单,因此对运算速度要求不高的设备中,仍不失为一种可取的全加器。同步加法优点是速度快,虽然只比异步加法快千分之一甚至几千分之一秒,但对于计数器来讲,却是十分重要的。所以在这个高科技现代社会中,同步二进制计数器应用十分广泛。 下图为三位二进制加法计数器的电路图。 图1 三位二进制计数器 图示电路为对时钟信号计数的三位二进制加法计数器或称为八进制加法计数器。 该电路的经典分析过程: 1.根据电路写出输出方程、驱动方程和状态方程 2. 求出状态图 3.检查电路能否自启动 4.文字叙述逻辑功能 解:

计数器的设计实验报告

计数器的设计实验报告 篇一:计数器实验报告 实验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利用进位

可编程可逆计数器

自动化专业电子课程设计报告题目:可编程可逆计数器设计 姓名王振 学号0808020231 指导教师:廖晓纬 评阅成绩等次: 电气信息工程系 2010-2011 第二学期

摘要:本课程设计是基于Altera公司开发的QuartusⅡ软件进行的设计,利用QuartusⅡ设计软件的元件库所提供的集成器件来实现任意进制计数器的设计,此软件是学习EDA(电子设计自动化)技术的重要软件。其中硬件使用高性价比的FPGA/CPLD(元件可编程逻辑闸阵列/复杂可编程逻辑器件)器件,软件利用VHDL(超高速集成电路硬件描述语言)语言,计数器电路的功能取决于硬件描述语言对设计对象建模的描述,经过精心调试使可编程器件的芯片利用效率达到最优,较之以往的数字电路设计和单片机功能设计具有灵活简便的优势,特别是在对复杂计数器设计,可大大减少调试时间,优化系统设计。 关键词:EDA;任意进制计数器;QuartusⅡ;VHDL

目录 前言 (3) 一、设计的任务与要求 (4) 1.1 设计任务 (4) 1.2 设计要求 (4) 二、总体设计和系统框图 (4) 2.1计数器方案 (4) 2.2 数码管驱动显示方案 (4) 2.3 N进制设定设计方案 (5) 2.4电路系统总体设计 (5) 三、硬件设计 (6) 3.1计数器部分设计硬件连接方式 (6) 3.2 驱动译码部分设计 (7) 3.3进制输入部分设计 (7) 3.4整体电路部分 (7) 四、软件设计(系统仿真) (9) 4.1程序工作流程图 (9) 4.2 仿真步骤及结果 (10) 五、设计结果分析 (12) 5.1 系统能实现的功能 (12) 5.2 系统所选用软件及芯片型号 (12) 六、设计总结和体会 (12) 6.1设计总结 (12) 6.2设计的收获及体会 (12) 6.3 设计的完善 (13) 致谢 (13) 参考文献 (13) 程序代码 (14)

8位二进制加法计算器

一:本实验设计的是一个8为二进制加法计算器,其功能就是对两个八位的二进制数执行加法运算,并可以异步清零。 二:电路可划分为三部分:半加器、全加器和复位电路。 1、半加器: 真值表 a b so co 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 电路图 2全加器:由半加器和或门组成 电路图 3复位电路: 复位电路通过en控制,当en为‘1’时,执行加法运算,输出正确的值,当en为‘0’时,输输出及结果为全0. 三:实验波形仿真和VHDL 1、仿真图:

2、VHDL代码 1)半加器h_adder: library ieee; use ieee.std_logic_1164.all; entity h_adder is port (a,b :in std_logic; co,so :out std_logic); end entity h_adder; architecture fh1 of h_adder is begin so <= not(a xor (not b));co <= a and b ; end architecture fh1; 2)或门or2a: library ieee; use ieee.std_logic_1164.all; entity or2a is port (a,b :in std_logic; c: out std_logic); end entity or2a; architecture one of or2a is begin c <= a or b ; end architecture one; 3)全加器f_adder: library ieee;

异步计数器实验报告

异步计数器实验报告 篇一:设计一个异步四位二进制计数器实验报告捞金版/广西大学实验报告纸 ___________________________________________________ __________________ 姓名:曾宪金 0802100513电气工程学院电气自动化类专业 085班 XX年12月18日 实验内容___________________________________指导老师宋春宁【实验名称】 设计一个异步四位二进制可逆计数器 【实验目的】 学习用集成触发器构成计数器的方法。 【设计任务】 用D触发器(74LS74)设计一个异步四位二进制可逆计数器。要求使用的集成电路芯片种类不超过3种。(提供器件:74LS74、CC4030) 【实验用仪器、仪表】 数字电路实验箱、万用表、74LS74、CC4030等。 【设计过程】 用四个D触发器串接起来可以构成四位二进制加法计数器(每个D触发器连接为T'触发器)。计数器的每级按逢二

进一的计数规律,由低位向高位进位,可以对输入的一串脉冲进行计数,并以16为一个计数值环。其累计的脉冲数等于2n(n为计数的位数)。减法计数器的计数原理与加法计数器的计数原理相反。 1. 根据题意列出状态表,如表1。 令A=0时,计数器为加法计数器;A=1时,计数器为减法计数器。 2. 根据状态表画卡诺图确定各触发器的时钟信号方程: CP 3 CP n 由卡诺图化简可得各触发器的时钟信号方程为: CP3?AQn2?AQn2?A?Qn2CPn2?AQ1?AQn1?A?Qn1 CP?AQn0?AQn0?A?Qn10CP0为输入脉冲信号。 各触发器的输出信号为: Q3、Q2、Q1、Q0 各触发器的激励方程为: Qn?1n0?D0?Q0 Qn?11?D1?Qn1 Qn?12?D2?Qn2 Qn?13?Dn3?Q3; 各触发器的状态方程为: Q3n?1?D3CP3?Q3nCP3?Q3nCP3?Q3nCP3

verilog HDL十进制加减法计数器报告

十进制加减法计数器 1.实验要求 (1)在Modelsim环境中编写十进制加减法计数器程序; (2)编译无误后编写配套的测试程序; (3)仿真后添加信号,观察输出结果。 2.设计程序如下 module decade_counter #(parameter SIZE=4) (input clock,load_n,clear_n,updown, input [SIZE-1:0]load_data, output reg [SIZE-1:0]q ); always @(negedge load_n,negedge clear_n,posedge clock) if (!load_n) q<=load_data; else if (!clear_n) q<=0; else //clock??? if(updown) q<=(q+1)%10; else begin if(q==0) q<=9; else q<=q-1; end endmodule 3.测试程序如下 `timescale 1ns/1ns module test_decade_counte; reg clock,load_n,clear_n,updown; reg [3:0]load_data; wire [3:0]q; decade_counter T1(clock,load_n,clear_n,updown,load_data,q); initial begin clock=0;clear_n=0;

#30 clear_n=1;load_n=0;load_data=7; #30 load_n=1;updown=0; #300 updown=1; #300 updown=0; #300 updown=1; #300 $stop; end always #10 clock=~clock; always @(q) $display("At time%t,q=%d",$time,q); endmodule 4.波形如下 5.测试结果如下 # At time 0,q= 0 # At time 30,q= 7 # At time 70,q= 6 # At time 90,q= 5 # At time 110,q= 4 # At time 130,q= 3 # At time 150,q= 2 # At time 170,q= 1 # At time 190,q= 0 # At time 210,q= 9 # At time 230,q= 8 # At time 250,q= 7 # At time 270,q= 6 # At time 290,q= 5 # At time 310,q= 4 # At time 330,q= 3

同步可逆计数器和序列检测器

课程实验报告课程名称:数字电路与逻辑设计 专业班级:计实1001班 学号:U201014488 姓名:王宸敏 指导教师: 周次:第十周 同组人员:熊凯 报告日期:2012年5月18日 计算机科学与技术学院

【容A】 一、实验名称 利用所给组件,设计一个同步模4可逆计数器,其框图如图5.9所示。图中,X为控制变量,当X=0是进行加一计数,X=1时进行减一计数;Y2、Y1为计数状态;Z为进位或借位输出信号。 二、实验目的 掌握同步时序电路实验的设计方法,验证所设计的同步时序逻辑电路,加深对“同步”和“时序”这两个名词的理解。 三、实验所用仪器和组件 1.双D触发器组件2片,型号为74LS74 2.负沿双JK触发器2片,型号为74LS73 3.二输入四“与非”门2片,型号为74LS00 4.二输入四“或非”门1片,型号为74LS02 5.三输入三“与非”门1片,型号为74LS10 6.二输入四“异或”门1片,型号为74LS86 7.六反相器组件2片,型号为74LS04 四、实验设计方案及逻辑图 1.首先画出状态图如下:

X Y2 Y1 12+n y 11+n y D2 D1 Z 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 0 0 1 1 0 1 1 1 0 1 0 0 1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 3.由真值表得到D1、D2及Z 的卡诺图如下: D2: X y2y1 00 01 11 10 0 0 1 0 1 1 1 1 121212122y y x y xy y y x y y x D +++= 21y y x ⊕⊕= D1: X y2y1 00 01 11 10 0 1 0 0 1 1 1 1 11y D = Z : X y2y1 00 01 11 10 0 0 0 1 0 1 1 1212y y x y y x Z +=

实验九-可逆计数器的功能测试及应用电路

实验九可逆计数器的功能测试及应用电路 实验目的: (1)掌握可逆计数器74LS191、74LS191、74LS192、74LS193的逻辑功能及使用方法。 (2)熟悉可逆计数器实现任意进制的数码倒计时电路的工作原理。 实验仪器与器件: 实验箱一个;双踪示波器一台;稳压电源一台;函数发生器一台。 74LS191、74LS191、74LS191或74HC48、74LS00和74LS04。 实验内容: 1测试74LS190和74LS191的逻辑功能,并用数码管显示,验证是否与表2-9-4一致,分别画出各单元的电路图,写出各自的状态 实验原理:单时钟74LS191二进制同步加/减计数器的功能表如下: 表2-9-4 单时钟74LS191二进制同步加/减计数器的功能表 单时钟74LS191二进制同步加/减计数器是十进制的,其他功能与74LS191一样。它的有效状态为0000~1001. 实验电路: 如图所示是减计数时当计数器的状态变为0时的电路状态:RCO=0,MAX/=1; MIN

实验现象与结果: 该结果是当CTEN =0,D L =1,D U /=1时,A B C D Q Q Q Q 的 波形图; 该结果是当CTEN =0,D L =1,D U /=1时, RCO 与MIN MAX /的波形图

需要说明的是:当CTEN= D L=1时,电路保持原来的状态。 2测试74LS192和74LS193的逻辑功能,并用数码管显示,验证是否与表2-9-3及2-9-5一致。画出测试电路图。 实验原理: 双时钟74LS192同步十进制可逆计数器的功能表如下表所示,74LS192是十进制计数器。 表2-9-3双时钟74LS192同步十进制可逆计数器的功能表 输入输出工作 状态 U CP UP D CP DOW N CLR D L DCBA A B C D Q Q Q Q U TC D TC **H H ****0000 H H 异步 清零**L L 1001 1001 H H 异步 置数 H ↑L H ****1001→ 0001→ 0000H H H L 减法 计数 ↑H L H ****0000→ 1000→ 1001H L H H 加法 计数 双时钟74LS193二进制同步加/减法计数器的功能表如下表所示,74LS193是一个十六进制的计数器。

十进制4位加法计数器设计

洛阳理工学院 十 进 制 4 位 加 法 计 数 器 系别:电气工程与自动化系 姓名:李奇杰学号:B10041016

十进制4位加法计数器设计 设计要求: 设计一个十进制4位加法计数器设计 设计目的: 1.掌握EDA设计流程 2.熟练VHDL语法 3.理解层次化设计的内在含义和实现 设计原理 通过数电知识了解到十进制异步加法器的逻辑电路图如下 Q3 则可以通过对JK触发器以及与门的例化连接实现十进制异步加法器的设计 设计内容 JK JK触发器的VHDL文本描述实现: --JK触发器描述 library ieee; use ieee.std_logic_1164.all; entity jk_ff is

port( j,k,clk: in std_logic; q,qn:out std_logic ); end jk_ff; architecture one of jk_ff is signal q_s: std_logic; begin process(j,k,clk) begin if clk'event and clk='0' then if j='0' and k='0' then q_s <= q_s; elsif j='0' and k='1' then q_s <= '0'; elsif j='1' and k='0' then q_s <= '1'; elsif j='1' and k='1' then q_s <= not q_s; end if; end if; end process; q <= q_s; qn <= not q_s; end one; 元件门级电路: 与门VHDL文本描述实现: --与门描述library ieee; use ieee.std_logic_1164.all;

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

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

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

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

十进制可逆加减计数器

时序电路逻辑设计 实验人:周铮班级:中法1202班学号:U201215676 一实验目的 1.掌握用SSI实现简单组合逻辑电路的方法。 2.掌握简单数字电路的安装与测试技术。 3.熟悉使用Verilog HDL描述组合逻辑电路的方法,以及EDA仿真技术。 二实验器件 计算机,可编程实验板 三实验内容 十进制加减可逆计数器设计 功能要求: 拨码开关键SW1为自动可逆加减功能键,当SW1为HIGH时,计数器实现自动可逆模十加减计数功能,即4个七段数码管上几乎同步显示0—1—2—3—4—...9—8—7—...0—1...的模十自动可逆加减计数结果;当SW1为LOW时,计数器按拨码开关键SW0的选择分别执行加减计数功能。即当SW0为HIGH时,计数器实现模十加计数功能,即4个七段数码管上几乎同步显示0—1—2—3—4—...9——0—1...的模十加计数结果;当SW0为LOW时,计数器实现模十减计数功能,即4个七段数码管上几乎同步显示9—8—7—...—1—0— (9) —8—7…的模十减计数结果。 四实验设计 1.原理设计 脉冲发生电路采用555定时器组成的多谐振荡器振荡产生周期为1s的矩形脉冲,从而为计数器提供触发信号。其中,可以通过R1,R2,C来控制充放电的时间。 加/减计数控制电路主要由74LS138构成。74LS138芯片是常用的3-8线译码器,常用在单片机和数字电路的译码电路中,74LS138的引脚排列及 真值表如图

计数单元电路主要由十进制计数器74LS192构成。74LS192是同步十进制可逆计数器,它具有双时钟输入,并具有清除和置数等功能,其引脚排列图如图 功能表如图 2.模拟仿真 用Verilog HDL语言设计二通道数据选择器实验程序如下: ①实验代码 module a( input clk,

计数器及数码显示实验报告

北华航天工业学院 课程设计报告(论文) 课设名称: EDA技术与应用 设计课题:计数器及数码显示综合设计 专业班级: B12241 学生姓名:白冬雪田尉均 指导教师:齐建玲 设计时间: 2014年 12月 15日

北华航天工业学院电子工程系 EDA 课程设计任务书 姓名:白冬雪田 尉均 专业: 测控技术与 仪器 班级:B12241 指导教师:齐建玲职称:教授 课程设计题目:计数器及数码显示综合设计 已知技术参数和设计要求: ①总体设计要求:设计一个能在7段数码管上动态刷新显示十进制、十二进制、六十进制、四位二进制计数器计数结果的VHDL语言程序并在EDA实验开发系统上实现该功能。 ②技术要点:VHDL语言编辑程序、共阴7段数码管及FPGA可编程芯片的工作原理与连线。 所需仪器设备:实验箱,电脑 成果验收形式:实验报告,硬件实验结果 参考文献: 李国洪、胡辉、沈明山等编著《EDA技术与实验》—机械工业出版社出版。 时间安排 2014年12月14日-15日编辑VHDL语言程序 2014年12月16日硬件调试程序 2014年12月17日实验箱答辩验收 指导教师:齐建玲教研室主任:王晓 2014年 12月 17日

内容摘要 用VHDL语言在MAX+PLUS2环境下 设计一个带使能输入、进位输出及同步清零的十进制计数器。 设计一个带使能输入及同步清零的十二进制计数器。 设计一个带使能输入及同步清零的六十进制加法计数器。 设计一个四位二进制可逆计数器。 设计一个共阴7段数码管控制接口,在时钟信号的控制下,使六位数码管动态刷新显示上述计数器的计数结果。 最后在EDA实验开发系统实验操作。

计数器实验报告

实验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 端构成的加数级联图。

实验十进制加减法计数器

实验1 十进制加减法计数器 实验地点:电子楼218 实验时间:2012年10月19日指导老师:黄秋萍、陈虞苏 实验要求:设计十进制加减法计数器,保留测试程序、设计程序、仿真结果 1.设计程序: module count(EN,CLK,DOUT,F,RST); input EN,CLK,F,RST; output [3:0]DOUT; reg [3:0]DOUT; always@(posedge CLK) begin :abc if(EN) if(!RST) if(F) begin :a DOUT=DOUT+1; if(DOUT==10) DOUT=0; end //END A else begin :b DOUT=DOUT-1; if(DOUT==15) DOUT=9; end else DOUT=0; else DOUT=DOUT; end endmodule 2.测试程序 `timescale 10ns/1ns module test_count; wire [3:0] DOUT; reg EN,F,RST,CLK; count M(EN,CLK,DOUT,F,RST); initial begin :ABC CLK=0; EN=0;

RST=1; F=1; #100 EN=1; #200 RST=0; #1500 F=0; #3000 $stop; end always #50 CLK=~CLK; initial $monitor("EN=%b,F=%b,RST=%b,DOUT%D",EN,F,RST,DOUT); endmodule 3.测试结果 # EN=0,F=1,RST=1,DOUT x # EN=1,F=1,RST=1,DOUT x # EN=1,F=1,RST=1,DOUT 0 # EN=1,F=1,RST=0,DOUT 0 # EN=1,F=1,RST=0,DOUT 1 # EN=1,F=1,RST=0,DOUT 2 # EN=1,F=1,RST=0,DOUT 3 # EN=1,F=1,RST=0,DOUT 4 # EN=1,F=1,RST=0,DOUT 5 # EN=1,F=1,RST=0,DOUT 6 # EN=1,F=1,RST=0,DOUT 7 # EN=1,F=1,RST=0,DOUT 8 # EN=1,F=1,RST=0,DOUT 9 # EN=1,F=1,RST=0,DOUT 0 # EN=1,F=1,RST=0,DOUT 1 # EN=1,F=1,RST=0,DOUT 2 # EN=1,F=1,RST=0,DOUT 3 # EN=1,F=1,RST=0,DOUT 4 # EN=1,F=1,RST=0,DOUT 5 # EN=1,F=0,RST=0,DOUT 5 # EN=1,F=0,RST=0,DOUT 4 # EN=1,F=0,RST=0,DOUT 3 # EN=1,F=0,RST=0,DOUT 2 # EN=1,F=0,RST=0,DOUT 1 # EN=1,F=0,RST=0,DOUT 0 # EN=1,F=0,RST=0,DOUT 9 # EN=1,F=0,RST=0,DOUT 8 # EN=1,F=0,RST=0,DOUT 7 # EN=1,F=0,RST=0,DOUT 6 # EN=1,F=0,RST=0,DOUT 5

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

暨南大学本科实验报告专用纸 课程名称 EDA实验成绩评定 实验项目名称计数器电路设计指导教师郭江陵 实验项目编号 03 实验项目类型验证实验地点 B305 学院电气信息学院系专业物联网工程 组号: A6 一、实验前准备 本实验例子使用独立扩展下载板EP1K10_30_50_100QC208(芯片为EP1K100QC208)。EDAPRO/240H实验仪主板的VCCINT跳线器右跳设定为; EDAPRO/240H实验仪主板的VCCIO 跳线器组中“”应短接,其余VCCIO均断开;独立扩展下载板“EP1K10_30_50_100QC208”的VCCINT跳线器组设定为;独立扩展下载板“EP1K10_30_50_100QC208”的VCCIO跳线器组设定为。请参考前面第二章中关于“电源模块”的说明。 二、实验目的 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)

二进制计数器

课题:二进制计数器 课时:讲三课时练一课时 教学要求: (1)掌握计数器的功能;(除计数外,还可用于分频、定时、测量等) (2)掌握二进制计数器的功能、组成及常见的分类。 教学过程: 一、 异步二进制计数器 1、 电路组成 从图中可知:CP 脉冲直接控制F 0的翻转, Q 0控制F 1的翻转,Q 1控制F 2的翻转。 能够记忆输入脉冲个数的电路称为计数器。 计数器 二进制计数器 十进制计数器 N 进制计数器 加法计数器 同步计数器 异步计数器 减法计数器 可逆计数器 加法计数器 减法计数器 可逆计数器 二进制计数器 十进制计数器 N 进制计数器

2、工作过程 (1)计数器工作前应先清零。使CR=0,则Q2Q1Q0=000。 (2)计数:CR=1。当第一个CP脉冲的下降沿到来时,F0翻转――Q0由0变到1,F1不翻转,F2不翻转。当第二个CP脉冲的下降沿到来 时,F0翻转――Q0由1变到0,此时F1翻转――Q1由0变到1,F2 不翻转。当第三个CP脉冲的下降沿来时,F0翻转――Q0由0变到 1,此时F1不翻转――Q1仍为1,F2还是不翻转。当第四个CP脉 冲的下降沿来时,F0翻转――Q0由1变到0,此时F1翻转――Q1 由1变为0,F2也翻转――Q2由0变为1。依次循环。 波形图:

二、异步二进制减法计数器 电路图:《教材》P234的图给学生分析,下图请学生自己分析。 功能表波形图 F0每输入一个时钟脉冲翻转一次,F1在Q0由1变0时翻转,F2在Q1由1变0时翻转。 三、二进制同步计数器 电路图:《教材》P235的图给学生分析,下图请学生自己分析。 电路分析:F0每输入一个时钟脉冲翻转一次;F1在Q0=1时,在下一个CP触发沿到来时翻转;F2在Q0=Q1=1时,在下一个CP触发沿到来时翻转。

数电实验报告 可逆计数器

实验报告 实验九可逆计数器的功能测试及应用电路 2.9.1 实验目的 1.掌握可逆计数器74LS190、74LS191、74LS192、74LS193的逻辑功能及使用方法。 2.熟悉可逆计数器实现任意进制的数码倒计时电路的工作原理。 2.9.2 实验仪器与器件 实验箱一个;双踪示波器一台;稳压电源一台;函数发生器一台。74LS190、74LS192、74LS247或74HC48、74LS00和74LS04. 2.9.3 实验原理 1. 4位十进制同步加减法计数器 对于74LS190,D、C、B、A为并行数据输入端;Q D Q C Q B Q A为并行数据输出端;U/D为加减控制信号输入端,当加减控制信号U/D=0时做加法计数;而当加减控制信号U/D=1时做减法计数;CLK为单时钟脉冲输入端;MAX/MIN为最大/最小输出端,也称为进位/错位信号输出端;L D为预置数控制端,低电平有效;CTEN为使能端,进行状态控制,低电平有效;RCO为脉冲时钟。 2. 4位二进制同步加减法计数器 对于74LS192,D、C、B、A为并行数据输入端;Q3Q2Q1Q0为并行数据输出端;CP U为加法计数脉冲输入端;CP D为减法计数脉冲输入端;CLR为异步置零端,高电平有效;TC D为借位信号输出端;TC U为进位信号输出端;L D为异步预置数控制端,低电平有效。 2.9.4 实验内容 1.测试74LS190和74LS191的逻辑功能,并用数码管显示,验证是否与表2-9-4一致。分别画出各单元的电路图,写出各自的状态转换图。

加法计数:0000—0001—0010—0011—0100—0101—0110—0111—1000—1001—0000 减法计数:1001—1000—0111—0110—0101—0100—0011—0010—0001—0000 加法计数:0000—0001—0010—0011—0100—0101—0110—0111—1000—1001—1010—1011—1100—1101—1110—1111—0000 减法计数:1111—1110—1101—1100—1011—1010—1001—1000—0111—0110—0101—0100—0011—0010—0001—0000 2.测试74LS192和74LS193的逻辑功能,并用数码管显示,验证是否与表2-9-3一致。画出电路图。 进行加法计数:

实验九 可逆计数器的功能测试及应用电路

实验九 可逆计数器的功能测试及应用电路 实验目的: (1)掌握可逆计数器74LS191、74LS191、74LS192、74LS193的逻辑功能及使用方法。 (2)熟悉可逆计数器实现任意进制的数码倒计时电路的工作原理。 实验仪器与器件: 实验箱一个;双踪示波器一台;稳压电源一台;函数发生器一台。 74LS191、74LS191、74LS191或74HC48、74LS00和74LS04。 实验内容: 1测试74LS190和74LS191的逻辑功能,并用数码管显示,验证是否与表2-9-4一致,分别画出各单元的电路图,写出各自的状态 实验原理:单时钟74LS191二进制同步加/减计数器的功能表如下: 表2-9-4 单时钟74LS191二进制同步加/减计数器的功能表 单时钟74LS191二进制同步加/减计数器是十进制的,其他功能与74LS191一样。它的有效状态为0000~1001. 实验电路: 如图所示是减计数时当计数器的状态变为0时的电路状态:RCO =0, MIN MAX /=1; CLK D U / CTEN D L DCBA A B C D Q Q Q Q RCO MIN MAX / 工作作状态 ↑ ↓ * H H **** 0000 H L H H 保持 * * * L DCBA DCBA H L 异步置数 ↑ H L H **** 1111 1111→ 0001→0000 H H L(瞬态) H(瞬态) L H 减计数 ↑ L L H **** 0000→1110→ 1111 H H →L (瞬态) L H 加计数

实验现象与结果: 该结果是当CTEN =0,D L =1,D U /=1时,A B C D Q Q Q Q 的 波形图; 该结果是当CTEN =0,D L =1,D U /=1时, RCO 与MIN MAX /的波形图

四位十进同步可逆计数器

四位十进同步可逆计数器. CLK接口接入由脉冲模块产生的脉冲,PL由主持人模块发出信号经过一个非门接入,控制计时开始,D/U’接高电平构成减法器,D0和D3接高电平D1和D2接低电平,E接地,输出Q0~Q3与4511的ABCD 相接4511的输出端Qa~Qg和LED数码管对应的接口相连接,LE接口由锁存模块提供经过一个或门接入控制锁存。 倒计时功能主要是利用74LS190计数芯片来实现,同时利用反馈和置数实现进制的转换,以适合分和秒的不同需要。由于该系统特殊的需要,到各计时器到零时,通过停止控制电路使计数器停止计数并用LED发出警报 74LS190 十进制减计时器

CD4511 是一片CMOS BCD—锁存/7 段译码/驱动器,用于驱动共阴极LED (数码管)显示器的BCD 码—七段码译码器。 编辑本段特点 具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS 电路能提供较大的拉电流。可直接驱动共阴LED数码管。 A0~A3:二进制数据输入端 /BI:输出消隐控制端 LE:数据锁定控制端 /LT:灯测试端 Ya~Yg:数据输出端 VDD:电源正 VSS:电源负 编辑本段推荐工作条件 电源电压范围:3V~18V 输入电压范围:0V~VDD 工作温度范围:M类-55℃~125℃E类-40℃~85℃ 其中a b c d 为BCD 码输入,a为最低位。LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“8”,各笔段都被点亮,以检查显示器是否有故障。BI为消隐功能端,低电平时使所有笔段均消隐,正常显示时,B1端应加高电平。另外CD4511有拒绝伪码的特点,当输入数据越过十进制数9(1001)时,

10进制加法计数器课程设计

西北师范大学知行学院 数字电子实践论文 课题:74ls161组成的十进制加法计数器 (置数法) 班级:14电本 学号:14040101114 姓名:于能海

指导老师:崔用明 目录 第1章前言 (1) 1.1 摘要 (1) 1.2 设计目的 (2) 1.3 设计内容及要求 (2) 第2章设计方案 (3) ....................................................................................................................... 错误!未定义书签。 2.1主要芯片功能介绍 (3) 2.2.1 四位二进制计数器74161介绍 (3) ............................................................................................................... 错误!未定义书签。 2.2 工作原理 (4) 第3章硬件设计 (4) 3.1 单元电路设计 (4) 3.2 总硬件电路图 (5) 第4章仿真与试验 (6) 4.1 仿真结果 (6) 4.2 调试中遇到的问题 (7) 第5章结论和体会 (8)

第1章前言 1.1 摘要在数字电路技术的课程中,计数器的功能是记忆脉冲的个数,它是数字系统中应用最广泛的基本时序逻辑构件。计数器在微型计算机系统中的主要作用就是为CPU和I/O设备提供实时时钟,以实现定时中断、定时检测、定时扫描、定时显示等定时控制,或者对外部事件进行计数。一般的微机系统和微机应用系统中均配置了定时器/计数器电路,它既可当作计数器作用,又可当作定时器使用,其基本的工作原理就是"减1"计数。计数器:CLK输入脉冲是一个非周期事件计数脉冲,当计算单元为零时,OUT输出一个脉冲信号,以示计数完毕。 本十进制加法计数器是基于74161芯片而设计的, 该十进制加法计数器设计理念是用于工厂流水线上产品计数,自动计数,方便简单。 关键词:74ls161计数器 Introduction In the course of digital circuit technology, the counter memory function is the number of pulses, it is a digital system, the most widely used basic sequential logic components. The main role of the counter in the micro-computer system is to provide real-time clock for the CPU and I / O devices to achieve the timer interrupt, timing detection, scheduled scanning, the timing display timing control, or to count external events. General computer systems and computer application systems are equipped with a timer / counter circuit, it can as a counter action, but also as a timer, the basic working principle is "minus 1" count. Counter: CLK input pulse is a non-periodic event count pulses to zero when calculating unit, OUT outputs a pulse signal, to show the count is completed. The decimal addition counter is designed based on the 74161 chip, the low potential sensor senses when to rely on external signals, sensors in an object within the sensing range, otherwise it is a high potential. Within the sensing range of the sensor when an object is moved out of date, sensor potential from high to low and then high, appears on the edge. Counter is automatically incremented and displayed on a digital control. The decimal addition counters have two seven-segment LED. It can count from 0 to 99 objects, and easy to expand. The design concept of decimal addition counter is used to count on a factory assembly line products, automatic counting, convenient and simple. Keywords:74ls161counter

相关主题
文本预览
相关文档 最新文档