计数器代码 计数器的java代码
大家好,关于计数器代码很多朋友都还不太明白,今天小编就来为大家分享关于计数器的java代码的知识,希望对各位有所帮助!
51单片机定时/计数器的问题 (代码)
TH0= THC0;//向TH0寄存器写入THC0常数,也就是0xEE
TL0= TLC0;//向TL0寄存器写入TLC0常数,也就是0x00
//以上完成定时器0在16位模式下的初值加载,也就是0xEE00
TR0= 1;//开启定时器0的运行。此语句之后Timer0计数器才开始累加
ET0= 1;//开启定时器0的中断。此语句之后,Timer0计数器溢出才会产生中断标志
EA= 1;//开启总中断开关。此语句之后,中断标志置位才会触发PC跳转到对应的中断向量
好好学习天天向上
计数器的java代码
Java技术与Java虚拟机中文JAVA技术网g0cVV+]
中文JAVA技术网I5Zz[}'Og G6Y
说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示:
[)|)k3b9M#\)w%Q{~r0中文JAVA技术网:cP+] _2tRtm*K
中文JAVA技术网yz;_Y0FB
图1 Java四个方面的关系
,YW&x ^L|Q0运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然后将之编译成字节码(.class文件)。最后字节码被装入内存,一旦字节码进入虚拟机,它就会被解释器解释执行,或者是被即时代码发生器有选择的转换成机器码执行。从上图也可以看出Java平台由Java虚拟机和Java应用程序接口搭建,Java语言则是进入这个平台的通道,用Java语言编写并编译的程序可以运行在这个平台上。这个平台的结构如下图所示:
&x[+DX0\:W-o@a0中文JAVA技术网"? c3Y6bj-_
中文JAVA技术网P@+O3lf_pJ b
中文JAVA技术网5h:OY TyL2\|Z
在Java平台的结构中,可以看出,Java虚拟机(JVM)处在核心的位置,是程序与底层操作系统和硬件无关的关键。它的下方是移植接口,移植接口由两部分组成:适配器和Java操作系统,其中依赖于平台的部分称为适配器;JVM通过移植接口在具体的平台和操作系统上实现;在JVM的上方是Java的基本类库和扩展类库以及它们的API,利用Java API编写的应用程序(application)和小程序(Java applet)可以在任何Java平台上运行而无需考虑底层平台,就是因为有Java虚拟机(JVM)实现了程序与操作系统的分离,从而实现了Java的平台无关性。
h6l-v;HV1SvYO0中文JAVA技术网-G5cAK(e w}
那么到底什么是Java虚拟机(JVM)呢?通常我们谈论JVM时,我们的意思可能是:中文JAVA技术网,T,Y5d(B5r
中文JAVA技术网yWv~s;J
对JVM规范的的比较抽象的说明;
b0r[/o_k+p0对JVM的具体实现;中文JAVA技术网Xdt8M1sP T_"_s
在程序运行期间所生成的一个JVM实例。中文JAVA技术网H k0g,~ hO\
中文JAVA技术网C3@ w6O-a
对JVM规范的的抽象说明是一些概念的集合,它们已经在书《The Java Virtual Machine Specification》(《Java虚拟机规范》)中被详细地描述了;对JVM的具体实现要么是软件,要么是软件和硬件的组合,它已经被许多生产厂商所实现,并存在于多种平台之上;运行Java程序的任务由JVM的运行期实例单个承担。在本文中我们所讨论的Java虚拟机(JVM)主要针对第三种情况而言。它可以被看成一个想象中的机器,在实际的计算机上通过软件模拟来实现,有自己想象中的硬件,如处理器、堆栈、寄存器等,还有自己相应的指令系统。中文JAVA技术网&nC/D IHP,|
A)R-DFw o2X0JVM在它的生存周期中有一个明确的任务,那就是运行Java程序,因此当Java程序启动的时候,就产生JVM的一个实例;当程序运行结束的时候,该实例也跟着消失了。下面我们从JVM的体系结构和它的运行过程这两个方面来对它进行比较深入的研究。
Z6?gXm!~0Java虚拟机的体系结构
2XFZ@"I I,\0
e-i'_;P X a0刚才已经提到,JVM可以由不同的厂商来实现。由于厂商的不同必然导致JVM在实现上的一些不同,然而JVM还是可以实现跨平台的特性,这就要归功于设计JVM时的体系结构了。中文JAVA技术网{ v2T&tMlG?"]*N
中文JAVA技术网,HK3YQN k
我们知道,一个JVM实例的行为不光是它自己的事,还涉及到它的子系统、存储区域、数据类型和指令这些部分,它们描述了JVM的一个抽象的内部体系结构,其目的不光规定实现JVM时它内部的体系结构,更重要的是提供了一种方式,用于严格定义实现时的外部行为。每个JVM都有两种机制,一个是装载具有合适名称的类(类或是接口),叫做类装载子系统;另外的一个负责执行包含在已装载的类或接口中的指令,叫做运行引擎。每个JVM又包括方法区、堆、Java栈、程序计数器和本地方法栈这五个部分,这几个部分和类装载机制与运行引擎机制一起组成的体系结构图为:中文JAVA技术网BW0EZCI
2o\d oz0中文JAVA技术网%K1Hl:f~(@Y(U
图3 JVM的体系结构中文JAVA技术网0P/b(jt U$x
7{F*d8f7ySt:Q0JVM的每个实例都有一个它自己的方法域和一个堆,运行于JVM内的所有的线程都共享这些区域;当虚拟机装载类文件的时候,它解析其中的二进制数据所包含的类信息,并把它们放到方法域中;当程序运行的时候,JVM把程序初始化的所有对象置于堆上;而每个线程创建的时候,都会拥有自己的程序计数器和Java栈,其中程序计数器中的值指向下一条即将被执行的指令,线程的Java栈则存储为该线程调用Java方法的状态;本地方法调用的状态被存储在本地方法栈,该方法栈依赖于具体的实现。中文JAVA技术网 t?!Pz!B]
"^x1MT5qj0下面分别对这几个部分进行说明。
/}C2v7b:]%vo[|0中文JAVA技术网'z/@1RG7[E1`8B
执行引擎处于JVM的核心位置,在Java虚拟机规范中,它的行为是由指令集所决定的。尽管对于每条指令,规范很详细地说明了当JVM执行字节码遇到指令时,它的实现应该做什么,但对于怎么做却言之甚少。Java虚拟机支持大约248个字节码。每个字节码执行一种基本的CPU运算,例如,把一个整数加到寄存器,子程序转移等。Java指令集相当于Java程序的汇编语言。中文JAVA技术网 ^s&H2X*b,Z
q3[ OT`z"M4V0Java指令集中的指令包含一个单字节的操作符,用于指定要执行的操作,还有0个或多个操作数,提供操作所需的参数或数据。许多指令没有操作数,仅由一个单字节的操作符构成。
P.R.Uxbfc0
o"o qq9_0虚拟机的内层循环的执行过程如下:中文JAVA技术网3Hn8B r,xE
MjHj(zBG t"m P0do{
l$I&z V!M9[0取一个操作符字节;中文JAVA技术网7[?3o?,v A|3b+O R
根据操作符的值执行一个动作;
I(^e)G)Hf6`0}while(程序未结束)中文JAVA技术网y}0J/|:so
中文JAVA技术网c|%L(ud
由于指令系统的简单性,使得虚拟机执行的过程十分简单,从而有利于提高执行的效率。指令中操作数的数量和大小是由操作符决定的。如果操作数比一个字节大,那么它存储的顺序是高位字节优先。例如,一个16位的参数存放时占用两个字节,其值为:
0H.w`wb}.X0中文JAVA技术网y{X;n.u4PT+e)D7\&E
第一个字节*256+第二个字节字节码。中文JAVA技术网"V[]J!_0v+D
5^t6E[3aW![0指令流一般只是字节对齐的。指令tableswitch和lookup是例外,在这两条指令内部要求强制的4字节边界对齐。
#Rop'v6w FS0中文JAVA技术网g8Ai _)iw8r
对于本地方法接口,实现JVM并不要求一定要有它的支持,甚至可以完全没有。Sun公司实现Java本地接口(JNI)是出于可移植性的考虑,当然我们也可以设计出其它的本地接口来代替Sun公司的JNI。但是这些设计与实现是比较复杂的事情,需要确保垃圾回收器不会将那些正在被本地方法调用的对象释放掉。
&~:Jin+U$zE SI7Y0
"j1lJ`7Dd0v"v0Java的堆是一个运行时数据区,类的实例(对象)从中分配空间,它的管理是由垃圾回收来负责的:不给程序员显式释放对象的能力。Java不规定具体使用的垃圾回收算法,可以根据系统的需求使用各种各样的算法。中文JAVA技术网'z/wgb.s
中文JAVA技术网\TMY&[:H)Z#@ tr
计数器按功能分为哪些
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 CP
1↑
1↑
1↑
1↑
0 0 0 0
1 0 0 0
1 1 0 0
1 1 1 0
1 0 0 0
1 1 0 0
1 1 1 0
1 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.集成双向移位寄存器74LS194
CT74LS194的引脚排列图和逻辑功能示意图:
CT74LS194的功能表:
工作状态
0×××
1 0 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=n
2,能自启动的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.7
7.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 CP
1↑
1↑
1↑
1↑
0 0 0 0
1 0 0 0
1 1 0 0
1 1 1 0
1 0 0 0
1 1 0 0
1 1 1 0
1 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.集成双向移位寄存器74LS194
CT74LS194的引脚排列图和逻辑功能示意图:
CT74LS194的功能表:
工作状态
0×××
1 0 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=n
2,能自启动的4位环形计数器
状态图:
由74LS194构成的能自启动的4位环形计数器
时序图
二,扭环形计数器
1,扭环形计数器是将单向移位寄存器的串行输入端和串行反相输出端相连,构成一个闭合的环.
实现扭环形计数器时,不必设置初态.扭环形计数器的进制数
N与移位寄存器内的触发器个数n满足N=2n的关系
结构特点为:,即将FFn-1的输出接到FF0的输入端D0.
状态图:
2,能自启动的4位扭环形计数器
7.4.4顺序脉冲发生器
在数字电路中,能按一定时间,一定顺序轮流输出脉冲波形的电路称为顺序脉冲发生器.
顺序脉冲发生器也称脉冲分配器或节拍脉冲发生器,一般由计数器(包括移位寄存器型计数器)和译码器组成.作为时间基准的计数脉冲由计数器的输入端送入,译码器即将计数器状态译成输出端上的顺序脉冲,使输出端上的状态按一定时间,一定顺序轮流为1,或者轮流为0.前面介绍过的环形计数器的输出就是顺序脉冲,故可不加译码电路即可直接作为顺序脉冲发生器.
关于计数器代码和计数器的java代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。