浅谈接口综合设计实验平台的设计与应用

浅谈接口综合设计实验平台的设计与应用
浅谈接口综合设计实验平台的设计与应用

浅谈接口综合设计实验平台的设计与应用

微机原理汇编及接口设计是学生学习和掌握计算机硬件知识和汇编语言程序设计的入门课程,基础性、技术性、应用性和工程实践性强。课程以微处理器、总线、接口和程序设计为主线,要求学生掌握微型计算机系统的体系结构、CPU 工作原理和指令系统,学会合理选用存储器和接口芯片,并能根据不同的要求分析和设计系统的硬件结构,用编程的方法实现定时、I/O口控制、按键、显示、中断等功能。学生通过该课程的学习,能够巩固和加深对先修课程知识的理解,为进一步学习仪器仪表、测量控制、计算机控制、单片机原理、嵌入式系统等专业课程奠定理论基础和微机软硬件应用基础。该课程是培养高素质创新型人才的重要环节。

原微机原理汇编及接口设计课程的硬件设计实验只需按照接线引脚图即可完成,学生缺乏对接口电路设计环节的应用练习。以经典的数码管显示实验为例,大多沿用简单的输出接口实验中接口设计电路进行调试,不能充分锻炼学生的综合实践能力和创新能力。笔者在原有的教学实验装置上,设计开发了基于8086微处理器的接口综合设计实验平台。该平台不但能很好地帮助学生深入理解和灵活运用理论知识,还能帮助学生提高综合应用的能力,实现从验证性思维到设计、创新性思维的转变。

1 接口综合设计实验平台的设计

1.1 平台设计方案

接口综合设计实验的建设应该在传承经典的基础上,更加适应实验教学发展的趋势,丰富其内涵。接口综合设计实验平台的设计理念是营造探索性实验环境,注重实践创新能力培养,通过融合先进的EDA 技术,培养学生综合设计开发能力和创新能力。

接口综合设计实验是在现有教学实验装置上,融合了8086微处理器的系统仿真设计,并选用Proteus作为系统仿真软件。Proteus是一款EDA工具软件,是基于ProSPICE混合模型仿真器的、完整的嵌入式系统,软硬件设计仿真平台Proteus 7.5提供了VSMfor 8086模块,增加对8086CPU 的仿真,为培养学生综合设计能力和自主创新能力提供了技术支撑。

结合设计的实验项目,提供了程序设计流程图、参考接口电路设计图、参考程序的范例内容,以及在Proteus环境下的仿真设计、虚拟仪器测试等内容供参考,目的是让学生利用已有范例资源直接进行虚拟仿真测试和软硬件联合调试,尽快掌握原理和接口设计方法,为后续实验的自主设计、自由发挥打好基础。

1.2 关键技术

应用Proteus进行8086接口技术仿真,主要是在Proteus ISIS中编辑电路原理图、设置外部代码编译器、编写和添加源代码及仿真调试。搭建一个培养学生综合设计能力和自主创新能力的实践平台,需要解决几个关键问题。

1.2.1 I/O地址译码电路设计

现有教学实验箱上选用64个I/O地址,分Y0Y7共8组输出,地址

分别为280H287H、288H28FH、290H297H、298H29FH、2A0H2A7H、2A8H2AFH、2B0H2B7H、2B8H2BFH。8条输出线在实验箱的I/O地址处分别由自锁紧插孔Y0Y7引出。。

结合实验箱I/O地址译码电路,利用8086微处理器和相关外围芯片构造I/O 译码电路,并存成部件组。在Proteus仿真设计环境中用到的仿真元件信息。

1.2.2 加载汇编程序

现有的教学实验箱是通过USB接口将实验箱信号传送到微机,USB 模块产生的仿ISA总线信号直接从实验箱上输出。为了培养学生对于接口电路的仿真设计能力,要求学生先进行汇编语言程序设计,并加载到Proteus环境下的仿真设计接口电路中进行虚拟仪器测试,确定满足要求的接口电路设计方案,再利用现有教学实验箱和接口开发环境进行硬件电路接线和软硬件联调。

1.2.3 子电路设计和使用

结合精品实验项目设计的侧重点,在Proteus环境下将部分常用电路(例如I/O 接口译码电路)设计为子电路,方便学生进行仿真电路设计时直接使用。分析现有教学实验箱上I/O 地址选用情况,设计了Proteus环境下I/O接口译码子电路和使用。

2 应用案例

2.1 案例内容

以经典的数码管显示实验为例,其中的显示接口综合实验项目的实施内容以微机系统的总线结构为基础,贯穿多个接口芯片的功能应用,

注重营造探索性实验环境,着重提高学生灵活应用多种接口芯片的综合设计能力和创新能力。

该实验要求学生掌握数码管的显示原理,实现数码管静态和动态显示。学生经过简单的输入、输出接口实验,已熟悉接口电路设计的基本原则、缓冲器和锁存器在接口电路中的作用,对于可编程并行接口芯片8255A、可编程定时器/计数器芯片8253也有了初步了解。范例采用层次化设计方法,由简单到复杂,引导学生逐步掌握显示接口设计的要点。

演示实验利用数码管循环显示数字单字符(09),在学生掌握动态显示原理后,利用数码管同时显示2个字符(如EF),最后利用数码管实现循环显示数字(099)。

2.2 应用案例的实施过程

2.2.1 注重引导,逐步完善

在显示接口综合设计实验教学开始阶段,注重引导学生根据实验的要求自主制订虚拟仿真实验的初步设计方案。随着理论知识的增加,学生可以自主改进方案、完善功能,并最终自主完成实验,使综合设计能力和创新能力得到锻炼,提出问题和解决问题的实践能力得到提高。

