用JKFF触发器设计一个模为4的加法计数器
用JKFF触发器设计一个模为4的加法计数器

用JKFF触发器设计一个模为4的加法计数器
解:
步骤1分析题意。
由题意知,待设计的护送鼓起默认为模4计数,且不要求加载初值。故电路只需时钟输入端clk,clk作为电路的同步时钟,不必当做输入变量对待;输出一个4进制数2个输出端,记为Q1Q2。要有输出信号Z,故共需要3个输出端。因输出量Q1Q2就是计数值,故采用Moore型电路较为合适。
由于采用同步方案,故时钟方程为:
CP0=CP1=CP2
由表可以做出次态卡诺图及输出卡诺图,根据卡诺图求出次态方程式,不化简,以便使之与JK触发器的特性方程的形式一致。
输出方程式:
Q QQ
Q1n+1=Q1 Q2
Q2n+1=(Q1)
括号表示非
Z=Q1Q2Байду номын сангаас
与JK触发器的特性方程Qn+1=JQn+KQn比较可得到驱动方程式
步骤2建立原始状态图
模4计数器要求有4个记忆状态,且逢4进1。由此作图:
/Z /0
/1 /0
/0
步骤3状态分配
由于最大模值为4,因此必须取最大代码位数n=2.假设令S0=00,S1=01,S2=10,S3=11,则可以做出状态转移表:
步骤4选触发器,求时钟,输出,状态,驱动方程。
因需要2个二进制代码,选用2个CP下降沿触发的JK触发器,分别用FF0,FF1表示。
单片机汇编4位有符号位加法

单片机汇编4位有符号位加法首先,我们需要了解有符号位加法的基本原理。
在计算机中,有符号数通常使用补码表示。
补码是一种能够同时表示负数和正数的编码方式,其计算方式如下:- 对于正数,其补码和原码相同;- 对于负数,其补码是其绝对值的原码取反后加1。
在单片机中,我们可以利用这种补码表示的特性来实现有符号位加法。
下面将介绍一种基于补码的有符号位加法实现算法。
首先,我们需要准备两个有符号数,分别表示为A和B。
这两个有符号数以补码的形式存储在内存中。
我们首先需要将这两个有符号数加载到通用寄存器中,以便进行加法运算。
接下来,我们使用通用寄存器进行加法运算。
在单片机汇编中,通用寄存器可以直接执行加法指令,因此我们不需要额外的算法实现来进行加法运算。
在加法运算完成后,我们得到了两个有符号数的和,存储在通用寄存器中。
接着,我们需要检查加法结果是否溢出。
在有符号位加法中,溢出是一个很重要的问题。
当两个有符号数相加时,可能会产生溢出,导致结果不准确。
在单片机汇编中,我们可以通过检查进位和溢出标志位来判断是否发生了溢出。
如果发生溢出,我们需要进行相应的处理,例如输出错误信息或者进行溢出处理。
最后,我们将加法结果存储回内存中,以便后续程序使用。
在存储结果时,需要注意将补码转换回原码,以确保结果的正确性。
在实际开发中,有符号位加法的实现还可能涉及其他问题,如数据类型转换、数据对齐、运算精度等。
针对这些问题,我们需要设计合理的算法和代码实现来保证程序的正确性和效率。
综上所述,实现单片机汇编4位有符号位加法需要一定的算法设计和代码实现。
只有通过合理的结构设计和精确的算法实现,才能确保有符号位加法的准确性和可靠性。
在实际开发中,我们需要充分了解有符号数的特性和补码表示法,以确保实现的正确性和稳定性。
JK触发器和加法计数器

触发器清零
查 阅
VCC 5V
演示
J2
GND
Key = J J4
Key = K
GND VCC
J3
Key = C J5
JK触发器的逻辑功能
Q0
1
U1A
2.5 V Q1
14 1J
1Q 12
6
1 1CLK
3
3 1K
~1Q 13
5
2 ~1CLR
2.5 V
2
74LS73D
4
Key = R
归纳
CP ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
第4单元触发器
JK触发器和加法计数器
✓掌握JK触发器的逻辑功能 ✓了解加法计数器工作原理
计数脉冲顺序 0
Q4 Q3 Q2 Q1
0000
1
0001
2
0010
3
0011
4
0100
5
0 10 1
6
0110
7
0111
8
1000
9
1001
10
1010
11
1011
12
1100
13
1101
14
1110
15
1111
0
1
加圈表示 00 下降沿触发
10
触发器的“0”态
01,11
触发器的“1”态
学生仿真 多少进制计数器?
记下全部状态,画 出状态图
计数脉冲信号 模拟开关
触发器清零
16
0000
认识
计数器的基本原理
计数器(Counter): 用于计算输入脉冲的个数。
Q=0;1
计数脉冲信号
用JKFF触发器设计一个模为8的加法计数器

