文档库 最新最全的文档下载
当前位置:文档库 › 六进制加法计数器,串行序列发生器。40进制

六进制加法计数器,串行序列发生器。40进制

六进制加法计数器,串行序列发生器。40进制
六进制加法计数器,串行序列发生器。40进制

目录

1.六进制同步加法计数器(无效态:010,100) (1)

1.1课程设计的目的 (2)

1.2设计的总体框图 (2)

1.3设计过程 (2)

1.4逻辑电路图 (4)

1.5实际电路图 (4)

1.6实验仪器 (5)

1.7实验结论 (5)

2 串行序列信号发生器的设计(检测序列010100) (6)

2.1课程设计的目的 (6)

2.2设计的总体框图 (6)

2.3设计过程 (6)

2.4 逻辑电路图 (8)

2.5 实际电路图 (9)

2.6实验仪器 (9)

2.7实验结论 (9)

3 74161构成40进制同步加法计数器并显示 (10)

3.1课程设计的目的 (10)

3.2设计的总体框图 (10)

3.3设计过程 (10)

3.4 74191的状态表 (10)

3.5 芯片介绍 (10)

3.6 逻辑电路图 (11)

3.7实际电路图 (11)

3.8实验仪器 (12)

3.9实验结论 (12)

3.10参考文献 (12)

1 三位二进制同步加法计数器(010,111)

1.1课程设计的目的

1、了解同步加法计数器工作原理和逻辑功能。

2、掌握计数器电路的分析,设计方法及应用。

3、学会正确使用JK 触发器。

1.2设计的总体框图

CP

Y

1.3设计过程

(1)状态图:

(2)选择的触发器名称:

选用三个CP 下降沿触发的边沿JK 触发器 (3)输出方程:

Y= n

Q 2n

Q 1Q 0n

(4) 状态方程:

图1.1.1 3位二进制同步加法计数器的次态卡诺图

图1.1.3 Q 1n+1的卡诺图

图1.1.4 Q 0n+1的卡诺图

由卡诺图得出状态方程为: 1

2+n Q = n Q 1Q 2n +n

Q 1n

Q 2

1

1

+n Q = Q 0n n Q 1

1

0+n Q =n Q 1n

Q 0+n Q 2n Q 1Q 0n

(5) 驱动方程:

2J = Q 1n

1J = Q 0n 0J =n Q 1

2K =n

Q 1 1K =1 0K =

Q

Q n n 1

2

(6) 判断能否自启动

010→100→101;111→000→001 所以能进行自启动

1.4逻辑电路图

5 V

图1.1.5 逻辑电路图

1.5实际电路图

图1.1.6 实际电路图

1.6实验仪器

(1)数字原理实验系统一台

(2)集成电路芯片:74LS112二片 74LS08一片

1.7实验结论

经过实验可知,满足时序图的变化,产生000→001→011→100→101→110→000的序列。

2 串行序列信号发生器的设计(检测序列010100)2.1课程设计的目的

1、了解串行序列信号发生器的工作原理和逻辑功能

2、掌握串行序列信号发生器电路的分析,设计方法及应用。

2.2设计的总体框图

CP

Y

串行序列输出2.3设计过程

(1)状态图:

(2)状态方程:

所以得到

Q

Q

Q

Q n

n

n

n

Y

2

1

2

图1.2.1 3位二进制同步加法计数器的次态卡诺图

图1.2.3 Q 1n+1的卡诺图

图1.2.4 Q 0n+1的卡诺图 由卡诺图得出状态方程为:

Q 2n+1=Q n 2 Q n 1 + (Q n 0+Q n 1)Q n 2

Q 1n+1= Q n 1+ Q n 0Q n 1

Q 0n+1 = Q n 0 + Q n 2Q n 1

(3) 驱动方程:

2J =n Q 1 Q 0n 1J = 1 0J = n

Q 1

2K =n

Q 1Q 0n 1K = Q 0n 0K =n Q 1

(4)判断能否自启动

000→010→011;100→110→111 所以能进行自启动

