当前位置:文档之家› 嵌入式开发-基于QNX实时操作系统的图形控制界面设计

嵌入式开发-基于QNX实时操作系统的图形控制界面设计

嵌入式开发-基于QNX实时操作系统的图形控制界面设计
嵌入式开发-基于QNX实时操作系统的图形控制界面设计

《信息化纵横》 2009年第18期

7

欢迎网上投稿https://www.doczj.com/doc/c55605600.html,

在计算机控制系统中,采用图形界面对被控对象实施控制具有结构清晰、操作方便、界面友好等优点。但目前工业控制等领域采用的图形控制界面开发平台多为通用的组态软件,这种图形控制软件依赖Windows 平台运行,稳定性和可靠性不高,在工作环境恶劣、可靠性要求高的系统中应用较少。实时操作系统是专门用于实时控制的一类操作系统,相比于常用的分时操作系统,实时操作系统大多拥有微内核,并且通过对结果返回的时间限制来实现程序运行的可预测性,因此具有较高的稳定性和可靠性。近年来,随着实时操作系统在一些可靠性和实时性要求较高的领域的成功应用,实时操作系统得以快速发展。为适应硬件的发展和用户的需求,各大实时系统开发商都开发出适合该系统的图形控制界面,如VxWorks 的WindML 和QNX 的PhAB。本文在船舶动力装置控制系统设计中,以QNX 实时操作系统为基础,研究了图形控制界面设计的特点,设计了系统控制程序。

1 图形界面开发环境

PhAB(Photon Application Builder)是QNX 集成开发环境(QNX Momentics IDE)附带的图形界面编辑器。PhAB 承接了QNX 微内核和可优化裁减的优点,使用PhAB 编写出的系

统除用于核心内存保护的微内核和一些必要的核心管理器之外,其他功能都是可选择的。这种设计不仅保证了作为实时系统的高可靠性和实时性,也在很大程度上提高了使用PhAB 所开发的图形界面控制系统的应用范围[1]。

PhAB 采用所见即所得的控制界面开发模式,并带有常用控件数据库,在控制界面设计时可以直接在界面编辑区域创建工作控件并进行所需设置,而无需程序编写。

基于QNX 的控制界面和程序设计支持主机——目标机的开发模式,主机用于界面和程序的设计编写,目标机用于运行编译好的程序。主机可以是装有Windows 或Linux 等常用操作系统的PC,且支持多人同时对同一系统进行开发。本系统的控制界面和程序就是在装有QNX Momentics IDE 4.0.1的Windows XP 操作系统的PC 上进行设计的。

2 软件设计

系统软件设计分2个部分:一部分是系统控制界面设计,QNX 提供了多种方式对控制界面进行个性化设置,可以在PhAB 中创建编辑,也可以使用QNX 提供的函数进行编写;另一部分为控制系统程序设计, QNX Momentics IDE 支持多种语言对基于QNX 的应用程序进行开发,包括Java、C 和C++等。

基于QNX 实时操作系统的图形控制界面设计

石 峰,胡大斌,胡锦晖

(海军工程大学 船舶与动力学院,湖北 武汉 430033)

摘 要:介绍了在QNX 实时操作系统图形界面开发环境PhAB 下软件设计的特点,并结合船舶动力装置控制系统的具体要求,设计了船舶动力装置控制系统图形控制界面和程序。

关键词:QNX;PhAB;船舶动力装置;图形界面

中图分类号:TP274

文献标识码:A

Design of graphics control interface based on QNX RTOS

SHI Feng,HU Da Bin,HU Jin Hui

(College of Naval Architecture and Power,Naval University of Engineering,Wuhan 430033,China)

Abstract :The characteristics of software design in QNX RTOS′s photon application builder(PhAB) are described in this paper. Combining with detail requirments of control system on marine power, design the photon interface and program of this system.

Key words : QNX; PhAB; marine power; photon interface

8

《信息化纵横》 2009年第18期

2.1 界面设计

控制界面部分的设计主要在PhAB 中完成。PhAB 以类的方式定义每一个控件,共有76个控件类,其中大部分在PhAB 中都有相应的图标与之对应,控件的总父类为PtWidget。每个控件类由多个不同的资源(resources)来定义,例如在文本控件(PtText)中,字体的类型、大小、颜色都是该控件的资源。值得注意的是,PhAB 中不允许两个控件拥有同一个名字,并且一个控件被创建后,系统将为该控件指定一个由前缀“ABN_”加控件名组成的局部变量名和一个由前缀“ABW_”加控件名组成的指向该控件的指针,当需要调用该控件时,可以直接使用为其分配的局部变量名或指针。

以资源的方式定义控件类提高了控件编辑的效率。QNX 提供了多个函数对控件的资源进行读写操作,常用到的如PtSetResources( )和PtGetRosources( )就是对控件类的单个或多个资源进行读写操作的函数。系统中各种控件状态变化频繁,需要经常对控件的一个或几个资源进行更改,如下所示为系统中使某个阀件标识背景图形变换的程序片段:

PtArg_t arg[2]; //定义控件资源的数据结构PhImage_t *image;…

/*以下是对控件资源的读取和设置*/

PtSetArg(&arg[1],Pt_ARG_ARM_IMAGE,&image,0);PtGetResources(ABW_Button1,1,&arg[1]);PtSetArg(&arg[1],Pt_ARG_ARM_IMAGE,image,0);PtSetResources(ABW_Button2,1,&arg[1]);PtBkgdHandlerProcess();…

在PhAB 中,不仅可以将不同的控件组合成一个只具有它们共同属性的组合控件,还可以将个性化的控件类定义为自己的模板,下次需要使用同类型控件时,只需直接调用即可。同时,PhAB 还提供了一个叫做类型转换(Change Class)的强大功能。顾名思义,类型转换就是可以任意改变控件所属的类,而控件的类又是控件所有属性的集合。使用此功能不仅可以随意改变控件的类型,还可以方便地制作形状不同的各类控件。如若制作一个特殊形状的按钮控件,只需把控件的形状在绘图软件上画好后导入PhAB 中,再使用类型转换的功能将其定义为一个PtButton 控件就可以了。

图1为系统控制界面的截图,图中线条、方框和各种按钮都作为一个或几个控件类而存在,控制面板对系统相关部分进行控制,被控对象的不同状态将以不同的颜色在界面的对应标识上表示。

