文档库 最新最全的文档下载
当前位置:文档库 › 实验二 加减法运算器的设计实验报告

实验二 加减法运算器的设计实验报告

实验二 加减法运算器的设计实验报告
实验二 加减法运算器的设计实验报告

加减法运算器的设计

实验报告

实验二加减法运算器的设计

一、实验目的

1、理解加减法运算器的原理图设计方法

2、掌握加减法运算器的VERILOG语言描述方法

3、理解超前进位算法的基本原理

4、掌握基于模块的多位加减运算器的层次化设计方法

5、掌握溢出检测方法和标志线的生成技术

6、掌握加减运算器的宏模块设计方法

二、实验任务

1、用VERILOG设计完成一个4位行波进位的加减法运算器,要求有溢出和进位标志,并封

装成模块。模块的端口描述如下:

module lab2_RippleCarry宽度可定制(默认为4位)的行波进位有符号数的加减法器。

#(parameter WIDTH=4)

( input signed [WIDTH-1:0] dataa,

input signed [WIDTH-1:0] datab,

input add_sub, // if this is 1, add; else subtract

input clk,

input cclr,

input carry_in, //1 表示有进位或借位

output overflow,

output carry_out,

output reg [WIDTH-1:0] result

)

2、修改上述运算器的进位算法,设计超前进位无符号加法算法器并封装成模块。模块的端

口描述如下:

module lab2_LookaheadCarry // 4位超前进位无符号加法器

(

input [3:0] a,

input [3:0] b,

input c0, //carry_in

input clk,

input cclr,

output reg carry_out,

output reg [3:0]sum

);

3、在上述超前进位加法运算器的基础上,用基于模块的层次化设计方法,完成一个32位

的加法运算器,组内超前进位,组间行波进位。

4、用宏模块的方法实现一个32位加减运算器。

三、实验内容

1、用VERILOG设计完成一个4位行波进位的加减法运算器,要求有溢出和进位标志,并封装成模块。模块的端口描述如下:

1)将清零信号cclr(sw16)设为1[无效],将控制加减的信号add_sub(sw17)设为1[加法],将输入信号dataa(sw3~sw0)和输入信号datab(sw7~sw4)设为几组不同的值,观察输出信号result(ledr3~ledr0),输出信号overflow(ledg[6]),和输出信号carry_out(ledr[7])观察并记录输出;

2)将清零信号cclr(sw16)设为0[有效],将原来的数据清除,观察并记录输出,可以验证清零是否有效;

3)再将清零信号cclr(sw16)设为1[无效],将控制加减的信号add_sub(sw17)设为0[减法],将输入信号dataa(sw3~sw0)和datab(sw7~sw4)设为几组不同的值,观察输出信号result(ledr3~ledr0),输出信号overflow(ledg[6]),和输出信号carry_out(ledr[7])观察并记录输出,观察并记录输出。

4)在时钟信号处输入一个上升沿(按下key0),观察并记录输出。

2、超前进位无符号加法算法器并封装成模块

1)将清零信号cclr(sw17)设为1[无效],将输入信号a(sw3~sw0)和b(sw7~sw4)和c0(sw15)设为几组不同的值,观察输出信号sum(ledg[3]~ledg[0])和carry_out(ledg7),观察并记录输出;

2)将清零信号cclr(sw17)设为0[有效],观察是否可以清零,验证清零是否有效,观察并记录输出。

3、用基于模块2的层次化设计方法,完成一个32位的加法运算器,组内超前进位,组间行波进位。

1)调用一个32计数器模块并封装,引用两个该计数器,分别给的加数和被加数输入,将低位来的进位c0(sw0)设为0,加法器清零信号cclr(sw[17])设为0[无效],计数器的使能控制端enable(sw15)设为 1[有效],计数器的复位信号reset1(sw[0])设为0[无效],观察并记录观察结果;

2)在1)的基础上,将低位来的进位c0(sw0)设为1,加法器清零信号cclr(sw[17])设为0[无效],计数器的使能控制端enable(sw15)设为 1[有效],计数器的复位信号reset1(sw[0])设为0[无效],观察并记录观察结果;

3)在1)的基础上,将低位来的进位c0(sw0)设为0,加法器清零信号cclr(sw[17])设为1[有效],计数器的使能控制端enable(sw15)设为 1[有效],计数器的复位信号reset1(sw[0])设为0[无效],观察并记录观察结果;

4)在1)的基础上,将低位来的进位c0(sw0)设为0,加法器清零信号cclr(sw[17])设为0[无效],计数器的使能控制端enable(sw15)设为 0[无效],计数器的复位信号reset1(sw[0])设为0[无效],观察并记录观察结果;

5)在1)的基础上,将低位来的进位c0(sw0)设为0,加法器清零信号cclr(sw[17])设为1[有效],计数器的使能控制端enable(sw15)设为 1[有效],计数器的复位信号reset1(sw[0])设为1[有效],观察并记录观察结果;

4、用宏模块的方法实现一个32位加减运算器

1)引用一个32位的加减法器,并将其封装成模块,仍用任务三中的32位计数器给加数和被加数值;

2)将输入信号cclr(sw16)设为0[无效],加减法控制信号add_sub(sw17)设为1[加法],计数器的使能信号enable(sw15)设为1,计数器的复位信号reset1(sw0)设为0[无效],观察在信号检测中引出的观察对象;

3)将输入信号cclr(sw16)设为0[无效],加减法控制信号add_sub(sw17)设为0[减法],计数器的使能信号enable(sw15)设为1,计数器的复位信号reset1(sw0)设为0[无效],观察在信号检测中引出的观察对象;

4)将输入信号cclr(sw16)设为0[无效],加减法控制信号add_sub(sw17)设为1[加法],计数器的使能信号enable(sw15)设为1[有效],计数器的复位信号reset1(sw0)设为1[有效],观察在信号检测中引出的观察对象;

5)将输入信号cclr(sw16)设为0[无效],加减法控制信号add_sub(sw17)设为1[加法],计数器的使能信号enable(sw15)设为0[无效],计数器的复位信号reset1(sw0)设为1[有效],观察在信号检测中引出的观察对象。

