触发器实验报告

时间:2024.5.14

实验九  触 发 器

一.实验目的

1.掌握RS触发器、D触发器、JK触发器的工件原理。

2.学会正确使用RS触发器、D触发器、JK触发器。

二.实验所用器件和仪表

1.四2输入正与非门74LS00      1片

2.双D触发器74LS74            1片

三.实验内容

1.用74LS00构成一个RS触发器。/R、/S端接电平开关输出,Q、/Q端接电平指示灯。改变/R、/S的电平,观察并记录Q、/Q的值。

2.双D触发器74LS74中一个触发器功能测试。

(1)将CD(复位)、SD(置位)引脚接实验台电平开关输出,Q、/Q引脚接电平指示灯,改变CD、SD的电平,观察并记录Q、/Q的值。

(2)在(1)的基础上,;置CD、SD引脚为高电平,D(数据)引脚接电平开关输出,CLK(时钟)引脚接单脉冲。在D为高电平和低电平的情况,分别按单脉冲按钮,观察Q、/Q的值,记录下来。

(3)在(1)的基础上,将D引脚接1MHz脉冲源,CLK引脚接10MHz脉冲源。用双踪示波器同时观察D端和CLK端,记录波形;同时观察D端、Q端,记录波形。分析原因。

四.实验接线图、测试步骤及测试结果

1.


实验1的接线图、测试步骤、测试结果

图9-1  RS触发器测试接线图

图9-1是RS触发器接线图。图中,K1、K2是电平开关输出,L1、L2是电平指示灯。RS触发器的测试步骤及结果如下:

(1)/R=0,/S=1,测得/Q=1,Q=0。

(2)/R=1,/S=1,测得/Q=1,Q=0。

(3)/R=1,/S=0,测得/Q=0,Q=1。

(4)/R=1,/S=1,测得/Q=0,Q=1。

(5)/R=0,/S=0,测得/Q=1,Q=1。

时序电路的值与测试顺序有关,应引起注意。根据测试结果,得出RS触发器的真值表如下:

表9-1  RS触发器功能表

根据触发器的定义,/Q和Q应互补,因此/R=0,/S=0是非法状态。


2.实验2的接线图、测试步骤、测试结果

图9-2  74LS74测试图1        图9-3  74LS74测试图2

图9-2和图9-3是测试D触 发器的接线图,K1、K2、K3是电平开关输出,L1、L2是电平指示灯,AK1是按单脉冲按钮AK1后产生的宽单脉冲,1MHz、10MHz是时钟脉冲源。

测试步骤及结果如下:

(1)CD=0,SD=1,测得/Q=1,Q=0。

(2)CD=1,SD=1,测得/Q=1,Q=0。

(3)CD=1,SD=1,测得/Q=0,Q=1。

(4)CD=1,SD=1,测得/Q=0,Q=1。

(5)CD=0,SD=0,测得/Q=1,Q=1。

(6)CD=1,SD=1,D=1,CLK接单脉冲,按单脉冲按钮,测得/Q=0,Q=1。

(7)CD=1,SD=1,D=0,CLK接单脉冲,按单脉冲按钮,测得/Q=1,Q=0。

(8)CD=1,SD=1,D接1MHz脉冲,CLK接10MHz,测得D端、Q端波形如下:

(9)在示波器上同时观察Q、CK的波形,观察到的波形只在CLK的上升沿才发生变化。

(10)根据上述测试,得出D触发器的功能表如下:

表9-2  D触发器74LS74功能表


图9-4  D触发器D端、Q端波形图


第二篇:华中科技大学C++实验总结报告(图形编辑器)


C++ 实验总结报告

研究课题:图形编辑器 学 校:华中科技大学 院 系: 班 级: 姓 名: 指导老师:

一、 实验目的

1. 熟悉C++的一些重要性质,利用封装、继承、虚

函数和多态性等特性,通过实验学习如何对各类图元的属性和方法进行合理的封装

2. 学习Microsoft的Visual C++编程工具

3. 掌握MFC的相关知识

4. 掌握基本的文件保存、读取以及操作封装技术

二、 实验目的

设计一个简单的图形编辑器

三、 实验所用仪器、设备

计算机:PentiumIII 800 以上

256M内存

操作系统:Windows 20xx/XP