PhAB 为每个控件提供十余种程序调用方式,常用到的有按下调用(Armed)、点击调用(Activated,点击为一

1

控制界面截图

《信息化纵横》 2009年第18期

9

欢迎网上投稿https://www.doczj.com/doc/c55605600.html,

个在同一控件上按下然后松开的过程)、热键调用(Hotkey)和鼠标右键按下调用(Menu)等,系统默认它们分别调用Pt_CB_ARM、Pt_CB_ACTIVATE、Pt_CB_HOTKEY 和Pt_CB_MENU 函数,如果需要调用自定义的函数,可以直接在提供的对话框中输入需调用的函数名和所在文件。当触发的事件是显示一个窗口或对话框时,还可以指定调用是在窗口构建之前还是之后。2.2 程序设计

QNX Momentics IDE 支持C/C++语言对系统进行设计,并且兼容C++标准模板库(STL),熟练的C/C++程序员可以很快地掌握在QNX Momentics IDE 中进行程序编写的技巧。值得一提的是,在QNX 集成开发环境下对图形界面控制系统的主程序进行编写并不用直接对main()函数进行编辑,而是将编写的程序挂载到main()函数中,并可以选择程序是在图形界面生成前运行还是之后运行。系统主程序的方框图如图

2

所示。

图2 主程序方框图

在程序运行时,预处理命令先于生成图形界面部分执行,它与系统初始化及以后的程序不在同一个编写的函数中,但都是main( )函数的一部分。读取并显示状态信号部分程序在执行中会自动检测信号所标识状

态是否达到或超过警报值和危险值,当读取到警报值信号时,系统将自动发出报警;存在危险值信号时,系统将按编写的程序自动处理。

在控制系统运行时,需要同时进行多项运算。如对某个阀发出开阀的控制命令时,系统不仅要显示需更改阀图标的变换(以标识该阀正在进行相关操作),还要进行数据采集、逻辑运算等。若此时某项指标达到警戒值,还要能及时进行相关处理。因此,除了应用中断的方式提高程序运行效率外,还有必要进行多线程编程。

QNX 为多线程编程提供了丰富的函数。如线程创建函数pthread_create( )、ThreadCreate_r( )和ThreadCreated( ),线程终止函数pthread_exit( )、ThreadDestroy( )和Thr ead Destroy_r( )等。当然,各个函数的使用有差别,以线程创建函数为例,相比于pthread_create( )函数,ThreadCreate_r( )和ThreadCreated( )都是从内核直接创建线程,并且它们的使用方法很相似,ThreadCreate_r( )函数与ThreadCreated( )函数的唯一区别在于创建线程出错时的返回值不同。下面是系统中用pthread_create( )函数创建的一个信号处理线程:

void* chuli( void* arg ) //新创建的线程

{

/*信号处理程序*/ return( 0 );}

