文档库 最新最全的文档下载
当前位置:文档库 › 计数器设计和原理

计数器设计和原理

计数器设计和原理
计数器设计和原理

二.计数器设计

1.实验目的

计数器在数字逻辑设计中的应用十分广泛,可以对时钟信号进行计数,分频和产生序列信号,也可以用在计时器和串并转换等电路。这次实验我们就来学习一下如何用Robei和Verilog语言来设计一个4比特计数器。

2.实验要求

计数器对每个时钟脉冲进行技术,并将计数值输出出来。这个实验我们来设计一个4比特的计数器,其技术范围在0~F之间,也就是计数到最大值16. 设计波形要求如图1所示。

图1. 计数器输出波形要求

3.实验内容

3.1 模型设计

1)新建一个模型。点击工具栏上的图标,或者点击菜单“File”然后在下

拉菜单中选择“New”,会有一个对话框弹出来(如图2所示)。在弹出的对话框中设置你所设计的模型。

图2. 新建一个项目

参数填写完成后点击“OK”按钮,Robei就会生成一个新的模块,名字就是counter,如图3所示:

图3. 计数器界面图

2)修改模型。在自动生成的界面图上进行名称的修改,输入引脚为clock, enable

和reset,输出引脚修改成count。其中count引脚的“Datasize”为4比特,用户可以输入4,也可以输入3:0。为了区分每个引脚,我们可以修改每个引脚的Color值,并点回车保存。修改完成后如图4所示。如果选中模块,按“F1”键,就会自动生成一个Datasheet,如图5所示。

图4. 修改引脚属性

图5. “Datasheet”截图

3)输入算法。点击模型下方的Code(如图6所示)进入代码设计区。

图6. 点击Code输入算法

在代码设计区内输入以下Verilog代码:

always @ (posedge clock) //学习always语句的写法,并设置敏感信号。时钟上升沿触发begin

//学习Verilog if else语句的写法

if (reset == 1) begin

count<= 0;

end

//if enable is 1, counter starts to count

else if (enable == 1) begin

count <= count + 1;

end

end

4)保存。点击工具栏图标,或者点击菜单“File”中的下拉菜单“Saveas”,

将模型另存到一个文件夹中。

5)运行。在工具栏点击或者点击菜单“Build”的下来菜单“Run”,执

行代码检查。如果有错误,会在输出窗口中显示。如果没有错误提示,恭喜,模型counter设计完成。

3.2测试文件设计

1)新建一个文件。点击工具栏上的图标,在弹出的对话框中参照图7进

行设计。

图7. 新建测试文件

2)修改各个引脚的颜色。选中每个引脚,在属性栏中对照图8进行修改引脚属

性,并修改其颜色,方便区分不同的引脚信号。

图8 引脚属性表

3)另存为测试文件。点击工具栏图标,将测试文件保存到counter模型

所在的文件夹下。

4)加入模型。在Toolbox工具箱的Current栏里,会出现一个counter模型,单

击该模型并在counter_test上添加。

图9. 添加模型

5)连接引脚。点击工具栏中的图标,或者选择菜单“Tool”中的“Connect”,

如图10所示,连接引脚。这个时候,注意查看连接线的颜色。如果鼠标要变回选择模式,点击图标。

图10. 连接引脚

6)输入激励。点击测试模块下方的“Code”,输入激励算法。激励代码在结束

的时候要用$finish 结束。

initial begin

clock = 1;

reset = 0;

enable = 0;

#5 reset = 1;

#10 reset = 0;

#10 enable = 1;

#150 enable = 0;

#5 $finish;

end

always begin //学习时钟信号的生成方法

#5 clock=~clock; //每隔5个时钟,clock取反一次,占空比50%

end

图11 激励代码

7)执行仿真并查看波形。点击工具栏,查看输出信息。检查没有错误之

后点击,或者点击菜单“View”中的“Waveview”。波形查看器就会打开。点击右侧Workspace中的信号,进行添加并查看。点击波形查看器工

具栏上的图标进行自动缩放。分析仿真结果并对照真值表,查看设计波形与实验要求是否一致。

图12. 查看波形

4.问题与思考

