文档库 最新最全的文档下载
当前位置:文档库 › 移位寄存器实验_卢上游

移位寄存器实验_卢上游

移位寄存器实验_卢上游
移位寄存器实验_卢上游

移位寄存器实验

三大队三营 卢上游 C022012020

实验一:m 序列的采样实现(内容包括:迹函数表示法、n

21Z *-的陪集

分解、m 序列的线性结构) (一)、算法思路 1.n

21Z *-的陪集分解

Step1:求出集合n

21Z *-,即找出1到21n -中所有与21n

-互素的数。

Step2:求 n

21Z *-的陪集分解。采用遍历的方法,取n

21Z *-中的任意元素

11s ≠-,根据平移等价公式:存在整数

(0)i i n ≤<使得

12(mod21)i n s r ≡?-成立,找出与1(s )a 采样平移等价的序列对应的元

素r ,并都置为-1,即取1s 为一个陪集的代表元,放入到集合S 中,由此可知,当遍历完n

21Z *-后就可以得到所有陪集的代表元了,即为集

合S 的所有元素。

Set3: 取集合S 中所有元素0S 、1S 、……、(21)/n n

S ?-,对所给的n 级m

序列a 进行采样,得到0s a ()

、1s a

()

、……、(21)/n n

S

a ?-,即所有不同的n

级m 序列。

2. m 序列的线性结构

Step1: 对于一个n 级m 序列取前2n 项,代入递推关系式

1122a a a a (0)k n k n k n n k c c c k ++-+-=++

+≥中,求解方程组,得到n 阶本原

多项式。如果能够取得所有的n 级m 序列的前2n 项,那么就能求得所

有的n 阶本原多项式,而获得所有的n 级m 序列,实验(1)已经给出,在这个实验中只给出了一个本原多项式。 Step2:对于求解方程组,12(c ,c ,

,c )n c =的取值,采用给定一个数

值21n

p =-,使得i c 对应于p 的二进制数的第i 位,如果c 满足方

程组,则代入到(x)f 中,(x)f 即为本原多项式,如果不满足,则

1p p =-,直到0p =。

3.迹函数表示法

取α为n 次本原多项式f ()x 的根,利用多项式表示法表示出n

2F 中的所

有元素,对

n

2F 中每一

个元素

β

,求

(Tr(β),Tr(βα),Tr(2

βα),… ,Tr(22

n βα

-),…),即可得到G (f )

中的所有序列。因为在编程时发现迹函数的化解无法实现,所以参考了刘帅在这一块的作业。 (二)、实验结果 1.n

21Z *-的陪集分解

用书上的例3.4.4验证本程序的正确性。利用程序,我们对4级m 序列(1,0,0,0,1,0,0,1,1,0,1,0,1,1,1,)a =进行采样,实验结果如下:

2. m序列的线性结构

以书上129页19题为例:

3.迹函数表示法

我们以5次本原多项式35

=++为例对程序进行验证,实验结果

()1

f x x x

如下:

实验二:梅西迭代算法实现(内容包括:周期序列极小多项式、由已知m 序列获得全部n 次本源多项式) 1、算法思路

(1)一般梅西迭代算法(求产生N 长二元序列的最短移位寄存器) Step1:取初始值:00()1,0f x l ==。

Step2:计算()

()()011n

n

n n n n n n l n l d c a c a c a --=+++,判断n d 是否为零,若0n d =,

则令:11()(),n n n n f x f x l l ++==;若0n d ≠,则当010n l l l ====时,取

111()1,1n n n f x x l n +++=+=+,当有m (0m n ≤<)使12m m m n l l l l ++<==

=时,

便置11()()(),max{,1}n m n n m n n n f x f x x f x l l n l -++=+=+-。依次重复执行Step2,直到求出<(),N N f x l >,便得到产生N 长二元序列的最短移位寄存器。 2、实验结果

(1)一般梅西迭代算法(求产生N 长二元序列的最短移位寄存器) 我们以长度为11的二元序列

a (0,0,1,0,0,0,1,1,1,1,0,1,)=为例对该程序进行验证,实验结果如下:

附录

源代码:

实验一:m序列的采样实现

1. m序列的采样实现

#include"stdafx.h"

#define mn 100;

int _tmain(int argc, _TCHAR* argv[])