int buttondown(){…

thread_attr_t attr;

/*线程初始化并进行参数设置*/pthread_attr_init( &attr );

p t h r e a d _a t t r _s e t d e t a c h s t a t e (&a t t r ,PTHREAD_CREATE_DETACHED );

pthread_create( NULL, &attr, &chuli, NULL );

//创建新线程…}

在多线程程序的编写过程中,需要使用互斥体来保护线程的数据访问,以保证公共数据不被其他线程修改破坏。在QNX 中,可以使用函数pthread_mutex_init( )来创建一个互斥体,使用函数pthread_mutex_lock( )和pthread_mutex_unlo ck( )来锁住一个互斥体和为一个互斥体解锁。

本系统运行的硬件平台为一台SBS 公司的VP9 6U VME Single Board Computer,一块由Acromag 公司生产的AVME9668 VME bus 6U Non-intelligent IP Carrrier Cards 和IP408 High Voltage Digital Input/Output 信号采集模块,单板机和信号采集卡都插在基于VME64x 总线协议的6U

标准机箱中运行。长时间的调试运行表明,本文所设计的基于QNX操作系统的图形控制软件运行稳定、可靠,实现了系统功能,达到了既定要求。

参考文献

[1]QNX官方网站.QNX SOFTWARE SYSTEMS Ltd[EB/OL].Http://

https://www.doczj.com/doc/c55605600.html,,2008-10-10.[2]曹冰冰.基于QNX实时操作系统的测试系统的开发[N].西安:西

北工业大学,2002.

[3]王冬霞,王茂,单家方.基于QNX的分布式采集控制系统[J].核聚

变与等离子体物理,2007,27(4):334-338.

(收稿日期:2009-06-24)

《电子技术应用》 https://www.doczj.com/doc/c55605600.html,

实验三图形用户界面设计(汽院含答案)

实验三图形用户界面设计 实验目的 1.掌握Java语言中GUI编程的基本方法 2.掌握Java语言中AWT组件的基本用法 3.掌握Java语言中Swing组件的基本用法 实验导读 1.通过图形用户界面(GUI:Graphics User Interface),用户和程序之间可以方便地进行 交互。 AWT(Abstract Windowing Toolkit),中文译为抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具。AWT由Java中的包提供,里面包含了许多可用来建立与平台无关的图形用户界面(GUI)的类,这些类又被称为组件(components)。 Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。 JDK写程序所有功能都是靠虚拟机去操作本地操作系统。比如window下,就是JDK 用windows API实现功能。而awt包中很多组件是组件自身去调用本地操作系统代码swing包中的组件采用的是调用本地虚拟机方法,由虚拟机再调用本地操作系统代码。意思就是中间多了一层,这样就加强了swing包的移植性,与本地关系不那强了。 图AWT常用组件继承关系图 Container为容器,是一个特殊的组件,该组件中可以通过add方法添加其他组件进来。 2.布局,容器中的组件的排放方式。常见的布局管理器: FlowLayout(流式布局管理器):从左到右的顺序排列。Panel默认的布局管理器。 BorderLayout(边界布局管理器):东,南,西,北,中。Frame默认的布局管理器。 GridLayout(网格布局管理器):规则的矩阵

嵌入式控制系统综合实验

《嵌入式控制系统综合实验》课程 实验报告 项目名称 基于STM32的手机输入法 南京理工大学 2017年6 月

目录 1 设计背景 (2) 2 系统总体方案 (3) 3 系统具体设计 (4) 3.1 手写识别原理 (4) 3.2手写识别程序设计 (6) 3.3手写识别硬件设计 (10) 3.4拼音九键输入原理 (10) 3.5拼音九键软件设计 (11) 3.6拼音九键硬件设计 (13) 4 编译调试 (14) 4.1 手写识别、拼音输入法单项调试 (14) 4.2 手写识别、拼音输入法组合调试 (18) 5总结 (19)

1 设计背景 随着计算机技术和微电子技术的迅速发展,嵌入式系统应用领域越来越广泛。随着IC设计的发展,出现了工业化ARM芯片,ARM微处理器及技术已经深入到各大领域,并取得了很大成功,如无线通信领域、蓝牙技术、网络应用领域、消费类电子产品领域、信息家电领域等。 目前几乎所有带触摸屏的手机都能实现拼音输入和手写识别输入。 Cortex-M3采用ARM V7构架,不仅支持Thumb-2指令集,而且拥有很多新特征。较之ARM7 TDMI,Cortex-M3拥有更强劲的性能、更高的代码密度、位带操作、可嵌套中断、低成本、低功耗等众多优势。 本次嵌入式实验,我们采用基于STM32F103带4.3寸触摸屏的嵌入式开发板来模拟一个手机输入法,该输入法功能主要有手写识别跟拼音九键。嵌入式开发平台如图1所示。 图1 STM32F103嵌入式开发平台

2 系统总体方案 本次嵌入式实验设计了“手机输入法”功能,该输入法功能主要包括两种输入方式——拼音九键+手写识别。下面首先介绍一下本设计的软、硬件基础,然后介绍本设计的总体方案。 软件基础:本次嵌入式综合实验,我们利用MDK软件来开发STM32。MDK 源自德国的KEIL公司,是RealView MDK的简称。在全球MDK被超过10万的嵌入式开发工程师使用。MDK5向后兼容MDK4和MDK3等,以前的项目同样可以在MDK5上进行开发(但是头文件方面得全部自己添加),MDK5同时加强了针对Cortex-M微控制器开发的支持,并且对传统的开发模式和界面进行升级,MDK5由两个部分组成:MDK Core和Software Packs。其中,Software Packs可以独立于工具链进行新芯片支持和中间库的升级。 硬件基础:本次嵌入式综合实验所使用的STM32开发板选择的是STM32F103ZETT6作为MCU,该芯片是STM32F103里面配置非常强大的了,它拥有的资源包括:64KB SRAM、512KB FLASH、2个基本定时器、4个通用定时器、2个高级定时器、2个DMA控制器(共12个通道)、3 个SPI、2个IIC、5 个串口、1个USB、1个CAN、3个12位ADC、1个12位DAC、1个SDIO 接口、1个FSMC接口以及112个通用IO口。该芯片的配置十分强悍,并且还带外部总线(FSMC)可以用来外扩SRAM和连接LCD等,通过FSMC驱动LCD,可以显著提高LCD的刷屏速度, 本设计要完成输入法的界面设计、功能实现以及不同输入方式之间的来回切换,还必须与键盘、LCD等硬件设备结合。总体方案如下: (1)设计输入法的总体要实现的功能,画出功能块图; (2)将整个输入法设计分成两大模块,一是手写识别,二是拼音输入,分别对他们进行程序设计; (3)画出手写识别与拼音输入的程序流程图,并编写相应的程序; (4)最后,将设计好的两个输入法模块整合起来,并编写相应的程序,使之可以完美地进行来回切换。 系统总体设计框图如图2:

嵌入式系统在工业控制中的应用

嵌入式系统在工业控制中的应用 摘要:工业控制是嵌入式系统的应用的重要领域,Linux 系统是嵌入式系统开发的有力工具,本文主要利用Linux系统来具体实现一个嵌入式工业控制系统。同时,所讨论的实时系统的研究,为在一个系统中同时支持多种实时调度方法提供了可能性。 正文:嵌入式技术是21世纪最有生命力的新技术之一,目前已经广泛应用于社会生活的各个方面。嵌入式系统的应用与开发则是当今计算机行业发展的一个热点。现今嵌入式软件的应用与开发的领域主要有:国防、移动通信、电子、办公自动化、机/车顶盒、掌上电脑、手机软件、工业控制、信息家电等领域。工业等各部门对智能控制需求的不断增长,对嵌入式微处理器的实时性、运算速度、可扩充能力、系统可靠性、功耗和集成度等方面提出了更高的要求。 1.嵌入式系统与工业控制网络 美国电气工程师协会(IEE)的一个定义:嵌入式系统是用来控制或监视机器、装置或工厂等大规模系统的设备。嵌入式系统通常具有如下特性: (1)通常只执行特定功能;是在特定领域内完成特定功能的专用计算机系统。 (2)嵌入式系统中硬件配置一般是根据系统的性能指标来确定的;除了附加的调试接口外,没有多余的硬件设备,一般是以计算机周边器件构成核心,其规模可在大范围内变化。而且嵌入式系统中是软件和硬件紧密结合。 (3)严格的时序和稳定性要求;这是因为在机器控制的大型系统中,程序运行稍有差错则可能使得整个系统失去控制,甚至酿成灾害。而且系统一般不进行交互动作,所以要求系统的自动运行要稳定、纠错能力强,可靠运行。 (4)具有实时性;因为在工业控制应用中大多数是属于过程控制,这些领域对系统要求是必须具有实时性,而且还要求有实时性的嵌入式操作系统。 (5)嵌入式系统的开发一般采用宿主机/目标机模式;在某个环境下调试好目标机器的软件和硬件,才能使目标机器离开开发环境,从而独立运行。 嵌入式系统是是以应用为中心,以计算机技术为基础,软件硬件可裁剪,从而能够适应应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。它将操作系统和功能软件集成于计算机硬件系统之中,具有软件代码小,高度自动化,响应速度快等特点。特别适合于要求实时的和多任务的体系。 工业控制网络是由传感器、执行机构、显示和数据记录设备等组成,用于监视和控制电气设备的系统。由于工业控制系统特别强调可靠性和实时性。控制网络数据通信以引发物质或能量的运动为最终目的。用于测量与控制的数据通信的主要特点是:允许对实时的事件进行驱动通信,具有很高的数据完整性。 2.系统实现 系统的实现包括硬件实现和软件实现。 硬件实现:硬件中两个串行通信接口用以采集来自其他设备的远程的数据,然后由ARM 微处理器进行处理,处理后的结果通过以太网接口分发给其他设备。10M以太网接口的设计是考虑到通用性。USB接口分为两个主机接口和一个设备接口。LED用来在调试和使用过程中的显示数据结果。 软件实现 软件的实现包括两个方面,一个是系统的内核,另一个是设备的驱动程序。 (1)首先编译 Kernel的源代码: 在编译内核的过程中,最繁杂的事情就是这步配置工作。在配置过程中,大部分选项可以使用其缺省值,只有小部分需要根据用户不同的需要选择。选择的原则是将与内核其它部分关系较远且不经常使用的部分功能代码编译成为可加载模块,有利于减小内核的长度,减

实时操作系统报告

实时操作系统课程实验报告 专业:通信1001 学号:3100601025 姓名:陈治州 完成时间:2013年6月11日

实验简易电饭煲的模拟 一.实验目的: 掌握在基于嵌入式实时操作系统μC/OS-II的应用中,基于多任务的模式的编程方法。锻炼综合应用多任务机制,任务间的通信机制,内存管理等的能力。 二.实验要求: 1.按“S”开机,系统进入待机状态,时间区域显示当前北京时间,默认模式“煮饭”; 2.按“C”选择模式,即在“煮饭”、“煮粥”和“煮面”模式中循环选择; 3.按“B”开始执行模式命令,“开始”状态选中,时间区域开始倒计时,倒计时完成后进入“保温”状态,同时该状态显示选中,时间区域显示保温时间; 4.按“Q”取消当前工作状态,系统进入待机状态,时间区域显示北京时间,模式为当前模式; 5.按“X”退出系统,时间区域不显示。 6.煮饭时长为30,煮粥时长为50,煮面时长为40. 三.实验设计: 1.设计思路: 以老师所给的五个程序为基础,看懂每个实验之后,对borlandc的操作有了大概的认识,重点以第五个实验Task_EX为框架,利用其中界面显示与按键扫描以及做出相应的响应,对应实现此次实验所需要的功能。 本次实验分为界面显示、按键查询与响应、切换功能、时钟显示与倒计时模块,综合在一起实验所需功能。 2.模块划分图: (1)界面显示: Main() Taskstart() Taskstartdispinit() 在TaskStartDispInit()函数中,使用PC_DispStr()函数画出界面。

(2)按键查询与响应: Main() Taskstart() 在TaskStart()函数中,用if (PC_GetKey(&key) == TRUE)判断是否有按键输入。然后根据key 的值,判断输入的按键是哪一个;在响应中用switch语句来执行对应按键的响应。 (3)切换功能: l计数“C”按 键的次数 M=l%3 Switch(m) M=0,1,2对应于煮饭,煮粥,煮面,然后使用PC_DispStr()函数在选择的选项前画上“@”指示,同时,在其余两项钱画上“”以“擦出”之前画下的“@”,注意l自增。 四.主要代码: #include "stdio.h" #include "includes.h" #include "time.h" #include "dos.h" #include "sys/types.h" #include "stdlib.h" #define TASK_STK_SIZE 512 #define N_TASKS 2 OS_STK TaskStk[N_TASKS][TASK_STK_SIZE]; OS_STK TaskStartStk[TASK_STK_SIZE]; INT8U TaskData[N_TASKS];

嵌入式实时操作系统

嵌入式实时操作系统 嵌入式实时操作系统(Embedded Real-time Operation System,RTOS)。 1 嵌入式实时操作系统概念 当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。 2 嵌入式实时操作系统特点 1)多任务; 2)有线程优先级 3)多种中断级别 3 嵌入式实时操作系统应用 在工业控制、军事设备、航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用实时系统。 采用嵌入式实时操作系统(简称RTOS)能够支持多任务,使得程序开发更加容易,便于维护,同时能够提高系统的稳定性和可靠性。