2.4 逻辑电路图

图1.2.5 逻辑电路图

2.5 实际电路图

图1.2.6 实际电路图

2.6实验仪器

(3)数字原理实验系统一台

(4)集成电路芯片:74LS112二片 74LS08一片 74LS00一片2.7实验结论

经过实验可知,满足时序图的变化,产生101110的序列。

3 十六进制同步加法计数器(用74LS191集成芯片做)

3.1课程设计的目的

1、了解多位同步加法计数器工作原理和逻辑功能。

2、掌握计数器电路的分析,设计方法及应用。

3、学会正确使用集成芯片。

3.2设计的总体框图

CP Y

3.3设计过程

状态图:

→0111→1000→1001→1010

←1110←1101←1100←1011

3.4 74191的状态表

3.5 芯片介绍

U /D 为加减计数控制端;CT 是使能端;LD 是异步置数控制端;CP 是计数脉

冲;D是数据输入端C O/BO是进位错位信号输出端;RC是多个芯片级联时级间串行计数使能端。其具有同步可逆计数功能;异步并行置数功能;保持功能。74191没有专用的清零输入端,但可以借助D异步并行置入数据0000间接实现清零功能。

3.6 逻辑电路图

图1.3.4 逻辑电路图

3.7实际电路图

图1.3.5 实际电路图

3.8实验仪器

(5)数字原理实验系统一台

(6)集成电路芯片: 74LS191一块

3.9实验结论

经过实验可知,满足时序图的变化,产生0000→0001→0010→0011→0100→0101→0110→0111→1000→1001→1010→1011→1100→1101→1110→1111的序列。

3.10参考文献

[1] 余孟尝《数字电子技术基础简明教程》高等教育出版社2007年12月

[2] 张利萍,王向磊《数字逻辑实验指导书》信息学院数字逻辑实验室

[3] 程勇编著人民邮电出版社 2010年4月第一版《EDA技术使用丛书——实例

解说Multisim 10 电路仿真》

基于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)

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功能表

60进制计数器设计

《数字电子技术基础》课程设计任务书 专业:16电气工程及其自动化 班级:专升本二班 学号:160732060 姓名:王冬 指导教师:耿素军 二零一六年十二月二十七日

目录 1、计数器的概述 (3) 2、六十进制计数器 (4) 2.1设计要求 (4) 2.2设计方案框架图 (4) 3、六十进制计数器设计描述 (5) 3.1设计的思路 (5) 3.2设计的实现 (7) 4、六十进制计数器的仿真设计与仿真的结果 (10) 4.1基本电路分析仿真设计 (11) 4.2 计数器电路的仿真的结果 (12) 5、心得体会 (13) 6、参考文献 (13)

1、计数器概述 计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能,计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及JK触发器等。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。 在数字电子技术中应用的最多的时序逻辑电路。计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。但是并无法显示计算结果,一般都是要通过外接LCD或LED屏才能显示。 计数器的种类 1.按照计数器中的触发器是否同时翻转分类,可将计数器分为同步计数器和异步计数器两种。 2.按照计数过程中数字增减分类,又可将计数器分为加法计数器、减法计数器和可逆计数器,随时钟信号不断增加的为加法计数器,不断减少的为减法计数器,可增可减的叫做可逆计数器。

六十进制计数器设计

六十进制计数器 设计报告 姓名: 学号: 班级:13电气工程1班 系别:自动化工程系 指导教师: 时间: 2015-1-10

目录 1.概述 (2) 1.1计数器设计目的 (3) 1.2计数器设计组成 (3) 2.六十进制计数器设计描述 (4) 2.1设计的思路 (6) 2.2设计的实现 (6) 3. 六十进制计数器的设计与仿真 (7) 3.1基本电路分析设计 (7) 3.2 计数器电路的仿真 (10) 4.总结 (13) 4.1遇到的问题及解决方法 (13) 4.2实验的体会与收获 (14)