{

int panduanhusu(int a,int b);

int j=0,k=0,i=0,n,a[100]={0},z[100]={0},s[100]={0},pa=1,sr=1,l=1;

printf("please input n:");

scanf("%d",&n);

printf("please input 序¨°列¢D\n");

for(i=0;i

pa=pa*2;

pa=pa-1;

for(i=0;i

scanf("%d",&a[i]);

for(i=1;i

if(panduanhusu(i,pa))

{

z[j]=i;j++;

}

for(j=0;j<100&&z[j]!=0;j++)

if(z[j]!=pa)

{

for(i=j+1;i<100&&z[i]!=0;i++)

{

if(z[i]!=pa)

for(l=1;l

{

for(int h=1;h<=l;h++)

sr=sr*2;

if((z[j]%pa)==((z[i]*sr)%pa))

{z[i]=pa;break;}

}

}

s[k]=z[j];k++;sr=1;

}

for(k=0;k<100&&s[k]!=0;k++)

{

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

printf("%d,",a[(i*s[k])%pa]);

printf("\n");

}

return 0;

}

int panduanhusu(int a,int b)

{

int i=2,c,d;

if(a

c=b;

else c=a;

for(;i<=c;i++)

if(a%i==0&&b%i==0)

{d=0;break;}

else d=1;

return d;

}

2. m序列的线性结构

#include"stdafx.h"

int _tmain(int argc, _TCHAR* argv[])

{

int n=0,i=0,h=0,sum=0,p=0,k=0,d=0,c[100]={0},a[100]={0},j=0;

int qiumici(int n);

printf("please input n:");

scanf("%d",&n);

printf("please input 连¢?续?的ì?2n个?序¨°列¢D\n");

for(i=0;i<2*n;i++)

scanf("%d",&a[i]);

p=qiumici(n)-1;

while(d==0)

{

for(i=1;i<=n;i++)

{

j=n-1;

while(j>=i)

{

h=h+qiumici(j);

if(p-h<0)

h=h-qiumici(j);

j--;

}

c[i]=(p-h)/qiumici(i-1);

h=0;

}

p--;

for(k=0;k

{

sum=0;

for(i=1;i<=n;i++)

{

sum=(sum+c[i]*a[k+n-i])%2;

}

if((sum)!=a[k+n])

{d=0;break;}

else d=1;

}

}

printf("X%d+",n);

for(i=1;i

{

printf("%d",c[i]);

printf("X%d+",n-i);

}

printf("1");

return 0;

}

int qiumici(int n)

{

int j,q=1;

for(j=0;j

q=q*2;

return q;

}

2.迹函数表示法

//用迹函数表示法表示G(f)中的序列

#include

#include

#define u 100

int chengfa(int a[],int x,int b[],int y,int c[])

{

int i,j,k;

int z;

z=x+y;

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

{

c[i]=0;

for(j=0,k=i;j<=x;j++,k--)

{

if(k>=0&&k<=y)

{

if(c[i]==(a[j]*b[k]))

c[i]=0;

else

c[i]=1;

}

}

}

return z;

}

void mo(int a[],int x,int f[],int n)

{

int b[u]={0};

int t;

int i;

while(x>=n)

{

for(i=0;i

{

b[i]=0;

}

t=x-n;

for(i=n;i>=0;i--)

{

b[i+t]=f[i];

}

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

if(a[i]==b[i])

a[i]=0;

else

a[i]=1;

for(i=x;a[i]==0;i--){}

x=i;

}

}

int Tr(int a[],int x,int f[],int n)

{

int chengfa(int a[],int x,int b[],int y,int c[]);

void mo(int a[],int x,int f[],int n);

int i,j,k;

int T[u]={0},m=0,t[u]={0},h,b[u]={0},y;

int q;

for(i=0;i

{

q=pow(2,i);

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

t[i]=a[i];

h=x;

for(j=2;j<=q;j++)

{

for(k=0;k<=h;k++)

b[k]=t[k];

y=h;

h=chengfa(a,x,b,y,t);

mo(t,h,f,n);

}

for(i=0;i<=h||i<=m;i++)

if(T[i]==t[i])

T[i]=0;

else

T[i]=1;

if(h>=m)

m=h;

for(i=m;a[i]==0;i--){}

m=i;

}

return T[0];

}

int trans(int a[],int b)

{

int i,d;

for(i=0;b!=0;i++)

{

a[i]=b%2;

b=b/2;

}

d=i-1;

return d;

}

int main() //

{

int Tr(int a[],int x,int f[],int n);

int trans(int a[],int b);

int f[u]={0},n,A[u]={0},x=0,a[u][u]={0};

int i,j,k;

int t;

printf("请输入本原多项式次数:"); //输入本原多项式 scanf("%d",&n);

printf("请输入本原多项式系数(由低次到高次):");

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

scanf("%d",f[i]);

t=pow(2,n)-1;

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

{

printf("a[%d]={",i);

x=trans(A,i);

for(j=0;j

{

if(j!=0)

{

for(k=j-1;k<=x;k++)

A[k+1]=A[k];

A[j-1]=0;

x=x+1;

}

a[i][j]=Tr(A,x,f,n);

if(j

printf("%d ",a[i][j]);

else

printf("%d,......)",a[i][j]);

}

}

}

实验二:梅西迭代算法实现

#include "stdafx.h"

#include

#include

#include

#define mm 30

void main()

{

int a[mm]={0},d[mm]={0},c[mm][mm]={0},f[mm]={0},l[mm]={0};

int m,n=0,i,j,n0=0,ca[mm]=0;

printf("\nInput N:");

scanf("%d",&N);

printf("\nInput the stream:");

for(i=0;i

scanf("%d",&a[i]);

for(i=0;i

f[i]=0;

i=0;

while(a[i]==0)

i++;

n0=i;

for(i=0;i

d[i]=0;

for(i=0;i

{

f[i]=1;l[i]=0;

d[n0]=a[n0];

l[n0+1]=n0+1;

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

{

c[i][0]=1;

for(j=1;j

c[i][j]=0;

}

c[n0+1][o]=1;

c[n0+1][n0+1]=d[n0];

for(j=1;j<=n0;j++)

c[n0+1][j]=0;

n=n0+1;

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

c[i][0]=1;

while(n

{

d[n]=0;

for(i=0;i<=l[n];i++)

d[n]+=c[n][i]*a[n-i];

d[n]=d[n]%2;

f[n_1]=1;

if(d[n]==0)

{

l[n+1]=l[n];

for(i=0;i<=l[n+1];i++)

c[n+1][i]=c[n][i];

}

else

{

j=n;

while((l[j]==l[j-1])&&f[j]==1)

j--;

m=j-1;

for(i=0;i

c[n+1][i]=c[n][i];

if(l[n]>n+1-l[n])

l[n+1]=l[n];

else l[n+1]=n+1-l[n];

for(i=n-m;i<=l[n+1];i++)

{

if(c[n][i]!=0)

c[n+1][i]=c[n][i]+c[m][i-n+m];

else c[n+1][i]=c[m][i-n+m];

c[n+1][i]=c[n+1][i]%2;

}

}

n++;

}

for(i=0;i

{

for(j=0;j<=l[i];j++)

printf("%2d",c[i][j]);

printf("\n");

}

printf("\n"Ln=%d",l[N]);

i=l[N];

printf("\nfn=1+");

for(j=1;j

{

printf("%dX",c[N][j]);

printf("%d+",j);

}

printf("%dX",c[N][i]);

printf("%d",l[N]);

getch();

retrun;

}

寄存器实验报告

寄存器实验报告

一、实验目的 1. 了解寄存器的分类方法,掌握各种寄存器的工作原理; 2. 学习使用V erilog HDL 语言设计两种类型的寄存器。 二、实验设备 PC 微机一台,TD-EDA 实验箱一台,SOPC 开发板一块。 三、实验内容 寄存器中二进制数的位可以用两种方式移入或移出寄存器。第一种方法是以串行的方式将数据每次移动一位,这种方法称之为串行移位(Serial Shifting),线路较少,但耗费时间较多。第二种方法是以并行的方式将数据同时移动,这种方法称之为并行移位(Parallel Shifting),线路较为复杂,但是数据传送的速度较快。因此,按照数据进出移位寄存器的方式,可以将移位寄存器分为四种类型:串行输入串行输出移位寄存器(Serial In- Serial Out)、串行输入并行输出移位寄存器(Serial In- Parallel Out)、并行输入串行输出移位寄存器(Parallel In- Serial Out)、并行输入并行输出移位寄存器(Parallel In-Parallel Out)。 本实验使用V erilog HDL 语言设计一个八位并行输入串行输出右移移位寄存器(Parallel In- Serial Out)和一个八位串行输入并行输出寄存器(Serial In- Parallel Out),分别进行仿真、引脚分配并下载到电路板进行功能验证。 四、实验步骤 1.并行输入串行输出移位寄存器实验步骤 1). 运行Quartus II 软件,选择File New Project Wizard 菜单,工程名称及顶层文件名称为SHIFT8R,器件设置对话框中选择Cyclone 系列EP1C6Q240C8 芯片,建立新工程。 2.) 选择File New 菜单,创建V erilog HDL 描述语言设计文件,打开文本编辑器界面。 3.) 在文本编辑器界面中编写V erilog HDL 程序,源程序如下: module SHFIT8R(din,r_st,clk,load,dout); input [7:0]din; input clk,r_st,load; output dout; reg dout; reg [7:0]tmp; always @(posedge clk) if(!r_st) begin dout<=0; end else begin if(load) begin tmp=din; end else

数字钟设计报告——数字电路实验报告

. 数字钟设计实验报告 专业:通信工程 :王婧 班级:111041B 学号:111041226 .

数字钟的设计 目录 一、前言 (3) 二、设计目的 (3) 三、设计任务 (3) 四、设计方案 (3) 五、数字钟电路设计原理 (4) (一)设计步骤 (4) (二)数字钟的构成 (4) (三)数字钟的工作原理 (5) 六、总结 (9) 1

一、前言 此次实验是第一次做EDA实验,在学习使用软硬件的过程中,自然遇到很多不懂的问题,在老师的指导和同学们的相互帮助下,我终于解决了实验过程遇到的很多难题,成功的完成了实验,实验结果和预期的结果也是一致的,在这次实验中,我学会了如何使用Quartus II软件,如何分层设计点路,如何对实验程序进行编译和仿真和对程序进行硬件测试。明白了一定要学会看开发板资料以清楚如何给程序的输入输出信号配置管脚。这次实验为我今后对 EDA的进一步学习奠定了更好的理论基础和应用基础。 通过本次实验对数电知识有了更深入的了解,将其运用到了实际中来,明白了学习电子技术基础的意义,也达到了其培养的目的。也明白了一个道理:成功就是在不断摸索中前进实现的,遇到问题我们不能灰心、烦躁,甚至放弃,而要静下心来仔细思考,分部检查,找出最终的原因进行改正,这样才会有进步,才会一步步向自己的目标靠近,才会取得自己所要追求的成功。 2

二、设计目的 1.掌握数字钟的设计方法。 2熟悉集成电路的使用方法。 3通过实训学会数字系统的设计方法; 4通过实训学习元器件的选择及集成电路手册查询方法; 5通过实训掌握电子电路调试及故障排除方法; 6熟悉数字实验箱的使用方法。 三、设计任务 设计一个可以显示星期、时、分、秒的数字钟。 要求: 1、24小时为一个计数周期; 2、具有整点报时功能; 3、定时闹铃(未完成) 四、设计方案 一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器和定时器组成。干电路系统由秒信号发生器、“时、 3

寄存器的原理及应用

课题9:寄存器的原理及应用 课型:讲授 教学目的: 掌握数码寄存器和移位寄存器的逻辑功能 教学重点:掌握中规模四位双向移位寄存器的逻辑功能 教学难点:掌握中规模四位双向移位寄存器的逻辑功能 复习、提问: 写出RS触发器、JK触发器、D触发器、T触发器、T`触发器的逻辑 功能、特性方程。 教学过程: 寄存器被广泛应用于数字系统和计算机中,它由触发器组成,是一种用来暂时存放二进制数码的逻辑部件。一个触发器可以存放一位二进制代码,因此n 位代码寄存器应由n个触发器组成。有些寄存器由门电路构成控制电路,以保证信号的接收和清除。 寄存器存放数据的方式有并行和串行两种。并行方式是数码从各对应输入端同时输入到寄存器中,串行方式是数码从一个输入端逐位输入到寄存器中。 寄存器取出数据的方式也有并行输出和串行输出两种。并行输出方式中,被取出的数码同时出现在各位的输出端。串行输出方式中,被取出的数码在一个输出端逐位出现。 寄存器分为数码寄存器和移位寄存器。 一、数码寄存器 数码寄存器具有存储二进制代码,并可输出所存二进制代码的功能。按接收数码的方式可分为:单拍式和双拍式。 单拍式:接收数据后直接把触发器置为相应的数据,不考虑初态。 双拍式:接收数据之前,先用复"0"脉冲把所有的触发器恢复为"0",第二拍把触发器置为接收的数据。 1、双拍工作方式的数码寄存器 双拍工作方式是指接收数码时,先清零,再接收数码。

分析下图四位数码寄存器逻辑图。它的核心部分是4个D 触发器。其工作过程: (1) 清零。CR=0,异步清零。即有:Q 3n+1Q 2n+1Q 1n+!Q 0n+1=0000 (2) 送数。CR=1时,CP 上升沿送数 Q 3n+1Q 2n+1Q 1n+!Q 0n+1=D 3D 2D 1 D 0 (3) 保持。在CR=1、CP 上升沿以外时间,寄存器内容将保持不变。实 现了数码寄存的功能。 2、单拍工作方式的数据寄存器 单拍工作方式是指只需一个接收脉冲就可以完成接收数码的工作方式。集成数码寄存器几乎都采用单拍工作方式。 数码寄存器要求所存的代码与输入代码相同,故由D 触发器构成。 分析下图D 触发器组成的4位数据寄存器的逻辑功能。 无论寄存器中原来的内容是什么,只要送数在控制时钟脉冲CP 上升沿到来时,加在并行数据输入端的数据D 0~D 3,就立即被送入进寄存器中,即有:Q 3n+1Q 2n+1Q 1n+!Q 0n+1=D 3D 2D 1D 0。 二、移位寄存器 移位寄存器具有数码寄存和移位两个功能,在移位脉冲的作用下,数码如向左移一位,则称为左移,反之称为右移。 移位寄存器具有单向移位功能的称为单向移位寄存器,即可向左移也可向右移的称为双向移位寄存器。 1、单向移位寄存器 (1)、右移寄存器

计数器和移位寄存器设计仿真实验报告.

实验四典型时序电路的功能测试与综合仿真报告 15291204张智博一.74LS290构成的24位计数器 方法:第一片74290的Q3与第二片的INB相连,R01,R02相连,INA,R91,R92悬空构成24位计数器。50Hz,5v方波电压源提供时钟信号,用白炽灯显示输出信号。 实验电路: 实验现象:

输出由000000变为000001,000010,000011,000100,001000,001001,001010,001011,001100,010001,010000,010010,010011,010100,011000,011001,011010,011011,011100,100000,100001,100010,100011,100100,最终又回到000000,实现一次进位。 二.74LS161构成的24位计数器 方法:运用多次置零法 用两片74LS161构成了24位计数器,两片计数器的时钟信号都由方波电压源提供,第一片芯片的Q3和第二片芯片的Q0通过与非门,构成两个74LS161的LOAD信号,第一片的CO接第二片的ENT,其他ENT和ENP接Vcc(5v)。输出接白炽灯。 电路图: 实验现象:以下为1—24的计数过程

三.74LS194构成的8位双向移位寄存器 方法:通过两片194级联,控制MA,MB的值,来控制左右移动 实验电路由两片74LS194芯片构成。两个Ma接在一起,两个Mb接在一起,第一片的Dr,第二片的Dl,分别通过开关接到Vcc(5v)上。第一片的Q3接到第二片的Dr,第二片的Q0接到第一片的Dl。8个输出端分别接白炽灯。 实验电路:

数字钟设计报告——数字电路实验报告

数字钟设计实验报告 专业:通信工程 姓名:王婧 班级:111041B 学号:111041226

数字钟的设计 目录 一、前言 (3) 二、设计目的 (3) 三、设计任务 (3) 四、设计方案 (3) 五、数字钟电路设计原理 (4) (一)设计步骤 (4) (二)数字钟的构成 (4) (三)数字钟的工作原理 (5) 六、总结 (9) 1

一、前言 此次实验是第一次做EDA实验,在学习使用软硬件的过程中,自然遇到很多不懂的问题,在老师的指导和同学们的相互帮助下,我终于解决了实验过程遇到的很多难题,成功的完成了实验,实验结果和预期的结果也是一致的,在这次实验中,我学会了如何使用Quartus II软件,如何分层设计点路,如何对实验程序进行编译和仿真和对程序进行硬件测试。明白了一定要学会看开发板资料以清楚如何给程序的输入输出信号配置管脚。这次实验为我今后对 EDA的进一步学习奠定了更好的理论基础和应用基础。 通过本次实验对数电知识有了更深入的了解,将其运用到了实际中来,明白了学习电子技术基础的意义,也达到了其培养的目的。也明白了一个道理:成功就是在不断摸索中前进实现的,遇到问题我们不能灰心、烦躁,甚至放弃,而要静下心来仔细思考,分部检查,找出最终的原因进行改正,这样才会有进步,才会一步步向自己的目标靠近,才会取得自己所要追求的成功。 2

二、设计目的 1.掌握数字钟的设计方法。 2熟悉集成电路的使用方法。 3通过实训学会数字系统的设计方法; 4通过实训学习元器件的选择及集成电路手册查询方法; 5通过实训掌握电子电路调试及故障排除方法; 6熟悉数字实验箱的使用方法。 三、设计任务 设计一个可以显示星期、时、分、秒的数字钟。 要求: 1、24小时为一个计数周期; 2、具有整点报时功能; 3、定时闹铃(未完成) 四、设计方案 一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器和定时器组成。干电路系统由秒信号发生 3

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

数字钟课程设计实验报告

《电子技术课程设计报告》 教学院:电气与电子信息工程学院 专业班级:xx级电子信息工程(x)班 学号:xxxxxxxxxxxx 学生:坏水 指导教师:xxxxxxxxxxxx 时间:2011.10.10~10.23 地点:电子技术实验室

课程设计成绩评定表

电子技术课程设计任务书 2011~2012学年第一学期 学生:坏水专业班级:xx电信本x班 指导教师:xxxxxxxxx 工作部门:电气与电子信息工程学院 一、课程设计题目:多功能数字钟电路的设计/直流稳压电源的设计 二、课程设计容(含技术指标): ①拟定多功能数字钟和直流稳压电源的组成框图,要现电路的基本功能,使用 的器件少,成本低; ②画出数字钟和直流稳压电源的主体电路逻辑图; ③测试多功能数字钟的逻辑功能,同时满足基本功能与扩展功能的要求; ④设计并安装各单元电路,要求布线整齐、美观,便于级联与调试;

四、基本要求 1.基本功能:要求设计出+5V的直流稳压电源。数字钟要求以数字形式显示时、分、秒的时间。小时计数器的计时要求为“12翻1”,要求具有手动校时功能。 2.扩展功能:定时控制,其时间自定;仿广播电台正点报时,自动报整点时数或触摸报整点时数(主要体现在理论知识上进行电路设计)。 (一)实训题目:直流稳压电源和多功能数字钟。 (二)实训目的: 1、巩固和加深学生对模拟电子技术,数字逻辑电路等课程基本知识的理解,综 合运用课程中所学到的理论知识去独立完成一个实际课题。 2、根据课程需要,通过查阅手册和文献资料,培养学生独立分析和解决实际问 题的能力。 3、通过电路方案的分析、论证和比较,设计计算和选用元气件,通过电路组装, 调试和检测环节,掌握电路的分析方法和设计方法。 4、熟用常用电子元气件的类型和特性,并掌握合理选用原则。 5、掌握电路图、PCB图的设计方法,学会电路的安装与调试。 6、掌握常用仪器、仪表的正确使用方法,学会电路整机指标的测试方法。(三)实训要求

EDA课程设计——移位寄存器的设计与实现

河南科技大学 课程设计说明书 课程名称 EDA技术与应用 题目移位寄存器的设计与实现 学院 班级 学生姓名 指导教师 日期

EDA技术课程设计任务书 班级:姓名:学号: 设计题目:移位寄存器的设计与实现 一、设计目的 进一步巩固理论知识,培养所学理论知识在实际中的应用能力;掌握EDA设计的一般方法;熟悉一种EDA软件,掌握一般EDA系统的调试方法;利用EDA软件设计一个电子技术综合问题,培养VHDL编程、书写技术报告的能力。为以后进行工程实际问题的研究打下设计基础。 二、设计任务 根据计算机组成原理中移位寄存器的相关知识,利用VHDL语言设计了三种不同的寄存器:双向移位寄存器、串入串出(SISO)移位寄存器、串入并出(SIPO)移位寄存器。 三、设计要求 (1)通过对相应文献的收集、分析以及总结,给出相应课题的背景、意义及现状研究分析。 (2)通过课题设计,掌握计算机组成原理的分析方法和设计方法。 (3)学习按要求编写课程设计报告书,能正确阐述设计和实验结果。 (4)学生应抱着严谨认真的态度积极投入到课程设计过程中,认真查阅相应文献以及实现,给出个人分析、设计以及实现。 四、设计时间安排 查找相关资料(1天)、设计并绘制系统原理图(2天)、编写VHDL程序(2天)、调试(2天)、编写设计报告(2天)和答辩(1天)。 五、主要参考文献 [1] 江国强编著. EDA技术与实用(第三版). 北京:电子工业出版社,2011. [2] 曹昕燕,周凤臣.EDA技术实验与课程设计.北京:清华大学出版社,2006.5 [3] 阎石主编.数字电子技术基础.北京:高等教育出版社,2003. [4] Mark Zwolinski. Digital System Design with VHDL.北京:电子工业出版社,2008 [5] Alan B. Marcovitz Introduction to logic Design.北京:电子工业出版社,2003 指导教师签字:年月日

移位寄存器的工作原理

移位寄存器的工作原理是什么? 把若干个触发器串接起来,就可以构成一个移位寄存器。由4个边沿D 触发器构成的4位移位寄存器逻辑电路如图8.8.1所示。数据从串行输入端D1输入。左边触发器的输出作为右邻触发器的数据输入。假设移位寄存器的初始状态为0000,现将数码D3D2D1D0(1101)从高位(D3)至低位依次送到D1端,经过第一个时钟脉冲后,Q0=D3。由于跟随数码D3后面的数码是D2,则经过第二个时钟脉冲后,触发器FF0的状态移入触发器FF1,而FF0变为新的状态,即Q1=D3,Q0=D2。依此类推,可得4位右向移位寄存器的状态, 如表8.8.1所示。 由表可知,输入数码依次地由低位触发器移到高位触发器,作右向移动。经过4个时钟脉冲后,4个触发器的输出状态Q3Q2Q1Q0与输入数码D3D2D1D0相对应。为了加深理解,在图8.8.2中画出了数码1101(相当于D3=1,D2=1,D1=0 ,D0=1)在寄存器中移位的波形,经过了4个时钟脉冲后,1101出现在寄存器的输出端Q 3Q2Q1Q0。这样,就可将串行输入(从D1端输入)的数码转换为并行输出(从Q3、Q2、Q1、Q0端输出)的数码。这种转换方式特别适用于将接收到的串行输入信号转换为并行输出信号,以便于打印或由计 算机处理。 在图8.8.3中还画出了第5到第8个时钟脉冲作用下,输入数码在寄存器中移位的波形(如图8.8.2所示)。由图可见,在第8个时钟脉冲作用后,数码从Q3端已全部移出寄存器。这说明存入该寄存器中的数码也可以从Q端串行输出。根据需要,可用更多的触发器组成多位移位寄存器。

除了用边沿D 触发器外,还可用其他类型的触发器来组成移位寄存器,例如,用主从JK 触发器来组成移位寄存器,其级间连接方式如图8.8.3所示。根据JK触发器的特征方程,由图8.8.3可得: FF2和FF3的接法与FF1完全相似,所以各JK 触发器均以D 触发器的功能工作,图8.8.3和图8.8.1所 示电路具有相同的功能。 双向移位寄存器: 若将图8.8.1所示电路中各触发器间的连接顺序调换一下,让右边触发器的输出作为左邻触发器的数据输入,则可构成左向移位寄存器。若再增添一些控制门,则可构成既能右移(由低位向高位)、又能左移(由高位至低位)的双向移位寄存器。图8.8.4是双向移位寄存器的一种方案,它是利用边沿D 触发器组成的,每个触发器的数据输入端D 同与或非门组成的转换控制门相连,移位方向取决于移位控制端S的状态。 当S=1时,D0=DSR,D1=Q0,即FF0的D0端与右移串行输入端DSR接通,FF1的D1端与Q0接通,在时钟脉冲CP 作用下,由DSR端输入的数据将作右向移位;反之,当S=0时,D0=Q1 ,D1=Q2,在时钟脉冲CP作用下,Q2、Q1的状态将作左向移位。同理,可以分析其他两位触发器间的移位情况。由此

实验六移位寄存器的设计

实验六移位寄存器的设计 一、实验目的 1、掌握中规模4位双向移位寄存器逻辑功能及使用方法。 2、熟悉移位寄存器的应用—实现数据的串行、并行转换和构成环形计数器。 二、实验预习要求 1、复习有关寄存器及串行、并行转换器有关内容。 2、查阅CC40194、CC4011及CC4068 逻辑线路。熟悉其逻辑功能及引脚排列。 3、在对CC40194进行送数后,若要使输出端改成另外的数码,是否一定要使寄存器清零? 4、使寄存器清零,除采用R C输入低电平外,可否采用右移或左移的方法?可否使用并行送数法?若可行,如何进行操作? 5、若进行循环左移,图6-4接线应如何改接? 6、画出用两片CC40194构成的七位左移串 /并行转换器线路。 7、画出用两片CC40194构成的七位左移并 /串行转换器线路。 三、实验设备及器件 1、+5V直流电源 2、单次脉冲源 3、逻辑电平开关 4、逻辑电平显示器 5、CC40194×2(74LS194)CC4011(74LS00) CC4068(74LS30) 四、设计方法与参考资料 1、移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。既能左移又能右移的称为双向移位寄存器,只需要改变左、右移的控制信号便可实现双向移位要求。根据移位寄存器存取信息的方式不同分为:串入串出、串入并出、并入串出、并入并出四种形式。 本实验选用的4位双向通用移位寄存器,型号为CC40194或74LS194,两者功能相同,可互换使用,其逻辑符号及引脚排列如图6-1所示。 其中D0、D1、D2、D3为并行输入端;Q0、Q1、Q2、Q3为并行输出端;S R为右移串行输 C为直接无条件清零端; 入端,S L为左移串行输入端;S1、S0为操作模式控制端;R

电子电路数字钟实验报告

电子电路课程设计总结报告 (数字钟) 项目名称:数字钟 学院:机械工程学院 专业: 班级: 姓名:穆明国 指导老师:

一、课程设计题目 (3) 二、课程设计的设计任务和基本要求 (3) 三、课程设计题目分析 (3) 四、课程设计的电路设计部分 (5) 五、课程设计的总电路图 (9) 六、元器件的使用说明 (11) 七、课程设计的心得体会 (15) 八、参考文献 (15)

一、课程设计题目: 数字钟 二、课程设计任务和基本要求: 1)设计数字钟电路(每人一组,独立完成) 基本功能:准确计时,以数字形式显示时、分、秒的时间;小时的计时要求为24进位,分和秒的计时要求为60进位;能快速校正时、分的时间。 扩展功能:定点闹时功能,比如在7时59分发出闹时信号,持续时间为1分钟;整点报时功能,比如计时到整点时发出声音,且几点响几声。 2)提交设计报告(书面形式) 画出所设计电路的结构方框图;分析各部分的工作原理;所含集成电路的管脚和功能说明;通过Multisim 等软件对所设计电路进行仿真,提交仿真电路的原理图(电子版)。 3)制作数字钟(两人一组共同完成) 实现基本功能,给定统一的元器件,按照自己的设计方案在面包板上搭建实际电路,并达到设计要求。 三、课程设计题目分析: ☆设计要点 ●设计一个精确的秒脉冲信号产生电路 ●设计60进制、24进制计数器 ●设计译码显示电路 ●设计操作方面的校时电路 ●设计整点报时电路 ☆工作原理 数字电子钟由信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路等组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用555构成的振荡器加分频器来实现。将标准秒脉冲信号送入“秒计数器”,该计数器采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计数器,可以实现一天24h的累计。译码显示电路将“时、分、秒”计数器的输出状态经七段显示译码器译码,通过六位LED显示器显示出来。整点报时电路是根据计时系统的输出状态产生一个脉冲信号,然后去触发音频发生器实现报时。校时电路是来对“时、分、秒”显示数字进行校对调整。其数字电子钟系统框图如下:

实验十七、移位寄存器74164的逻辑功能测 试

实验十七、移位寄存器74164的逻辑功能测 试 一、实验目的 1、掌握中规模8位移位寄存器逻辑功能。 2、认识74LS164及其引脚封装。 二、实验预习要求 1、复习有关寄存器的内容。 2、查阅74LS164及逻辑电路,熟悉其逻辑功能及引脚排 列。 三、实验设备 1、+5V直流电源 2、单次脉冲源 3、逻辑电平开关 4、DM74LS164 四、实验原理 1、移位寄存器是一个具有移位功能的寄存器,是指寄存器中锁存的代码能够在移位脉冲的作用下一次左移和右移。既能左移又能右移称为双向移位寄存器,只需要改变左、右移的控制信号可实现双向移位要求。根据移位寄存器取存信息的方式不同分为:串入串出、串入并出、并入串出、并入并出四种形式。 本实验选用的8位移位寄存器,型号可为74LS164,其逻辑符号及引脚排列如图所示。 其中A、B为串行输入端;

CLR为异步清零端; QH—QA为输入端; CLK为移位脉冲输入端; 74164是一种串行输入、并行输出的器件,时钟高电平有效,没有时钟使能端,该器件用低电平复位 图1 74LS164的逻辑符号及引脚功能表其中QAO、QBO、QHO为在暂稳态输入条件建立之前QA、QB和QH相应的电平;QAN、QGN为在最近的时钟上升沿转换前QA或QG的电平,表示移一位。 移位寄存器应用很广,可构成移位寄存器型计数器;属虚脉冲发生器;串行累加器;可用作数据转换,即把串行数据转换位并行数据,或把并行数据转换位串行数据等。 五、实验内容 1、测试74LS164的逻辑功能 按图所示接线,A、B、CLK分别接至逻辑电平显示输入端。QA—QH分别接至逻辑电平显示输出端。14脚接+5V电源、7脚接地。

(整理)实验-寄存器.

实验十一移位寄存器及其应用 一、实验目的: 1、熟悉中规模4位双向移位寄存器的逻辑功能并掌握其使用方法; 2、熟悉移位寄存器的应用典例一——构成串行累加器和环形计数器。 二、实验原理: 1、移位寄存器是一种具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。既能左移又能右移的移位寄存器称为双向移位寄存器,只需要改变左、右移的控制信号便可实现双向移位。根据存取信息的方式不同移位寄存器可分为:串入串出、串入并出、并入串出、并入并出四种形式。 本实验选用的4位双向通用移位寄存器,型号为74LS194或CC40194,两者功能相同, S L为左移串行输入端;S1、S0为操作模式控制端;CR为异步清零端;CP为时钟脉冲输入端。 74LS194有5种不同操作模式:并行送数寄存,右移(方向由Q3至Q0),左移(方向由Q0至Q3),保持及清零。S1、S0和CR 端的控制作用如表11-1所示。表11-1

2、移位寄存器的应用很广,可构成移位寄存器型计数器;顺序脉冲发生器;串行累加器;可用作数据转换,即把串行数据转换为并行数据,或把并行数据转换为串行数据等。本实验主要研究移位寄存器用作环形计数器和串行累加器的线路连接及其原理。 (1)环形计数器 把移位寄存器的输出反馈到它的串行输入端,就可以进行循环移位,如图11-2所示,把输出端Q3和右移串行输入端S R相连接,设初始状态Q3Q2Q1Q0=1000,则在时钟脉冲的作用下Q3Q2Q1Q0将依次变为0100、0010、0001、1000-----,可见它是一个具有四个有效状态的计数器,这种类型的计数器通常称为环形计数器。图11-2电路可以由各个输出端输出在时间上有先后顺序的脉冲,因此也可作为顺序脉冲发生器。 (2)串行累加器 累加器是由移位寄存器和全加器组成的一种求和电路,它的功能是将本身寄存的数和另一个输入的数相加,并存放在累加器中。 图11-2 图11-3是由两个右向移位寄存器、一个全加器和一个进位触发器组成的串行累加器。 设开始时,被加数A=A N-1.....A O和加数B=B N-1......B O已分别存入N+1位累加数移位寄存器和加数移位寄存器。再设进位触发器D已被清零。 在第一个CP脉冲到来之前,全加器各输入、输出端的情况为:A N=A0,B N=B0,C N-1=0,S N=A0+B0+0=S0,C N=C0。 当第一个CP脉冲到来后,S0存入累加和移位寄存器的最高位,C0存入进位触发器D端,且两个移位寄存器中的内容都向右移动一位。全加器输出为S N=A1+B1+C0=S1,C N=C1。

多功能数字钟电路设计

课程设计任务书 学生姓名: XXX 专业班级: 指导教师:工作单位: 题目: 多功能数字钟电路设计 初始条件:74LS390,74LS48,数码显示器BS202各6片,74LS00 3片,74LS04,74LS08各 1片,电阻若干,电容,开关各2个,蜂鸣器1个,导线若干。 要求完成的主要任务: 用中、小规模集成电路设计一台能显示日、时、分秒的数字电子钟,要求如下: 1.由晶振电路产生1HZ标准秒信号。 2.秒、分为00-59六十进制计数器。 3.时为00-23二十四进制计数器。 4.可手动校正:能分别进行秒、分、时的校正。只要将开关置于手动位置。可分别对秒、分、时进行连续脉冲输入调整。 5.整点报时。整点报时电路要求在每个整点前鸣叫五次低音(500HZ),整点时再鸣叫一次高音(1000HZ)。 时间安排: 第20周理论设计、实验室安装调试,地点:鉴主15楼通信实验室一 指导教师签名:年月日 系主任(或责任教师)签名:年月日

多功能数字钟电路设计 摘要 (1) Abstract (2) 1系统原理框图 (3) 2方案设计与论证 (4) 2.1时间脉冲产生电路 (4) 2.2分频器电路 (6) 2.3时间计数器电路 (7) 2.4译码驱动及显示单元电路 (8) 2.5校时电路 (8) 2.6报时电路 (10) 3单元电路的设计 (12) 3.1时间脉冲产生电路的设计 (12) 3.2计数电路的设计 (12) 3.2.1 60进制计数器的设计 (12) 3.2.2 24进制计数器的设计 (13) 3.3译码及驱动显示电路 (14) 3.4 校时电路的设计 (14) 3.5 报时电路 (16) 3.6电路总图 (17) 4仿真结果及分析 (18) 4.1时钟结果仿真 (18) 4.2 秒钟个位时序图 (18) 4.3报时电路时序图 (19) 4.4测试结果分析 (19) 5心得与体会 (20) 6参考文献 (21) 附录1原件清单 (22) 附录2部分芯片引脚图与功能表 (23) 74HC390引脚图与功能表 (23)

实验七移位寄存器及其应用

实验七移位寄存器及其应用 一、实验目的 1、掌握中规模4位双向移位寄存器逻辑功能及使用方法。 2、熟悉移位寄存器的应用—实现数据的串行、并行转换和构成环形计数器。 二、实验原理 1、移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。既能左移又能右移的称为双向移位寄存器,只需要改变左、右移的控制信号便可实现双向移位要求。根据移位寄存器存取信息的方式不同分为:串入串出、串入并出、并入串出、并入并出四种形式。 本实验选用的4位双向通用移位寄存器,型号为CC40194或74LS194,两者功能相同,可互换使用,其逻辑符号及引脚排列如图7-1所示。 图7-1 CC40194的逻辑符号及引脚功能 其中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端的控制作用如表7-1。

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

最新实验6-移位寄存器功能测试及应用-(实验报告要求)

实验六 移位寄存器功能测试及应用 --实验报告要求 一. 实验目的(0.5分) 1. 熟悉寄存器、移位寄存器的电路结构和工作原理。 2. 掌握中规模4位双向移位寄存器逻辑功能及使用方法。 3. 熟悉移位寄存器的应用。 二. 实验电路 D0、D1 、D2 、D3为并行输入端;Q0、Q1、Q2、Q3为并行输出端;SR 为右移串行输入端,SL 为左移串行输入端;S1、S0 为操作模式控制端;R C 为直接无条件清零端;CP 为时钟脉冲输入端。 三 图2 CC40194/74LS194 逻辑功能测试 图1 CC40194/74LS194的逻辑符号及引脚功能 图3 环形计数器

四. 实验原理(0.5分) 1.移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。既能左移又能右移的称为双向移位寄存器,只需要改变左、右移的控制信号便可实现双向移位要求。根据移位寄存器存取信息的方式不同分为:串入串出、串入并出、并入串出、并入并出四种形式。 本实验选用的4位双向通用移位寄存器,型号为CC40194或74LS194,两者功能相同,可互换使用。 74LS194有5种不同操作模式:即并行送数寄存,右移(方向由Q0-->Q3),左移(方向由Q3→Q0),保持及清零。 2.移位寄存器应用很广,可构成移位寄存器型计数器:顺序脉冲发生器;串行累加器;可用数据转换,即把串行数据转换为并行数据,或把并行数据转换为串行数据等。本实验研究移位寄存器用作环形计数器和数据的串、并行转换。 (1)环行计数器 把移位寄存器的输出反馈到它的串行输入端,就可以进行循环移位。 (2)实现数据、并行转换器 a)串行∕并行转换器 串行∕并行转换器是指串行输入的数码,经转换电路之后变换成并行输出。 b)并行∕串行转换器 并行∕串行转换器是指并行输入的数码经转换电路之后,换成串行输出。 五. 实验内容与步骤(共1分) 1. 2.测试74LS194的逻辑功能(0.5分) (1)在实验箱上选取一个16P插座,按定位标记插好74LS194集成块。 (2)将实验挂箱上+5V直流电源接40194的16脚,地接8脚。S1、S0、SL、SR、D0、D1、D2、D3分别接至逻辑电平开关的输出插口;Q0、Q1、Q2、Q3接至发光二极管。CP端接单次脉冲源。 (3)改变不同的输入状态,逐个送入单次脉冲,观察寄存器输出状态,记录之。 a)清除:令=0,其它输入均为任意态,这时寄存器输出Q0、 Q1、 Q2 、Q3应均为0。清除后,至=1。 b)送数:令=S1=S0=1 ,送入任意4位二进制数,如D0、D1、D2、D3=1010,加CP脉冲,观察CP=0、CP由1→0、CP=1三种情况下寄存器输出状态的变化,观察寄存输出状态变化是否发生在CP脉冲的上升沿。 (c)右移:清零后,令=1, S1=0 S0=1,由右移输入端S R送入二进制数码如0100,由CP端连续加4个脉冲,观察输出情况,记录之。 (d)左移:先清零或予至,再令=1 S1=1,S0=0,由左移输入端S L送入二进制数码

数字电路设计数字钟实验设计报告

数字钟实验设计报告 数字钟设计 一设计任务 1. 基本功能:以数字形式显示时、分、秒的时间,小时的计时要求为“ 24 翻 1 ”,分和秒的计时要求为60 进位; 2. 扩展功能:校时、正点报时及闹时功能; 二电路工作原理及分析 数字电子钟主要由以下几个部分组成:秒信号发生器,时、分、秒计数器,显示器,校时校分电路,报时电路。 2.1 数字钟的基本逻辑功能框图 图1 数字钟的基本逻辑功能框图 2.2 振荡器的设计 振荡器是数字钟的核心。振荡器的稳定度及频率的精确度决定了数字钟的准确程度。通常选用石英晶体构成振荡器电路。一般来说,振荡的频率越高,计时精度越高。如果精度要求不高则可以采用由集成逻辑门与R、C 组成的时钟源振荡器或集成电路计时器 555与R、C组成的多谐振荡器,电路参数如图2所示.接通电源后,电容C1被充电,当Vc上升到 2Vcc/3时,使vo为低电平,同时放电三极管T导通,此时电容C1通过R2和T放电,Vc下降。当Vc下降到Vcc/3时,vo翻转为高电平。电容C1放电所需时间为tpL=R2l n2 ?0.7R2C1当放电结束时,T截止,Vcc将通过R1、R2向电容器C1充电,一;Vc由Vcc/3上升到 2Vcc/3 所需的时间为 tpH=(R1+R2)C1ln2 ?0.7(R1+R2)C 当Vc 上升到2Vcc/3 时,电路又翻转为低电平。如此周而复始,于是,是在电路的输出端就得到一个周期性的矩形波。其振荡频率为 f=1/(tpL+tpH) ?1.43/[(R1+2R2)C] 振荡周期:T=T1+T2=(R1+2R2)C1In2 得 R1+2R2=T/C1In2=0.142k

移位寄存器实验报告

移位寄存器实验报告 姓名:陈素学号:3120100621 专业:软件工程课程名称:逻辑与计算机设计基础实验同组学生姓名:张闻 实验时间:y yyy-mm-dd 实验地点:紫金港东4-509 指导老师:一、实验目的和要求 掌握移位寄存器的工作原理及设计方法 掌握串、并数据转换的概念与方法 了解序列信号在CPU控制器设计中的应用 二、实验内容和原理 2.1 实验原理 带并行置入的移位寄存器 移位寄存器:每来一个时钟脉冲,寄存器中的数据按顺序向左或向右移动一位必须采用主从触发器或边沿触发器 不能采用电平触发器 数据移动方式:左移、右移 数据输入输出方式 串行输入,串行输出 串行输入,并行输出 并行输入,串行输出 串行输入的移位寄存器 使用D触发器,可构成串行输入的移位寄存器 2.2 标题 <正文>

带并行输入的右移移位寄存器 数据输入移位寄存器的方式:串行输入、并行输入 带并行输入的8位右移移位寄存器 module shift_reg(clk, S, s_in, p_in, Q); input wire clk, S, s_in; input wire [7:0] p_in; output wire [7:0] Q; wire [7:0] D; wire nS; FD FDQ0(.C(clk), .D(D[0]), .Q(Q[0])), FDQ1(.C(clk), .D(D[1]), .Q(Q[1])), FDQ2(.C(clk), .D(D[2]), .Q(Q[2])), FDQ3(.C(clk), .D(D[3]), .Q(Q[3])), FDQ4(.C(clk), .D(D[4]), .Q(Q[4])), FDQ5(.C(clk), .D(D[5]), .Q(Q[5])), FDQ6(.C(clk), .D(D[6]), .Q(Q[6])), FDQ7(.C(clk), .D(D[7]), .Q(Q[7])); OR2 D0_L(.I0(L_0), .I1(R_0), .O(D[0])), D1_L(.I0(L_1), .I1(R_1), .O(D[1])), D2_L(.I0(L_2), .I1(R_2), .O(D[2])), D3_L(.I0(L_3), .I1(R_3), .O(D[3])), D4_L(.I0(L_4), .I1(R_4), .O(D[4])), 串行输入 S

相关文档
相关文档 最新文档