搜档网
当前位置:搜档网 › 实验三 数据的输入输出

实验三 数据的输入输出

实验三  数据的输入输出
实验三  数据的输入输出

实验三数据的输入输出

一、实验目的

1.进一步熟悉VC环境的使用方法和C程序的编辑、编译、连接和运行的过程。

2.学习C语言基本的输入、输出语句,以及如何进行格式的控制。掌握常用的C语言语句,熟练应用赋值、输入、输出语句。

3.编写顺序结构程序并运行,了解如何去完成一个简单的C程序。

二、实验内容

题目1 阅读程序加注释,并给出运行结果

(1)已知三角形边长求面积。

请给出运行结果,并对每条程序加以注释。

#include

#include //头文件math.h中含函数sqrt()的定义

void main( )

{ double a,b,c,s,area;

a=3;

b=4;

c=5;

s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c)); //函数sqrt()用于求一个数的平方

printf("%4.1f, %4.1f, %4.1f,area is %4.2f\n",a,b,c,area);

}

运行结果:

(2)键入以下代码,观察输出结果。

#include

void main()

{ printf("This prints a character,%c\n a number,%d \n a float,\

%f\n",'z',123,456.789);

}

(提示:printf()函数占了两行,在第一行末尾使用了一个反斜杠(\)指出字符串将延续到下一行,因此编译器将把这两行代码视为一行)

运行结果:

(3)运行结果,并对每条程序加以注释。

#include

#include

main()

{ float a,b,c,disc,x1,x2,p,q;

scanf("a=%f,b=%f,c=%f",&a,&b,&c);

disc=b*b-4*a*c;

p=-b/(2*a); q=sqrt(disc)/(2*a);

x1=p+q; x2=p-q;

printf("\n\nx1=%5.2f\nx2=%5.2f\n",x1,x2);

}

输入:a=1,b=3,c=2

运行结果:

(4)观察以下代码的运行结果是否会显示在同一行?

#include

void main()

{

printf(“hello, ”);

printf(“world”);

}

运行结果:

(5)学习使用按位与& 运算。

程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1

#include

void main()

{

int a,b;

a=077;

b=a&3;

printf("\40: The a & b(decimal) is %d \n",b);

b&=7;

printf("\40: The a & b(decimal) is %d \n",b);

}

运行结果:

题目2 体验数据格式输入、输出的效果

分析以下程序,假设依据给定的内容输入,其输出会怎样?实际运行并按照要求输入,比较其输出结果与分析的结果是否一致。

(1)十、八、十六进制数的输入与输出

#include "stdio.h"

void main()

{

int a,b,c,d;

scanf("%d,%x,%o,%c",&a,&b,&c,&d);

printf("a=%d,b=%d,c=%d,d=%c\n",a,b,c,d);

}

输入:10,10,10,10?输出:

输入:10 10 10 10?输出:

正确否?为什么?

(2)控制字符与修饰符使用1

#include "stdio.h"

void main()

{

int a,d;

float b;

char c;

scanf("%2d%*2d%2f%2c%d",&a,&b,&c,&d);

printf("a=%d,b=%f,c=%c,d=%d\n",a,b,c,d);

}

输入:12345678900?输出:

输入:123456789m0?输出:

输入:12 34 56 78900 输出:

输入:1,23,456,7890 输出:

正确否?为什么?

输入:使用回车键输入,下列哪一组正确?为什么?

12↙12↙

34↙34↙

56↙5678900↙

78900↙

(3)格式字符与修饰符使用2

#include

void main( )

{

int a=1234;

float f=123.456;

char c[]="Hello,world!";

printf("%8d,%-8d\n",a,a);

printf("%10.2f,%-10.1f\n",f,f);

printf("%10.5s,%-10.3s\n",c,c);

printf("%08d\n",a);

printf("%010.2f\n",f);

printf("%0+8d\n",a);

printf("%0+10.2f\n",f);

}

(4)getchar与putchar的使用

#include

void main()

{ char c1,c2; /*思考:此处能否为int型*/ c1=getchar();

c2=getchar();

putchar(c1);

putchar(c2);

putchar('\n');

printf("c1=%d,c2=%d\n",c1,c2);

printf("c1=%c,c2=%c\n",c1,c2);

}

输入:B1?输出:

说明每输出项的含义?

输入:B?输出:

说明每输出项的含义?

题目3 在程序的空白处填入正确的语句

程序填空,使得程序能正常执行并完成规定的功能。

(1)以下程序的功能是从键盘上输入一个整型数,一个实型数和一个字符型数,并把它们在屏幕上输出,完成以下填空,并把程序调通,写出运行结果。

#include "stdio.h"

void main()

{

int a;float b;char c;

scanf("%d,%f,%c", ①);

printf("a= ②\n",a);

printf("b= ③\n",b);

printf("c= ④\n",c);

}

(2)下列程序的功能为:判断从键盘上输入的一个字符,并按下列要求输出。

若该字符是数字输出字符串"0-9"

若该字符是大写字母输出字符串"A-Z"

若该字符是小写字母输出字符串"a-z"

若该字符是其他字符输出字符串"!,@,…"

#include

void main()

{ char c;

scanf( ①);

if('0'<=c&&c<='9') //关系表达式判“若该字符是数字”

printf("0-9\n");

else if( ②) //关系表达式判“若该字符是大写字母”

printf( ③); //输出字符串"A-Z"

else if ( ④) //关系表达式判“若该字符是小写字母”

printf(" ⑤");//输出字符串"a-z"

else printf("!,@,…\n");

}

题目4 按格式要求输入/输出数据

#include "stdio.h"

void main()

{

int a,b;

float x,y;

char c1,c2;

scanf(“a=%d,b=%d”,&a,&b);

//注意在键盘上输入数据的格式必须和scanf中的格式一致

scanf(“%f, %e”,&x,&y);

scanf(“&c &c”,&c1,&c2);

//注意在键盘上输入数据的格式必须和scanf中的格式一致

printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n”,a,b,x,y,c1,c2);

}

调试该程序,如有语法错误,给出修改。无语法错误后,运行该程序,按如下方式在键盘上输入数据

a=3,b=7 ↙

8.5,71.82 ↙

a,A ↙

写出输出结果,并对结果进行分析。

把以上程序进行修改为以下程序:

#include "stdio.h"

void main()

{

int a,b;

float x,y;

char c1,c2;

scanf(“a=%5d,b=%3d”,&a,&b);

scanf(“%f, %e”,&x,&y);

c1=getchar();

c2=getchar();

printf(“a=%6d,b=%d,x=%2.3f,y=%f \n”,a,b,x,y);

putchar(c1);

putchar(c2);

}

