六十进制计数器综合设计

六十进制计数器综合设计
六十进制计数器综合设计

物理与机电工程学院(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。

四、PCB设计

包括PCB设计步骤及PCB图,所用原件、封装形式报表,3D视图等。

4.1原理图

根据仿真原理图重新设计Altium Designer原理图,由于缺少相应元件,这里用MC74HC4511先进行翻译,再输入到显示器。如下图所示

4.2元件清单及封装形式报表

单击菜单Reports/Bill of Materials,系统自动显示元件清单及封装形式,如下图所示。

4.3制作PCB板

1.在原项目中添加一个PCB,并进行保存;

2.单击菜单Design/Update PCB Document PCB1,弹出窗口开始导入,如下

单击Validate Changes,检查没有任何错误后单击Execute Changes开始导入PCB,导入后根据实际情况放置元件,待放置完成后切换到keep-out layer层,画电气边界,完成后如下图

1)设置布线规则

设置线宽

执行菜单Design/Rules,弹出PCB Rules and Constriaints Editor对话框,双击选项Design Rules/Electrical下面的子文件,单击Clearance选项,设置最小安全间距为

10mil

增加一个新的Width选项,并命名为N_VCC,点击Net选项,下拉列表框选择VCC,在Constraint中定义导线宽度Preferred、Minimum、Maximum的值均为30mil。

用类似方法,再增加一个名为N_GND,同样GND网络导线宽为30mil。

完成后单击OK

2)开始自动布线

单击菜单Auto Route/All,开始自动布线。

布线完成后参考效果如图所示

3)添加覆铜区

在Top Layer单击菜单place/polygon pour,添加大面积覆铜区,并使GND与

覆铜区相连,添加覆铜区后的的效果如图所示

4)重新定义板的大小

单击菜单View/Board poinning Mode 1,然后单击菜单Design/Redefine Board shape,对板进行裁剪。

5)3D视图

裁剪完成后单击菜单View/3D layout Mode查看3D视图,按住键盘Shift,

点击鼠标右键进行拖动查看3D图,如下图

五、结果及结论

结果:当接通电源,电路开始工作时,显示器显示从0开始依次递增到59,然后重新回到0再开始依次递增到59,如此反复,直到关掉电源。

结论:利用所学的数字电路的知识,设计了一个60进制(0-59)的计数器。利用两块74LS190芯片的组合进行计数,并将结果输入到翻译器,待翻译完成后再输入到显示器。

六、心得体会

1、通过本实验的学习,我进一步掌握了74LS90的功能原理。基本能够利用74LS90完成简单计数器电路设计。

2、实验过程中最关键的是熟悉74LS90的功能,再根据其功能设计相关计数器,就可以做到得心应手。

3、在设计过程中我查阅了大量的资料,了解了许多关于计数器设计方面的问题,进一步理解了各种元器件的使用方法。

4、这次课程设计让我学到了很多,掌握了简单的电子电路的设计与制作。在制作电路时,我深深体会到连接电路时一定要认真仔细,每一步骤都要认真分析。

5、本次课程设计也反映出很多问题,比如竞争—冒险现象是很常见的,并且消除此现象并不是很容易,尤其是对结构复杂的电路而言,往往消除了一处竞争—冒险现象,又产生了另一处,此问题需要我以后多加注意。

6、本设计原理简单,结构清晰,较为容易仿真成功。从本次课程设计中使我获益匪浅,

7、在实验过程中要用心面对每一个问题,通过不断的努力去解决这些问题.在解决设计问题的同时自己也在其中有所收获。

8、首先使我对数电这门课程有了更深的体会,通过对60进制计数器的设计使我将以前所学的理论知识运用到实际中去,使用Multisim软件进行仿真,使我找到了很多以前没有完全理解的知识,通过再次查找资料,我又学会了很多。

9、通过这次设计我深刻感到自己的知识十分有限,在以后的课程学习中一定要认真学习理论知识,充实自己。

基于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.按照计数过程中数字增减分类,又可将计数器分为加法计数器、减法计数器和可逆计数器,随时钟信号不断增加的为加法计数器,不断减少的为减法计数器,可增可减的叫做可逆计数器。

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

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

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

方案框架 (3) 第3章六十进制计数器的设计与仿真 (4) 基本电路分析设计 (4) 计数器电路的仿真 (6) 第4章总结 (8)

六十进制计数器设计

六十进制计数器 设计报告 姓名: 学号: 班级: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.六十进制计数器设计描述

verilog程序-60进制计数器

module count60_dongtai_LED ( input clk, input rest_n, output reg [2:0] sel, //位选 output reg [6:0] display ); reg [15:0] count_clk; // 分频计数器,最大2^16=64K分频 reg [5:0] sum_num; //计数缓存器,2^6=64 reg [3:0] g_bit; //个位 reg [3:0] s_bit; //十位 reg [3:0] disp_temp; //分频 always @ (posedge clk or negedge rest_n) begin if(rest_n ==0) begin count_clk=16'b0; end else begin if(count_clk==16'hffff) begin count_clk=16'b0; end else begin count_clk=count_clk+1'b1; end end end // 60进制计数 always @ (negedge count_clk[3] or negedge rest_n) begin // clk_clk[3] 对"clk" 16分频if(rest_n ==0) begin g_bit=4'b0; s_bit=4'b0; sum_num=6'b0; end else begin if (sum_num==6'd59) begin sum_num=6'b0; end else begin sum_num=sum_num+1'b1; end end s_bit=(sum_num/10)%10;

设计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)

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;