◆1概述 计数器是一个用以实现计数功能的时序部件,它不仅可用来及脉冲数,还常用作数子系统的定时、分频和执行数字运算以及其它特定的逻辑功能。 计数器种类很多。按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。根据计数制的不同,分为二进制计数器、十进制计数器和任意进制计数器。根据计数器的增减趋势,又分为加法、减法和可逆计数器。还有可预制数和可变程序功能计数器等等。目前,无论是TTL还是CMOS集成电路,都有品种较齐全的中规模集成计数器。使用者只要借助于器件手册提供的功能和工作波形图以及引出端的排列,就能正确运用这些器件。 计数器在现代社会中用途中十分广泛,在工业生产、各种和记数有关电子产品。如定时器,报警器、时钟电路中都有广泛用途。在配合各种显示器件的情况下实现实时监控,扩展更多功能。 1.1计数器设计目的 1)每隔1s,计数器增1;能以数字形式显示时间。 2)熟练掌握计数器的各个部分的结构。 3)计数器间的级联。 4)不同芯片也可实现六十进制。 1.2计数器设计组成 1)用两个74ls192芯片和一个与非门实现。 2)当定时器递增到59时,定时器会自动返回到00显示,然后继续计 时。 3)本设计主要设备是两个74LS160同步十进制计数器,并且由200HZ, 5V电源供给。作高位芯片与作低芯片位之间级联。 4)两个芯片间的级联。 ◆2.六十进制计数器设计描述

十进制4位加法计数器设计

洛阳理工学院 十 进 制 4 位 加 法 计 数 器 系别:电气工程与自动化系 姓名:李奇杰学号:B10041016

十进制4位加法计数器设计 设计要求: 设计一个十进制4位加法计数器设计 设计目的: 1.掌握EDA设计流程 2.熟练VHDL语法 3.理解层次化设计的内在含义和实现 设计原理 通过数电知识了解到十进制异步加法器的逻辑电路图如下 Q3 则可以通过对JK触发器以及与门的例化连接实现十进制异步加法器的设计 设计内容 JK JK触发器的VHDL文本描述实现: --JK触发器描述 library ieee; use ieee.std_logic_1164.all; entity jk_ff is

port( j,k,clk: in std_logic; q,qn:out std_logic ); end jk_ff; architecture one of jk_ff is signal q_s: std_logic; begin process(j,k,clk) begin if clk'event and clk='0' then if j='0' and k='0' then q_s <= q_s; elsif j='0' and k='1' then q_s <= '0'; elsif j='1' and k='0' then q_s <= '1'; elsif j='1' and k='1' then q_s <= not q_s; end if; end if; end process; q <= q_s; qn <= not q_s; end one; 元件门级电路: 与门VHDL文本描述实现: --与门描述library ieee; use ieee.std_logic_1164.all;

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时,做加法,为0时,做减法, 用J K 触发器实现。 第一步:根据要求进行逻辑抽象,得出电路的原始状态图。 取输入数据变量为X,检测的输出变量为乙该电路的功能是五进制计数器。当X=1时,计数器作加“ 1”运算,设初态为S o。状态由S o做加1运算,状态转为S i,输出为0;状态S i做加1运算,转为状态S2,输出为0;状态S2做加1运算,转为状态S3,输出为0;状态S3做加1运算,转为状态S4,输出为0;当状态S4继续做加1 运算时,状态由S4转到S0,输出为1。当X=0时,计数器作减“1”运算。状态由S0 做减1运算,此时产生借位,状态转为S4,输出为1;状态S4做减1运算,转为状态S3,输出为0;状态S3做减1运算,转为状态S2,输出为0;状态S2做减1运算,转为状态S1,输出为0;状态S1做减1运算,状态由S1转为状态 S0,输出为0。由此得出状态转换图: 第二步:状态编码。 该电路是五进制计数器,有五种不同的状态,分别用S0、S1、S2、S3、S4表示五种状态,这五种状态不能作状态化简。在状态编码时,依据2n+1

