当前位置:文档之家› 实验7 天网防火墙的安装及使用

实验7 天网防火墙的安装及使用

实验7 天网防火墙的安装及使用
实验7 天网防火墙的安装及使用

实验7:天网防火墙的安装及使用

一. 实验介绍

[实验目的和要求]

理解防火墙的功能.

了解防火规则的作用

[实验类型]

本实验为基本实验。

二. 实验内容及步骤

一、安装天网防火墙

1. 到网站https://www.doczj.com/doc/0a17634669.html,/上下载天网防火墙个人版

2.73试用版。

2. 安装天网防火墙V2.73试用版。

(1)首先进入“欢迎”界面,点击“我接受此协议”,再点击“下一步”按钮。

(2)然后进入“选择安装的目标文件夹”界面。缺省使用的安装目录是C:\Program Files\SkyNet\FireWall 。如需要更改安装目录,使用该界面的“浏览”按钮,选择要安装的目录。确定安装目录后,点击“下一步”按钮。

(3)进入“选择程序管理器程序组”界面。点击“下一步”按钮。进入“开始安装”界面,再点击“下一步”按钮。系统开始安装天网防火墙。

(4)安装过程中,会看到弹出如图1所示的“天网防火墙设置向导”界面。阅读说明文字,点击“下一步”按钮。

图1

(5)进入“安全级别设置”界面,仔细阅读不同的安全级别的安全性说明。

nbsp; 思考:该界面有何用途?

记住缺省的安全级别,点击“下一步”按钮。

(6)进入“局域网信息设置”界面。可以看到如图2所示的界面。仔细阅读该界面的说明。保留缺省设置不变。

该界面中有两个选择项:开机的时候自动启动防火墙;我的电脑在局域网中使用。

看看该界面中显示的IP地址是否是本机器地址。按“刷新”按钮,看效果如何。

点击“下一步”按钮

图2

(7)进入“常用应用程序设置”界面,阅读该界面说明。仔细浏览在该界面中包含的应用程序。思考:如果点击应用程序“Internet Explorer”前面的勾,会产生什么样的后果。

保留缺省的设置,点击“下一步”按钮。

(8)进入“向导设置完成”界面。按“结束”按钮。

(9)弹出“安装已完成”界面。该界面有一个选项“安装CNNIC中文域名和通用网址客户端软件”,点击选项前面的勾,取消安装他们。如图3所示。

图3

(10)弹出标题为“安装”的小窗口,要求重新启动机器。点击“确定”按钮,重新启动机器。

二、学习天网防火墙的基本功能

3 启动天网防火墙

(1)点击“开始”-》“程序”-》“天网防火墙试用版V2.73”-》“天网防火墙试用版V2.73”。此时,会谈出一个对话框,要求输入用户名和注册码,选择“取消”按钮,启动天王防火墙。

(2)在任务栏图托盘处会看见一个蓝色的天王防火墙图标,双击该图标,天网防火墙个人版

软件就展示在桌面上了,如图4所示。

图4

4 学习应用程序访问网络权限设置功能。

(1)打开一个IE浏览器,试着访问一个网页,看是否能够正常访问。

(2)点击“应用程序规则”按钮。显示如图5所示。

图5

(3)找到Internet Explorer应用程序,点击“选项”,弹出一个“应用程序规则高级设置”窗口,如图6所示。仔细阅读规则。

思考:当设置规则如图6所示时,此时“不符合上面条件时”对应的操作是选择项“询问”。假设要访问的网站使用的是8080端口,如https://www.doczj.com/doc/0a17634669.html,:8080,在IE浏览器中输入这样的地址后会有什么样的信息出现。如果将“不符合上面条件时”对应操作改为选择项“禁止操作”,同样访问使用8080端口的网站,会有什么结果出现。

点击“取消”按钮,回到应用程序规则界面。

图6

(4)Internet Explorer应用程序,点击“删除”按钮。然后打开IE浏览器,试着访问一个网站,看看结果如何。

思考:将此结果和本步中的第(1)步的结果相比较,看看有何不同,并思考一下为什么不同。

5学习系统设置功能。

(1)点击“系统设置”按钮。弹出系统设置界面,如图7所示。

图7

(2)思考:如果选中了“启动”项的“开机后自动启动防火墙”,会有什么后果。

(3)思考:如果勾选“应用程序权限”下的“允许所有的应用程序访问网络,并在规则中记录这些程序”选项,会有什么结果。

点开“在线升级设置”,熟悉相关内容。

6学习网络访问监控功能。

(1)点击“应用程序网络使用状况”按钮。弹出界面如图8所示。将前面的“+”号全部点开,看看针对TCP协议,本机哪些端口处于监听状态,并记录下来。

图8

(2)在该界面中,找到,点击箭头,显示下拉框,然后在下拉框中选择UDP协议,界面如图9所示。将前面的“+”号全部点开,看看针对UDP协议,本机哪些端口处于监听状态,并记录下来。

图9

思考:对正在监听的端口,考虑是哪些应用程序在使用它们。并通过系统开始菜单中的程序,查找相关程序,验证你的想法。

7学习日志记录功能。

点击“日志”按钮。弹出界面如图10所示。

图10

详细读每一条记录,并思考这些记录和哪些本机操作是相关联的。

8学习断开/接通网络功能。

(1)点击断开/接通网络按钮,当按钮变成时,打开一个IE窗口,输入刚才访问的网站,看能否再次访问。

思考:当遇到频繁攻击的时候,最有效的应对方法是什么?

三、理解防火墙的规则

1学习天网防火墙的IP规则

(1)这一步需要两台机器配对作试验。机器甲安装并启动天网防火墙,机器乙不启动天网防火墙并保证没有加载其他防火墙。

(2)在机器甲上,点击“自定义IP规则”键,弹出窗口如图11所示。

图11

(3)获取机器甲和机器乙的ip地址。在机器乙上,使用ping命令ping机器甲,看是否ping 的通,思考为什么。在机器甲上,使用ping命令ping机器乙,看是否ping的通,思考为什么。例如,机器甲的ip地址为192.169.0.101,则在机器乙上,点击开始—〉运行,然后在“运行”窗口输入命令:ping 192.168.0.101 -t,如图12所示,看弹出窗口显示的ping命令执行结