四、实验仪器及设备:

一、电脑( QuartusⅡ 10.0)二、DE2_115开发板

五、实验步骤

1 根据自己预习情况,编写VERILOG代码

2进行功能仿真

进行分析与综合,排除语法上的错误

建立波形仿真文件,输入激励

生成功能仿真网表

进行功能仿真,观察输出结果

3选择器件

选择DE2_115开发板的CYCLONE IV 4CE115

4 分配管脚

5 下载验证

DE2_115开发板的下载:使用USB-Blaster进行下载

6按照实验要求设置波段开关,观察LEDR0的显示,验证任务一、二的功能是否正确。7按照实验原理进行仿真,验证任务三、四的结果,仿真图像如下:

任务三

任务四

六、实验心得

通过本次加减法运算器的设计的实验,我进一步了解了Verilog语言的基本语法,利用Verilog语句实现了用VERILOG设计的带有溢出和进位标志的一个4位行波进位的加减法运算器,超前进位无符号加法算法器,并将其封装为模块,调用实现了32位的加法计数器(组内超前,组间行波行进),以及用宏模块的方法实现一个8位加减运算器。在验证试验准确性时,学会了如何利用DE2_115开发板进行检测。另外,在实验过程中,我也了解到了,我们要时刻细心严谨,认真做好每一步,避免出现低级错误。

七、思考题

1、加减运算电路中减法是如何实现的?

回答:在加减运算电路中,一个数减去另一个数是由一个数加上另一个数的补码(即加上这个数取反再加1)来实现的。

1、超前进位的原理是什么?

回答:超前进位加法器是利用输入信号同时计算出每一位的进位产生信号和进位传递信号,各级的进位彼此独立产生,只与输入数据和C0有关,将各级间的进位级联传播给去掉了,因此减小了进位产生的延迟,实现了各位的并行运算。

令Gi 为进位产生信号, Pi 为进位传递信号

则Ci+1= Gi+ Pi *Ci

即:C1=G0 + P0·C0

C2=G1 + P1·C1 = G1 + P1·G0 + P1·P0 ?C0

C3=G2 + P2·C2 = G2 + P2·G1 + P2·P1·G0 + P2·P1·P0·C0

C4=G3 + P3·C3 = G3 + P3·G2 + P3·P2·G1 + P3·P2·P1·G0 + P3·P2·P1·P0·C0

2、列出三种溢出检测算法?

回答:(1)根据操作数的符号位来检测

fa和fb分别表示两个操作数的(a,b)的符号位,fs表示结果的符号位,则溢出信号为OVL =,若OVL=1则表示有溢出,若为0则没有溢出。

(2)根据进位来检测

Ci表示符号位的进位,C表示数值最高位的进位,则溢出信号OVL=Ci⊕C,若OVL=1则表示有溢出,若为0则没有溢出。

(3)双符号位法

fs1和fs2表示结果的双符号位,则则溢出信号OVL=fs1⊕fs2,若OVL=1则表示有溢出,若为0则没有溢出。

3、标志线的生成方法是什么?

回答:在此我们的设计方案中采取双符号位法,对输入数据进行双符号位表示,标志位取最终结果高两位的异或值,若结果为1,表示存在溢出;否则,表示没有溢出。

4、如何理解模块封装和层次化的设计思想?

回答:将一个设计分为不同的层次进行设计,然后对每一部分的设计进行封装,最后在总的设计中进行调用。模块化的设计很好的体现了自上而下的设计思想。对于较大的工程,可以清洗的明白设计的逻辑,另外封装好的模块可以多次调用,节省了设计时间。

5、宏模块的设计有何优点与缺点?应在何时使用?

回答:优点:直接调用系统的模块,大大节省了设计者的时间,并且减少了设计者出错的可能性,方便快捷。

缺点:宏模块都是已经定以设计好的,用户不能根据自己的需要进行修改,因此具

有一定的局限性。

何时使用:在设计对模块内部构造要求不高时,可以使用宏模块,以减少设计的工作量。

八、Verilog代码

1、实现用VERILOG设计完成一个4位行波进位的加减法运算器,要求有溢出和进位标志,并封装成模块。

module lab_2_1

#(parameter WIDTH=4)

(

input signed [WIDTH-1:0] dataa,

input signed [WIDTH-1:0] datab,

input add_sub, // if this is 1, add; else subtract

input clk,

input cclr,

input carry_in,

output overflow,

output carry_out,

output reg [WIDTH-1:0] result

);

wire [WIDTH:0] dataa_temp;

wire [WIDTH:0] datab_temp;

reg [WIDTH:0] ci_temp;

reg [WIDTH:0] result_temp;

reg carry_in_temp;

integer i;

integer temp;

assign dataa_temp[WIDTH:0]= {dataa[WIDTH-1],dataa[WIDTH-1:0]};

assign

datab_temp[WIDTH:0]=(add_sub==1)?{datab[WIDTH-1],datab[WIDTH-1:0]}:~{datab[WIDTH-1],datab[WIDTH-1:0]};

assign overflow = (result_temp[WIDTH]^result_temp[WIDTH-1])? 1'b1:1'b0;

assign carry_out=ci_temp[WIDTH];

always @ (dataa_temp or datab_temp or carry_in )

begin

carry_in_temp=(add_sub==1)?{carry_in}:~{carry_in};

ci_temp[0]=carry_in_temp;

temp=carry_in_temp;

result_temp[0]= dataa_temp[0]^datab_temp[0]^ci_temp[0];

