EDA60进制计数器设计

合集下载

EDA 60进制计数器设计

EDA 60进制计数器设计

《EDA技术》课程实验报告学生姓名:**所在班级:***指导教师:**记分及评价:报告满分3分得分一、实验名称实验6:60进制计数器设计二、任务及要求【基本部分】1、在QuartusII平台上,采用文本输入设计方法,通过编写VHDL语言程序,完成60进制计数器的设计并进行时序仿真。

2、设计完成后生成一个元件,以供更高层次的设计调用。

3、实验箱上进行验证。

【发挥部分】在60进制基础上设计6进制计数器,完成时序仿真。

三、实验程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt60 isport(clk,rst:in std_logic;seg:out std_logic_vector(7 downto 0);dig:out std_logic_vector(1 downto 0));end;architecture one of cnt60 issignal t:std_logic_vector(23 downto 0);signal clk_cnt,clk_scan:std_logic;signal q:integer range 0 to 59;signal d:integer range 0 to 9;beginprocess(clk)beginif clk'event and clk='1'thent<=t+1;end if;end process;clk_cnt<=t(23);clk_scan<=t(16);process(rst,clk_cnt)beginif rst='0'thenq<=0;elsif clk_cnt'event and clk_cnt='1'then if q=59 thenq<=0;elseq<=q+1;end if;end if;end process;process(clk_scan)begincase clk_scan iswhen'0'=> dig<="10";d<=q mod 10;when'1'=> dig<="01";d<=q/10;when others=>dig<="11";end case;end process;with d selectseg <= X"C0" when 0,X"F9" when 1,X"A4" when 2,X"B0" when 3,X"99" when 4,X"92" when 5,X"82" when 6,X"F8" when 7,X"80" when 8,X"90" when 9,X"FF" when others;end;四、硬件验证1、引脚锁定情况表:五、小结这次实验是运用QuartusII软件对六十进制计数器进行仿真。

六十进制计数器的仿真与设计

六十进制计数器的仿真与设计
设计中 60 进制计数器电路的 PCB 图如图 11 所示:
图 15 60 进制计数器电路 PCB 图
通过上面的电路板 PCB 图,此电路板有两个数码显示管、两个芯片和插口以及 连线组成,所以计数器的数字将会由数码显示管显示出来。 5.设计体会:
自己对 Multisim 7.0 有了进一步的了解,接触了以前自己没有接触过元件和这些 元件所在库,这个软件可以进行电路的连接以及仿真,对于 Multisim 7.0 这些虚拟元 件和现实元件有了了解,对于如何改变元件参数也有了一定的掌握。当然,自己在以 后的学习中会更加努力学习。争取多多掌握一些自己专业相关的知识,丰富自己的知 识面。
图 4 非门 74LS04D 逻辑框图
原理说明:
非门逻辑关系:Y=(A)’
图 5 用于计数的发光二极管 3word 格式支持编辑,如有帮助欢迎下载支持。
工作状态 置零 预置数 保持
保持 计数
文档从互联网中收集,已重新修正排版,word 格式支持编辑,如有帮助欢迎下载支持。
图 6 提供高电平的电压源
2.4 六十进制计数器仿真原理图 六十进制计数器仿真原理图如图 9 所示。
图 10 60 进制计数器仿真原理图
六十进制计数器主要测试点:
观察数码显示器,计数状态从 0~59,再从 0 开始计数,并有译码显示并产生进
位输出。
2.5 测试方案
2.5.1 所需元件及其用途
采用 76LS16ຫໍສະໝຸດ 同步十进制计数器两片级联的形式构成一百进制计数器,再用置数
图 9 protel DXP 软件的原理框图
通过 protel DXP 绘制的 60 进制计数器原理图由两个数码显示管、两个芯片以及插线
组成,将会实现 60 进制计数器的显示完成。所完成的数字将会在数码显示管上面显

EDA技术六十进制计数器实验报告

EDA技术六十进制计数器实验报告

六十进制计数器一、设计任务利用Verilog HDL 编程语言编写代码并下载到试验箱中,在七段数码管上实现六十进制计数器的功能。

二、设计过程程序中输入信号为时钟信号clk和异步置数端clr,输出信号为七位的out端和两位的选通信号ctr。

为实现六十进制计数器的功能,程序中使用了三个always块语句,第一个always块结合第三个always块共同实现了七段数码器的功能,即将十进制数字在七段译码管上正确显示。