第三步:求出输出方程,状态方程和驱动方程(控制函数)。用 JK触发器构成逻辑电路,JK触发器的特性方程Q2n Q1n 00 01 Q n+1=J Q n+ K Q n。 XQ3n 00 01 11 10 1 000 0 X X X 1V X n 0000 00011110 (1) Q2n Q1n _________ (b) Q3n+1=X Q2 Q1n+ X Q3n Q2n Q1n 2n Q1n 00 01 11 10 1000 X X X 0X A X 00u0 状态转换表如下: 1 1 10 XQ3 00 01 11 10 Z=X Q n3 + X Q3 1n XQ3

六十进制计数器综合设计

物理与机电工程学院(2015——2016 学年第一学期) 《计算机辅助电路设计》 综合设计报告 可编程计数器 专业:电子信息科学与技术学号:2014216041 姓名:张腾 指导教师:周佐

项目十七可编程计数器 一、设计目的及任务 1.1设计目的 掌握74LS90的功能原理;利用74LS90完成简单计数器电路设计。 每隔1s,计数器增1;能以数字形式显示时间。熟练掌握计数器的各个部分的结构。计数器间的级联。不同芯片也可实现六十进制。 1.2设计任务 利用两片74Ls90构成六十进制(0~59)计数器,并用Altium Designer 进行仿真。 二、原理及过程 2.1系统原理图 2.2原理分析 认识芯片: 74LS90计数器是一种中规模二-五-十进制异步计数器,管脚图如图所示。 R01、R02是计数器置0端,同时为1有效;R91和R92为置9端,同时为1时有效;若用A输入,QA输出,为二进制计数器;如B为输入,QB-QD可输出五进制计数器;将QA与B相连,A做为输入端,QA-QD输出十进制计数器;若QD与A输入端相连,B为输入端,电路为二-五混合进制计数器。

74LS90的功能表: 2.3理论分析 当接通电源,电路开始工作时,显示器显示从0开始依次递增到59,然后重新回到0再开始依次递增到59,如此反复,直到关掉电源。

三、系统仿真 3.1仿真原理图 3.2仿真结果图 3.3仿真步骤 1.按可编程计数器的原理图在Multisim中连接电路。 2.打开开关,开始仿真. 3.4仿真结果及分析 显示器可显示:00、01、02、03、04、05、06、07、08、09、1-、11、12、13、14、15、16、17、18、19、20、21、22、23、24、25、26、27、28、29、30、31、32、33、34、35、36、37、38、39、40、41、42、43、44、45、46、47、48、49、50、51、52、53、54、55、56、57、58、59。

60进制计数器设计(VHDL)

《EDA技术》课程实验报告 学生姓名:黄红玉 所在班级:电信100227 指导教师:高金定老师 记分及评价: 一、实验名称 实验6: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 jinzhi60 is port(clk:in std_logic; co:out std_logic; qh:buffer std_logic_vector(3 downto 0); ql:buffer std_logic_vector(3 downto 0)); end entity jinzhi60; architecture art of jinzhi60 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; 四、仿真及结果分析 由以上代码编译,仿真,得到一下时序仿真波形图。 用VHDL语言实现一个六十进制计数器,该计数器有计数使能端en,清零端clr和进位输出端co。档en=1时,计数器正常计数;当clr=1时,计数器清零。最后在试验箱上仿真,数码管显示了0到59,则60进制计数器完成。 五、硬件验证 1、选择模式:模7 2、引脚锁定情况表:

课程设计:六十进制计数器的设计

一、实验目的 1.进一步掌握VHDL语言中元件例化语句的使用 2.通过本实验,巩固利用VHDL语言进行EDA设计的流程 二、实验原理 1.先分别设计一个六进制和十进制的计数器,并生成符号文件2.利用生成的底层元件符号,设计六十进制计数器顶层文件 三、实验步骤 (略) 四、实验结果

