文档库 最新最全的文档下载
当前位置:文档库 › 五四位左移右移移位寄存器

五四位左移右移移位寄存器

五四位左移右移移位寄存器
五四位左移右移移位寄存器

实验五四位左移/右移寄存器

一、实验目的

1、掌握双向移位寄存器的组成和工作原理;

2、掌握双向移位寄存器逻辑功能;

3、了解双向移位寄存器的应用;

4、学可层次设计的方法

二、实验内容

1、仿真并下载验证四位并行存取双向移位寄存器(74194)的逻辑功能。

①画出 74194实现左移的电路图及波形仿真图。

②画出 74194右移的电路图和波形仿真图。

③画出 74194并入置数的电路图和波形仿真图。

2、设计并实现一个四位左/右移位寄存器。

要求画出电路测试图;逻辑仿真,记录仿真图波形;下载验证,记录管脚分

配和实验结果。

原理:serin在每个时钟触发沿到来时给出一位新的数据,移入寄存器的最末端数据位中。这一位在过n个时钟触发沿后出现在serout,下一个时钟触发沿后,这个数据就丢失了。N位串入串出移位寄存器可以使一个信号延迟n个时钟周期后再输出。

74194功能表

功能输入输出

S1 S2 QA* QB* QC* QD* 保持0 0 QA QB QC QD

右移位0 1 RIN QA QB QC

左移位 1 0 QB QC QD LIN 载入 1 1 A B C D

因为194是双向移位寄存器,它的内容可以根据控制输入信号的状态,向两个方向中的一个方向移动。

在194中,左移意味着从QD移到QA

右移意味着从QA移到QD

所以,在194中,只要控制S0\S1的输入,就可以控制左移和右移。

其中D3、D2、D1、D0 为并行输入端;Q3、Q2、Q1、Q0 为并行输出端;SR 为右移串行输入端,SL 为左移串行输入端;S1、S0 为操作模式控制端;MR 为无条件清零端;CP 为时钟脉冲输入端。

74194能很好的实现左右移

波形图如图

1、以S[1...0]的值11开头是因为当S[1...0]为11时,载入数字。

2、当第一个时钟上跳沿到来时,移位器开始工作,如图,输入为0001,载入,当S[1...0]为10时向左移动,输入1,,输出则变为0011,当时钟改变时,S[1...0]的值也发生该变,在前一个输出的树枝上做改变

八位移位寄存器

因为74194的芯片可以实现左右移,则通过级联的方式我们可以得到八位移位寄存器

如图左移时,将低位向高位移动,则第2个芯片的则输出H连接第1块芯片的SL,右移则A连到SR

因为需要同一时钟信号的的变化,所以处理输入,以及SR, SL,的不相同以外,其余都相同。右移时,将高位的数向低一级的芯片作为右移的输入,左移时,则将第一级的芯片输出作为低一级芯片的左移输入。

波形图

实验总结及心得

实验验证74194的逻辑功能,并且利用芯片的级联设计了八位的移位器

1、验证了由于不同的输入S[1...0],所控制的移位器的以为方向不一样,如上表的总结

2、再设计八位移位器的时候,注意高位地位的顺序,以及高低位同SR SL的连接是否正确匹配

3、在做波形仿真的时候,要注意合理安排初始值,S[1...0]从11开始,现在图一个数比较方

便移位的观察。

32位移位寄存器

实验四 一、实验名称 32位并进/并出移位寄存器设计 二、实验原理 用一个8位移位寄存器,再增加一些电路,如4个8位锁存器等,设计成为一个能为32位二进制数进行不同方式移位的移位寄存器。 三、实验步骤 1、建立一个工程项目,设置路径,项目名和顶层实体名一致; 2、设计一个8位移位寄存器电路; 3、设计一个8位锁存器电路; 4、运用元件调用声明语句和元件例化语句完成顶层设计。 四、实验程序 1、八位移位寄存器程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY jicun IS PORT ( CLK,CO: IN STD_LOGIC; --时钟和进位输入 MD : IN STD_LOGIC_VECTOR(2 DOWNTO 0); --移位模式控制字 D : IN STD_LOGIC_VECTOR(7 DOWNTO 0); -- 待加载移位的数据 QB : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --移位数据输出 CN : OUT STD_LOGIC); --- 进位输出 END jicun; ARCHITECTURE behav OF jicun IS SIGNAL REG : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL CY : STD_LOGIC; BEGIN