题目:用JKFF 设计模为8的加法计数器步骤1: 分析题意 根据题目所给的条件,待设计的计数器默认为模为8的加法器,不需要求加载初值。
电路只需要故电路只需时钟输入端clk ,clk 作为电路的同步时钟,不必当做输入变量对待;输出一个8进制数要3个输出端,记为0Q 1Q 2Q 。
要有输出信号Y ,故共需要3个输出端。
因输出量0Q 1Q 2Q 就是计数值,故采用Moore 型电路较为合适。
步骤2:建立原始状态图 模8加法器要求逢8加1,。
有此状态图做出如图所示。
需要8个状态故不需要化简。
/Y /0 /0 /0S0→S1→S2→S3 ↑/1 ↓/0 S7←S6←S5←S4/0 /0 /0步骤3:状态分配。
由于最大模的值为8,因此必须取代码位数n=3。
假设S0=000,S1=001,S2=010,S3=011,S4=100,S5=101,S6=110,S7=111.则可以做出状态转移表如图。
步骤4:选触发器,求时钟、输出、状态、驱动方程。
因需要3位二进制代码,选用三个CP 下降沿出发的J-K 触发器,分别用FF0,FF1,FF2表示。
有状态列表可作出次态卡诺图及输出函数的卡诺图,如图所示。
与J-K 触发器的特性方程nn n QK Q J Q+=+1比较得到驱动方程输入 现态 次态输 出CP Q2 Q1 Q0 12+n Q11+n Q1+n QY 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 2 0 1 0 0 1 1 0 3 0 1 1 1 0 0 0 4 1 0 0 1 0 1 0 5 1 0 1 1 1 0 0 6 1 1 0 1 1 1 0 71111nn Q Q 01=+10=J 10=Knn n n n Q Q Q Q Q 101011+=+ nQ J 01=nQ K 01=nn n n n n n n Q Q Q Q Q Q Q Q 122012012++=+nn n Q Q Q Y 210=nnQ Q K J 1022==步骤5:画出逻辑电路图nQ 0nnQ Q 1200 01 11 100 1 1 1 1 1nQ 0nnQ Q 1200 01 11 100 0 1 1 0 11nQ 0nn Q Q 120001 11100 0 0 1 1111nQ 0nnQ Q 12000111100 0 0 0 0 11。
用JK触发器和门电路设计一个4位格雷码计数器