六进制计数器源程序cnt6.vhd: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE. STD_LOGIC_UNSIGNED.ALL; ENTITY CNT6 IS PORT (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 IS SIGNAL CI: STD_LOGIC_VECTOR(3 DOWNTO 0):="0000"; BEGIN PROCESS(CLK, CLRN, ENA, LDN) BEGIN IF CLRN='0' THEN CI<="0000"; ELSIF CLK'EVENT AND CLK='1' THEN IF LDN='0' THEN CI<=D; ELSIF ENA='1' THEN IF CI<5 THEN CI<=CI+1; ELSE CI<="0000"; END IF; END IF; END IF; Q<=CI; END PROCESS; COUT<= NOT(CI(0) AND CI(2)); END ONE;

实验十进制加减法计数器

实验1 十进制加减法计数器 实验地点:电子楼218 实验时间:2012年10月19日指导老师:黄秋萍、陈虞苏 实验要求:设计十进制加减法计数器,保留测试程序、设计程序、仿真结果 1.设计程序: module count(EN,CLK,DOUT,F,RST); input EN,CLK,F,RST; output [3:0]DOUT; reg [3:0]DOUT; always@(posedge CLK) begin :abc if(EN) if(!RST) if(F) begin :a DOUT=DOUT+1; if(DOUT==10) DOUT=0; end //END A else begin :b DOUT=DOUT-1; if(DOUT==15) DOUT=9; end else DOUT=0; else DOUT=DOUT; end endmodule 2.测试程序 `timescale 10ns/1ns module test_count; wire [3:0] DOUT; reg EN,F,RST,CLK; count M(EN,CLK,DOUT,F,RST); initial begin :ABC CLK=0; EN=0;

RST=1; F=1; #100 EN=1; #200 RST=0; #1500 F=0; #3000 $stop; end always #50 CLK=~CLK; initial $monitor("EN=%b,F=%b,RST=%b,DOUT%D",EN,F,RST,DOUT); endmodule 3.测试结果 # EN=0,F=1,RST=1,DOUT x # EN=1,F=1,RST=1,DOUT x # EN=1,F=1,RST=1,DOUT 0 # EN=1,F=1,RST=0,DOUT 0 # EN=1,F=1,RST=0,DOUT 1 # EN=1,F=1,RST=0,DOUT 2 # EN=1,F=1,RST=0,DOUT 3 # EN=1,F=1,RST=0,DOUT 4 # EN=1,F=1,RST=0,DOUT 5 # EN=1,F=1,RST=0,DOUT 6 # EN=1,F=1,RST=0,DOUT 7 # EN=1,F=1,RST=0,DOUT 8 # EN=1,F=1,RST=0,DOUT 9 # EN=1,F=1,RST=0,DOUT 0 # EN=1,F=1,RST=0,DOUT 1 # EN=1,F=1,RST=0,DOUT 2 # EN=1,F=1,RST=0,DOUT 3 # EN=1,F=1,RST=0,DOUT 4 # EN=1,F=1,RST=0,DOUT 5 # EN=1,F=0,RST=0,DOUT 5 # EN=1,F=0,RST=0,DOUT 4 # EN=1,F=0,RST=0,DOUT 3 # EN=1,F=0,RST=0,DOUT 2 # EN=1,F=0,RST=0,DOUT 1 # EN=1,F=0,RST=0,DOUT 0 # EN=1,F=0,RST=0,DOUT 9 # EN=1,F=0,RST=0,DOUT 8 # EN=1,F=0,RST=0,DOUT 7 # EN=1,F=0,RST=0,DOUT 6 # EN=1,F=0,RST=0,DOUT 5

10进制和60进制计数器

十进制计数器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT10IS PORT(CLK,RST,EN:IN STD_LOGIC; CQ:OUT STD_LOGIC_VECTOR(3DOWNTO 0); COUT:OUT STD_LOGIC); END CNT10; ARCHITECTURE behav OF CNT10IS BEGIN PROCESS(CLK,RST,EN) VARIABLE CQI: STD_LOGIC_VECTOR(3DOWNTO0); BEGIN IF RST='1'THEN CQI:=(OTHERS =>'0');--计数 ELSIF CLK'EVENT AND CLK='1'THEN IF EN='1'THEN IF CQI<9THEN CQI:=CQI+1; --允许计数, ELSE CQI:=(OTHERS=>'0'); --大于9, END IF; END IF; END IF; IF CQI=9THEN COUT<='1';--计数大于9,输出进位信号 ELSE COUT<='0'; END IF; CQ<=CQI;--将计数值向端口输出 END PROCESS; END behav;六十进制计数器源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt60is port(clk,rst,en:in std_logic; cq:out std_logic_vector(7downto0); cout:out std_logic); end cnt60; architecture behav of cnt60is begin process(clk,rst,en) variable cqi:std_logic_vector(7downto0); begin if rst='1'then cqi:=(others=>'0'); elsif clk'event and clk='1'then if en='1'then if cqi<59then cqi:=cqi+1; else cqi:=(others=>'0'); end if; end if; end if; if cqi=59then cout<='1'; else cout<='0'; end if; cq<=cqi; end process; end behav;

EDA60进制计数器设计

《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';

数字电子实验——60进制计数器

综合性、设计性实验报告电子技术实验(数字电子部分) 报告分数: 学期: 班级: 姓名: 日期:

1. 实验目的 1)学习仿真软件Multisim的使用方法; 2)学习、掌握时序电路的设计方法; 3)掌握常用电子元器件的使用方法; 4)熟练运用用已有集成计数器(M进制)构成任意进制计数器(N进制),M < N 时,多片级联实现的方法; 5)熟悉由555定时器构成的多谐振荡器产生时钟脉冲; 6)了解反馈置数法和反馈清零法的特点及区别,并能熟练运用这两种方法。 2. 预习要求 1)阅读《数字电子技术基础》相关内容,了解集成计数器的原理及功能; 2)熟悉集成计数器74LS161及七段数码显示管的各引脚功能; 3)了解555定时器构成的多谐振荡器产生脉冲的基本原理; 4)对于反馈清零法和反馈置数法有基本的了解。 3. 实验内容 1)在Multisim集成环境中用74LS161和555定时器设计60进制计数器,要求能够实现暂停和置数的功能,并完成其仿真; 2)在模块化电子技术综合实验箱上完成电路搭接与调试; 4. 实验原理 4.1 个位模块 (1)利用反馈置数法,U2(74LS161D)为低位片即个位模块,用A、B、C、D四个输入端的高低电平实现个位预置数; (2)用开关控制U2的EP使能端高低电平实现暂停功能; (3)U2的CP脉冲端连接555定时器构成的多谐振荡器的矩形脉冲输出端;