调试该程序,如有语法错误,给出修改。无语法错误后,运行该程序,按如下方式在键盘上输入数据:

a= 3,b= 7 ↙

8.5,71.82 ↙

a,A ↙

仔细分析结果,最终能得到什么结论。分析使用getchar和scanf的区别和联系,putchar 和printf的区别和联系。

题目5 纠正程序中存在错误

下列程序的功能为:输入1个字母后,输出该字母的前序字母、该字母、该字母的后序字母,例如:输入g,则输出FGH;输入a,则输出ZAB;输入M,则输出LMN;输入Z,则输出YZA。

#include

void main()

{ char ch,c1,c2;

printf("Enter a character:");

getchar(); //①

if((ch>='a')||(ch<='z')) //②

ch-=32;

c1=ch-1;

c2=ch+1;

if(ch='A') c1=ch+25; //③

else if(ch='Z') c2=ch-25; //④

putchar(c1);

putchar(ch);

putchar(c2);

putchar('\n');

}

题目6 编写一个实现如下菜单样式程序

Menu

===================================

1. Input the students’ names and scores

2. Search scores of some students

3. Modify scores of some students

4. List all students’ scores

5. Quit the system

===================================

Please input your choise (1-5):

提示算法:使用printf语句将菜单样式进行输出。

题目7 自加、自减运算符以及printf的输出顺序问题

仔细分析下列程序,写出运行结果,再输入到计算机运行,将得到的结果与你分析所得到的结果进行比较对照。

#include

void main()

{

int i , j , m=0 , n=0 ;

i=6;

j=9;

m+= i ++;

n -= --j;

printf(“i=%d,j=%d,m=%d,n=%d”,i,j,m,n);

}

再将printf语句改为:

printf("%d,%d,%d,%d",i,j,i++,j++);

给出输出结果。

三、思考题

1.分析输入和输出函数中的格式转换符有什么区别?

2. 根据上面的上机练习,总结出scanf()函数在输入数据时,要注意哪些问题?

数据库实验3报告

