人机接口设备LED类部件的仿真实现 精品.docx

上传人:b****2 文档编号:2015606 上传时间:2022-10-26 格式:DOCX 页数:19 大小:247.40KB
下载 相关 举报
人机接口设备LED类部件的仿真实现 精品.docx_第1页
第1页 / 共19页
人机接口设备LED类部件的仿真实现 精品.docx_第2页
第2页 / 共19页
人机接口设备LED类部件的仿真实现 精品.docx_第3页
第3页 / 共19页
人机接口设备LED类部件的仿真实现 精品.docx_第4页
第4页 / 共19页
人机接口设备LED类部件的仿真实现 精品.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

人机接口设备LED类部件的仿真实现 精品.docx

《人机接口设备LED类部件的仿真实现 精品.docx》由会员分享,可在线阅读,更多相关《人机接口设备LED类部件的仿真实现 精品.docx(19页珍藏版)》请在冰豆网上搜索。

人机接口设备LED类部件的仿真实现 精品.docx

人机接口设备LED类部件的仿真实现精品

人机接口设备

1引言

随着计算机技术的发展,利用计算机对系统进行仿真越来越受到人们的重视,对系统仿真的理论方法和应用技术的研究也逐步深入,应用的领域越来越广。

1.1设计背景

近年来计算机、网络等信息技术在教育领域的广泛应用,虚拟实验正日益成为广大教师的计算机辅助教学手段。

虚拟实验平台正是应这个大需求而诞生。

并且随着信息技术的发展,以纯软件的形式模拟硬件接口实验平台的逻辑功能,用于接口教学。

在与硬件接口实验平台的实验步骤一致的情况下,连接线路,用汇编语言或者C语言等编写程序,再运行程序观看结果。

软件仿真无硬件平台、器件的开销和磨损;也无实验环境的时间限制。

让使用者更直观的更形象的演示实验过程和结果,更好的理解电路运行原理。

随着多媒体技术和图形图像技术的不断发展,可视化技术得到广泛的重视。

所谓可视化技术,一般是指软件开发阶段的可视化和对计算机图形技术和方法的应用。

VisualC++是个很好的可视化编程工具,使用VisualC++环境来开发机遇Windows的应用程序大大缩短了开发时间,而且它的界面更友好。

1.2项目介绍

1.2.1计算机仿真技术

计算机仿真技术是以多种学科和理论为基础,以计算机及其相应的软件为工具,通过虚拟试验的方法来分析和解决问题的一门综合性技术。

计算机仿真(模拟)早期称为蒙特卡罗方法,是一门利用随机数实验求解随机问题的方法。

其原理可追溯到1773年法国自然学家G.L.L.Buffon为估计圆周率值所进行的物理实验。

根据仿真过程中所采用计算机类型的不同,计算机仿真大致经历了模拟机仿真、模拟-数字混合机仿真和数字机仿真三个大的阶段。

20世纪50年代计算机仿真主要采用模拟机;60年代后串行处理数字机逐渐应用到仿真之中,但难以满足航天、化工等大规模复杂系统对仿真时限的要求;到了70年代模拟-数字混合机曾一度应用于飞行仿真、卫星仿真和核反应堆仿真等众多高技术研究领域;80年代后由于并行处理技术的发展,数字机才最终成为计算机仿真的主流。

现在,计算机仿真技术已经在机械制造、航空航天、交通运输、船舶工程、经济管理、工程建设、军事模拟以及医疗卫生等领域得到了广泛的应用。

1.2.2虚拟实验平台

计算机技术、大规模集成电路技术和通讯技术的飞速发展,为虚拟实验的发展奠定了坚实的基础。

虚拟实验就是在通用计算机上加载相应的软件或硬件,使得使用者在操作这台计算机时,就像是在操作一台专用的传统实验设备一样。

在虚拟实验系统中,软件是整个系统的关键,任何以个使用者都可以通过软件的相关设置来达到要实现实验的效果。

虚拟实验就是利用外部输入(如鼠标的点击、拖动和键盘的敲击等),将计算机上虚拟的各种仪器,按实验要求、过程,组装成一个完整的实验环境,同时在这个环境中完成实验操作,包括实验器材的添加、实验条件的改变、数据采集以及实验结果的模拟、分析。

它包含了虚拟仿真技术、计算机技术、实验技术等多方面理论知识。

1.2.3预期成果