代码实现为:always @ (posedge clk or negedge clr)beginif(!clr) begin state=s0 ; ctr=0 ;endelsebegincase (state)s0:begin ctr=2'b10; temp=temp_a; state=s1; ends1:begin ctr=2'b01; temp=temp_b; state=s0; endendcaseif(cp==2)beginc=1;cp=0;endelsebegincp=cp+1;c=0;endendendalways @ (temp)begincase(temp)4'd0:out=7'b1111110;4'd1:out=7'b0110000;4'd2:out=7'b1101101;4'd3:out=7'b1111001;4'd4:out=7'b0110011;4'd5:out=7'b1011011;4'd6:out=7'b1011111;4'd7:out=7'b1110000;4'd8:out=7'b1111111;4'd9:out=7'b1111011;default:out=7'b0000000;endcaseendendmodule第二个always块则使用控制语句实现了{temp_a,temp_b}从0到59的跳转,实现了六十进制计时器的基本功能。

EDA-六十进制计数器的VHDL设计概要

EDA-六十进制计数器的VHDL设计概要

THEN
3.1.3 VHDL的数据类型
1. BIT:位数据类型,只有两个取值:‘0’和‘1’。 2. BIT_VECTOR( ): 位矢量数据类型。 3. STD_LOGIC:标准逻辑位数据类型。有9种不同的取值: 4. STD_LOGIC_VECTOR():标准逻辑位矢量数据类型。
STD_LOGIC所定义的9种数据的含义是:
数据类型时,需要使用库和程序包,具体格式如下所示:
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;
3.2 VHDL的完整结构
图2-2 D触发器
D触发器的功能:在时钟信号上升沿到来的时候,输 出跟随输入变化,否则,输出保持不变。
3.2.1 时钟上升沿检测表式
时钟上升沿的检测有两种表达方式:
1. CLK’EVENT AND CLK = ‘1’
2. RISING_EDGE(CLK)
3.2.2 D触发器的VHDL设计
库与程序包声明 标准逻辑位
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL ; 库 ENTITY DFF1 IS 程序包 PORT (CLK : IN STD_LOGIC ; 实体 D : IN STD_LOGIC ; Q : OUT STD_LOGIC );
END DFF1;
3.3 六十进制计数器的VHDL设计
六十进制BCD码计数器的源程序:
实体名
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY cnt60 IS PORT (clk, clr: IN STD_LOGIC; ten, one: DOWNTO 0 ); OUT STD_LOGIC_VECTOR(3

EDA 60进制计数器的设计

EDA 60进制计数器的设计

《EDA技术》课程实验报告学生姓名:黄红玉所在班级:电信1002指导教师:高金定老师记分及评价:一、实验名称实验2:60进制计数器的设计二、任务及要求【基本部分】4分1、在QuartusII平台上,采用原理图输入设计方法,调用两片74160十进制计数器,采用反馈置数法,完成一个60进制同步计数器的设计,并进行时序仿真。

2、要求具备使能功能和异步清零功能。

3、设计完成后生成一个元件,以供更高层次的设计调用。

4、实验箱上选择恰当的模式进行验证,目标芯片为ACEX1K系列EP1K30TC144-3。

【发挥部分】1分思考:采用反馈清零法设计的计数器与反馈置数法有何不同?请用实例进行仿真。

三、实验程序(原理图)四、仿真及结果分析设计60进制与设计24进制的步骤几乎一样。

调用两片74160十进制计数器,采用反馈置数法,设计一个60进制同步计数器的思路是,一片74160计数器作为个位计数,一片用来十位计数,要实现同步60进制,则个位接成1001,十位接成0101,再用一个五输入(一段接一个使能信号EN)的与非门同时接到两片74160计数器上的置数端LDN上。

把原理图在QuartusII上画成后,进行编译,编译无误后,在新建一个波形文件,添加所有引脚,设置输入引脚的波形,最后在进行波形编译,无误后即可达到想要的60进制。

然后再根据EPF10K30E144芯片引脚对照,输入各个输入输出引脚的引脚号,再链接到试验箱检验,观察数码管的显示结果。

五、硬件验证1、选择模式:模式72、引脚锁定情况表:六、小结在这次试验中,通过指导老师起初的讲解以及阅读相关课本,我对QuartusII平台有了进一步的了解,初步知道整个设计过程。

在设计过程中,许多问题的暴露使得我们不仅对数字电路原理有了更加深刻的了解,也使我们对QuartusII平台的使用规则有了更多的了解。

掌握这门技术为今后更多的设计工作打下了基础,我受益匪浅。

60进制计数器课程设计

60进制计数器课程设计

60进制计数器课程设计60进制计数器设计 (1)绪论 (1)1.1设计背景 (1)1.2设计思想 (1)2器件介绍 (2)2.1电阻 (2)2.2电容 (3)2.3 555秒发⽣器 (3)2.4 74ls00 (5)2.574ls90 (6)2.674ls48 (7)3软件仿真 (8)3.1 555仿真图 (8)3.2 60进制仿真图 (9)3.3 仿真图 (9)4焊接⽅法 (11)4.1焊接⽅法 (11)4.2 注意事项 (12)4.3调试 (12)4.4实际图 (13)5总结 (14)6致谢 (16)7 参考⽂件 (17)60进制计数器设计摘要:60进制计数器的设计是以数电和模电为基础,结合模电⾥⾯的置零⽅法,利⽤了555芯⽚、74ls00、74ls48、74ls90以及显⽰管和各种电阻电容组成的。

利⽤74ls90可以实现制数功能,可以单独制成⼗进制。

利⽤74ls00(与⾮门)与74ls90可以制成6进制,再利⽤74ls48和显⽰管就可以在基于EWB的软件平台上完成该设计。

本设计采⽤较为常⽤的74系列芯⽚,及555芯⽚实现了信号灯与信号脉冲同步实现、同步控制,进⽽提⾼了整个系统的稳定性、独⽴性。

在实际⽣活中我们⽤60进制的有钟表的秒分进制。

随着我国科学技术与⾼科技的发展,对于仪器精度的要求更加的⾼,为了满⾜中国⾼科技的发展需求研究⾼精度计数器对于我国的航天、电⼦等业务具有很⼤的作⽤.关键字:60进制555芯⽚74ls00 74ls48 74ls90绪论1.1设计背景计数器是⼀个⽤以实现计数功能的时序部件,它不仅可⽤来及脉冲数,还常⽤作数⼦系统的定时、分频和执⾏数字运算以及其它特定的逻辑功能。

⽬前,⽆论是TTL还是CMOS集成电路,都有品种较齐全的中规模集成计数器。

使⽤者只要借助于器件⼿册提供的功能和⼯作波形图以及引出端的排列,就能正确运⽤这些器件。

计数器在现代社会中⽤途中⼗分⼴泛,在⼯业⽣产、各种和记数有关电⼦产品。

数电-课程设计-60进制计数器

数电-课程设计-60进制计数器

表1 十进制计数器功能表CP RD` LD` EP ET 工作状态×0 ××置零↑ 1 0 ××预置数× 1 1 0 1 保持× 1 1 ×0 保持↑ 1 1 1 1 计数连接方式如图:图2 十进制计数器(个位)2、十进制计数器(十位)电路图3 十进制计数器(十位)3、时钟脉冲电路图4 时钟脉冲电路4、置数电路图5 置数电路5、进位电路图6 进位电路6、译码显示电路图7 译码显示电路三、绘制原理图1、完整原理图图7 计数器原理图2、选定仪器列表仪器名称型号数量用途同步十进制计数器74LS160 2片极联构成60进制计数器与门与非门非门74LS21D74LS00D74LS04D各1个辅助设计构成其他计数器共阴极显示器DCD-HEX 2只显示数字计数电压源1个提供脉冲电压表二原理图仪器列表四、测试方案测试步骤:1)进入Multisim7界面图8 软件页面2)右击空白处,选择放置元件,进入元器件选择区,选择要放置的元件,然后单击好。