实验三数据更新、视图、权限管理 实验3.1 数据更新 1 实验内容 (1) 使用INSERT INTO语句插入数据,包括插入一个元组或将子查询的结果插入到数据库中两种方式。 (2) 使用SELECT INTO语句,产生一个新表并插入数据。 (3) 使用UPDATE语句可以修改制定表中满足WHERE子句条件的元组,有三种修改的方式:修改某个元组的值;修改多个元组的值;带子查询的修改语句。 (4) 使用DELETE语句删除数据:删除某一个元组的值;删除多个元组的值;带子查询的删除语句。 2 实验步骤 在数据库School上按下列要求进行数据更新 可在SQL代码前加下面两句SQL语句,用于确保当前使用的是School数据库 Use School go (1)使用SQL语句向STUDENTS表中插入元组(编号:12345678 名字:LiMing EMAIL: LM@https://www.sodocs.net/doc/ce10139071.html,年级:2002)。 Insert into STUDENTS values('12345678','LiMing','LM@https://www.sodocs.net/doc/ce10139071.html,','2002') (2)对每个课程,求学生的选课人数和学生的最高成绩,并把结果存入数据库。使用SELECT INTO和INSERT INTO两种方法实现。 Insert into: create table Courses_maxScore(cid char(20),Count_courses int,maxScore int) insert into Courses_maxScore (cid,Count_courses,maxScore) select cid,count(*)as Count_courses,max(score)as maxScore from CHOICES group by cid select*from Courses_maxScore

实验三 数据通路组成实验(计算机组成与结构)

实验三数据通路组成实验 一实验目的 1.进一步熟悉计算机的数据通路 2.将双端口通用寄存器堆和双端口存储器模块连接,构成新的数据通路 3.掌握数字逻辑电路中的一般规律,以及排除故障的一般原则和方法 4.锻炼分析问题和解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障. 二实验电路 数据通路实验电路图如图所示。它是将双端口存储器模块和双端口通用寄存器堆模块连接在一起形成的。存储器的指令端口(右端口)不参与本次实验。通用寄存器堆连接运算器模块,本次实验涉及其中的DRl。

由于双端口存储器是三态输出,因而可以直接连接到DBUS上。此外,DBUS还连接着通用寄存器堆。这样,写入存储器的数据由通用寄存器提供,从RAM中读出的数据也可以放到通用寄存器堆中保存。 本实验的各模块在以前的实验中都已介绍,请参阅前面相关章节。注意实验中的控制信号与模拟它们的二进制开关的连接。 三、实验设备 1. TEC-5计算机组成原理实验系统1台 2.逻辑测试笔一支(在TEC-5实验台上) 3.双踪示波器一台(公用) 4.万用表一只(公用) 四、实验任务 1.将实验电路与控制台的有关信号进行连接。 2.用8位数据开关SW7-SW0向RF中的四个通用寄存器分别置入以下数 据:R0=OFH,R1=0F0H,R2=55H,R3=0AAH. 3.用8位数据开关向AR送入地址0FH,然后将R0中的数据0FH写入双端口存储器中.用同样的方法,依次将R1,R2,R3中的数据分别置入RAM的0F0H,55H,0AAH单元. 4.分别将RAM的0AAH单元数据写入R0,55H单元数据写入R1,0F0H单元数据写入 R2,0FH单元数据写入R3.然后将R0-R3中的数据读出,验证数据的正确性,并记录数据. 五、实验要求 1.做好实验预习,掌握实验电路的数据通路特点和通用寄存器堆的功能特性和使用方法。 2.写出实验报告,内容是: (1)实验目的。 (2)写出详细的实验步骤、记录实验数据及校验结果。 (3)其他值得讨论的问题。 六、实验步骤及结果 任务1:接线

实验3-组合逻辑电路数据选择器实验

南通大学计算机科学与技术学院计算机数字逻辑设计 实验报告书 实验名组合逻辑电路数据选择器实验 班级_____计嵌151_______________ 姓名_____张耀_____________________ 指导教师顾晖 日期 2016-11-03

目录 实验一组合逻辑电路数据选择器实验 (1) 1.实验目的 (1) 2.实验用器件和仪表 (1) 3.实验内容 (1) 4.电路原理图 (1) 5.实验过程及数据记录 (2) 6.实验数据分析与小结 (9) 7.实验心得体会 (9)

实验三组合逻辑电路数据选择器实验 1 实验目的 1. 熟悉集成数据选择器的逻辑功能及测试方法。 2. 学会用集成数据选择器进行逻辑设计。 2 实验用器件和仪表 1、8 选 1 数据选择器 74HC251 1 片 3 实验内容 1、基本组合逻辑电路的搭建与测量 2、数据选择器的使用 3、利用两个 74HC251 芯片(或 74HC151 芯片)和其他辅助元件,设计搭建 16 路选 1 的电路。 4 电路原理图 1、基本组合逻辑电路的搭建与测量 2、数据选择器的使用

3、利用两个 74HC251 芯片(或 74HC151 芯片)和其他辅助元件,设计搭建 16 路选 1 的 电路。 5 实验过程及数据记录 1、基本组合逻辑电路的搭建与测量 用 2 片 74LS00 组成图 3.1 所示逻辑电路。为便于接线和检查,在图中要注明芯片编号及各引脚对应的编号。

图 3.1 组合逻辑电路 (2)先按图 3.1 写出 Y1、Y2 的逻辑表达式并化简。 Y1==A·B ·A =A + A·B=A + B Y2=B·C ·B·A = A · B+ B ·C (3)图中 A、B、C 接逻辑开关,Y1,Y2 接发光管或逻辑终端电平显示。(4)改变 A、B、C 输入的状态,观测并填表写出 Y1,Y2 的输出状态。 表 3.1 组合电路记录

实验三:数据查询实验

实验三:数据查询实验 一、实验目的 了解在企业管理器或查询分析器中执行数据查询的方法;掌握SQL Server Query Analyzer中简单查询、连接查询、嵌套查询操作方法。 二、实验内容 1、使用企业管理器进行查询(验证性,了解部分) (1)查询数据表的全部数据 在企业管理器中,选择需要查询数据的表,用鼠标右键单击该表,从弹出的快捷菜单中选择“打开表”命令,这时将显示该表的全部数据。 (2)使用SELECT语句查询数据表的数据 在企业管理器中,选择需要查询数据的表,用鼠标右键单击该表,从弹出的快捷菜单中选择“打开表”命令,在打开返回表内容的子窗口中,单击工具栏按钮“显示/隐藏SQL窗格”,把子窗口分为上下两部分,上面部分能输入不同的SQL命令。执行时单击工具栏按钮“运行”即可。 (3)学习和使用QBE查询 在企业管理器中,选择需要查询数据的表,用鼠标右键单击该表,从弹出的快捷菜单中选择“打开表”命令,在打开返回表内容的子窗口中,单击工具栏按钮“显示/隐藏条件窗格”,把子窗口分为上下两部分,上面部分能选择QBE查询条件,执行时单击工具栏按钮“运行”即可。若单击工具栏按钮“显示/隐藏SQL窗格”,则在SQL窗格中会显示自动生成的对应SQL语句。 2、使用查询分析器进行查询(验证性) (1)查询Student表中所有学生的学号、姓名和性别。 SELECT Sno, Sname, Ssex FROM Student (2)可以用“*”来选取数据表的全部列 例如:查询Student表中所有学生的基本情况。 SELECT * FROM Student (3)在查询结果中增加计算列,还可修改数据列的显示名称。 例如:查询Student表中所有学生的学号、姓名、性别和出生年份。 SELECT Sno 学号, Sname 姓名, Ssex 性别, Year(GetDate()) - Sage 出生年份 FROM Student (4)使用WHERE子句,可以选择满足条件的部分记录 例如:查询成绩在85~90分之间的学生情况。

非常简单CPU数据通路设计实验报告

非常简单CPU数据通路设计 【实验目的】 1.掌握CPU的设计步骤 2.学会芯片的运用及其功能 【实验环境】 Maxplus2环境下实现非常简单CPU数据通路的设计 【实验内容】 绘制非常简单CPU的寄存器:一个8位累加器AC,一个6位的地址寄存器AR,一个6位的程序计数器PC,一个8位的数据寄存器DR,一个2位的指令寄存器IR。其数据通路详见教材P。 1、零件制作 6位寄存器(自行设计) 6位计数器(自行设计) 8位寄存器(可选择74系列宏函数74273) 8位计数器(由两个74161构成) 2位寄存器(由D触发器构成,自行设计) 6三态缓冲器(自行设计,可由74244内部逻辑修改而成) 8三态缓冲器(选择74系列宏函数74244,或作修改) alu模块(自行设计,限于时间,其内部逻辑不作要求) 2、选择器件,加入数据通路顶层图 8位累加器AC:选择8位计数器 6位地址寄存器AR:reg6 6位的程序计数器PC:cou6 8位的数据寄存器DR:选择8位寄存器 2位的指令寄存器IR:选择2位寄存器 3、为PC、DR加入三态缓冲器。 4、调整版面大小,器件位置。 5、设计地址引脚、数据引脚、8位内部总线,加入数据引脚到内部总线的 缓冲器。 6、连接各器件之间以及到内部总线的线路,设计并标注各控制信号。 7、(选做)编译之后,给出微操作AR<-PC 的测试方法及仿真结果。 8、实验报告中应给出各元部件的实现方法、内部逻辑贴图、打包符号说 明及顶层的“非常简单CPU”数据通路图。 实验报告 一、实验步骤 基于前面非常简单CPU的讲解,我掌握了非常简单CPU的指令集结构及非常简单CPU的指令读取过程和执行过程,本次实验是在上次实验的基础之上完成非常简单CPU数据通路的设计,其步骤如下: (1)、AC累加器原理图如下:

数字电路实验报告——数据选择器

第八次实验报告 实验六 数据选择器 一、实验目的要求 1、 熟悉中规模集成电路数据选择器的工作原理与逻辑功能 2、 掌握数据选择器的应用 二、实验仪器、设备 直流稳压电源、电子电路调试器、T4153、CC4011 三、实验线路、原理框图 (一)数据选择器的基本原理 数据选择器是常用的组合逻辑部件之一,它有若干个输入端,若干个控制输入端及一个输出端。 数据选择器的地址变量一般的选择方式是: (1) 选用逻辑表达式各乘积项中出现次数最多的变量(包括原变量与反变量),以简 化数据输入端的附加电路。 (2) 选择一组具有一定物理意义的量。 (二)T4153的逻辑符号、逻辑功能及管脚排列图 (1)T4153是一个双4选1数据选择器,其逻辑符号如图1: 图1 (2) T4153的功能表如下表 其中D0、D1、D2、D3为4个数据输入端;Y 为输出端;S 是使能端,在S 是使能端,在 原SJ 符号

S =0时使能,在S =1时Y=0;A1、A0是器件中两个选择器公用的地址输入端。该器件的 逻辑表达式为: Y=S (1A 0A 0D +101D A A +201D A A +301A A A ) (3) T4153的管脚排列图如图2 图2 (三)利用T4153四选一数据选择器设计一个一位二进制全减器的实验原理和实验线路 (1)一位二进制全减器的逻辑功能表见下表: n D =n A n B 1-n C +n A n B 1-n C +n A n B 1-n C +n A n B 1-n C n C =n A n B 1-n C +n A n B 1-n C +n A n B 1-n C +n A n B 1-n C =n A n B 1-n C +n A n B +n A n B 1-n C (3)根据全减器的逻辑功能表设计出的实验线路图为图3: S 11D 3 1D 2 1D 1 1D 0 1Y

实验三 数据保护

实验三数据保护 一、实验目的和要求 1.掌握简单数据库备份与还原; 2.掌握SQL的用户、角色和权限控制; 3.掌握SQL的完整性约束 二、实验内容 1、数据库还原 操作步骤: ①在“对象资源管理器”中右键单击“数据库”节点并在弹出菜单中选择“还原数据库” ②在“还原数据库”窗口中设置数据库的名称。 ③下一步,指定还原的源。此处,选择“源设备”。

2、创建登录用户 a)使用对象资源管理器创建通过SQL Server身份验证模式的登录,其中登录名为 Login01,密码为passwd01,默认数据库为CAP,其他保持默认值。 提示:进入对象资源管理器,展开“服务器”→“安全性”→“登录名”,右击“登录名” 项,在弹出的菜单中选择“新建登录名”选项。