(4)U2的使能端ET始终接有效的高电平,清零端CR始终接无效的高电平; 因为用的是反馈置数法,U2实现0(0000)~9(1001)的十进制循环,U2的QD和QA段用作二输入与非门U5A(74LS00D)的输入端,其输出端连接到U2的LD上。 (5)U2的四个输出端QD、QC、QB、QA连接U4数码管的D、C、B、A输入端,从而显示0~9这十个状态。 图1 个位模块原理图 4.2 十位模块 (1)利用反馈置数法,U1(74LS161D)为高位片即十位模块,用A、B、C 三个输入端的高低电平实现十位预置数; (2)U1的CP脉冲端连接555定时器构成的多谐振荡器的矩形脉冲输出端; (3)U1的使能端ET、EP始终接有效的高电平,清零端CR始终接无效的高电平; (4)因为用的是反馈置数法,U1实现0(0000)~5(0101)的六进制循环,U1的QC和QA端与个位数的QD和QA端用作四输入与非门U6A(74LS20D)的输入端,其输出端连接到U1的LD上。 (5)U1的四个输出端QD、QC、QB、QA连接U3数码管的D、C、B、A输入端,从而显示0~5这六个状态。

10进制加法计数器课程设计

西北师范大学知行学院 数字电子实践论文 课题:74ls161组成的十进制加法计数器 (置数法) 班级:14电本 学号:14040101114 姓名:于能海