图9 放置元件3)放置好各种器件之后,即可进行线路连接,同时标明所需参数值。

设置元器件的参数时,用鼠标双击,弹出属性对话框,分别给元件赋值,并设置名称标号。

图10 元器件属性图4)确认电路无误后,即可单击仿真按钮,实现对电路的仿真工作。

5)观察结果看是否与理论分析的预测结果相同。

五、测试验证结果与分析1、验证结果以下两个仿真结果分别是计数器计数的仿真起点00和仿真终点59,之后计数器会自动恢复原来的00起点继续进行循环计数,并且进位输出灯会在59时发光。

图11 60进制计数器起点00 图12 60进制计数器终点592、理论分析本计数器由两个10进制计数器构成60进制计数器的接线图,右边的10进制计数器作为个位,左边的10进制计数器作为十位。

输入端全部接地,计数开始循环一周后通过置位法自动进行归00,之后再继续循环计数。

VHDL60进制计数器实验

VHDL60进制计数器实验

《EDA技术》课程实验报告学生姓名:所在班级:电信1001指导教师:记分及评价:项目满分5分得分一、实验名称60进制计数器设计二、任务及要求【基本部分】4分1、在QuartusII平台上,采用文本输入设计方法,通过编写VHDL语言程序,完成60进制计数器的设计并进行时序仿真。