PROCESS(CLK,CO,MD) BEGIN IF CLK'EVENT AND CLK='1' THEN CASE MD IS WHEN "001"=> REG(0)<=CO; ---带进位循环左移 REG(7 DOWNTO 1)<= REG(6 DOWNTO 0);CY<=REG(7); WHEN "010" => REG(0)<=REG(7); ---自循环左移 REG(7 DOWNTO 1)<= REG(6 DOWNTO 0); WHEN "011"=>REG(7)<=REG(0); ---自循环右移 REG(6 DOWNTO 0)<=REG(7 DOWNTO 1); WHEN "100" =>REG(7)<=CO; ---带进位循环右移 REG(6 DOWNTO 0)<=REG(7 DOWNTO 1);CY<=REG(0); WHEN "101" =>REG(7 DOWNTO 0)<=D(7 DOWNTO 0); --加载待移数 WHEN OTHERS=>REG<=REG;CY<=CY;--保持 END CASE; END IF; END PROCESS; QB(7 DOWNTO 0)<=REG(7 DOWNTO 0);CN<=CY; END behav; 2、锁存器程序 library ieee ; use ieee.std_logic_1164.all ; entity suocun is port(d : in std_logic_vector(7 downto 0) ; q: out std_logic_vector(7 downto 0); clk : in std_logic ); end suocun ; architecture one of suocun is signal q1: std_logic_vector(7 downto 0);

单片机控制左右来回循环的流水灯

左右来回循环的流水灯 设计要求 8个发光二极管LED0~LED7经限流电阻分别接至P1口的P1.0~P1.7引脚上,阳极共同接高电平。编程实现制作左右来回循环的节日彩灯,显示规律如下图所示。 题37图节日彩灯的花样显示的规律 为了使显示效果更加绚丽多彩,P1端口8个引脚分别接有不同颜色的发光二极管。具体如题37表所示。 题37表P1口8个引脚的不同颜色的发光二极管 使用C51编流水灯程序以及设计相应的硬件电路十分简单,且有多种方法。本方案力求程序最简化最清晰原则,用NS图(盒图)表示算法如下:

程序中设置中间变量temp用来给P1口赋值,命令_crol_和_cror_用于使temp左移或右移,例如当temp=11111110B时,执行_crol_(temp,1)之后temp=11111101,应用此两条语句必须把头文件包含进来。 全部代码如下: #include #include unsigned char temp; //定义字符变量temp,temp左移或右移并给连接LED的P1口赋值 int a; //定义延迟函数delay() void delay(void); void main() { temp=0xfe; //给temp赋初值 P1=temp; //temp赋值给P1口,第一个LED(红色)点亮 while(1) //主程序,括号中的程序将一直循环 { for(a=0;a<7;a++) //左移部分,LED从左到右依次点亮 { temp=_crol_(temp,1); //_crol_语句控制变量temp左移 delay(); //每个灯点亮之后延迟一会在点下一个灯 P1=temp; }

移位寄存器 第三章答案

第三章习题参考答案 1.画出以1)(2 4 6 +++=x x x x f 为联接多项式的线性移位寄存器逻辑框图,及其对应的状态图。 解:由1)(2 46+++=x x x x f ,得反馈函数为531621),,,(x x x x x x f ++=Λ,故 (1)逻辑框图: (2)状态图: 状态圈-1: 状态圈-2: 状态圈-3: 状态圈-4: 状态圈-5: 状态圈-6: 状态圈-7: 状态圈-8:

状态圈-9: 状态圈-10: 状态圈-11: 状态圈-12: 2.已知图3-2所示的7级线性反馈移位寄存器: 图3-2 (1)绘出该移位寄存器的线性递推式,联接多项式及特征多项式。 (2)给出状态转移矩阵。 (3)设初态为(1 1 1 1 1 1 1),给出输出序列a 。 解:(1)由逻辑框图得,递推式为: k k k k a a a a ++=+++357 ()0≥k 。 联接多项式为:7 4 2 1)(x x x x f +++=。 特征多项式为:7531)(~ x x x x f +++=

(2)状态转移矩阵:? ? ???? ? ?? ? ? ??0100000 101000000010001000100 000001000000011000000。 (3)输出序列:)111111111(ΛΛ=- a 。 3.设5级线性反馈移位寄存器的联接多项式为1)(2 5 ++=x x x f ,初态为(10101)。求输出序列a 。 解:由联接多项式得,反馈函数为:41521),,,(x x x x x f +=Λ。故以)10101(为初态的状态转移图为: 10101 01010001010001000001100000100000100100100100110100110100110100110100111100111100111101111101111001110001110001110000110010110110111110101110101110101110101→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→ 由此可得,输出序列为:=a 44444443444444421一个周期 0110100100000011111001010111011…。 4.证明:n 级线性反馈移位寄存器的状态转移变换是n 维线性空间n F 2上的线性变换。 证明:设f T 为n 级线性移位寄存器的状态转移变换,对n F 2,∈?βα,令),,,(110-=n a a a Λα, ),,,(110-=n b b b Λβ,有: ),,,(),,,()(121110∑=--==n i i n i n f f a c a a a a a T T ΛΛα, ),,,(),,,()(1 21110∑=--==n i i n i n f f b c b b b b b T T ΛΛβ。 ) ()() ,,,(),,,() )(,,,() ,,,()(1 211 2112211111100βαβαf f i n n i i i n n i i n i i n i n i n n f f T T b c b b a c a a b a c b a b a b a b a b a T T +=+=+++=+++=+-=-==----∑∑∑ΛΛΛΛ 对 2F k ∈?, ))((),,,(),,,()(1 21110ααf i n n i i n f f T k a c k ka ka ka ka ka T k T ===-=-∑ΛΛ。 故n 级线性反馈移位寄存器的状态转移变换是n 为线性空间n F 2上的线性变换。

左右来回循环的流水灯实验报告

青 岛 科 技 大 学 微机原理与接口技术综合课程设计(报告) 题 目 __________________________________ 指导教师__________________________ 学生姓名__________________________ 学生学号__________________________ _______________________________ 院(部)____________________________ 专业________________班 ______年 ___月 ___日 直流电机控制综合实验 周艳平 宋雪英 01 信息科学技术学院 计算机科学与技术0961 2012 12 27

摘要 (2) 1、单片机概述 (2) 2、仿真软件介绍 (2) 3、需求分析 (3) 一、课程设计目的 (3) 二、课程设计要求 (4) 三、实验内容 (4) 1、设计任务与要求 (4) 2、系统分析 (4) 1).硬件电路设计(画出原理图、接线图) (5) 2)软件框图 (7) 3、用keil建项目流程 (8) 4、程序清单 (9) 4、系统调试 (11) 四、设计总结(结论) (12)