4 实时操作系统的必要性: 首先,嵌入式实时操作系统提高了系统的可靠性。 其次,提高了开发效率,缩短了开发周期。 实时操作系统的优缺点: 在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。但是,使用嵌入式实时操作系统还需要额外的ROM/RAM 开销,2~5% 的CPU 额外负荷,以及内核的费用。 5 实时系统与非实时系统的根本区别 实时系统与非实时系统的根本区别在于:实时系统具有与外部环境及时交互作用的能力。也就是说实时系统从外部获取信息以及系统得出结论要在很短的限制时间内完成。 它具有嵌入式软件共有的可裁剪、低资源占用、低功耗等特点;实时任务之间可能还会有一些复杂的关联和同步关系,如执行顺序限制、共享资源的互斥访问要求等。 实时操作系统所遵循的最重要的设计原则是:采用各种算法和策略,始终保证系统行为的可预测性(predictability)。可预测性是指在系统运行的任何时刻,在任何情况下,实时操作系统的资源调配策略都能为争夺资源(包括CPU、内存、网络带宽等)的多个实时任务合理地分配资源,使每个实时任务的实时性要求都能得到满足。与通用操作系统不同,实时操作系统注重的不是系统的平均表现,而是要求每个实时任务在最坏情况下都要满足其实时性要求,也就是说,实时操作系统注重的是个体表现。

实验一:图形用户界面设计

实验一图形用户界面设计 一实验目的和要求 1)熟悉图形用户界面的设计原则 遵循用户友好原则、一致性原则、帮助和提示等原则设计用户界面。 2)利用一种设计工具完成图形化的用户界面设计 二实验内容与步骤 (一)实验内容 利用常用的设计工具(UI界面设计工具GUI Design Studio)完成一个通用图形用户界面设计,要遵循界面设计的一般原则(一致性、快捷方式、提供错误处理),注意颜色的使用,学会图标、按钮、屏幕布局、菜单和对话框的设计。 软件的界面如同人的脸一样,软件界面的好坏决定了用户对软件的第一印象。设计好的界面能够引导用户自己完成相应的操作,起到引导作用。设计合理的界面能给用户带来轻松愉悦的感受。一些专家指出:对于用户,人机界面就是系统本身。这充分说明了软件界面设计的重要性。请完成各自的系统用户界面的设计。 (二)实验步骤 1.设计多个对话框,完成填表输入界面的设计,合理使用图标、按钮、颜色; 2.设计不同形式的菜单,完成对不同对话框的调用; 3.提供简单的错误处理、联机帮助。 GUI Design Studio主界面

