文档库 最新最全的文档下载
当前位置:文档库 › EDA实验报告(四选一、四位比较器、加法器、计数器、巴克码发生器)解析

EDA实验报告(四选一、四位比较器、加法器、计数器、巴克码发生器)解析

EDA实验报告(四选一、四位比较器、加法器、计数器、巴克码发生器)解析
EDA实验报告(四选一、四位比较器、加法器、计数器、巴克码发生器)解析

EDA实验报告

实验14选1数据选择器的设计

一、实验目的

1.学习EDA软件的基本操作。

2.学习使用原理图进行设计输入。

3.初步掌握器件设计输入、编译、仿真和编程的过程。

4.学习实验开发系统的使用方法。

二、实验仪器与器材

1.EDA开发软件一套

2.微机一台

3.实验开发系统一台

4.打印机一台

三、实验说明

本实验通过使用基本门电路完成4选1数据选择器的设计,初步掌握EDA设计方法中的设计输入、编译、综合、仿真和编程的过程。实验结果可通过实验开发系统验证,在实验开发系统上选择高、低电平开关作为输入,选择发光二极管显示输出电平值。

本实验使用Quartus II 软件作为设计工具,要求熟悉Quartus II 软件的使用环境和基本操作,如设计输入、编译和适配的过程等。

实验中的设计文件要求用原理图方法输入,实验时,注意原理图编辑器的使用方法。例如,元件、连线、网络名的放置方法和放大、缩小、存盘、退出等命令的使用。学会管脚锁定以及编程下载的方法等。

四、实验要求

1.完成4选1数据选择器的原理图输入并进行编译;

2.对设计的电路进行仿真验证;

3.编程下载并在实验开发系统上验证设计结果。

五、实验结果

4选1数据选择器的原理图:

仿真波形图:

管脚分配:

实验2 四位比较器

一、实验目的

1.设计四位二进制码比较器,并在实验开发系统上验证。 2.学习层次化设计方法。 二、实验仪器与器材

1.EDA 开发软件 一套 2.微机 一台 3.实验开发系统 一台 4.打印机 一台 5.其它器件与材料 若干 三、实验说明

本实验实现两个4位二进制码的比较器,输入为两个4位二进制码0123A A A A 和0123B B B B ,输出为M (A=B )