果。

图12

(4)在机器甲的天网防火墙IP规则列表中,找到“防止别人用ping命令探测”这一条规则,可以看到,使用缺省规则时这一条前面的方框是打了一个勾的,现在将方框里的勾点击一下,去掉这个勾。

(5)在机器乙上,再次使用ping命令ping机器甲的地址,看弹出窗口显示的ping命令执行结果,将它与第(3)步的相同操作的结果相比较,并思考为什么。

(6)在机器甲的天网防火墙IP规则列表中,找到“禁止所有人连接”这一条规则,可以看到,使用缺省规则时这一条前面的方框是打了一个勾的,现在双击它,看到弹出一个修改IP规则窗口,如图13所示。

图13

(7)仔细读该窗口的相关信息。思考该规则的功能。

(8)在该窗口中,将“对方IP地址”下的下拉窗口拉开,将“任何地址”改为“指定地址”,如图14所示。

(9)在“指定地址”的右边,填上机器乙的地址。例如,如果机器乙的地址为192.168.0.102,

则在地址栏就填上该地址,如图14所示。

图14

在机器乙上,再次使用ping命令ping机器甲的地址,看弹出窗口显示的ping命令执行结果,将

它与第(3)步的相同操作的结果相比较,并思考为什么。

三. 实验思考

1.天网防火墙属于哪一种类型的防火墙。

2.瑞星实时病毒防护防火墙属于哪一种类型的防火墙。

3.防火墙的规则是如何作用于防火墙的。

4.假设现在知道网络上有一个ip地址为100.100.0.10的主机,它正在不断地发UDP的包到你的主机,你该如何设置天网防火墙的ip规则以拒绝接受它发过来的UDP包?

单片机原理及接口技术实验报告

单片机原理及接口技术 实验报告 任课教师 班级 姓名 日期

实验一构建单片机最小系统和实验环境熟悉 一、单片机最小系统的组成原理图 二、单片机的工作原理: 1.运算器 运算器包括算术逻辑运算单元ALU、累加器ACC、寄存器B、暂存器TMP、程序状态字寄存器PSW、十进制调整电路等。它能实现数据的算术逻辑运算、位变量处理和数据传送操作。 (1)算术逻辑单元ALU ALU在控制器根据指令发出的内部信号控制下,对8位二进制数据进行加、减、乘、除运算和逻辑与、或、非、异或、清零等运算。它具有很强的判跳、转移、丰富的数据传送、提供存放中间结果以及常用数据寄存器的功能。MCS-51中位处理具有位处理功能,特别适

用于实时逻辑控制。 (2)累加器ACC 累加器ACC是8位寄存器,是最常用的专用寄存器,它既可存放操作数,又可存放运算的中间结果。MCS—51系列单片机中许多指令的操作数来自累加器ACC。累加器非常繁忙,在与外部存储器或I/O接口进行数据传送时,都要经过A来完成。 (3)寄存器B 寄存器B是8位寄存器,主要用于乘、除运算。乘法运算时,B中存放乘数,乘法操作后,高8位结果存于B寄存器中。除法运算时,B中存放除数,除法操作后,余数存于寄存器B中。寄存器B也可作为一般的寄存器用。 (4)程序状态字PSW 程序状态字是8位寄存器,用于指示程序运行状态信息。其中有些位是根据程序执行结果由硬件自动设置的,而有些位可由用户通过指令方法设定。PSW中各标志位名称及定义如下: CY():进(借)位标志位,也是位处理器的位累加器C。在加减运算中,若操作结果的最高位有进位或有借位时,CY由硬件自动置1,否则清“0”。在位操作中,CY作为位累加器C 使用,参于进行位传送、位与、位或等位操作。另外某些控制转移类指令也会影响CY位状态(第三章讨论)。 AC():辅助进(借)位标志位。在加减运算中,当操作结果的低四位向高四位进位或借位时此标志位由硬件自动置1,否则清“0”。 F0():用户标志位,由用户通过软件设定,决定程序的执行方式。 RS1(),RS0():寄存器组选择位。用于设定当前通用寄存器组的组,其对应关系如下:

C++程序设计实验七_参考答案

广东金融学院实验报告 课程名称:C++程序设计 实验编号 实验7数组与指针练习系别参考答案及实验名称 姓名学号班级 实验地点新电403实验日期2011-11-24实验时数4 指导教师曲政同组其他成员无成绩 一、实验目的及要求 1.学习C/C++数组和指针的概念和使用方法。 2.练习C++/CLI托管数组的创建方法和元素访问方法。 二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等) 硬件设备:联网的个人计算机 操作系统:Windows XP 编译系统:Visual Studio2005