2、设计完成后生成一个元件,以供更高层次的设计调用。

3、实验箱上选择恰当的模式进行验证,目标芯片为ACEX1K系列EP1K30TC144-3。

【发挥部分】1分在60进制基础上设计6进制计数器,完成时序仿真。

三、实验程序Library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;Entity j602 Isport (clk:in std_logic;ent:in std_logic;rst:in std_logic;y0: out std_logic_vector(3 downto 0);y1: out std_logic_vector(3 downto 0);cout: out std_logic);End j602;Architecture j602 of j602 issignal cnt0 :std_logic_vector(3 downto 0);signal cnt1 :std_logic_vector(3 downto 0);Begincout<='1' when (cnt1="0101" and cnt0="1001" and ent = '1') else '0';process(clk,rst)BeginIf rst ='0' Thencnt0<="0000";cnt1<="0000";elsif clk'event and clk='1' Thenif ent = '1' Thenif cnt0="1001" Thencnt0<="0000";if cnt1="0101" Thencnt1<="0000";elsecnt1<=cnt1+1;end if;elsecnt0<=cnt0+1;end if;end if;end if;end process;y0<=cnt0;y1<=cnt1;end j602;四、仿真及结果分析五、硬件验证1、选择模式:模式5六、小结通过这次实验,使我明白了用VHDL语言编程和用设计原理图实现同样功能器件的区别,从而加深的对EDA的理解。

六十进制计数器设计(EDA)

六十进制计数器设计(EDA)

六进制vhdl语言设计:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt6 ISPORT(CLK,CLRN,ENA,LDN:IN STD_LOGIC;D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT:OUT STD_LOGIC);END cnt6;ARCHITECTURE ONE OF cnt6 ISSIGNAL CI:STD_LOGIC_VECTOR (3 DOWNTO 0):="0000"; BEGINPROCESS (CLK,CLRN,ENA,LDN,CI)BEGINIF CLRN='0' THEN CI<="0000";ELSIF CLK'EVENT AND CLK='1' THENIF LDN='0' THEN CI<=D;ELSIF ENA='1' THENIF CI<5 THEN CI<=CI+1;ELSE CI<="0000";END IF;END IF;END IF;Q<=CI;END PROCESS;COUT<=CI(0) AND CI(2);END ONE;十进制vhdl语言设计:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt10 ISPORT(CLK,CLRN,ENA,LDN:IN STD_LOGIC;D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT:OUT STD_LOGIC);END cnt10;ARCHITECTURE ONE OF cnt10 ISSIGNAL CI:STD_LOGIC_VECTOR (3 DOWNTO 0):="0000"; BEGINPROCESS (CLK,CLRN,ENA,LDN,CI)BEGINIF CLRN='0' THEN CI<="0000";ELSIF CLK'EVENT AND CLK='1' THENIF LDN='0' THEN CI<=D;ELSIF ENA='1' THENIF CI<9 THEN CI<=CI+1;ELSE CI<="0000";END IF;END IF;END IF;Q<=CI;END PROCESS;COUT<=CI(0) AND CI(3);END ONE;分别把上面程序生成符号文件画如下原理图:波形仿真图如下:。

60进制计数器设计

60进制计数器设计

级联。

4)两个芯片间的级联。

2.六十进制计数器设计描述2.1设计的思路1)芯片介绍:74LS192 为加减可逆十进制计数器,CPU端是加计数器时钟信号,CPD是减计数时钟信号RD=1时无论时钟脉冲状态如何,直接完成清零功能。

RD=0,LD=0 时,无论时钟脉冲状态如何,输入信号将立即被送入计数器的输出端,完成预置数功能。

2)十进制可逆计数器74LS192引脚图管脚及功能表3)74LS192是同步十进制可逆计数器,它具有双时钟输入,并具有清除和置数等功能,其引脚排列及逻辑符号如下所示:图5-4 74LS192的引脚排列及逻辑符号(a)引脚排列(b) 逻辑符号图中:为置数端,为加计数端,为减计数端,为非同步进位输出端,为非同步借位输出端,P0、P1、P2、P3为计数器输入端,为清除端,Q0、Q1、Q2、Q3为数据输出端。

输入输出MR P3 P2 P1 P0 Q3 Q2 Q1 Q01 ×××××××0 0 0 00 0××d c b a d c b a0 11××××加计数1 1 ××××减计数4)利用两片74ls192分别作为六十进制计数器的高位和低位,分别与数码管连接。

把其中的一个芯片连接构成十进制计数器,另一个通过一个与门器件构成一个六进制计数器。