摘要 近年来,随着电子技术和微型计算机的发展,单片机的档次不断提高,起应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到广泛的应用、成为现代电子系统中最重要的智能化的核心部件。而AT89C51就是其中一种,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。本课程设计介绍一种LED小灯控制系统的设计方法,以单片机作为主控核心,与按键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。能够通过按键控制8个LED小灯从左到右依次点亮。 关键字:单片机、LED流水灯 1、单片机概述 单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微 型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处 理器、存储器和I/O 接口电路等。因此,单片机只需要和适当的软件及外部设备相结合, 便可成为一个单片机控制系统。 单片机经过1、2、3、3 代的发展,目前单片机正朝着高性能和多品种方向发展,它 们的CPU 功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。 2、仿真软件介绍 (1).Keil uv3 运行Keil uv3

线性反馈移位寄存器(LFSR)

最近一直在研究信道编码,发现在信道编码里面有一个电路比较重要也比较有趣,那就是线性反馈移位寄存器LFSR ,相信大家对LFSR 电路也不陌生了,在通信领域lfsr有着很广泛的应用,比如说M序列,扰码,信道编码,密码学这方面都有很广泛的应用,LFRS的结构一般如下图: 其中他需要一个生成多项式为: 这个多项式是一个本原多项式,然后知道这个电路有一些有意思的性质,下面我以m = 3 来做个例子具体的电路图如下所示: 假设开始的时候(D2,D1,D0 )= (0,0,1),那么每过一个时钟周期会进行跳变一次, 可以看到具体的跳变如下所示:

然后我们可以看到这个计数器循环起来了,很好玩吧,无论进入那样一个状态除了0之外,都可以循环着回来,其实这里就相当于了一个3bit的伪随机数,很有意思,不是所有的多项式都有这个特性,我们现在在从数学上面来看看这个问题,其实最上面的电路是可以看成是一个除法电路,在Galois域的一个除法电路。现在假设的是R(x)是寄存器中剩余的数据,M(x)是输入的码字多项式,然后数学公式可以表示成: 然后我分别计算出了M(x)的各种情况,

然后我们单独进行一下7次方的运算 发现7次方的运算和0次的时候的余数是一样的 然后我们发现其实在上面的电路中对多项式的除法也是可以循环起来的,可以验证的是

把这个记成 上面的式子是可以循环的,然后我又想到了CRC的计算,CRC的计算也可以通过一个除法电路来实现, 假设码子多项式为 生成多项式为 那么CRC的码字为这样我们同样可以用LFSR电路来进行实现 首先对M(x)乘以一个x的r次方,然后去去除G(x),在电路上的表现就是 所以在输入码字以后还需要多输入r拍的0这样才能使最后的CRC码字数据. 同理这个电路也可以进行CRC校验,把生成的数据全部都依次输入进这个 Love is not a maybe thing. You know when you love someone.

移位寄存器及其应用(精)

移位寄存器及其应用 一、实验目的 1、掌握中规模4位双向移位寄存器逻辑功能及使用方法。 2、熟悉移位寄存器的应用—实现数据的串行、并行转换和构成环形计数器。 二、原理说明 1、移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。按代码的移位方向可分为左移、右移和可逆移位寄存器,只需要改变左、右移的控制信号便可实现双向移位要求。根据移位寄存器存取信息的方式不同又可分为:串入串出、串入并出、并入串出、并入并出四种形式。 本实验选用的4位双向通用移位寄存器,型号为CC40194或74LS194,两者功能相同,可互换使用,其逻辑符号及引脚排列如图8-3-3-1所示。 其中 D0、D1、D2、D3为并行输入端;Q0、Q1、Q2、Q3为并行输出端;S R为右移串行输入 C为直接无条件清零端; 端,S L为左移串行输入端;S1、S0为操作模式控制端;R CP为时钟脉冲输入端。 CC40194有5种不同操作模式:即并行送数寄存,右移(方向由Q0→Q3),左移(方向由Q3→Q0),保持及清零。 S1、S0和R C端的控制作用如表8-3-3-1。 图8-3-3-1 CC40194的逻辑符号及引脚功能 表8-3-3-1 CC40194功能表