三、实验内容及步骤(包含简要的实验步骤流程) 1.内容和步骤 ⑴仔细阅读本课件的知识点和例题,努力理解其中的文字阐述和源代码,必要时可将源代码拷入Visual Studio2005生成的C++/CLR框架编译和运行,将运行结果与源代码对照,加深对C/C++数组和指针的理解。 ⑵在理解本课件内容的基础上,编写C/C++程序实现下列文字描述: a.声明一个int型变量x,并赋初值3; b.打印x的值; c.打印x的地址; d.声明一个指向int的指针p,并让其指向变量x; e.打印p所指变量的值 f.打印p的值; g.声明一个有10个元素的一维本地整型数组A,并为其赋初值0~9; h.在一个循环中打印A的所有元素的值; i.打印A的值; j.打印A的第一个元素的地址; k.声明一个指向int的指针q,并让其指向A的第一个元素; l.在一个循环中通过q后跟下标,打印出A的所有元素的值; m.在一个循环中通过q加上循环变量和取值运算,打印出A的所有元素的值; n.在一个循环中通过q的增量和取值运算,打印出A的所有元素的值; o.在一个循环中通过q的负增量,反序打印出A的所有元素的值; p.声明一个int型指针r,在堆中创建一个int型变量,为该变量赋初值3,并将该变量的地址赋给该指针,打印出该变量的值,然后删除该变量。 q.声明一个本地类Point(可以用包含2个int型变量和一个有参数构造函数的结构体表示)的指针s,在堆中创建一个Point类的对象,调用构造函数为该对象的两个数据成员赋初值3和4,并将该对象的地址赋给该指针,打印两个数据成员的值,然后删除该对象。 r.声明一个int型指针t,在堆中创建一个3个元素的int类型数组并将该数组的首地址赋给该指针,为三个数组元素分别赋值3、4、5,在一个循环中打印出所有元素的值,然后删除该数组。 s.声明一个本地类Point类的指针u,在堆中创建一个3个元素的Point类的对象数组(需在Point 中添加无参数构造函数)并将数组的首地址赋给该指针,为三个数组元素分别赋值(1,2)、(3,4)、(5,6),在一个循环中打印该数组所有元素分量的值,然后删除该数组。 t.用基本语法声明并创建一个10个元素的一维托管整型数组B,并在一个循环中为元素赋值0~9; u.在另一个循环中打印B所有元素的值。 v.用初值表方式声明并创建一个10个元素的一维托管整型数组C,并为其元素赋初值10~19; w.在一个循环中打印C所有元素的值。 x.用数组C为数组B赋值。 y.在一个循环中打印B和C所有元素的值。 2.提示和要求 ⑴首先将上面的文字描述拷入Visual Studio2005生成的C++/CLR框架,在每条文字描述之前加“//”将其变为注释,并在其下留一个空行准备编写对应的程序。 ⑵对应于逐条文字描述,在其下编写程序(可能是一个或一组语句),每编写一条文字描述对应的程序,就编译(运行)一次,以保证语法和算法的正确性。 ⑶当全部文字描述所对应的程序编写完成,并编译、运行正确,将文字描述和源代码拷入实验报告。 ⑷对C/C++的数组和指针做简要总结。

示波器的使用实验报告

实验一通用模拟与数字双踪示波器的使用及测量 一、实验目的和要求 1.根据已学的示波器理论知识学习正确使用通用双踪示波器,并利用示波器进行各种电信号的测量,熟练掌握模拟示波器的使用。 2.学习数字式通用示波器的使用,了解其在测量上的强大功能,并与模拟示波器进行比较,体会各自在测量上的特点。 3.认真按实验内容的要求进行实验,记录有关的数据和波形,回答实验内容中提出的有关问题,并按时提交实验报告。 二、实验原理 在时域信号测量中,电子示波器无疑是最具代表性的典型测量仪器。它可以精确复现作为时间函数的电压波形(横轴为时间轴,纵轴为幅度轴),不仅可以观察相对于时间的连续信号,也可以观察某一时刻的瞬间信号,这是电压表所做不到的。我们不仅可以从示波器上观察电压的波形,也可以读出电压信号的幅度、频率及相位等参数。 电子示波器是利用随电信号的变化而偏转的电子束不断轰击荧光屏而显示波形的,如果在示波管的X偏转板(水平偏转板)上加一随时间作线性变化的时基信号,在Y偏转板(垂直偏转板)加上要观测的电信号,示波器的荧光屏上便能显示出所要观测的电信号的时间波形。 若水平偏转板上无扫描信号,则从荧光屏上什么也看不见或只能看到一条垂直的直线。因此,只有当X偏转板加上锯齿电压后才有可能将波形展开,看到信号的时间波形。 一般说来,Y偏转板上所加的待观测信号的周期与X偏转板上所加的扫描锯齿电压的周期是不相同的,也不一定是整数倍,因而每次扫描的起点对待观测信号来说将不固定,则显示波形便会不断向左或向右移动,波形将一片模糊。这就有一个同步问题,即怎样使每次扫描都在待观测信号不同周期的相同相位点开始。近代电子示波器通常是采用等待触发扫描的工作方式来实现同步的。只要选择不同的触发电平和极性,扫描便可稳定在待观测信号的某一相应相位点开始,从而使显示波形稳定、清晰。 在现代电子示波器中,为了便于同时观测两个信号(如比较两个信号的相位关系),采用了双踪显示的办法,即在荧光屏上可以同时有两条光迹出现,这样,两个待测的信号便可同时显示在荧光屏上,双踪显示时,有交替、断续两种工作方式。交替、断续工作时,扫描电压均为一种,只是把显示时间进行了相应的划分而已。 由于双踪显示时两个通道都有信号输入,因此还可以工作于叠加方式,这时是将两个信号逐点相加起来后送到Y偏转板的。这种工作方式可模拟谐波叠加,波形失真等问题。同时,如果改变其中一个的极性,也可以实现相减的显示功能。这相当于两个函数的相加减。 示波器除了用于观测信号的时间波形外,还可将两个相同或不同的信号分别加于垂直和水平系统,以观测两信号在X-Y平面上正交叠加所组成的图形,如李沙育图形。它可用于观测两个信号之间的幅度、相位和频率关系。 三、实验仪器设备 1.模拟双踪示波器CS-4135A 一台 2.数字双踪示波器TDS-1002B 一台 3.DDS函数信号发生器DG1022 一台

译码器实验报告

译码器实验报告 一、实验目的 1、掌握中规模集成译码器的逻辑功能和使用方法 2、熟悉数码管的使用 二、实验原理 译码器是一个多输入、多输出的组合逻辑电路。它的作用是把给定的代码进行“翻译”,变成相应的状态,使输出通道中相应的一路有信号输出。译码器在数字系统中有广泛的用途,不仅用于代码的转换、终端的数字显示,还用于数据分配,存贮器寻址和组合控制信号等。不同的功能可选用不同种类的译码器。 译码器可分为通用译码器和显示译码器两大类。前者又分为变量译码器和代码变换译码器。 变量译码器(又称二进制译码器),用以表示输入变量的状态,如2线-4线、3线-8线和4线-16线译码器。若有n个输入变量,则有2n个不同的组合状态,就有2n个输出端供其使用。而每一个输出所

代表的函数对应于n个输入变量的最小项。 三、实验设备与器件 1.+5V直流电源 2.单次脉冲源 3.逻辑电平开关 4.74LS138 四、实验内容及步骤 1.74LS138译码器逻辑功能测试 将译码器使能端STA、STB、STC与地址端A2、A1、A0分别接到逻辑电平开关输入口,八个输出端Y7…Y0依次连接在十六位逻辑电平显示上,拨动逻辑电平开关,逐项测试74LS138的逻辑功能。2.实验箱电源连接正确,电路自查确定无误后,电路验证还是不正确的情况下进行下面的排错检查:

1)检查芯片的电源和地的电平是否正确。 2)芯片的使能端连接的电平正确。 3)从逻辑电平开关输入信号是否正确。 4)从输出端按逻辑功能状态往前一步一步排查。 3.两片3线-8线译码器74LS138扩展为4线-16线译码器 用两片74LS138组合成一个四线-十六线译码器进行实验,并分析逻辑功能。

微机原理简单输入输出实验报告

东南大学 《微机实验及课程设计》 实验报告 实验四(1)简单输入输出 一. 实验目的与内容 (一)实验目的 1)进一步掌握TPC实验装置的基本原理和组成结构; 2)掌握利用I/O指令单步调试检查硬件接口功能,学会利用示波器检测I/O指令执行时总线情况; 3)掌握简单并行输入输出接口的工作原理及使用方法,进一步熟悉掌握输入输出单元的功能

和使用。 (二)实验内容及要求 1、输出接口输出,根据8个发光二极管发光的情况验证编程从键盘输入一个字符或数字,将其ASCII码通过正确性。(输出端口实验必做) 2、用逻辑电平开关预置某个字母的ASCII码,编程输入这个ASCII码,并将其对应字母在屏幕上显示出来。(输入端口实验必做) 3、利用基本实验(1)中的输出锁存电路,设计L0~L7为流水灯,流水间隔时间由软件产生。(输出端口实验) 4、利用基本实验(2)中的输入电路,监测逻辑电平开关K0~K7的变换,当开关状态为全开时,在屏幕上显示提示信息并结束程序。(输入端口实验) 要求: 1、输入输出端口应该可以响应外设的连续变化。 2、输出按ESC键退出;输入按任意键退出。 3、内容3、4比做一题,选做一题 二. 实验基本原理 (一)基本原理 简单并行输出实验:八D触发器74LS273的八个输入端接数据总线D0~D7,从键盘输入一个字符或数字,通过2A8H~输出接口输出该字符或者数字代表的ASCII码,再通过8个发光二极管发光显示二进制数码,从而验证编程以及电路的正确性。 简单并行输入实验:八缓冲器74LS244的八个输出端接数据总线D0~D7,8个输入端分别接逻辑电平开关K0~K7,在逻辑电平开关上预置任意字符的ASCII码,编程将此ASCII码通过2A0H~输入,ASCII码对应字符显示在屏幕上,从而验证编程及电路的正确性。 (二)实验接线图

【实验指导书】实验7:指针 (1)

(2014~2015学年-第1学期) 1. 理解指针、地址和数组间的关系。 2. 掌握通过指针操作数组元素的方法; 3. 掌握数组名作为函数参数的编程方式。 4. 掌握通过指针操作字符串的方法。 5. 了解掌握使用断点调试程序的方法。 二、实验环境: 操作系统:Window 8 编译环境:CodeBlock 13.02 三、实验要求及内容(根据实验要求,将整个实验过程需要的数据和截屏记录于此,并整理成实验步骤。): 1.设计一个程序计算输入的两个数的和与差,要求自定义一个函数sum_diff(float op1,float op2,float *psum,float *pdiff),其中op1和op2是输入的两个数,*psum和*pdiff是计算得出的和与差。 解: (1)流程图如图1所示: 图1 程序7-1的流程图

图2 实验7-1实验源代码 (3)运行结果(测试用例) 实验7-1运行结果如图3所示 图3 实验7-1运行结果 2. 输入n 个正整数,使用选择法将它们从小到大排序后输出。要求:利用所学指针的内容实现。 提示:在指针这一章所学的冒泡排序算法基础上改写。 解: (1)流程图如图1所示: 图1 程序7-2的流程图

图2 实验7-2实验源代码(3)运行结果(测试用例)实验7-2运行结果如图3所示 图3 实验7-2运行结果

3. 输入10个整数存入数组a ,再输入一个整数x ,在数组a 中查找x ,若找到则输出相应的下标,否则显示“Not found ”。要求定义和调用函数seach(int list[],int n ,int x),在数组list 中查找元素x ,若找到则返回相应的下标,否则返回-1,参数n 代表数组list 中元素的数量。试编写相应程序。 解:(1)流程图如图1 7-3的流程图 (2)源代码 源代码如图2所示

计算机组成原理实验报告

《计算机组成原理》 实验报告 实验室名称:S402 任课教师:邹洋 小组成员:王娜任芬 学号:2010212121 2010212119

实验一_HAMMING码 (2) 实验二_乘法器 (7) 实验三_时序部件 (16) 实验四_CPU__算术逻辑单元实验 (24) 实验五_CPU__指令译码器实验 (32) 实验六_CPU_微程序控制器实验1 (43) 实验七_八_CPU实验 (59)

1 编码实验:Hamming码 1.1、实验目的 1、对容错技术有初步了解,理解掌握海明码的原理 2、掌握海明码的编码以及校验方法 1.2、实验原理 海明码是由Richard Hamming于1950年提出的,目前是被广泛采用的很有效的校验编码。它的特点是只要增加少数几个校验位,就能检测出多位出错,并能自动纠错。 Hamming码的实现原理是在数据中加入几个校验位,将数据代码的码距比较均匀的拉大,并把数据的每一个二进制位分配在几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化。这不但可以发现出错,还能指出是哪一位出错,为进一步自动纠错提供了依据。 假设校验位的个数为r,则它能表示2r个信息,用其中的一个信息指出“没有错误”,其余的2r-1个信息指出错误发生在哪一位。然而错误也可能发生在校验位,因此只有k=2r-1-r个信息能用于纠正被传送数据的位数,也就是说要满足关系: 2r≥k+r+1 若要能检测与自动校正一位错,并能发现两位错,此时校验位的位数r和数据位的位数k应满足下述关系:2r-1≥k+r 按上述不等式,可计算出数据位k与校验位r的对应关系,如表1.1所示: 表1.1 数据位k与校验位r的对应关系 k值最小的r值 1~3 4 4~10 5 11~25 6 26~56 7 57~119 8 若海明码的最高位号为m,最低位号为1,即H m H m-1…H2H1,则此海明码的编码规律通常是 1)校验位与数据位之和为m,每个校验位P i在海明码中被分在位号为2i-1的位置上,其余各位为数据位,并按从低向高逐位依次排列的关系分配各数据位。 2)海明码的每一位码H i(包括数据位和校验位本身)由多个校验位校验,其关系是被校验的每一位位号等于校验它的各校验位的位号之和。 3)在增大合法码的码距时,所有码的码距应尽量均匀增大,以保证对所有码的检错能力平衡提高。 下面具体看一下对一个字节进行海明编码的实现过程。 只实现一位纠错两位检错,由前面的表可以看出,8位数据位需要5位校验位,可表示为H13H12…H2H1。 五个校验位P5~P1对应的海明码位号分别为H13、H8、H4、H2和H1。P5只能放在H13位