5)如下图:2.2设计的实现1)两芯片之间级联;把作高位芯片的进位端与下一级up端连接这是由两片74LS192连接而成的60进制计数器,低位是连接成为一个十进制计数器,它的clk端接的是低位的进位脉冲。

高位接成了六进制计数器。

当输出端为0101 的时候在下个时钟的上升沿把数据置数成0000 这样就形成了进制计数器,连个级联就成为了60进制计数器,分别可以作为秒和分记时。

2)方案的实现:使用200HZ时钟信号作为计数器的时钟脉冲。

EDA60进制计数器画图

EDA60进制计数器画图

实验报告课程名称:可编程逻辑器件与数字实验项目:60进制计数器(电路图法)专业班级:姓名:学号:实验室号:实验组号:实验时间:批阅时间:指导教师:成绩:沈阳工业大学实验报告(适用计算机程序设计类)专业班级:学号:姓名:实验名称:60进制计数器1.实验目的:学习60进制计数器电路图法的设计、仿真和硬件测试,进一步熟悉VHDL设计技术2.实验内容:(1)在QuartusⅡ上用电路图连接成一个60进制计数器。

详细描述此程序功能特点,给出其所有信号的时序仿真波形。

(2)引脚锁定以及硬件下载测试。

引脚锁定后进行编译、下载和硬件测试实验。

3. 实验方案(程序设计说明)(1)建立电路图文件(2)绘制电路图(3)对电路图进行编译(4)编译无错误后进行时序仿真(5)仿真正确之后,选好模式之后进行管脚的设置(6)再进行一次编译,正确之后下载到实验箱4. 实验步骤或程序(经调试后正确的源程序)5.程序运行结果数码显示管从0一直跳变到59,然后再回到0重新循环。

6.出现的问题及解决方法附件A 沈阳工业大学实验报告(适用计算机程序设计类)专业班级:学号:姓名:实验步骤或程序:(1)新建block文件;(2)绘制电路图;(3)保存之后建工程;(4)编译程序;(5)新建一个vector waveform 文件(6)保存在相应的文件夹内;(7)对输入信号进行编辑;(8)保存然后再仿真;(9)选择模式,确定管脚,输入管脚号;(10)保存后再重新编译;(11)之后运行Program configure;(12)在EDA实验箱上调到相应的模式,然后对输出的信号进行验证。

EDA实验报告

EDA实验报告
cin: in std_logic;
sum: out std_logic_vector(n downto 1);
cout: out std_logic
);
end siwei;
architecture Behavioral of siwei is
component quanjia
port (a,b,cin:in std_logic;
when"110"=>Y<="01000000";
when"111"=>Y<=;
whenothers=>null;
endcase;
elseY<=;
endif;
endprocess;
endBehavioral;
仿真结果:
2. 60进制计数器
实验程序:
library IEEE;
use Uncomment the following lines to use the declarations that are
仿真结果:
实验二、四位全加器和8位移位寄存器设计实验
1、实验目的
1)学习了解加法器工作原理。
2)学习用VHDL语言设计全加器的设计方法。
3)学习使用元件例化的方法设计多位加法器。
4)了解移位寄存器的工作原理
5)学习移位寄存器设计方法
2、实验内容
1)用VHDL语言设计全加器。
2)用元件例化方法设计一个四位二进制加法器。
验一:译码器及计数器设计实验
1、实验目的
1)复习二进制译码器的功能。
2)学习VHDL语言源程序输入方法。
3)学习VHDL语言源程序检查和修改。

60进位计数器课程设计

60进位计数器课程设计

60进位计数器课程设计一、课程目标知识目标:1. 学生能理解60进位计数器的基本原理,掌握60进制的数制转换方法。

2. 学生能运用60进位计数器进行简单的加、减运算,并解决实际问题。

3. 学生了解60进位计数器在日常生活中的应用,如时间的计算等。

技能目标:1. 学生能够独立操作60进位计数器,进行数制转换和基本运算。

2. 学生能够运用所学知识解决涉及60进位计数器的实际问题,提高解决问题的能力。

3. 学生通过小组合作,培养团队协作和沟通能力。

情感态度价值观目标:1. 学生培养对数学学习的兴趣,激发探究精神。

2. 学生在学习过程中,树立正确的价值观,认识到数学知识在生活中的重要性。

3. 学生通过克服困难,增强自信心,培养积极向上的学习态度。

课程性质:本课程为数学学科教学,结合学生年级特点,注重知识性与实践性的结合。

学生特点:学生处于小学高年级阶段,具备一定的数学基础,好奇心强,喜欢动手操作。