for (i=0;i

begin

ci_temp[i+1]=(dataa_temp[i]^datab_temp[i])&temp|(dataa_temp[i]&datab_temp[i]);//????

result_temp[i+1]= dataa_temp[i+1]^datab_temp[i+1]^ci_temp[i+1];

temp=ci_temp[i+1];

end

end

always @ (posedge clk or negedge cclr)

begin

if (!cclr )

begin

result[WIDTH-1:0] <= 4'b0000;

end

else

begin

result[WIDTH-1:0]<=result_temp[WIDTH-1:0];

end

end

endmodule

2、实现修改上述运算器的进位算法,设计超前进位无符号加法算法器并封装成模块module lab_2_2

(

input [3:0] a,

input [3:0] b,

input c0,

input clk,

input cclr,

output reg carry_out,

output reg [3:0]sum

);

wire c1,c2,c3,c4;

wire p0,p1,p2,p3;

wire g0,g1,g2,g3;

wire sum0,sum1,sum2,sum3;

assign g0=a[0]&b[0];

assign g1=a[1]&b[1];

assign g2=a[2]&b[2];

assign g3=a[3]&b[3];

assign p0=a[0]^b[0];

assign p1=a[1]^b[1];

assign p2=a[2]^b[2];

assign p3=a[3]^b[3];

assign c1=g0|c0&p0;

assign c2=g1|(g0&p1)|(c0&p0&p1);

assign c3=g2|(g1&p2)|(g0&p1&p2)|(c0&p0&p1&p2);

assign c4=g3|(g2&p3)|(g1&p2&p3)|(g0&p1&p2&p3)|(c0&p0&p1&p2&p3);

assign sum0=p0^c0;

assign sum1=p1^c1;

assign sum2=p2^c2;

assign sum3=p3^c3;

always @ (posedge clk or negedge cclr)

begin

if (!cclr)

begin

sum<= 0;

carry_out<=0;

end

else

begin

sum<={sum3,sum2,sum1,sum0};

carry_out<=c4;

end

end

endmodule

3、实现计数器的Verilog代码

module counter

#(parameter WIDTH=64)

(

input clk, reset,

output reg [WIDTH-1:0] count

);

// Reset if needed, or increment if counting is enabled

always @ (posedge clk or posedge reset)

begin

if (reset)

count <= 0;

else

count <= count + 1;

end

endmodule

4、实现调用宏模块以及实例化的Verilog代码

module lab2_4

(input CCLR,CLK,A_B,EN,

input [31:0]A,B,

output [31:0] RESULT,

output OVERFLOW

);

rr rr_inst (

.aclr ( CCLR ),

.add_sub ( A_B ),

.clk_en ( EN),

.clock ( CLK),

.dataa ( A),

.datab ( B ),

.overflow ( OVERFLOW),

.result ( RESULT)

);

endmodule

60进制计数器课程设计报告

电子技术基础实验 课程设计 60进制计数器

一、实验目的 (一)掌握中规模集成计数器74LS161的引脚图和逻辑功能。 (二)熟悉555集成定数器芯片的引脚图。 (三)利用74LS161和555定时器构成60进制计数器。 (四)在Multisim软件中仿真60进制计数器。 二、实验容 (一)集成计数器74LS161逻辑功能验证。 (二)用555定时器构成多谐振荡器。 (三)用两片74LS161和555定时器构成60进制计数器。 三、集成计数器介绍 (一)集成计数器74LS161管脚介绍 74LS161是4位二进制同步加法计时器。图1为它的管脚排列图,集成芯片74LS161的CLR是异步清零端(低电平有效),LOAD是异步预置数控制端(低电平有效)。CLK是时钟脉冲输入端,RCO是进位输出端,ENP、ENT是计数器使能端,高电平有效。A、B、C、D是数据输入端; QA、QB、QC、QD是数据输出端。

图1 74LS161管脚排列图 (二)集成计数器74LS161功能介绍 由表1可知,74LS161具有以下功能: 1.异步清零。当CLR=0时,无论其他各输入端的状态如何,计数器均被直接置“0”。 2.同步预置数。当CLR=1、LOAD=0且在CP上升沿作用时,计数器将ABCD同时置入QA、QB、QC、QD,使QA、QB、QC、QD=ABCD。 3.保持(禁止)。CLR=LOAD=1且ENP、ENT=0时,无论有无CP脉冲作用,计数器都将保持原有的状态不变(停止计数)。 4.计数。CLR=LOAD=ENP=ENT=1时,74LS161处于计数状态。 表1 74LS161功能表

计数器的设计实验报告

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

计算器课程设计报告

课设报告 福建工程学院软件学院 题目:汇编计算器 班级: 1301 姓名 学号: 指导老师: 日期:

目录 1、设计目的 (3) 2、概要设计 (3) 2.1 系统总体分析 (3) 2.2 主模块框图及说明 (3) 3、详细设计 (4) 3.1 主模块及子模块概述 (4) 3.2各模块详运算 (4) 4、程序调试 (7) 4.1 运行界面分析 (7) 算法分析 (7) 4.2 调试过程与分析 (9) 5、心得体会 (11) 5.1 设计体会 (11) 5.2 系统改进 (11) 附录: (11)

1、设计目的 本课程设计是一次程序设计方法及技能的基本训练,通过实际程序的开发及调试,巩固课堂上学到的关于程序设计的基本知识和基本方法,进一步熟悉汇编语言的结构特点和使用,达到能独立阅读、设计编写和调试具有一定规模的汇编程序的水平。 2、概要设计 用8086汇编语言编写一个能实现四则混合运算、带括号功能的整数计算器程序。程序能实现键盘十进制运算表达式的输入和显示(例如输入:“1+2*(3-4)”),按“=”后输出十进制表示的运算结果。 2.1 系统总体分析 在8086的操作环境下,该计算器分成输入,数据存储,运算功能,输出几个大模块,实现了使用者使用该计算器时输入一个算式,能让系统进行计算。此计算器的实现功能是基本的数学的四则运算,结果范围在0~65535。 2.2 主模块框图及说明 此流程图简要的表现出了所要实现的功能以及一些功能的大概算法,同时也是我编写的一个总体的框架。 程序流程图说明:通过流程图,可以看出程序运行时,首先输出提示语气,当用户输入后,程序根据所输入内容进行判断,通过判断的结果来决定调用哪个功能模块,首要先要要判断的是否为0-9,“+”“-”“*”“/”这些字符,若不是就会报错,实则根据运算符号调用其功能模块完成运算。最后将运算的结果显示在主频幕上,返回主程序,使用户可以重新输入。

基本运算器实验定稿版

基本运算器实验 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

计算机科学与技术系 实验报告 专业名称计算机科学与技术 课程名称计算机组成原理 项目名称基本运算器实验 班级 学号 姓名 同组人员 实验日期 一、实验目的与要求 实验目的 (1)了解运算器的组成结构 (2)掌握运算器的工作原理 实验要求

(1)实验之前,应认真准备,写出实验步骤和具体设计内容,否则实验效率会很低,一次实验时间根本无法完成实验任务; (2)应在实验前掌握所以控制信号的作用,写出实验预习报告并带入实验室; (3)实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而损坏设备,又要自习思考实验有关内容; (4)实验之后,应认真思考总结,写出实验报告,包括实验步骤和具体实验结果,遇到的问题和分析与解决思路。还应写出自己的心得体会,也可以对教学实验提出新的建议等。实验报告要上交老师。 二、实验逻辑原理图与分析 画实验逻辑原理图 逻辑原理图分析 上图为运算器原理图。如图所示运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A 和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部件对操作数进行何种运算由控制信号S3…S0和CN来决定(三选一开关),任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志FZ。ALU中所有模块集成在一片CPLD中。

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)