三界面示例1、登录界面 2、主界面

3、聊天界面 4、QQ空间界面

四实验总结 1.界面要具有一致性、常用操作要有快捷方式、提供简单的错误处理、对操作人员的重要操作要有信息反馈、操作可逆、设计良好的联机帮助、合理划分并高效地使用显示屏、保证信息显示方式与数据输入方式的协调一致。 2.颜色是一种有效的强化手段,同时具有美学价值。使用颜色时应注意如下几点:限制同时显示的颜色数;画面中活动对象的颜色应鲜明,而非活动对象应暗淡;尽量避免不相容的颜色放在一起,如黄与蓝,红与绿等,除非作对比时用;若用颜色表示某种信息或对象属性,要使用户理解这种表示,并尽量采用通用的表示规则。 3.图标是可视地表示实体信息的简洁、抽象的符号。图标设计是方寸艺术,需要在很小的范围内表现出图标的内涵。设计图标时应该着重考虑视觉冲击力,要使用简单的颜色,利用眼镜对色彩和网点的空间混合效果,做出精彩图标。 1)设计按钮应该具有交互性,应该有3到6种状态效果(点击时的状态、鼠标放在上面但未点击的状态、点击前鼠标未放在上面时的状态、点击后鼠标未放在上面时的状态、不能点击时的状态、独立自动变化的状态),按钮应具备简洁的图示效果,应能够让使用者产生功能上的关联反应。属于一个群组的按钮应该风格统一,功能差异大的按钮应该有所区别。 2)设计屏幕布局(Layout)时应该使各功能区重点突出,应遵循如下几条原则:平衡原则、预期原则、经济原则、顺序原则、规则化。 3)菜单在图形界面的应用程序中使用得非常普遍,是软件界面设计的一个重要组成方面,描述了一个软件的大致功能和风格。菜单中的选项在功能上与按钮相当,一般具有下列一种或几种类型的选项:命令项、菜单项和窗口项。菜单的结构一般有单一菜单、线状序列菜单、树状结构菜单、网状结构菜单等,其中树状结构菜单是最常见的结构。 设计菜单界面时应注意一般性原则:功能组织菜单,合理分类,并力求简短,前后一致;合理组织菜单界面的结构与层次;按一定的规则对菜单项进行排序;菜单选项的标题要力求文字简短、含义明确,并且最好以关键词开始;常用选项要设置快捷键;充分利用菜单选项的使能与禁止、可见与隐藏属性;使用弹出式菜单。 4)在处理大量相关数据的场合下,需要输入一系列的数据,这时填表输入界面是最理想的数据输入界面。在设计填表输入界面时应遵循的原则:一致性;有含义的表格标题;使用易于理解的指导性说明文字;栏目按逻辑分组排序;表格的组织结构和用户任务相一致;光标移动方便;出错提示;提供帮助;表格显示应美观、清楚,避免过分拥挤。

实时操作系统 期末报告

实时操作系统期末总结报告 一、实时操作系统的概述 实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的操作系统。因而,提供及时响应和高可靠性是其主要特点。实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。我们通常使用的操作系统在经过一定改变之后就可以变成实时操作系统。 1.1.实时操作系统的相关概念 (1)实时操作系统的定义 实时操作系统是保证在一定时间限制内完成特定功能的操作系统。例如人驾驶的汽车中的系统,需要一个比较稳定的实时操作系统。在“硬”实时操作系统中,如果不能在允许时间内完成使物体可达的计算,操作系统将因错误结束。在“软”实时操作系统中,比如汽车不能很快的识别人的操作指令,那么它可能造成严重的事故(如:汽车的瞬时刹车;公交车,它能准确的报站,这其实就是一个实时操作系统的具体体现;其次,车上的GPS导航仪,其实质也是一个比较精确实时操作系统的产物,如果不能实时,那么导航仪将失效,结果不能正确的指导司机驾驶的方向,同时这种实时操作系统的及时性必须达到一定的程度:ms级)。一些实时操作系统是为特定的应用

设计的,另一些是通用的。一些通用目的的操作系统称自己为实时操作系统。但某种程度上,大部分通用目的的操作系统,如微软的Windows NT或IBM的OS/390有实时系统的特征。这就是说,即使一个操作系统不是严格的实时系统,它们也能解决一部分实时应用问题。 (2)实时操作系统中的一些重要的概念 代码临界段:指处理时不可分割的代码。一旦这部分代码开始执行则不允许中断打入; 资源:任何为任务所占用的实体; 共享资源:可以被一个以上任务使用的资源; 任务:也称作一个线程,是一个简单的程序。每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。典型地,每个任 务都是一个无限的循环,每个任务都处在以下五个状态下:休眠 态,就绪态,运行态,挂起态,被中断态; 任务切换:将正在运行任务的当前状态(CPU寄存器中的全部内容)保存在任务自己的栈区,然后把下一个将要运行的任务的当前状态从该任 务的栈中重新装入CPU的寄存器,并开始下一个任务的运行; 内核:负责管理各个任务,为每个任务分配CPU时间,并负责任务之间通讯。分为不可剥夺型内核和可剥夺型内核; 调度:内核的主要职责之一,决定轮到哪个任务运行。一般基于优先级调度法; (3)及时性 关于实时操作系统的及时性,我将从如下两个方面进行介绍:实时操作系统的时间限和实时操作系统的应用相关。 时间限:对一些实时性要求较高的系统,它们要求的时间限一般是毫秒级(ms),但是通常的实时操作系统,一般是秒级(s)或是在

图形用户界面的设计课案

人机交互基础教程 实验报告 实验题目:图形用户界面的设计 专业计算机科学与技术 学生姓名 班级学号 教师 指导单位计算机软件学院 日期

教师 评语教师签名: 年月日 成绩评定 备注