b)使用系统存储过程sp_addlogin创建登录,其登录名称为Login03密码为passwd03, 默认数据库为CAP。在SQL编辑器窗口中输入和执行语句,并在对象资源管理器 中显示结果。 EXEC sp_addlogin'login03','passwd03','CAP' c)使用对象资源管理器删除登录用户Login01和Login02。 提示:进入对象资源管理器,展开“服务器”→“安全性”→“登录名”,右击欲删除的 登录帐号,在出现的快捷菜单中单击“删除” d)使用系统存储过程sp_droplogin从SQL Server中删除登录用户Login03。在SQL 编辑器窗口中输入和执行语句,并在对象资源管理器中显示结果。 EXEC sp_droplogin'login03' 3、创建和管理数据库用户 e)创建登录名为u01、密码为passwd01、默认数据库为CAP并能连接到CAP数据 库的用户。 EXEC sp_addlogin'u01','passwd01','CAP' USE CAP EXEC sp_grantdbaccess'u01','u01' f)创建一个新用户U02。

数据通路实验报告

非常简单CPU数据通路设计实验报告非常简单CPU数据通路设计【实验目的】 1. 掌握CPU的设计步骤 2. 学会芯片的运用及其功能 【实验环境】 Maxplus2环境下实现非常简单CPU数据通路的设计 【实验内容】 非常简单CPU的寄存器:一个8位累加器AC,一个6位的地址寄存器绘制 AR,一个6位的程序计数器PC,一个8位的数据寄存器DR,一个2位的指令寄存器IR。其数据通路详见教材P。 1、零件制作 6位寄存器 (自行设计) 6位计数器 (自行设计) 8位寄存器 (可选择74系列宏函数74273) 8位计数器 (由两个74161构成) 2位寄存器 (由D触发器构成,自行设计) 6三态缓冲器 (自行设计,可由74244内部逻辑修改而成) 8三态缓冲器 (选择74系列宏函数74244,或作修改) alu模块 (自行设计,限于时间,其内部逻辑不作要求) 2、选择器件,加入数据通路顶层图 8位累加器AC:选择8位计数器 6位地址寄存器AR:reg6 6位的程序计数器PC:cou6

8位的数据寄存器DR:选择8位寄存器 2位的指令寄存器IR:选择2位寄存器 3、为PC、DR加入三态缓冲器。 4、调整版面大小,器件位置。 5、设计地址引脚、数据引脚、8位内部总线,加入数据引脚到内部总线的 缓冲器。 6、连接各器件之间以及到内部总线的线路,设计并标注各控制信号。 7、(选做)编译之后,给出微操作 AR<-PC 的测试方法及仿真结果。 8、实验报告中应给出各元部件的实现方法、内部逻辑贴图、打包符号说 明及顶层的“非常简单CPU”数据通路图。 实验报告 一、实验步骤 基于前面非常简单CPU的讲解,我掌握了非常简单CPU的指令集结构及非常简单CPU的指令读取过程和执行过程,本次实验是在上次实验的基础之上完成非常简单CPU数据通路的设计,其步骤如下: (1)、AC累加器原理图如下:

实验三_数据选择器

深圳大学实验报告 课程名称数字电路与逻辑设计 实验名称数据选择器 学院信息工程学院 专业 指导教师周小安 报告人李城权学号 2015130156 实验时间 2016-10-26 提交时间 2016-11-9 教务处制

一、实验目的与要求 1.了解和正确使用MSI组合逻辑部件; 2.掌握一般组合逻辑电路的特点及分析、设计方法; 3.学会对所设计的电路进行静态功能测试的方法; 4.观察组合逻辑电路的竞争冒险现象。 二、实验内容与方法 数据选择器是常用的组合逻辑电路之一。它有若干个数据输入端,若干个数据控制端和一个输出端。在控制输入端加上适当的信号,即可从多个数据输入源中将所需要的数据信号选择出来,送到输出端。使用时也可以在控制输入端加上一组二进制编码器程序的信号,使电路按要求输出一串信号,所以它也是一钟可编程序的逻辑部件,也可以用来构造逻辑函数发生器。 如74LS153的逻辑表达式为 Y=A A D+A A D+A A D+A A D 1010 00112103 所以任意给定的三输入变量的逻辑函数军可用4选1数据选择器来实现。 用数据选择器实现单输出函数的方法主要有比较法和图表法。 比较法设计步骤如下: (1)选择接到数据选择端的函数变量。 (2)写出数据选择器输出的逻辑表达式。 (3)将要实现的逻辑函数转换为标准与或表达式。 (4)对照数据选择器输出表达式和待实现函数的表达式,确定数据输入端的值。 (5)连接电路。 图表法设计步骤如下: (1)选择接到数据选择端的函数变量。 (2)画出逻辑函数和数据选择器的真值表。 (3)确定各个数据输入端的值。 (4)连接电路。 三、实验步骤与过程 实验仪器: (1)RXB-1B数字电路实验箱; (2)集成电路74LS00(四2输入与非门)1片、74LS153(双4选1数据选择器)1片。

数字电路实验二