计算机组成原理运算器实验—算术逻辑运算实验

实验报告 、实验名称 运算器实验—算术逻辑运算实验 、实验目的 1、了解运算器的组成原理。 2、掌握运算器的工作原理。 3、掌握简单运算器的数据传送通路。 4、验证运算功能发生器( 74LS181)的组合功能 三、实验设备 TDN-CM++ 计算机组成原理教学实验系统一套,导线若干四、实验原理 实验中所用的运算器数据通路如图1-1 所示。其中两片74LSl81以串行方式构成8 位字长的ALU,ALU 的输出经过一个三态门(74LS245)和数据总线相连。三态门由ALU-R 控制,控制运算器运算的结果能否送往总线,低电平有效。为实现双操作数的运算,ALU 的两个数据输入端分别由二个锁存器DR1、DR2 (由74LS273实现)锁存数据。要将数据总线上的数据锁存到DRl、DR2 中,锁存器的控制端LDDR1 和DDR2必须为高电平,同时由T4 脉冲到来。 数据开关“( INPUT DEVICE")用来给出参与运算的数据,经过三态 (74LS245) 后送入数据总线,三态门由SW—B控制,低电平有效。数据显示灯“( BUS UNIT") 已和数据总线相连,用来显示数据总线上的内容。 图中已将用户需要连接的控制信号用圆圈标明(其他实验相同,不再说明),其中除T4 为脉冲信号外,其它均为电平信号。由于实验电路中的时序信号均已连至“W/R UNIT ”的相应时序信号引出端,因此,在进行实验时,只需将“W /R UNIT"的T4接至“ STATE UNIT ”的微动开关KK2 的输入端,按动微动开关,即可获得实验所需的单脉冲。 ALU 运算所需的电平控制信号S3、S2、S1、S0 、Cn、M、LDDRl、 LDDR2 、ALU-B 、SW-B均由“ SWITCH UNIT ”中的二进制数据开关来模拟,其中Cn、ALU —B、SW 一 B 为低电平有效LDDR1 、LDDR2 为高电平有效。 对单总线数据通路,需要分时共享总线,每一时刻只能由一组数据送往总线。

数电脉搏计数器电路课程设计

烟台南山学院 数字电子技术课程设计题目脉搏计数电路设计 姓名:___ XXXXXX ___ 所在学院:_工学院电气与电子工程系 所学专业:_ 自动化 班级:___电气工程XXXX 学号:___XXXXXXXXXXXXXX 指导教师:_____ XXXXXXXX ___ 完成时间:____ XXXXXXXXXXXXX

数电课程设计任务书 一、基本情况 学时:40学时学分:1学分适应班级:12电气工程 二、进度安排 本设计共安排1周,合计40学时,具体分配如下: 实习动员及准备工作:2学时 总体方案设计:4学时 查阅资料,讨论设计:24学时 撰写设计报告:8学时 总结:2学时 教师辅导:随时 三、基本要求 1、课程设计的基本要求 数字电子技术课程设计是在学习完数字电子课程之后,按照课程教学要求,对学生进行综合性训练的一个实践教学环节。主要是培养学生综合运用理论知识的能力,分析问题和解决问题的能力,以及根据实际要求进行独立设计的能力。初步掌握数字电子线路的安装、布线、焊接、调试等基本技能;熟练掌握电子电路基本元器件的使用方法,训练、提高读图能力;掌握组装调试方法。其中理论设计包括总体方案选择,具体电路设计,选择元器件及计算参数等,课程设计的最后要求是写出设计总结报告,把设计内容进行全面的总结,若有实践条件,把实践内容上升到理论高度。 2、课程设计的教学要求 数字电子技术课程设计的教学采用相对集中的方式进行,以班为单位全班学生集中到设计室进行。做到实训教学课堂化,严格考勤制度,在实训期间累计旷课达到6节以上,或者迟到、早退累计达到8次以上的学生,该课程考核按不及格处理。在实训期间需要外出查找资料,必须在指定的时间内方可外出。 课程设计的任务相对分散,每3名学生组成一个小组,完成一个课题的设计。小组成员既有分工、又要协作,同一小组的成员之间可以相互探讨、协商,可以互相借鉴或参考别人

运算器部件实验报告

