100进制同步计数器设计

合集下载

用74160集成计数器构成任意进制计数器的电路设计

用74160集成计数器构成任意进制计数器的电路设计

用74160集成计数器构成任意进制计数器的电路设计单嵛琼;单长吉【摘要】74160 is die for 10 synchronous counter addition,take advantage of its reset and the number of pre-set function can make mould for any number of counters.So as to solve the problem that we can't buy any kind of counter.%74160是模为10的同步加法计数器,利用它的清零和预置数功能可以构成模为任意数的计数器,从而解决了我们需要计数器但市场上又买不到这种计数器的困难。

【期刊名称】《大学物理实验》【年(卷),期】2016(029)003【总页数】3页(P15-17)【关键词】计数器;清零;置数;有效状态【作者】单嵛琼;单长吉【作者单位】昭通学院,云南昭通 657000;昭通学院,云南昭通 657000【正文语种】中文【中图分类】O453市场上能买到的集成计数器芯片一般为4位二进制计数器和十进制计数器,如果需要其它进制计数器,可用现有的4位二进制计数器和十进制计数器芯片进行设计。

74160是8421BCD码同步加法十进制计数器,可以用它来构成任意进制计数器。

74160是8421BCD码同步加法计数器[1-2],图1是它的逻辑符号:是清零端,端是预置数端,EP、ET是两个使能端,CP端是时钟脉冲端,RCO是进位输出端,D3、D2、D1、D0是四个预置数据输入端,Q3、Q2、Q1、Q0是四个数据输出端。

其中进位输出端的逻辑表达式为[3]:RCO=ET·Q3·Q1。

由表1可知,74160具有异步清零、同步置数、计数和保持的功能。

用74160构成模小于10的计数器的计数器时通常有两种方法:异步清零法和同步置数法[4].文章中选取用74160构成五进制计数器来说明这两种方法的应用。

数字电路与逻辑设计 第6章计数器11

数字电路与逻辑设计 第6章计数器11

74190: 4位十进制同步加/减计数器。 74191: 4位二进制同步加/减计数器。
1.
Q0 QA IJA &
集成同步计数器74161
Q1 Q2 Q3 CO QB R IKA & ≥1 IJB & ≥1 & & & & R IKB & QC IJC & ≥1 & & R IKC & QD IJD & ≥1 & R IKD & &

CR LD D3 D2 D1 D 0 1
CR LD D3 D2 D1 D 0 1

CTT CTP CP
1 计数脉冲
由前面例题分析中可以发现,用反馈置零法设计 计数器存在一个普遍规律:
例3:用74161计数器实现模12计数。 Q3Q 2 CR
1 CP
CTP D3D2D1D0 CO CTT
1 CP
例2:分析图示电路的功能
1
CTP CTT D3 D2 D1 D0 CO
74161
Q3 Q2 Q1 Q0
LD
CP
CR
&
2、采用清零法设计任意模值计数器设计步骤

确定有效状态
☆ 找出反馈清零状态 产生反馈清零信号 ☆ 画出计数器的逻辑电路
反馈清0法的基本思想是: 计数器从全0状态S0开始计数,计满 M个状态产生清0信号,使计数器恢复 到初态S0,然后再重复前面过程。
&
&
&
&
1
1
1
&
LD
D0
CR
D1
CP
D2

数字电子技术课程设计--电子秒表的设计

数字电子技术课程设计--电子秒表的设计

数字电子技术课程设计--电子秒表的设计数字电子技术课程设计课程设计题目:电子秒表的设计目录摘要 (2)1引言 (3)1.1设计目的 (3)1.2技术要求 (3)1.2.1基本要求 (3)1.2.2提高要求 (3)1.3设计内容 (3)1.4工作原理 (3)2设计框图 (4)3各个部分功能简介 (5)3.1按键去抖电路 (5)3.2控制器电路 (6)3.3时钟产生电路 (8)3.4计时电路 (9)3.5显示译码电路 (10)3.6 50000分频电路 (11)4硬件仿真 (13)4.1顶层逻辑图 (13)4.2LB0介绍 (14)4.3硬件仿真 (14)5课程设计的心得体会 (15)参考文献 (16)附录 (17)摘要本文以数字电子技术作为理论基础、以quartusⅡ软件为开发平台、以相关电路知识作为辅助,实现电子秒表电路的设计和制作。

该电子秒表可以准确显示时间,范围为00.00—99.99。

并且可以手动调节时间,随时启动、清零、暂停记录时间等。

操作起来简易、方便。

首先,本文针对电子秒表进行初步框架设计,并在对多种方案进行了认真比较和验证的基础上,又进一步详细介绍了时间脉冲发生器、秒计数器、译码及驱动显示电路。

其次,在总体电路图组装完成以后,用quartusⅡ软件对设计好的电路进行了仿真与调试,并逐一解决设计过程中出现的一系列问题。

最后,对照着电子秒表设计方案,对制作好的电子秒表功能进行总体验证。

并利用学院的LB0开发板进行硬件仿真。

关键词:电子秒表计数器分频quartusⅡ、1引言1.1设计目的1)掌握同步计数器74160,74161的使用方法,并理解其工作原理。

2)掌握用74160,74161进行计数器、分频器的设计方法。