C语言实验习题

实验七:指针程序设计 实验内容 以下均用指针方法编程: 1. 调试下列程序,使之具有如下功能:用指针法输入12个数,然后按每行4个数输出。写出调试过程。 main() { int j,k,a[12],*p; for(j=0;j<12;j++) scanf("%d",p++); for(j=0;j<12;j++) { printf("%d",*p++); if(j%4 == 0) printf("\n"); } } 调试此程序时将a设置为一个"watch",数组a所有元素的值在一行显示出来。调试时注意指针变量指向哪个目标变量。 2. 在主函数中任意输入10个数存入一个数组,然后按照从小到大的顺序输出这10个数,要求数组中元素按照输入时的顺序不能改变位置。 3. 自己编写一个比较两个字符串s和t大小的函数strcomp(s,t),要求s小于t 时返回-1,s等于t?时返回0,s大于t时返回1。在主函数中任意输入4个字符串,利用该函数求最小字符串。 4.调试下列程序,使之具有如下功能:任意输入2个数,调用两个函数分别求: ⑴ 2个数的和, ⑵ 2个数交换值。 要求用函数指针调用这两个函数,结果在主函数中输出。 main() { int a,b,c,(*p)(); scanf("%d,%d",&a,&b); p=sum; *p(a,b,c); p=swap;

*p(a,b); printf("sum=%d\n",c); printf("a=%d,b=%d\n",a,b); } sum(int a,int b,int c) { c=a+b; } swap(int a;int b) { int t; t=a; a=b; b=t; } 调试程序时注意参数传递的是数值还是地址。 5.输入一个3位数,计算该数各位上的数字之和,如果在[1,12]之内,则输出与和数相对应的月份的英文名称,否则输出***。 例如:输入:123 输出:1+2+3=6→ June 输入:139 输出:1+3+9=13→ *** 用指针数组记录各月份英文单词的首地址。 6.任意输入5个字符串,调用函数按从大到小顺序对字符串进行排序,在主函数中输出排序结果。

大学物理实验实验报告——示波器的使用

大学物理实验实验报告——示波器的使用 篇一:大物实验示波器的使用实验报告 实验二十三示波器的使用 班级自动化153班 姓名廖俊智 学号 6215073 日期 2021 3.21 指导老师代国红 【实验目的】 1、了解示波器的基本结构和工作原理,学会正确使用示波器。 2、掌握用示波器观察各种电信号波形、测量电压和频率的方法。 3、掌握观察利萨如图形的方法,并能用利萨如图形测量未知正弦信号的频率。 【实验仪器】 固纬GOS-620型双踪示波器一台,GFG-809型信号发生器两台,连线若干。 【实验原理】

示波器是利用示波管内电子束在电场或磁场中的偏转,显示电压信号随时间变化波形的一种电子观测仪器。在各行各业与各个研究领域都有着广泛的应用。其基本结构与工作原理如下 1、示波器的基本结构与显示波形的基本原理 本次实验使用的是台湾固纬公司生产的通用双踪示波器。基本结构大致可分为示波管(CRT)、扫描同步系统、放大与衰减系统、电源系统四个部分。“示波管(CRT)”是示波器的核心部件如图1所示的。可细分为电子枪,偏转系统和荧光屏三部分。 1)电子枪 电子枪包括灯丝F,阴极K,控制栅极G,第一阳极A1,第二阳极A2等。阴极被灯丝加热后,可沿轴向发射电子。并在荧光屏上显现一个清晰的小圆点。 2)偏转系统 偏转系统由两对互相垂直的金属偏转板x和y组成,分别控制电子束在水平方向和竖直方向的偏转。 从电子枪射出的电子束若不受横向电场的作用,将沿轴线前进并在荧光屏的中心呈现静止的光点。若受到横向电场的作用,电子束的运动方向就会偏离轴线, F灯丝,K阴极,G控制栅极,A1、A2第一、第二阳极,Y、X竖直、水平偏转板 图1示波管结构简图 屏上光点的位置就会移动。x偏转板之间的横向电场用来控制光点在水平方向的位移,y偏转板用来控制光点在竖直方向的位

编码器和译码器实验报告

译码器、编码器及其应用 一、实验目的 (1) 掌握中规模集成译码器的逻辑功能和使用方法; (2) 熟悉掌握集成译码器和编码器的应用; (3) 掌握集成译码器的扩展方法。 二、实验设备 数字电路实验箱,74LS20,74LS138。 三、实验内容 (1) 74LS138译码器逻辑功能的测试。将74LS138输出??接数字实验箱LED 管,地址输入接实验箱开关,使能端接固定电平(或GND)。电路图如Figure 1所示: Figure 2 ??????????????时,任意拨动开关,观察LED显示状态,记录观察结果。 ??????????????时,按二进制顺序拨动开关,观察LED显示状态,并与功能表对照,记录观察结果。 用Multisim进行仿真,电路如Figure 3所示。将结果与上面实验结果对照。

Figure 4 (2) 利用3-8译码器74LS138和与非门74LS20实现函数: ?? 四输入与非门74LS20的管脚图如下: 对函数表达式进行化简: ?? ?? A ? ??????????? ???? 按Figure 5所示的电路连接。并用Multisim进行仿真,将结果对比。 Figure 6