实验一运算器部件实验报告 班级姓名学号日期 一、实验目的 ●熟悉与深入理解4位运算器芯片Am2901的功能和内部组成,运行中要求 使用的控制信号及其各自的控制作用。 ●熟悉与深入理解用4片4位的运算器芯片构成16位的运算器部件的具体方 案,各数据位信号、各控制位信号的连接关系。 ●熟悉与深入理解用2片GAL20v8芯片解决ALU最低位的进位输入信号和 最高、最低位的移位输入信号、实现4位的标志位寄存器的方案,理解为什么这些功能不能在运算器芯片之内实现而要到芯片之外另外处理。 ●明确教学计算机的运算器部件,使用总计24位的控制信号就完全确定了它 的全部运算与处理功能,脱机运算器实验中可以通过24位的微型开关提供这些控制信号。 二、实验说明 脱机运算器实验,是指让运算器从教学计算机整机中脱离出来,此时,它的全部控制与操作均需通过24位的微型开关来完成,通过开关、按键控制教学机的运算器完成指定的运算功能,并通过指示灯观察运算结果。 三、实验要求 1、实验之前认真预习,写出预习报告,包括操作步骤,实验过程所用数据和运行结果等 2、实验过程当中,要仔细进行,防止损坏设备,分析可能遇到的各种现象,判断结果是否正确,记录运行结果 3、实验之后,认真写出实验报告,包括对遇到的各种现象的分析,实验步骤和实验结果,自己在这次实验的心得体会与收获。 四、实验所使用到的控制信号 AM2901所用的控制信号

1、将教学机设置为单步、16位、脱机状态下,即把教学机左下方的5个控制开关置为1XX00。 2、按一下RESET按键,进行初始化。 3、按照指定功能给出控制信号和数据信息,观察各信号指示灯状态。 4、按压START键,给出脉冲信号,观察各信号灯状态。 六、实验内容 1、下表中所列操作在教学机上进行运算器脱机实验。并将结果填入表中。 运算器功能所用到的控制信号

24进制计数器设计报告.doc

24进制计数器设计报告 单时钟同步24进制计数器课程设计报告1.设计任务1.1设计目的1.了解计数器的组成及工作原理。 2.进一步掌握计数器的设计方法和计数器相互级联的方法。 3.进一步掌握各芯片的逻辑功能及使用方法。 4.进一步掌握数字系统的制作和布线方法。 5.熟悉集成电路的引脚安排。 1.2设计指标1.以24为一个周期,且具有自动清零功能。 2.能显示当前计数状态。 1.3设计要求1.画出总体设计框图,以说明计数器由哪些相对独立的功能模块组成,标出各个模块之间互相联系,时钟信号传输路径、方向。 并以文字对原理作辅助说明。 2.设计各个功能模块的电路图,加上原理说明。 3.选择合适的元器件,利用multisim仿真软件验证、调试各个功能模块的电路,在接线验证时设计、选择合适的输入信号和输出方式,在确定电路充分正确性同时,输入信号和输出方式要便于电路的测试和故障排除。 4.在验证各个功能模块基础上,对整个电路的元器件和布线进行合理布局。 5.打印PCB板,腐蚀,钻孔,插元器件,焊接再就对整个计数器电路进行调试。

2.设计思路与总体框图.计数器由计数器、译码器、显示器三部分电路组成,再由555定时器组成的多谐振荡器来产生方波,充当计数脉冲来作为计数器的时钟信号,计数结果通过译码器显示。 图1所示为计数器的一般结构框图。 十位数码显示管译码驱动异步清零计数器计数脉冲(由555电路产生)个位位数码示像管译码驱动异步清零计数器强制清零▲图1计数器结构框图3.系统硬件电路的设计3.1555多谐荡电路555多谐振荡电路由NE555P芯片、电阻和电容组成。 由NE555P的3脚输出方波。 ▲图2555电路3.2计数器电路集成计数芯片一般都设置有清零输入端和置数输入端,而且无论是清零还是置数都有同步和异步之分。 有的集成计数器采用同步方式,即当CP触发沿到来时才能完成清零或置数任务;有的集成计数器则采用异步方式,即通过触发器的异步输入端来直接实现清零或置数,与CP信号无关。 本设计采用异步清零。 由2片十进制同步加法计数器74LS160(图2-1-1)、一片与非门74LS00(图2-1-2)和相应的电阻、开关。 由外加送来的计数脉冲(由555电路产生)送入两个计数器的CLK端,电路在计数脉冲的作用下按二进制自然序依次递增1,当个位计数到9时,输出进位信号给十位充当使能信号进位。

嵌入式--计算器--实验报告

计算器设计实验报告 一、实验设计主要分工 04009320 文斌:算法设计,LCD显示。 04** 张希:界面(按钮控件)设计,文件内容读取。 共同调试、完善设计。 二、程序设计实现功能效果 (1)支持整数、小数基本加减乘除运算; (2)有优先级的判别计算。优先级由高到低一次为括号运算、乘除运算、加减运算。(3)支持键盘输入和触摸屏输入; (4)能读取指定目录下文本内容(内容为计算表达式)并计算得出结果,将内容和结果显示在LCD上。 程序任务开始后,等待键盘或触摸屏的输入。输入键有0~9数字键、+-*/()运算符、del退格键、clear清屏键、read读指定目录文本内容并计算键、enter'='键、‘.’小数点键。 每当有字符输入时,触摸屏相应键显示“AAA”,100ms后恢复原相应按键符号,同时LCD 屏幕上显示相应字符。当输入'del'键时,屏幕显示去掉最后一位字符。当输入'='号后,得出计算结果,结果显示于表达式的下一行。若是除零错误,则结果显示为“/0ERROR!”。若有非法字符(触摸点不能识别为设计按键符则视为非法字符),则结果输出为“Syntax Error!!”。若表达式有运算符连续输入,则忽略前面的运算符,只取最后一位运算符计算,正常显示数字结果。当输入'clear'键时,情况显示区域。当输入'read'键时,从指定目录文本文件中读取表达式并计算。将表达式内容和计算结果显示在LCD上。 三、程序算法实现 1、计算算法 首先将输入的0~9数字、+-*/()运算符的内容存储于一个全局变量cal[number]中, 表达为中缀表达式。用void str2repol()函数,将输入字符串cal[number]转换成逆波 兰表达式并存于全局数组char repol[maxs]中。str2repol()函数中缀表达式转成逆波兰 后缀表达式算法如下: (1)首先构造一个运算符栈stack[maxs],此运算符在栈内遵循越往栈顶优先级越高的 原则。

数字时钟设计实验报告

数字时钟设计实验报告

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

