计算机组成原理实验系统的图形界面控制系统的总体设计方案与实现毕业论文.doc
《计算机组成原理实验系统的图形界面控制系统的总体设计方案与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《计算机组成原理实验系统的图形界面控制系统的总体设计方案与实现毕业论文.doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录摘要: 计算机组成原理是大学计算机教学一门重要的课程,它的工程性、技术性和实践性这些特点决定了我们在进行课堂教学的同时必须对于实验教学予以重视。这是一门抽象的实验课程,从而决定了教学的难度,如果能够像看动画一样直观的看到实验系统内部的数据流动,那么就能更好的理解实验更好的促进教学。随着高级程序设计语言的出现,方便的工具的问世,计算机图形学的发展,图形程序的开发变得越来越容易。有了这些,设计一个和硬件系统配合的软件平台变得可行。本文将要讨论一下如何设计一个可配合教学的动画。本文给出了使用工具VC+ 6.0开发一个计算机组成原理实验系统的图形界面控制系统的总体设计方案与实现。首先进行系统的概要
2、设计,论证了可行性,接着简单介绍开发工具,然后叙述了开发过程中用到的重要知识,最后分析整个软件系统的结构、功能设计与实现。关键字:计算机组成原理,动画,VC+ 6.0第一章 前言1.1 研究的背景和目的随着计算机的普及,计算机成为人们生活中不可缺少的部分,如今各个高校都开设了计算机课程。计算机组成原理课程作为计算机课程的基础专业课,它的工程性、技术性和实践性决定了这门课程仅仅依靠课堂教学是远远不够的,于是计算机硬件实验成为计算机教学的一个重要教学环节。但是,目前的计算机组成原理实验主要依靠实验箱,通过开关进行输入,信号灯观察输出。这种方法很抽象,对教学的效果和进度都有很大影响,如果能够以图形的
3、方式显示出计算机内部的数据流动情况就会方便学生的理解,友好的界面让操作简单,让同学们在轻松的环境下做好实验,同时能够增加同学们的学习兴趣。另外,市场上虽然有很多类似的产品出售,但是价格一般在几千元,对于一般的学校很难承担的起。在这种情况下,一方面实验老师的教学任务繁重,不仅要做好实验教学前的备课,还要提前熟悉所用设备及其维护工作,而且根据设备的不同,其维护和管理的工作量也大不一样,这样让老师不能把精力有效的放到教学上;另一方面学生要提前熟悉所用设备的设计,浪费了大量的时间,影响实验进度,限制了学生发挥主观能动性的灵活性,实践能力也得不到有效的提高。在程序设计语言和设计工具的发展下,随着大规模集
4、成电路工艺的提高,设计一个友好实用的实验系统有了基础并且成为必然要求。1.2本论文的研究目标和任务本论文主要介绍应用VC+6.0开发实现友好的实验系统的界面,并可以通过串口与模型机联机通信,以控制模型机运行,采集模型机数据在绘图界面上动态显示。论文需要分析系统功能,以及详细阐述系统的设计与实现。1.3本论文的工作和内容本论文的主要工作是介绍开发界面系统的过程,工作完成了对实验系统的程序载入执行和CPU运行过程的动态演示。论文共分为六章:第一章为前言部分,介绍了论文的背景,研究目的和工作内容。第二章为系统概述,介绍了实验系统的主体设计。第三章是对本论文中用到的工具的简介。第四章是串口通信的介绍,
5、是系统的重要组成部分。第五章重点介绍了系统的设计实现方法。第六章是对本论文的设计进行的概括总结。PC机串行接口单片机FPGAFPGARAMROM接口单元CPU微控器第二章 系统概述2.1 系统整体概述实验系统由硬件实验平台和软件显示平台两大部分组成。实验的功能操作主要由硬件实验平台完成。软件显示平台以图形加数据的方式动态显示实验中各部件内部的工作状态和数据流向。系统整体结构如图2.1所示。图 2.1 系统整体结构图2.2 硬件设计部分概述系统硬件部分主要是提供计算机系统设计实现的载体FPGA,并由通信接口部件对硬件电路部分进行管理。主要实现的设计功能是:通信接口部件是主要控制部件,接收单片机的
6、命令完成管理外存RAM的读写、实验板总线控制及与单片机数据通信等功能;RAM部分是实验板的主要存储部件,同时也是计算机系统的外存,它受通信接口部件控制写入读出数据,这些数据包括由单片机传来的指令和数据、CPU系统内计算机系统的过程数据和结果,其中,单片机传来的指令和数据是用来控制计算机系统工作,计算机系统的过程数据和结果是用来反馈给PC机以完成图形模拟。2.3 软件设计部分概述2.3.1 软件系统功能需求用VC6.0制作系统显示界面,界面作为用户与系统对话的窗口,为用户提供系统的操作接口,包括载入程序,执行程序,可以控制程序的运行,系统内部的运行情况以动画的方式显示出来供用户分析实验。界面如图
7、2.2所示。图 2.2 软件界面2.3.2 软件系统概要设计分析软件平台划分为视图部分、控制部分、模拟部分和通信部分。这四个部分之间的关系请参看图 2.3 。图 2.3 软件系统结构图视图部分:视图部分要求能够显示微指令、指令,以及以图形的形式显示接口部分收到的信息,主要是寄存器和总线的状态信息。根据这几项功能现在将界面安排如下。模块划分 窗口下部分占四分之一,命名为OutPut模块,用于以后扩展附加功能。可以用对话框动态加载实现。窗口上部右方占四分之三,命名为Draw模块,用于绘图。窗口上部左边四分之一,在把这四分之一等分为上下两部分,上一部分命名为ShowIns模块, 用于显示程序。下一部
8、分命名为ShowMIns模块,用于显示微程序。功能定义OutPut 暂时不作定义。Draw 定义为用Windows的用户图形接口绘制出框图表示对应于模型机的部件,并绘制出各个部件之间的连线。同时为每一个部件模型和连线模型定义标志位,并根据标志位将图形绘制出不同的颜色。这一组标志位是图形部分和控制部分的接口。ShowIns和ShowMIns 的功能大致相似,要求以表格的形式显示地址和保存在地址中的数据。控制部分控制部分的控制划分为两部分,一部分是控制视图模块,包括控制ShowIns和ShowMIns的对程序和微程序的显示以及通过Draw模块的接口控制绘图。另一部分是通过串口通信控制模型机的运行状
9、态并且采集模型机信息。有两部分可以影响到绘图,一部分是串口信号,另一部分是可以采用模拟的方法发送信号供显示模块绘图。本程序中使用分散控制的方式,控制模块分别分散在视图部分、模拟部分和通信部分中。如图 2.4 所示。图 2.4 控制部分结构图模拟部分为了在没有连接模型机的情况下也能够看到实验程序运行的方式,增加一个模拟部分,模拟部分负责产生显示图形所需要的信息通过绘图模块的接口设置状态信息控制绘图。模拟部分分为两个模块,实体模块和驱动模块。实体模块模拟寄存器、ALU等功能实体。可以用C+中的基本数据类型定义。驱动模块定义了实体模块中的操作。这个模块可以改变实体模块中的数据和状态,可以读取实体模块
10、的状态,并负责与绘图模块通信。具有控制模块的功能。请参看图 2.5。图 2.5 模拟部分结构图通信部分通信部分负责通过串口与单片机相连,可以发送控制命令和接受来自单片机采集到的模型机的状态信息。这些状态信息对于绘图是有用的,通过绘图模块的接口控制绘图,并且需要根据绘图完成情况对模型机发送控制信号。通信部分划分为采集模块和外部控制模块。采集模块负责分析采集到的信息控制绘图,外部控制模块负责控制模型机的运行状态,其中控制模块控制信息的发出需要根据由显示模块反馈的信息。请参看图 2.6。图 2.6 通信部分结构图第三章 工具介绍3.1 Windows 程序设计简介3.1.1 窗口窗口是Windows
11、应用程序基本的操作单元,是应用程序与用户之间交互的接口环境,也是系统管理应用程序的基本单位。一个基本的Windows应用程序窗口的组成如图 3.1 所示。编写一个Windows应用程序首先应创建一个或多个窗口,随后应用程序的运行过程即是窗口内部、窗口与窗口之间、窗口与系统之间进行数据处理与数据交换的过程。图 3.1 窗口的组成3.1.2 事件驱动、句柄与消息Windows程序设计围绕时间或消息的产生驱动运行处理函数。所谓消息就是描述事件发生的信息。Windows程序的执行顺序取决于事件发生的顺序。一个句柄是指Windows使用的一个唯一的整数值,用于标识应用程序中不同的对象和同类对象的不同实例
12、。消息的定义是用结构体来表示的,Windows常用的消息有:窗口管理消息、初始化消息、输入消息、系统消息、剪贴板消息等。3.2 图形设备接口及windows绘图3.2.1 图形设备接口Windows图形设备接口是为与设备无关的图形设计的。对于开发人员,所要做的工作仅仅是在系统的帮助下建立一个与实际输出设备的关联,以要求系统加载相应的设备驱动程序,其他的具体输出操作由系统实现。图形的刷新是绘图过程中必须考虑的问题,Windows中是通过发出刷新请求,系统相应请求来完成刷新的,系统通常通过发送WM_PAINT消息来发送刷新请求。系统对刷新请求的响应分为窗口移动后的刷新,被覆盖区域的刷新和鼠标穿越后
13、的刷新。应用程序输出图形首先需要获取设备环境,通过调用BeginPaint和GetDC函数来获取设备环境。3.2.2 绘图工具和颜色的设计绘图工具有画笔、画刷。在使用画笔之前必须创建画笔,系统定义了四种画笔分别是WHITE_PEN, BLACK_PEN, DC_PEN, 和NULL_PEN. 通过调用CreatePen函数来创建,在创建了画笔之后用SelectObject函数将画笔选入设备环境,用完之后调用DelectObject删除画笔。画刷的使用和画笔相同。3.3 MFC简介3.3.1 MFC概述MFC( Microsoft Foundation Class) 用来编写Windows应用程
14、序的C+类集,该类集以层次结构组织起来,其中封装了大部分Windows API函数和Windows控件,它所包含的功能涉及到整个Windows操作系统。3.3.2 MFC中类的组织结构MFC 类库中类是以层次结构的方式组织起来的,几乎每个层次结构都与一具体的Windows实体相对应,一些主要的接口类管理了难以掌握的Windows接口,这些接口包括:窗口类,GDI类,对象链接和嵌入类(OLE),文件类,对象I/O类,异常处理类以及集合类等。MFC库中的类按层次关系划分可分为如下若干类:根类:CObject应用程序体系结构类窗口、对话框和控件类绘图和打印类简单数据类型类数组、列表和映像类文件和数据
15、库类Internet 和网络工作类OLE类调试和异常类3.3.3 文档-视图结构文档-视图结构是在Visual C+ 中使用MFC开发基于文档的应用程序的基本框架。在这个框架中,数据的维护及显示分别由两个不同但又彼此紧密相关的类文档类和视图类负责。文档-视图结构在很多场合与传统的编程方式相比要更有利于应用程序的编写。在文档-视图结构中,文档的任务是对数据进行管理和维护。数据通常被保存在文档类的成员变量中。在Visual C+ 中,文档类通过一个称为串行化(serial)的过程将数据保存到磁盘文件或数据库中。MFC类库为数据的串行化提供了默认的支持,我们只需要在此基础上稍加修改,就可以为自定义的
16、文档类提供串行化的支持。文档类还可以处理命令消息,这里所谓的命令消息是指来自如菜单、工具栏按钮和加速键的WM_COMMAND 通知消息。除了WM_COMMAND 外,文档不能处理其他的Windows 消息。由此可以看出,命令消息可以被多种对象处理,这些对象除了窗口和视图外,还可以是文档、文档模板或应用程序本身。这一点与Windows 消息和控件通知消息不同,因为Windows 消息和控件通知消息只能被窗口和视图处理。视图类在文档和用户之间起中介作用。视图可以直接或间接的访问文档类中的这些成员变量,它从文档类中(而不是从存储介质中)将文档中的数据取出来,然后在屏幕上显示文档的数据。同时,它可以接
17、受用户的输入,并接受用户的修改,通过调用文档和视图的接口将修改的信息反馈给文档类,实际的数据更新仍然由文档类来完成。每一个文档可以有多个视图,但每个视图只能对应于一个确定的文档。也就是说,视图是文档的不同表现形式。比如,一个*.html文件,在浏览器里和在记事本中打开的表现形式是不同的,但是它们操作的是同一个文件。这就是一个文档对应两个视图的例子。总之,文档-视图结构的工作机制是:在通常情况下,视图功过GetDocument 成员函数获得指向相关联的文档对象的指针,并通过该指针调用文档类的成员函数来从文档中读取数据。视图把数据显示于计算机屏幕上,用户通过与视图的交互来查看数据并对数据进行修改。
18、然后,视图通过相关联的文档类的成员函数将经过修改的数据传递给文档对象。文档对象获得修改过的数据之后,对其进行必要的修改,然后保存到永久介质(如磁盘文件)中。3.4 VC+6.0 开发环境3.4.1 VC+6.0 开发环境概述Visual C+ 6.0 采用可视化编程,所谓可视化技术,一般是指软件开发阶段的可视化和对计算机图形技术和方法的应用。使用Visual C+ 环境来开发Windows 应用程序大大缩短了开发时间,而且界面更友好,便于程序员操作。开发环境的由菜单栏、工具栏、项目工作区、资源编辑器等组成。3.4.2 菜单栏File 菜单:New 选项,通过New 选项打开New 对话框,使用
19、此对话框可以创建新的文件、项目、工作区或其他文档。Edit 菜单:1)Breakpoints 选项选中该选项将弹出Breakpoints 对话框,用于设置、删除和查看断点。断点实际上告诉调试器应该在何时何地中断应用程序的执行过程,以便检查程序代码、变量和寄存器值,必要的话可以修改、继续执行和中断执行。2)List Members 选项该选项可以用来适当减轻程序员输入源程序代码的负担。输入代码时,如果在变量名之后键入 “ . ” ,或 “-” ,那么系统会自动列表显示所有有效的成员名,这时只要键入成员的前几个字母就可从列表中选中该成员,按Tab 键即可完成输入;也可用滚动条找到待键入的成员名,然
20、后用鼠标双击成员名来完成。3)Type Info 选项如果将鼠标指针停在源代码中某一变量或函数上,那么系统将显示所指变量或函数等的语法。4)Parameter Info 选项输入代码时,如果在输入函数名之后键入左括号,那么系统将显示该函数的完整原形,并用黑体显示其第一个参数。输入第一个参数值之后,接着就会出现第二个参数,以此类推。5)Complete Word 选项系统自动完成当前语句其余部分的输入。如果不能自动完成,则给出适当的提示辅助用户完成。View 菜单1)ClassWizard 选项选中该选项将弹出MFC ClassWizard 对话框。2)Resource Symbols 选项该选
21、项将打开资源符号浏览器,从中可以浏览和编辑资源符号。资源编辑符号是映像到整数值上的一串字符,相当于资源的一个代号,因此可以在源代码或资源编辑器中通过资源符号引用资源。3)Resource Includes 选项选中该选项将弹出Resource Includes 对话框。对话框中显示资源符号文件名和预处理指令。4)Workspace 选项如果工作区没有显示或者不是处于当前状态,选择该项将显示工作区窗口。5)Output 选项在输出窗口(Output)中显示程序建立过程(如编译、链接等)的有关信息,并且显示调试运行市的输出结果。6)Debug Windows 选项选择该选项将弹出级联子菜单,子菜单
22、中的命令只有在调试运行状态才可用。Insert 菜单1)New Class 选项选中该选项将打开New Class 对话框。2)New Form 选项选中该选项将打开New Form 对话框,以便创建新的表单并添加到项目中,该对话框的形式与New Class 对话框非常相似。3)Resource 选项创建新的资源或插入到资源文件中。4)Resource Copy 选项要选中该选项必须先选中某个资源。该选项用于复制选定的资源。5)New ATL Object 选项添加新的ATL 对象到项目中。3.4.3 工具栏工具栏是一种图形化的操作界面,具有直观和快捷的特点,熟练掌握工具栏的使用对提高编程效率
23、非常有帮助。工具栏由某些操作按钮组成,分别对应着某些菜单选项和命令的功能。用户可以直接用鼠标单击这些按钮来完成指定的功能。用户可以根据自己的需要添加新的工具栏,或者对已有工具栏进行修改,如添加新按钮、删除已有按钮等。若需要添加工具栏,只需选择 Tools | New 选项,然后输入相应的名字即可。3.4.4 项目与项目工作区Visual C+ 6.0 以项目工作区的形式来组织文件、项目和项目配置。每个项目工作区由工作区目录中的项目工作区文件组成。项目工作区文件(.DSW)含有工作区的定义和项目中所包含文件的所有信息。项目工作区由ClassView(类显示)面板、ResourceView (资源
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机组成原理实验系统的图形界面控制系统的总体设计方案与实现 毕业论文 计算机 组成 原理 实验 系统 图形界面 控制系统 总体 设计方案 实现
限制150内