(3) 用两片74LS138组成4-16线译码器。 因为要用两片3-8实现4-16译码器,输出端子数目刚好够用。 而输入端只有 A、、三个,故要另用使能端进行片选使两片138译码器 进行分时工作。而实验台上的小灯泡不够用,故只用一个灯泡,而用连接灯泡的导线测试?,在各端子上移动即可。在multisim中仿真电路连接如Figure 7所示(实验台上的电路没有接下面的两个8灯LED): Figure 8 四、实验结果 (1) 74LS138译码器逻辑功能的测试。 当输入 A时,应该是输出低电平,故应该第一个小灯亮。实际用实验台测试时,LE0灯显示如Figure 9所示。当输入 A时,应该是输出低电平,故理论上应该第二个小灯亮。实际用实验台测试时,LE0灯显示如Figure 6所示。 Figure 10

计算机组成原理实验报告 指令译码器

河北大学计算机组成原理实验报告 实验项目指令译码器成绩 一、实验目的: (1)理解指令译码器的作用和重要性。 (2)学习设计指令译码器。 二、实验原理: 指令译码器是计算机控制器中最重要的部分。所谓组合逻辑控制器就是指指令译码电路是由组合逻辑实现的。 组合逻辑控制器又称硬连线控制器,是设计计算机的一种方法。这种控制器中的控制信号直接由各种类型的逻辑门和触发器等构成。这样,一旦控制部件构成后,除非重新设计和物理上对它重新连线,否则要想增加新的功能是不可能的。结构上这种缺陷使得硬连线控制器的设计和调试变得非常复杂而且代价很大。所以,硬连线控制器曾一度被微程序控制器所取代。但是随着新一代及其及VLSI技术的发展,这种控制器又得到了广泛重视,如RISC机广泛使用这种控制器。 图6-42是组合逻辑控制器的方框图。逻辑网络的输入信号来源有3个:①指令操作码译 码器的输出I n ;②来自时序发生器的节拍电位信号T k ;③来自执行部件的反馈信号B j 。逻辑网 络的输出信号就是微操作控制信号,用来对执行部件进行控制。

图6-42 组合逻辑控制器的结构方框图 组合逻辑控制器的基本原理可描述位:某一微操作控制信号C m 是指令操作码译码器的输出I n 、时序信号(节拍电位信号T k )和状态条件信号B j 的逻辑函数。即 C m =f(I n ,T k ,B j ) 用这种方法设计控制器,需要根据每条指令的要求,让节拍电位和时序脉冲有步骤地去控制机器的各有关部分,一步一步地执行指令所规定的微操作,从而在一个指令周期内完成一条指令所规定的全部操作。 三、实验步骤: (1)将试验台设置成FPGA-CPU 独立调试模式,REGSEL=0、CLKSEL=1、FDSEL=0。使用试验台上的单脉冲,即STEP_CLK 短路子短接,短路子RUN_CLK 断开。 (2)将设计在QuartusII 下输入,变异后下载到TEC-CA 上的FPGA 中。 (3)拨动试验台上的开关SD 5~SD 0,改变IR[15..12]、进位标志C 和结果为0标志Z ,观察指示灯R 10~R 0显示的控制信号,并填写表6-28。 四、实验现象及分析:

实验7 指针及其运算

实验七指针及其运算 实验目的 理解指针的概念,会定义和使用指针变量,掌握指针的运算规则,学会使用数组的指针和指向数组的指针变量。 要点提示 1.变量在内存单元的地址称为该变量的“指针”。 2.指针变量是用来存放其它变量地址的变量。 3.指针变量定义的一般形式: 类型标识符*指针变量名; 4.指针运算符 &(取变量地址运算符)和*(取值运算符)是互逆的运算符,右结合。 ++,--,+,- 运算符是按地址计算规则进行的。 5.用指针作为函数参数,可以实现“调用函数改变变量的值,在主调函数中使用这些改变的值。 6.数组的指针是指数组的起始地址(首地址),数组元素的指针是指数组元素的地址。数组名代表数组的首地址,是地址常量。 实验内容 1.指针变量的说明,初始化和使用。 2.指针作为函数参数。 3.数组的指针和指针数组的指针变量的说明和使用 4. 数组名作为函数参数 实验步骤 读懂并输入程序,完成填空后输出结果,(下面程序中的中文注释可以不输入) 1. 输入a和b两个整数,按先大后小的顺序输出。 算法提示:不交换变量的值,而是交换两个指针变量的值,使p1指向较大的数,p2指向较小的数。 #include using namespace std; main() { int *p1,*p2, 【】;/* 变量说明语句*/ int a, b; cout<<"\n Please input a and b:"; cin>>a>>b; p1=&a; p2=&b; if (a

哈夫曼编码译码器实验报告免费

哈夫曼编码译码器实验报告(免费)

————————————————————————————————作者:————————————————————————————————日期:

问题解析与解题方法 问题分析: 设计一个哈夫曼编码、译码系统。对一个ASCII编码的文本文件中的字符进行哈夫曼编码,生成编码文件;反过来,可将编码文件译码还原为一个文本文件。 (1)从文件中读入任意一篇英文短文(文件为ASCII编码,扩展名为txt); (2)统计并输出不同字符在文章中出现的频率(空格、换行、标点等也按字符处理);(3)根据字符频率构造哈夫曼树,并给出每个字符的哈夫曼编码; (4)将文本文件利用哈夫曼树进行编码,存储成压缩文件(编码文件后缀名.huf)(5)用哈夫曼编码来存储文件,并和输入文本文件大小进行比较,计算文件压缩率;(6)进行译码,将huf文件译码为ASCII编码的txt文件,与原txt文件进行比较。 根据上述过程可以知道该编码译码器的关键在于字符统计和哈夫曼树的创建以及解码。 哈夫曼树的理论创建过程如下: 一、构成初始集合 对给定的n个权值{W1,W2,W3,...,Wi,...,Wn}构成n棵二叉树的初始集合 F={T1,T2,T3,...,Ti,...,Tn},其中每棵二叉树Ti中只有一个权值为Wi的根结 点,它的左右子树均为空。 二、选取左右子树 在F中选取两棵根结点权值最小的树作为新构造的二叉树的左右子树,新二 叉树的根结点的权值为其左右子树的根结点的权值之和。 三、删除左右子树 从F中删除这两棵树,并把这棵新的二叉树同样以升序排列加入到集合F中。 四、重复二和三两步, 重复二和三两步,直到集合F中只有一棵二叉树为止。 因此,有如下分析: 1.我们需要一个功能函数对ASCII码的初始化并需要一个数组来保存它们; 2.定义代表森林的数组,在创建哈夫曼树的过程当中保存被选中的字符,即给定报文 中出现的字符,模拟哈夫曼树选取和删除左右子树的过程; 3.自底而上地创建哈夫曼树,保存根的地址和每个叶节点的地址,即字符的地址,然 后自底而上检索,首尾对换调整为哈夫曼树实现哈弗曼编码; 4.从哈弗曼编码文件当中读入字符,根据当前字符为0或者1的状况访问左子树或者 右孩子,实现解码; 5.使用文件读写操作哈夫曼编码和解码结果的写入; 解题方法: 结构体、数组、类的定义: 1.定义结构体类型的signode 作为哈夫曼树的节点,定义结构体类型的hufnode 作为