1)如何利用Robei设计一个逆向计数器?计数开始时为F,每个时钟信号到来

计数器减一。测试你的逆向计数器。

2)如何利用计数器实现占空比为50%的2分频,4分频和16分频?提示:占空

比:高电平持续时间在一个总周期所占的比率。

计数器的设计实验报告

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

东南大学可变步长计数器

东南大学电工电子实验中心 实验报告 课程名称:电路与电子线路实验I 第 3 次实验 实验名称:可变步长计数器的设计 院(系):吴健雄专业:信息 姓名:学号: 实验室: 502 实验组别: 6 同组人员:实验时间:年月日评定成绩:审阅教师:

一、实验内容要求 1.可变步长计数器的设计 内容: ● 实现N 步长计数器 ● 实现1/N 步长计数器 ● N 为四位二进制数,可现场设置 要求: ● 在Multisim 软件平台上设计实验电路 ● 运行并检验实验结果 二、 实现方案 整个实验的实现方案的框架如图: 在此基本呢框架上添加量程设置,加减,N 与1/N 步长的具体方案。 三、 电路设计 首先,将电路分为两个模块搭建,分别为可变量程可逆计数的功能模块与可变步长的模块。 可逆功能可以通过用74LS160再加非门实现,也可直接用74LS190或74LS192(可加减十进制计数器)来实现。本实验将利用74LS190来实现,并通过逻辑门对计数器进行置数与清零的控制,74LS190引脚图如下图所示:

可变量程功能可以通过利用计数器输出数通过逻辑门的判断将结果输入到置数端,与到达最大值时传送信息到到清零端。 可变步长功能可以用74LS283(全加器)与D触发器控制开关来实现,74LS283引脚图如下所示: 四、电路分析仿真 可变量程加减计数模块

N步长计数器 以上模拟电路可以通过控制不同开关,改变步长,步长可以由1-15变化,当计数为16时灯灭。 五、实验总结 1、本实验让我进一步了解了74LS190计数器的基本原理。基本掌握集成计数器芯片74LS190工作原理及应用。 2、在设计可变量程功能时最开始找不到方法。经过自己的努力和尝试,渐 渐地思路清晰起来,经过多次尝试,实现了设计的要求。

模可变计数器设计(Verilog语言)概览

模可变计数器设计 (一)实验目的 1、进一步熟悉实验装置和QuartusⅡ软件的使用; 2、进一步熟悉和掌握EDA设计流程; 3、学习简单组合、时序电路的EDA设计; 4、学习计数器中二进制码到BCD码的转换技巧; 5、学习实验装置上数码管的输出方法。 (二)设计要求 完成设计、仿真、调试、下载、硬件测试等环节,在EDA实验装置上实现模可变计数器功能,具体要求如下: 1、设置一个按键控制改变模值,按键按下时模为10-99之间(具体数值自行确定)的 数,没按下时模为100-199之间(具体数值自行确定)的数; 2、计数结果用三位数码管十进制显示。 (三)主要仪器设备 3、微机1台 4、QuartusII集成开发软件1套 5、EDA实验装置1套 (四)实验步骤 主要有三个模块 1:一个模20和模119的计数器 2:数码管的显示 3:BCD的调整 源程序: module count (clk,m,en,rst,a,sel,SG,d); input clk,m,en,rst; output [7:0] SG; output [2:0] sel; output a; (* synthesis, keep *) reg clk1; (* synthesis, keep *) wire [3:0] gw,sw,bw; /*(* synthesis, keep *) */reg [3:0]a; reg [11:0] q; reg [11:0] model;