教学要求:教师需关注学生的个别差异,创设有趣的教学情境,引导学生主动参与,提高学生的动手操作能力和解决问题的能力。

在教学过程中,注重知识点的讲解与实际应用的结合,使学生在掌握知识的同时,提高综合素养。

通过分解课程目标为具体的学习成果,便于后续教学设计和评估。

二、教学内容本节教学内容以《数学》课本中关于计数器及其数制转换的相关章节为基础,结合课程目标,组织以下内容:1. 60进位计数器的基本原理:介绍60进位计数器的起源,引导学生了解其发展过程,理解60进制的数制特点。

2. 数制转换方法:讲解60进制与10进制之间的转换方法,通过实例演示,帮助学生掌握转换技巧。

3. 60进位计数器的运算:教授60进位计数器进行加、减运算的方法,并通过实际操作,让学生学会运用计数器解决简单问题。

4. 60进位计数器在日常生活中的应用:以时间为背景,介绍60进位计数器在时间计算等方面的应用,提高学生学以致用的能力。

教学内容安排和进度:第一课时:60进位计数器的基本原理,数制转换方法。

动态扫描显示六十进制加一计数器

动态扫描显示六十进制加一计数器

附录:EDA实验:动态扫描显示六十进制加一计数器图一:编译后的程序图二:波形的设置图三:仿真波形输出图四:管脚绑定LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNTC ISPORT(CLK,CLK0,R,BCD1WR,BCD10WR:IN STD_LOGIC;Y:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);SEL:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END COUNTC;ARCHITECTURE ONE OF COUNTC ISSIGNAL BCD1N:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL BCD10N:STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL A:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINP1:PROCESS(CLK,BCD1WR)BEGINIF R='0' THENBCD1N<="0000";ELSIF BCD1WR='0' THENBCD1N<=A;ELSIF CLK'EVENT AND CLK='1' THENIF BCD1N="1001" THENBCD1N<="0000";ELSE BCD1N<=BCD1N+1;END IF;END IF;END PROCESS P1;P2:PROCESS(CLK,BCD10WR)BEGINIF R='0' THENBCD10N<="000";ELSIF BCD10WR='0' THENBCD10N<=A(2 DOWNTO 0);ELSIF CLK'EVENT AND CLK = '1' THENIF(BCD1N = "1001") THENIF BCD10N="101" THENBCD10N<="000";ELSE BCD10N<=BCD10N+1;END IF;END IF;END IF;END PROCESS P2;P3:PROCESS(CLK0,BCD1N,BCD10N)BEGINIF CLK0 = '1' THENSEL <= "001";CASE BCD1N ISWHEN "0000"=>Y<="0111111"; WHEN "0001"=>Y<="0000110"; WHEN "0010"=>Y<="1011011"; WHEN "0011"=>Y<="1001111"; WHEN "0100"=>Y<="1100110"; WHEN "0101"=>Y<="1101101"; WHEN "0110"=>Y<="1111101"; WHEN "0111"=>Y<="0000111"; WHEN "1000"=>Y<="1111111"; WHEN "1001"=>Y<="1101111"; WHEN OTHERS => NULL;END CASE;ELSE SEL <="010";CASE BCD10N ISWHEN "000"=>Y<="0111111"; WHEN "001"=>Y<="0000110"; WHEN "010"=>Y<="1011011"; WHEN "011"=>Y<="1001111"; WHEN "100"=>Y<="1100110"; WHEN "101"=>Y<="1101101"; WHEN OTHERS => NULL;END CASE;END IF;END PROCESS P3;END ONE;。

数电课程设计(60进制计数器设计)

数电课程设计(60进制计数器设计)

目录摘要: (2)1设计题目 (2)1.1设计要求 (2)2题目分析 (2)3设计思路与原理 (3)3.1 LED简介 (3)3.2 芯片74290及六十进制计数器的设计 (4)3.3 三十九进制计数器 (6)4电路图的仿真 (7)4.1六十进制计数器的仿真 (7)4.2三十九进制计数器的仿真 (8)5仪器列表 (9)6心得体会 (9)7参考文献 (10)摘要:要获得N进制计数器,常用的方法有两种:一是用时钟触发器和门电路来设计:二是用集成计数器来构成。

当要得到一些进制数大的计数器时,用时钟触发器和门电路来实现就显的很复杂。

我们就可以用集成计数器来构成,当然集成计数器是厂家已定型的产品,其函数关系已被固化在芯片中,状态分配以及编码我们自己是不可以更改的,而且多为纯自然态序编码,因而利用清零端或置数控制端,让电路跳过某些状态而获得N进制的计数器。