实验2 数据选择器功能测试及设计应用 王玉通信工程 2012117266 一、实验目的 1.掌握中规模集成数据选择器的逻辑功能及测试方法。 2.掌握数据选择器的工作原理及使用方法。 二、实验仪器设备与主要器件 试验箱一个;双踪示波器一台;稳压电源一台。 双4选1数据选择器74LS153;8选1数据选择器74LS151和75LS251. 三、实验原理 能够实现从多路数据中选择一路进行传输的电路叫做数据选择器。数据选择器又称多路选择器,是中规模集成电路中应用非常广泛的组合逻辑部件之一。它是一种与分配器过程相反的器件。它有若干个数据输入端,D0,D1,D2,……,若干个控制输入端A0,A1……和一个或两个输出端Q(或Q非)。当控制输入码A0,A1……具有不同数据组合时,将选择组合码所对应的二进制数Dx输出。由于控制输入端的作用是选择数据输入端的地址,故又称为地址码输入端。 目前常用的数据选择器有2选1、4选1、8选1等多种类型。本实验主要熟悉4选1和8选1数据选择器。 四、实验内容与结果 1.测试74LS153的逻辑功能。 电路如下图: 测试结果为: A0 A1 s1s2Q1 Q2 * * 1 1 0 0 0 0 0 0 1D0 2D0 0 1 0 0 1D1 2D1 1 0 0 0 1D 2 2D2 1 1 0 0 1D3 2D3 2.用多路选择器设计实现一个8421-CD非法码检测电路。使得当输入端为非法码组合时输出1,否则为0.二进制数与BCD码的对应关系如下。写出函数Y的表达式,并进行化简,然后画出电路图,接线调试电路,用发光二极管显示输出结果,观察是否与表2-2-5相符。设

实验三 用户数据资料

实验三用户数据 一、目的 学习完本节,你将能掌握: 1.如何放号 2.如何进行号码分析 3.如何修改用户属性 4.如何进行用户线改号和用户号改线 二、准备工作 5.完成了系统的物理配置 6.掌握了号码分析在交换机系统中的作用 ZXJ10交换机的一个重要功能就是网络寻址,电话网中用户网络的地址就是电话号码。号码分析主要用来确定某个号码流对应网络寻址和业务处理方式。 ZXJ10交换机系统提供7种号码分析器:新业务号码分析器、CENTREX号码分析器、专网分析器、特服号码分析器、本地网号码分析器、国内长途业务号码分析器和国际长途业务号码分析器。 对于某一指定的号码分析选择子,号码按固定的顺序经过选择子规定的各种分析器。各种分析器严格按照顺序进行号码分析。 7.已做好数据备份。方法如下: 选择数据管理/数据备份/数据备份,进入数据备份与恢复页面,可进行备份与恢复。平常用得比较多的备份方式是“生成备份数据库的SQL文件”,即将数据库中的表备份成数据库文件*.SQL,存放在硬盘上的指定目录下:和“从SQL文件中恢复备份的数据库”,是“生成备份数据库的SQL文件”的逆过程,即将硬盘上某个目录下的数据库备份文件*.SQL倒回到数据库里,覆盖数据库中原有的表。 三、步骤 1.号码管理 选择数据管理/基本数据管理/号码管理/号码管理菜单,在号码管理截面中首先进入局号和百号组子页面。 1)增加局号 选择“网络类型”,一般为公众电信网;点击增加局号钮,进入增加局号窗口, 键入“局号索引”,一般从1开始编号; “局号(PQR)”,即局码,如可设为666;和 “号码长度”,一般为7或8,表示本局号码流长为7位或8位。 “描述”没有实际意义,为方便记忆。 点击确定钮,回到号码管理界面。则“局号属性”框中显示出刚刚创建的局号属性。 2)分配百号 点击分配百号钮,进入分配百号组窗口,选择刚才创建的“局号”666和“模块号”2,则左侧“可以分配的百号组:”框中列示出该局号可分配的若干百号组。以转移键将其中的一个百号组如00转移到右侧“可以释放的百号组:”框中。点击返回钮回到号码管理界面。选中“局号属性:”中的一项,则对应的百号组信息在“百号组:”框中列示出来。 注意此时该百号组的“使用情况”为空闲。 3)放号 在号码管理界面中进入用户号码子页面,点击放号钮,进入号码分配窗口。在“号码范围:”域选择“局号”如666,“百号”如00,则“可用的号码:”框中列示出该6660000

计算机组成原理实验-数据通路实验

Guangzhou Colle-ge of South China University of Technology 计算机组成原理课程实验报告 9.5数据通路实验 姓名:曾国江______________________ 学号:____________________________ 系别:计算机工程学院 班级:网络工程1班 指导老师:_________________________ 完成时间:_________________________ 评语: 得分:

一、实验类型 本实验类型为验证型+分析型+设计型 二、实验目的 1?进一步熟悉计算机的数据通路 2.将双端口通用寄存器堆和双端口存储器模块连接,构成新的数据通路. 3.掌握数字逻辑电路中的一般规律,以及排除故障的一般原则和方法. 4.锻炼分析问题和解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障? 三、实验设备 1、TEC-5实验系统一台 2、双踪示波器一台 3、逻辑测试笔一支 、实验电路 DBUS7 DBUSO 左端口 > 1JWK273) H3F2HTQ Cn*4 Al JU <181 CnN 戍蜩口通用寄"器那RF CispLSI10165 -一耐'1 2 ARM — T2 —- 双堵口存储器 IDT7132

数据通路实验电路图如图9.7 所示。它是将双端口存储器模块和双端口通用寄存器堆模块连接在一起形成的。存储器的指令端口(右端口)不参与本次实验。通用寄存器堆连接运算器模块,本次实验涉及其中的DRl 。由于双端口存储器是三态输出,因而可以直接连接到DBUS 上。此外,DBUS 还连接着通用寄存器堆。这样,写入存储器的数据由通用寄存器提供,从RAM 中读出的数据也可以放到通用寄存器堆中保存。本实验的各模块在以前的实验中都已介绍,请参阅前面相关章节。注意实验中的控制信号与模拟它们的开关K0~K15 的连接。 五、实验任务 1、将实验电路与控制台的有关信号进行连接。 2、用8位数据开关SW7-SW0向RF中的四个通用寄存器分别置入以下数据:RO=OFH, R1=0F0H, R2=55H,R3=0AAH。 3、用8位数据开关向AR送入地址OFH,然后将R0中的数据OFH写入双端口存储器中. 用同样的方法依次将R1,R2,R3中的数据分别置入RAM的0F0H,55H,0AAH单元. 4、分别将RAM 的0AAH 单元数据写入R0,55H 单元数据写入R1,0F0H 单元数据写入R2,0FH单元数据写入R3然后将R0-R3中的数据读出,验证数据的正确性,并记录数据? 六、实验要求 1、做好实验预习,掌握实验电路的数据通路特点和通用寄存器堆的功能特性和使用方法。 2、写出实验报告,内容是: (1)实验目的。 (2)写出详细的实验步骤、记录实验数据及校验结果。 (3)其他值得讨论的问题。