指导老师:崔用明 目录 第1章前言 (1) 1.1 摘要 (1) 1.2 设计目的 (2) 1.3 设计内容及要求 (2) 第2章设计方案 (3) ....................................................................................................................... 错误!未定义书签。 2.1主要芯片功能介绍 (3) 2.2.1 四位二进制计数器74161介绍 (3) ............................................................................................................... 错误!未定义书签。 2.2 工作原理 (4) 第3章硬件设计 (4) 3.1 单元电路设计 (4) 3.2 总硬件电路图 (5) 第4章仿真与试验 (6) 4.1 仿真结果 (6) 4.2 调试中遇到的问题 (7) 第5章结论和体会 (8)

第1章前言 1.1 摘要在数字电路技术的课程中,计数器的功能是记忆脉冲的个数,它是数字系统中应用最广泛的基本时序逻辑构件。计数器在微型计算机系统中的主要作用就是为CPU和I/O设备提供实时时钟,以实现定时中断、定时检测、定时扫描、定时显示等定时控制,或者对外部事件进行计数。一般的微机系统和微机应用系统中均配置了定时器/计数器电路,它既可当作计数器作用,又可当作定时器使用,其基本的工作原理就是"减1"计数。计数器:CLK输入脉冲是一个非周期事件计数脉冲,当计算单元为零时,OUT输出一个脉冲信号,以示计数完毕。 本十进制加法计数器是基于74161芯片而设计的, 该十进制加法计数器设计理念是用于工厂流水线上产品计数,自动计数,方便简单。 关键词:74ls161计数器 Introduction In the course of digital circuit technology, the counter memory function is the number of pulses, it is a digital system, the most widely used basic sequential logic components. The main role of the counter in the micro-computer system is to provide real-time clock for the CPU and I / O devices to achieve the timer interrupt, timing detection, scheduled scanning, the timing display timing control, or to count external events. General computer systems and computer application systems are equipped with a timer / counter circuit, it can as a counter action, but also as a timer, the basic working principle is "minus 1" count. Counter: CLK input pulse is a non-periodic event count pulses to zero when calculating unit, OUT outputs a pulse signal, to show the count is completed. The decimal addition counter is designed based on the 74161 chip, the low potential sensor senses when to rely on external signals, sensors in an object within the sensing range, otherwise it is a high potential. Within the sensing range of the sensor when an object is moved out of date, sensor potential from high to low and then high, appears on the edge. Counter is automatically incremented and displayed on a digital control. The decimal addition counters have two seven-segment LED. It can count from 0 to 99 objects, and easy to expand. The design concept of decimal addition counter is used to count on a factory assembly line products, automatic counting, convenient and simple. Keywords:74ls161counter

设计60进制计数器数电课程设计资料

电子技术基础实验 课程设计 用74LS161设计六十进制计数器 学院:班级:姓名:学号: 电气工程学院 电自1418 刘科2014303010328

用74LS161设计六十进制计数器 摘要 计数器是一个用以实现计数功能的时序部件,它不仅可用来及脉冲数,还常用作数子系统的定时、分频和执行数字运算以及其它特定的逻辑功能。目前,无论是TTL还是CMOS 集成电路,都有品种较齐全的中规模集成计数器。使用者只要借助于器件手册提供的功能和工作波形图以及引出端的排列,就能正确运用这些器件。计数器在现代社会中用途中十分广泛,在工业生产、各种和记数有关电子产品。如定时器,报警器、时钟电路中都有广泛用途。在配合各种显示器件的情况下实现实时监控,扩展更多功能。 利用两片74LS161分别作为六十进制计数器的高位和低位,分别与数码管连接。把其中的一个通过一个与门器件构成一个十进制计数器,另一个芯片构成六进制计数器。十进制计数器(个位)和六进制计数器(十位)均采用反馈清零法利用两个74LS161构成。当个位计数器从1001计数到0000时,十位计数器要计数一次,可通过两芯片之间级联实现。使用200HZ时钟信号作为计数器的时钟脉冲。根据设计基理可知,计数器初值为00,按递增方式计数,增到59时,再自动返回到00。 关键字:60进制,计数器,74LS161,级联