3)掌握用三态缓冲器74244和74160,74138,7448进行动态显示扫描电路设计的方法。

4)掌握电子秒表的设计方法。

5)掌握在EDA系统软件MAX + plus Ⅱ环境下用FPGA/CPLD进行数字系统设计的方法,掌握该环境下功能仿真、时序仿真、管脚锁定和芯片下载的方法。

100进制计数器

100进制计数器

100进制计数器
首先要制作100进制计数器,需要用到2个74LS190N计数器,两个计数器的范围都是从0~99,然而74LS190N自身就是十进制可逆计数器,所以只需要将两个74LS190N芯片级联就可以达到100进制计数器的目的了。

PL是低电平有效地,预置数允许端,PL=0,时,预置数输入端P0~P3上的数据被置入计数器。

MR是有效地复位端,MR=1时,计数器被复位,所有输出端都为低电平。

CPU是加数计时,CPD是减数计时,当CPU=CPD时,计数器处于保持状态,不计数。

TCU是进位输出端,当加数计时达到最大计数值时,即达到9时,TCU在后半个周期(CPU=0)内变成低电平,其他情况均为高电平。

TCU借位为输出端,当减数计时器计时到零时,TCU在时钟的后半个周期(CPD=0)内变成低电平,其他情况均是高电平。

为实现100进制的计数可把第一芯片的TCU,TCD分别接后一级的CPU,CPD就可以级联使用,这就达到了0~99的技术过程了。

电路仿真图:。

74192实现100进制计数器实验原理

74192实现100进制计数器实验原理

74192是一种常见的集成电路,通常用于实现二进制或十进制的计数器。

虽然74192本身是二进制的计数器,但我们可以通过逻辑设计来将其转换为100进制计数器。

以下是实现100进制计数器的基本原理:
1. 使用四个74192:由于74192是四位计数器,我们需要使用四个74192芯片来构建100进制计数器。

每个74192芯片负责计数器的一个数位。

2. 设置计数范围:根据100进制,我们需要设置计数范围为0-99。

这意味着每个数位需要以100为基数进行计数。

因此,我们需要将每个74192的计数范围设置为0-99。

3. 连接输出:将四个74192芯片的计数输出相连,以形成完整的100进制计数器。

低位计数器的进位输出(Carry Out)将连接到高位计数器的时钟输入(Clock In),以实现进位。

4. 重置和启动:在开始计数之前,需要将所有74192芯片的复位输入(Reset)设置为逻辑高电平,以将计数器复位为0。

然后,通过将任意一个74192的时钟输入(Clock In)设置为逻辑高电平来启动计数器。

5. 结果显示:将每个74192芯片的计数输出连接到适当的显示设备,如数码管或LED灯,以显示计数器的当前值。

通过这种方式,我们可以利用多个74192芯片实现一个100进制计数器。

该实验需要适当的电路设计和连接,以及对集成电路的正确使用和配置。

EDA实验100进制计数器

EDA实验100进制计数器
注意! 在 MAX+PLUSⅡ 的有些版本中,保存文件目
录的路径字符串中不能包含中文字符。
2007.12.2
(4)检查错误并编译
为了确保输入的逻辑正确,可以保存文件并检查 错误。步骤如下:
a. 选择 FileProjectSave & compile 选项 ,这 将保存上面编辑的文件,并检查输入程序中的错
2007.12.2
b. 选择 FileNew 菜单,或单击 ,
2007.12.2
c. 选中 Text Editor file (文本设计文件)单选按 钮。
•d.图单形击编辑ok输按入钮。弹出 •Te符xt号E编dit辑or输窗入口。 • 文本编辑输入 • 波形编辑输入
(2)输入verilog HDL程序
文件名称和文本文 件一致,扩展名为 “.scf” ,单击OK 保存激励信号编辑 结果。
2007.12.2
(2)电路仿真
电路仿真属于设计校验,包括功能仿真(前仿真) 和时序仿真(后仿真)。本设计采用功能仿真。
a. 选择MAX+plusⅡSimulator选项,弹出仿真器窗口 。
b. 单击 Start 开始仿真 。
选择初始电平为“0”,时钟周期为“20 ns”,倍数为“1” (时钟周期倍数只能为整数倍),单击 OK 确认。
2007.12.2
e. 为输入端口添加信号
选中b输入端 然后点击窗口左侧的时钟信号源图标 出现如图所示的对话框
选择初始电平为“0”,时钟周期为“20 ns”,倍数为“2” (时钟周期倍数只能为整数倍),单击 OK 确认。
2007.12.2
以计数序列覆盖所选的单个组的全部或部分波形
e. 为输入端口添加信号

数字秒表课程设计