实验二 数据选择器及其应用

实验二数据选择器及其应用 一、实验原理 数据选择器又叫“多路开关”。数据选择器在地址码(或叫选择控制)电位控制下,从几个数据输入中选择一个并将其送到一个公共的输出端。数据选择器又叫“多路开关”。数据选择器在地址码(或叫选择控制)电位的控制下,从几个数据输入中选择一个并将其送到一个公共的输出端。数据选择器的功能类似一个多掷开关,如图4-1所示,图中有四路数据D0~D3,通过选择控制信号A1、A0(地址码)从四路数据中选中某一路数据送至输出端Q。 图4-1 4选1数据选择器示意图图4-2 74LS151引脚排列 数据选择器为目前逻辑设计中应用十分广泛的逻辑部件,它有2选1、4选1、8选1、16选1等类别。 数据选择器的电路结构一般由与或门阵列组成,也有用传输门开关和门电路混合而成的。

二、实验目的 1、掌握中规模集成数据选择器的逻辑功能及使用方法; 2、学习用数据选择器构成组合逻辑电路的方法。 三、实验设备与器件 1、+5V直流电源 2、逻辑电平开关 3、逻辑电平显示器 4、74LS151(或CC4512) 74LS153(或CC4539) 四、实验内容 1、测试数据选择器74LS151的逻辑功能。 接图4-7接线,地址端A2、A1、A0、数据端D0~D7、使能端S接逻辑开关,输出端Q接逻辑电平显示器,按74LS151功能表逐项进行测试,记录测试结果。 图4-7 74LS151逻辑功能测试

2、测试74LS153的逻辑功能。 测试方法及步骤同上,记录之。 逻辑功能见下表: 3、用8选1数据选择器74LS151设计三输入多数表决电路。 1)写出设计过程 有三个人进行表决,当其中任意两个人赞同时,输出为真,否则输出为假。真值表如下:

实验三 数据通路(总线)实验

实验三数据通路(总线)实验 一、实验目的 (1)将双端口通用寄存器堆和双端口存储器模块联机; (2)进一步熟悉计算机的数据通路; (3)掌握数字逻辑电路中故障的一般规律,以及排除故障的一般原则和方法; (4)锻炼分析问题与解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。 二、实验电路 图8示出了数据通路实验电路图,它是将双端口存储器实验模块和一个双端口通用寄存器堆模块(RF)连接在一起形成的。双端口存储器的指令端口不参与本次实验。通用寄存器堆连接运算器模块,本实验涉及其中的操作数寄存器DR2。 由于双端口存储器RAM是三态输出,因而可以将它直接连接到数据总线DBUS上。此外,DBUS上还连接着双端口通用寄存器堆。这样,写入存储器的数据可由通用寄存器提供,而从存储器RAM读出的数据也可送到通用寄存器堆保存。 双端口存储器RAM已在存储器原理实验中做过介绍,DR2运算器实验中使用过。通用寄存器堆RF(U32)由一个ISP1016实现,功能上与两个4位的 MC14580并联构成的寄存器堆类似。RF内含四个8位的通用寄存器R0、RI、R2、R3,带有一个写入端口和两个输出端口,从而可以同时写入一路数据,读出两路数据。写入端口取名为WR端口,连接一个8位的暂存寄存器(U14)ER,这是一个74HC374。输出端口取名为RS端口(B端口)、RD端口(A端口),连接运算器模块的两个操作数寄存器DR1、DR2。RS端口(B端口)的数据输出还可通过一个8位的三态门RS0(U15)直接向DBUS输出。 双端口通用寄存器堆模块的控制信号中,RS1、RS0用于选择从RS端口(B 端口)读出的通用寄存器,RD1、RD0用于选择从RD端口(A端口)读出的通用寄存器。而WR1、WR0则用于选择从WR端口写入的通用寄存器。WRD是写入控制信号,当WRD=1时,在T2上升沿的时刻,将暂存寄存器ER中的数据写入通用寄存器堆中由WR1、WR0选中的寄存器;当WRD=0时,ER中的数据不写入通用寄存器中。LDER信号控制ER从DBUS写入数据,当LDER=1时,在T4的上升沿,DBUS上的数据写入ER。RS_BUS#信号则控制RS端口到DBUS的输出三态门,是一个低电平有效信号。以上控制信号各自连接一个二进制开关K0—Kl5。

计算机组成原理实验

计算机组成原理上机实验指导

一、实验准备和实验注意事项 1.本课程实验使用专门的TDN-CM++计算机组成原理教学实验设备,使用前后均应仔细检查主机板,防止导线、元件等物品落入装置导致线路短路、元件损坏。 2.完成本实验的方法是先找到实验板上相应的丝印字及其对应的引出排针,将排针用电缆线连接起来,连接时要注意电缆线的方向,不能反向连接;如果实验装置中引出排针上已表明两针相连,表明两根引出线部已经连接起来,此时可以只使用一根线连接。 3.为了弄清计算机各部件的工作原理,前面几个实验的控制信号由开关单元“SWITCH UNIT”模拟输入;只有在模型机实验中才真正由控制器对指令译码产生控制信号。在每个实验开始时需将所有的开关置为初始状态“1”。 4.本实验装置的发光二极管的指示灯亮时表示信号为“0”,灯灭时表示信号为“1”。 5.实验接线图中带有圆圈的连线为实验中要接的线。 6.电源关闭后,不能立即重新开启,关闭与重启之间至少应有30秒间隔。 7.电源线应放置在机专用线盒中。 8.保证设备的整洁。

二、实验设备的数据通路结构 利用本实验装置构造的模型机的数据通路结构框图如下图。其中各单元部已经连接好,单元之间可能已经连接好,其它一些单元之间的连线需要根据实验目的用排线连接。 图0-2 模型机数据通路结构框图