1设计题目60进制计数器的设计1.1设计要求(1)要求学生掌握74系列的芯片和LED的原理和使用方法。

(2)熟悉集成电路的使用方法,能够运用所学的知识设计一规定的电路。

1.2设计任务(1)完成一个60进制的计数器。

(2)LED显示从00开始,各位计数从0—9,逢10 进1,是为计数0—5。

59显示后,又从00重新开始计数。

2题目分析要实现60进制的计数器,单用一片计数器无法实现,我们可以利用级联方式获得大容量的N进制计数器,60进制的计数器就可以由六进制和十进制计数器级联起来构成。

CP 3设计思路与原理 3.1 LED 简介LED 是一种显示字段的显示器件,7个发光二极管构成七笔字形“8”,一个发光二极管构成小数点。

七段发光管分别称为a 、b 、c 、d 、e 、f ,g ,构成字型“8”,如图(a )所示,当在某段发光二极管上施加一定的电压时,某些段被点亮发光。

不加电压则变暗,为了保护各段LED 不被损坏,需外加限流电阻。

信号源 计数器数码显示器十进制计数器(个位)六进制计数器(十位)其真值表如下。

基于Quartus六十进制计数器的设计

基于Quartus六十进制计数器的设计

EDA技术实践课程设计2014年7月25日EDA技术实践课程设计任务书课程EDA技术实践课程设计题目六十进制计数器专业姓名学号主要内容:利用QuartusII设计一个六十进制计数器。

该电路是采用整体置数法接成的六十进制计数器。

首先需要两片74160接成一百进制的计数器,然后将电路的59状态译码产生LD′=0信号,同时加到两片74160上,在下一个计数脉冲(第60个计数脉冲)到达时,将0000同时置入两片74160中,从而得到六十进制计数器。

主要要求如下:(1)每隔1个周期脉冲,计数器增1;(2)当计数器递增到59时,进位端波形发生跳变,说明计数器产生进位信号,之后计数器会自动返回到00并重新计数;(3)本设计主要设备是两片74160同步十进制计数器,时钟信号通过建立波形文件得以提供。

主要参考资料:[1] 朱正伟.EDA技术及应用[M].第2版.北京:清华大学出版社,2013.[2] 李国洪.EDA技术与实验[M].北京:机械工业出版社,2009.[3] 陈忠平,高金定,高见芳.基于QuartusII的FPGA/CPLD设计与实践[M].北京:电子工业出版社,2010.[4] 杨颂华.数字电子技术基础[M].第2版.西安:西安电子科技大学出版社,2009.[5] 阎石.数字电子技术基础[M].第5版.北京:高等教育出版社,2006.[6] 康华光.电子技术基础:数字部分[M].北京:高等教育出版社,2000.完成期限2014.7.21——2014.7.25指导教师专业负责人2014年7 月18日目录1 设计 (1)2 方案选择与电路原理图的设计 (1)2.1 单元电路一:十进制计数器电路(个位) (2)2.2 单元电路二:十进制计数器(十位) (3)2.3 单元电路三:置数与进位电路 (3)3 元件选取与电路图的绘制 (4)3.1 元件选取 (4)3.2 电路图的绘制 (4)4 编译设计文件 (5)5 仿真设计文件 (6)6 总结 (10)参考文献 (11)1 设计六十进制计数器的功能要求:(1)每隔1个周期脉冲,计数器增1;(2)当计数器递增到59时,进位端波形发生跳变,说明计数器产生进位信号,之后计数器会自动返回到00并重新计数;(3)本设计主要设备是两片74160同步十进制计数器,时钟信号通过建立波形文件得以提供。

基于Quartus六十进制计数器的设计

基于Quartus六十进制计数器的设计

EDA技术实践课程设计 ED技术实践课程设201 2 六十进制计数电气信息工程学院电气专业班学生姓学生学指导教EDA技术实践课程设计任务书课程 EDA技术实践课程设计题目六十进制计数器专业姓名学号主要内容:利用QuartusII设计一个六十进制计数器。

该电路是采用整体置数法接成的六十进制计数器。

首先需要两片74160接成一百进制的计数器,然后将电路的59状态译码LD′=0信号,同时加到两片74160上,在下一个计数脉冲(第60个计数脉冲)产生到达时,将0000同时置入两片74160中,从而得到六十进制计数器。

主要要求如下:(1)每隔1个周期脉冲,计数器增1;(2)当计数器递增到59时,进位端波形发生跳变,说明计数器产生进位信号,之后计数器会自动返回到00并重新计数;(3)本设计主要设备是两片74160同步十进制计数器,时钟信号通过建立波形文件得以提供。