开发集成环境:Visual C++ 6.0

四、 软件功能简介

(注:此软件是从网上下载得来)

该软件具有汉化的菜单界面(仿Windows自带画图软件),具有文件打开、编辑、保存等功能。编辑部分包括可以在编辑区域画直线、圆、矩形、曲线等矢量图

形,可插入文字,可以修改线条的线型、颜色等基本属性。

五、 部分代码分析

1.直线类代码:

class CCreateLine : public CCommand

{

private:

Position m_begin; // 直线的起点

Position m_end;// 直线的终点

public:

CCreateLine() ;

~CCreateLine() ;

int GetType();

int OnLButtonDown(UINT nFlags, const Position& pos) ; int OnMouseMove(UINT nFlags, const Position& pos) ; int OnRButtonDown(UINT nFlags, const Position& pos) ;

int Cancel() ;

} ;

学习C++我们最需要理解的就是它面向对象的设计思想。这种思想可以在类和对象上得到充分的体现。

类是面向对象程序设计的核心,它实际上是由用户定义的一种新的复杂数据类型。它是通过抽象数据类型ADT方法来实现的一种数据类型,将不同类型的数据和与这些数据相关的操作封装在一起形成一个集合体。因此,它具有更高的抽象性,实现了信息的隐藏和封装。

对象是某种类的一个实例,是类的具体体现。一个类可以有多个对象。

分析这一段代码,编程者将直线的起始点和终止点设置为私有成员,这样做就对整条直线实现了隐藏和保护,是面向对象中封装特性的一个具体体现;另外,此函数中还包含了构造函数与析构函数,构造函数完成对新对象的初始化工作,析构函数是构造函数的配对物,它实现与构造函数相反的功能。另外的几个成员函数名称形参返回值都与class Ccommand 中的几个公有函数相同,而在class Ccommand中,这几个函数都是虚函数,这是函数重载,也是多态性的具体体现。

由这段代码我们可以了解关于类和对象的一些知识,为我们进一步了

解面向对象程序设计的思想精髓奠定了基础。

2.对构造函数和解析函数的分析

构造函数

CCreateLine::CCreateLine()

: m_begin(0,0), m_end(0,0)

{

m_nStep = 0; // 初始化操作步为 0

}

此构造函数用初始化列表的方式对直线类的私有成员进行初始化,同时记下操作步m_nStep是直线类从指令类中继承来的成员,它在指令类中属于保护成员,在直线类中则成为私有成员。这是数据共享与数据保护两者兼顾时的一种处理方法。

析构函数

CCreateLine::~CCreateLine()

{

}

此析构函数中没有任何操作语句,但它并非没有任何操作。在任何一个对象消失时都要调用本类的析构函数进行扫尾工作。在构造对象时,构造函数分配资源给程序,在对象作用结束后,这些资源的释放就要靠析构函数。当然析构函数中也是可以有语句的,当需要在对象消失之前执行某种操作时,可以把语句写在里边。

3.

BOOL Cline::Pick(const Position&pos,const double pick_radius)

{

Position objPos=pos;

BOX2D sourceBox,desBOX;

GetBox(&sourceBox);

desBox.min[0]=sourceBox.min[0]-pick_radius;

desBox.min[1]=sourceBox.min[1]-pick_radius;

desBox.max[0]=sourceBox.max[0]+pick_radius;

desBox.max[1]=sourceBox.min[1]+pick_radius;

if(!objPos.lslnBox(desBox))

return FALSE;

double angle=::GetAngleToXAxis(m_begin,m_end);

Position dp =objPos-m_begin;

Double dist = fabs(dp.x*cos(angle)+dp.y*sin(angle)-objPos.Distance(m_begin));

if(dist<=pick_radius)

return TRUE;

return FALSE;

}

在阅读此函数的源代码过程中,我感觉到对类创建的合理划分对整个程序具有着十分重要的意义。正如上段代码,它的前提是对类进行了合理的划分,只有在对类进行了合理的划分后,我们才能更加高效地处理对象。所以,我感觉到在学习面向对象程序设计时,应当尤为注意类的创建与划分。

六、个人学习体会