福建农林大学金山学院课程设计报告课程名称:数字逻辑课程设计题目:用JK触发器和门电路设计一个4位格雷码计数器姓名:系:专业:年级:学号:指导教师:职称:2011年6 月29 日用JK触发器和门电路设计一个4位格雷码计数器一、实验目的1、用JK触发器和门电路设计一个4位格雷码计数器。
2、加强对格雷码的认识。
3、熟悉对JK触发器的使用。
4、利用仿真软件Multisim11.0对数字电路进行仿真和实现。
二、仿真软件Multisim介绍(注:因为本课程设计用的是2011年的版本,所以对此进行简单的介绍)⑴仿真软件Multisim11.0:NI Multisim软件是一个专门用于电子电路仿真与设计的EDA工具软件。
作为 Windows 下运行的个人桌面电子设计工具,NI Multisim 是一个完整的集成化设计环境。
NI Multisim计算机仿真与虚拟仪器技术可以很好地解决理论教学与实际动手实验相脱节的这一问题。
学员可以很方便地把刚刚学到的理论知识用计算机仿真真实的再现出来,并且可以用虚拟仪器技术创造出真正属于自己的仪表。
NI Multisim软件绝对是电子学教学的首选软件工具。
⑵特点:①直观的图形界面。
②丰富的元器件。
③强大的仿真能力。
④丰富的测试仪器。
⑤完备的分析手段。
⑥独特的射频(RF)模块。
⑦强大的MCU模块。
⑧完善的后处理。
⑨详细的报告。
⑩兼容性好的信息转换。
三、实验步骤(包括设计过程、仿真结果和结果分析)⒈设计过程6 0 1 0 1 07 0 1 0 0 08 1 1 0 0 09 1 1 0 1 0 10 1 1 1 1 0 11 1 1 1 0 0 12 1 0 1 0 0 13 1 0 1 1 0 14 1 0 0 1 0 15 1 0 0 0 1 16 0 0 0 0 0② 按状态转换表的计数顺序可得****3210Q Q Q Q 的卡诺图:从而分别得出*3Q 、*2Q 、*1Q 、*0Q 、C 的卡诺图:③ 由卡诺图得出状态方程和输出方程:*''''''''3313021021032103()()'Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q =++=+ |*''''''2212031031023102()()'Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q =++=+*'''11032032023010321(()')(())'Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q =++=⊕+⊕*'''''''032132132132132103210()'()'Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q =+++=⊕⊕+⊕⊕'''3210C Q Q Q Q =④ 又JK 触发器的特性方程为:*''Q JQ K Q =+,所以可得驱动方程:''3210J Q Q Q =,'''3210K Q Q Q = ''2310J Q Q Q =,'2310K Q Q Q =1320()'J Q Q Q =⊕,1320()K Q Q Q =⊕ 0321()'J Q Q Q =⊕⊕,0321K Q Q Q =⊕⊕⑤ 由驱动方程可画出逻辑电路图:⒉仿真结果①原理图如下:②部分波形图如下:⑴0000~1101⑵1101~0011③电路状态变化如下:⑴32100000Q Q Q Q=,0C=⑵32100001Q Q Q Q=,0C=⑶32100011Q Q Q Q=,0C=3210⑸32100110Q Q Q Q=,0C=⑹32100111Q Q Q Q=,0C=3210⑻32100100Q Q Q Q=,0C=⑼32101100Q Q Q Q=,0C=3210⑾32101111Q Q Q Q=,0C=⑿32101110Q Q Q Q=,0C=3210⒁32101011Q Q Q Q=,0C=⒂32101001Q Q Q Q=,0C=. '. ⒃32101000Q Q Q Q =,1C =⒊结果分析当3Q 、2Q 、1Q 、0Q 从00001000:完成一个循环时,进位输出C 才为1,其他情况都为0,符合题意要求。
quartus-4位二进制加减法计数器

学院:专业:班级设计原理框图从原理图中可见,需要有1bit装载位〔load〕、1bit清零位〔clr〕、方向控制位up_down和4bit数据选择位DIN[3..0]。
装载位我们采用SW0,清零位采用SW1,方向控制位为SW2。
SW3-SW6作为数据输入端,LED1-LED4显示数据的输出,LED5为溢出标志位。
实验内容编写一个带预置输入,清零输入,可加可减计数器的verilog代码或VHDL代码并仿真,编译下载验证module counter4(load,clr,c,DOUT,clk,up_down,DIN);//定义模块input load;input clk;//wire load;//定义线网型input clr;//wire clr;//input up_down;//wire up_down;//input [3:0]DIN;wire [3:0]DIN;output c;reg c;output [3:0]DOUT;//wire [3:0]DOUT;reg [3:0]data_r;assign DOUT=data_r;always@(posedge clk or posedge clr or posedge load)//检测clk,clr,load的上升沿beginif(clr)//当clr=1的时候进行下面的运行程序data_r<=0;//将data_r置零else if(load) //当load=1的时候进行下面的运行程序data_r<=DIN;//将DIN的值赋给data_relse begin if(up_down)//load=0的时候进行下面的操作beginif(data_r==4'b1111)begin///当data_r==4'b1111的时候进行下面的运行程序data_r<=4'b0000;c=1;endelse begin//当data_r不等于4'b1111的时候进行下面的运行程序data_r<=data_r+1;//进行加法计数c=0;endendelsebeginif(data_r==4'b0000)begin//当data_r==4'b0000的时候进行下面的运行程序data_r<=4'b1111;c=1;endelse begin//当data_r不等于4'b1111的时候进行下面的运行程序data_r<=data_r-1;//进行减法计数c=0;endendendendendmodule//结束模块实验数据注:各学院可根据教学需要对以上栏木进行增减。
四位二进制加法计数器设计报告

四位二进制加法计数器设计报告一、计数器简介计数器是最常用的时序电路之一,可用来计数、分频、定时、产生节拍脉冲以及其他时序信号。
计数器分类有很多,按触发器动作可分为同步计数器和异步计数器;按计数数值增减可分为加计数器、减计数器和可逆计数器;按编码可分为二进制计数器、BCD码计数器、循环码计数器。
本次设计的是四位异步二进制加法计数器。
二、设计构思四位异步二进制计数器逻辑图如上,它由4个T触发器组成。
计数脉冲CP加至时钟脉冲输入端,每输入一个计数脉冲,U1将翻转一次。
U2、U3和U4都以前级触发器的/Q端输出作为触发信号,当Q0端由1变成0时,即/Q0由0变成1时,U1翻转,其余类推。
/R端是用来清零端,只能全部置0,/S端是用来置1端,只能全部置1。
三、实现构思并用Workveiw仿真1、T触发器的实现本次设计是通过D触发器来构成T触发器,即将D触发器的/Q 端与D端相连即可,下面是D触发器的设计与仿真以及元件模块的制作:a 、D 触发器的逻辑图如下图,引脚/SD 可以直接置1,而引脚/RD 可以直接置0,时钟触发端为CP,有正反两个输出端Q 与/Q,这种触发器在工作中具有维持、阻塞特性,所以称之为维持阻塞触发器。
b 、下面进行D 触发器电路仿真,根据仿真波形可知该D 触发器满足特性表 n Q D1n +Q n Q D 1n +Q 0 00 1 0 0 0 11 1 11仿真截图如下:c、D触发器元件制作截图2、四位二进制异步加法计数器的实现首先是将每个D触发器的/Q端与D端相连,构成T触发器,然后按照先前的构思连接电路,加法计数器的计数脉冲输入端为CP,全部清0端为/R,全部置1端为/S,输出端由低位到高为分别为Q0、Q1、Q2、Q3。
其电路截图如下:下面进行计数器的逻辑仿真,CP输入单位时间脉冲,/R在第一个时钟脉冲置0,其余以后的时钟周期都置1,/S在所有的时钟周期内都置1,然后,进行逻辑仿真。
模4递增计数器

Lab 4&5 模4递增计数器7th1.实验目的了解D、JK触发器在数字电路中的具体应用,掌握设计电路时的结构化思想,进一步熟悉Altera DE0板的操作和FPGA的I/O控制及引脚分配。
2.实验内容●使用Verilog语言实现模4递增计数器●使用基本D触发器或者基本JK触发器作为模块单元●在Quartus中仿真波形●将代码下载至DE0开发板内,观察实验结果3.代码分析1)我们使用了2个D触发器作为模块单元,利用D触发器两次翻转为一个周期从而让周期翻倍使周期由1变为4,同时利用一个将内部50MHz的时钟变为1Hz的代码使其能够以4秒为一个周期,以实现模4计数器的功能。
代码将分为4个模块:主模块、D触发器模块、时钟转换模块、输出控制模块。
图 3.1 代码框架2)主模块中首先定义了本次实验的所有输入输出接口及其中的一些连线。
//countermodule exp5(clk,o);input clk;output [7:0] o;wire m,n,mnot,nnot;3)然后程序直接调用所需的模块以实现其功能。
freqDiv FA2 (clk,cp); //used to change the clock rateexp4 FA0 (mnot,cp,m,mnot); //used as a D flip-flopexp4 FA1 (nnot,m,n,nnot);num FA3 (m,n,o); //used to control the outputendmodule4)在D触发器模块单元中,同样首先定义好其输入输出,其中变量d为触发器中的data,clk为触发器中的时钟信号,q为输出Q,p为输出~Q。
定义p,q为寄存器变量。
//This module is used as a D flip-flopmodule exp4(d,clk,q,p);input d,clk;output p,q;reg p,q;5)然后根据D触发器的功能要求在接收到时钟传来的上升沿信号时,输出Q与data相同,输出~Q与data相反。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
解:
步骤1分析题意。
由题意知,待设计的护送鼓起默认为模4计数,且不要求加载初值。故电路只需时钟输入端clk,clk作为电路的同步时钟,不必当做输入变量对待;输出一个4进制数2个输出端,记为Q1Q2。要有输出信号Z,故共需要3个输出端。因输出量Q1Q2就是计数值,故采用Moore型电路较为合适。
步骤2建立原始状态图
模4计数器要求有4个记忆状态,且逢4进1。由此作图:
/Z /0
/1 /0
/0
步骤3状态分配
由于最大模值为4,因此必须取最大代码位数n=2.假设令S0=00,S1=01,S2=10,S3=11,则可以做出状态转移表:
步骤4选触发器,求时钟,输出,状态,驱动方程。
因需要2个二进制代码,选用2个CP下降沿触发的JK触发器,分别用FF0,FF1表示。
由于采用同步方案,故时钟方程为图及输出卡诺图,根据卡诺图求出次态方程式,不化简,以便使之与JK触发器的特性方程的形式一致。
输出方程式:
Q QQ
Q1n+1=Q1 Q2
Q2n+1=(Q1)
括号表示非
Z=Q1Q2
与JK触发器的特性方程Qn+1=JQn+KQn比较可得到驱动方程式