reg [7:0] cnt,SG; reg [2:0] sel; reg [0:0]d; output [0:0]d; always @(posedge clk) begin cnt=cnt+1; if (cnt==200) begin clk1=1'b1; cnt=0; end else clk1=1'b0; //200分频,CLK为数码管扫描频率,CLK1为计数频率 if (sel<2) sel=sel+1; else sel=0; end //sel为数码管选择 always @(sel) begin case (sel) 0: a=bw; //0数码管为百位 1: a=sw; //1数码管为十位 2: a=gw; //2数码管为个位 default: a=0; endcase case (a) 0:SG<=8'b00111111; 1:SG<=8'b00000110; 2:SG<=8'b01011011; 3:SG<=8'b01001111; 4:SG<=8'b01100110; 5:SG<=8'b01101101; 6:SG<=8'b01111101; 7:SG<=8'b00000111; 8:SG<=8'b01111111; 9:SG<=8'b01101111; //8段译码值 default: SG=8'b11111111; endcase end always @(m) if (m) model=12'b000000100000; //模值20 else model=12'b000100011001; //模值119 assign gw=q[3:0]; assign sw=q[7:4]; assign bw=q[11:8]; always @(posedge clk1,negedge rst) begin if (!rst) q=0; else if (en) begin if (q

基于QuartusII的同步计数器设计

基于QuartusII的同步计数器设计 目录 一、软件及语言概述 二、实验设计 三、学习感悟 四、参考文献 一、软件及语言概述 1.1软件介绍: Quartus II是Altera公司在21 世纪初推出的FPGA/CPLD开发环境,是Altera前一代FPGA/CPLD集成开发环境MAX+PLUS II的更新换代产品,其优点是功能强大、界面友好、使用便捷。它支持原理图、VHDL、VerilogHDL以及AHDL 等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II支持Altera的IP内核,包含了 LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性,加快了设计速度。此外,Quartus II通过和DSP Builder工具与Matlab/Simulink的相结合,可以方便的实现各种DSP应用系统;支持Altera 的片上可编程系统开发,集系统设计、嵌入式软件开发。可编程逻辑设计于一体,是一个综合性的开发平台。 Quartus II有严格的设计流程,分为设计输入与约束、分析和综合、布局布线、仿真及编程与配置等。本次仿真设计所用到的版本为Quartus II 9.0,其用户界面如下图所示: 1.2 Verilog HDL语言概述: Verilog HDL即Verilog硬件描述语言,它主要应用于数字电路和系统设计、数字电路和系统仿真等,即利用计算机和相关软件对用Verilog HDL等硬件语言建模的复杂数字逻辑电路设计进行仿真验证,再利用综合软件将设计的数字电路自动综合,以得到符合功能需求并且在相应的硬件电路结构上可以映射实现的数字逻辑网表,然后布局布线,根据网表和选定的实现器件工艺特性自动生成具体电路,同时软件生成选定器件的延时模型,经过仿真验证确定无误后写入器件中,最终实现电路设计。Verilog HDL语言不仅定义了语法而且对每个语法结构都定义了清晰的模拟、仿真语义。因此用这种语言编写的模型能够使用Verilog仿真

计数进制可变的计数器设计

数字电子技术基础自主实验 班级:1201106 学号:1120110618 姓名: 陈振鑫

姓名班级学号 实验日期节次教师签字成绩 实验名称:计数进制可变的计数器设计 一、实验目的 利用74LS138(3线-8线译码器),74LS253(4选1数据选择器),74LS161(同步十进制加法计数器)三个芯片组合,利用清零法组成模数可以改变的加法计数器。 二、实验设备名称,型号 1.实验电路箱 2.直流稳压电源 3.74LS138、74LS253 、74LS161等芯片 4.导线若干 5.数字万用表 74ls138 74ls161

74ls253 三、实验电路图 四、设计思路及方案 设计思路:将计数器的输出作为译码器的输入端,译码数通过数据选择器,输出低点平,利用同步十进制加法计数器74LS161的清零端将计数器清零。 设计方案:电路图如图上图所示,74LS161计数器输出端QdQcQbQa分别与74LS138的输入端B0B1B2和输入使能端E2(高电平有效)相连,译码器的输出端Y0Y1Y6Y7与四选一数据

选择器输入端相连,输出端与计数器清零端相连。当E3=1,B2B1B0从000到111变化时Y1~Y7分别被选中,当MN分别取00~11时,便可实现改变计数器当进制。 五、实验步骤 1.检查导线通断后按电路图连好电路,QdQcQbQa端接数码显示管,CP端接手动计数脉冲,MN端设为00,检查无误后接通电源; 2.接通电源连续发动计数脉冲至CP端,观察数码显示,使计数器进入主计数循环; 3.按表测量并记录数据; 4.分别设MN=01,10,11,重复上述步骤; 5.分析实验结果。 六、仿真结果