数字时钟设计实验报告一、设计要求: 设计一个24小时制的数字时钟。 要求:计时、显示精度到秒;有校时功能。采用中小规模集成电路设计。 发挥:增加闹钟功能。 二、设计方案: 由秒时钟信号发生器、计时电路和校时电路构成电路。 秒时钟信号发生器可由振荡器和分频器构成。 计时电路中采用两个60进制计数器分别完成秒计时和分计时;24进制计数器完成时计时;采用译码器将计数器的输出译码后送七段数码管显示。 校时电路采用开关控制时、分、秒计数器的时钟信号为校时脉冲以完成校时。 三、电路框图:

图一 数字时钟电路框图 四、电路原理图: (一)秒脉冲信号发生器 秒脉冲信号发生器是数字电子钟的核心部分,它的精度和稳定度决定了数字钟的质量。由振荡器与分频器组合产生秒脉冲信号。 ? 振荡器: 通常用555定时器与RC 构成的多谐振荡器,经过调整输出1000Hz 脉冲。 ? 分频器: 分频器功能主要有两个,一是产生标准秒脉冲信号,一是提供功能 扩展电路所需要的信号,选用三片74LS290进行级联,因为每片为1/10分频器,三片级联好获得1Hz 标准秒脉冲。其电路图如下: 图二 秒脉冲信号发生器 译译译时计 分计秒计 校 时 电 路 秒信号发生器

(二)秒、分、时计时器电路设计 秒、分计数器为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进制计数和进位功能。利用74LS161和74LS11设计6进制计数器显示秒的十位,当十位计数器由0增加到5时利用74LS11与门产生一个高电平接到个位、十位的CD40110的清零端,同时产生一个脉冲给时的个位。其电路图如下:

基于单片机的光电计数器课程设计

计控学院 College of computer and control engineering Qiqihar university 电气工程课程设计报告题目:基于单片机的光电计数器 系别电气工程系 专业班级电气123班 学生姓名宋恺 学号2012024073 指导教师李艳东 提交日期 2015年6月 24日 成绩

电气工程课程设计报告 摘要 光电计数器是利用光电元件制成的自动计数装置。其工作原理是从光源发出的一束平行光照射在光电元件(如光电管、光敏电阻等)上,每当这束光被遮挡一次时,光电元件的工作状态就改变一次,通过放大器可使计数器记下被遮挡的次数。光电计数器的应用范围非常广泛,常用于记录成品数量,例如绕线机线圈匝数的检测、点钞机纸币张数的检测、复印机纸张数量的检测,或展览会参观者人数。 光电计数器与机械计数器相比,具有可靠性高、体积小、技术频率高、能和计算机链接实现自动控制等优点。本文即介绍基于MCS-51单片机的光电技术器。 关键词:单片机;光电计数器;数码显示;自动报警

齐齐哈尔大学计控学院电气工程系课程设计报告 目录 1 设计目的及意义 (1) 2 设计内容 (1) 2.1 系统整体设计 (1) 2.1.1 实验方案 (1) 2.1.2 光电计数器结构框图 (2) 图1 光电计数器结构框图 (2) 2.2系统硬件设计 (2) 2.2.1稳压直流电源电路 (2) 2.2.2发射接收电路 (3) 2.2.3显示电路 (3) 2.2.4报警电路 (4) 2.2.5硬件系统 (4) 2.3系统软件设计 (6) 3 结论7 4 参考文献 (8)

java计算器实验报告

Java计算器实验报告 计算机032 胡勇健 03095218 2005年5月5日

目录 1.设计名称与要求 2.各模块功能的介绍和实现3.系统的特色和不足4.参考书

一. 实验名称及其要求: A)名称: java计算器的设计 B)要求:1.实验目的:图形界面设计。 熟悉java.awt包中的组件,掌握图形界面设计方法,理解委托事件处理模型。 2.题意: 请设计并实现Windows系统中“计算器”的窗口及功能。 3.实验要求: (1)设计图形界面添加菜单:窗口上添加各种组件及菜单,并处理组件及菜单的事件监听程序。 (2)运算:实现多种运算,保证运算正确性。 二.各模块功能的介绍和实现: A)GUI图形界面的组件: a)所用到的Java类库包: java.awt.*; 基本的图形界面组件来源于awt包。 java.awt.event.*; 事件的属性处理来源于awt.event包。 javax.swing.*; swing组件增加了awt包中所不具备的各种优越功能。 java.awt.datatransfer.*; 用于计算器与外部的程序进行复制粘贴。 b)所用的各部分图形组件的定义: Frame mainFrame; //主框架 JTextField answerText; //显示计算结果 JTextField memoryState; //显示计算器内存的使用情况MenuBar menuGroup; //菜单栏 Menu editMenu,viewMenu,helpMenu; //编辑,查看,帮助菜单 MenuItem copyItem,pasteItem; //复制,粘贴 MenuItem standardModel; //标准型 CheckboxMenuItem numGroup; //数字分组 MenuItem aboutCal; //关于计算器 Button buttonBackSpace,buttonCE,buttonC; //退格,清除,清空按钮 Button buttonMC,buttonMR,buttonMS,buttonMADD; //内存操作按钮 Button buttonNum[]; //数字按钮 Button buttonAdd,buttonSub,buttonMul,buttonDiv; //+,-,*,/ Button buttonDot,buttonSign,buttonEqual; //. +/- =

计数器实验报告

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

运算器实验报告模板

脱机运算器实验报告 理论课教师姓名:高金山实验指导教师:刘万成 组号:姓名:闫麟阁学号:12281212 实验目的: (1)了解脱机操作下AM2901运算器的功能与控制信号的使用,了解运算器AM2901的内部结构及工作时序,观察运算器运算的结果对状态标志的影响。 (2)深入了解AM2901运算器的功能与具体用法,掌握用AM2901完成各种运算操作时各控制信号的使用,观察指令执行的结果对状态标志的影响;了解4片AM2901的级联方式,深化运算器部件的组成、设计、控制与使用等诸项知识。 实验内容: 1.将教学机左下方的5个拨动开关置为1XXOO(单步、16位、脱机);先按一下“RESET”按键,再按一下“START”按键,进行初始化。 2.接下来,按下表所列的操作在机器上进行运算器脱机实验,将结果填入表中:其中D1取为0101H,D2取为1010H;通过两个12位的红色微型开关向运算器提供控制信号,通过16位数据开关向运算器提供数据,通过指示灯观察运算结果及状态标志。 运算器实验(1) 实验结果分析(每人选择2个操作运算进行控制信号取值和运算结果值的分析):