为方便师生交流、保证实验进度,建立了微机原理虚拟仿真QQ群,并公布了答疑和提交仿真设计方案的邮箱(virtualsimulation@https://www.360docs.net/doc/e612093534.html,)。学生在制订虚拟仿真初步设计方案的过程中,由于刚刚开始接触接口部分的理论知识,因而略显被动和

随意,但在逐步深入地学习后续课程内容的过程中,会根据自己所掌握知识的更新和积累,主动完善自己的设计方案。此时,学生被动思维模式转为主动思维模式,学习更具有探索性和目的性。

2.2.2 掌握相关平台的使用和流程

当学生学习了接口实验预备知识并做过简单输入输出接口实验后,对实验箱和硬件设计过程便有了初步的了解和认识,可以提供给学生虚拟仿真实验指导书、相关设计软件和演示例程,指导学生进行虚拟仿真环境的搭建和例程的演示。

经过这个过程,学生可以学会使用虚拟仿真软件Proteus进行方案设计和硬件实现方法。在显示接口综合实验项目的实施过程中,教师要针对学生遇到的问题,讲解Proteus软件的一些基本使用方法和注意事项,帮助学生改进自己的虚拟仿真设计。虚拟仿真设计成功,就可以进行最终的硬件实现流程。

2.2.3 后续改进与作品展示

学生后续的实验内容为8253和8259芯片的功能测试项目,该项目引导学生通过对这些芯片的理解和掌握,进一步改进显示接口综合设计方案。显示接口综合实验完成后要进行设计作品的展示。学生通过展示作品,可以发现作品的价值和有待改进之处,而且可以学习到其他同学的设计理念和设计方法,培养了探索精神,提升了自主设计、开发的能力和信心。

2.3 典型自主设计案例

显示接口综合实验注重基于任务驱动的情景化教

网络综合实验设计

模块四综合模块设计(网络互联)班级14信管本学号141201120姓名李显明 实验时间2017年5月11日 实验地点综合实验楼608 分组及同组人双人组,同组人:付卫 实验项目网络互联 实验总结与讨论综合设计实验: 1、二层交换机的工作原理:二层交换机属数据链路层设备,可以识别数据包中的 MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己 内部的一个地址表中。具体的工作流程如下: (1)当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它 就知道源MAC地址的机器是连在哪个端口上的; (2)再去读取包头中的目的MAC地址,并在地址表中查找相应的端口; (3)如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上; (4)如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器 回应时,交换机又可以学习目的MAC地址与哪个端口对应,在下次传送数据时就不再 需要对所有端口进行广播了。 不断的循环这个过程,对于全网的MAC地址信息都可以学习到,二层交换机就是这样建立和维护它自己的地址表。 2、三层交换机的工作原理:三层交换机就是具有部分路由器功能的交换机,三层 交换机的最重要目的是加快大型局域网内部的数据交换,能够做到一次路由,多次转 发。三层交换技术就是二层交换技术+三层转发技术。传统交换技术是在OSI网络标 准模型第二层——数据链路层进行操作的,而三层交换技术是在网络模型中的第三层 实现了数据包的高速转发,既可实现网络路由功能,又可根据不同网络状况做到最优 网络性能。使用IP的设备A----三层交换机----使用IP的设备B,比如A要给B发 送数据,已知目的IP,那么A就用子网掩码取得网络地址,判断目的IP是否与自己 在同一网段。如果在同一网段,但不知道转发数据所需的MAC地址,A就发送一个ARP

过程控制系统课程设计报告报告实验报告

成都理工大学工程技术学院《过程控制系统课程设计实验报告》 名称:单容水箱液位过程控制 班级:2011级自动化过程控制方向 姓名: 学号:

目录 前言 一.过程控制概述 (2) 二.THJ-2型高级过程控制实验装置 (3) 三.系统组成与工作原理 (5) (一)外部组成 (5) (二)输入模块ICP-7033和ICP-7024模块 (5) (三)其它模块和功能 (8) 四.调试过程 (9) (一)P调节 (9) (二)PI调节 (10) (三)PID调节 (11) 五.心得体会 (13)

前言 现代高等教育对高校大学生的实际动手能力、创新能力以及专业技能等方面提出了很高的要求,工程实训中心的建设应紧紧围绕这一思想进行。 首先工程实训首先应面向学生主体群,建设一个有较宽适应面的基础训练基地。通过对基础训练设施的 集中投入,面向全校相关专业,形成一定的规模优势,建立科学规范的训练和管理方法,使训练对象获得机械、 电子基本生产过程和生产工艺的认识,并具备一定的实践动手能力。 其次,工程实训的内容应一定程度地体现技术发展的时代特征。为了适应现代化工业技术综合性和多学科交叉的特点,工程实训的内容应充分体现机与电结合、技术与非技术因素结合,贯穿计算机技术应用,以适应科学技术高速发展的要求。应以一定的专项投入,建设多层次的综合训练基地,使不同的训练对象在获得对现代工业生产方式认识的同时,熟悉综合技术内容,初步建立起“大工程”的意识,受到工业工程和环境保护方面的训练,并具备一定的实用技能。 第三,以创新训练计划为主线,依靠必要的软硬件环境,建设创新教育基地。以产品的设计、制造、控制乃至管理为载体,把对学生的创新意识和创新能力的培养,贯穿于问题的观测和判断、创造和评价、建模和设计、仿真和建造的整个过程中。

微机原理与接口技术实验报告

微机原理与接口技术实验报告 班级:自动化(铁道信号) 姓名: ***** 学号: 1121**** 授课教师:福恩

目录 1.实验一 (3) 2. 实验二 (8) 3.实验三 (13) 4.实验四 (22) 5.实验五 (26) 6.实验六 (33) 7.参考文献 (38)

实验一交通灯控制实验 一.实验目的 通过应用接口技术设计十字路口、复杂路口交通灯控制系统,学会应用“微机原理与接口技术”课程所学的X86汇编语言和接口技术掌握可编程并行接口芯片的硬件设计、软件编程,实现十字路口交通灯的模拟控制并思考计算机如何应用在各种控制系统中。 (1)掌握利用X86汇编语言技巧 (2)掌握X86微处理器与可编程并行接口芯片8255A硬件电路设计 (3)熟悉模拟交通灯控制的实现方法并思考如何应用在实际中。 二.实验容 设计一个交通控制系统,该控制系统工作后,交通灯按照如下规律变化: (1)南北路口的绿灯、东西路口的红灯同时亮3秒左右。 (2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。 (3)南北路口的红、东西路口的绿灯同时亮3秒。 (4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。 (5)返回(1)依次循环。 三.实验电路 如下图,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律燃灭。 8255动态分配地址: 控制寄存器:0EC0BH A口地址: 0EC08H C口地址: 0EC0AH

红黄绿红黄绿 图1-1 交通灯实验电路图四.程序流程图 五.源程序 CODE SEGMENT ASSUME CS:CODE ;********************************** 工作状态控制字设置 START: MOV DX,0EC0BH ;写控制端口,地址0EC0BH MOV AL,10010000B ;C口方式0输出 OUT DX,AL

实验七-网络程序设计综合实验汇总

网络程序设计 实验报告 实验名称:winsock 编程接口实验实验类型:设计型 指导教师:贾浩 专业班级:信安1204 姓名:马灿 学号:20123252 电子邮件: 实验地点:东6 E307 实验日期:

实验成绩:__________________________

实验七网络程序设计综合实验 摘要:本课程设计包含了文件传输协议的简单设计与实现。文件传送协议是一种最基本的应用层协议按照客户/服务器的模式进行工作,提供交互式的访问,是INTERNET使用最广泛的协议之一。文件传输协议的简单设计与实现建立在计算机网络实验环境TCP/IP网络体系结构之上,使用socket编程接口编写两个程序,分别为客户程序(client.c)和服务器程序(server.c),利用了已有网络环境设计并实现简单应用层协议。本设计包括了具体设计任务,基本思路及所涉及的相关理论,设计流程图,调试过程中出现的问题及相应解决办法,实验运行结果,核心程序,个人体会及建议等。 关键词:SOCKET编程,FTPclient/server程序 一.问题描述及设计思路 1.1 问题描述 服务器端: 1.指定一个目录作为FTP目录(之后所有的文件操作均在此目录下进行) 2.接收客户端的命令请求并提供相应的服务。 客户端:完成与FTP用户的人机界面,以命令的方式向服务器请求服务,主要的命令有:1.CONNECTIP地址端口号 2.指定FTP服务器的IP地址和端口号,连接到服务器。响应:连接成功/失败。 3.LOGIN用户名 4.用户登录(假设在服务器端有用户管理功能)

5.响应:若用户不存在,提示“无此用户”;若用户存在,提示“密码:”;用户输入密码后,若正确提示“登录成功”;若不成功,提示“密码错误”。6.3.DIR 7.显示FTP服务器的FTP目录的文件列表(假设无子目录) 8.响应:目录列表(只要文件名即可)。 9.4.GET文件名 10.将FTP目录下的文件下载到本地,支持断点续传 11.响应:传送成功/失败/无此文件。 12.5.PUT文件名 13.将本地文件上传到FTP目录,支持断点续传 14.响应:传送成功/失败/无此文件。 15.6.HELP(客户端和服务器端均有该功能) 16.实验环境本次实验采用MFC工程工程采用MFC对话框界面工程名称为MyServer和FTPSOCKET。 17.详细设计过程 1.2 设计思路 1. FTP协议基础 FTP 是TCP/IP 协议组中的协议之一,该协议是Internet文件传送的基础,它由一系列规格说明文档组成。目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。简单的说,FTP就是完成两台计算机之间的拷贝,从远程计算机拷贝文件至自己的计算机上或从自己计算机中拷贝至远程计算机上。在TCP/IP协议中FTP标准命令TCP端口号为21,Port

微机原理与接口技术实验报告

新疆农业大学机械交通学院 实习(实验)报告纸 班级:机制072 学号: 073731234 姓名:唐伟 课程名称:微机原理及接口技术实习(实验)名称: DEBUG软件的使用 实验时间: 6.22 指导教师签字:成绩: —、实验目的 1.学习DEBUG软件的基本使用方法。 2.掌握8088/8086的寻址方式。 3.掌握数据传送、算术运算逻辑运算等类指令的基本操作。 二、实验内容与步骤 实验内容: 修改并调试以下程序,使之完成30000H开始的内存单元中存入31个先自然递增然后有自然递减的数据(00H~0F~00H)的功能。程序从CS:0100H开始存放。调试完成后程序命名为PCS.EXE并存盘。 实验步骤: (1)用A命令输入程序; (2)用反汇编U命令显示程序及目标码; 存盘程序命令为PCS1.EXE;

三、思考题 1.EXE文件程序的第一条可执行指令的IP等于多少? 答:EXE文件程序的第一条可执行指令的IP等于0010 。 2.在DEBUG环境下显示的程序和数字是什么形式?标号又是什么形式? 答: DEBUG把所有数据都作为字节序列处理。因此它可以读任何类型的文件。DEB UG可以识别两种数据: 十六进制数据和ASCⅡ码字符。它的显示格式是各个字节的十六进制值以及值在32与126之间的字节的相应ASCⅡ码字符。DEBUG总是用四位十六进制数表示地址。用两位数表示十六进制数据。不支持标号。 3.试述本次实验中你学会的DEBUG命令? 答:本次试验我学会了汇编命令(A命令)、.反汇编命令(U命令)、显示当前环境和寄存器内容(R命令、以十六进制和ASCII码形式显示内存单元内容(D命令)

电路综合设计实验-设计实验2-实验报告

设计实验2:多功能函数信号发生器 一、摘要 任意波形发生器是不断发展的数字信号处理技术和大规模集成电路工艺孕育出来的一种新型测量仪器,能够满足人们对各种复杂信号或特殊信号的需求,代表了信号源的发展方向。可编程门阵列(FPGA)具有高集成度、高速度、可重构等特性。使用FPGA来开发数字电路,可以大大缩短设计时间,减小印制电路板的面积,提高系统的可靠性和灵活性。 此次实验我们采用DE0-CV开发板,实现函数信号发生器,根据按键选择生产正弦波信号、方波信号、三角信号。频率范围为10KHz~300KHz,频率稳定度≤10-4,频率最小不进10kHz。提供DAC0832,LM358。 二、正文 1.方案论证 基于实验要求,我们选择了老师提供的数模转换芯片DAC0832,运算放大器LM358以及DE0-CV开发板来实现函数信号发生器。 DAC0832是基于先进CMOS/Si-Cr技术的八位乘法数模转换器,它被设计用来与8080,8048,8085,Z80和其他的主流的微处理器进行直接交互。一个沉积硅铬R-2R 电阻梯形网络将参考电流进行分流同时为这个电路提供一个非常完美的温度期望的跟踪特性(0.05%的全温度范围过温最大线性误差)。该电路使用互补金属氧化物半导体电

流开关和控制逻辑来实现低功率消耗和较低的输出泄露电流误差。在一些特殊的电路系统中,一般会使用晶体管晶体管逻辑电路(TTL)提高逻辑输入电压电平的兼容性。 另外,双缓冲区的存在允许这些DAC数模转换器在保持一下个数字词的同时输出一个与当时的数字词对应的电压。DAC0830系列数模转换器是八位可兼容微处理器为核心的DAC数模转换器大家族的一员。 LM358是双运算放大器。内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。LM358的封装形式有塑封8引线双列直插式和贴片式。 本次实验选用的FPGA是Altera公司Cyclone系列FPGA芯片。Cyclone V系列器件延续了前几代Cyclone系列器件的成功,提供针对低成本应用的用户定制FPGA特性,支持常见的各种外部存储器接口和I/O协议,并且含有丰富的存储器和嵌入式乘法器,这些内嵌的存储器使我们在设计硬件电路时省去了外部存储器,节省了资源,而

《微机原理与接口技术》课程设计-交通灯

信息工程系 计算机科学与技术 12计本1班 1214110214 黄 福 朱 茜 2015年06月29日 院 系: 专 业: 年级班级: 学 号: 姓 名:指导教师: 设计日期:

目录 一.课程设计目的 (3) 二.课程设计任务 (3) 三.总体设计方案 (3) 五.程序设计流程图 (4) 六. 程序连接图 (5) 七.程序清单 (5) 八.实验结果 (8) 九.课程设计总结和体会 (8)

一.课程设计目的 用汇编语言和微机原理实验箱完成实现双方向交通信号灯控制系统,以达到熟练运用汇编语言编程以及实验箱上各个芯片的灵活运用。 ⒈了解交通灯管理的基本工作原理 ⒉熟悉8253定时计数器的工作方式和编程应用 ⒊熟悉8255A并行接口的工作方式和编程应用 二.课程设计任务 本次课程设计的内容为双方向交通信号灯的控制和管理。 具体要求如下: 1.东西方向车辆放行20秒钟。即东西方向的绿灯和南北方向的红灯同时点亮25秒钟和黄灯点亮3秒钟。 2.南北方向车辆放行20秒钟后,转为南北方向的黄灯点亮3秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。 3.循环重复执行1和2两步骤。 三.总体设计方案 1、用实验系统8255A实现对信号灯的控制(B端口),A端口的PA6、PA7口用来和8253共同控制信号灯点亮的时间。 2、实验中,8255选用(10010000)方式选择字,A组工作0方式,A端口输入,PC4-PC7输出,B组0方式,B端口输出,PC3-PC0输出 3、实验中,8253采用两个计数器级联的方式达到定时的效果,8253计数器0的CLK0输入1MHZ的时钟脉冲,工作在模式3即方波发生器,理论设计OUT0 输出周期为0.01S的方波,则计数器0的初值为10000;OUT0输出的方波分别作为计数器1、计数器2的CLK1和CLK2的输入时钟脉冲,计数器1和计数器2工作方式为模式1,计数器1的初值为2500,即OUT1输出25秒,控制红绿灯的时间;计数器2初值为300,即OUT2输出3秒,控制黄灯的时间。

综合实验(课程设计):中小型网络工程设计与实现

综合实验:中小型网络工程设计与实现 (课程设计) 实验(设计)内容 实施目标:为某企业构建一个高性能、可靠的网络。 简要需求: (1)该企业主要包括三个建筑:行政楼、销售部、生产厂区,中心机房设在行政楼。 (2)对外提供WWW服务、对内提供文件传输服务、内外均可访问的Email服务。 (3)行政楼上的用户约120人(每人一台计算机),分成若干部门,不同部门的用户可能处在不同楼层,每一层可能有不同的部门用户。要求部门之间内部可以相互通信,不同部门之间保持一定独立性和信息隔离。【建设经过调研可知:部门为5个。其中,部门1有10人,在同一楼层;部门2有30人,在不同楼层;部门3有20人,在同一楼层;部门4有30人,在同一楼层;部门5有30人,在不同楼层】(4)销售部门约150人(每人一台计算机),分成5个团队。要求不同团队之间保持通信的独立性和隔离性。【经过调研可知:每个团队30人,每个团队的人员都在同一个楼层,不同团队可能在不同的楼层】 (5)生产厂区分成三个车间,每个车间约60个用户。 根据需求进行简要分析,可知: (1)划分VLAN,行政楼的部门需要跨交换机的VLAN划分。 (2)子网划分,不同的VLAN使用不同的子网,将子网和VLAN重叠使用。 (3)路由配置,不同子网(VLAN)之间的路由配置。 (4)WEB、DNS、DHCP、FTP、E-Mail等服务器放在中心机房的DMZ区。 设计与实现过程: (1)需求分析:详细描述企业对网络的需求。 (2)概要设计:画出网络拓扑结构图,说明报告中主要功能的实现过程。 (3)详细设计:交换机和路由器配置过程和清单。 (4)调试分析:路由、交换之间进行通信测试。 实验(设计)步骤 1、(共20分)网络拓扑设计 请根据给出的已知条件为该企业设计网络拓扑图(可以用手绘制或者请使用Cisco Packet Tracer模拟器绘制),要求按照分层结构进行设计。 要求: (1)每个VLAN/子网画出2台终端主机即可,跨交换机的VLAN需要说明或标识。将结果拍照或者截图插入到此处。(10分) 若图被遮挡,可在布局中将纸张大小调大

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

实验一 DEBUG命令及其基本操作 一.实验目的: 1.熟练掌握DEBUG的常用命令,学会用DEBUG来调试程序。 2.深入了解数据在存储器中的存取方法,了解堆栈中数据的压入与弹出方法。 3.掌握各种寻址方法,了解简单指令的执行过程。 二、实验容: 1.打开计算机,在WINXP操作系统下,点击“开始”,选择“运行”,在“打开”一栏中输入“debug”,运行DEBUG应用程序,将出现DEBUG的提示符“-”。 2.在DEBUG提示符后键入字母“-a100”,回车后,屏幕上就会出现下面类似的容: (具体到每个计算机所产生的段地址和偏移地址可能有所不同) 这表示在地址1383:0100处,DEBUG等待用户键入程序助记符,下面键入程序: 3.在DEBUG的提示符后键入G,这是执行程序的命令,然后回车,就可以看到结果了。 4.现在让我们用“d”命令来看一下存储器 在100H~107H这8个单元,程序覆盖了原来的容,右边的字符是组成程序的ASCII码等价字符,圆点表示不可显示字符。 5.下面我们用反汇编命令来查看一下所键入的程序。“U”命令的格式是“U起始地址,终止地址”,即把起始地址到终止地址之间的十六进制码反汇编成汇编语言助记符语句。键入: 大家在屏幕上不仅可以看到地址和助记符,而且还可以看到与汇编语言等价的机器语言。6.现在我们修改存储单元的容,看看显示情况和变化。 我们看到显示的结果发生了变化,这是因为DOS的2号功能调用是显示输入数据的ASCII 码字符。 7.下面我们给程序命名并存盘。在键入“n”后紧跟程序名及扩展名

因为文件的字节数必须事先放在BX和CX中,其中BX保存高16位,CX保存低16位,整个32位的数保存文件的字节数,一般来说,BX设置为0,因为CX可存放的字节数为64K,对于一般的程序已足够了。 8.结束后可用Q命令退出DEBUG程序。 三、实验习题 1.写出完成下列功能的指令序列 (1)传送20H到AL寄存器 (2)将(AL)*2 (3)传送25H到BL寄存器 (4)(AL)*(BL) 问最后的结果(AX)=? 单步执行结果: 2.分别写出完成下列指令要求的指令: (1)将BX的低4位清零; (2)将AX的高4位置1; (3)将DX的低4位取反; (4)将CX的中间八位清零; (5)将AX中与BX中的对应位不相同的位均置1.

微机原理与接口技术综合性实验指导书

微机原理与接口技术实验 电子发声系统设计 【实验目的】 (1). 掌握8254接口电路的连接方法,懂得分频数据对发生频率的影响。 (2). 掌握应用汇编语言控制8254使扬声器发声的程序设计的方法步骤。【实验仪器】 PC微机一台、TD-PIT+实验系统一套。 【实验内容】 连接电子发声电路,根据实验提供的音乐频率表和时间表,编程控制8254,使其输出并驱动扬声器发出相应的乐曲。编程演奏《友谊地久天长》。 (1) 确认实验系统与PC机的连线已接通。 (2) 设计连接实验电路。 (3)运用PIT端口资源工具(CHECK程序),查看I/O片选端口始地址。 (4)编程并编译、链接。 运行程序,听扬声器发音是否正确。 【程序的数据处理】 DATA SEGMENT FREQ_LIST DW 371,495,495,495,624,556,495,556,624 ;频率表 DW 495,495,624,742,833,833,833,742,624 DW 624,495,556,495,556,624,495,416,416,371 DW 495,833,742,624,624,495,556,495,556,833 DW 742,624,624,742,833,990,742,624,624,495 DW 556,495,556,624,495,416,416,371,495,0 TIME_LIST DB 4, 6, 2, 4, 4, 6, 2, 4, 4 ;时间表 DB 6, 2, 4, 4, 12, 1, 3, 6, 2 DB 4, 4, 6, 2, 4, 4, 6, 2, 4, 4 DB 12, 4, 6, 2, 4, 4, 6, 2, 4, 4 DB 6, 2, 4, 4, 12, 4, 6, 2, 4, 4 DB 6, 2, 4, 4, 6, 2, 4, 4, 12 DATA ENDS 【上机实验报告】 ⒈上机实验所用的设备(型号或规格),实验环境条件。 ⒉简述实验原理,说明操作过程,及数据要求,给出程序的音频及延时输入数据值。 ⒊你设计的电路图是什么。

微机原理与接口技术_课程设计实验报告

课程设计实验报告 课程:现代微机原理与接口技术题目:键盘扫描实验

班级:数字媒体 1004 学号: 0305100417 学生:海洋 指导老师:天天 日期: 2012.6.18 一、实验目的 (1)掌握键盘扫描的应用及编程 (2)掌握LED的应用 二、实验设备 PC计算机一台,TD-PIT + 实验系统一套。 三、实验原理 (1)8255芯片:8255具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位。可与外设并行进行数据交换。A口和B口具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息交换。把8255并口和键盘,组成一个键盘装置。通过cpu对8255的控制最总达到键扫的目的。每一个键对应一个ASCII 码字符,通过8255的输入和输出,最终显示在屏幕上。 (2)LED数码显示原理:数码管的 7 个段及小数点都是由 LED 块组成的,显示方式分为静态显示和动态显示两种。数码管在静态显示方式时,其共阳管的位选信号均为低电平,四个数码管的共用段选线 a、b、c、d、e、f、g、dp 分别与单片机的 8 根 I/O 口线相连,显示数字时只要给相应的段选线送低电平。数码管在动态显示方式时,在某一时刻只能有一个数码管被点亮显示数字,其余的处于非选通状态,位选码端口的信号改变时,段选码端口的信号也要做相应的改变,每位显示字符停留显示的时间一般为1-5ms,利用人眼睛的视觉惯性,在数码管上就能看到相当稳定的数字显示。 (3)键盘扫描原理:第一步,使行线为编程的输入线,列线是输出线,拉低所有的列线,判断行线的变化,如果有按键按下,按键按下的对应行线被拉低,否则所有的行

微机原理与接口技术实验报告

微机原理与接口技术实验报告

2

3

实验一:数据传送 实验学时:2 实验类型:验证 实验要求:必修 一.实验目的 1.学习程序设计的基本方法和技能,掌握用汇编语言设计、编写、调试和运行程序的方法; 学习用全屏幕编辑软件QEDIT.EXE建立源程序(.ASM文件); 学习用汇编软件MASM.EXE对源文件汇编产生目标文件(.OBJ文件); 学习用连接程序LINK.EXE对目标文件产生可执行文件(.EXE文件); 学习用调试软件TD.EXE调试可执行文件; 2.掌握各种寻址方法以及简单指令的执行过程。 二.实验器材 PC机 三.实验组织运行要求 1.利用堆栈实现AX的内容与BX的内容进行交换。堆栈指针SP=2000H,AX=3000H,BX=5000H; 2.汇编、调试、观察、记录结果; ⑴用QEDIT.EXE软件输入汇编语言源程序,以.ASM格式文件存盘; ⑵用MASM对源程序进行汇编产生二进制目标文件(.OBJ文件),再用连接程序LINK产生可执行文件(.EXE文件); ⑶用调试软件TD调试、运行程序,观察、记录结果。 四.实验步骤 1.进入子目录E:>\SY86后,利用QEDIT.EXE(简称Q)送入以下汇编语言源程序,并以M1.ASM文件存盘 ⑴汇编语言程序的上机过程 ①进入\SY86子目录 E:>CD\SY86 E:\SY86> ②进入QEDIT.EXE 编辑界面 E:\SY86> Q ③输入文件名*.ASM(如M1.ASM)后,输入源程序 源程序 DATA SEGMENT PARA PUBLIC’DATA’ ;数据段定义 DB 512 DUP(0) DATA ENDS STACK SEGMENT PARA STACK’STACK’ ;堆栈段定义 DB 512 DUP( ?) 4

汇编接口综合实验——简易电子琴实验

简易电子琴 ——键盘控制电子音响发声、8x8点阵LED灯显示 实验报告 12281166 崔雪莹 12281161 安容巧 12281183 张佳悦 一、实验目的 1.了解小键盘的工作原理,学会如何使用小键盘进行控制,熟悉流程和代码编程; 2.了解电子音响的发声原理,会利用8253A级联方式控制其发出不同频率的声音; 3.了解8X8点阵LED灯的工作原理,学会显示想要显示的文字和图形; 4.实验结合8253,8259,8255和小键盘,8*8点阵的应用共同实现。 5.实验目的效果:小键盘触发按键,控制电子音响发出相应频率的声音,8X8点阵LED灯显示相应的内容。 二、实验内容 实验主要概述: 键盘控制实现两个音部(高音部、低音部)的发声,即: 当在键盘上按下‘0’、‘1’、‘2’、‘3’、‘4’、‘5’、‘6’、‘7’时,电子音响发出不同频率的低音调,当在键盘上按下‘8’、‘9’、‘A’、‘B’、‘C’、‘D’、‘E’、‘F’时,电子音响发出不同频率的高音调。 同时,在8x8LED灯上显示相应音调对应的‘1’、‘2’、‘3’、‘4’、‘5’、‘6’、‘7’、‘8’、‘9’、‘A’、‘B’、‘C’、‘D’、‘E’、‘F’。 1.小键盘按键的获取: 图1 小键盘原理图

小键盘按键获取原理: (1)判断是否有按键按下:若某行为低电平,此时该行某按键对应某列也为低电平,则说明该按键此时被按下。将8255A的A口PA0-PA3接行0到行3,B口的PB0-PB3接列0到列3。A口做输出,B口做输入。将A口输出设置为0000读取B口的此时的值,若不是全为1则说明有按键按下。无按键按下则等待。 (2)去抖动:延时,等待按键通断引起的抖动消失。延时后再读B端口,若还有按键闭合,则认为按键已确定。 (3)找到被按下的按键:用逐行扫描的方法读出此时按键相应的值。从第0行开始,输出0,顺序逐行扫描。每扫描一行,读入列线值,从0列开始,逐列检查是否为0。若为0,则表示该列有键按下;若为1,则表示无键按下。这样按顺序扫描每一行及其列值,直到找到为0列值,则该键就是被按下的键。计算按键编号。 (4)根据找到的键号,执行键号对应的程序。 2.电子音响发声 电子音响发声基本原理: 8253A的1工作方式和3方式配合可以产生占空比不同的输出方波,用这种波形可控制电子音响发出不同的音调。 使用通道0和通道2,通道0 的输出OUT0作为通道2的GATE2的门控信号;通道0工作在3方式,产生一定周期的方波信号,通道2 工作在1方式;1方式虽然不是周期输出,但是在GATE2信号上升沿周期出现时,1方式可以重新计数。通过对这两种工作方式的计数初值的合理设置,通道2可以产生不同频率的周期性信号,来控制扬声器的发声。 当3方式的方波周期大于1方式定时长度时,可通过改变1方式定时时间常数就可以改变方波的占空比(如下图2示);当3方式的方波周期小于1方式定时长度时,1方式总处于定时期间(发声停止)。 图2 波形图 3.8x8点阵LED灯显示 8x8LED灯的工作原理: 只要在行线R1-R8加上高电平,在列线C1-C8加上低电平,则两线交叉点的LED就会发光。通过此原理我们计算出了‘1’、‘2’、‘3’、‘4’、‘5’、‘6’、‘7’、‘8’、‘9’、‘A’、‘B’、‘C’、‘D’、‘E’、‘F’所对应的编码方案。并通过逐列扫描并延迟的方法实现字母的显示。

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

8086软硬件实验报告(微机原理与接口技术上机实验)

实验一实验环境熟悉与简单程序设计 实验目的 (1)掌握DEBUG调试程序的使用方法。 (2)掌握简单程序的设计方法。 实验内容 编程将BH中的数分成高半字节和低半字节两部分,把其中的高半字节放到DH中的低4位(高4位补零),把其中的低半字节放到DL中的低4位(高4位补零)。如: BH=10110010B 则运行程序后 DH=00001011B DL=00000010B 实验准备 (1)熟练掌握所学过的指令。 (2)根据实验内容,要求预先编好程序。 实验步骤 (1)利用DEBUG程序输入、调试程序。 (2)按下表要求不断地修改BH的内容,然后记录下DX的内容。 实验报告 (1)给出程序清单。 (2)详细说明程序调试过程。

程序: CODE SEGMENT START : MOV BH,00111111B MOV AL,BH MOV CL,4 SHR AL,CL MOV DH,AL MOV AL,BH AND AL,00001111B MOV DL,AL MOV CL,0 CODE ENDS END START

实验二简单程序设计 实验目的 (3)掌握DEBUG调试程序的使用方法。 (4)掌握简单程序的设计方法。 实验内容 试编写一个汇编语言程序,要求实现功能:在屏幕上显示:Hello world My name is Li Jianguo 参考程序如下:(有错) data segment out1 db 'Hello world' ax db 'My name is Li Jianguo' data ens code segment assume cs:code;ds:data lea dx,out1 mov ah,2 int 21h mov dl,0ah mov ah,2

综合设计实验六(选做)

要求: 1.已完成前面5个设计实验,并要求得优秀的同学; 2.三个实验选可做一个; 3.必须自己编写代码; 实验六出租车计费器的设计 一、实验目的 1、了解出租车计费器的工作原理。 2、学会用v erilog HDL 语言编写正确的七段码管显示程序。 3、数量掌握用v erilog HDL 编写复杂功能模块。 4、进一步数量状态积在系统设计中的应用。 二、实验原理 出租车计费器一般都是按公里计费,通常是起步价 xx元(xx元可以行走x公里),然后再是 xx元/公里。所以要完成一个出租车计费器,就要有两个计数单位,一个用来计公里,另外一个用来计费用。通常在出租车的轮子上都有传感器,用来记录车轮转动的圈数,而车轮子的周长是固定的,所以知道了圈数自然也就知道了里程。在这个实验中,就要模拟出租车计费器的工作过程,用步进电机模拟出租车轮子,通过传感器,可以得到电机每转一周输出一个脉冲波形。结果的显示用8个七段码管,前四个显示里程,后四个显示费用。 在设计verilog HDL程序时,首先在复位信号的作用下将所有用到的寄存器进行清零,然后开始设定到起步价记录状态,在此状态时,在起步价规定的里程里都一直显示起步价,直到路程超过起步价规定的里程时,系统转移到每公里计费状态,此时每增加一公里,计费器增加相应的费用。 另外讲一讲编写过程中的的一些小技巧。为了便于显示,在编写过程中的数据用BCD码来显示,这样就不存在数据格式转换的问题。比如表示一个三位数,那么就分别用四位二进制码来表示,当个位数字累加大于9时,将其清零,同时十位数字加1,依此类推。 三、实验内容 本实验要完成的任务就是设计一个简单的出租车计费器,要求是起步价3元,准行1

ARM的AD接口实验课程设计

ARM的A/D接口实验课程设计 班级:电信091 学号: 200916022121 姓名: 指导教师:陶福寿 日期: 2011年10月12日

目录 一、实验目的 (3) 二、实验内容 (3) 三、预备知识 (3) 四、实验设备及工具 (3) 硬件:ARM嵌入式开发平台、PC机Pentium100以上、用于ARM920T的JTAG 仿真器、 模拟电压信号源。 (3) 软件:PC机操作系统Win2000或WinXP、EWARM集成开发环境、仿真器驱动程序、 超级终端通讯程序。 (3) 五、实验原理及说明 (3) 1.A/D转换器 (3) 2.A/D转换的重要指标 (3) 六、实验步骤 (4) 1.编写获取转换结果函数与主函数(main.c) (4) 2. 启动H-JTAG 仿真器并进行初始化配置。 (6) 3.启动EWARM新建工程,将“Exp2 ARM A/D接口实验”中的工程文件添加到工程中 并调试运行。 (6) 七、思考题 (7) 1.逐次逼近型的A/D转换器原理是什么? (7) 2.A/D转换的重要指标包括哪些? (8) 3.ARM的A/D功能的相关寄存器有哪几个,对应的地址是什么? (8) 4.如何启动ARM开始转换A/D,有几种方式?转换开始时ARM是如何知道转换哪路通 道的?如何判断转换结束? (8)

一、实验目的 1.熟悉ARM本身自带的八路十位A/D控制器及相应寄存器。 2.编程实现ARM系统的A/D功能。 3.掌握带有A/D的CPU编程实现A/D功能的主要方法。 二、实验内容 学习A/D接口原理,了解实现A/D系统对于系统的软件和硬件要求。阅读ARM芯片文档,掌握ARM的A/D相关寄存器的功能,熟悉ARM系统硬件的A/D相关接口。利用外部模拟信号编程实现ARM循环采集全部前3路通道,并且在超级终端上显示。 三、预备知识 1、用EWARM集成开发环境,编写和调试程序的基本过程。 2、ARM应用程序的框架结构。 3、能够自己完成在LCD上显示指定参量。 四、实验设备及工具 硬件:ARM嵌入式开发平台、PC机Pentium100以上、用于ARM920T的JTAG仿真器、模拟电压信号源。 软件:PC机操作系统Win2000或WinXP、EWARM集成开发环境、仿真器驱动程序、超级终端通讯程序。 五、实验原理及说明 1.A/D转换器 A/D转换器是模拟信号源和CPU之间联系的接口,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机和数字系统进行处理、存储、控制和显示。在工业控制和数据采 集及许多其他领域中,A/D转换是不可缺少的。 A/D转换器有以下类型:逐位比较型、积分型、计数型、并行比较型、电压-频率型,主要应根据使用场合的具体要求,按照转换速度、精度、价格、功能以及接口条件等因素来决定选择何种类型。常用的有以下两种: 1)双积分型的A/D转换器 2)逐次逼近型的A/D转换器 2.A/D转换的重要指标 (1)分辨率(Resolution) 指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2”的比值。分辨率又称精度,通常以数字信号的位数来表示。 (2)转换速率(Conversion Rate) 指完成一次从模拟到数字的A/D转换所需的时间的倒数。积分型AfD韵转换时间是毫秒级,属低速A/D,逐次逼近型A/D是微秒级,属中速A/D,全并行/串并行

接口实验 报告

计算机原理及接口技术 实验报告

实验一 8253计数器/定时器实验 一、实验目的: 1.学会通过62芯总线、驱动器、译码器等,在PC/XT机外扩展新的芯片。 2.掌握8253定时器编程原理,用示波器观察不同模式下的波形。 二、实验内容: 用8253构成一个方波发生器或分频器。 1.按下图连接硬件线路: 2.编程将定时器0设为模式3(方波),定时器1设为模式2(分频),定时器0的输出脉冲作为定时器1的时钟输入。在示波器中,观察定时器0和1的输出波形及其关系。三、程序框图:

8253控制端口地址为203H 定时器0地址为200H 定时器1地址为201H 注:CLK0连接由8MHZ时钟分频得到的250KHZ,则定时器l输出OUT1约为50HZ。 四、实验源代码: TIM_CTL EQU 0EC3H TIMER0 EQU 0EC0H TIMER1 EQU 0EC1H MODE03 EQU 36H MODE12 EQU 74H CODE SEGMENT ASSUME CS:CODE START: MOV DX,TIM_CTL MOV AL,MODE03 OUT DX,AL MOV AX,01F4H MOV DX,TIMER0 OUT DX,AL MOV AL,AH OUT DX,AL MOV DX,TIM_CTL MOV AL,MODE12 OUT DX,AL MOV AX,000AH MOV DX,TIMER1 OUT DX,AL MOV AL,AH

OUT DX,AL MOV AH,4CH INT 21H CODE ENDS 五.画出OUT0、OUT1的输出波形。 六.改变定时器0计数值为奇数(01F5)时,画出其输出波形。 七.总结模式2、模式3的工作特点。 方式2——分频器(速度波发生器)有如下三个特点: 正常计数过程: 写入控制字后的时钟上沿输出OUT变高,写入计数初值后,计数器开始减1计数,

微机原理与接口课程设计报告模板(参考)

《微机原理与接口技术》 课程设计报告 班级: 学号: 姓名: 201X年X月

目录 实验一显示程序实验 (2) 实验二数据传送实验 (4) 实验三数码转换程序实验 (6) 实验四运算类程序实验 (15) 实验五分支程序设计实验 (18)

实验一显示程序实验 一、实验目的 1. 掌握在PC机上以十六进制形式显示数据的方法; 2. 掌握部分DOS 功能调用使用方法; 3. 熟悉Tddebug 调试环境和Turbo Debugger 的使用。 二、实验内容 一般来说,程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS 功能调用完成一 些提示信息的显示。实验中可使用DOS 功能调用(INT 21H )。 (1) 显示单个字符输出 入口:AH=02H 调用参数:DL= 输出字符 (2) 显示字符串 入口:AH=09H 调用参数:DS:DX=串地址,’$’为结束字符 (3) 键盘输入并回显 入口:AH=01H 返回参数:AL= 输出字符 (4) 返回DOS 系统 入口:AH=4CH 调用参数:AL= 返回码 三、实验设备 PC微机一台 四、实验代码 DATA SEGMENT MES DB 'Show a as hex:', 0AH,0DH,'$' SD DB 'a' DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV DX, OFFSET MES ;显示提示信息 MOV AH, 09H

计算机网络课程设计实验报告

中南大学课程设计报告 课程:计算机网络课程设计 题目:基于Winpcap的网络流量统计分析 指导教师:张伟 目录 第一章总体设计 一、实体类设计 --------P3 二、功能类设计 --------P3 三、界面设计 --------P3 第二章详细设计 一、实体类实现 --------P4 二、功能类实现 --------P4 三、界面实现 --------P5 第三章源代码清单及说明 一、CaptureUtil.java --------P7 二、MyPcapPacketHandler.java --------P9 三、PacketMatch.java --------P9 四、Windows.java --------P13 第四章运行结果 --------P19 第五章心得体会 --------P21 第一章总体设计 一、实体类设计 TCP、UPD、ICMP、ARP、广播数据包五个包的数据结构设计 二、功能类设计 (1)网卡获取 (2)包的抓捕 (3)包的处理 三、界面设计 (1)布局 (2)按钮功能连接 第二章第二章详细设计 一、实体类实现 TCP、UPD、ICMP、ARP、广播数据包五个包的数据结构设计。 本程序采用Java编写,基于win10pcap。Win10pcap是winpcap在win10系统上的适用版本。Java对于winpcap使用jnetpcap进行支持。对于TCP、UPD、ICMP、ARP、广播数据包五种类型的包,在jnetpcap

的jar包中大部分已经封装好了相关的实体类型。对应如下: ARP 实体类: UPD 实体类: IP 实体类: TCP 实体类: UDP 实体类: 而对于其中的广播数据包,其判断我利用捕获到的IP包的目的地址进行判断,若其目的地址为,则认为其为广播数据包。 二、功能类实现 (1)网卡获取 电脑上的包的发送与接受都得通过网卡来进行,所以为了完成局域网数据包的捕获和统计,我首先要做的是获取到电脑上的网卡列表,然后选择一个网卡进行包的捕获。而相关代码在jnetpcap的官网的示例代码1中可以找到,从中可以学习到的是jnetpcap的各种使用方法。 在我电脑上可以捕获到三个网卡,一个是本机自身的物理网卡,另外两个是虚拟机模拟出的虚拟网卡。 (2)包的抓捕 Jnetpcap中包的抓捕也是有着固定的格式的,这在官网的示例代码中也是可以找到的,只要设置好相关的参数,就可以进行抓捕 具体方法如下,利用Pcap对象的loop方法。就是实例化一个Pcap对象,然后调用其loop方法。第一个参数arg0 代表循环次数,第二个参数就是传入一个PcapPaketHandler或其子类的对象,这个对象类型是要由我们自己编写的对包处理的方法。 (3)包的处理 在这里对捕获的包的处理我是编写了一个PcapPacketHandler的子类,然后重写了nextPacket()方法。在这个方法里我把捕获到的包当作参数传递个具体的处理方法packetMatch.handlePacket(packet)。 packetMatch.handlePacket(packet)方法是由我自己编写的。handlePacket是packetMatch 的一个静态方法,可以直接调用。在这个方法里面,它会把捕获到的包的包头和T CP、UPD、ICMP、ARP、广播数据包五种类型的包的包头进行一一比较,以确认是否抓到了了相对应的包。 这儿还用到的就是jnetpcap的内部的一个方法,就是packet.hasHeader(arg0),通过在arg0传入已在jnetpcap里封装好的包的类型的实例,可以很好的判断该包是属于什么包类型的,是T CP、UPD、ICMP、ARP还是广播数据包。 然后内部对于各种包的信息的输出也有很好的支持,可以直接使用相应的toString方法,就可以输出各种相关信息。 (4)网络流量统计 对于各个捕获到的包,分别针对各种类型的包设计了一个Double变量用于统计其传送过来相应包头的大小,并在停止抓包后将统计的数据输出在最下方的TextArea里面。 三、界面实现 本程序在设计GUI时使用了Java的一个很好的插件WindowBuilder。 (1)布局 一开始使用Border Layout布局,安排好各个按钮位置,文本框位置。后来采用Absolute layout,并将窗口大小固定化。 在布局的最上方是一个JToolBar的实例对象,其中放置有选择网卡、开始抓包、停止抓包、清空记录等四个选项,中间是两个带滚动条的多行文本框,左边的用于显示捕获的包的列表,右边用于显示左边的我们选中的包的具体信息。最下方会在停止抓包按钮生效后输出总的抓包情况。

相关文档
最新文档