模可变计数器设计Verilog语言

模可变计数器设计 V e r i l o g语言 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

模可变计数器设计 (一)实验目的 1、进一步熟悉实验装置和QuartusⅡ软件的使用; 2、进一步熟悉和掌握EDA设计流程; 3、学习简单组合、时序电路的EDA设计; 4、学习计数器中二进制码到BCD码的转换技巧; 5、学习实验装置上数码管的输出方法。 (二)设计要求 完成设计、仿真、调试、下载、硬件测试等环节,在EDA实验装置上实现模可变计数器功能,具体要求如下: 1、设置一个按键控制改变模值,按键按下时模为10-99之间(具体数值自行确定) 的数,没按下时模为100-199之间(具体数值自行确定)的数; 2、计数结果用三位数码管十进制显示。 (三)主要仪器设备 3、微机1台 4、QuartusII集成开发软件 1套 5、EDA实验装置1套 (四)实验步骤 主要有三个模块 1:一个模20和模119的计数器

2:数码管的显示 3:BCD的调整 源程序: module count (clk,m,en,rst,a,sel,SG,d); input clk,m,en,rst; output [7:0] SG; output [2:0] sel; output a; (* synthesis, keep *) reg clk1; (* synthesis, keep *) wire [3:0] gw,sw,bw; /*(* synthesis, keep *) */reg [3:0]a; reg [11:0] q; reg [11:0] model; reg [7:0] cnt,SG; reg [2:0] sel; reg [0:0]d; output [0:0]d; always @(posedge clk) begin cnt=cnt+1; if (cnt==200) begin clk1=1'b1; cnt=0; end else clk1=1'b0; //200分频,CLK为数码管扫描频率,CLK1为计数频率 if (sel<2) sel=sel+1; else sel=0; end //sel为数码管选择 always @(sel) begin case (sel) 0: a=bw; //0数码管为百位 1: a=sw; //1数码管为十位 2: a=gw; //2数码管为个位 default: a=0; endcase case (a) 0:SG<=8'b00111111; 1:SG<=8'b00000110; 2:SG<=8'b01011011; 3:SG<=8'b01001111; 4:SG<=8'b01100110; 5:SG<=8'b01101101; 6:SG<=8'b01111101; 7:SG<=8'b00000111; 8:SG<=8'b01111111; 9:SG<=8'b01101111; //8段译码值 endcase end always @(m) if (m) model=12'b000000100000; //模值20 assign gw=q[3:0]; assign sw=q[7:4]; assign bw=q[11:8];

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

实验四:计数器的设计 实验室:信息楼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个状态。

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

数字电路与逻辑设计实验报告实验七计数器的设计 :黄文轩 学号: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仿真验证电路正确性,仿真图中波形从上到下依次是从低位到高位触发器的输出,计数器进位输出,以及时钟信号。:

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

实验五计数器的设计——实验报告 邱兆丰 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组可设置的定时开/关,控制一路开关量输出。定时开关的设置分为单次操作(2011年6月25日8:00开2011年6月26日18:00关),周期操作(如周三8:00 开,周四16:00关)。数码管显示时间(单位秒)与设置值(单位分钟),用发光二极管表示周期与单次操作。 任务安排: (1)设计任务及要求分析 (2)方案比较及认证说明 (3)系统原理阐述,写出设计方案结构图。 (4)软件设计课题需要说明:软件思想,流程图,源程序及程序注释 (5)调试记录及结果分析、 (6)总结 (7)参考资料5篇以上 (8)附录:程序清单 时间安排: 6月24日:安排设计任务;收集资料;方案选择 6月25日:程序设计 6月26——27日:实验室内调试程序并演示 6月28日:撰写报告 7月1日:交能力拓展训练报告