六十进制计数器综合设计

物理与机电工程学院(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。

verilog实验60进制计数器

module counter60(clk_in,clkout,rst,out); input clk_in,rst; output [6:0] out; output clkout; reg [6:0] out1; reg [6:0] out2; reg [3:0] cnth; reg [3:0] cntl; reg [7:0] cnt; always @(posedge clk_in) begin if(!rst) cnt<=8'd0; else cnt<=cnt+8'd1; end assign clkout=cnt[4]; always @(posedge clkout or negedge rst) begin if(!rst) {cnth,cntl}<=8'd0; else if(cnth==5&&cntl==9) {cnth,cntl}<=8'd0; else if(cntl==4'd9) begin cntl<=4'd0; cnth<=cnth+4'd1; end else cntl<=cntl+4'd1; end always @(cnth) begin case(cnth) 4'd0:out1=7'b011_1111;//0 4'd1:out1=7'b000_0110;//1 4'd2:out1=7'b101_1011;//2 4'd3:out1=7'b100_1111;//3 4'd4:out1=7'b110_0110;//4 4'd5:out1=7'b110_1101;//5 default:out1=7'b011_1111;//0 endcase end

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;

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这六个状态。

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

X X 大学 电子技术基础实验 课程设计 用74LS161设计六十进制计数器 学院: 班级: 姓名: 学号:

用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;

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集成电路,都有品种较齐全的中规模集成计数器。使用者只要借助于器件手册提供的功能和工作波形图以及引出端的排列,就能正确运用这些器件。计数器在现代社会中用途中十分广泛,在工业生产、各种和记数有关电子产品。如定时器,报警器、时钟电路中都有广泛用途。在配合各种显示器件的情况下实现实时监控,扩展更多功能。 1.2设计思想 60进制计数器首先要明白有两个显像管,每隔1s,计数器增1,能以数字形式显示时间且当定时器递增到59时,会自动返回到00显示,然后继续计时。整个计数过程中每次增加1。本设计主要设备是两个74LS90十进制计数器,并且由300HZ,

60进制计数器

题目60计数器 60进制计数器 主要内容: 利用QuartusII设计一个六十进制计数器。该电路是采用整体置数法接成的六十进制计数器。首先需要两片74160接成一百进制的计数器,然后将电路的60状态译码产生LD′=0信号,同时加到两片74160上,在下一个计数脉冲(第60个计数脉冲)到达时,从而得到六十进制计数器。主要要求如下: (1)每隔1个周期脉冲,计数器增1; (2)当计数器递增到60时,进位端波形发生跳变,说明计数器产生进位信号,之后计数器会自动返回到00并重新计数; (3)本设计主要设备是两片74160同步十进制计数器,时钟信号通过建立波形文件得以提供。

1方案选择与电路原理图的设计 使用具有一定频率的时钟信号作为计数器的时钟脉冲作为同步控制信号,整体电路通过两片74160与其他门电路辅助等单元电路构成以实现置数进位功能。图2.1为六十进制计数器的总体电路原理框图。 图1.1 电路原理框图 1.1单元电路一:十进制计数器电路(个位) 本电路采用74160作为十进制计数器,它是一个具有异步清零、同步置数、可以保持状态不变的十进制上升沿计数器。每输入10个计数脉冲,计数器便工作一个循环,并且在进位端RCO产生一个进位输出信号。其功能表如表2-1所示,连接方式如图2.2所示。此片工作时进位端RCO在没有进位时RCO=0,因此第二片ENP·ENT=0,第二片不工作。 表2-1 同步十进制计数器功能表 在新建好的block文件的图形编辑窗口中双击鼠标,或点击图中“符号工具”按钮,或者选择菜单Edit下的Insert Symbol命令,即可对元件进行选择。选择元件库中的ot hers—maxplus2—74160。点击工具栏中Orthogonal Node Tool按钮便可以对端子间进行连线,其中值得注意的是,点击工具栏中Orthogonal Bus Tool按钮可以通过总线进行连接。

VHDL 六十进制计数器

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity count60 is port(clk,clk0,cin,bcd1wr,bcdswr:in std_logic; datain:in std_logic_vector(3 downto 0); co:out std_logic; a,b,c,d,e,f,g: out std_logic; sel:out std_logic_vector(2 to 0)); end count60; architecture art of count60 is signal bcd1n:std_logic_vector(3 downto 0); signal bcdsn:std_logic_vector(2 downto 0); signal outda:std_logic_vector(6 downto 0); begin process(clk,bcd1wr) begin if(bcd1wr='1') then bcd1n<=datain; elsif(clk'event and clk='1') then if(cin='1') then if(bcd1n=9) then bcd1n<="0000"; else bcd1n<=bcd1n+1; end if; end if; end if; end process; process(clk,bcdswr) begin if(bcdswr='1') then bcdsn<=datain(2 downto 0); elsif(clk'event and clk='1') then if(cin='1' and bcd1n=9) then if(bcdsn=5) then bcdsn<="000"; else bcdsn<=bcdsn+1; end if; end if; end if;

相关文档
最新文档