您好,欢迎访问三七文档
•寄存器•移位寄存器单向移位寄存器双向移位寄存器第三节寄存器用来存放数据一、寄存器的分类CT=0表示此端子为低电平时,四个触发器的输出为零。不受任何关联数字影响,异步清除。(一)中规模寄存器74175RG4表示四个触发器构成的寄存器。C1表示此端子是时钟,且上升沿有效。1.逻辑符号2.功能二、寄存器关联数字是1,关联到时序块的输入端数据送到触发器的输出。假设4是低位寄存器,1是高位寄存器。由D触发器的特性方程可知:14nQD134nnQQ123nnQQ112nnQQ在移位脉冲的作用下,低位触发器的状态送给高位,作为高位的次态输出。左移寄存器欲存入数码1011:1011采用串行输入只有一个数据输入端?解决的办法:在4个移位脉冲的作用下,依次送入数码。左移寄存器:先送高位,后送低位。右移寄存器:先送低位,后送高位。由于该电路为一左移寄存器,数码输入顺序为:1011欲存入数码1011,即D1D2D3D4=10111011(二)四位双向移位寄存器7419474194功能表输入输出0XXX…XXXX00001↑Xd0…d311Xd0d1d2d310XX…XXXXQ0nQ1nQ2nQ3n1↑1X…X01XQ0nQ1nQ2n1↑0X…X01XQ0nQ1nQ2n1↑XX…X101Q1nQ2nQ3n1↑XX…X100Q1nQ2nQ3n1XXX…X00XQ0nQ1nQ2nQ2nRCPDSRD0…D3MBMADSLQ0n+1Q1n+1Q2n+1Q3n+11010LIBRARYIEEEUSEIEEE.std_logic_1164.all;ENTITYvshiftregISPORT(CP,R,DSR,DSL:INSTD_LOGIC;S:STD_LOGIC_VECTOR(2DOWNTO0);--FUNCTIONSELECTD:STD_LOGIC_VECTOR(7DOWNTO0);--DATAINQ:OUTSTD_LOGIC_VECTOR(7DOWNTO0));--DATAOUTENDvshiftreg;ARCHITECTUREvshiftreg_archOFvshiftregISSIGNALIQ:STD_LOGIC_VECTOR(7DOWNTO0);BEGIN用VHDL程序实现8位移位寄存器定义一个中间信号IQ(二)四位双向移位寄存器74194PROCESS(CP,R,IQ)BEGINIF(R=‘1’)THENIQ=(OTHERS=‘0’);--异步清除ELSIF(CP’EVENTANDCP=‘1’)THENCASECONV_INTEGER(S)ISWHEN0=NULL;--保持WHEN1=IQ=D;--预置WHEN2=IQ=DSR&IQ(7DOWNTO1);--右移WHEN3=IQ=IQ(6DOWNTO0)&DSL;--左移WHEN4=IQ=IQ(0)&IQ(7DOWNTO1);--循环右移WHEN5=IQ=IQ(6DOWNTO0)&IQ(7);--循环左移WHEN6=IQ=IQ(7)&IQ(7DOWNTO1);--算数右移WHEN7=IQ=IQ(6DOWNTO0)&‘0’;--算数左移WHENOTHERS=NULL;ENDCASE;ENDIF;Q=IQ;ENDPROCESS;ENDvshiftreg_arch;R信号为异步清零,不考虑CP信号。用CONV_INTEGER将S所属数据类型STD_LOGIC_VECTOR转换到整数类型。根据MA、MB、MC的值,用CASE语句描述了8种移位操作。在CASE语句中,用WHENOTHERS覆盖没有考虑到的值域。“NULL”语句描述无任何操作,即保持原状态。2.环形计数器1.数据转换3.扭环形计数器4.分频器(四)寄存器的应用1.七位串行并行转换CPRCPQ0Q1Q2Q3Q4Q5Q6Q7MAMB=Q7操作0000000001SRG4CT=0C41→/2←1Q0Q1Q2Q303,4DDSR1,4D0113,4D3,4D3,4D2,4DMB1M0374194SRG4CT=0C41→/2←1Q4Q5Q6Q7103,4D(1)1,4D1113,4D3,4D3,4D2,4DMA1M0374194(2)MBMA00000000111并行送数清零1D001111111串行输入1111D011100右移2D1D001111111111D1D0110右移串行并行七位并行串行CPQ0Q1Q2Q3Q4Q5Q6Q7MAMB操作10D0D1D2D3D4D5D6101并行送数启动210D0D1D2D3D4D510右移3110D0D1D2D3D410右移&&CPSRG4CT=0C41→/2←1Q0Q1Q2Q303,4DDSR1,4D103,4D3,4D3,4D2,4DMB1M0374194SRG4CT=0C41→/2←1Q4Q5Q6Q703,4D(1)1,4D3,4D3,4D3,4D2,4DMA1M0374194(2)MBMA串行输出11D0D1D2D3D4D5D6D6D00D4D2D5D1D3D501D3D1D4D0D2直到Q5Q4Q3Q2Q1Q0=111111D01111011重新预置1例1:用74195构成M=4的环形计数器。2.环形计数器SRG4CT=0M1[SHIFT]M2[LOAD]2,3DK1LOADCPQ0Q1Q2Q31C3/1→1,3KQ3J1,3J0002,3D启动1000010000100001态序表Q0Q1Q2Q3注意:(1)电路除了有效计数循环外,还有五个无效循环。(2)不能自启动,工作时首先在LOAD加启动信号进行预置。环形计数器设计(2)判断触发器个数:计数器的模M=n(n为移位寄存器的个数)。(1)连接方法:将移位寄存器的输出Q3反馈到J、K输入端。1000110011101111011100110001例2:设计一M=8的扭环形计数器。SRG4CT=0M1[SHIFT]M2[LOAD]2,3DK1CPQ0Q1Q2Q3C3/1→1,3KQ3J1,3J00002,3D启动态序表Q0Q1Q2Q30000注意:(1)电路除了有效计数循环外,还有一个无效循环。(2)不能自启动,工作时首先在R端加启动脉冲信号清零。扭环形计数器设计(2)判断触发器个数:计数器的模M=2n(n为移位寄存器的位数)。(1)连接方法:将移位寄存器的输出Q3经反相器后反馈到J、K输入端。分频器数字电子钟是一种直接用数字显示时间的计时装置,一般由晶体振荡器、分频器、计数器、译码器、显示器、校时电路和电源等部分组成。(三)时序模块的应用电源十位个位秒译码器译码器六进制十进制六十进制显示部分译码部分计数部分十位个位分译码器译码器六进制十进制六十进制十位个位时译码器译码器十二进制分频器晶体振荡器秒基准部分校时电路
本文标题:寄存器的设计
链接地址:https://www.777doc.com/doc-3303063 .html