主要参考资料:[1] 朱正伟.EDA技术及应用[M].第2版.北京:清华大学出版社,2013.[2] 李国洪.EDA技术与实验[M].北京:机械工业出版社,2009.[3] 陈忠平,高金定,高见芳.基于QuartusII的FPGA/CPLD设计与实践[M].北京:电子工业出版社,2010.[4] 杨颂华.数字电子技术基础[M].第2版.西安:西安电子科技大学出版社,2009.[5] 阎石.数字电子技术基础[M].第5版.北京:高等教育出版社,2006.[6] 康华光.电子技术基础:数字部分[M].北京:高等教育出版社,2000.完成期限——指导教师专业负责人日18月 7 年2014.目录1 设计 ...................................................................2 方案选择与电路原理图的设计 .............................................单元电路一:十进制计数器电路(个位) ................................. 单元电路二:十进制计数器(十位) ..................................... 单元电路三:置数与进位电路 ...........................................3 元件选取与电路图的绘制 .................................................元件选取 .............................................................电路图的绘制 .........................................................4 编译设计文件 ...........................................................5 仿真设计文件 ...........................................................6 总结 ...................................................................参考文献 .................................................................1设计1六十进制计数器的功能要求: 1;1(1)每隔个周期脉冲,计数器增时,进位端波形发生跳变,说明计数器产生进位信)当计数器递增到59(2 00并重新计数;号,之后计数器会自动返回到同步十进制计数器,时钟信号通过建立波74160)本设计主要设备是两片(3 形文件得以提供。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《EDA技术》课程实验报告
学生姓名:
所在班级:
指导教师:
记分及评价:
报告满分3分
得分
一、实验名称
实验6:60进制计数器设计
二、任务及要求
【基本部分】
1、在QuartusII平台上,采用文本输入设计方法,通过编写VHDL语言程序,完成60进制计数器的设计并进行时序仿真。

2、设计完成后生成一个元件,以供更高层次的设计调用。

3、实验箱上进行验证。

【发挥部分】
在60进制基础上设计6进制计数器,完成时序仿真。

三、实验程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity sixth is
port(clk:in std_logic;
co:out std_logic;--jin wei
qh:buffer std_logic_vector(3 downto 0);--shi wei
ql:buffer std_logic_vector(3 downto 0));--ge wei
end entity sixth;
architecture art of sixth is
begin
co<='1'when(qh="0101"and ql="1001")else'0';
process(clk)
begin
if(clk='1')then
if(ql=9)then
ql<="0000";
if(qh=5)then
qh<="0000";
else
qh<=qh+1;
end if;
else
ql<=ql+1;
end if;
end if;
end process;
end architecture art;
四、仿真及结果分析
图6-1 60进制计数器仿真图
用VHDL语言实现一个六十进制计数器,该计数器有计数使能端en,清零端clr和进位输出端co。

档en=1时,计数器正常计数;当clr=1时,计数器清零。

最后在试验箱上仿真,数码管显示了0到59,则60进制计数器完成。

五、硬件验证
1、选择模式:
2、引脚锁定情况表:
六、小结
1、六进制程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity six is
port(clk,en,clr:in std_logic;
co:out std_logic;--jin wei
qh:buffer std_logic_vector(3 downto 0));--shi wei
end entity six;
architecture art of six is
begin
co<='1'when(qh="0101" and en='1')else'0';
process(clk)
begin
if(clr='0')then
qh<="0000";
elsif(clk'event and clk='1')then
if(en='1') then
if(qh=5)then
qh<="0000";
else
qh<=qh+1;
end if;
end if;
end if;
end process;
end architecture art;
2、六进制仿真结果
图6-2 6进制计数器仿真图
3、总结
这次实验仿真了六十进制计数器运用到了QuartusII软件。

通过学习设计,初步掌握了QuartusII软件的使用并且深入地体会到VHDL语言的广泛应用。

这次实验让我感觉收获颇多,一方面培养了我用自己的专业知识解决问题的能力,进一步理解了理论必须运用于实际的重要性,加深了我对这门课程及专业知识的理解,对以后的工作学习生活都有很大的意义;另一方面我也发现自己很多的不足,对以前所学过的知识理解得不够深刻,掌握得不够牢固,这都是自己以后需要深入学习和克服的问题。

在今后的学习中,我会发挥积极主动的精神,把所学知识与实践结合起来,努力掌握Quartus II 设计软件和VHDL设计语言的使用方法。

相关文档
最新文档