在学习C++以前,我认为C++只是在C语言的基础上的一种延伸,认为只要学过C语言,就可以用C语言的那种设计思想来学习C++、设计C++程序。正是由于抱了这种错误的思想,使我在一开始学习C++的时候遇到了很大的困难,我没有办法体会面向对象的设计思想,我在学习这门课的时候老是想着实现这个函数功能的具体过程,而没太注意对象分类的重要性。

随着课程学习的深入,我感觉到了利用类和对象、继承、封装等一系列知识可以把我们程序中很多繁杂、重复的部分省略掉,还可以解决一些利用面向过程的设计思想无法解决的问题,我自己也试着编写一些小的C++程序,当然在这个过程中遇到了很多困难,其中调试带来的困难让我无法忘记,在调试程序的同时,我也总结出来了一些调试的小技巧,让我在C语言课程设计中也受用匪浅。

在学习这门课的过程中,我感受到了自己亲自动手编程序、调程序的重要性,我们要熟悉C++的语法、体会调试的思想,最好的一个手段就是自己动手编程、调试,这会比我们一味的看书效果好得多。

另外,我还感觉到一个好的程序编出来需要很多人的团结合作。我在检查自己编写的程序是否有BUG未被找出的时候,我会让我的同学作为一个程序使用者来找出未发现的BUG并提出改进意见,这让我们的工作更加高效。

很高兴能够了解到C++的神奇魅力和面向对象程序设计的独特思想,它为我今后的程序设计奠定了基础。感谢老师对我们的悉心教授!

更多相关推荐:
触发器实验报告

深圳大学实验报告课程名称学院计算机与软件学院实验时间实验报告提交时间教务部制注1报告内的项目或内容设置可根据实际情况加以调整和补充2教师批改学生实验报告时间应在学生提交实验报告时间后10日内

触发器及其应用实验报告

学生实验报告

电子技术实验报告5-触发器及其应用

学生实验报告

数字逻辑实验-触发器实验报告

本科学生综合性实验报告实验课程名称数字逻辑与数字系统

触发器 R-S、D 、J-K 实验报告(有数据)

实验五触发器RSDJK一实验目的1熟悉并掌握RSDJK触发器的构成工作原理和功能测试方法2学会正确使用触发器集成芯片3了解不同逻辑功能触发器相互转换的方法二实验仪器及器件1双踪示波器2实验用元器件74LS001...

D触发器及其应用实验报告

实验五D触发器及其应用实验人员班号学号一实验目的1熟悉D触发器的逻辑功能2掌握用D触发器构成分频器的方法3掌握简单时序逻辑电路的设计二实验设备74LS0074LS74数字电路实验箱数字双踪示波器函数信号发生器三...

数据库实验3 触发器报告

数据库专题训练触发器实验报告系别计算机科学与技术班级计113班姓名黄娟娟学号11101020xx4成绩评语指导教师签字日期实验二触发器一实验环境及要求触发器是一种特殊的存储过程不能被用户直接调用可以包含复杂的S...

触发器实验报告

深圳大学实验报告课程名称学院信息工程班级实验时间实验报告提交时间教务部制深圳大学学生实验报告用纸注1报告内的项目或内容设置可根据实际情况加以调整和补充2教师批改学生实验报告时间应在学生提交实验报告时间后10日内

触发器的使用实验报告

实验II触发器及其应用一实验目的1掌握基本RSJKD和T触发器的逻辑功能2掌握集成触发器的逻辑功能及使用方法3熟悉触发器之间相互转换的方法二实验原理触发器具有两个稳定状态用以表示逻辑状态1和0在一定的外界信号作...

存储过程及触发器实验报告

数据库技术与应用实验报告七班级机械因材学号16姓名高永吉一实验名称存储过程及触发器二实验目的使用系统常用的存储过程掌握存储过程的创建及应用3理解触发器的概念4掌握触发器的创建及应用三实验内容过程和结果存储过程1...

D触发器与JK触发器实验报告

本科学生设计性实验报告学号姓名颜洪毅学院信息学院专业班级计算机科学与技术实验课程名称数字逻辑与数字系统教师及职称王坤开课学期填报时间云南师范大学教务处编印12345

存储过程和触发器(实验报告)

长沙理工大学计算机与通信工程学院实验报告课程名称数据库技术与应用实验项目名称存储过程和触发器班级学号姓名实验日期年月日指导教师签字

触发器实验报告(40篇)