实验七移位寄存器的测试实验报告

一.实验目的

   1、学习移位寄存器74194的工作原理

   2、掌握移位寄存器74194的基本功能测试方法

   3、学会移位寄存器的应用

二.实验仪器

  1.仪器:EDA实验箱和电脑QuartusII软件

三.实验内容

1、测试移位寄存器74194的基本逻辑功能

将74194移位寄存器按下图接线,置顶,编译,仿真。

仿真截图:

将74194移位寄存器按下图接线,置顶,编译、下载。

测试结果:

2、74194的应用——可控流水灯 将两片74194移位寄存器按下图接线,将分频器模块添加到流水灯工程里,封装成可调用的元器件,给流水灯提供脉冲信号。下载并观察左循环、右循环和保持的状态。

 

第二篇:实验一、线性移位寄存器实验报告

实验一、实验报告

姓名: 何璟 学号: 1208060099 实验日期:2014.10.8

一、实验名称: 线性移位寄存器

二、 实验目的

1、

2、

3、

4、 了解线性移位寄存器产生伪随机序列的原理。 伪随机寄存器的软件实现。 同一个反馈函数不同初始值下的输出序列。 同一个初始值在不同反馈函数下的输出序列。

三、 实验基本方法

用C语言编写一个32位线性移位寄存器,其输出的伪随机序列显示在屏幕上。

四、 实验步骤

1、 编程实现32位线性移位寄存器。

2、 观察输出序列前1000——2000位的随机性。

3、 改变反馈函数,再观察输出序列前1000——2000位的随机性。

4、 改变初始值,再观察输出序列前1000——2000位的随机性。

5、 将寄存器改成8位,找到一个m序列。**

五、 实验结果

1、 程序设计的思想,及程序原代码。

计算为随机序列按钮的程序代码

void CSy1View::OnButton1()

{

// TODO: Add your control notification handler code here

unsigned int lfsr,fsc=0x94411889;// 反馈函数

unsigned int t1,s,f,fs;

int i,j,c0=0,c1=0; // 0和1个数

UpdateData(TRUE);

lfsr=m_shuru;

m_ed="";

fs=lfsr&fsc;

for(i=0;i<2000;i++)

{

fs=lfsr&fsc;

t1=lfsr&0x80000000;

if(t1==0)

{

c0++;

m_ed = m_ed+"0";

}

else

{

m_ed = m_ed+"1";

c1++;

}

f=0; //反馈函数计算

for(j=0;j<32;j++)

{

if(fs&0x1!=0) //最低位

f=f^1;

else

f=f^0;

fs=fs/2;

}

lfsr=lfsr*2+f; //移位

}

m_c0.Format("%d",c0);

m_c1.Format("%d",c1);

UpdateData(FALSE);

}

改变反馈函数

void CSy1View::OnButton1()

{

// TODO: Add your control notification handler code here unsigned int lfsr,fsc=0x23193324;//反馈函数 unsigned int t1,s,f,fs;

int i,j,c0=0,c1=0; // 0和1个数

UpdateData(TRUE);

lfsr=m_shuru;

m_ed="";

fs=lfsr&fsc;

for(i=0;i<2000;i++)

{

} fs=lfsr&fsc; t1=lfsr&0x80000000; if(t1==0) { c0++; m_ed = m_ed+"0"; } else { m_ed = m_ed+"1"; c1++; } f=0; //反馈函数计算 for(j=0;j<32;j++) { if(fs&0x1!=0) //最低位 f=f^1; else f=f^0; fs=fs/2; } lfsr=lfsr*2+f; //移位 } m_c0.Format("%d",c0); m_c1.Format("%d",c1); UpdateData(FALSE);

2、 报告观察结果。

实验一线性移位寄存器实验报告

改变初始值

实验一线性移位寄存器实验报告

改变反馈函数

实验一线性移位寄存器实验报告

3、 对观察结果的分析。

4、 分析8位寄存器产生的m序列。*** 打**号的选做。

相关推荐