74LS181实验报告

学生实验报告 实验名称用Verilog HDL语句实现74LS181的功能 实验日期2013 年10月19号 学号 姓名 班级计算机科学与技术一班 一、实验目的与要求 1、了解运算器的组成结构; 2、掌握算术逻辑运算器的工作原理; 3、掌握简单运算器的数据传送通道 4、掌握用Verilog HDL实现简单运算器的设计 二、实验原理 74LS181的逻辑功能表 图中,S0到S3是四个控制端,用于选择进行何种运算。M用于控制ALU进行算术

运算还是逻辑运算。 当M=0时,M 对进位信号没有任何影响,Fi 值与操作数Ai ,Bi 以及地位向本位进位Cn+1有关,所以M=0时进行算术运算。操作数用补码表示,“加”只算术加,运算时考虑进位;“+”指逻辑加,不考虑进位;减法运算时,减法取反码运算后用加法器实现,结果输出为A 减B 减1在最末位产生一个强迫进位(加1),以得到A 减B 的结果。 当M=1时,封锁了各位的进位输出Cn+i=0,因此各位的运算结果Fi 仅与操作数Ai ,Bi 有关,此时进行逻辑运算。 三、实验内容与步骤 1.根据书85面的逻辑功能表编写Verilog HDL 语句,编译,仿真等步骤。 2.按照模式一电路图结构图设置对应的引脚参数。确认无误后,配置文件下载。 CLOCK9CLOCK5CLOCK2 CLOCK0 SPEAKER 扬声器 NO.1 PIO11-PIO8PIO15-PIO12PIO48 PIO49D15 D16HEX HEX PIO32 PIO33 PIO34 PIO35 PIO36 PIO37 PIO38 PIO39 D1D2D3D4D5D6D7D8实验电路结构图 译码器 译码器 译码器 译码器 FPGA/CPLD 目标芯片1 2 3 4 5 6 7 8 PIO3-PIO0 PIO7-PIO4HEX HEX 键1 键2 键3 键4 键5 键6 键7 键8 PIO39-PIO32PIO31-PIO28 PIO27-PIO24PIO23-PIO20PIO19-PIO16 3.连接试验箱,开通电源,进行验证。 五、实验环境与设备 实验软件:Quartus ii 软件 实验设备:实验室试验箱 六、实验代码设计(含符号说明) module NS74181(A,B,F,S,CN,CO,M); //端口名 input[3:0] A,B; input[3:0] S; input M,CN; output CO; output[3:0] F; reg[3:0] F; reg[3:0] ta,tb; //用ta,tb 代替~A 和~B reg CO; //进位 always @(S) begin ta=~A; tb=~B; case(S) 'b0000: begin

实验7-指针

《C语言程序设计》实验报告实验序号:7 实验项目:指针 一、实验目的及要求 1、通过实验掌握指针的定义和使用指针变量; 2、掌握使用指针对数组和字符串进行操作; 3、掌握函数中指针类型参数的使用; 4、要求采用指针方法完成。 二、实验设备(环境)及要求 使用Turbo C 或Visual C++ 6.0;windows系列操作系统的环境。 三、实验内容与步骤 1.输入运行下面这个程序,观察并分析结果: #include "stdio.h" void main() { int a[]={2,3,4,5,6}; int *p1; char *p2="computer\n"; p1=a; printf("%d\n",p1+2); printf("%d\n",*(p1+2)); p1=a+2; printf("%d\n",p1+2); printf("%d\n",*(p1+2)); printf(p2+2); printf("%s",p2+2); } 运行结果截图:

2.以下程序调用invert 函数按逆序重新放置a 数组中的值,a 数组中的值在main 函数中读入,请填空。 #include "stdio.h" void invert(int *s,int i,int j) { int t; if(i

示波器的使用实验报告

物理实验报告 一、【实验名称】 示波器的使用 二、【实验目的】 1.了解示波器的基本结构和工作原理,掌握示波器的调节和使用方法 2.掌握用示波器观察电信号波形的方法 3.学会使用双踪示波器观察李萨如图形和控制示波管工作的电路 三、【实验原理】 双踪示波器包括两部分,由示波管和控制示波管的控制电路构成 1.示波管示波管是呈喇叭形的玻璃泡,抽成高真空,内部装有电子枪和两队相互垂直的偏转板,喇叭口的球面壁上涂有荧光物质,构成荧光屏,高速电子撞击在荧光屏上会使荧光物质发光,在荧光屏上就能看到一个亮点。Y偏转板是水平放置的两块电极。在Y偏转板上和X偏转板上分别加上电压,可以在荧光屏上得到相应的图形。 双踪示波器原理 2.双踪示波器的原理 双踪示波器控制电路主要包括:电子开关,垂直放大电路,水平放大电路,扫描发生器,同步电路,电源等; 其中,电子开关使两个待测电压信号Y CH1和Y CH2周期性的轮流作用在Y偏转板,这样在荧光屏上忽而显示Y CH1信号波形,忽而显示Y CH2信号波形,由于荧光屏荧光物质的余晖及人眼视觉滞留效应,荧光屏上看到的是两个波形。 如果正弦波与锯齿波电压的周期稍不同,屏上呈现的是一移动的不稳定图形,这是因为扫描信号的周期与被测信号的周期不一致或不呈整数倍,以致每次扫描开始时波形曲线上的