此式的功能是R0∨R1然后将值赋给R1,由于有两个值,所以A、B口均有对应地址输入,B 对应的是R0,所以B的地址为0001,A对应的是R1,所以A的地址为0000。因为最后的值存储到B口多对应的地址并输出,所以I8-I6所选值为011;该式实现的是并运算,所以I5-I3所选值为011;数据来源是A和B,所以I2-I0所选值为001。 该式接受ALU的标志位输出的值,所以SST所选值为001;该式执行的并(SUB),所以SSH SCI 所选值为000。 因为R0=0101,R1=1010,所以按START前ALU的输出值为0F0F,故输出值为0F0F。 此时的功能是实现R0的逻辑左移功能,由于只有一个值,所以只有B口有对应地址输入,B对应的是R0,所以B的地址为0000。因为最后的值存储到B口对应的地址并输出,所以I8-I6所选值为111,;该式实现的是逻辑左移,所以I5-I3取000(加法);数据来源是B,所以I2-I0所选值为011。 该式是左移操作,另三个标志不变,所以SST所选值为110;SSH SCI所选值为100。 因为R0=FEFE,实现逻辑左移后补0,所以按START之前R0为FEFE,按START后R0变为FDFC。 运算器实验(2) 实验步骤 将教学机左下方的5个拨动开关置为1XX00(单步、16位、脱机);先按一下“RESET”按键,再按一下“START”按键,进行初始化。接下来,按下表所列的操作在机器上进行运算器脱机实验,将结果填入表中:

自动计数器课程设计..

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

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

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段数码显示器两个。

数字电路实验报告——进制计数器逻辑功能及其应用

24进制计数器逻辑功能及其应用 一、实验目的: 1. 熟悉中等规模集成电路计数器74LS160的逻辑功能,使用方法及应用。 2. 掌握构成计数器的方法。 二、实验设备及器件: 1. 数字逻辑电路实验板1片 2. 74HC90同步加法二进制计数器2片 3. 74HC00二输入四与非门1片 4. 74HC04 非门1片 三、实验原理: 计数器是一个用以实现计数功能的时序部件,它不仅可用来计脉冲数,还常用作数字系统的定时、分频和执行数字运算以及其它特定的逻辑功能。 计数器种类很多。按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。根据计数制的不同,分为二进制计数器,十进制计数器和任意进制计数器。根据计数的增减趋势,又分为加法、减法和可逆计数器。还有可预置数和可编程序功能计数器等等。目前,无论是TTL还是CMOS集成电路,都有品种较齐全的中规模集成计数器。使用者只要借助于器件手册提供的功能表和工作波形图以及引出端的排列,就能正确地运用这些器件。 集成计数器74HC90是二-五-十进制计数器,其管脚排列如图。

四、实验内容

实验电路图: 用74HC00与非门和74HC04的非门串联,构成与门。74HC00的引脚图和真值表如图:

74HC04的引脚图与真值表如图: 按实验电路图,参照各个芯片的引脚图和真值表,连接电路。其中Q0到Q3分别连到数码管的对应的D0到D3,CP0端接到时钟脉冲,然后检查电路无误后,加电源,观察现象。实验结果:个位数码管随时间显示0、1、2、3、4、5、6、7、8、9,十位数码管显示个位进位计数结果,按0、1、2变化,当数字增加到23后,数码管自动清零,又从零开始变化。 五、实验心得: 本次实验,通过对计数器工作过程的探索,基本上了解了数码计数器的工作原理,以及74HC160的数字特点,让我更进一步掌握了如何做好数字电子数字实验,也让我认识到自身理论知识的不足和实践能力的差距,以及对理论结合实践的科学方法有了更深刻理解。

数电课程设计报告

数电课程设计报告 第一章设计背景与要求 设计要求 第二章系统概述 设计思想与方案选择 各功能块的组成 工作原理 第三章单元电路设计与分析 各单元电路的选择 设计及工作原理分析 第四章电路的组构与调试 遇到的主要问题 现象记录及原因分析 解决措施及效果 功能的测试方法,步骤,记录的数据 第五章结束语 对设计题目的结论性意见及进一步改进的意向说明总结设计的收获与体会 附图(电路总图及各个模块详图) 参考文献 第一章设计背景与要求 一.设计背景与要求

在公共场所,例如车站、码头,准确的时间显得特别重要,否则很有可能给外出办事即旅行袋来麻烦。数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确度和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。数字钟是一种典型的数字电路,包括了组合逻辑电路和时序电路。 设计一个简易数字钟,具有整点报时和校时功能。 (1)以四位LED数码管显示时、分,时为二十四进制。 (2)时、分显示数字之间以小数点间隔,小数点以1Hz频率、50%占空比的亮、灭规律表示秒计时。 (3)整点报时采用蜂鸣器实现。每当整点前控制蜂鸣器以低频鸣响4次,响1s、停1s,直到整点前一秒以高频响1s,整点时结束。 (4)才用两个按键分别控制“校时”或“校分”。按下校时键时,是显示值以0~23循环变化;按下“校分”键时,分显示值以0~59循环变化,但时显示值不能变化。 二.设计要求 电子技术是一门实践性很强的课程,加强工程训练,特别是技能的培养,对于培养学生的素质和能力具有十分重要的作用。在电子信息类本科教学中,课程设计是一个重要的实践环节,它包括选择课题、电子电路设计、组装、调试和编写总结报告等实践内容。通过本次简易数字钟的设计,初步掌握电子线路的设计、组装及调试方法。即根据设计要求,查阅文献资料,收集、分析类似电路的性能,并通过组装调试等实践活动,使电路达到性能要求。 第二章系统概述 设计思想与方案选择 方案一,利用数字电路中学习的六十进制和二十四进制计数器和三八译码器来实现数字中的时间显示。 方案二,利用AT89S51单片机和74HC573八位锁存器以及利用C语言对AT89S51进行编程来实现数字钟的时间显示。 由于方案一通过数电的学习我们都比较熟悉,而方案二比较复杂,涉及到比较多我们没学过的内容,所以选择方案一来实施。 简易数字钟电路主体部分是三个计数器,秒、分计数器采用六十进制计 数器,而时计数器采用二十四进制计数器,其中分、时计数器的计数脉 冲由