摘要 单片机在电子产品中的应用越来越广泛,特别是51系列的单片机,由于其使用方便、价格低廉等优势,在市场上占有很大的份额。AT89C51就是51系列中的一个比较成熟的型号,它完全兼容51单片机的指令。 本文详细介绍了基于AT89C51单片机的数字电子钟的设计,本电子钟可以实现日期、时间的显示和调整,带有整点提示和一个闹钟,并且可以显示当前气温。 本设计包括硬件设计和软件设计两部分。主要硬件有:三端稳压器LM7805、AT89C51单片机、字符型液晶显示模块HY1602A和若干按键等。软件大致思路为:使用12MHz的晶振,单片机内部的定时器0工作在方式1,每计数50000个机器周期(即50ms)产生一次中断,中断20次就是一秒,这样就可以实现精确计时的目的,不断扫描按键,如果有按键按下,则对按键做出相应的响应。 关键字:单片机;电子钟; LCD1602;

变模计数器

数字电路课程设计报告 ——变模计数器 课程设计任务书 一﹑题目:16进制计数器, 计数器的计数模值可变,计数模M从2~16变化,用多路开关控制M的选择。 原始条件:该系统由计数模值设置开关电路、变模控制模块、16进制计数器、显示驱动电路构成。 二、要求完成设计的主要任务如下:(变模计数器输出状态表如表2-1所示。 电路设计框图如图2-1所示。)

图2-1变模计数器设计框图 一、实验目的 1、设计变模计数器,掌握变模计数器的设计方法,实现二~十六进 制之间的转换。 2、掌握中规模集成计数器74LS85的逻辑功能和使用方法 3、计数器的计数模M值可变,多路开关控制M的选择

二、设计理念 变模开关控制电路: 设置三个开关来控制切换A、B、C三个输入端,就可以实现001到111的进制实现功能。 变模控制电路: 计数器四位输出送4-16译码器,译码器输出接16选1数据选择器,数 据选择器控制端接模设置开关电路(拨码开关)。 显示驱动电路: 计数器输出送显示译码器,再送4段LED显示器。 三、实验原理 通过161计数器计数输出送给4-16译码器,再送给选择器,最后显示驱动。通过计数器的计数模值可变,计数模M从2~16变化,用多路控 制M的选择。 根据变模计数器的引脚图,电路图(如下图所示)。进行变模计数器的设计。 四、实验设备 74LS85 一个 74LS161 一个 74LS00 一个 导线若干 面包板一个

电路板一个 电源线一个 五、实验内容 (1)电路图: 手绘电路图(2)各芯片的引脚图

74LS00引脚图 74LS85引脚图

实验五 计数器的设计

实验五计数器的设计 姓名: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输

100进制同步计数器设计

实验名称:100进制同步计数器设计 专业班级:姓名:学号:实验日期: 一、实验目的: 1、掌握计数器的原理及设计方法; 2、设计一个0~100的计数器; 3、利用实验二的七段数码管电路进行显示; 二、实验要求: 1、用VHDL 语言进行描写; 2、有计数显示输出; 3、有清零端和计数使能端; 三、实验结果: 1. VHDL程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; PACKAGE my_pkg IS Component nd2 -- 或门 PORT (a,b: IN STD_LOGIC; c: OUT STD_LOGIC); END Component; Component led_decoder PORT (din:in std_logic_vector(3 downto 0 ); --四位二进制码输入 seg:out std_logic_vector(6 downto 0) ); --输出LED七段码 END Component; 1

Component CNT60 --2位BCD码60进制计数器 PORT ( CR:IN STD_LOGIC; EN:IN STD_LOGIC; CLK:IN STD_LOGIC; OUTLOW:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0); OUTHIGH:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0) ); END Component; Component CNT100 --带使能和清零信号的100进制计数器PORT ( CLK:IN STD_LOGIC; EN:IN STD_LOGIC; CLR:IN STD_LOGIC; OUTLOW:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0); OUTHIGH:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0) ); END Component; Component freq_div --50MHZ时钟分频出1Hz PORT ( clkinput : IN STD_LOGIC; output : OUT STD_LOGIC ); END Component;

实验九_步长可变的加减计数器