起点均不一样所造成的,为了获得一定数量的完整周期波形,示波器上设有“Time/div”调节旋钮,用来调节锯齿波电压的周期,使之与被测信号的周期呈合适的关系,从而显示出完整周期的正弦波性。(看到稳定波形的条件:只有一个信号同步) 当扫描信号的周期与被测信号的周期一致或是整数倍,屏上一般会显示出完整周期的正弦波形,但由于环境或其他因素的影响,波形会移动,为此示波器内装有扫描同步电路,同步电路从垂直放大电路中取出部分待测信号,输入到扫描发生器,迫使锯齿波与待测信号同步,此称为“内同步”;反之则为“外同步”。操作时,使用“电平旋钮”,改变触发电势高度,当待测电压达到触发电平时,开始扫描,直到一个扫描周期结束。但如果触发电势超出所显示波形最高点或最低点的范围,则扫描电压消失,扫描停止。 3.示波器显示波形原理 如果在示波器的Y CH1或Y CH2端口加上正弦波,在示波器的X偏转板加上示波器内部的锯齿波,当锯齿波电压的变化周期相等时,则在荧光屏上显示出完整的正弦波形。 4.李萨如图形的基本原理 如果在示波器的Y偏转板上加上正弦波,在X偏转板上加上另一正弦波,则当两正弦波信号的频率比为简单整数比时,在荧光屏上将得到李萨如图形。 四、【仪器用具】: 信号发生器、双踪示波头、探头 五、【实验内容】 几种李萨如图形 n x n y分别代表图形在水平或垂直方向的切点数量 =3/4 nx/n y=1/2 n x/n y=1/3 n x/n y=2/3 n x/n y 1.观察正弦波形 a.打开示波器 b.开通CH1及相应信号发生器fx=100Hz c.得到大小合适稳定的正弦波 2.测正弦波电压,测正弦波的周期 a.调节波形上下移动键,使得fx=100Hz,改变一次v/div,再记录dy b.调整波形左右移动键,使得改变一次t/div,再记录dx

实验三---译码器及其应用实验报告

实验三译码器及其应用 一、实验目的 (1) 掌握中规模集成译码器的逻辑功能和使用方法; (2) 熟悉掌握集成译码器的应用; (3) 掌握集成译码器的扩展方法。 二、实验设备 数字电路实验箱,电脑一台,74LS20,74LS138。 三、实验内容 (1)利用3-8译码器74LS138和与非门74LS20实现函数: 四输入与非门74LS20的管脚图如下: 对函数表达式进行化简: 按Figure 1所示的电路连接。并用Multisim进行仿真,将结果对比。

Figure 1 (2) 用两片74LS138组成4-16线译码器。 因为要用两片3-8实现4-16译码器,输出端子数目刚好够用。 导线测试,在各端子上移动即可。在multisim中仿真电路连接如Figure 2所示(实 验台上的电路没有接下面的两个8灯LED): Figure 2 四、实验结果 (1) 利用3-8译码器74LS138和与非门74LS20实现函数。

输入,由可知,小灯应该亮。测试结果如Figure 1所示。输入,分析知小灯应该灭,测试结果如Figure 2所示。输入 ,分析知小灯应该亮,测试结果如Figure 3所示。 Figure 4 Figure 5

Figure 6 同理测试,得到结果列为下面的真值表: A B C Y 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 与所要实现的逻辑功能相一致。 (2) 用两片74LS138组成4-16线译码器。 进行测试,得到的结果列为真值表如下: G1 A B C 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1

PL 0 语言编译器分析实验报告

PL/0 语言编译器分析实验 一、实验目的 通过阅读与解析一个实际编译器(PL/0语言编译器)的源代码,加深对编译阶段(包括词法分析、语法分析、语义分析、中间代码生成等)和编译系统软件结构的理解,并达到提高学生学习兴趣的目的。 二、实验要求 (1)要求掌握基本的程序设计技巧(C语言)和阅读较大规模程序源代码的能力; (2)理解并掌握编译过程的逻辑阶段及各逻辑阶段的功能; (3)要求能把握整个系统(PL/0语言编译器)的体系结构,各功能模块的功能,各模块之间的接口; (4)要求能总结出实现编译过程各逻辑阶段功能采用的具体算法与技 三、实验报告 pl/0语言是pascal语言的一个子集,我们这里分析的pl/0的编译程序包括了对pl/0语言源程序进行分析处理、编译生成类pcode代码,并在虚拟机上解释运行生成的类pcode代码的功能。 pl/0语言编译程序采用以语法分析为核心、一遍扫描的编译方法。词法分析和代码生成作为独立的子程序供语法分析程序调用。语法分析的同时,提供了出错报告和出错恢复的功能。在源程序没有错误编译通过的情况下,调用类pcode 解释程序解释执行生成的类pcode代码。 词法分析子程序分析: 词法分析子程序名为getsym,功能是从源程序中读出一个单词符号(token),把它的信息放入全局变量sym、id和num中,语法分析器需要单词时,直接从这三个变量中获得。(注意!语法分析器每次用完这三个变量的值就立即调用getsym 子程序获取新的单词供下一次使用。而不是在需要新单词时才调用getsym过程。)getsym过程通过反复调用getch子过程从源程序过获取字符,并把它们拼成单词。getch过程中使用了行缓冲区技术以提高程序运行效率。 词法分析器的分析过程: 调用getsym时,它通过getch过程从源程序中获得一个字符。如果这个字符是字母,则继续获取字符或数字,最终可以拼成一个单词,查保留字表,如果查到为保留字,则把sym变量赋成相应的保留字类型值;如果没有查到,则这个单词应是一个用户自定义的标识符(可能是变量名、常量名或是过程的名字),把sym 置为ident,把这个单词存入id变量。查保留字表时使用了二分法查找以提高效率。如果getch获得的字符是数字,则继续用getch获取数字,并把它们拼成一个整数,然后把sym置为number,并把拼成的数值放入num变量。如果识别出其它合

相关主题
文本预览
相关文档 最新文档