2、移位寄存器应用很广,可构成移位寄存器型计数器;顺序脉冲发生器;串行累加器;可用作数据转换,即把串行数据转换为并行数据,或把并行数据转换为串行数据等。本实验研究移位寄存器用作环形计数器和数据的串、并行转换。 (1)环形计数器 把移位寄存器的输出反馈到它的串行输入端,就可以进行循环移位, 如图8-3-3-2所示,把输出端 Q3和右移串行输入端S R 相连接,设初始状态Q0Q1Q2Q3=1000,则在时钟脉冲作用下Q0Q1Q2Q3将依次变为0100→0010→0001→1000→……,如表10-2所示,可见它是一个具有四个有效状态的计数器,这种类型的计数器通常称为环形计数器。图8-3-3-2 电路可以由各个输出端输出在时间上有先后顺序的脉冲,因此也可作为顺序脉冲发生器。其状态表如表8-3-3-2所示。 表8-3-3-2 环形计数器状态表 图 8-3-3-2 环形计数器 如果将输出Q O与左移串行输入端S L相连接,即可达左移循环移位。 (2)实现数据串、并行转换 ①串行/并行转换器 串行/并行转换是指串行输入的数码,经转换电路之后变换成并行输出。 图8-3-3-3是用二片CC40194(74LS194)四位双向移位寄存器组成的七位串/并行数据转换电路。

8位移位寄存器的电路设计与版图实现

8位移位寄存器的电路设计与版图实现 摘要 电子设计自动化,缩写为EDA,主要是以计算机为主要工具,而Tanner EDA则是一种在计算机windows平台上完成集成电路设计的一种软件,基本包括S-Edit,T-Spice,W-Edit,L-Edit与LVS等子软件,其S-Edit以及L-Edit为常用软件,前者主要实现电路设计,后者主要针对的是已知电路的版图绘制,而T-Spice主要可实现电路图及版图的仿真,可以用Tanner EDA实现电路的设计布局以及版图实现等一系列完整过程。本文用Tanner EDA工具主要设计的是8位移位寄存器,移位寄存器主要是用来实现数据的并行和串行之间的转换以及对数据进行运算或专业处理的工具,主要结构构成是触发器,触发器是具有储存功能的,可以用来储存多进制代码,一般N 位寄存器就是由N个触发器构成,移位寄存器工作原理主要是数据在其脉冲的作用下实现左移或者右移的效果,输入输出的方式表现为串行及并行自由组合,本设计就是在Tanner EDA的软件平台上进行对8位移位寄存器的电路设计仿真,再根据电路图在专门的L-Edit 平台上完成此电路的版图实现,直至完成的结果和预期结果保持一致。 关键词:Tanner EDA;L-Edit;移位寄存器,S-Edit

8 bits shift register circuit design and layout Abstract Electronic design automation,referred to as EDA,it is based on computers as the main tool,and Tanner EDA is a kind of software that complete the integrated circuit design on Windows platforms.Its Sub-Softwares include S-Edit,T-Spice,W-Edit,L-Edit and LVS and so on.S-Edit and L-Edit are commonly used software,S-Edit is primarily designed to achieve circuit,the latter is aimed primarily known circuit layout drawing,T-Spice can achieve schematic and layout simulation.We can achieve layout of the circuit design and a series of complete process layout used Tanner EDA tools.In this paper, Tanner EDA tools are mainly designed an 8-bit shift register.The shift register is mainly used for data conversion between parallel and serial, and the data processing tool operation or professional,its main structure is the trigger composition,flip-flop is a storage function,it can be used to store more hexadecimal code,In general N-bits register is composed of N trigger.Working principle of the shift register data under the action of the pulse, mainly the effect of the shift to the left or right,input and output of the way of serial and parallel free combination.This design is in Tanner on the EDA software platform to 8 bits shift register circuit design and simulation,then according to the circuit diagram on special L - Edit platform to complete the circuit layout implementation,until the finish is consistent with the results and expected results. Keywords:Tanner EDA;L-Edit;Shift register,S-Edit

作业参考答案级线性反馈移位寄存器在c=时可有种