实验九步长可变的加减计数器 一、实验目的 1.掌握加减法计数器以及特殊功能计数器的的设计原理。 2用VHDL语言设计多功能计数器。 二、实验原理 计数分同步计数器和异步计数器,如果按工作原理和使用情况来分那就更多了。 1.加减工作原理 加减计数也称为可逆计数,就是根据计数控制信号的不同,在时钟脉冲的作用下,计数器可以进行加1计数操作或者减1计数操作。 2.变步长工作原理 如步长为3的加法计数器,计数状态变化为0、3、6、9、12……,步长值由输入端控制。在加法计数时,当计数值达到或超过99时,在计数器下一个时钟脉冲过后,计数器清零;在减法计数时,当计数值达到或小于0时,在计数器下一个时钟脉冲过后,计数器也清零。 三、实验内容 1 设计的计数步长可在0~79之间变化 2 通过仿真或观察波形图验证设计的正确性。 3 编译下载验证结果。 四、设计提示 1.注意IF语句的嵌套。 2.注意加减计数状态的变化,计数值由9变0(加法)及由0变9(减法)各位的变化。 由于计数器为十进制计数器,还应考虑进位或借位后进行加6及减6校正。 五、实验报告要求

1.写出多模加减计数器的VHDL源程序。 2.叙述多模加减计数器的工作原理。 SF = ‘1’加标志,SF=’0’减标志 3.画出计数器工作波形图. LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CHANGABLE IS PORT(CLK,RESET,SF:IN STD_LOGIC; SIZE:IN STD_LOGIC_VECTOR(6 DOWNTO 0); DO:OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ); END ENTITY CHANGABLE; ARCHITECTURE C_SIZE OF CHANGABLE IS SIGNAL C_COUNT: STD_LOGIC_VECTOR(6 DOWNTO 0); BEGIN PROCESS(CLK,RESET,SF,SIZE) V ARIABLE TP:STD_LOGIC_VECTOR(6 DOWNTO 0); BEGIN IF(RESET = '1')THEN C_COUNT<=(OTHERS=>'0'); ELSIF(CLK'EVENT AND CLK = '1')THEN IF(SF='1')THEN TP:=C_COUNT+SIZE; IF(TP>79)THEN C_COUNT<=(OTHERS=>'0'); ELSE C_COUNT<=C_COUNT+SIZE; END IF; ELSE IF(TP < SIZE)THEN C_COUNT<=(OTHERS=>'0'); ELSE C_COUNT<=C_COUNT-SIZE; END IF; END IF; END IF; DO<=C_COUNT; END PROCESS; END ARCHITECTURE C_SIZE;

一种多功能计数器的设计

一种多功能计数器的设计 摘要:计数器在我们的日常生活中用得非常普遍,在计算机和数字化设备中更是无处不在。自动化生产流水线上对产品的计数更为重要,但一般计数器专用性强,一种计数器只能对某一种材料或特性的产品进行计数,在一定程度上限制了它的计数对象。鉴于此,本设计制作一个能对不同材料的产品进行计数的多功能计数器,扩大一般计数器的应用范围。 关键词:产品;传感器;计数器 abstract:counter is widely used in our life, especially in computer and digital equipment. but with the problem of material and property of products on pipelining, it is restricted badly on this tache. one counter may barely count the products of same material, though broad usage, its simplex function at a certain extent restrict its using in depth. considering the disadvantage of counter, the objective of this design is definite, that is we can make a multifunctional counter, which enlarge its scope of application. key words: product; sensor; counter 1 引言 计数器在生产实践中的广泛应用大家有目共睹,计数器是数字化设备的基石,少了计数器,大大影响其功能。但就计数器本身而言,

实验六verilog设计分频器计数器电路答案

实验六 Verilog设计分频器/计数器电路 一、实验目的 1、进一步掌握最基本时序电路的实现方法; 2、学习分频器/计数器时序电路程序的编写方法; 3、进一步学习同步和异步时序电路程序的编写方法。 二、实验内容 1、用Verilog设计一个10分频的分频器,要求输入为clock(上升沿有效),reset (低电平复位),输出clockout为4个clock周期的低电平,4个clock周期的高电平),文件命名为。 2、用Verilog设计一异步清零的十进制加法计数器,要求输入为时钟端CLK(上升沿)和异步清除端CLR(高电平复位),输出为进位端C和4位计数输出端Q,文件命名为。 3、用Verilog设计8位同步二进制加减法计数器,输入为时钟端CLK(上升沿有效)和异步清除端CLR(低电平有效),加减控制端UPDOWN,当UPDOWN为1时执行加法计数,为0时执行减法计数;输出为进位端C和8位计数输出端Q,文件命名为。 4、用VERILOG设计一可变模数计数器,设计要求:令输入信号M1和M0控制计数模,当M1M0=00时为模18加法计数器;M1M0=01时为模4加法计数器;当M1M0=10时为模12加法计数器;M1M0=11时为模6加法计数器,输入clk上升沿有效,文件命名为。 5、VerilogHDL设计有时钟时能的两位十进制计数器,有时钟使能的两位十进制计数器的元件符号如图所示,CLK是时钟输入端,上升沿有效;ENA是时钟使能控制输入端,高电平有效,当ENA=1时,时钟CLK才能输入;CLR是复位输入端,高电平有效,异步清零;Q[3..0]是计数器低4位状态输出端,Q[7..0]是高4位状态输出端;COUT是进位输出端。 三、实验步骤 实验一:分频器 1、建立工程

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所示)进入代码设计区。

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

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

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

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