目录 第1章概述 (1) 1.1 计数器设计目的 (1) 1.2 计数器设计组成 (1) 第2章六十进制计数器设计描述 (2) 2.1 74LS161的功能 (2) 2.2 方案框架 (3) 第3章六十进制计数器的设计与仿真 (4) 3.1 基本电路分析设计 (4) 3.2 计数器电路的仿真 (6) 第4章总结 (8)

实验一十进制计数器的设计与仿真电子科技大学

实验一十进制计数器的设计与仿真 一、实验目的 熟悉QuartusⅡ的Verilog HDL文本设计流程全过程,学习计数器的设计、仿真和硬件测试。 二、实验原理 该程序设计是带有异步复位、同步计数使能、可预置型功能全面的十进制计数器。 (1)第一个条件句if(!RST)构成的RST接于寄存器下方的异步清0端CLR。 (2)第二个条件句if(EN)构成EN接于寄存器左侧的使能端ENA。 (3)第三个条件句if(LODA)构成LODA接于上面的多路选择器,使之控制选择来自DATA的数据,还是来自另一多路选择器的数据。 (4)不完整的条件语句与语句Q1<=Q1+1构成了加1加法器和4位寄存器。 (5)语句(Q1<9)构成了小于比较器,比较器的输出信号控制左侧多路选择器。 (6)第二个过程语句构成了纯组合电路模块,即一个等式比较器,作进位输出。 三、实验设备与软件平台 实验设备:计算机、FPGA硬件平台是Cyclone系列FPGA 软件平台:Quartus II (32-Bit)、5E+系统 四、实验内容 编写Verilog程序描述一个电路,实现以下功能:设计带有异步复位、同步计数使能和可预置型的十进制计数器。 具有5个输入端口(CLK、RST、EN、LOAD、DATA)。CLK输入时钟信号;RST 起异步复位作用,RST=0,复位;EN是时钟使能,EN=1,允许加载或计数;LOAD 是数据加载控制,LOAD=0,向内部寄存器加载数据;DATA是4位并行加载的数

据。有两个输出端口(DOUT和COUT)。DOUT的位宽为4,输出计数值,从0到9;COUT是输出进位标志,位宽为1,每当DOUT为9时输出一个高电平脉冲。 五、实验步骤 设计程序: module CNT10 (CLK,RST,EN,LOAD,COUT,DOUT,DATA); input CLK; input EN; input RST; input LOAD; input [3:0] DATA; output [3:0] DOUT; output COUT; reg [3:0] Q1 ; reg COUT ; assign DOUT = Q1; always @(posedge CLK or negedge RST) begin if (!RST) Q1 <= 0; else if (EN) begin if (!LOAD) Q1 <= DATA; else if (Q1<9) Q1 <= Q1+1; else Q1 <= 4'b0000; end end always @(Q1) if (Q1==4'h9) COUT = 1'b1; else COUT = 1'b0; Endmodule

60进制BCD同步计数器设计代码

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164 ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY count6x10tb IS PORT(clk,clr:IN STD_LOGIC; oc:OUT STD_LOGIC; y0,y1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END; ARCHITECTURE a OF count6x10tb IS SIGNAL q,k:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL j60:STD_LOGIC; BEGIN p1:process(clk) BEGIN IF(clr='0') THEN q<="0000"; ELSIF(clk'EVENT AND clk='1') THEN IF q="1001" THEN q<="0000"; ELSE q<=q+1; END IF; END IF; y0<=q; END PROCESS p1; p2:PROCESS(clk) BEGIN IF(clr='0') THEN k<="0000"; ELSIF(clk'EVENT AND clk='1') THEN IF(q="1001") THEN IF(k="0101") THEN k<="0000"; ELSE k<=k+1; END IF; ELSE k<=k; END IF; END IF; y1<=k; IF(q="1001" AND k="0101") THEN j60<='1'; ELSE

j60<='0'; END IF; oc<=j60; END PROCESS p2; END a;

相关文档