数字秒表课程设计
元件明细表
………………….………………………………..………………..……..……………………………………20
鸣谢…………………….…………………………………………………..…………………………………………………….21
收获和体..…………………………………………………………………………………………………………………….21
555定时器的功能
555定时器组成及工作原理如下:
图2-1-5 555定时器电路结构图
如图2-1-5是555定时器电路结构的简化原理图和引脚标识。由电路原理图可见,该集成电路由下述几部分组成:串联电阻分压电路、电压比较器C1和C2、基本RS触发器、放电三极管T以及缓冲器G组成。(注释:编号555的内涵是因该集成电路的基准电压是由三个5kΩ电阻分压组成)
本次实验所做数字式秒表由信号发生系统和计时系统构成。由于需要比较稳定的信号,所以信号发生系统555定时器与电阻和电容组成的多谐振荡器构成,信号频率为100HZ。计时系统由计数器、译码器、显示器组成。计数器由74 –160构成,由十进制计数器组成了一百进制和六十进制计数器,采用异步进位方式。译码器由7447构成,为4-7译码。显示器由数码管构成。具体过程为:由晶体震荡器产生100HZ脉冲信号,传入计数ห้องสมุดไป่ตู้统,先进入计数器,然后传入译码器,将4位信号转化为数码管可显示的7位信号,结果以“99时“分”、“秒”、”依次在数码管显示出来。该秒表最大计时值为99时59分59秒9/10,“分”和“99时”为一百进制计数器组成,“秒”为六十进制计数器组成。
由图1中可知,若5脚悬空,当Ui6<2Ucc/3,Ui2<Ucc/3时,比较器C1、C2分别输出高电平和低电平,即R=1, S=0,使基本RS触发器置1,放电三极管截止,输出Uo=1。

数字逻辑——精选推荐

数字逻辑——精选推荐