一、实验目的 (1)熟悉图形用户界面的设计原则 (2)利用一种设计工具完成图形化的用户界面设计 二、预备知识 图形用户界面又称为WIMP界面,由窗口(windows)、图标(icons)、菜单(menu)、指点设备(pointing device)四位一体,形成桌面(desktop) ,如图所示。 WIMP界面 用 户 手 眼 击键/指点 窗口、图标 菜单、文本 应用例程 图形用户界面是当前用户界面的主流,广泛应用于各档台式微机和图形工作站。图形用户界面的共同特点是以窗口管理系统为核心,使用键盘和鼠标器作为输入设备。窗口管理系统除了基于可重叠多窗口管理技术外,广泛采用的另一核心技术是事件驱动(event-driven)技术。 WIMP界面可看作是第二代人机界面,是基于图形方式的人机界面。在WIMP界面中,人被称为用户,人机通过对话进行工作。用户只能使用手这一种交互通道输入信息,通过视觉通道获取信息。在WIMP界面中,界面的输出可以为静态或动态的二维图形或图像等信息。

这种方式能同时输出不同种类的信息,用户也可以在几个工作环境中切换而不丢失几个工作之间的联系,通过菜单可以执行控制型和对话型任务。由于引入了图标、按钮和滚动条技术,大大减少键盘输入,提高了交互效率。基于鼠标和图形用户界面的交互技术极大地推动了计算机技术的普及。 (1)图形用户界面的三个重要思想 1)桌面隐喻(desktop metaphor) 指在用户界面中用人们熟悉的桌面上的图例清楚地表示计算机可以处理的能力。隐喻的表现方法:静态图标、动画、视频2)所见即所得(What You See Is What You Get,WYSIWYG) 显示的用户交互行为与应用程序最终产生的结果是一致的。 3)直接操纵(direct manipulation) 直接操纵是指可以把操作的对象、属性、关系显式地表示出来,用光笔、鼠标、触摸屏或数据手套等指点设备直接从屏幕上获取形象化命令与数据的过程。直接操纵的对象是命令、数据或是对数据的某种操作。 (2)设计图形用户界面的原则 1) 一般性原则:界面要具有一致性、常用操作要有快捷方式、提供简单的错误处理、对操作人员的重要操作要有信息反馈、操作可逆、设计良好的联机帮助、合理划分并高效地使用显示屏、保证信息显示方式与数据输入方式的协调一致 2) 颜色的使用:颜色是一种有效的强化手段,同时具有美学价

计算机操作系统简单介绍

计算机操作系统简单介绍 操作系统的种类繁多,依其功能和特性分为分批处理操作系统、分时操作系统和实时操作系统等;依同时管理用户数的多少分为单用户操作系统和多用户操作系统;适合管理计算机网络环境的网络操作系统。 1)微机操作系统随着微机硬件技术的发展而发展,从简单到复杂。Microsoft 公司开发的DOS是一单用户单任务系统,而Windows操作系统则是一多户多任务系统,经过十几年的发展,已从Windows 3.1发展Windows NT、Windows 2000、Windows XP、Windows vista、Windows 7和Windows 8等等。它是当前微机中广泛使用的操作系统之一。Linux是一个源码公开的操作系统,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大,已被越来越多的用户所采用,是Windows操作系统强有力的竞争对手。 2)语言处理系统 人和计算机交流信息使用的语言称为计算机语言或称程序设计语言。计算机语言通常分为机器语言、汇编语言和高级语言三类。如果要在计算机上运行高级语言程序就必须配备程序语言翻译程序(下简称翻译程序)。翻译程序本身是一组程序,不同的高级语言都有相应的翻译程序。翻译的方法有两种:一种称为“解释”。早期的BASIC源程序的执行都采用这种方式。它调用机器配备的BASIC“解释程序”,在运行BASIC源程序时,逐条把BASIC的源程序语句进行解释和执行,它不保留目标程序代码,即不产生可执行文件。这种方式速度较慢,每次运行都要经过“解释”,边解释边执行。 另一种称为“编译”,它调用相应语言的编译程序,把源程序变成目标程序(以.OBJ为扩展名),然后再用连接程序,把目标程序与库文件相连接形成可执行文件。尽管编译的过程复杂一些,但它形成的可执行文件(以.exe为扩展名)可以反复执行,速度较快。运行程序时只要键入可执行程序的文件名,再按Enter键即可。 对源程序进行解释和编译任务的程序,分别叫作编译程序和解释程序。如FORTRAN、COBOL、PASCAL和C等高级语言,使用时需有相应的编译程序;BASIC、LISP等高级语言,使用时需用相应的解释程序。

嵌入式实时操作系统之我见

嵌入式实时操作系统之我见 -ARM7TDMI-S 王士莹 -----从基本概念、基本原理、基本常识、基本思维入手阐述嵌入式实时操作系统在单片机开发中,嵌入式实时操作系统的使用近几年比较流行,在具体应用中也有比较好的表现。那么对于一个应用来讲,应该选择那种操作系统呢?目前,可供选择的有uLinux、VxWorks、uCOS-II等。我们当然可以选择其中的一个根据需要移植到自己的设计中。但对于一个工程师来说,能够在设计中使用自己编写的嵌入式实时操作系统岂不是一件“很酷”的事情吗?而且,我认为,若要较好的理解一个嵌入式实时操作系统,首先要能够自己编写,哪怕是一个最简单的。否则,不知道核心原理是怎么回事,仅仅依样画葫芦做做移植,只是隔靴搔痒,只会是门外汉。 这篇文章就是根据我所理解的嵌入式操作系统,就几个问题做一个阐述,以期抛砖引玉。 1、为什么要用嵌入式实时操作系统,嵌入式实时操作系统较前后台结构有什么优势 单片机程序结构发展 任务的驱动方式有两种:时间和事件,所以对一个单片机程序来说它要等待的量也是只有两个:延迟时间到或事件发生。故操作系统只要安排任务等待着这两个标志就好。那么如何产生这两个标志呢,标志产生在中断中,然后在中断中发给需要的任务。 多功能块任务:在一个任务中有等待的时间或事件,等到后再执行后面程序的任务。在任务等待的时候单片机可以离开该任务去执行其他任务,该任务等待