,G (A>B )和L (A

四、实验要求

1.用硬件描述语言编写四位二进制码 比较器的源文件; 2.对设计进行仿真验证; 3.编程下载并在实验开发系统上进行 硬件验证。

四位比较器功能框图 五、实验结果

四位比较器VHDL 源文件:

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity comp4 is port (A:in std_logic_vector(3 downto 0); B:in std_logic_vector(3 downto 0); M,G ,L:out std_logic); end comp4;

architecture behave of comp4 is begin p1: process(A,B) begin

COMP4

3A 2A 1A 0A 3B 2B 1B 0B G M L

if (A>B) then G<='1';M<='0';L<='0';

elsif (A

elsif (A=B) then G<='0';M<='1';L<='0';

else G<='1';M<='1';L<='1';

end if;

end process p1;

end behave;

仿真波形图:

管脚分配:

试验3 并行加法器设计

一、试验目的

1.设计一个4位加法器。

2.体会用VHDL 进行逻辑描述的优点。 3,熟悉层次化设计方法。 二、试验仪器与器材

1.EDA 开发软件 一套

2.微机 一台

3.试验开发系统 一台

4.打印机 一台

5.其他器材和材料 若干 三、试验说明

本试验实现一个4位二进制数加法器,其功能框图如图所示。试验时用高低电平开关作为输入,用数码管作为输出(或用发光二极管),管脚锁定可根据试验系统自行安排。

四、实验要求

1.用硬件描述语言编写4位二进制数全加器的源文件; 2.对设计文件进行编译; 3.仿真设计文件;

4.编程下载并进行试验验证。 五、试验结果

4位二进制全加器的源文件: library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity add4 is port (a:in std_logic_vector(3 downto 0);

adder4

a2 a1 a0 b3 b2 b1 b0 ci

s3 s2 s1 s0

co

全加器功能框图

a3

b:in std_logic_vector(3 downto 0);

ci:in std_logic;

s:out std_logic_vector(3 downto 0);

co:out std_logic);

end add4;

architecture behave of add4 is

signal aa,bb,sum: std_logic_vector(4 downto 0); begin

aa<='0'& a;

bb<='0'& b;

sum<=aa+bb+ci;

s<=sum(3 downto 0);

co<=sum(4);

end behave;

仿真波形图:

管脚分配:

实验4 计数器设计

一、实验目的

计数器是实际中最为常用的时序电路模块之一,本实验的主要目的是掌握使用HDL描述计数器类型模块的基本方法。

二、实验仪器与器材

1.EDA开发软件一套

2.微机一台

3.实验开发系统一台

4.打印机一台

5.其他器材与材料若干

三、实验说明

计数器是数字电路系统中最重要的功能模块之一,设计时可以采用原理图或HDL语言完成。下载验证时的计数时钟可选连续或单脉冲,并用数码管显示计数值。

四、实验要求

1.设计一个带有计数允许输入端、复位输入端和进位输入端的十进制计数器。

2.编制仿真测试文件,并进行功能仿真。

3.下载并验证计数器功能。

4.为上述设计建立元件符号。

5.在上述基础上分别设计按8421BCD码和二进制计数的100进制同步计数器。

五、实验结果

十进制计数器程序:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity counter10 is

port(

reset,clk,en: in bit;

co : out bit;

q : out std_logic_vector(0 to 3)

);

end entity counter10;

architecture ar_counter10 of counter10 is

signal cq: std_logic_vector(0 to 3);

begin

p1: process (clk,en,reset)

variable cnt: integer range 0 to 10 :=0 ;

begin

if (reset='0') then

if (clk'event and clk='1') then

if ( en='1' ) then

cnt:=cnt+1;

cq <=cq+1;

if (cnt=10) then

co<='1';

cnt:=0;

cq<="0000";

else

co<='0';

end if;

end if;

end if;

else

cnt:=0;

co<='0';

cq<="0000";

end if;

q<=cq;

end process p1;

end architecture ar_counter10;

仿真波形图:

管脚分配:

4_7译码器程序:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;

entity BCD is

port (a:in std_logic_vector(3 downto 0);

b:out std_logic_vector(6 downto 0)); end BCD;

architecture rt of BCD is

signal indata:std_logic_vector(3 downto 0); begin

indata<=a;

process(indata)

begin

case indata is

when "0000"=> b <="1000000";

when "0001"=> b <="1111001";

when "0010"=> b <="0100100";

when "0011"=> b <="0110000";

when "0100"=> b <="0011001";

when "0101"=> b <="0010010";

when "0110"=> b <="0000010";

when "0111"=> b <="1111000";

when "1000"=> b <="0000000";

when "1001"=> b <="0010000";

when others=> b <="1111111";

end case;

end process;

end rt;

BCD引脚分配

BCD仿真波形

分频器程序

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity fenpinqi is

port(

clk : in bit;

oclk : out bit

);

end entity fenpinqi;

architecture ar_fpq of fenpinqi is

signal inclk: bit;

signal number: integer range 0 to 30000000 :=0; begin

p0: process (clk)

begin

if (clk'event and clk='1') then

if (number=24999999) then

number<=0;

inclk<=not inclk;

else

number<=number+1;

inclk<=inclk;

end if;

end if;

oclk<=inclk;

end process p0;

end architecture ar_fpq;

10进制计数器原理图

100进制计数器原理图:

仿真波形图:

管脚分配:

100进制计数器的另一种做法:100进制计数器程序:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity counter100 is

port(

reset,clk,en: in bit;

co : buffer bit;

coo : out bit;

qb : out std_logic_vector(0 to 3);

qa : out std_logic_vector(0 to 3)

);

end entity counter100;

architecture ar_counter of counter100 is signal bq: std_logic_vector(0 to 3);

signal cq: std_logic_vector(0 to 3);

begin

p1: process (clk,en,reset)

variable cnt: integer range 0 to 10 :=0 ; begin

if (reset='0') then

if (clk'event and clk='1') then

if ( en='1' ) then

cnt:=cnt+1;

cq <=cq+1;

if (cnt=10) then

co<='1';

cnt:=0;

cq<="0000";

else

co<='0';

end if;

end if;

end if;

else

cnt:=0;

co<='0';

cq<="0000";

end if;

qa<=cq;

end process p1;

p3:process(co)

variable cnt1: integer range 0 to 10 :=0 ;

begin

if (reset='0') then

if (co='1') then

cnt1:=cnt1+1;

bq <=bq+1;

if (cnt1=10) then

coo<='1';

cnt1:=0;

bq<="0000";

else

coo<='0';

end if;

end if;

else

cnt1:=0;

coo<='0';

bq<="0000";

end if;

qb<=bq;

end process p3;

end architecture ar_counter;

100进制计数器原理图

实验5 巴克码发生器

一、实验目的

1.实现一个在通信领域中经常使用的巴克码发生器。

2.掌握用大规模可编程逻辑器件实现时序电路的方法。

二、实验仪器与器材

1.EDA开发软件一套

2.微机一台

3.实验开发系统一台

4.打印机一台

5.其它器件与材料若干

三、实验说明

巴克码发生器在数据通信、雷达和遥控领域有相当广泛的应用。它能自动产生周期性的序列码。本实验要求产生的序列码信号为(1110010),可以用寄存器或同步时序电路实现。为了能够通过实验开发系统验证试验结果,可以使用两个输入端,其中一个输出端同时输出巴克码,另一个输出端输出节拍。巴克码发生器的功能框图如图所示。

四、实验要求

1.写出全部设计文件。

2.编写测试向量,进行功能仿真。

3.下载并用实验板验证。

五、实验结果

巴克码发生器程序:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity BAKE is

port (

reset,clk : in bit;

bakemaout : out bit

);

end entity BAKE;

architecture ar_bakema of BAKE is

signal con: integer range 0 to 8 :=0;

begin

process (clk,reset)

begin

if (reset='1') then

con<=0;

elsif (clk'event and clk='1') then

if (con<7) then

con<=con+1;

else

con<=1;

end if;

end if;

end process;

process (con)

begin

case con is

when 0 => bakemaout<='0';

when 1 => bakemaout<='1';

when 2 => bakemaout<='1';

when 3 => bakemaout<='1';

when 4 => bakemaout<='0';

when 5 => bakemaout<='0';

when 6 => bakemaout<='1';

when 7 => bakemaout<='0';

when others => null;

end case;

end process;

end architecture ar_bakema;

巴克码原理图

仿真波形图:

管脚分配:

集成计数器及寄存器的运用 实验报告

电子通信与软件工程 系2013-2014学年第2学期 《数字电路与逻辑设计实验》实验报告 --------------------------------------------------------------------------------------------------------------------- 班级: 姓名: 学号: 成绩: 同组成员: 姓名: 学号: --------------------------------------------------------------------------------------------------------------------- 一、 实验名称:集成计数器及寄存器的运用 二、实验目的: 1、熟悉集成计数器逻辑功能与各控制端作用。 2、掌握计数器使用方法。 三、 实验内容及步骤: 1、集成计数器74LS90功能测试。74LS90就是二一五一十进制异步计数器。逻辑简图为图8、1所示。 四、 五、 图8、1 六、 74LS90具有下述功能: ·直接置0(1)0(2)0(.1)R R ,直接置9(S9(1,·S,.:,=1) ·二进制计数(CP 、输入QA 输出) ·五进制计数(CP 2输入Q D Q C Q B 箱出) ·十进制计数(两种接法如图8.2A 、B 所示) ·按芯片引脚图分别测试上述功能,并填入表 8、1、表8、2、表8、3中。

图8、2 十进制计数器 2、计数器级连 分别用2片74LS90计数器级连成二一五混合进制、十进制计数器。 3、任意进制计数器设计方法 采用脉冲反馈法(称复位法或置位法)。可用74LS90组成任意模(M)计数器。图8、3就是用74LS90实现模7计数器的两种方案,图(A)采用复位法。即计数计到M异步清0。图(B)采用置位法,即计数计到M一1异步置0。 图8、3 74LS90 实现七进进制计数方法 (1)按图8、3接线,进行验证。 (2)设计一个九进制计数器并接线验证。 (3)记录上述实验的同步波形图。 四、实验结果:

4位全加器实验报告

四位全加器 11微电子黄跃21 【实验目的】 采用modelsim集成开发环境,利用verilog硬件描述语言中行为描述模式、结构描述模式或数据流描述模式设计四位进位加法器。 【实验内容】 加法器是数字系统中的基本逻辑器件。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 实现多位二进制数相加的电路称为加法器,它能解决二进制中1+1=10的功能(当然还有 0+0、0+1、1+0). 【实验原理】

表2 全加器逻辑功能真值表 图4 全加器方框图 图5 全加器原理图 多位全加器连接可以是逐位进位,也可以是超前进位。逐位进位也称串行进位,其逻辑电路简单,但速度也较低。 四位全加器 如图9所示,四位全加器是由半加器和一位全加器组建而成: 图9 四位全加器原理图 【实验步骤】 (1)建立新工程项目: 打开modelsim软件,进入集成开发环境,点击File→New project建立一

个工程项目adder_4bit。 建立文本编辑文件: 点击File→New在该项目下新建Verilog源程序文件 并且输入源程序。 (2)编译和仿真工程项目: 在verilog主页面下,选择Compile— Compile All或点击工具栏上的按钮启动编译,直到project出现status栏全勾,即可进行仿真。 选择simulate - start simulate或点击工具栏上的按钮开始仿真,在跳出来的 start simulate框中选择work-test_adder_4bit测试模块,同时撤销Enable Optimisim前的勾,之后选择ok。 在sim-default框内右击选择test_adder_4bit,选择Add Wave,然后选择simulate-run-runall,观察波形,得出结论,仿真结束。 四位全加器 1、原理图设计 如图9所示,四位全加器是由半加器和一位全加器组建而成: 图9 四位全加器原理图 【仿真和测试结果】 下图为四位全加器的仿真图:

四位二进制同步加法计数器(缺0011 0100 0101 0110)

成绩评定表

课程设计任务书

摘要 本次课设题目为四位二进制加法计数器(缺0011 0100 0101 0110)。 首先在QuartusII8.1中建立名为count16的工程,用四位二进制加法计数器的VHDL语言实现了四位二进制加法计数器的仿真波形图,同时进行相关操作,锁定了所需管脚,将其下载到实验箱。 然后,在Multisim软件中,通过选用四个时钟脉冲下降沿触发的JK触发器和同步电路,画出其时序图,卡诺图,建立相关方程,做出相关计算,完成四位二进制加法计数器(缺0011 0100 0101 0110)的驱动方程。在Multisim软件里画出了四位二进制加法计数器的逻辑电路图。经过运行,分析由红绿灯的亮灭顺序及状态,和逻辑分析仪里出现波形图。说明四位二进制加法计数器顺利完成。 关键词:计数器;VHDL语言;仿真;触发器。

目录 一、课程设计目的 (1) 二、设计框图 (1) 三、实现过程 (2) 1、QUARTUS II实现过程 (2) 1.1建立工程 (2) 1.2编译程序 (7) 1.3波形仿真 (10) 1.4 仿真结果分析 (14) 1.5引脚锁定与下载 (14) 2、MULTISIM实现过程 (16) 2.1求驱动方程 (16) 2.2画逻辑电路图 (19) 2.3逻辑分析仪的仿真 (20) 2.4结果分析 (21) 2.5自启动判断 (22) 四、总结 (23) 五、参考书目 (24)

一、课程设计目的 1 了解同步加法计数器工作原理和逻辑功能。 2 掌握计数器电路的分析、设计方法及应用。 3 学会正确使用JK 触发器。 二、设计框图 状态转换图是描述时序电路的一种方法,具有形象直观的特点,即其把所用触发器的状态转换关系及转换条件用几何图形表示出来,十分清新,便于查看。 在本课程设计中,四位二进制同步加法计数器用四个CP 下降沿触发的JK 触发器实现,其中有相应的跳变,即跳过了0011 0100 0101 0110四个状态,这在状态转换图中可以清晰地显示出来。具体结构示意框图和状态转换图如下: 1010 101111001101111011110 /1 /1000 101101110010000100000/0/0/0/0/0/0/0/0/0/????←????←????←????←????←↓↑???→????→????→????→????→? B:状态转换图

实验五 时序逻辑电路实验报告 计数器

实验五 时序逻辑电路实验 一、实验目的 1.掌握同步计数器设计方法与测试方法。 2.掌握常用中规模集成计数器的逻辑功能和使用方法。 二、实验设备 1.直流稳压电源、信号源、示波器、万用表、面包板 2.74LS190、74LS393、74LS04 3.1kΩ电阻、发光二极管 三、实验原理 1.计数器 计数器不仅可用来计数,也可用于分频、定时和数字运算。在实际工程应用中,一般很少使用小规模的触发器组成计数器,而是直接选用中规模集成计数器。 2.(1) 四位二进制(十六进制)计数器74LS161(74LS163) 74LSl61是同步置数、异步清零的4位二进制加法计数器,其功能表见表5.1。 74LSl63是同步置数、同步清零的4位二进制加法计数器。除清零为同步外,其他功能与74LSl61相同。二者的外部引脚图也相同,如图5.1所示。 表5.1 74LSl61(74LS163)的功能表 3.集成计数器的应用——实现任意M进制计数器 一般情况任意M进制计数器的结构分为3类,第一类是由触发器构成的简单计数器。第二类是由集成二进制计数器构成计数器。第三类是由移位寄存器构成的移位寄存型计数器。第一类,可利用时序逻辑电路的设计方法步骤进行设计。第二类,当计数器的模M较小时用一片集成计数器即可以实现,当M较大时,可通过多片计数器级联实现。两种实现方法:反馈置数法和反馈清零法。第三类,是由移位寄存器构成的移位寄存型计数器。 4.实验电路: 十进制计数器

六进制扭环计数器 具有方波输出的六分频电路 图5.1 74LS161(74LS163)外部引脚图 四、实验内容及步骤 1.集成计数器实验 (1)按电路原理图使用中规模集成计数器74LS163和与非门74LS00,连接成一个同步置数或同步清零十进制计数器,并将输出连接至数码管或发光二极管。然后使用单次脉冲作为触发输入,观察数码管或发光二极管的变化,记录得到电路计数过程和状态的转换规律。 (2)根据电路图,首先用D触发器74LS7474构成一个不能自启的六进制扭环形计数器,同样将输出连接至数码管或发光二极管。然后使用单次脉冲作为触发输入,观察数码管或发光二极管的变化,记录得到电路计数过程和状态的转换规律。注意观察电路是否能自启,若不能自启,则将电路置位有效状态。接下来再用D触发器74LS7474构成一个能自启的六进制扭环形计数器,重复上述操作。 2.分频实验 同步置数法 同步清零法

实验一四位串行进位加法器的设计实验报告

实验一四位串行进位加法器的设计 一、实验目的 1.理解一位全加器的工作原理 2.掌握串行进位加法器的逻辑原理 3.进一步熟悉Quartus软件的使用,了解设计的全过程, 二、实验内容 1.采用VHDL语言设计四位串行进位的加法器 2.采用画原理图的方法设计四位串行进位加法器 三、实验步骤 1、使用VHDL语言设计 1.打开File—>New Project Wizard输入文件名adder4保存在D盘内,打开File—>New—>VHDL File,从模版中选择库的说明,use语句的说明,实体的说明,结构体的说明,编写VHDL代码,然后保存、编译。打开File—>New—>Other File—>Vector Waveform File,查找引脚,从Edit中选择End Time 输入40、ns 保存。从Assignments—>Settings—>Simulator Settings —>Functional 然后Processing—>Generate Functional Simnlation Netlist —>确定。选择Start Simulation保存最后的波形图,打开File —>close关闭工程。 底层文件: LIBRARY ieee;

USE fadder IS PORT ( a, b,cin : IN STD_LOGIC; s, co : OUT STD_LOGIC ); END fadder; ARCHITECTURE arc1 OF fadder IS BEGIN s<=a xor b xor cin; co<=((a xor b)and cin)or(a and b); END arc1; 顶层文件: LIBRARY ieee; USE adder4 IS PORT ( c0: IN STD_LOGIC; a,b : IN STD_LOGIC_VECTOR(3 DOWNTO 0); s : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); c4 : OUT STD_LOGIC );

EDA 16位加法计数器的设计

北京理工大学 用程序输入方法设计一个16位二进制加法计数器 学院:机械xxxx学院 专业班级:10机械电子工程x班 姓名:陈xx 学号:10xxxxxx 指导教师:xxx 老师

目录 摘要 (1) 1 绪论 (2) 2 计数器的工作原理 (3) 3 设计原理 (4) 4 电路系统的功能仿真 (5) 6 个人小结 (20) 参考文献 (21)

摘要 计数器是数字系统中使用较多的一种时序逻辑器件。计数器的基本功能是统计时钟脉冲的个数,即对脉冲实现计数操作。计数器也可以作为分频、定时、脉冲节拍产生器和脉冲序列产生器使用。计数器的种类很多,按构成计数器中的各触发器是否使用一个时钟脉冲源来分,可分为同步计数器和异步计数器;按进位体制的不同,可分为二进制计数器、十进制计数器和任意进制计数器;按计数过程中数字增减趋势的不同,可分为加法计数器、减法计数器和可逆计数器;还有可预制数和可编计数器等等。本次课程设计将利用众多集成电路软件软件中的Quartus II软件,使用VHDL语言编程完成论文《用程序输入方法设计一个16位二进制加法计数器》,调试结果表明,所设计的计数器正确实现了计数功能。 关键词:二进制;加法计数器;VHDL语言

1 绪论 现代电子设计技术的核心已日趋转向基于计算机的电子设计自动化,即EDA(Electronic Design Automation)技术。EDA技术就是依赖功能强大的计算机,在集成电路软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。一般所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。 EDA工具软件可大致可分为芯片设计辅助软件、可编程芯片辅助设计软件、系统设计辅助软件等三类。常用的EDA工具软件平台有:Matlab、Protel、Proteus、OrCAD以及我们学习的本次课程结课论文所用到的Quartus II等。而且EDA工具软件平台一般都有第三方软件接口,以便于与其他软件联合使用。 本次课程结课论文在设计16位二进制加法计数器时所用到的EDA软件工具平台是Quartus II。Quartus II 是Altera公司的综合性PLD(可编程逻辑器件)开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II 通过和DSP

同步二进制加法计数器

同步二进制加法计数器 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利用进位

加法器实验报告文档2篇

加法器实验报告文档2篇 Adder experiment report document 编订:JinTai College

加法器实验报告文档2篇 小泰温馨提示:实验报告是把实验的目的、方法、过程、结果等记录下来,经过整理,写成的书面汇报。本文档根据实验报告内容要求展开说明,具有实践指导意义,便于学习和使用,本文下载后内容可随意修改调整及打印。 本文简要目录如下:【下载该文档后使用Word打开,按住键盘Ctrl键且鼠标单击目录内容即可跳转到对应篇章】 1、篇章1:加法器实验报告文档 2、篇章2:加法器的基本原理实验报告文档 篇章1:加法器实验报告文档 【实验名称】 【目的与要求】 1.掌握1位全加器的设计 2.学会1位加法器的扩展【实验内容】 1.设计1位全加器

2.将1位全加器扩展为4位全加器 3.使4位的全加器能做加减法运算 【操作步骤】 1.1位全加器的设计 (1)写出1位全加器的真值表 (2)根据真值表写出表达式并化简 (3)画出逻辑电路 (4)用quartusII进行功能仿真,检验逻辑电路是否正确,将仿真波形截图并粘贴于此 (5)如果电路设计正确,将该电路进行封装以用于下一个环节 2.将1位全加器扩展为4位全加器 (1)用1位全加器扩展为4位的全加器,画出电路图 (2)分别用两个4位补码的正数和负数验证加法器的正确性(注意这两 个数之和必须在4位补码的数的范围内,这两个数包括符号在内共4位),用quartusII进行功能仿真并对仿真结果进行截图。

3.将4位的全加器改进为可进行4位加法和减法的运算器 (1)在4位加法器的基础上,对电路进行修改,使该电路不仅能进行加 法运算而且还能进行减法运算。画出该电路 (2)分别用两个4位补码的正数和负数验证该电路的正确性(注意两个 数之和必须在4位补码的数的范围内),用quartusII 进行功能仿真并对仿真结果进行截图。 【附录】 篇章2:加法器的基本原理实验报告文档【按住Ctrl键点此返回目录】 一、实验目的 1、了解加法器的基本原理。掌握组合逻辑电路在Quartus Ⅱ中的图形输入方法及文本输入方法。 2、学习和掌握半加器、全加器的工作和设计原理

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

实验五计数器的设计——实验报告 邱兆丰 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种状态需

计组-加法器实验报告

半加器、全加器、串行进位加法器以及超前进位加法器 一、实验原理 1.一位半加器 A和B异或产生和Sum,与产生进位C 2.一位全加器 将一位半加器集成封装为halfadder元件,使用两个半加器构成一位的全加器 3.4位串行进位加法器 将一位全加器集成封装为Fulladder元件,使用四个构成串行进位加法器

4.超前进位加法器(4位) ⑴AddBlock 产生并行进位链中的ti(即Cthis)和di(即Cpass),以及本位结果Sum ⑵进位链(Cmaker) 四位一组并行进位链,假设与或非门的级延迟时间为1.5ty,与非门的延迟时间为1ty,在di和ti产生之后,只需2.5ty就可产生所有全部进位

⑶超前进位加法器 将以上二者结合起来即可完成,A和B各位作为各个AddBlock的输入,低一位的进位Ci-1作为本位AddBlock的C-1的输入。各个AddBlock输出的C_this和C_pass作为对应的Cmaker的thisi和passi的输入。

二、实验器材 QuartusII仿真软件,实验箱 三、实验结果 1.串行进位加法器结果 2.超前进位加法器结果

四、实验结果分析 1.实验仿真结果显示串行加法器比超前进位加法器快,部分原因应该是电路结构优化 不到位。另外由于计算的位数比较少,超前进位加法链结构较复杂,所以优势没体现出来,反倒运作的更慢一点。当位数增加的时候,超前进位加法器会比串行的更快。 2.波形稳定之前出现上下波动,应该与“竞争冒险”出现的情况类似,门的延迟和路径 的不同导致了信号变化时到达的时间有先有后,因此在最终结果形成前出现了脉冲尖峰和低谷;另外也可能部分原因由于电路结构优化的不到位所致

四位二进制加法计数器课程设计

成绩评定表 学生姓名郝晓鹏班级学号1103060129 专业通信工程课程设计题目四位二进制加法 计数器 评语 组长签字: 成绩 日期20 年月日

课程设计任务书 学院信息科学与工程学院专业通信工程 学生姓名郝晓鹏班级学号1103060129 课程设计题目四位二进制加法计数(缺0010 0011 1101 1110) 实践教学要求与任务: 1、了解数字系统设计方法。 2、熟悉VHDL语言及其仿真环境、下载方法。 3、熟悉Multisim仿真环境。 4、设计实现四位二进制加计数(缺0010 0011 1101 1110) 工作计划与进度安排: 第一周:熟悉Multisim及QuartusII环境,练习数字系统设计方法。包括采用触发器设计和超高速硬件描述语言设计,体会自上而下、自下而上设计 方法的优缺点 第二周:1.在QuartusII环境中仿真实现四位二进制加计数(缺0100 0101 1001 1010 )。 2.在Multisim环境中仿真实现四位二进制加计数,缺(0100 0101 1001 1010),并通过虚拟仪器验证其正确性。 指导教师: 201 年月日专业负责人: 201 年月日 学院教学副院长: 201 年月日

摘要 本文采用在MAXPLUSⅡ环境中用VHDL语言实现四位二进制加法计数(缺0010 0011 1101 1110),在仿真器上显示结果波形,并下载到目标芯片上,在实验箱上观察输出结果。在Multisim环境中仿真实现四位二进制加法计数器(缺0010 0011 1101 1110),并通过虚拟仪器验证其正确性。 关键词:MAXPLUSⅡ环境;VHDL语言;四位二进制加计数;Multisim环境

FPGA一位全加器设计实验报告

题目:1位全加器的设计 一.实验目的 1.熟悉QUARTUSII软件的使用; 2.熟悉实验硬件平台的使用; 3.掌握利用层次结构描述法设计电路。 二.实验原理 由于一位全加器可由两个一位半加器与一个或门构成,首先设计半加器电路,将其打包为半加器模块;然后在顶层调用半加器模块组成全加器电路;最后将全加器电路编译下载到实验箱,其中ain,bin,cin信号可采用实 验箱上SW0,SW1,SW2键作为输入,并将输 入的信号连接到红色LED管 LEDR0,LEDR1,LEDR2上便于观察,sum,cout 信号采用绿色发光二极管LEDG0,LEDG1来 显示。 三.实验步骤 1.在QUARTUSII软件下创建一工程,工程名为full_adder,芯片名为EP2C35F672C6; 2.新建Verilog语言文件,输入如下半加器Verilog语言源程序; module half_adder(a,b,s,co); input a,b; output s,co; wire s,co; assign co=a & b; assign s=a ^ b; Endmodule 3.保存半加器程序为,进行功能仿真、时序仿真,验证设计的正确性。 其初始值、功能仿真波形和时序仿真波形分别如下所示

4.选择菜单File→Create/Update→Create Symbol Files for current file,创建半加器模块; 5.新建一原理图文件,在原理图中调用半加器、或门模块和输入,输出引脚,按照图1所示连接电路。并将输入ain,bin,cin连接到FPGA的输出端,便于观察。完成后另保存full_adder。 电路图如下 6.对设计进行全编译,锁定引脚,然后分别进行功能与时序仿真,验证全加器的逻辑功能。其初始值、功能仿真波形和时序仿真波形分别如下所示

用JKFF触发器设计一个模为8的加法计数器

题目:用JKFF 设计模为8的加法计数器 步骤1: 分析题意 根据题目所给的条件,待设计的计数器默认为模为8的加法器,不需要求加载初值。电路只需要故电路只需时钟输入端clk ,clk 作为电路的同步时钟,不必当做输入变量对待;输出一个8进制数要3个输出端,记为0Q 1Q 2Q 。要有输出信号Y ,故共需要3个输出端。因输出量0Q 1Q 2Q 就是计数值,故采用Moore 型电路较为合适。 步骤2:建立原始状态图 模8加法器要求逢8加1,。有此状态图做出如图所示。需要8个状态故不需要化简。 /Y /0 /0 /0 S0→ S1→ S2→ S3 ↑ /1 ↓ /0 S7←S6←S5← S4 /0 /0 /0 步骤3:状态分配。 由于最大模的值为8,因此必须取代码位数n=3。假设S0=000,S1=001,S2=010,S3=011,S4=100,S5=101,S6=110,S7=111.则可以做出状态转移表如图。 步骤4:选触发器,求时钟、输出、状态、驱动方程。 因需要3位二进制代码,选用三个CP 下降沿出发的J-K 触发器,分别用FF0,FF1,FF2表示。 有状态列表可作出次态卡诺图及输出函数的卡诺图,如图所示。 与J-K 触发器的特性方程 n n n Q K Q J Q +=+1 比较得到驱动方程 输入 现态 次态 输 出 CP Q2 Q1 Q0 12 +n Q 11 +n Q 1 +n Q Y 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 2 0 1 0 0 1 1 0 3 0 1 1 1 0 0 0 4 1 0 0 1 0 1 0 5 1 0 1 1 1 0 0 6 1 1 0 1 1 1 0 7 1 1 1 1

异步计数器实验报告

异步计数器实验报告 篇一:设计一个异步四位二进制计数器实验报告捞金版/广西大学实验报告纸 ___________________________________________________ __________________ 姓名:曾宪金 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

4位全加器实验报告.doc

四位全加器 11微电子黄跃1117426021 【实验目的】 采用modelsim集成开发环境,利用verilog硬件描述语言中行为描述模式、结构描述模式或数据流描述模式设计四位进位加法器。 【实验内容】 加法器是数字系统中的基本逻辑器件。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 实现多位二进制数相加的电路称为加法器,它能解决二进制中1+1=10的功能(当然还有 0+0、0+1、1+0). 【实验原理】 全加器 除本位两个数相加外,还要加上从低位来的进位数,称为全加器。图4为全 加器的方框图。图5全加器原理图。被加数A i 、加数B i 从低位向本位进位C i-1 作 为电路的输入,全加和S i 与向高位的进位C i 作为电路的输出。能实现全加运算 功能的电路称为全加电路。全加器的逻辑功能真值表如表2中所列。 信号输入端信号输出端 A i B i C i S i C i 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1

表2 全加器逻辑功能真值表 图4 全加器方框图 图5 全加器原理图 多位全加器连接可以是逐位进位,也可以是超前进位。逐位进位也称串行进位,其逻辑电路简单,但速度也较低。 四位全加器 如图9所示,四位全加器是由半加器和一位全加器组建而成: 图9 四位全加器原理图 【实验步骤】 (1)建立新工程项目: 打开modelsim软件,进入集成开发环境,点击File→New project建立一

实验四 异步计数器及其应用

实验四异步计数器及其应用 2014.11.12 一、实验目的: 1、掌握计数器74LS90的逻辑功能和使用方法; 2、掌握用74LS90实现可变模数(M<10)计数器的方法; 3、掌握七段译码器和数码管的逻辑功能及其应用。 二、实验设备: 数字电路实验箱,数字双踪示波器,函数信号发生器,集成电路:74LS90 三、实验原理: 计数是一种最简单基本运算,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。计数器按计数进制有:二进制计数器,十进制计数器和任意进制计数器;按计数单元中触发器所接收计数脉冲和翻转顺序分有:异步计数器,同步计数器;按计数功能分有:加法计数器,减法计数器,可逆(双向)计数器等。74LS90是二-五-十进制异步计数器,外形为双列直插,引脚排列如图(1)所示,逻辑符号如图(2)所示,图中的NC表示此脚为空脚,不接线,它由四个主从JK触发器和一些附加门电路组成,其中一个触发器构成一位二进制计数器;另三个触发器构成异步五进制计数器。在74LS90计数器电路中,设有专用置“0”端R01,R02和置“9”端S91,S92。其中R01,R02为两个异步清零端,S91,S92为两个异步置9端,CP1,CP2为两个时钟输入端,Q0~Q3为计数输出端,74LS90的功能表见表(1),由此可知:当R1=R2=S1=S2=0时,时钟从CP1引入,Q0输出为二进制;时钟从CP2引入,Q3输出为五进制;时钟从CP1引入,而Q0接CP2 ,即二进制的输出与五进制的输入相连,则Q3Q2Q1Q0输出为十进制(8421BCD码);时钟从CP2引入,而Q3接CP1 ,即五进制的输出与二进制的输入相连,则Q0Q1Q2Q3输出为十进制(5421BCD码)。 补充内容:74LS90 74LS90:异步清零置数二-五-十进制异步计数器(下降沿计数) 四、实验内容: 1、用74LS90实现十进制计数; 2、用74LS90实现六进制计数; 3、用74LS90实现0、2、 4、6、8、1、3、 5、7、9循环显示。 五、实验结果。 1、用74LS90实现十进制;将74LS90连接成先2后5形式的十进制,则输出的即为循环的BCD码表示的0、1、 2、 3、 4、 5、 6、 7、 8、9.故电路连接如下图所示

八位加法器设计实验报告

实验四:8位加法器设计实验 1.实验目的:熟悉利用quartus原理图输入方法设计简单组合电路,掌握层次化设计方法。 2.实验原理:一个八位加法器可以由八个全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。 3.实验任务:完成半加器,全加器,八位加法器设计,使用例化语句,并将其设计成一个原件符号入库,做好程序设计,编译,程序仿真。 1)编译成功的半加器程序: module h_adder(a,b,so,co); input a,b; output so,co; assign so=a^b; assign co=a&b; endmodule 2)编译成功的全加器程序: module f_adder(ain,bin,cin,cout,sum); output cout,sum;input ain,bin,cin; wire net1,net2,net3; h_adder u1(ain,bin,net1,net2); h_adder u2(.a(net1),.so(sum),.b(cin),.co(net3));

or u3(cout,net2,net3); endmodule 3)编译成功的八位加法器程序: module f_adder8(ain,bin,cin,cout,sum); output [7:0]sum; output cout;input [7:0]ain,bin;input cin; wire cout0, cout1, cout2 ,cout3, cout4,cout5,cout6; f_adder u0(.ain(ain[0]),.bin(bin[0]),.cin(cin),.sum(sum[0]) ,.cout(cout0)); f_adder u1(.ain(ain[1]),.bin(bin[1]),.cin(cout0),.sum(sum[1 ]),.cout(cout1)); f_adder u2(.ain(ain[2]),.bin(bin[2]),.cin(cout1),.sum(sum[2 ]),.cout(cout2)); f_adder u3(.ain(ain[3]),.bin(bin[3]),.cin(cout2),.sum(sum[3 ]),.cout(cout3)); f_adder u4(.ain(ain[4]),.bin(bin[4]),.cin(cout3),.sum(sum[4

用单片机语言设计16位加法计算器实验报告概要

湖北第二师范学院计算机学院09计应 单片机课程设计 实验报告 课程设计名称:电子计算器 课程设计单位:10计应(1)班 课设小组成员:徐凡(1060310039) 凡平(1060310058) 彭浩(1060310045) 桂银(1060310010) 潘光卉(1060300033) 完成时间:2012年04月02日至2012年04月 24 日

单片机课程设计实验报告 课程设计题目:简易计算器 作品功能描述:当通过输入键盘数字时,能够在显示器上显示输出的数值,并且通过想实现的简单运算功能,实现计算器的加、减、乘、 除和清零,并将结果显示出来。 小组成员工作分工:徐凡:程序主框架的构造和主要功能函数的设计。 凡平:原理图的设计和硬件的焊接。 彭浩:基本功能函数的设计(“+,-,*,/”)。 桂银:程序流程图的设计和键盘扫描程序的实现。 潘光卉:编写文档和功能测试。 硬件电路设计:本设计中我们用的是AT89C52芯片,LCD1602 (PROTEUS中为LM016L)就是那个液晶屏,因为可以显示2行16个字符,故 叫做LCD1602. 11.0592M或12M晶振(CRYSTAL),两者均可,但要涉及到串口 需选用12MKEYPAD-SMALLCALC就是那个4X4键盘 电容20~30PF(CAP),接最小电路 电容10PF主要接复位电路 RESPACK-8排阻,为20K的,一个引脚接正极,另8个引脚接 I/O口接RES电阻10K,接复位电路 实物照片:硬件原理图

原理说明: 1,上电后,屏幕初始化; 2,计算。按下数字键,屏幕显示要运行的第一个数字,再按下符号键,然后再按下数字键,屏幕显示要运算的第二个数字,最后按 下“=”号键,屏幕上显示出计算结果。 3,如果要再次计算,可以按下“ON/C”键清零,或者继续按下数字键,即可重新计算。 键盘使用说明如下: 按键功能说明:Array“+”实现两个数的相加 “-”实现两个数的相减 “×”实现两个数的乘积 “÷”实现两个数商的运算 “ON/C”计算器显示的清零和 接通电源

FPGA触发器与计数器实验报告

上海电力学院FPGA应用开发实验报告 实验名称:触发器与计数器 专业:电子科学与技术 姓名: 班级: 学号:

1.触发器功能的模拟实现 实验目的: 1.掌握触发器功能的测试方法。 2.掌握基本RS触发器的组成及工作原理。 3.掌握集成JK触发器和D触发器的逻辑功能及触发方式。 4.掌握几种主要触发器之间相互转换的方法。 5.通过实验,体会EPLD芯片的高集成度和多I/O口。 实验说明: 将基本RS触发器,同步RS触发器,集成J-K触发器,D触发器同时集一个FPGA芯片中模拟其功能,并研究其相互转化的方法。 实验的具体实现要连线测试,实验原理如图所示:

2.计数器 在VHDL中,可以用Q<=Q+1简单地实现一个计数器,也可以用LPM来实现。下面分别对这两种方法进行介绍。 方法一: 第1步:新建一个Quartus项目。 第2步:建立一个VHDL文件,实现一个8位计数器。计数器从“00000000”开始计到“11111111”,计数器的模是256。计数器模块还需要包含一个时钟clock、一个使能信号en、一个异步清0信号aclr和一个同步数据加载信号sload。模块符号如下图所示: 第3步:VHDL代码如下:

第4步:将VHDL文件另存为counter_8bit.vhd,并将其设定为项目的最顶层文件,再进行语法检查。 第5步:语法检查通过以后,用KEY[0]表示clock,SW[7..0]表示data,SW[8~10]分别表示en、sload和aclr;LEDR[7..0]表示q。 第6步:引脚分配完成后,编译并下载。 第7步:修改上述代码,把计数器的模更改为100,应如何操作。 模为100的计数器,VHDL代码如下:

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