本设计的预期成果是完成多功能接口实验台模拟软件的部分功能——LED类部件的仿真实现,并封装成DLL文件来实现LED类部件的功能;同时,还要求与另一些同学所设计与实现的“大型接口器件的功能演示的可视化设计”,“虚拟实验台的网络化改进方向”,“人机接口设备的仿真实现”等集成在一起,形成一个多功能的接口实验台模拟软件。

1.3研究意义

随着信息技术在教育领域的广泛应用,虚拟实验正日益成为广大教师的计算机辅助教学手段。

虚拟实验平台正是应这个大需求而诞生。

并且随着信息技术的发展,以纯软件的形式模拟硬件接口实验平台的逻辑功能,用于接口教学。

在与硬件接口实验平台的实验步骤一致的情况下,连接线路,用汇编语言或者C语言等编写程序,再运行程序观看结果。

软件仿真无硬件平台、器件的开销和磨损;也无实验环境的时间限制。

让使用者更直观的更形象的演示实验过程和结果,更好的理解电路运行原理。

1.4研究方法

系统的开发要求模拟接口实验台,开发一个多功能的接口实验台模拟软件进行设计与开发。

因此,本次应首先分析接口实验台软件的相关功能,结合本次的相关要求写出需求分析;其次,综合运用以前所学的相关知识(包括计算机接口、数据结构、编程相关知识等),选择VisualC++6.0开发工具进行本的开发;在设计中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法。

本文主要介绍的是LED类部件。

而对于LED类器件,可以在VisualC++环境下设计一个器件基类,由基类派生出不同的器件类。

在实验时,通过特定的接口调用这些器件的派生类。

本设计的核心模块是DLL工程。

DLL的主要工作读取输入信号,设置显示信息;设计LED类部件的主要功能。

用VisualC++6.0来完成。

主要负责调用DLL工程,演示LED类部件的功能。

2编程的一些基本概念

2.1基类和派生类

类是进行面向对象程序设计的基础。

它能够定义数据和对数据的操作,并通过不同的访问权限,将类的接口和内部的实现分开,支持信息的封装和隐藏。

面向对象程序设计的其它重要特征还包括:

继承和多态。

支持程序代码的复用是面向对象程序设计的主要目标之一,而支持程序代码复用的最重要的方法之一就是继承。

继承能够从一个类派生出另一个类,前者称之为基类或父类,后者称之为派生类或子类。

派生类能够继承基类的功能,也能改变或增加它的功能。

在面向对象的程序设计中,多态的功能强大,但也较难掌握。

它允许指向基类对象的指针指向派生类的对象。

基类和派生类中可有名字和参数完全相同的函数,但他们的功能并不相同。

当程序运行时,如果用基类指针调用成员函数,能够根据该指针所指向的对象的类型自行确定是调用基类的成员函数还是调用派生类的成员函数。

如果没有多态的功能,我们就不得不用条件语句,确定是调用哪一个类的成员函数。

代码复用是C++最重要的性能之一,它是通过类继承机制来实现的。

通过类继承,我们可以复用基类的代码,并可以在继承类中增加新代码或者覆盖基类的成员函数,为基类成员函数赋予新的意义,实现最大限度的代码复用。

2.2入口函数

在VisualC++中,可以创建不用MFC而直接用C语言写的DLL程序,也可以创建基于MFC类库的DLL程序。

每一个DLL必须有一个入口点,在VC++中,DllMain是一个缺省的入口函数。

DllMain负责初始化(Initialization)和结束(Termination)工作。

利用MFC的AppWizard自动生成的DLL框架中没有显式的调用DLLMain入口函数,但是对于每个DLL来说,将自动生成一个CWinApp派生类的对象,它会在派生类的成员函数InitInstance和ExitInstance中完成必要的初始化和终止工作。

2.3输出接口函数

对于使用AppWizard创建的MFCDLL,AppWizard会创建一个DEF文件的框架,并自动增加到工程中,然后在DEF文件中增加用于输出的。

;DLL名字

LIBRARY"DLed2DLL"

;DLL描述

DESCRIPTION'DLed2DLLWindowsDynamicLinkLibrary'

;输出函数及其编号

EXPORTS

在此加入被调用的函数

3LED的特性参数

3.1LED的分类

按发光管发光颜色分,可分成红色、橙色、绿色(又细分黄绿、标准绿和纯绿)、蓝光等。

