《本堂课的主要内容 1、用置数法(位法)获得任意进制计数器》由会员分享,可在线阅读,更多相关《本堂课的主要内容 1、用置数法(位法)获得任意进制计数器(50页珍藏版)》请在金锄头文库上搜索。
1、本堂课的主要内容本堂课的主要内容1 1、用置数法、用置数法( (置位法置位法) )获得任意进制计数器获得任意进制计数器2 2、用计数器的进位输出信号、用计数器的进位输出信号C C进行反馈置数进行反馈置数3 3、三种方法总结、三种方法总结4 4、时序逻辑电路的设计、时序逻辑电路的设计5 5、用、用VerilogVerilog语言实现触发器和计数器语言实现触发器和计数器 置置数数法法与与置置零零法法不不同同,它它是是通通过过给给计计数数器器重重复复置置入入某某个个数数值值的的方方法法跳跳过过M MmaxmaxM M个个状状态态,而而获获得得模模M M计数器的。计数器的。M=700000001001
2、00011010001010110011110001001101010111100110111101111CRCCP1LDP 74161CPTD0 D1 D2 D3Q0 Q1 Q2 Q31&1 1、用置数法、用置数法( (置位法置位法) )获得任意进制计数器获得任意进制计数器CPCRCCP1LDP 74161CPTD0 D1 D2 D3Q0 Q1 Q2 Q31M=70000000100100011010001010110011110001001101010111100110111101111&Q1Q2Q3LDQ0M=700000001001000110100010101100111100010
3、01101010111100110111101111CRCCP1LDP 74161CPTD0 D1 D2 D3Q0 Q1 Q2 Q311& 1 11 1、用置数法、用置数法( (置位法置位法) )获得任意进制计数器获得任意进制计数器Q0 Q1 Q2 Q3D0 D1 D2 D3LDCrCPC0PT74LS161CP111&0 0 0 00000000100100011010001010101M=61 1、用置数法、用置数法( (置位法置位法) )获得任意进制计数器获得任意进制计数器Q0 Q1 Q2 Q3D0 D1 D2 D3LDCrCPC0PT74LS161CP111& 1 0 1 001010
4、1100111100010011010返回返回1 1、用置数法、用置数法( (置位法置位法) )获得任意进制计数器获得任意进制计数器1(a)CPT1LDC1CRP 74161CPD0 D1 D2 D3Q0 Q1 Q2 Q3&1D0 D1 D2 D3C PT1LDC1CRP 74161CP1Q0 Q1 Q2 Q3(b)1001101010111100110111101111012 2、用计数器的进位输出信号、用计数器的进位输出信号C C进行反馈置数进行反馈置数Q0 Q1 Q2 Q3D0 D1 D2 D3LDCrCPCPT74LS161CP1111 0 1 0 1C=Q0Q1Q2Q3T101010
5、1111001101111011112 2、用计数器的进位输出信号、用计数器的进位输出信号C C进行反馈置数进行反馈置数 用进位输出端用进位输出端C C来进行反馈置数,构成来进行反馈置数,构成5 5进制计进制计数器数器Q0 Q1 Q2 Q3D0 D1 D2 D3LDCrCPCPT74LS161CP111101100000001001000110100010101100111100010011010101111001101111011118 8进制?进制?2 2、用计数器的进位输出信号、用计数器的进位输出信号C C进行反馈置数进行反馈置数 1 1)反馈置零法反馈置零法实现模值为实现模值为M M的
6、计数器的计数器(即运用器件的(即运用器件的CRCR端)端) 若器件若器件异步置零异步置零则从零开始数则从零开始数M M个状态,让其下个状态,让其下一个状态作为置零条件。一个状态作为置零条件。 若器件若器件同步置零同步置零则从零开始数则从零开始数M M个状态,让第个状态,让第M M个个状态作为置零条件。状态作为置零条件。2 2)反馈置数法反馈置数法实现模值为实现模值为M M的计数器的计数器(即运用器件的(即运用器件的LDLD端)端) 若器件若器件同步置数同步置数则从则从所置的数所置的数开始开始M M个状态,让第个状态,让第M M个状态作为置数条件。个状态作为置数条件。3 3)用器件的输出端)用器
7、件的输出端C C进行进行反馈置数反馈置数实现模值为实现模值为M M的计数器的计数器 若器件若器件同步置数同步置数则从则从11111111(10011001)开始倒数)开始倒数M M个状态,个状态,让第让第M M个状态作为置数条件。个状态作为置数条件。3 3、运用一片、运用一片74LS16174LS161、74LS16074LS160、74LS9074LS90构成任意进制计数器总结:构成任意进制计数器总结:1 1)反馈置零法反馈置零法实现模值为实现模值为M M的计数器(即运用器件的的计数器(即运用器件的CRCR端)端) 若器件若器件异步置零异步置零则从零开始数则从零开始数M M个状态,让其下个状
8、态,让其下一个状态作为置零条件。一个状态作为置零条件。 若器件若器件同步置零同步置零则从零开始数则从零开始数M M个状态,让第个状态,让第M M个个状态作为置零条件。状态作为置零条件。0000000100100011010001010110011110001001101010111100110111101111如何构成如何构成M=8进制计数器进制计数器 CRCCP11LDP 74161 CPTD0 D1 D2 D3Q0 Q1 Q2 Q3&01101CP CR LD P T D0 D1 D2 D3 Q0 Q1 Q1 Q3011110111保 持(C也保持)保 持(C=0)计 数(0000-111
9、1)输 入 输 出 0 0 0 0a b c d a b c d解:解:下表是74163的功能表1 1)反馈置零法反馈置零法实现模值为实现模值为M M的计数器(即运用器件的的计数器(即运用器件的CRCR端)端)0000000100100011010001010110011110001001101010111100110111101111如何构成如何构成M=8进制计数器进制计数器 CRCCP11LDP 74163 CPTD0 D1 D2 D3Q0 Q1 Q2 Q3&1 1)反馈置零法反馈置零法实现模值为实现模值为M M的计数器(即运用器件的的计数器(即运用器件的CRCR端)端)& CPQ0 Q2
10、 Q1 Q3CRCP74LS163T1CP1D0 D2 D1 D3LD0110Q3Q2Q1Q00111100010011011000001010100001100100001110111111010110011102 2)反馈置数法反馈置数法实现模值为实现模值为M M的计数器(即运用器件的的计数器(即运用器件的LDLD端)端) 若器件若器件同步置数同步置数则从所置的数开始则从所置的数开始M M个状态,让第个状态,让第M M个状态作为置数条件。个状态作为置数条件。0000000100100011010001010110011110001001101010111100110111101111M=8
11、CRCCP1LDP 74161CPTD0 D1 D2 D3Q0 Q1 Q2 Q311& 1 15.20 & Q0 Q1 Q2 Q3P CT CRCP LD D0 D1 D2 D31CP1 0 0 1 &00000001001000110100Q2,Q1同时为1时置数Q3,Q2同时为1时清零0101011010011010101111003 3)用器件的输出端)用器件的输出端C C进行进行反馈置数反馈置数实现模值为实现模值为M M的计数器的计数器 若器件若器件同步置数同步置数则从则从11111111(10011001)开始倒数)开始倒数M M个状态,个状态,让第让第M M个状态作为置数条件。个状
12、态作为置数条件。1100D0 D1 D2 D3C PT1LDC1CRP 74161CP1Q0 Q1 Q2 Q3M=130000000100100011010001010110011110001001101010111100110111101111D0 D1 D2 D3C PT1LDC1CRP 74161CP1Q0 Q1 Q2 Q3M= 00114有效循环状态为有效循环状态为0100-10010100-1001如何构成如何构成8 8进制?进制?D0 D1 D2 D3C PT1LDC1CRP 74160CP1Q0 Q1 Q2 Q30 1 0 0返回返回3 3)用器件的输出端)用器件的输出端C C进
13、行进行反馈置数反馈置数实现模值为实现模值为M M的计数器的计数器D0 D1 D2 D3C PT1LDC1CRP 74161CP1Q0 Q1 Q2 Q30 1 1 0有效循环状态为有效循环状态为0110-11110110-1111如何构成如何构成1010进制?进制?D0 D1 D2 D3C PT1LDC1CRP 74160CP1Q0 Q1 Q2 Q31 0 1 0M=53 3)用器件的输出端)用器件的输出端C C进行进行反馈置数反馈置数实现模值为实现模值为M M的计数器的计数器CRCCP11LDP 74161 CPTD0 D1 D2 D3Q0 Q1 Q2 Q3用两种方法实现用两种方法实现10进制
14、计数器,计数循环为进制计数器,计数循环为000010010000000100100011010001010110011110001001101010111100110111101111&CRCCP1LDP 74161 CPTD0 D1 D2 D3Q0 Q1 Q2 Q31能否利用能否利用C C反馈置数反馈置数? ?CRCCP11LDP 74161 CPTD0 D1 D2 D3Q0 Q1 Q2 Q3&S92Q3 74LS90 (1)CP1S91R01R02Q2Q1Q0CP0级连成级连成60进制秒计数器进制秒计数器(0011 0010)8421BCD=&Q3S92 74LS90 (2)CP1S91R
15、01R02Q2Q1Q0CP0S92Q3 74LS90 (1)CP1S91R01R02Q2Q1Q0CPCP00 1 1 0例例 试用试用74161采用置数法组成模采用置数法组成模M=120计数器。计数器。1D0 D1 D2 D3 TLDCCR P 74161CPQ0 Q1 Q2 Q31D0 D1 D2 D3 TLDC1CR P 74161CPQ0 Q1 Q2 Q31100000001001000110100010101100111100010011010101111001101111011110100CP解法解法1 1:可以采用置数法分别构成可以采用置数法分别构成M M1 1=12=12,M M
16、2 2=10=10计计数器,然后进行级联组成数器,然后进行级联组成M M=120=120计数器。计数器。110000000100100011010001010110011110001001101010111100110111101111010011D0 D1 D2 D3 TLDC1CR P 74161CPQ0 Q1 Q2 Q3CPD0 D1 D2 D3 TLDCCR P 74161CPQ0 Q1 Q2 Q310 1 1 0例例 试用试用74161采用置数法组成模采用置数法组成模M=120计数器。计数器。解解法法2 2:先先将将两两片片级级联联构构成成8 8位位二二进进制制计计数数器器,然然后后
17、用置数法组成模用置数法组成模M M=120=120计数器,如图所示。计数器,如图所示。 0 0 0 0D0 D1 D2 D3 TLDC1CR P 74161 (2)CPQ0 Q1 Q2 Q31 0 0 0 0D0 D1 D2 D3 TLDC1CR P 74161 (1)CPQ0 Q1 Q2 Q3CP119=(0111 0111)2&例例 试用试用74161采用置数法组成模采用置数法组成模M=120计数器。计数器。例例 试用试用74161采用置零法组成模采用置零法组成模M=120计数器。计数器。 D0 D1 D2 D3 TCRC1LD P 74161 (2)CPQ0 Q1 Q2 Q31 D0 D
18、1 D2 D3 TCRC1LD P 74161 (1)CPQ0 Q1 Q2 Q3CP120=(0111 1000)2&解解法法3 3:先先将将两两片片级级联联构构成成8 8位位二二进进制制计计数数器器,然然后用置零法组成模后用置零法组成模M M=120=120计数器,如图所示。计数器,如图所示。4 时序逻辑电路的设计时序逻辑电路的设计同步计数器的设计步骤如下:同步计数器的设计步骤如下: 1 1)建立原始状态图)建立原始状态图 ( (最关键的一步最关键的一步) )3 3)确定触发器的数目)确定触发器的数目若要设计一个二进制计数器,至少需要若要设计一个二进制计数器,至少需要1 1个触发器个触发器2
19、n-1N2n5 5)触发器选型)触发器选型6 6)检查电路的自启动特性)检查电路的自启动特性若要设计一个四进制计数器,至少需要若要设计一个四进制计数器,至少需要2 2个触发器个触发器若要设计一个若要设计一个N N进制计数器,至少需要进制计数器,至少需要n n个触发器个触发器4 4)状态编码)状态编码2 2) 状态化简状态化简等价状态等价状态:输入相同、输出相同、次态也相同的两个状态。:输入相同、输出相同、次态也相同的两个状态。给每一个状态分配一个二进制代码给每一个状态分配一个二进制代码例:例:设计一个二分频电路设计一个二分频电路1 1)建立原始状态图)建立原始状态图 S0S13 3) 确定触发
20、器的数目确定触发器的数目2n-1N2n需要需要1 1个触发器个触发器 列状态表、求状态方程列状态表、求状态方程Q0nQ0n+10110Q0n+1= Q0n2 2) 状态化简状态化简等价状态等价状态:输入相同、输出相同、次态也相同的称。:输入相同、输出相同、次态也相同的称。4 4)状态编码)状态编码给每一个状态分配一个二进制代码给每一个状态分配一个二进制代码S S0 0=0, S=0, S1 1=1=1015 5)触发器选型)触发器选型D D触发器触发器D0Q0Q0CPQ0n+1=D0= Q0nJKJK触发器触发器JCPQQKQ0n+1=J Q0n + KQ0nJ=1 K=1Q0nQ0n+101
21、Q0n+1= Q0n106 6)自启动检查)自启动检查D04 时序逻辑电路的设计时序逻辑电路的设计例:例:设计一个四分频电路设计一个四分频电路1 1)建立原始状态图)建立原始状态图 3 3)确定触发器的数目)确定触发器的数目2 2n-1n-1N N2 2n n需要需要2 2个触发器个触发器 列状态表、求状态方程列状态表、求状态方程2 2)状态化简)状态化简等价状态等价状态:输入相同、输出相同、次态也相同的称。:输入相同、输出相同、次态也相同的称。4 4)状态编码)状态编码给每一个状态分配一个二进制代码S S0 0=00, S=00, S1 1=01=01S S2 2=10, S=10, S3
22、3=11=11s0s1s2s3000110110 1Q1nQ0nQ1n+10 01 01 1Q0n+10 11 01 10 0Q1n+1= Q1nQ0n+Q0n+1=Q0n5 5)触发器选型)触发器选型D D触发器触发器D0Q0Q0CPQ1n+1= Q1nQ0n+Q0n+1=Q0nQ1n+1=D1Q1nQ0n+=D1Q1Q1CPQ0n+1=D0Q0n= =1CP6 6)自启动检查)自启动检查JKJK触发器触发器JCPQ0Q0KQ0n+1=J Q0n + KQ0n= Q0nJ=1 K=1Q1nQ0n+Q0n+1=Q0nQ1n+1=Q1n+1=Q1nQ0n+Q1nQ0n =J Q1n + KQ1n
23、J= Q0nK= Q0nJCPQ1Q1K11CP用用D触发器和触发器和74LS138译码器实现彩灯循环控制译码器实现彩灯循环控制,要求要求8只彩灯只彩灯, 7 亮亮 1 暗暗, 且这一暗灯可以循环移且这一暗灯可以循环移动动 Y0 Y1. Y7A2 A1 A0 E“1”000001010011100101110111Q0n+1Q2n Q1nQ0nQ2n+1 Q1n+1 0 0 1 0 0 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 0 1 1 0 1 0 1 0 1 1 0 0 1 1 1 1 1 0 0 0 0Q2n+1=Q2n(Q1n Q0n)+Q
24、1n+1=Q1nQ0n+Q0n+1=Q0n=D0=D1=D2Q2n+1=Q2n(Q1n Q0n)+Q1n+1=Q1nQ0n+Q0n+1=Q0n=D0=D1=D2D0Q0Q0CPD1Q1Q1CPD2Q2Q2CP=1=1& Y0 Y1. Y7A0 A1 A2 E“1”返回返回例例 试试设设计计一一个个111111串串行行数数据据检检测测器器。111111串串行行数数据据检检测测器器,有有一一个个输输入入端端X X和和一一个个输输出出端端Z Z,输输入入X X为为一一串串随随机机信信号号,当当连连续续输输入入三三个个和和三三个个以以上上的的1 1时时,输输出出为为1 1,否则输出为,否则输出为0 0
25、。解:解: 1 1) 建立原始状态转换图建立原始状态转换图S S1 1:X X输入一个输入一个1 1以后的状态;以后的状态;设设S S0 0:X X输入为输入为0 0的状态;的状态;S S2: 2: X X连续输入两个连续输入两个1 1以后的状态;以后的状态;S S3: 3: X X连续输入三个连续输入三个1 1以后的状态;以后的状态;4 时序逻辑电路的设计时序逻辑电路的设计0/01/00/00/00/01/11/01/1S0S3S1S22 2) 状态化简状态化简等价状态:输入相同、输出相同、次态也相同的两个状态。等价状态:输入相同、输出相同、次态也相同的两个状态。0/0S11/01/00/0
26、1/1S20/0S04 时序逻辑电路的设计时序逻辑电路的设计3 3个个状态需用几个触发器?状态需用几个触发器? 2 2个个两个触发器可以有四个状态,两个触发器可以有四个状态, 取其中的三个状态,取其中的三个状态,如取S0=00, S1=01, S2=100/0S11/01/00/01/1S20/0S03 3) 状态编码状态编码状态编码就是给最小化状态的每个状态指定一个二进制代码状态编码就是给最小化状态的每个状态指定一个二进制代码0/0011/01/00/01/1100/0004 时序逻辑电路的设计时序逻辑电路的设计X Z0 0 00 0 10 1 00 1 11 0 01 0 11 1 01
27、1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0/0011/01/00/01/1100/0004) 触发器选型、求状态方程、驱动方程和输出方程触发器选型、求状态方程、驱动方程和输出方程X Z0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 00 1 1X100 01 11 10nQ 1nQ 00Q1n+1 0 0 01 1 0 0X00 01 11 10nQ 1nQ 00Q0n+1 0 0 01 0 0 1X00 01 11 10nQ 1nQ 00Z
28、D D触发器的触发器的特征方程特征方程为为则可直接写出驱动方程为则可直接写出驱动方程为5 5)画逻辑电路图)画逻辑电路图Q1Q0 CIZ由由D D触发器构成的触发器构成的111111检测器电路图检测器电路图1X&CPQ0D0Q1D1 CI& 如果选用如果选用JKJK触发器,就要将状态方程变换成触发器,就要将状态方程变换成JKJK触发器特性方程的标准形式,触发器特性方程的标准形式,JKJK触发器的触发器的特征方程特征方程为为nnnXQQXQ110+=nnXQQnXQ1011+=+nnQQ11)+(1,010=KQXJn,101=XKXQJn由JK触发器构成的111检测器电路图Z&Q0&J0K0C
29、IXCPQ1& J1K1CIQ116. 6. 自启动检查自启动检查3 3个状态个状态0000、0101和和1010为有效状态,还有一个无效状态为有效状态,还有一个无效状态1111。1 10 00/1 01/显然该电路具有自启动能力显然该电路具有自启动能力1/00/0011/00/01/1100/000110/01/1(Q1Q0)module DFF(Q,D,CLK);output Q;input D,CLK;reg Q;always (posedge CLK)beginQ = D;endendmodulemodule latch_1(q,d,clk);output q;input d,clk;
30、assign q = clk ? d : q;endmodulemodule DFF1(q,qn,d,clk,set,reset);input d,clk,set,reset;output q,qn;reg q,qn;always (posedge clk or negedge set or negedge reset)begin if (!reset) begin q = 0; qn = 1; end else if (!set) begin q = 1; qn = 0; endelse begin q = d; qn = d; endendendmodulemodule DFF2(q,qn
31、,d,clk,set,reset);input d,clk,set,reset;output q,qn;reg q,qn;always (posedge clk)begin if (reset) begin q = 0; qn = 1; end else if (set) begin q =1; qn =0; end else begin q = d; qn = d; endendendmodulemodule count4(out,reset,clk);output3:0 out;input reset,clk;reg3:0 out;always (posedge clk)beginif (
32、reset) out=0;else out=out+1;endendmodule4进制计数器timescale 1ns/1nsinclude count4.vmodule coun4_tp;reg clk,reset;wire3:0 out;parameter DELY=100;count4 mycount(out,reset,clk);always #(DELY/2) clk = clk;initialbeginclk =0; reset=0;#DELY reset=1;#DELY reset=0;#(DELY*20) $finish;endinitial $monitor($time,cl
33、k=%d reset=%d out=%d, clk, reset,out);endmodulemodule count4(out,reset,clk);output3:0 out;input reset,clk;reg3:0 out;always (posedge clk)beginif (reset) out=0;else out=out+1;endendmodulemodule count10(out,cout,en,clr,clk);output3:0 out;output cout;input en,clr,clk;reg3:0 out;always (posedge clk or p
34、osedge clr) begin if (clr) out = 0;else if(en)beginif(out=9) out=0;else out = out+1;end endassign cout =(out=9)&en)?1:0;endmodule二、时钟二、时钟 D D 触发器触发器时钟时钟JKJK触发器触发器三、时序逻辑电路的分析三、时序逻辑电路的分析1 1、同步时序电路的分析、同步时序电路的分析2 2、异步时序电路的分析、异步时序电路的分析时钟方程时钟方程六、六、74LS16174LS161、74LS16074LS160、74LS9074LS90、74LS16374LS163构
35、成任意进构成任意进制计数器制计数器Q Qn+1n+1=D=DQ Qn+1n+1=J =J Q Qn n + + KQKQn n一、理解时钟脉冲一、理解时钟脉冲CPCP的作用的作用驱动方程驱动方程状态方程状态方程状态转换图状态转换图 或或时序波形图时序波形图状态转换表状态转换表七、同步计数器的设计七、同步计数器的设计八、会用八、会用ABELABEL语言来描述语言来描述N N进制计数器进制计数器重点掌握:重点掌握:四、边沿触发方式与电位触发方式的区别四、边沿触发方式与电位触发方式的区别五、同步级联、异步级联?级联后的模值计算?五、同步级联、异步级联?级联后的模值计算?清零法、置数法、用清零法、置数法、用C C进行反馈置数法进行反馈置数法返回返回