完成后再回来继续运行。这样使用操作系统就提高了系统整体的运行效率。 单片机执行全局的东西,操作系统通过把全局的资源赋值成局部的任务让单片机执行了看似全局的实则是局部的东西,这样就实现了任务的调度和切换对于单功能块任务,即一个任务中没有需要等待的时间或事件,程序连续地从头执行到尾,对于这样的任务操作系统的作用不大。 2、单片机编程有哪些特点、会有哪些问题和需求、操作系统如何根据特点解决问题满足需求 一般单片机系统中不会只运行一个单一的任务,往往有多个方面的工作要做,如对一个仪器仪表来讲,它要做的工作有:测量、显示、存储、通讯、控制等。这些工作需要同一个单片机来完成,那如何对他们进行安排才能使一个单片机执行多个任务呢? 打个比方:单片机就像一支建筑队,在这个建筑队里面有管理、财务、技术、工人、后勤等,他们各司其职、共同协作完成一个建筑工程。正常情况下,一支建筑队在一个时间段只能做一个工程,若再有工程要做,只能等这次的工程完成后才能去。现在的情况是:建筑市场异常火爆,有大量的工程要做,而该地区的建筑队数量只有这1支。那怎么办呢?一般的做法是:给每个工程排好顺序定好工期,做完第一个再做第二个再做第三个及其他。如果这样安排,顺利还好,如果不顺利就会发生这样的事:第三个工程所有的东西都已准备好,而且这个工程的建筑物急等着用,但建筑队却由于第二个工程的资金短缺或其它原因耽误了工期而迟迟不能到来。出现这样的事情是不应该的,那怎样安排工作才能避免这样的事情呢?我们可以这样做:1支建筑队同时承包多个工程,并同建筑单位定好协议:当一个工程由于资金或其他原因不能继续时,建筑队可以暂时离开去其他工地。这样当2号工程资金不到位时,建筑队把该工程的必要信息记录下来并保存起来,然后离开2号工程的工地去3号工程的工地;如果3号工程已经开始了,则建筑队把之前保存的信息取出来按照信息上的说明继续下面的工作,若3号工程也有其他事情需要等待了,则建筑队保存好记录后再去其他工地。这样,建筑队就总是在做工程而不会出现空闲,实现了效率的最大化!这种安排工作的方法就是建筑队版的“嵌入式实时操作系统”!

图形界面设计实验

图形用户界面编程(设计性实验) 一、实验目的 1、熟悉Swing的基本组件,包括文本输入框、多行文本输入框、按钮、列表框等; 2、熟悉常用的布局管理器 3、了解GUI图像用户界面的设计方法 4、掌握Java组件的事件处理机制 5、熟悉基于内部类和匿名类的事件处理方式 二、实验要求 1、学生应做到独立上机操作 2、编程前应将程序的设计构想完成,主要包括所要创建的类的结构及属性和行为。 3、上机输入和调试自己所编的程序,并存在自己的软盘上。 4、检查实验结果是否正确。 5、上机结束后,写出实验报告,要求附运行界面、源代码。实验报告中应对实验结果进行分析,尤其是针对错误输出的分析。 三、实验内容 1.编写程序,显示一个窗口,窗口中包含一个按钮。当单击按钮时将弹出另一个窗 口。 2. 编写一个简单的计算器程序,实现两个数相加。 在文本框输入两个实数,点击“相加”按钮实现两个实数相加,并在标签中显示相加结果。点击“清除”完成对文本框和运行结果的清除。 四、实验代码及结果: 第一题代码: TestFrame.Java import javax.swing.*; import java.awt.event.*; import java.awt.*; public class TestFrame{ public static void main(String args[]){ JFrame f=new JFrame("Test"); f.setSize(400,200); f.setLayout(new FlowLayout(FlowLayout.CENTER)); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JButton b=new JButton("确定"); b.addActionListener(new ButtonHandler()); f.add(b); f.setVisible(true);} } class ButtonHandler implements ActionListener{ public void actionPerformed(ActionEvent e){ JFrame fr=new JFrame("Hello"); fr.setSize(200,100); fr.setVisible(true);} }

嵌入式控制系统随堂练习

1.最早的单片机是Intel公司的(),它出现在1976年。 A.8088 B.8048 C.8058 D.8068 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 2.下面哪种操作系统不属于商用操作系统。() A. Windows 7 B. Linux C. VxWorks D. WinCE 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 3.下面哪点不是嵌入式操作系统的特点。() A. 内核精简 B. 专用性强 C. 功能强大 D. 高实时性 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 4.迄今为止,()系列的单片机仍然是最为成功的单片机芯片之一,在各种产品中有着非常广泛的应用。A.8088 B.8048 C.8058 D.8051 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 5.嵌入式系统的核心是()和嵌入式操作系统。 A.嵌入式微处理器B.存储器C.单片机D.内部总线 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 6.下面哪种嵌入式系统是属于软实时系统。() A.WinCE B.VxWorks C.Nucleus D.eCOS 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 7.下面哪种嵌入式系统是属于硬实时系统。() A.WinCE B.RTLinux C.Windows XP D.eCOS 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 8.Embedded Visual Studio是()

参考答案:B 问题解析: 9.下面哪些不属于嵌入式控制系统的典型应用。() A.智能家居 B. 智能手机 C. 智能控制 D. 智能数据挖掘 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 10.下面哪个系统属于嵌入式系统()。 A.“天河一号”计算机系统B.IBMX200笔记本电脑 C.联想S10上网本D.Iphone手机 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 当前页有10题,你已做10题,已提交10题,其中答对10题。 11.一个完整的嵌入式系统由()两大部分组成。 A.系统软件和应用软件B.硬件系统和软件系统 C.通用机和专用机D.基本缓存和硬盘 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 12.HAL是指() Α.嵌入式微控制器B.硬件抽象层 C.嵌入式数字信号处理器D.嵌入式片上系统 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 13.BSP是指() Α.嵌入式操作系统B.板级支持包 C.嵌入式微处理D.应用软件包 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 14.EMPU是指() Α.嵌入式微控制器B.嵌入式微处理器 C.嵌入式数字信号处理器D.嵌入式片上系统 答题: A. B. C. D. (已提交) 参考答案:B

ARM在工业控制中的应用