数字逻辑3)按计数增减分:加法计数器,减法计数器,加/减法计数器.7.3.1 异步计数器⼀,异步⼆进制计数器1,异步⼆进制加法计数器分析图7.3.1 由JK触发器组成的4位异步⼆进制加法计数器.分析⽅法:由逻辑图到波形图(所有JK触发器均构成为T/ 触发器的形式,且后⼀级触发器的时钟脉冲是前⼀级触发器的输出Q),再由波形图到状态表,进⽽分析出其逻辑功能.2,异步⼆进制减法计数器减法运算规则:0000-1时,可视为(1)0000-1=1111;1111-1=1110,其余类推.注:74LS163的引脚排列和74LS161相同,不同之处是74LS163采⽤同步清零⽅式.(2)CT74LS161的逻辑功能①=0时异步清零.C0=0②=1,=0时同步并⾏置数.③==1且CPT=CPP=1时,按照4位⾃然⼆进制码进⾏同步⼆进制计数.④==1且CPT·CPP=0时,计数器状态保持不变.4,反馈置数法获得N进制计数器⽅法如下:·写出状态SN-1的⼆进制代码.·求归零逻辑,即求置数控制端的逻辑表达式.·画连线图.(集成计数器中,清零,置数均采⽤同步⽅式的有74LS163;均采⽤异步⽅式的有74LS193,74LS197,74LS192;清零采⽤异步⽅式,置数采⽤同步⽅式的有74LS161,74LS160;有的只具有异步清零功能,如CC4520,74LS190,74LS191;74LS90则具有异步清零和异步置9功能.等等)试⽤CT74LS161构成模⼩于16的N进制计数器5,同步⼆进制加/减计数器⼆,同步⼗进制加法计数器8421BCD码同步⼗进制加法计数器电路分析三,集成同计数器1,集成⼗进制同步加法计数器CT74LS160(1)CT74LS160的引脚排列和逻辑功能⽰意图图7.3.3 CT74LS160的引脚排列图和逻辑功能⽰意图(2)CT74LS160的逻辑功能①=0时异步清零.C0=0②=1,=0时同步并⾏置数.③==1且CPT=CPP=1时,按照BCD码进⾏同步⼗进制计数.④==1且CPT·CPP=0时,计数器状态保持不变.2.集成⼗进制同步加/减计数器CT74LS190其逻辑功能⽰意图如教材图7.3.15所⽰.功能如教材表7.3.10所⽰.集成计数器⼩结:集成⼗进制同步加法计数器74160,74162的引脚排列图,逻辑功能⽰意图与74161,74163相同,不同的是,74160和74162是⼗进制同步加法计数器,⽽74161和74163是4位⼆进制(16进制)同步加法计数器.此外,74160和74162的区别是,74160采⽤的是异步清零⽅式,⽽74162采⽤的是同步清零⽅式.74190是单时钟集成⼗进制同步可逆计数器,其引脚排列图和逻辑功能⽰意图与74191相同.74192是双时钟集成⼗进制同步可逆计数器,其引脚排列图和逻辑功能⽰意图与74193相同.7.3.3 利⽤计数器的级联获得⼤容量N进制计数器计数器的级联是将多个计数器串接起来,以获得计数容量更⼤的N进制计数器.1,异步计数器⼀般没有专门的进位信号输出端,通常可以⽤本级的⾼位输出信号驱动下⼀级计数器计数,即采⽤串⾏进位⽅式来扩展容量.举例:74LS290(1)100进制计数器(2)64进制计数器2,同步计数器有进位或借位输出端,可以选择合适的进位或借位输出信号来驱动下⼀级计数器计数.同步计数器级联的⽅式有两种,⼀种级间采⽤串⾏进位⽅式,即异步⽅式,这种⽅式是将低位计数器的进位输出直接作为⾼位计数器的时钟脉冲,异步⽅式的速度较慢.另⼀种级间采⽤并⾏进位⽅式,即同步⽅式,这种⽅式⼀般是把各计数器的CP端连在⼀起接统⼀的时钟脉冲,⽽低位计数器的进位输出送⾼位计数器的计数控制端.举例:74161(1)60进制(2)12位⼆进制计数器(慢速计数⽅式)12位⼆进制计数器(快速计数⽅式)7.4 寄存器和移位寄存器寄存器是由具有存储功能的触发器组合起来构成的.⼀个触发器可以存储1位⼆进制代码,存放n位⼆进制代码的寄存器,需⽤n个触发器来构成.按照功能的不同,可将寄存器分为基本寄存器和移位寄存器两⼤类.基本寄存器只能并⾏送⼊数据,需要时也只能并⾏输出.移位寄存器中的数据可以在移位脉冲作⽤下依次逐位右移或左移,数据既可以并⾏输⼊,并⾏输出,也可以串⾏输⼊,串⾏输出,还可以并⾏输⼊,串⾏输出,串⾏输⼊,并⾏输出,⼗分灵活,⽤途也很⼴.7.4.1 基本寄存器概念:在数字电路中,⽤来存放⼆进制数据或代码的电路称为寄存器.1,单拍⼯作⽅式基本寄存器⽆论寄存器中原来的内容是什么,只要送数控制时钟脉冲CP上升沿到来,加在并⾏数据输⼊端的数据D0~D3,就⽴即被送⼊进寄存器中,即有:2.双拍⼯作⽅式基本寄存器(1)清零.CR=0,异步清零.即有:(2)送数.CR=1时,CP上升沿送数.即有:(3)保持.在CR=1,CP上升沿以外时间,寄存器内容将保持不变.7.4.2 移位寄存器1.单向移位寄存器四位右移寄存器:时钟⽅程:驱动⽅程:状态⽅程:右移位寄存器的状态表:输⼊现态次态Di CP1 ↑1 ↑1 ↑1 ↑0 0 0 01 0 0 01 1 0 01 1 1 01 0 0 01 1 0 01 1 1 01 1 1 1连续输⼊4个1单向移位寄存器具有以下主要特点:单向移位寄存器中的数码,在CP脉冲操作下,可以依次右移或左移.n位单向移位寄存器可以寄存n位⼆进制代码.n个CP脉冲即可完成串⾏输⼊⼯作,此后可从Q0~Qn-1端获得并⾏的n位⼆进制数码,再⽤n个CP脉冲⼜可实现串⾏输出操作.若串⾏输⼊端状态为0,则n个CP脉冲后,寄存器便被清零.2.双向移位寄存器M=0时右移M=1时左移3.集成双向移位寄存器74LS194CT74LS194的引脚排列图和逻辑功能⽰意图:CT74LS194的功能表:⼯作状态0 × × ×1 0 0 ×1 1 0 ↑1 1 1 ×异步清零保持右移左移并⾏输⼊7.4.3 移位寄存器的应⽤⼀,环形计数器1,环形计数器是将单向移位寄存器的串⾏输⼊端和串⾏输出端相连, 构成⼀个闭合的环.结构特点:,即将FFn-1的输出Qn-1接到FF0的输⼊端D0.⼯作原理:根据起始状态设置的不同,在输⼊计数脉冲CP的作⽤下,环形计数器的有效状态可以循环移位⼀个1,也可以循环移位⼀个0.即当连续输⼊CP脉冲时,环形计数器中各个触发器的Q端或端,将轮流地出现矩形脉冲.实现环形计数器时,必须设置适当的初态,且输出Q3Q2Q1Q0端初始状态不能完全⼀致(即不能全为"1"或"0"),这样电路才能实现计数, 环形计数器的进制数N与移位寄存器内的触发器个数n相等,即N=n2,能⾃启动的4位环形计数器状态图:由74LS194构成的能⾃启动的4位环形计数器时序图⼆,扭环形计数器1,扭环形计数器是将单向移位寄存器的串⾏输⼊端和串⾏反相输出端相连,构成⼀个闭合的环.实现扭环形计数器时,不必设置初态.扭环形计数器的进制数N与移位寄存器内的触发器个数n满⾜N=2n的关系结构特点为:,即将FFn-1的输出接到FF0的输⼊端D0.状态图:2,能⾃启动的4位扭环形计数器7.4.4 顺序脉冲发⽣器在数字电路中,能按⼀定时间,⼀定顺序轮流输出脉冲波形的电路称为顺序脉冲发⽣器.顺序脉冲发⽣器也称脉冲分配器或节拍脉冲发⽣器,⼀般由计数器(包括移位寄存器型计数器)和译码器组成.作为时间基准的计数脉冲由计数器的输⼊端送⼊,译码器即将计数器状态译成输出端上的顺序脉冲,使输出端上的状态按⼀定时间,⼀定顺序轮流为1,或者轮流为0.前⾯介绍过的环形计数器的输出就是顺序脉冲,故可不加译码电路即可直接作为顺序脉冲发⽣器.⼀,计数器型顺序脉冲发⽣器计数器型顺序脉冲发⽣器⼀般⽤按⾃然态序计数的⼆进制计数器和译码器构成.举例:⽤集成计数器74LS163和集成3线-8线译码器74LS138构成的8输出顺序脉冲发⽣器.⼆,移位型顺序脉冲发⽣器◎移位型顺序脉冲发⽣器由移位寄存器型计数器加译码电路构成.其中环形计数器的输出就是顺序脉冲,故可不加译码电路就可直接作为顺序脉冲发⽣器.◎时序图:◎由CT74LS194构成的顺序脉冲发⽣器见教材P233的图7.4.6和图7.4.77.5 同步时序电路的设计(略)7.6 数字系统⼀般故障的检查和排除(略)本章⼩结计数器是⼀种应⽤⼗分⼴泛的时序电路,除⽤于计数,分频外,还⼴泛⽤于数字测量,运算和控制,从⼩型数字仪表,到⼤型数字电⼦计算机,⼏乎⽆所不在,是任何现代数字系统中不可缺少的组成部分.计数器可利⽤触发器和门电路构成.但在实际⼯作中,主要是利⽤集成计数器来构成.在⽤集成计数器构成N进制计数器时,需要利⽤清零端或置数控制端,让电路跳过某些状态来获得N进制计数器.寄存器是⽤来存放⼆进制数据或代码的电路,是⼀种基本时序电路.任何现代数字系统都必须把需要处理的数据和代码先寄存起来,以便随时取⽤.寄存器分为基本寄存器和移位寄存器两⼤类.基本寄存器的数据只能并⾏输⼊,并⾏输出.移位寄存器中的数据可以在移位脉冲作⽤下依次逐位右移或左移,数据可以并⾏输⼊,并⾏输出,串⾏输⼊,串⾏输出,并⾏输⼊,串⾏输出,串⾏输⼊,并⾏输出.寄存器的应⽤很⼴,特别是移位寄存器,不仅可将串⾏数码转换成并⾏数码,或将并⾏数码转换成串⾏数码,还可以很⽅便地构成移位寄存器型计数器和顺序脉冲发⽣器等电路.在数控装置和数字计算机中,往往需要机器按照⼈们事先规定的顺序进⾏运算或操作,这就要求机器的控制部分不仅能正确地发出各种控制信号,⽽且要求这些控制信号在时间上有⼀定的先后顺序.通常采取的⽅法是,⽤⼀个顺序脉冲发⽣器来产⽣时间上有先后顺序的脉冲,以控制系统各部分协调地⼯作.顺序脉冲发⽣器分计数型和移位型两类.计数型顺序脉冲发⽣器状态利⽤率⾼,但由于每次CP信号到来时,可能有两个或两个以上的触发器翻转,因此会产⽣竞争冒险,需要采取措施消除.移位型顺序脉冲发⽣器没有竞争冒险问题,但状态利⽤率低.由JK触发器组成的4位异步⼆进制减法计数器的⼯作情况分析略.⼆,异步⼗进制加法计数器由JK触发器组成的异步⼗进制加法计数器的由来:在4位异步⼆进制加法计数器的基础上经过适当修改获得.有效状态:0000——1001⼗个状态;⽆效状态:1010~1111六个状态.三,集成异步计数器CT74LS290为了达到多功能的⽬的,中规模异步计数器往往采⽤组合式的结构,即由两个独⽴的计数来构成整个的计数器芯⽚.如:74LS90(290):由模2和模5的计数器组成;74LS92 :由模2和模6的计数器组成;74LS93 :由模2和模8的计数器组成.1.CT74LS290的情况如下.(1)电路结构框图和逻辑功能⽰意图(2)逻辑功能如下表7.3.1所⽰.注:5421码⼗进制计数时,从⾼位到低位的输出为.2,利⽤反馈归零法获得N(任意正整数)进制计数器⽅法如下:(1)写出状态SN的⼆进制代码.(2)求归零逻辑(写出反馈归零函数),即求异步清零端(或置数控制端)信号的逻辑表达式.(3)画连线图.举例:试⽤CT74LS290构成模⼩于⼗的N进制计数器.CT74LS290则具有异步清零和异步置9功能.讲解教材P215的[例7.3.1].注:CT74LS90的功能与CT74LS290基本相同.7.3.2 同步计数器⼀,同步⼆进制计数器1.同步⼆进制加法计数器2,同步⼆进制减法计数器3,集成同步⼆进制计数器CT74LS161(1)CT74LS161的引脚排列和逻辑功能⽰意图注:74LS163的引脚排列和74LS161相同,不同之处是74LS163采⽤同步清零⽅式.(2)CT74LS161的逻辑功能①=0时异步清零.C0=0②=1,=0时同步并⾏置数.③==1且CPT=CPP=1时,按照4位⾃然⼆进制码进⾏同步⼆进制计数.④==1且CPT·CPP=0时,计数器状态保持不变.4,反馈置数法获得N进制计数器⽅法如下:·写出状态SN-1的⼆进制代码.·求归零逻辑,即求置数控制端的逻辑表达式.·画连线图.(集成计数器中,清零,置数均采⽤同步⽅式的有74LS163;均采⽤异步⽅式的有74LS193,74LS197,74LS192;清零采⽤异步⽅式,置数采⽤同步⽅式的有74LS161,74LS160;有的只具有异步清零功能,如CC4520,74LS190,74LS191;74LS90则具有异步清零和异步置9功能.等等)试⽤CT74LS161构成模⼩于16的N进制计数器5,同步⼆进制加/减计数器⼆,同步⼗进制加法计数器8421BCD码同步⼗进制加法计数器电路分析三,集成同计数器1,集成⼗进制同步加法计数器CT74LS160(1)CT74LS160的引脚排列和逻辑功能⽰意图图7.3.3 CT74LS160的引脚排列图和逻辑功能⽰意图(2)CT74LS160的逻辑功能①=0时异步清零.C0=0②=1,=0时同步并⾏置数.③==1且CPT=CPP=1时,按照BCD码进⾏同步⼗进制计数.④==1且CPT·CPP=0时,计数器状态保持不变.2.集成⼗进制同步加/减计数器CT74LS190其逻辑功能⽰意图如教材图7.3.15所⽰.功能如教材表7.3.10所⽰.集成计数器⼩结:集成⼗进制同步加法计数器74160,74162的引脚排列图,逻辑功能⽰意图与74161,74163相同,不同的是,74160和74162是⼗进制同步加法计数器,⽽74161和74163是4位⼆进制(16进制)同步加法计数器.此外,74160和74162的区别是,74160采⽤的是异步清零⽅式,⽽74162采⽤的是同步清零⽅式.74190是单时钟集成⼗进制同步可逆计数器,其引脚排列图和逻辑功能⽰意图与74191相同.74192是双时钟集成⼗进制同步可逆计数器,其引脚排列图和逻辑功能⽰意图与74193相同.7.3.3 利⽤计数器的级联获得⼤容量N进制计数器计数器的级联是将多个计数器串接起来,以获得计数容量更⼤的N进制计数器.1,异步计数器⼀般没有专门的进位信号输出端,通常可以⽤本级的⾼位输出信号驱动下⼀级计数器计数,即采⽤串⾏进位⽅式来扩展容量.举例:74LS290(1)100进制计数器(2)64进制计数器2,同步计数器有进位或借位输出端,可以选择合适的进位或借位输出信号来驱动下⼀级计数器计数.同步计数器级联的⽅式有两种,⼀种级间采⽤串⾏进位⽅式,即异步⽅式,这种⽅式是将低位计数器的进位输出直接作为⾼位计数器的时钟脉冲,异步⽅式的速度较慢.另⼀种级间采⽤并⾏进位⽅式,即同步⽅式,这种⽅式⼀般是把各计数器的CP端连在⼀起接统⼀的时钟脉冲,⽽低位计数器的进位输出送⾼位计数器的计数控制端.举例:74161(1)60进制(2)12位⼆进制计数器(慢速计数⽅式)12位⼆进制计数器(快速计数⽅式)7.4 寄存器和移位寄存器寄存器是由具有存储功能的触发器组合起来构成的.⼀个触发器可以存储1位⼆进制代码,存放n位⼆进制代码的寄存器,需⽤n个触发器来构成.按照功能的不同,可将寄存器分为基本寄存器和移位寄存器两⼤类.基本寄存器只能并⾏送⼊数据,需要时也只能并⾏输出.移位寄存器中的数据可以在移位脉冲作⽤下依次逐位右移或左移,数据既可以并⾏输⼊,并⾏输出,也可以串⾏输⼊,串⾏输出,还可以并⾏输⼊,串⾏输出,串⾏输⼊,并⾏输出,⼗分灵活,⽤途也很⼴.7.4.1 基本寄存器概念:在数字电路中,⽤来存放⼆进制数据或代码的电路称为寄存器.1,单拍⼯作⽅式基本寄存器⽆论寄存器中原来的内容是什么,只要送数控制时钟脉冲CP上升沿到来,加在并⾏数据输⼊端的数据D0~D3,就⽴即被送⼊进寄存器中,即有:2.双拍⼯作⽅式基本寄存器(1)清零.CR=0,异步清零.即有:(2)送数.CR=1时,CP上升沿送数.即有:(3)保持.在CR=1,CP上升沿以外时间,寄存器内容将保持不变.7.4.2 移位寄存器1.单向移位寄存器四位右移寄存器:时钟⽅程:驱动⽅程:状态⽅程:右移位寄存器的状态表:输⼊现态说明Di CP1 ↑1 ↑1 ↑1 ↑0 0 0 01 0 0 01 1 0 01 1 1 01 0 0 01 1 0 01 1 1 01 1 1 1连续输⼊4个1单向移位寄存器具有以下主要特点:单向移位寄存器中的数码,在CP脉冲操作下,可以依次右移或左移.n位单向移位寄存器可以寄存n位⼆进制代码.n个CP脉冲即可完成串⾏输⼊⼯作,此后可从Q0~Qn-1端获得并⾏的n位⼆进制数码,再⽤n个CP脉冲⼜可实现串⾏输出操作.若串⾏输⼊端状态为0,则n个CP脉冲后,寄存器便被清零.2.双向移位寄存器M=0时右移M=1时左移3.集成双向移位寄存器74LS194CT74LS194的引脚排列图和逻辑功能⽰意图:CT74LS194的功能表:⼯作状态0 × × ×1 0 1 ↑1 1 0 ↑1 1 1 ×异步清零保持右移左移并⾏输⼊7.4.3 移位寄存器的应⽤⼀,环形计数器1,环形计数器是将单向移位寄存器的串⾏输⼊端和串⾏输出端相连, 构成⼀个闭合的环.结构特点:,即将FFn-1的输出Qn-1接到FF0的输⼊端D0.⼯作原理:根据起始状态设置的不同,在输⼊计数脉冲CP的作⽤下,环形计数器的有效状态可以循环移位⼀个1,也可以循环移位⼀个0.即当连续输⼊CP脉冲时,环形计数器中各个触发器的Q端或端,将轮流地出现矩形脉冲.实现环形计数器时,必须设置适当的初态,且输出Q3Q2Q1Q0端初始状态不能完全⼀致(即不能全为"1"或"0"),这样电路才能实现计数, 环形计数器的进制数N与移位寄存器内的触发器个数n相等,即N=n2,能⾃启动的4位环形计数器状态图:由74LS194构成的能⾃启动的4位环形计数器时序图⼆,扭环形计数器1,扭环形计数器是将单向移位寄存器的串⾏输⼊端和串⾏反相输出端相连,构成⼀个闭合的环.实现扭环形计数器时,不必设置初态.扭环形计数器的进制数N与移位寄存器内的触发器个数n满⾜N=2n的关系结构特点为:,即将FFn-1的输出接到FF0的输⼊端D0.状态图:2,能⾃启动的4位扭环形计数器7.4.4 顺序脉冲发⽣器在数字电路中,能按⼀定时间,⼀定顺序轮流输出脉冲波形的电路称为顺序脉冲发⽣器.顺序脉冲发⽣器也称脉冲分配器或节拍脉冲发⽣器,⼀般由计数器(包括移位寄存器型计数器)和译码器组成.作为时间基准的计数脉冲由计数器的输⼊端送⼊,译码器即将计数器状态译成输出端上的顺序脉冲,使输出端上的状态按⼀定时间,⼀定顺序轮流为1,或者轮流为0.前⾯介绍过的环形计数器的输出就是顺序脉冲,故可不加译码电路即可直接作为顺序脉冲发⽣器.⼀,计数器型顺序脉冲发⽣器计数器型顺序脉冲发⽣器⼀般⽤按⾃然态序计数的⼆进制计数器和译码器构成.举例:⽤集成计数器74LS163和集成3线-8线译码器74LS138构成的8输出顺序脉冲发⽣器.⼆,移位型顺序脉冲发⽣器◎移位型顺序脉冲发⽣器由移位寄存器型计数器加译码电路构成.其中环形计数器的输出就是顺序脉冲,故可不加译码电路就可直接作为顺序脉冲发⽣器.◎时序图:◎由CT74LS194构成的顺序脉冲发⽣器见教材P233的图7.4.6和图7.4.77.5 同步时序电路的设计(略)7.6 数字系统⼀般故障的检查和排除(略)本章⼩结计数器是⼀种应⽤⼗分⼴泛的时序电路,除⽤于计数,分频外,还⼴泛⽤于数字测量,运算和控制,从⼩型数字仪表,到⼤型数字电⼦计算机,⼏乎⽆所不在,是任何现代数字系统中不可缺少的组成部分.计数器可利⽤触发器和门电路构成.但在实际⼯作中,主要是利⽤集成计数器来构成.在⽤集成计数器构成N进制计数器时,需要利⽤清零端或置数控制端,让电路跳过某些状态来获得N进制计数器.寄存器是⽤来存放⼆进制数据或代码的电路,是⼀种基本时序电路.任何现代数字系统都必须把需要处理的数据和代码先寄存起来,以便随时取⽤.寄存器分为基本寄存器和移位寄存器两⼤类.基本寄存器的数据只能并⾏输⼊,并⾏输出.移位寄存器中的数据可以在移位脉冲作⽤下依次逐位右移或左移,数据可以并⾏输⼊,并⾏输出,串⾏输⼊,串⾏输出,并⾏输⼊,串⾏输出,串⾏输⼊,并⾏输出.寄存器的应⽤很⼴,特别是移位寄存器,不仅可将串⾏数码转换成并⾏数码,或将并⾏数码转换成串⾏数码,还可以很⽅便地构成移位寄存器型计数器和顺序脉冲发⽣器等电路.在数控装置和数字计算机中,往往需要机器按照⼈们事先规定的顺序进⾏运算或操作,这就要求机器的控制部分不仅能正确地发出各种控制信号,⽽且要求这些控制信号在时间上有⼀定的先后顺序.通常采取的⽅法是,⽤⼀个顺序脉冲发⽣器来产⽣时间上有先后顺序的脉冲,以控制系统各部分协调地⼯作.顺序脉冲发⽣器分计数型和移位型两类.计数型顺序脉冲发⽣器状态利⽤率⾼,但由于每次CP信号到来时,可能有两个或两个以上的触发器翻转,因此会产⽣竞争冒险,需要采取措施消除.移位型顺序脉冲发⽣器没有竞争冒险问题,但状态利⽤率低.。

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