实验一运算器实验:算术逻辑运算实验 一.实验目的 1.了解运算器的组成结构; 2.掌握运算器的工作原理; 3.掌握简单运算器的数据传送通路。 4.验证运算功能发生器(74LSl81)的组合功能。 二.实验设备 TDN-CM++计算机组成原理教学实验系统一台,排线若干。 三.实验原理 实验中所用的运算器数据通路如图1-l所示。其中两片74LSl81以串行方式构成8位字长的ALU,ALU的输出经过一个三态门(74LS245)和数据总线相连。三态门由ALU-B控制,控制运算器运算的结果能否送往总线,低电平有效。 为实现双操作数的运算,ALU的两个数据输入端分别由二个锁存器DR1、DR2(由74LS273实现)锁存数据。要将数据总线上的数据锁存到DR1、DR2中,锁存器的控制端LDDR1和LDDR2必须为高电平,同时由T4脉冲到来。 数据开关(“INPUT DEVICE”)用来给出参与运算的数据,经过三态门(74LS245)后送入数据总线,三态门由SW-B控制,低电平有效。数据显示灯(“BUS UNIT”)已和数据总线相连,用来显示数据总线上的容。 图中已将用户需要连接的控制信号用圆圈标明(其他实验相同,不再说明),其中除T4为脉冲信号外,其它均为电平信号。由于实验电路中的时序信号均已连至“W/R UNIT”的相应时序信号引出端,因此,在进行实验时,只需将“W/R UNIT”的T4接至“STATE UNIT”的微动开关KK2的输出端,按动微动开关,即可获得实验所需的单脉冲。 ALU运算所需的电平控制信号S3、S2、S1、S0、Cn、M、LDDR1、LDDR2、ALU-B、SW-B均由“SWITCH UNIT”中的二进制数据开关来模拟,其中Cn、ALU-B、SW-B为低电平有效,LDDRl、LDDR2为高电平有效。 对单总线数据通路,需要分时共享总线,每一时刻只能由一组数据送往总线。

实验三选数据选择器实验报告

实验三选数据选择器实 验报告 集团公司文件内部编码:(TTT-UUTT-MMYB-URTTY-ITTLTY-

实验三、八选一数据选择器 一、实验目的: 1.熟悉Quartus II6.0软件的使用和FPGA设计流程 2.用VHDL语言进行八选一数据选择器的设计 二、实验步骤: 一.建立文件夹:在D盘“xingming”的文件夹下建立一个名为“choice8”的文件夹。 二.建立新工程 1.双击桌面上Quartus II6.0 的图标,启动该软件。 2.通过File => New Project Wizard… 菜单命令启动新项目向导。在 随后弹出的对话框上点击Next按钮,在 What is the working directory for this project 栏目中设定新项目所使用的路径:D:\xingming\choice8;在 What is the name of this project 栏目中输入新项目的名字:choice8,点击 Next 按钮。在下一个出现的对话框中继续点击Next,跳过这步。 3.为本项目指定目标器件:选择器件系列为ACEX1K ,选择具体器件为 EP1K30TC144-3 1728 24576 ,再点击Next。在弹出的下一对话框中继续点击Next ,最后确认相关设置,点击Finish按钮,完成新项目创建。 三.设计输入 1.建立一个VHDL文件。通过 File => New 菜单命令,在随后弹出的对 话框中选择 VHDL File选项,点击 OK 按钮。通过 File => Save As 命令,将其保存,并加入到项目中。 2.在VHDL界面输入8选1数据选择器程序,然后通过File => Save

数据通路实验报告

实验3 存储器实验 预习实验报告 疑问: 1、数据通路是干嘛的? 2、数据通路如何实现其功能? 3、实验书上的存储器部分总线开关接在高电平上,是不是错了? 实验报告 一、波形图: 参数设置: Endtime:2.0us Gridsize:100.0ns 信号设置: clk:时钟信号,设置周期为100ns占空比为50%。 bus_sel: sw|r4|r5|alu|pc_bus的组合,分别代表的是总线(sw_bus)开关,将 存储器r4的数据显示到总线上,将存储器r5的数据显示到总线上, 将alu的运算结果显示到总线上,将pc的数据打入AR中二进制 输入,低电平有效。 alu_sel:m|cn|s[3..0]的组合,代表运算器的运算符号选择,二进制输入,高 电平有效。 ld_reg:lddr1|lddr2|ldr4|ldr5|ld_ar的组合,分别表示将总线数据载入寄存器 r1,r2,r4, r5或AR中,二进制输入,高电平有效。 pc_sel: pc_clr|ld|en的组合,分别代表地址计数器PC的清零(pc_clr)、装 载(pc_ld)和计数使能信号(pc_en),二进制输入,低电平有效。we_rd:信号we和rd的组合,分别代表对ram的读(we)与写(rd)的操作, 二进制输入,高电平有效 k:k [7]~ k [0],数据输入端信号,十六进制输入。 d: d[7]~d[0],数据输出中间信号,十六进制双向信号。 d~result: d [7] result ~d[0] result,最终的数据输出信号,十六进制输出。ar: ar[7]~ ar[0],地址寄存器AR的输出结果,十六进制输出。 pc: pc [7]~ pc [0],地址计数器PC的输出结果,十六进制输出。 仿真波形

数电 实验四 数据选择器及其应用 实验报告

实验四数据选择器及其应用 一、实验目的 1.掌握中规模集成数据选择器的逻辑功能及使用方法 2.学习用数据选择器构成组合逻辑电路的方法 二、实验设备与器件 1.+5V直流电源 2.逻辑电平开关 3.逻辑电平显示器 4.74LS151 三、实验原理 数据选择器又叫“多路开关”。数据选择器在地址码(或叫选择控制)电位的控制下,从几个数据输入中选择一个并将其送到一个公共的输出端。数据选择器的功能类似一个多掷开关,如图7-1所示,图中有四路数据D0~D3,通过选择控制信号A1、A0(地址码)从四路数据中选中某一路数据送至输出端Q。 数据选择器为目前逻辑设计中应用十分广泛的逻辑部件,它有2选1、4选1、8选1、16选1等类别。 数据选择器的电路结构一般由与或门阵列组成,也有用传输们开关和门电路混合而成的。 八选一数据选择器74LS151 74LS151为互补输出的8选1数据选择器,引脚排列如图4-2,功能如表4-1。 选择控制端(地址端)为A2~A0,按二进制姨妈,从8个输入数据D0~D7中,选择一个需要的数据送到输出端A, S为使能端,低电平有效。

1)使能端?S=1时,无论A2~A0状态如何,均无输出(Q=0,?Q=1),多路开关被禁止。2)使能端S=0时,多路开关正常工作。根据地址码A1、A2、A3的状态选择D0~D7中某一个通道的数据输送到输出端Q。 此处以A2A1A0=010为例,则选择D2数据到输出端,即Q=D2。 D2为0,?Q亮。D2为1,Q亮。 使能端为1,D2为1,?Q亮。使能端为1,D2变为0,?Q仍然亮。

74LS151功能测试结果表4-1 实现逻辑函数F(AB)=A?B+?AB+A B 设计过程:逻辑表