ARM在工业控制中的应用 摘要:从51单片机到ARM处理器,嵌入式微控制领域不断更替交叠,伴随而来的是技术的不断发展和生产力水平的不断提高。ARM处理器从其诞生之日起就注定担负着推动技术进步和改写历史的重任,因为ARM处理器是一个“集大成者”,ARM嵌入式系统的发展促进了工业控制自动化程度的提高。 关键词:ARM处理器;嵌入式系统;工业控制 1 ARM处理器的发展历史 1990年11月27日,Acorn公司正式改组为ARM(Acorn RISC Machine)计算机公司。苹果公司出资150万英镑,芯片厂商VLSI出资25万英镑,Acorn本身则以150万英镑的知识产权和12名工程师入股。公司的办公地点非常简陋,就是一个谷仓。 ARM处理器 20世纪90年代,ARM 32位嵌入式RISC(Reduced lnstruction Set Computer)处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权。ARM将其技术授权给世界上许多著名的半导体、软件和OEM厂商,每个厂商得到的都是一套ARM相关技术及服务。 ARM是第一款面向低价位市场的RISC架构微处理器。目前,ARM已经成为嵌入式微处理器的代名词。 2 ARM处理器的优势 ①体积小、低功耗、低成本、高性能。ARM针对嵌入式应用,在满足性能要求的前提下,力求最低的功率消耗。ARM结构的优点是能兼顾到性能、功耗、代码密度、价格等几个方面,而且做得比较均衡。在性能/功耗比(MIPS/W)方面,ARM处理器具有业界领先的性能。基于ARM核的芯片价格也很低,目前ARMCortexM的芯片价格可低至10元人民币左右。 ②支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件。 ③大量使用寄存器,大多数数据操作都在寄存器中完成,指令执行速度更快。 ④指令长度固定,寻址方式灵活简单,执行效率高。

嵌入式实时操作系统中实时调度算法综述

嵌入式实时操作系统中实时调度算法综述 摘要:实时调度是指在有限的系统资源下,为一系列任务决定何时运行,并分配任务运 行除CPU之外的资源,以保证其时间约束、时序约束和资源约束得到满足。一个实时系统可以由单处理器系统来实现,也可以用多处理器系统来实现。实时调度算法是保障实时系统时限性和高可靠性的最重要手段之一。 关键词:嵌入式;实时操作系统;实时调度算法;RTOS;RMS 引言 嵌入式系统在当今的生产和生活中得到了广泛的应用,鉴于嵌入式实时系统的特点,要求任务调度等实时内核功能精简和高效。综合了EDF 和RM调度策略的CSD 调度策略,更加适合嵌入式系统的特点,满足其内核的要求。任务调度策略是实时系统内核的关键部分,如何进行任务调度,使得各个任务能在其期限之内得以完成是实时操作系统的一个重要的研究领域。它的精简和高效,对提高低处理能力,小内存系统整体性能具有重大的意义。 RTOS概述 RTOS,即:实时系统(Real-time operating system),实时系统能够在指定或者确定的时间内完成系统功能和外部或内部、同步或异步时间做出响应的系统。它的正确性不仅依赖系统计算的逻辑结果,还依赖于产生这个结果的时间。因此实时系统应该在事先先定义的时间范围内识别和处理离散事件的能力;系统能够处理和储存控制系统所需要的大量数据。对一般的程序来说,大多数是考虑指令执行的逻辑顺序,指令何时执行并不重要。而对实时应用系统的程序就不一样,当外部某激励出现时,系统必须以一定的方式和在限定的时间内响应它,如果已超时,那怕执行结果是正确的,系统也认为是失效的。实时操作系统通常被分为软实时操作系统和硬实时操作系统。前者意味着偶尔错过时限是可以容忍的;后者意味着执行过程不但必须正确而且必须准时。在实时操作系统中,系统将程序分成许多任务(或进程),而每个任务的行为都预先可知,或者是有明确的功能,系统根据一定的调度原则,决定谁可取得执行权,这就是RTOS的核心所在。 实时调度算法 实时调度算法可以分为4类:单处理器静态调度算法、多处理器静态调度算法、单处理器动态调度算法、多处理器动态调度算法。下面分别分析嵌入式操作系统中采用的各种调度方法,以及这些调度方法是如何满足实时性应用的实时要求的。 1 速率单调算法 速率单调算法是一个经典的算法,它是针对那些响应和处理周期性事件的实时任务的,它事先为每个这样的实时任务分配一个与事件频率成正比的优先级。 实现时,就绪队列中的所有任务按照优先级Priority排队,优先级最高的任务排在队首,当处于运行态的任务,由于某种原因挂起时,只要把就绪队列的首元素从就绪队列中取下,使运行任务指针pRunTask指向该元素即可,如果是处于其他状态的任务变为就绪状态,而挂

数字图像处理GUI界面设计.

目录 第一章设计任务及要求 ---------------------------------------------------------------------------------------------------------------- 1 1.1设计依据-------------------------------------------------------------------------------------------------------------------------- 1 1.2课程设计内容 ------------------------------------------------------------------------------------------------------------------- 1 1.3课程设计要求 ------------------------------------------------------------------------------------------------------------------- 1 第二章设计原理-------------------------------------------------------------------------------------------------------------------------- 2 2.1设计题目分析 ------------------------------------------------------------------------------------------------------------------- 2 2.2 设计原理------------------------------------------------------------------------------------------------------------------------- 2 第三章设计实现-------------------------------------------------------------------------------------------------------------------------- 4 3.1 菜单栏编辑---------------------------------------------------------------------------------------------------------------------- 4 3.2 控件及代码的加入 ------------------------------------------------------------------------------------------------------------ 6 3.2.2 控件按钮的创建 ------------------------------------------------------------------------------------------------------ 7 3.2.3 控件代码加入 --------------------------------------------------------------------------------------------------------- 8 3.4 图像灰度处理 ------------------------------------------------------------------------------------------------------------------ 9 3.5 亮度调节------------------------------------------------------------------------------------------------------------------------- 9 3.6 底片处理----------------------------------------------------------------------------------------------------------------------- 11 3.7 直方图均衡化 ---------------------------------------------------------------------------------------------------------------- 12 第四章结果分析及总结 -------------------------------------------------------------------------------------------------------------- 13 第五章参考文献------------------------------------------------------------------------------------------------------------------------ 14 第六章附录 ------------------------------------------------------------------------------------------------------------------------------ 15

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