可编程可逆计数器
用verilog HDL语言设计可逆计数器。
西安邮电学院
实验报告书
系部名称:电子工程学院学生姓名:xxx
专业名称:xxxx
班级:xxxx
实验时间:2011 年11月17日
1、掌握可逆计数器的工作原理。
2、学习用verilog HDL语言设计可逆计数器。
二、实验设备:
计算机一台,TD-EDA实验箱一台
三、实验内容:
用verilog HDL语言设计可逆计数器并进行仿真、引脚分配及下载到电路开发板进行功能验证。
四、实验程序:
module keni8(clk,enable,sum,col);
input clk,enable;
output[7:0] sum;
reg[7:0] sum;
output col;
reg col;
always @(posedge clk )
if(enable==1)
sum=sum+1;
else if(enable==0)
sum=sum-1;
else if(sum >= 8)
begin
sum=0;
col=1;
end
endmodule
五、运行结果:
1、在编程过程中,需小心谨慎,特别是注意标点符号的标注。
2、实验结果有一定的延时。
3、实验前需对TD-EDA实验箱进行了解,这样可以使实验更有效率。
欣灵 HHJ5-H 可逆计数继电器
24V 50/60Hz允许电压波动 范围为(85%~110%)Ue; DC24V。 2、计数范围:1~999999(×1、×10 ×100倍率);
3、计数信号输入方式:
1)传感器信号:光电开关、接近开关、
霍尔开关;
2)旋转编码器信号;
4、计数速度:
1)低频计数:30次/秒,最小信号脉宽≥15ms;
2)高频计数:3000次/秒,最小信号脉宽≥0.5ms,
■订货说明
订货须写明产品型号、工作电压、输出模式、数量;
例:H H J 5-H
AC220V N制 式 300只
■使用说明
1、“R”键既是复位键又是确认键,在每次参数设置完后必须按 此 键 确认,方可按新设 置的参数工作。
2、计数信号输入线与复位控制线应尽量短,应避免与其它如电源线和动力线同管或绞合 走线,必要时请使用屏蔽导线且复位端切勿输入电压,以免损坏产品。
3、产品重复启动间隔时间应≥2s。 4、传感器请选用本公司直流(DC6V~36V)GK-1和GK-2型接近开关或米轮和旋转编码器。
(三)可逆计数器.
时序逻辑电路的分析方法
时序逻辑电路分类(仿真演示) 新授:计数器 同步二进制:加法、减法、可逆 异步二进制:加法、减法、可逆 集成二进制计数器 注意学习每一种电路的连接规律 集成电路的学习:学会读功能表
5.2 计数器 (Counter)
5.2.1 计数器的特点和分类
一、计数器的功能及应用 1. 功能: 对时钟脉冲 CP 计数。 2. 应用: 分频、定时、产生节拍脉冲和脉冲 序列、进行数字运算等。
CR CPU CPD
BO
74193
CO LD
D1 Q1 Q0 CPD CPU Q2 Q3 地 CR LD 1 0 0 0 1 0 1 0 1 CPU CPD D3 D2 D1D0 d3 d 2 d1 d0 1 1 1 1
D0 D1 D2 D3 Q3n+1 Q2n+1 Q1n+1 Q0n+1
d2 d 1 d0
d3
d2
d1
d0
加 法 计 数 减 法 计 数 保 持
2) 74193(双时钟)
VCC D0 CR BO CO LD D2 D3
16 15 14 13 12 11 10 9
Q0 Q1 Q2 Q3
74193
1 2 3 4 5 6 7 8
CP0= CP CP1= Q0 CP2= Q1 B = Q2n Q1n Q0n
计数规律
加法计数
T 触发器的触发沿
上升沿 CPi = Qi-1 下降沿 CPi = Qi-1
减法计数
CPi = Qi-1
CPi = Qi-1
(三) 集成二进制异步计数器 74197、74LS197 VCC CR Q3 D3 D1 Q1 CP0
CP1H系列PLC的可逆计数器CNTR
PLC知识1.可逆计数器CNTR的计数功能如图2-41所示,当复位端0.03为ON时CNTR0046复位,当前值变为0000,此时既不进行加计数,也不进行减计数。
当0. 03变为OFF时计数器开始计数,其计数过程如下:1)若0.02 OFF、由0.01输入计数脉冲时为加计数器。
0. 01每输入一个计数脉冲,CNTR 0046的当前值加1。
当PV=#0200时,再输入一个计数脉冲时,PV值变为0000(有进位),计数完成标志C0046变为ON。
若再来一个计数脉冲时,PV =1,计数完成标志C0046变为OFF,且开始下一个循环的计数。
图2-41 CNTR应用示例a)梯形图b)语句表2)若0. 01 OFF、由0.02输入计数脉冲时为减计数器。
0.02每输入一个计数脉冲,CNTR 0046的当前值减1。
当PV= 0000时,再输入一个计数脉冲时,PV变为0200(有借位),同时计数完成标志C0046变为ON。
若再来一个计数脉冲时,PV= 0199,且计数完成标志C0046变为OFF,并开始下一个循环的计数。
当0.01和0.02同时输入计数脉冲时,计数器不计数。
2.可逆计数器的循环定时功能图2-42中,SCP端以P_Off(常OFF)作为输入条件,所以CNTR0000作为加计数器使用。
ACP端以P_1s与W0.00的串联作为输入条件,由P_1s产生的秒脉冲作为计数脉冲输入,此时计数器可作为定时器使用。
R端以0. 01与P_First_Cycle的并联作为复位条件,使CNTR 0000在PLC上电后的第一个扫描周期被复位。
图中若0.01为OFF,H0中的数据是#0500,请读者白行分析该图的功能。
图2-42 可逆计数器(CNTR)的循环定时功能a)梯形图b)语句表3.循环计数器容量的扩展在图2-43中,CNTR0000的计数完成标志常开触点连到CNT0001的计数脉冲输入端,就可以构成大容量的循环计数器。
单设定双数显四位可逆计数器
HB48J/HB72J单设定双数显四位可逆计数器一.产品介绍1.国际通用48×48 /72×72mm标准机箱。
2.采用触摸按键,显示范围内任意设定计数值。
3.设定值、当前计数值掉电不丢失。
二.技术参数1.供电电源: AC220V 50Hz(非标供电电压可定制)2.整机功耗: 小于3W3.触点容量: AC220V 3A; DC24V 5A(阻性负载)4.触点寿命: 105次5.最大计数速度: 1万次/秒6.测量范围: 0~999999997.显示方式: HB48J8为0.3英寸LED数码显示,HB72J8为0.56英寸LED数码显示8.安装方式: 面板卡入式9.外形尺寸: 48×48×85 /72×72×112 mm10.开孔尺寸: 45+0.5×45+0.5 /67+0.5×67+0.5mm11.整机重量: 120g/200g12.使用环境: 0~+40℃≤85%RH三.使用说明1.显示器:正常工作时,八位数码管显示当前计数值。
2.位选键设定时,用于选择某位数码,选中的数码呈闪烁状态。
2.增加键设定时,按过位选键后,按此键,可改变闪烁位的数值,此数值单向增加。
在正常工作时,直接按此键,显示器显示计数器的计数设定值、倍率值。
3.复位键( ):在正常工作时,按下复位键,计数器恢复初始状态,抬起复位键,计数器开始计数。
5.暂停键( ):此键无用。
6.计数值设定:在显示范围内利用增加键和位选键即可任意设定计数器的计数值。
先按位选键,上边第一位数码管呈闪烁状态,按增加键,设定此数值;再按位选键,上边第二位数码管闪烁,按增加键设定此数值;依次类推,设定上边第三位、第四位数值,下边第一位、第二位、第三位、第四位数值,即设定了计数器的计数值,这时数码管仍在闪烁,过8秒钟,闪烁停止,以上所设定的计数值便自动存入机内。
注意:在整个设定过程中,应连续进行,每两步骤之间不应超过8秒钟。
plc计数器的基本用法
plc计数器的基本用法PLC(可编程逻辑控制器)的计数器是一种常用的功能模块,用于在控制系统中进行计数操作。
以下是PLC计数器的基本用法,通常包括两种类型:正向计数器和反向计数器。
###正向计数器的基本用法:1.选择计数器:在PLC编程软件中选择正向计数器功能模块。
2.设置计数器初值:设置计数器的初始值,即开始计数时的起始点。
3.输入触发条件:配置触发条件,即何时启动计数。
这可以是一个外部输入信号、时间触发等。
4.计数逻辑:确定每次触发时计数器应该增加的值。
5.监视计数状态:可以监视计数器的当前值,通常在PLC编程软件的监视或调试界面中查看。
###反向计数器的基本用法:1.选择计数器:在PLC编程软件中选择反向计数器功能模块。
2.设置计数器初值:设置计数器的初始值,即开始计数时的起始点。
3.输入触发条件:配置触发条件,即何时启动计数。
这可以是一个外部输入信号、时间触发等。
4.计数逻辑:确定每次触发时计数器应该减少的值。
5.监视计数状态:可以监视计数器的当前值,通常在PLC编程软件的监视或调试界面中查看。
###示例代码(伪代码):####正向计数器:```plcCounter_Start://触发条件IF(StartSignal==TRUE)THENCounter:=Counter+1;//计数逻辑END_IF;```####反向计数器:```plcCounter_Start://触发条件IF(StartSignal==TRUE)THENCounter:=Counter-1;//计数逻辑END_IF;```请注意,具体的PLC编程语言和软件可能有所不同,以上仅为伪代码示例,实际情况需要根据使用的PLC品牌和型号进行具体的编程。
可逆计数器
可逆计数器可逆计数器是一种双向计数器,可以进行递增计数,也可以进行递减计数,根据计数控制信号的不同,在时钟脉冲的作用下,计数器可以进行加1或减1的操作。
下面描述的是一个位宽为4的可逆计数器,即该计数器在不同控制信号下可以分别实现加法计数和减法计数的功能。
rst为同步复位信号,当rst = 1时,dout = 4’b0000;当load = 1时,输入信号din通过dout 输出;若add_en = 1时,计数器在每个时钟上升沿实现加1的操作,即实现加法计数功能;若add_en = 0时,计数器在每个时钟上升沿实现减1的操作,即实现减法计数功能。
其verilog HDL 设计代码如下:1.module counter_i(clk, rst, load, add_en, din, dout);2. input clk, rst, load, add_en;3. input [3:0] din;4. output [3:0] dout;5. reg [3:0] dout;6.7. always @(posedge clk)8. begin9.if(rst == 1'b1)10. dout <= 4'b0000;11.else if(load == 1'b1)12. dout <= din;13.else if(add_en == 1'b1)14. begin15.if(dout == 4'b1111) //如果dout为15时,则输出清零;16. dout <= 4'b0000;17.else18. dout <= dout + 1'b1;19. end20.else21. begin22.if(dout == 4'b0000) //递减计数器计数到dout = 4'b0000时,则置位为4'b111123. dout <= 4'b1111;24.else25. dout <= dout - 1'b1;26. end27. end28.endmodule测试文件为:1.`timescale 1ns/1ps2.module counter_i_tb;3. reg clk, load, rst, add_en;4. reg [3:0] din;5. wire [3:0] dout;6.7. always8. begin9. #10 clk = ~clk;10. end11.12. initial13. begin14. clk = 1'b0;15. rst = 1'b0; load = 1'b0; add_en = 1'b0; din = 4'b0000;16. #10 rst = 1'b1; din = 4'b1001;17. #20 rst = 1'b0; load = 1'b1; din = 4'b1001;18. #100 rst = 1'b1; load = 1'b0;19. #10 rst = 1'b0; add_en = 1'b1;20. #40 add_en = 1'b0;21. end22. counter_i U1(.clk(clk), .rst(rst), .load(load), .add_en(add_en), .din(din), .dout(dout));23.endmodule在Modelsim中仿真得到波形图如下:。
可逆计数器的工作原理
可逆计数器是一种电子计数器,它可以对输入的脉冲信号进行计数,并且可以正向和反向计数。
下面将详细介绍可逆计数器的工作原理。
一、可逆计数器的组成可逆计数器主要由以下几个部分组成:输入接口:用于接收外部的脉冲信号。
计数器:用于对输入的脉冲信号进行计数。
控制电路:用于控制计数器的正向和反向计数。
输出接口:用于输出计数值。
二、可逆计数器的工作原理输入接口输入接口的作用是接收外部的脉冲信号。
当外部的脉冲信号输入到输入接口时,计数器开始进行计数。
计数器计数器是可逆计数器的核心部件,它会对输入的脉冲信号进行计数。
在每个脉冲信号的上升沿或下降沿时,计数器会进行一次计数。
当计数器的计数值达到预设值时,输出接口会输出相应的信号。
控制电路控制电路的作用是控制计数器的正向和反向计数。
当控制电路接收到正向计数的指令时,计数器会从0开始进行正向计数;当控制电路接收到反向计数的指令时,计数器会从预设值开始进行反向计数。
输出接口输出接口的作用是输出计数值。
当计数器的计数值达到预设值时,输出接口会输出相应的信号。
三、可逆计数器的应用可逆计数器在许多领域都有广泛的应用,例如:工业自动化:在工业自动化领域中,可逆计数器可以用于对生产过程中的各种参数进行监测和记录,例如温度、压力、流量等。
通过可逆计数器,可以实现对这些参数的精确测量和控制。
电子测量:在电子测量领域中,可逆计数器可以用于对各种电信号进行测量和记录,例如电压、电流、频率等。
通过可逆计数器,可以实现对这些电信号的精确测量和分析。
医疗设备:在医疗设备领域中,可逆计数器可以用于对各种生理参数进行监测和记录,例如心率、血压、呼吸频率等。
通过可逆计数器,可以实现对这些生理参数的精确监测和分析。
交通运输:在交通运输领域中,可逆计数器可以用于对车辆的速度、里程等进行监测和记录。
通过可逆计数器,可以实现对车辆的运行状态和运行轨迹的精确监测和分析。
智能家居:在智能家居领域中,可逆计数器可以用于对各种家电的运行状态进行监测和记录。
同步模4可逆计数器原理
同步模4可逆计数器原理
同步模4可逆计数器是一种使用模4同步计数器作为基础的可逆计数器。
它可以实现从0到3的循环计数,并具有可逆的计数功能。
以下是它的工作原理:
1. 同步模4计数器:首先,使用两个JK触发器构建一个模4同步计数器。
这个计数器由两个触发器Q0和Q1构成,它们的输出通过两个AND门连接回两个触发器的使能端。
2. 可逆计数功能:为了实现可逆计数功能,我们需要添加一些逻辑门来实现计数器的反向计数。
一种常见的方法是,在模4计数器的输出经过一个反相器,然后再输入到两个AND门,用于控制JK触发器的输入。
这样,当模4计数器的输出为3时,JK触发器的状态将被反转,从而实现了从3到0的可逆计数。
3. 控制电路:为了控制计数器的工作,我们需要添加一些附加逻辑门和输入信号。
例如,可以使用一个控制电路和一个使能信号来控制计数器的启动和停止。
控制电路可以根据需要连接到逻辑门和触发器的使能线。
总之,同步模4可逆计数器通过使用模4同步计数器和逻辑门来实现从0到3的循环计数,并实现了可逆的计数功能。
根据设计需求,可能需要添加额外的控制电路来完成特定的功能。
可逆计数器的工作原理
可逆计数器的工作原理可逆计数器是一种能够在输入信号的作用下,按照一定的规则完成从零到最大值再到零的循环计数的数字电路。
其主要特点是能够根据输入信号的反向操作,逆向计数并在达到最小值后再逆转方向重新计数。
本文将详细介绍可逆计数器的工作原理、结构和应用。
一、可逆计数器的工作原理可逆计数器通常由触发器、门电路和控制电路等组成。
其工作原理可分为两个方面:顺向计数和逆向计数。
1. 顺向计数当外部输入触发信号时,可逆计数器开始进行顺向计数,数字从0开始逐渐增加,直到达到最大值。
这一过程的实现依赖于触发器和门电路的组合,触发器用于存储并输出计数值,门电路控制计数值的递增。
当达到最大值时,顺向计数状态将结束。
2. 逆向计数当再次输入触发信号时,可逆计数器将根据逆向计数控制电路的指令,开始逆向计数。
数字逐渐减小,直到回到起始值。
逆向计数的实现同样依赖于触发器和门电路的组合,但是其逻辑条件与顺向计数相反。
当逆向计数达到最小值时,逆向计数状态将结束。
可逆计数器在顺向计数和逆向计数两个过程中,都能够根据外部输入信号的不同操作进行相应的计数操作,从而实现完整的循环计数功能。
二、可逆计数器的结构1. 触发器可逆计数器中的触发器通常采用D触发器或JK触发器,用于存储当前的计数数值,并在接收到控制信号时更新输出。
2. 门电路门电路主要用于控制计数值的递增和递减,其类型包括与门、或门、非门等,根据计数器的具体需求和设计选择合适的门电路。
3. 计数控制电路计数控制电路用于接收外部输入信号,并根据信号的不同操作控制触发器和门电路的工作状态。
以上三个组成部分共同构成了可逆计数器的结构,实现了可逆计数器的顺向计数和逆向计数功能。
三、可逆计数器的应用1. 工业计数器可逆计数器常用于工业控制系统中,例如用于轻工业生产线上产品的计数、故障检测、工件的计数等。
2. 计时器可逆计数器可以用于实现通用计时器,例如厨房计时器、运动计时器等,同时具备正向和逆向计数的功能。
可逆计数器的工作原理
可逆计数器的工作原理可逆计数器是一种能够在正向和反向两个方向进行计数的计数器。
它能够接收外部信号,根据信号的变化在计数器中进行相应的计数,同时也可以在需要时将计数器的计数值进行逆向操作。
可逆计数器在数字电子技术领域有着广泛的应用,比如在工控系统、通信系统、计算机系统等领域均有着重要的作用。
本文将对可逆计数器的工作原理进行详细的介绍。
可逆计数器一般由计数器部分和控制部分组成。
计数器部分通常由多个触发器构成,每个触发器都能存储一个二进制位。
而控制部分则负责对触发器进行合适的控制,使得计数器按照一定的规则进行计数和逆向计数。
可逆计数器能够在两个方向进行计数的关键在于其计数规则的灵活性。
在正向计数时,控制部分会将信号传递给每个触发器,使得触发器按照二进制码的规律进行递增;而在反向计数时,控制部分会相应地改变信号的传递路径,使得触发器按照递减的规律进行计数。
可逆计数器的工作原理可以从以下几个方面来介绍:可逆计数器需要有适当的控制逻辑,来实现正向和反向计数的切换。
一般来说,计数器会有一个控制信号,用于选择计数的方向。
当该控制信号为高电平时,计数器进行正向计数;当该控制信号为低电平时,计数器进行反向计数。
可逆计数器中的触发器需要能够实现逆向计数的功能。
通常,这需要借助一些逻辑电路来实现触发器状态的切换。
在正向计数时,通过适当的逻辑电路保持触发器状态的递增;而在反向计数时,逻辑电路则使得触发器状态按照递减的规律进行改变。
可逆计数器需要考虑到计数器的复位和加载功能。
复位功能可以让计数器在需要时重新初始化为初始状态,而加载功能则可以实现在特定的计数值进行载入。
这些功能的实现需要考虑到控制信号的生成和触发器状态的控制。
可逆计数器的工作原理是基于适当的控制逻辑和逻辑电路的设计,能够实现正向和反向两个方向的计数,并且具有复位和加载等功能。
通过合理的组织和控制触发器的状态,实现了可逆计数器的灵活计数。
这种能够在正向和反向两个方向进行计数的特性,使得可逆计数器在数字电子技术领域有着广泛的应用前景。
CD4510 为可预置BCD 可逆计数器
CD4510 为可预置BCD 可逆计数器,该器件主要由四位具有同步时钟的D 型触发器(具有选通结构,提供T 型触发器功能)构成。
具有可预置数、加减计数器和多片级联使用等功能。
CD4510 具有复位CR,置数控制LD、并行数据D0~D3、加减控制U/ D 、时钟CP 和进位CI 等输入。
CR 为高电平时,计数器清零。
当LD 为高电平时,D0~D3 上的数据置入计数器中,CI 控制计数器的计数操作,CI =0 时,允许计数。
此时,若U/ D为高电平,在CP 时钟上升沿计数器加1 计数;反之,在CP 时钟上升沿减1 计数。
除了四个Q 输出外,还有一个进位/错位输出CO/ BO 。
CD4510 提供了16 引线多层陶瓷双列直插(D)、熔封陶瓷双列直插(J)、塑料双列直插(P)和陶瓷片状载体(C)4 种封装形式。
CD4511是BCD锁存/7段译码器/驱动器,常用的显示译码器件,MAX7219和他功能差不多。
<cd4511引脚图资料>CD4511引脚功能:BI:4脚是消隐输入控制端,当BI=0 时,不管其它输入端状态是怎么样的,七段数码管都会处于消隐也就是不显示的状态。
LE:锁定控制端,当LE=0时,允许译码输出。
LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。
LT:3脚是测试信号的输入端,当BI=1,LT=0 时,译码输出全为1,不管输入DCBA 状态如何,七段均发亮全部显示。
它主要用来检测数7段码管是否有物理损坏。
A1、A2、A3、A4、为8421BCD码输入端。
a、b、c、d、e、f、g:为译码输出端,输出为高电平1有效。
CD4511的里面有上拉电阻,可直接或者接一个电阻与七段数码管接口2仪器设计图1是具有函数信号发生器和计数器的仪器电路结构框图,它是由ICL8038函数发生器、方波输出接口、三角波输出接口、正弦波输出接口、1秒闸门单稳态开关电路、1 Hz振荡器、十进制计数器、微分器、单稳态控制音频电路、音频振荡器、电源电路组成。
可编程可逆计数器电路的逻辑设计与功能验证
.
Q 7~Q 0共 用 这八 位数 据 线 。
结构 如 图 2 这 种 结 构 是 比较 经典 的计 数 器计 算 单 ,
元, 也是各 种 其它 计数 器 的基 础 , 电路 中应用相 当 在
广泛 , 多其 它 的计数 器 单元 , 是在这种 基本结 构 许 都
上发 展而 来 的 , 原 理 上 也 与 这 种最 基 本 的结 构 相 在 同, 掌握 了这 种结 构 的原 理 , 于设 计其 它结构 的计 对 数器 有很 大 的帮 助 。
成: 计数 器计算 电路 逻辑 、 位 输 出 电路 逻 辑 、 位 进 八
在八位 锁存 器 电路逻辑 中 :E为锁存 器使 能控 L
制端 , 电平 有 效 , L 高 当 E=1时 , 锁存 器可 以从 Q 7一
Q 0正常输 出从 计 数 器计 算 电路 D 7~D 0输 出 的八
锁存器 电路逻 辑 。在计数 器 计算 电路 逻辑 中 : P为 C
单 元 。计 算 出来 的 二 位 数 结 果 再通 过 与 A , 其 0 A1 中的一 种组 合进 行 逻 辑 与 之 后 再 输 出 , 就形 成 了可
编程的 D 7~D O输 出 , 0, I其 中 的一 种 组 合 可 以 A A 分别 实 现二 位 , 四位 , 位 , 位 四种 不 同种 类 的计 六 八
信号 。
准数 据输 出为 八 位 , D 即 7一D 。 另外 计 数 器 计 算 O
电路 还输 出 中间控制 数据 , 于控制进 位输 出电路 。 用 其 电路逻辑 功 能框 图 , 图 1 示 。 如 所
2 电路原 理及 功 能 介 绍
可 编程 可逆计 数器 电路 主要 由三 大部 分逻辑 组
可逆计数器的工作原理 -回复
可逆计数器的工作原理-回复可逆计数器是一种特殊类型的计数器,它可以在给定的范围内进行递增或递减计数。
在这篇文章中,我们将深入探讨可逆计数器的工作原理,并逐步解释其背后的原理。
首先,让我们了解一下计数器的基本概念。
计数器是一种电子设备或电路,用于计算和存储计数的值。
它通常用于各种应用,如时钟、定时器、计数器等。
计数器可以存储和显示计算的结果,并根据特定的触发条件触发相应的操作。
与传统的计数器相比,可逆计数器具有一些独特的特点。
传统计数器只能递增计数,无法递减计数。
而可逆计数器则具备递增和递减计数的功能,这使得它在一些特殊应用中非常有用。
比如在某些倒计时应用中,当计数到达设定的阈值时,可以通过递减计数器来实现倒计时功能。
那么,可逆计数器是如何实现递增和递减计数的呢?它的工作原理可以被分解为以下几个关键步骤。
1. 计数器初始化:在使用可逆计数器之前,首先需要对其进行初始化。
这意味着将计数器的初始值设置为一个指定的起始值,通常为零。
在实际应用中,可以通过设置初始值的输入信号来完成这一过程。
2. 计数方向控制:可逆计数器的工作原理的关键是通过一个输入信号来控制计数方向。
这个信号可以是一个控制开关或其他逻辑电路产生的信号。
当输入信号指定递增计数时,计数器将值逐步增加。
当指定递减计数时,计数器将值逐步减少。
3. 计数规模限制:可逆计数器的另一个重要特点是可定义的计数范围。
这意味着可以指定计数器可以递增或递减的最大值和最小值。
例如,如果我们将计数器的范围限制在0到99之间,那么计数器的值将在这个范围内递增或递减。
4. 计数操作:一旦计数器的计数方向和范围被设定好,计数器就会根据输入信号的触发来进行计数操作。
当递增计数信号触发时,计数器的值将逐步增加。
当递减计数信号触发时,计数器的值将逐步减少。
这个过程将持续进行,直到达到设定的计数范围限制。
5. 可逆性保证:可逆计数器的一个关键特征是其能够在递减和递增之间进行自由转换。
第三节-可编程计数器精选版
信息科学与工程学院 数字化测量技术省级精品课
数字化测量课件
授课内容
综 述 MC14522的工作原理 可编程分频器的电路设计
综 述
可编程计数器亦称可预置1/N计数器。 它具有两种功能: 第一、完成可编程减法运算; 第二、完成1/N计数或分频(相当于做除法)。
MC14522的工作原理
UDD:正电源输入引脚
USS: 电源参考地
R: 复位引脚
CP: 时钟脉冲输入端
/EN: 时钟允许端 0允许
PE: 预置允许端 1时置数
CF: 级联反馈端 1:除法运算 0:减法运算
Q4~Q1:BCD码输出端
分频系数N的表达式为: 式中,N1、N2、N3…Nn分别表示个、十、百位…n位计数器的分频系数。
多级循环周期可编程分频器
分频过程
(1)复位脉冲过后,计数器全零,个位OC=1,又使PE=1, 于是将N1、N2分别置入个位和十位计数器中。 (2)个位计数器开始做减法,每输入一个CP脉冲计数器就减1,从N1一直减到0。因N1=5,故需减5次。当个位计数器减成零时,由于十位OC=0,使个位的CF=0,因此个位OC端仍保持低电平。当第6个CP脉冲来到时,个位计数器从0直接变成9,Q4端产生正跳变,向十位计数器的CP端发出一个借位信号,从十位计数器借1,这里的1相当于个位的10;此时个位计数器已变成9,这可理解成个位刚借到的10在第6个CP脉冲来到时又被减去了1。因为N=65,所以个位计数器需连续减56次,才能使十位计数器为0。其OC=1,个位CF也变成1。然后再减9次,个位也为0,此时个位OC=1。 (3)个位计数器的OC=1,又使两个计数器的PE=1,于是重新置入65,进入下一个减法周期。除刚开始时要复位一次,以后电路就能自动复位。
可逆计数器
当加法计数到最大数时,进位CO=H,再 来一个时钟,计数器返0,同时CO=L,CO出 现一个宽度等于时钟周期高电平的脉冲。而进 位输出端 RCO 则输出一个较窄的低电平,其上 升沿正好出现在应产生进位的时刻,所以 RCO 常用于多位计数器串行级联时的进位信号;如 果采用并行CP控制,即好几片计数器的时钟接 在一起,RCO应接到后一级的 CTEN 端。
对于74LS193(2/16进制):
CO = QDQCQBQA CP+
当减法计数达到[0000]时,在下一个CP-的 上升沿来到时,该计数器应给出借位脉冲,可 由下式确定。
对于74LS192(2/10进制)和74LS193(2/16 进制):
BO = QDQCQBQA CP−
多片74LS192级联使用时,低位片的RC和Rb 可分别作为高位片的CP+和CP-。这种扩展方式, 片间是异步工作的,所以多片级联时计数速度要 下降。
减法计数的态序是:
15→14→13→12→11→10→9→8→7→6→5→4 →3→2→1→0→15
4.进位和借位 当加法计数达到最大数时,下一个CP+上升
沿来到时,该位计数器应返回[0000],同时给出 一个进位脉冲,该进位脉冲也应处于上升沿。
对于74LS192(2/10进制):
CO = QDQA CP+
L×
× × ABCD ABCD
HL
L
× × × × 加计数
HL
H
× × × × 减计数
HH
× × ××××
保持
1.计数功能 当 CTEN = L时,CP的上升沿来到时,计数器计
数。当 D=/LU时加计数;当 D=/HU时减计数。
五位可编程可逆计数器的设计
自动化专业电子课程设计报告题目:五位可编程可逆计数器的设计指导教师:评阅成绩等次:电气信息工程系2010-2011 第二学期摘要自动计数器在日常生活中屡见不鲜,它是根据不同的情况设定的,能够通过技术功能实现一些相应的程序,如通过自动计数器来实现自动打开和关闭各种电器设备的电源。
广泛用于路灯,广告灯,电饭煲等领域。
自动计数器给人们生产生活带来了极大的方便,而且大大地扩展了自动计数器的功能。
诸如自动定时报警器、按时自动打铃、时间程序自动控制、定时广播、自动启闭电路,定时开关烤箱、甚至各种定时电器的自动启用等,所有这些,都是以自动计数器为基础的。
由于它的功能强劲,用途广泛,方便利用,所以在这个电子科技发展的时代,它是一个很好的电子产品。
如在洗衣机的定时控制以及路灯等一些人们不能再现场控制的操控。
都可以利用自动计数器来完成这样的功用。
可见此系统所能带来的方便和经济效益是相当远大的。
因此,研究自动计数器及扩大其应用,有着非常现实的意义。
本次课设设计是检验理论学习水平、实践动手能力及理论结合实际的能力,要求具有一定的分析处理问题能力和自学能力的一个比较重要得实践课程。
通过这样的过程,使我们的论文及实践水平有一次较为全面的检查,同时也使我们硬件方面的能力有所提高,对以后的学习有这非常重要的意义。
关键词:可编程可逆计数器;单片机AT89C52;7SEG-MPX2-CA目录一、设计的任务与要求...................... 错误!未定义书签。
1.1 设计任务............................ 错误!未定义书签。
1.2 设计要求............................ 错误!未定义书签。
二、总体设计和系统框图 .................... 错误!未定义书签。
2.1 可编程可逆计数器方案................ 错误!未定义书签。
2.2 数码管显示方案...................... 错误!未定义书签。
模M的可逆计数器
西安邮电学院FPGA实验报告-模M可逆计数器系部名称:电工院学生姓名:何慧敏(28)(04084041)专业名称:微电子班级:0802模M的可逆计数器的设计一、实验目的本实验实现模M可逆计数器的设计仿真,M为参数,完成RTL的设计和功能仿真。
二、功能定义模M可逆计数器实现的功能是:此计数器可以实现任意模M的可加可减的计数器。
任意模M定义为参数,可以通过改变M的值来实现所计的数;而可逆计数器指的是这个计数器通过某一输入来实现可加可减的计数。
三、端口说明四、时序波形上图为计数器实现加运算的计数波形上图为计数器实现减运算的计数波形五、模块框图六、仿真验证针对本实验的功能要求,我用V erilog仿真程序对主模块进行实例化来仿真验证并输出波形。
通过验证,与预想结果一致。
当in为1时,实现减法计数器;当in=0时,实现加法计数器。
七、V erilog 代码主模块:module jishu(clk,load,in,count);input clk,in,load;output count;parameter M=4;reg [M:0] count;always @(posedge clk or posedge load)if(in)beginif(load)count<=M-1;elsebeginif(count)count<=count-1;elsecount<=M-1;endendelsebeginif(load)count<=0;elsebeginif(count!=(M-1))count<=count+1;elsecount<=0;endendendmodule激励模块:module stimulate;reg clk,in,load;wire count;jishu a1(.clk(clk),.in(in),.load(load),.count(count)); initialbeginclk=1'b0;forever #5 clk=~clk;endinitialbeginin=1'b0;#200 in=1'b1;endinitialbeginload=1'b1;#8 load=1'b0;#125 load=1'b1;#133 load=1'b0;endendmodule八、设计及仿真环境设计环境及仿真环境:modelsim。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自动化专业电子课程设计报告题目:可编程可逆计数器设计姓名王振学号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)前言随着电子技术、计算机技术和EDA技术的不断发展,利用FPGA/CPLD 进行数字系统的开发已被广泛应用于通信、航天、医疗电子、工业控制等领域。
与传统电路设计方法相比,FPGA/CPLD具有功能强大,开发周期短,投资少,便于追踪市场变化及时修改产品设计,以及开发工具智能化等特点。
近年来,FPGA/CPLD发展迅速,随着集成电路制造工艺的不断进步,高性价比的FPGA/CPLD器件推陈出新,使FPGA/CPLD成为当今硬件设计的重要途径。
在FPGA/CPLD的应用设计开发中,VHDL语言作为一种主流的硬件描述语言,具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性,并在语言易读性和层次化、结构化设计方面。
表现出了强大的生命力和应用潜力。
QuartusⅡ是Altera公司在21世纪初推出的FPGA/CPLD集成开发环境,是Altera公司前一代FPGA/CPLD集成开发环境Max+PlusⅡ的更新换代产品,其界面友好,使用便捷,功能强大,为设计者提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。
计数器是数字系统中使用最多的时序电路之一,不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。
可变进制计数器由于计数容量可以根据需要进行变化,为其广泛使用创造了便利。
本课程设计是在QuartusⅡ开发环境下,用VHDL语言实现一种具有清零、使能控制、可逆计数和可变进制功能的计数器。
一、设计的任务与要求1.1 设计任务设计出一个模值16以内任意进制的可编程可逆计数器。
1.2 设计要求使可编程可逆计数器具有以下功能:(1)具有的功能清零、使能控制、可逆计数、可变进制功能。
(2)进制输入需要显示,还要有控制端控制,计数器输出也要显示。
二、总体设计和系统框图2.1计数器方案计数器是本设计的最主要的部分,本设计使用了Altera公司开发的QuartusⅡ软件,硬件芯片选用ALTERA公司研发的2.5v的ACEX1K系列的EP1K10TC100-1型号,软件使用VHDL语言对设计对象建模,实现一种具有清零、使能控制、可逆计数和可变进制功能的计数器,无需人工修改属性,软件会自动设置好最佳配比给予所设计的电路。
2.2 数码管驱动显示方案用VHDL描述语言设计一种二-十进制BCD译码器,译码器输入din为4或5位二进制数,输出为以4位二进制数表示的两个十进制数a,b。
如右图所示,粗线代表数据总线,din[3..0]代表4位二进制输入端口,可为0000~1111,din[4..0]为5位二进制输入端口,可为00000~11111,不过在设计中只需要输入到10000即可,a[3..0]和b[3..0]设置为输出为0000~1001的数据输出口,BCD译码器可选用74LS48BCD-7段译码器/驱动器,BCD译码器后面接数码显示器如BS202数码显示器器件。
2.3 N进制设定设计方案设计一个十七进制计数器来构成0~16进制可任意设定的计数器,计数器的输入由人工手动按cp键输入单个脉冲累加得到,并设置一个与门可以把输入的数据传输到计数器模块当中(在实际中可设计为接触按键),从而使模块独立化。
右图所示clk为cp脉冲手动输入端,通过人工控制cp脉冲来输入进制值,y[4..0]为进制输出,可用数码管显示输入的进制值,如果用户想要更改进制,可用clr清除控制进制为0,从新输入进制。
2.4电路系统总体设计设计方案的框图如图1所示。
使用模值为16的芯片器件,设计一个进制输入端,供用户选择所需的进制,然后给与计数器计数脉冲,用控制端控制计数器工作,在由驱动显示模块显示进制和计数状态。
图1可编程可逆计数器总体框图三、硬件设计3.1计数器部分设计硬件连接方式(1)clk 为时钟信号,由时钟信号的上升沿触发计数;(2)m 为进制输入端,当其变化时,计数容量相应发生变化;(3)clr 为清零控制端,当其为高电平时清零;(4)en 为使能控制端,当其为高电平时正常计数,当其为低电平时暂停计数,相当于保持;(5)updn 为计数方向控制端,当其为高电平时计数器加法计数,当其为低电平时计数器减法计数。
显示模块计数器 驱动译码 进制输入 时钟脉冲清零控制 可逆 控制使能 控制(6)q为数据输出端(7)co进位输出端,如果计数达到进位,输出为高电平3.2 驱动译码部分设计(1)bcd7s为BCD译码器端口图,其中A[3..0]为4为二进制输入,此处使用功能为0000~1001,,led7s[6..0]为译码器输出端口,共阴极接入数码管上。
(2)V2是一种可以把二进制转换为十进制的译码器,din为4位二进制输入0~15,a,b分别为十进制的个位和十位输出,a输出为0~9,b输出为0~1。
(3)V5是功能和V2一样的译码器,不过是在输入时增加了输入量,输入为0~16,din为5为二进制输入端口最大输入可为31,在设计中把最大值设置为16,输出端口a,b分别为十进制的个位和十位输出,a输出为0~9,b输出为0~1。
3.3进制输入部分设计设计一个十七进制计数器ct17供用户输入16以内的进制值,它可以输入0~16,输出为5位二进制端口,数据为00000~10000,具有清零,进位输出功能。
后面接入V5译码器即可分别显示输入数据的个位和十位。
3.4整体电路部分QuartusⅡ软件可实现混合编辑,先建立一个工程项目,然后建立5个VHDL文本文件,分别命名“jishuqi.vhd”“ct17.vhd”“V2.vhd”“V5.vhd”“bcd7s.vhd”,保存,然后分别输入程序代码,然后可对上述五个文件分别创建图元符号,成功后就可以使用,即可在原理图上编辑,连接好各模块即可设计出可编程可逆计数器原理图。
图2.总体设计图上图中黑色粗线条代表数据连接总线,黑色细线代表连接线四、软件设计(系统仿真)4.1程序工作流程图N YN Y显然开始时要全部清零,然后输入所需进制值,在数码管中显示出来,然后用与门控制控制把进制输入到计数器中,开始计数,输入1HZ 脉冲,然后把使能控制开关打开,接下来就可以改变计数方向,观察数码管显示。
上 电 初始化 进制显示为0 计数器显示为0 接收到数据等待用户 输入进制值 计 满 显示 进制转入计数状态 显示计数状态 停止计数4.2 仿真步骤及结果该多功能可变进制计数器在QuartusⅡ开发环境下用混合编辑方法分别进行了功能仿真和时序仿真验证,仿真结果如图3,图4。
值得注意的是,这里所设计的多功能可变模计数器具有如下特点:(1)该设计的多功能可变进制计数器具有多个功能控制端。
因此各个控制端的优先权顺序就成为设计的关键,经过理论分析和仿真调试,最终确认的优先权顺序为:clr(清零) →cp(进制输入) →kz(进制控制)→clk(时钟触发)→en(使能)→updn(计数方向)。
这个优先权顺序可以有效地保证各个功能的完整实现,以及技术器的稳定运行。
(2)为了防止出现计数失控,大多数计数器采用给计数器增加一个复位控制端的办法,当发现计数输出q发生了计数失控时,通过复位控制端将计数器复位来排除计数失控。
这种方法虽然有效,但是每次出现计数失控都要手动控制复位,给实际使用带来了不便。
该设计的多功能可变模计数器中,将当前的计数输出q与当前的计数最大值m_temp进行比较,如果q比m_temp 大,则强制将m_temp赋给q,这样就可以自动避免计数失控,不必再增加手动的复位控制端。
图3. 可编程可逆计数器功能仿真图如图3所示,首先清零,给予cp14个脉冲,jh输出为6,对应数码管显示为1,jl输出为102,对应数码管显示为4,在一起可得出输入14个脉冲,然后使kz键为1可把进制输入到硬件jishuqi中,clk开始有1HZ脉冲开始计数,xh,xl,根据进制的输入开始从0输出到输入的进制值在减去1即为13,所以xh为输出6,对应数码管显示为1,xl输出为79,对应数码管显示为3,当updn为高电平1时,计数状态为加计数,而为低电平0时,计数器状态为减计数,在图中可以明确看出。
Co为计数器的进位输出,高电平显示。
图3图4的原理是一样的,只不过一个是功能仿真,一个是时序仿真。
图4.可编程可逆计数器时序仿真图仿真图里面的数据可参照下面的表格:下表第一行为译码器输出,第二行为数码管对应显示63 6 91 79 102 109 125 7 127 1110 1 2 3 4 5 6 7 8 9五、设计结果分析5.1 系统能实现的功能能实现模值为16的清零、使能控制、可逆计数和可变进制功能。
说明了设计的正确性。
5.2 系统所选用软件及芯片型号软件:QuartusⅡ芯片型号:ACEX1K系列的EP1K10TC100-1六、设计总结和体会6.1设计总结QuartusⅡ是EDA数字电路的一种学习软件,它可使设计者能方便地进行设计输入、快速处理和器件编程。