电子实验报告用D触发器做十进制计数器

计数器实际上是对时钟脉冲进行计数,每来一个脉冲,计数器状态改变一次。 8421 BCD 码十进制加计数器在每个时钟脉冲作用下,触发器输出编码值加 1, 编码顺序与8421 BCD 码一样,每个时钟脉冲完成一个计数周期。由于电路的状 态数、状态转换关系及状态编码都是明确的,因此设计过程较简单。 4. 实验过程 1) 列出状态表 十进制计数器共有十个状态,需要4个D 触发器构成,其状态表1-1所示。 表1-18421 BCD 码同步十进制加计数器的状态表 计数脉冲 CP 的顺序 状态 状态(激励信号) Q3 Q2 Q1 Q0 Q3 (D3) Q2 (D2) Q1 (D1) Q3 (0D0) 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 2 0 0 1 0 0 0 1 1 3 0 0 1 1 0 1 0 0 4 0 1 0 0 0 1 0 1 5 0 1 0 1 0 1 1 0 6 0 1 1 0 0 1 1 1 7 1 1 1 1 1. 实验内容 用D 触发器设计一个同步十进制计数器 2. 实验器材 3. 实验原理

10 0 1 (2)确定激励方程组 按表1-1可画出触发器激励信号的卡诺图,如图 4个触发器组合16个状态(0000 - 1111),其中有6个转台(1010 - 1111 )在 8421 BCD 码十进制计数器中是无效状态, 表示。于是,得到激励方程组: 1-1所示。 在图 1-1所示的卡诺图中以无关项X Q Q ; Q. y Q" r Q, Q, Q ; Qs Q. < y Q :

图1-1 (3)画出逻辑图,并且检查自启动能力 检查激励方程组可画出逻辑图,如图1-2所示。 为之地电平有效,如果系统没有复位信号,电路的 平计数器能够正常工作。 卡诺图 图中,各触发器的直接置0端 RESET 输入端应保持为高电

计算机组成原理运算器实验报告

计算机组成原理实验一 运算器实验 一、实验目的: 1、掌握简单运算器的数据传输方式。 2、验证运算功能发生器(74LS181)及进位控制的组合功能。 二、实验要求: 完成不带进位及带进位算数运算实验、逻辑运算实验,了解算数逻辑运算单元的运用。 三、实验原理: 74LS181是4位算术逻辑运算器,用两个74LS181并联可以实

现8位运算,为了实现双操作的运算,ALU 的输入端分别由两个锁存器DR1,DR2锁存数据。数据显示灯和数据总线相连接,用来显示数据总线上的内容。由于实验电路中的时序信号均已连接至W /RUIT相应的时序信号引出端,只要微动开关,即可获得实验所需的单脉冲。 四、 实验连接: 1.八位运算器控制信号连接: S3,S2,S1,S0,M ,/CN ,LDDR1,LDDR2,LDCZY ,/SW-B ,/ALU-B ,Cn+4 Cn+4I 2.完成连接并检查无误后接通电源。 五、实验仪器状态设定: 在闪动的“P.”状态下按动“增址”命令键,使LED 显示器自左向右第一位显示提示符“H ”,表示本装置已进入手动单元实验状态。 五、 实验项目: (一)算数运算实验 拨动二进制数据开关向DR1和DR2寄存器置数(灯亮为1,灯灭为0)。 步骤如下: [CBA=001] [LDDR1=1] [LDDR1=0] [LDDR2=0] [LDDR2=1] 数据开关 (01100101) 三态门 寄存器DR1 (01100101) 数据开关 (10100111) 寄存器DR2 (10100111)

[“按STEP”] [“按STEP”] 然后检查数据: 1.关闭数据输入三态门(CBA=000) 2.打开ALU输出三态门(CBA=010) 3.当置S3,S2,S1,S0,M为11111时,总线指示灯显示DR1中的数 4.当置S3,S2,S1,S0,M为10101时,总线指示灯显示DR2中的数 算数运算(不带进位)实验: 置CBA=010,S3,S2,S1,S0,M,/CN为100101,LDCZY=0,则数据总线指示灯显示00001100(0CH) (二)进位控制实验 (1)进位标志清零 CBA=000 置S3,S2,S1,S0,M为00000 置/CN为0,LDCZY为1 按STEP (2)向DR1和DR2置数(同上) (3)验证进位运算及进位锁存功能,使/CN=1,LDCZY=1,来进行算数运算。 给定DR1=65,DR2=A7,改变运算器功能(逻辑或非运算方法见逻辑运算实验),得到运算器输出记录如下: DR1 DR2 S3 S2 S1 S0 M=0 (算数运算) M=1 (逻辑运算)CN=1 无进位 CN=0 有进位 65 A7 0000 F=(65)F=(66)F=(9A) 0001 F=(E7)F=(E8)F=(18) 0010 F=(7D)F=(7E)F=(82) 0011 F=(FF)F=(0)F=(0) 0100 F=(A5)F=(A6)F=(82) 0101 F=(27)F=(B8)F=(58) 0110 F=(BD)F=(-42)F=(C2) 0111 F=(3F)F=(40)F=(40) 1000 F=(8A)F=(E3)F=(BF) 1001 F=(C)F=(10D)F=(3D) 1010 F=(A2)F=(BE)F=(A7) 1011 F=(25)F=(7D)F=(7D) 1100 F=(CA)F=(CB)F=(1) 1101 F=(4C)F=(DD)F=(7D) 1110 F=(E2)F=(E3)F=(77) 1111 F=(64)F=(65)F=(65)

相关文档