自动计数器课程设计..

西安电子科技大学 长安学院课程设计实验报告 姓名: 学号: 指导老师:

自动计数器课程设计 摘要:自动计数器在日常生活中屡见不鲜,它是根据不同的情况设定的,能够通过技术功能实现一些相应的程序,如通过自动计数器来实现自动打开和关闭各种电器设备的电源。广泛用于路灯,广告灯,电饭煲等领域。 自动计数器给人们生产生活带来了极大的方便,而且大大地扩展了自动计数器的功能。诸如自动定时报警器、按时自动打铃、时间程序自动控制、定时广播、自动启闭电路,定时开关烤箱、甚至各种定时电器的自动启用等,所有这些,都是以自动计数器为基础的。由于它的功能强劲,用途广泛,方便利用,所以在这个电子科技发展的时代,它是一个很好的电子产品。如在洗衣机的定时控制以及路灯等一些人们不能再现场控制的操控。都可以利用自动计数器来完成这样的功用。可见此系统所能带来的方便和经济效益是相当远大的。因此,研究自动计数器及扩大其应用,有着非常现实的意义。 本次课设设计是检验理论学习水平、实践动手能力及理论结合实际的能力,要求具有一定的分析处理问题能力和自学能力的一个比较重要得实践课程。通过这样的过程,使我们的论文及实践水平有一次较为全面的检查,同时也使我们硬件方面的能力有所提高,对以后的学习有这非常重要的意义。 关键词:电器设备;自动计数器;电源 指导老师签名:

1. 设计任务及方案 1.1设计任务 设计并制作一个自动计数器,NE555构成时钟信号发生器,CD4518为二,十进制加计数器,CD4543为译码驱动器,调节R17课调节555的震荡频率,C1为充放电电容,电容越大,充点时间越长,振荡频率越低。 介绍了一种新型的自动计数器设计方法,以NE555构成计数脉冲信号发生器,CD4518为二/十进制加法计数器,CD4543为译码驱动器,与按键、数码管等较少的辅助硬件电路相结合,实现对LED数码管进行控制。本系统具有体积小、硬件少、电路结构简单及容易操作等优点。 本计数器可将机械或人工计数方式变为电子计数,并且采用LED数码显示,简单直观,可适用于诸多行业,以满足现代生产、生活等方面的需求。随着生产技术的不断改善和提高,在现代化生产的许多场合都可以看到计数器的使用。本计数器具有低廉的造价以及控制简单等特点。通过对计数脉冲的转换可使本计数器应用更为广泛。 2.电路原理 2.1 元器件的设计与参数 本小组设计的电路原理图所涉及的元器件有:电压为+5V的直流稳压电源;最大电阻为100K的滑动变阻器R17一个;有极性电容C1一个;无极性电容C2和C3; 开关SW一个;电阻R1~~R16总共16个;芯片有:NE555,CD4518,CD4543;以及共阴极7段数码显示器两个。

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