第二章作业参考答案1.3级线性反馈移位寄存器在c3=1时可有4种线性反馈函数,设其初始状态为 (a1,a2,a3)=(1,0,1),求各线性反馈函数的输出序列及周期。 解:此时线性反馈函数可表示为f(a1,a2,a3)=a1?c2a2?c1a3 当c1=0,c2=0时,f(a1,a2,a3)=a1?c2a2?c1a3=a1, 输出序列为101101…,周期=3 当c1=0,c2=1时,f(a1,a2,a3)=a1?c2a2?c1a3=a1?a2, …,周期=7 当c1=1,c2=0时,f(a1,a2,a3)=a1?c2a2?c1a3=a1?a3, …,周期=7 当c1=1,c2=1时,f(a1,a2,a3)=a1?c2a2?c1a3=a1?a2?a3, 有输出序列为1010…,周期=2 2.设n级线性反馈移位寄存器的特征多项式为p(x),初始状态为(a1,a2,…,a n-1,a n)=(00…01),证明输出序列的周期等于p(x)的阶 证:设p(x)的阶为p,由定理2-3,由r|p,所以r?p 设A(x)为序列{a i}的生成函数,并设序列{a i}的周期为r,则显然有A(x)p(x)=?(x) 又A(x)=a1+a2x+…+a r x r-1+x r(a1+a2x+…+a r x r-1)+(x r)2(a1+a2x+…+a r x r-1)+… =a1+a2x+…+a r x r-1/(1-x r)=a1+a2x+…+a r x r-1/(x r-1) 于是A(x)=(a1+a2x+…+a r x r-1)/(x r-1)=?(x)/p(x) 又(a1,a2,…,a n-1,a n)=(00…01) 所以p(x)(a n x n-1+…+a r x r-1)=?(x)(x r-1)即p(x)x n-1(a n+…+a r x r-n)=?(x)(x r-1) 由于x n-1不能整除x r-1,所以必有x n-1|?(x),而?(x)的次数小于n,所以必有?(x)=x n-1 所以必有p(x)|(x r-1),由p(x)的阶的定义知,阶p?r 综上所述:p=r# 3.设n=4,f(a1,a2,a3,a4)=a1?a4?1?a2a3,初始状态为(a1,a2,a3,a4)=(1,1,0,1),求此非线性反馈移位寄存器的输出序列及周期。 解:由反馈函数和初始状态得状态输出表为 (a4 a3 a2 a1)输出(a4 a3 a2 a1)输出 1011111111 1101101111 1110010111(回到初始状态) 所以此反馈序列输出为:11011…周期为5 4.设密钥流是由m=2s级LFSR产生,其前m+2个比特是(01)s+1,即s+1个01。问第m+3个比特有无可能是1,为什么? 解:不能是1。 可通过状态考察的方法证明以上结论。 首先m级LFSR的状态是一个m维的向量,则前m个比特构成一个状态S0,可表示为(01)s, 第m+1个比特是0,所以S0的下一个状态是S1=(10)s, 第m+2个比特是1,所以S1的下一个状态是S2=(01)s=S0,回到状态S0, 所以下一个状态应是S3=S1=(10)s,也即第m+3个比特应该为0。 5.设密钥流是由n级LFSR产生,其周期为2n-1,i是任一正整数,在密钥流中考虑以下比特对 (S i,S i+1),(S i+1,S i+2),…,(S i+2n-3,S i+2n-2),(S i+2n-2,S i+2n-1), 问有多少形如(S j,S j+1)=(1,1)的比特对?证明你的结论。

左右来回循环的流水灯

(大作业题目)报告 单片机控制左右循环的流水灯 学生学号: 学生姓名: 同组学号: 同组姓名: 指导老师:

设计目的: 1)学习P1口的使用方法; 2)学习延时子程序的编写 3)了解简单单片机应用系统的设计方法。 4)掌握应用编译源汇编程序的操作方法。 5)熟练掌握AT89c51型开发板的使用方法和注意事项。 设计要求: 8个发光二极管LED0~LED7经限流电阻分别接至P1口的P1.0~P1.7引脚上,阳极共同接高电平。编程实现制作左右来回循环的节日彩灯,显示规律如下图所示。 依次实现红蓝绿黄红蓝绿黄的循环亮灭。 设计步骤:1.按照电路图在proteus7.5的环境下进行仿真连接,在keilc3的环境下进行c环境的编译,然后下载到单片机内运行进行仿真,观察发光二极管的运行状态。要注意的的,实验中一定要再p1口接上拉电阻或是一个74HC245的芯片,以提高单片机的P口驱动,以使LED灯亮。如果使用74HC245,则引脚OE要接地,DIR要接高电平。 2.实现单片机工作的最小系统:电源电路﹑时钟电路﹑复位电路。 3.因为LED灯是共阳极接入,编程实现灯亮的时候,要使语句取反。 设计电路图: 左右来回的流水灯.PDF

源程序:左右来回的流水灯.C 流程图:开始 判断P口电平 高电平低电平 变向P口加1 延时 设计总结:1.实验中连接电路后运行发现等没有亮,检查程序,看接相应灯的P口输出语句是否取反了;如果没有循环,看控制方向的语句是否写对;检查上拉电阻的取值是否正确,一定要有上拉电阻。 2.通过本次设计试验,我了解了单片机是如何实现控制功能的,设计中会遇到错误的结果,要仔细分析错误,然后一一去改进,试验,直到没有错误为止。三、/* *左右来回的流水灯* */ #include typedef unsigned char uint8; typedef unsigned int uint16;