另外,有的发光二极管中包含二种或三种颜色的芯片。

本文中讨论的2种LED灯都用红色。

按发光管出光面特征分圆灯、方灯、矩形、面发光管、侧向管、表面安装用微型管等。

本文中讨论的普通LED灯属于圆灯,而“8”字灯是用7个矩形的小灯来表示。

3.2LED的特性

3.2.1LED的发光原理

发光二极管是由Ⅲ-Ⅳ族化合物,如GaAs(砷化镓)、GaP(磷化镓)、GaAsP(磷砷化镓)等半导体制成的,其核心是PN结。

因此它具有一般P-N结的I-N特性,即正向导通,反向截止、击穿特性。

此外,在一定条件下,它还具有发光特性。

在正向下,由N区注入P区,空穴由P区注入N区。

进入对方区域的少数载流子(少子)一部分与多数载流子(多子)复合而发光。

3.2.2LED的响应时间

LED的点亮时并不是管脚输入高电平后立刻就达到正常的亮度的,它需要一定的响应时间,虽然只是纳秒级的时间差,肉眼无法观察的到的,同样熄灭时也是一样的。

响应时间从使用角度来看,就是LED点亮与熄灭所延迟的时间。

即图1中tr、tf。

图中t0值很小,可忽略。

LED的点亮时间——上升时间tr是指接通电源使发光亮度达到正常的10%开始,一直到发光亮度达到正常值的90%所经历的时间。

LED的熄灭时间——下降时间tf是指正常发光减弱至原来的10%所经历的时间。

响应时间主要取决于载流子寿命、器件的结电容及电路阻抗,所以不同材料制得的LED响应时间各不相同。

如GaAs、GaAsP、GaAlAs其响应时间<10-9S,GaP为10-7S。

图1LED的响应时间

4系统的总体设计

4.1要实现的功能

LED类部件的功能说起来比较简单,就是从信号输入管脚输入一个或一组信号,将这个或这一组信号直观的用亮灭来表现出来。

为了力图仿真的效果,这里加入了响应时间的因素,以达到接近真实的情况。

如图1,可以看出LED类部件不是一下就达到正常亮度,也不是一下就完全熄灭的,其亮度是经过了中间无数个状态才达到正常亮度或熄灭的,这样仿真的解决方法是在点亮和熄灭的过程加入几个中间色作为过度,以达到对真实情况的模拟。

4.2工程的建立

打开VisualC++6.0操作界面,建立工程类型为MFCAppWizard[dll]的对话框文档的新工程,系统自动为用户创建CDLed2DLLApp这个类。

创建过程如图2-图4所示(这里以普通单色LED工程的建立为例)。

图2DLL工程的建立1

图3DLL工程的建立2

工程建立完成后把VisualexDoc、Dponent和line两个类及他们各自的头文件VisualexDoc.h、Dponent.h和line.h拷贝到DLed2DLL当中,然后在FileView中在SourceFiles文件夹点击右键选择“AddFiletoFolder..”一项,将VisualexDoc.cpp、Dponent.cpp和line.cpp填加到文件夹中,并在HeaderFiles文件夹点击右键选择“AddFiletoFolder..”一项,将VisualexDoc.h、Dponent.h和line.h填加到文件夹中,这样就把以前有的器件基类、VisualexDoc类和Cline类填加到工程中了。

然后再建立一个DLed2类。

方法如下:

菜单栏中选择“Insert”——>“NewClass...”,就会出现如下的对话框,“Classtype”中选择GenericClass名称为DLed2,然后点击确定就会出现DLed2类和他的的头文件DLed2.h了。

图4类的建立

这样工程就已经建立了,用来编写代码以实现LED的功能。

4.3主要类和函数介绍

4.3.1主要的类

Dponent类,是器件类的基类,所有器件都是由它派生出来的。

VisualexDoc类,用于实现可视化功能。

line类,用于对电路图中的线进行操作,如在不同器件的管脚间连线等。

Dled2类,从基类中派生的普通单色LED灯的类。

Dled8类,从基类中派生的“8”字灯的类。

4.3.2主要的函数

ReadInfo(FILE*file,CVisualexDoc*pDoc):

是负责读取保存在文本文档中器件的状态的,例如器件信息(名称,位置,大小,引脚数等),引脚信息(引脚号,位置,名称等)等描述器件状态的。

属于器件类的成员函数。

DrawObject(CDC*pDC)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1