实验三 交互式SQL:数据查询

实验三交互式SQL(二):数据查询 【实验目的】 1.掌握SELECT语句的基本语法。 2.掌握集合函数的作用及使用方法。 3.熟悉普通连接、外连接和自身连接的概念。 4.能够熟练使用连接查询从多个表中查询数据。 5.能够熟练地使用子查询查询数据。 【实验学时】 2学时 【实验内容】 以下题目均在STUxxxx(学生管理)数据库中完成。 一、简单查询 1.查询年龄最小的前3个同学的姓名、专业和年龄 2.查询XS表中所有同学的学号、姓名和总学分,结果中各列的标题分别指定为num,name 和mark。 3.查询XS表中的学生数据来自哪些专业(使用DISTINCT子句消除结果集中的重复行)。 4.查询XS表中专业为“计算机”的同学的情况。 5.查询XS表中1992年出生的学生姓名和专业情况。 6.查询XS表中姓“张”或“王”或“李”且单名的学生的情况。 7.查询XS表中专业为“计算机”且总学分尚未确定的学生情况。 8.从XS表中查询学生的基本信息,要求按照总学分从高到低排序,学分相同时,按学号 由低到高排序。。 二、数据汇总 1.求选修了“101”课程的学生的平均成绩。 2.求选修了“102”课程的学生的最高分和最低分。 3.求学号为“4102101”学生的总成绩。 4.求专业为“计算机”的学生的总人数。 5.求选修了“101”课程的学生的人数。 6.求选修了任意一门课程的学生的人数。 7.统计各个专业的学生数。(按专业分组) 8.统计各个专业的男女生人数。格式如下: 专业性别人数 ……………… 9.查找平均成绩在80分以上的学生的学号和平均成绩。 10.查找选修的课程中超过2门成绩在80分以上的学生的学号和成绩高于80分的门数。 格式如下:

3. 实验三 数据通路组成实验

实验三数据通路组成实验 一、实验目的 1.进一步熟悉计算机的数据通路。 2.将双端口通用寄存器堆和双端口存储器模块连接,构成新的数据通路。 3.掌握数字逻辑电路中的一般规律,以及排除故障的一般原则和方法。 4.锻炼分析问题和解决问题的能力,在出现故障的情况下,独立分析故障现象,并 排除故障。 二、实验电路 图3.3 数据通路实验电路图 数据通路实验电路图如图3.3所示。它是将双端口存储器模块和双端口通用寄存器堆模块连接在一起形成的。存储器的指令端口(右端口)不参与本次实验。通用寄存器堆连接运算器模块,本次实验涉及其中的DR1。 由于双端口存储器是三态输出,因而可以直接连接到DBUS上。此外,DBUS还连接着通用寄存器堆。这样,写入存储器的数据由通用寄存器提供,从RAM中读出的数据也可以放到通用寄存器堆中保存。 本实验的各模块在以前的实验中都已介绍,请参阅前面相关章节。注意实验中的控制信号与模拟它们的二进制开关的连接。 三、实验设备 1.TEC-5计算机组成原理实验系统1台

2.逻辑测试笔一支(在TEC-5实验台上) 3.双踪示波器一台(公用) 4.万用表一只(公用) 四、故障的分析与排除 数字电路中难免要出现这样或那样的故障。有了故障迅速加以诊断并排除,使电路能正常运行,这是实际工作中经常遇到的事。因此,学会分析电路故障,提高排除故障的能力,是很有必要的。 就数字电路的故障性质而言,大体有两大类:一类是设计中的错误或不当造成的故障;另一类是元件损坏或性能不良造成的。 1.设计错误造成的故障 常见的设计错误有逻辑设计错误和布线错误。 对于布线错误,只要能仔细的进行检查就可以排除。要较快的判断出布线错误的位置,可以通过对某个预知特性点的观察检测出来。例如,该点的信号不是预期的特性,则可以往前一级查找。常见的布线错误是漏线和布错线。漏线的情况往往是输入端未连线或浮空。浮空输入可用三状态逻辑测试笔或电压表检测出来。 对于设计错误,需要在设计中加以留心和克服。首先要遵循的一个原则是:为使系统可靠的工作,从系统的初始状态开始,应该把线路置于信号的稳定电平上,而不是置于信号的前沿或后沿;其次没有出口的悬空状态是不允许存在的;另外设计中应当避免静态和动态的竞争冒险;最后,为便于维修,设计中应考虑把系统设计成具有单步工作的能力。 常见的设计错误包括对于中小规模集成电路中不用的输入端的接法。对一个不用的输入端常忘了接,因而输入端相当于接了有效的逻辑“1”电平。建议将所有不用的“与”门输入端统一接到一个逻辑“1”电平上,将所有不用的“或”门输入端统一接到一个逻辑“0”电平上。计数器不计数和寄存器不寄存信息的问题常常就是由不用的输入端进来的干扰信号引起的。 2.元件损坏造成的故障 一个数字系统,即使逻辑设计和布线都正确无误,但如果使用的元件损坏或性能不良,也会造成系统的故障。这种故障只要更换元件,就能恢复正常运行。除了元件损坏或性能不良之外,数字系统的故障还可能由于虚焊、噪声等原因造成。许多最初是间歇性故障,但最终还是会变成固定性故障。这种故障不是固定的逻辑高电平,就是固定的逻辑低电平,所以通常称之为“逻辑故障”。 实验逻辑测试笔和逻辑脉冲笔(逻辑脉冲产生器)可以方便地查找数字电路中的逻辑故障。一种方法是先使用逻辑测试笔检测关键信号(如时钟、启动、移位、复位等)丢失的地方,这样就把故障隔离到一个小范围内。有了故障的大概范围以后,去掉内部时钟脉冲,改用逻辑脉冲笔向特定的电路节点施加激励信号,观察输出端的状态。有了提供激励的逻辑脉冲笔和响应激励的逻辑测试笔,可以很容易地检查被怀疑的器件的真值表,从而探查出故障地点。 另一种寻找故障的方法,是预先隔离故障。进行的方法如下:从电路始端送入脉冲,在终端检测响应。如果信号未能正确送达,就对每一串电路用同样的方法检查。反复进行,就能将故障点隔离出来。 五、实验任务 1.将实验电路与控制台的有关信号进行连接。 2.用8位数据开关SW7-SW0向RF中的四个通用寄存器分别置入以下数据:R0=0FH、 R1=0F0H、R2=55H、R3=0AAH。 3.用8位数据开关向AR送入地址0FH,然后将R0中的数据0FH写入双端口存储器

相关主题