实验名称:100进制同步计数器设计专业班级:姓名:学号:实验日期:一、实验目的:1、掌握计数器的原理及设计方法;2、设计一个0~100的计数器;3、利用实验二的七段数码管电路进行显示;二、实验要求:1、用VHDL 语言进行描写;2、有计数显示输出;3、有清零端和计数使能端;三、实验结果:1. VHDL程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;PACKAGE my_pkg ISComponent nd2 -- 或门PORT (a,b: IN STD_LOGIC;c: OUT STD_LOGIC);END Component;Component led_decoderPORT (din:in std_logic_vector(3 downto 0 ); --四位二进制码输入seg:out std_logic_vector(6 downto 0) ); --输出LED七段码END Component;1Component 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时钟分频出1HzPORT(clkinput : IN STD_LOGIC;output : OUT STD_LOGIC);END Component;Component jtd --交通灯控制器PORT(CLKIN:IN STD_LOGIC; --50MHZR1,G1,R2,G2,R3,G3,R4,G4:OUT STD_LOGIC; --红绿灯信号输出GAO,DI:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0) --倒计时输出);END Component;END my_pkg;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE work.my_pkg.ALL; --打开程序包ENTITY Demo3 ISPORT (CRl:IN STD_LOGIC;ENl:IN STD_LOGIC;CLKIN: IN STD_LOGIC;LEDLOW,LEDHIGH: OUT STD_LOGIC_VECTOR(6 downto 0));END Demo3;ARCHITECTURE behv OF Demo3 ISSIGNAL CLKTEMP: STD_LOGIC; --定义中转信号SIGNAL LEDLOWTEMP,LEDHIGHTEMP:STD_LOGIC_VECTOR(3 downto 0);BEGINu1:freq_div PORT MAP(CLKIN,CLKTEMP); --位置关联方式u2:CNT60 PORTMAP(CR=>CRl,EN=>ENl,CLK=>CLKTEMP,OUTLOW=>LEDLOWTEMP,OUTHIGH=>LEDHIGHTE MP); --名字关联方式u3:led_decoder PORT MAP(LEDLOWTEMP,LEDLOW); --低位数码管输出u4:led_decoder PORT MAP(LEDHIGHTEMP,LEDHIGH); --高位数码管输出END behv;LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY freq_div ISPORT(clkinput : IN STD_LOGIC;output : OUT STD_LOGIC);END freq_div;ARCHITECTURE rt OF freq_div ISSIGNAL count_signal : INTEGER RANGE 0 TO 25000000;signal mid1 : STD_LOGIC ;BEGINPROCESS (clkinput)BEGINIF (clkinput'EVENT AND clkinput = '1') THENif count_signal=24999999 then --50MHz division to 1Hzcount_signal <= 0;mid1<= not mid1;elsecount_signal <= count_signal + 1;end if;output <= mid1;end if;END PROCESS;end rt;--文件名:decoder.vhdlibrary IEEE;use IEEE.STD_LOGIC_1164.ALL;entity led_decoder isPort (din:in std_logic_vector(3 downto 0 ); --四位二进制码输入seg:out std_logic_vector(6 downto 0) ); --输出LED七段码end led_decoder;architecture Behavioral of led_decoder isbeginprocess(din)begincase din iswhen "0000" =>seg<="1000000";--0when "0001" => seg<="1111001";--1when "0010" => seg<="0100100";--2when "0011" => seg<="0110000";--3when "0100" => seg<="0011001";--4when "0101" => seg<="0010010";--5when "0110" => seg<="0000010";--6when "0111" => seg<="1011000";--7when "1000" => seg<="0000000";--8when "1001" => seg<="0010000";--9when others => seg<="0000110";--Eend case;end process;end Behavioral;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT60 ISPORT(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 CNT60;ARCHITECTURE behav OF CNT60 ISBEGINPROCESS(CLK,CR,EN)BEGINif CR='1' thenOUTHIGH<="0000";OUTLOW<="0000";elsif EN ='1'thenIF CLK'EVENT AND CLK='1' THENIF OUTHIGH="1001" AND OUTLOW="1001" THENOUTHIGH<="0000";OUTLOW<="0000";ELSIF OUTLOW="1001" THENOUTHIGH<=OUTHIGH+1;OUTLOW<="0000";ELSE OUTLOW<=OUTLOW+1;END IF;END IF;END IF;END PROCESS;END behav;2.仿真结果以及说明①. 分频器仿真结果:经过多次仿真,发现按照实验要求分频出1HZ的频率是无法仿真出需要的结果的,因为时钟脉冲太多,QuartusII显示不了。

因此我在代码中修改了下,改成每25次高电平计数器加一,实现分频后为1MHZ的频率,仿真出上图的波形。

仿真结果与分频后的频率一致。

②. 计数器仿真结果:计数器代码仿真波形如上图,实现了实验要求的功能,实现了100进制的自加计数器。

当使能EN=1时,计数器开始自动增加;当CLR=1时,计数器清零;当各位计数到9的时候,十位自动增加1;当计数到99之后,计数器自动清零,开始重新的自加;仿真结果与计数器功能一致。

3. 程序下载及运行情况说明四、实验总结:通过这次的可编程逻辑器件应用课,我对QuartusⅡ软件的使用与CPLD/FPGA设计有进一步了解与掌握。

实验通过一个简单的实例来演示如何使用Quartus II在做一个0~100的计数器。

虽然有许多不懂,但经过查询资料,使我克服困难,同时加深了对可编程逻辑器件应用与开发这门课的兴趣,我相信,以后能更好运用其中知识。

相关文档
最新文档