74HC164 串入、并出8 位移位寄存器

8 位串入、并出移位寄存器 1. 概述 74HC164、74HCT164 是高速硅门 CMOS 器件,与低功耗肖特基型 TTL (LSTTL) 器件的引脚兼容。74HC164、74HCT164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。 时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0, Q0 是两个数据输入端(D SA 和 DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。 主复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。 2. 特性 ?门控串行数据输入 ?异步中央复位 ?符合JEDEC 标准no. 7A ?静电放电(ESD) 保护: ·HBM EIA/JESD22-A114-B 超过2000 V ·MM EIA/JESD22-A115-A 超过200 V 。 ?多种封装形式 ?额定从-40 °C 至+85 °C 和-40 °C 至+125 °C 。 3. 功能图 图 1. 逻辑符号

图 2. IEC 逻辑符号 图 3. 逻辑图 图 4. 功能图 4. 引脚信息

图 5. DIP14、SO14、SSOP14 和 TSSOP14 封装的引脚配置 引脚说明 74HC164中文资料(功能,真值表,引脚图及电气参数介绍) SN54HC164,/SN74HC164是8位移位寄存器,当其中一个(或二个)选通串行输入端的低电平禁止进入新数据,并把第一个触发器在下一个时钟脉冲来后复位到低电平时,门控串行输入端(A 和B)可完全控制输入数据。一个高电平输入后就使另一个输入端赋能,这个输入就决定了第一个触发器的状态。虽然不管时钟处于高电平或低电平时,串行输入端的数据都可以被改变,但只有满足建立条件的信息才能被输入。时钟控制发生在时钟输入由低电平到高电平的跃变上。为了减小传输线效应,所有输入端均采用二极管钳位。 https://www.wendangku.net/doc/918055513.html,/info/cmos/0083928.html H=高电平(稳定态)L=低电平(稳定态)×=不定↑=从低电平转换到高电平 QA0…QH0=在稳定态输入条件建立前QA…QH 的相应电平 QAn…QHn=在最近的时钟输入条件(↑)建立前QA…QH 的相应电平,表示移位一位

8位双向移位寄存器电路设计

目录 摘要 (1) 1 多功能双向移位寄存器 (2) 1.1 基本工作原理 (2) 1.2 基本实现方案 (2) 2 电路图设计 (4) 2.1 电路结构 (4) 2.2 真值表 (4) 3 Verilog描述8位双向移位寄存器 (6) 4 程序仿真 (8) 5 总结 (10) 参考文献 (11)

摘要 移位寄存器是基本的同步时序电路,基本的移位寄存器可以实现数据的串行/并行或并行/串行的转换、数值运算以及其他数据处理功能。在本设计中,使用硬件描述语言Verilog,在EDA工具QuartussII中,设计8位双向移位寄存器硬件电路,根据设计语言进行功能时序仿真,验证设计的正确性与可行性。 关键字:Verilog QuartusII 移位寄存器

8位双向移位寄存器电路设计 1 多功能双向移位寄存器 1.1 基本工作原理 移位寄存器是基本的同步时序电路,基本的移位寄存器可以实现数据的串行/并行或并行/串行的转换、数值运算以及其他数据处理功能。在本设计中定义移位寄存器中的数据从低位触发器移向高位为右移,移向低位为左移。 为了扩展逻辑功能和增加使用的灵活性,某些双向移位寄存器集成电路产品 又附加了并行输入、并行输出等功能。如图1所示是上述几种工作模式的简化示意图。 并行输入 并行输出 右移串行输入(D IR 左移串行输出(D OL 右移串行输出(D OR ) D IL ) 0123 图1 多功能移位寄存器工作模式简图 1.2 基本实现方案 图2所示是实现数据保持、右移、左移、并行置入和并行输出的一种电路方 案。图中的D 触发器m FF 是N 为移位寄存器中的第m 位触发器,在其数据输入端插入了一个4选1数据选择器m MUX ,用2位编码输入10S S 、控制m MUX ,来选择触发器输入信号m D 的来源。当100S S ==时,选择该触发器本身输出的m Q , 次态为1m n n m m Q D Q +==,使触发器保持状态不变;当100,1S S ==时,触发器1m FF -的输出1m Q -被选中,故CP 脉冲上升沿到来时,m FF 存入1m FF -此前的逻辑值,即 1m 1n n m Q Q +-=,而1m +1n n m Q Q +=, 从而实现右移功能;类似地,当101,0S S ==时,m MUX 选择1m Q +,实现左移功能;而当101S S ==时,则选中并行输入数据m DI ,其次 态1 n m m Q DI +=,从而完成并行数据的置入功能。上述四种操作概述于表1,此外,

作业参考答案3级线性反馈移位寄存器在c3=1时可有4种

1. 3级线性反馈移位寄存器在 C 3 = 1时可有4种线性反馈函数,设其初始状态为 (a i , a 2, a 3)=(1,0,1),求 各线性反馈函数的输出序列及周期。 解:此时线性反馈函数可表示为 f (a 1, a 2, a 3)= a C 2a 2 C 1 a 3 当 C 1 = 0, C 2= 0 时, f (ai, a 2, a 3)= :a 1 C 2a 2 C £3= a 1, 输出序列为 101101 …, 周期=3 当 C 1 = 0, C 2= 1 时, f (ai,a 2, a 3)= :a 1 C 2a 2 C 1 a 3= a 1 a 2, 输出序列为 0… …,周期=7 当 C 1= 1, C 2= 0 时, f (ai,a 2, a 3)= :a 1 C 2a 2 oa 3= a 1 a 3, 输出序列为 1… …,周期=7 当 C 1= 1, C 2= 1 时, f (ai,a 2, a 3)= :a 1 C 2a 2 C 1 a 3= a 1 82 a 3, 有输出序列为 1010 …, 周期=2 2. 设n 级线性反馈移位寄存器的特征多项式为 p (x ),初始状态为 (a i ,a 2,…,a n-i , a n )=(00…01),证明输 出序列的周期等于 p (x )的阶 证:设p (x )的阶为p ,由定理2-3,由r | p ,所以r p 设A (x )为序列{a 。的生成函数,并设序列{a }的周期为r ,则显然有A (x )p (x ) = (x ) 又 A (x ) = a+a 2x +…+ax +x (a 1+a 2x +…+a 「x )+( x ) (a+a 2x +…+ax )+ … r-1 r r -1 r =a 1+a 2x +…+a r x /(1- x ) = a+a 2x +…+a 「x /( x -1) 于是 A (x )=( a+a 2x +…+a r X r-1)/( x r -1) = (x )/ p (x ) 又(a 1, a 2,…,a n-1, a n )=(00 …01) 所以 p (x )( a n x +?? ?+ a r x )= (x )( x -1) 即 p (x )x (a n +…+ a 「x )= (x )( x -1) 由于x n-1不能整除x r -1,所以必有x n-1| (x ),而(x )的次数小于n ,所以必有 (x ) = x n-1 所以必有p (x ) | (x r -1),由p (x )的阶的定义知,阶 p r 综上所述:p = r # 3. 设 n = 4, f ( a, a 2, a 3, a 4)= a 1 a 4 1 a 2a 3,初始状态为(a, a 2, a 3, a 4)= (1,1,0,1),求此 非线性反馈移位 寄存器的输出序列及周期。 解: 由反馈函数和初始状态得状态输出表为 (a 4 a 3 32 a 1) 输出 ( a 4 a 3 a ? a 1) 输出 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1 1 (回到初始状态) 所以此反馈序列输出为: 11011…周期为 5 4. 设密钥流是由 m = 2s 级LFSR 产生,其前m+2个比特是(01) s+1,g 卩s + 1个01。问第m+3个比特有无可 能是1,为什么 解:不能是1。 可通过状态考察的方法证明以上结论。 首先m 级LFSR 的状态是一个 m 维的向量,则前 m 个比特构成一个状态 S 0,可表示为(01) s , 第m + 1个比特是0,所以S c 的下一个状态是 S = (10) s , 第 耐2个比特是1,所以S 1的下一个状态是 S. = (01) s = S 0,回到状态S 0, 所以下一个状态应是 S 3=S = (10) s ,也即第m+3个比特应该为0。 5?设密钥流是由n 级LFSR 产生,其周期为2n - 1, i 是任一正整数,在密钥流中考虑以下比特对 ( S , S +1), ( S +1, S +2),…,(S +2n — 3, S i +2n - 2), ( S +2〔 2, S i+二1),

51单片机流水灯左移 右移控制程序

51 单片机流水灯左移右移控制程序 电路很简单8 位流水灯接在单片机的P1 口.如下是源代码: //============================================================ = //程序名:LLL22_4.C //程序功能:流水灯控制左移右移 //============================================================ == #include//头文件L_M(); //流水灯左移控制程序R_M(); //流水灯右移控制程序 //============================================================ === main() //主函数{ while(1) //无限循环{ L_M(); //调用左移程序R_M(); //调用右移程序} } //========左移控制程序 ============================================== L_M() //左 移主函数{ unsigned char i,temp,a,b; //声明无符号字符型变量A,TEMP I,B unsigned int s; //声明无符号整型变量S temp=0xfe; //左移初始 值P1=temp; //P1 输出信号点亮发光管for( s=0;s>(8-i) ; //数 据右移(8-I)位P1=a|b ; //逻辑或运算,并输出到P1 口for(s=0;s>i; b=temp<<(8-i); //数据右移(8-I)位P1=a|b; //逻辑或运算, 并输出到P1 口for(s=0;s<30000;s++); //延时程序} } //============================================================ ===========tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

作业参考答案3级线性反馈移位寄存器在c3=1时可有4种

第二章作业参考答案 1.3级线性反馈移位寄存器在c3=1时可有4种线性反馈函数,设其初始状态为(a1,a2,a3)=(1,0,1),求各线性反馈函数的输出序列及周期。 解:此时线性反馈函数可表示为f(a1,a2,a3)=a1c2a2c1a3 当c1=0,c2=0时,f(a1,a2,a3)=a1c2a2c1a3=a1, 输出序列为101101…,周期=3 当c1=0,c2=1时,f(a1,a2,a3)=a1c2a2c1a3=a1a2, 输出序列为10111001011100…,周期=7 当c1=1,c2=0时,f(a1,a2,a3)=a1c2a2c1a3=a1a3, 输出序列为10100111010011…,周期=7 当c1=1,c2=1时,f(a1,a2,a3)=a1c2a2c1a3=a1a2a3, 有输出序列为1010…,周期=2 2.设n级线性反馈移位寄存器的特征多项式为p(x),初始状态为(a1,a2, …,a n-1,a n)=(00…01),证明输出序列的周期等于p(x)的阶 证:设p(x)的阶为p,由定理2-3,由r|p,所以r p 设A(x)为序列{a i}的生成函数,并设序列{a i}的周期为r,则显然有A(x)p(x)=(x) 又A(x)=a1+a2x+…+a r x r-1+x r(a1+a2x+…+a r x r-1)+(x r)2(a1+a2x+…+a r x r-1)+… =a1+a2x+…+a r x r-1/(1-x r)=a1+a2x+…+a r x r-1/(x r-1) 于是A(x)=(a1+a2x+…+a r x r-1)/(x r-1)=(x)/p(x) 又(a1,a2, …,a n-1,a n)=(00…01) 所以p(x)(a n x n-1+…+a r x r-1)=(x)(x r-1) 即p(x)x n-1(a n+…+a r x r-n)=(x)(x r-1) 由于x n-1不能整除x r-1,所以必有x n-1|(x),而(x)的次数小于n,所以必有(x)=x n-1 所以必有p(x)|(x r-1),由p(x)的阶的定义知,阶p r 综上所述:p=r # 3.设n=4,f(a1,a2,a3,a4)=a1a41a2a3,初始状态为(a1,a2,a3,a4)=(1,1,0,1),求此非线性反馈移位寄存器的输出序列及周期。 解:由反馈函数和初始状态得状态输出表为 (a4 a3 a2 a1) 输出 (a4 a3 a2 a1) 输出 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1 1(回到初始状态) 所以此反馈序列输出为:11011…周期为5 4.设密钥流是由m=2s级LFSR产生,其前m+2个比特是(01)s+1,即s+1个01。问第m+3个比特有无可能是1,为什么? 解:不能是1。 可通过状态考察的方法证明以上结论。 首先m级LFSR的状态是一个m维的向量,则前m个比特构成一个状态S0,可表示为(01)s, 第m+1个比特是0,所以S0的下一个状态是S1=(10)s, 第m+2个比特是1,所以S1的下一个状态是S2=(01)s=S0,回到状态S0, 所以下一个状态应是S3=S1=(10)s,也即第m+3个比特应该为0。 5.设密钥流是由n级LFSR产生,其周期为2n-1,i是任一正整数,在密钥流中考虑以下比特对

实验五 移位寄存器

实验五、移位寄存器的设计 一、实验目的 设计并实现一个异步清零同步置数8位并入并出双向移位寄存器电路。 二、实验原理 在数字电路中,用来存放二进制数据或代码的电路成为寄存器。寄存器按功能可分为:基本寄存器和移位寄存器。移位寄存器中的数据可以在移位脉冲作用下一次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,串行输入、并行输出,十分灵活,用途也很广。下面是一个并入串出的8位左移寄存器的VHDL描述: library ieee; use ieee.std_logic_1164.all; port(data_in: in std_logic_vector(7 downto 0); clk: in std_logic; load: in std_logic; data_out:out std_logic); end; architecture one of left8 is signal q: std_logic_vector(7 downto 0); begin process(load,clk) begin if load='1' then q<=data_in; data_out<='Z'; elsif clk'event and clk='1' then for I in 1 to 7 loop 图5-1 q(i)<=q(i-1); end loop; data_out<=q(7); end if; end process; end one; 异步清零同步置数8位并入并出双向移位寄存器电路结构图如图5-1所示。 三、实验要求 输入信号有D[0]~D[7]、DIL、DIR、S、LOAD、CLK和CLR,其中CLK接时钟,其余接拨码开关,输出信号有Q[0]~Q[7],接发光二极管。改变拨码开关的状态,观察实验结果。 实验工程项目命名为rlshift,源程序命名为rlshift8.vhd。 四、实验记录 对比较器实验结果造表,得到其真值表。 五、实验报告要求

相关文档