基于STM32的嵌入式多功能教务信息显示系统_第1页
基于STM32的嵌入式多功能教务信息显示系统_第2页
基于STM32的嵌入式多功能教务信息显示系统_第3页
基于STM32的嵌入式多功能教务信息显示系统_第4页
基于STM32的嵌入式多功能教务信息显示系统_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要伴随着中国高等院校招生人数日益扩张,高校的教务信息化管理变得尤为重要。作为高校管理不可缺少的一部分,教务系统有着至关重要的作用。在现代计算机技术和信息技术快速发展的前提下,教务管理系统信息化建设不仅能够让高校的教务工作更加方便,更能提高本校的教学效率。本文主要立足与当前高校教务系统信息化的现状和建设程度等方面,在基于专业学习的基础上提出教务管理系统的硬件方面,提出并设计一种能够实现无纸化,减轻日常教务工作并结合院校基本设施的功能性嵌入式系统。该系统为基于STM32单片机设计的多功能教务显示系统,主要挂载于教室门口以代替纸质版课程表,并结合了学生打卡,课程调课,考试通知等其他功能。关键词:教务信息化建设;无纸化;功能性嵌入式系统;多功能教务显示系统AbstractWiththeincreasingenrollmentofChineseuniversitiesandcolleges,theinformatizationmanagementofeducationalaffairsincollegesanduniversitiesbecomesparticularlyimportant.Asanintegralpartofuniversitymanagement,theeducationalsystemplaysavitalrole.Underthepremiseofrapiddevelopmentofmoderncomputertechnologyandinformationtechnology,theinformatizationconstructionoftheeducationaladministrationmanagementsystemcannotonlymaketheuniversity'seducationalworkmoreconvenient,butalsoimprovetheteachingefficiencyoftheuniversity.Thisarticleismainlybasedonthecurrentsituationandthedegreeofconstructionofthecurrentcollegeeducationsysteminformatization.Basedonprofessionallearning,itproposesthehardwareoftheeducationmanagementsystem.Thesystemisamulti-functionaleducationaldisplaysystemdesignedbasedonSTM32microcontroller,whichismainlymountedatthedooroftheclassroomtoreplacethepaperversionofthecurriculum,andcombinedwithotherfunctionssuchasstudentpunchcard,coursetransfer,examnotificationandotherfunctions.Keywords:EducationalInformationConstruction;Paperless;FunctionalEmbeddedSystem;Multifunctionaleducationaladministrationdisplaysystem目录第一章绪论 绪论1.1研究背景我国高等院校的教务信息化建设,已经成为了国家的教育方针之一。作为现代教学管理改革重要内容之一的教务管理,也毅然成为了评估院校信息化建设水平的重要标志之一[1]。教务管理是高等院校主要的日常管理工作之一,这涉及到校内各系部以及老师和学生等诸多方面等,伴随着教学体系的不断改革,尤其对学分制与选课制等不断深入与发展,教务日常管理工作变得日益繁重和复杂。如何把教务工作更加信息化、模块化、便捷化、高效化成为了现代高校发展建设的重点。伴随着各大高校的招生规模不断增大,招生人数逐年增长,不管是教师还是学生队伍日益壮大,同样对于学校教务信息服务需求急剧增加,大部分院校现有的教务管理系统功能无法满足目前的教务管理要求,所以对于各高校教务管理的升级与硬件设施更新都有着急切的需求和意义。1.2国内研究现状调查显示,近年来我国各高校对信息化建设的重视程度很高,各高校在教务管理方面,都取得了不错的进展,建设效果明显,其中比较突出则为校园网在教务管理系统中的广泛应用[2]。然而伴随着教务管理压力致使教务管理系统需求的快速增长,以及信息化建设教务管理系统中软件层次方面的飞速发展,大多数学校对院校内的硬件基础设施却没得到同步的升级。现有的系统设备功能渐渐跟不上软件的升级,部分老旧硬件设施不能满足学校信息化教学的需求,部分业务流程依旧需要人工方式以及纸质文件进行,造成业务的繁琐性和工作人员的负担以及得不到改善。高校教务管理系统是否能良好的运作离不开基础设备和硬件支持,如果在硬件方面投入不足,则会导致高校教务管理不能被充分的发挥作用,这是也是导致校园信息化建设过程的瓶颈之一[3]。1.3系统设计应用与市场分析根据目前各高校的情况来看,大部分高校都有着自己独立的一套教务管理系统,主要来源于高校自主研发或第三方公司研发并一次性交付安装并使用。供给学校的系统并没有后续研发,也未能提供学院后续需求的维护和升级,学院不能长时间保证设备的持续性升级和改装以符合教务需求,这也是导致各高校目前硬件设备相对落后于软件的升级进度。就国内高校的设备基础情况来看,研发一套嵌入式教务系统工程,可提供完善的硬件设备,配合现有的教务系统软件方面,整套软件硬件相互配合可实现更多更便捷可靠的教务功能,即可保证满足师生日常教务工作和需求。保证该嵌入式系统的持续升级和改装的活力,可以解决目前硬件更新乏力的根本因数。所以设计出一款嵌入式多功能教务信息显示系统,可以解决目前存在的教务问题。1.4论文结构与内容本文主要讲解了一个嵌入式多功能教务信息显示系统的硬件搭建与固件程序的编写与功能设计,总的流程如下。文章内容分别有四个章节,章节内容如下:第一章为绪论部分,主要介绍了以教务系统信息化建设为研究背景和意义,以及研究对目前国内院校教务系统现状和相关情况,并介绍了在计算机技术与信息化建设的飞快发展下,嵌入式教务管理系统的市场前景与应用。第二章主要讲解了系统的设计原型来源,描述系统整体框架和主要实现的功能介绍。第三章介绍了该系统的硬件的选型与搭建平台,重点对处理芯片、以及系统需要实现的功能外设的介绍和安装。第四章阐述了在该系统硬件平台下,固件驱动的主要程序,部分重点算法的介绍,以及各个外设如何互相配合运行与通讯。第五章主要内容为对系统进行综合测试,介绍实现的主要功能,展现实验过程和结果。第六章为整个系统做总结评估,对本系统目前的不足提出改进和升级方案,望在未来对系统做进一步的完善和升级进一步完善。

第二章系统框架及功能介绍本章主要简单概述本文主要设计的内容以及系统框架介绍,并且在应用技术方面做一个简单的阐述,以方便了解到整个项目的设计思路以及核心。2.1系统框架系统设计原型源自于学习每个教室门口张贴的课程信息表。将纸质的课程信息表更换为更为先进的显示系统,并整合多项功能,使其成为配合教务管理系统的嵌入式硬件设备。本系统主要功能有:课程显示;教室信息显示;上课打卡;远程遥控管理等。系统框架图如图2.1所示:图2.1系统框架图系统主要是围绕着学校教务系统而设计的配套嵌入式硬件设备,其主要职责是让教务系统内各个板块能够更加高效的配合,以及减少管理人员的负担。主要面向对象为老师、学生以及教务管理人员。系统主要组成部分分别是:移动端APP,机智云云端服务,以及显示系统。移动端APP负责远程管理设备端,云端则是设备端以及移动端APP的通讯枢纽。2.2应用技术概述该系统的设计主要分为两个方面,硬件平台的搭建和固件代码的编写,通过软硬件平台结合可完成项目实验初定的功能实现。完成了搭建硬件平台后,组成系统的固件和算法也是尤为重要的一部分,固件决定着硬件设备的功能用途和性能。固件代码主要分为四个模块:show.c课程表显示模块;FATFS文件管理系统模块;机智云协议Wi-Fi模块;以及开启上课模式后实现学生打卡的RFID模块。在本系统模块中,Wi-Fi模块的云端通讯协议是最为关键的核心之一。本系统利用机智云协议将系统分为三个主要平台:移动端APP、云端服务以及设备端显示系统。设备端通过与云端获得通讯,等待移动端发送指令从而实现无线操控系统实现不同功能。

第三章系统硬件与功能外设本章主要介绍系统硬件外设的功能原理和选型。根据上文系统框架图中可得知,系统硬件设备分为六个模块:分别为STM32单片机、TFT-LCD显示模块、Wi-Fi模块、RFID模块以及SD卡和蜂鸣器,系统模块连接如下图3.1:图3.1设备模块连接图如图所示,系统主要基于STM32单片机为核心,其中系统的核心功能为LCD显示模块显示课程表信息;Wi-Fi模块主要负责与云端进行通讯获取指令和信息;RFID模块则模拟学生上课打卡的功能,统计已到学生;SD卡作为存储介质放置教室课程信息。3.1STM32 3.1.1STM32简介STM32系列是ST公司推出的一款基于ARM®Cortex®内核的32位微处理器和微控制器,STM32系列产品专注为高性能、低成本、低功耗而设计的嵌入式系统应用。比起之前比较传统的51单片机,STM32系列对主控制器的速度有了较大的提升,速度对系统的操作流程和性能有着关键性的影响。对设备体积和功耗要求来说,STM32系列都能够比较出色的满足系统的要求。3.1.2芯片选型根据设计内容需求,经过了各型号性能的对比和分析,最终确认芯片选取的是STM32F103RCT6,这款STM32芯片采用了基础型72MHz的Cortex-M3内核。Cortex-M3是一个32位处理器的内核,内部的数据路径,一般采用32位寄存器以及存储器接口;采用哈佛结构,拥有独立的指令总线以及数据总线,可以并行取值和数据访问。STM32的高性能Cortex-M3内核速度可达1.25DMips/MHz,最高工作频率可达72MHz。存储器根据不同型号上集成了32-512Kb的Flash存储器,以及6-64Kb的SRAM存储器。含有1us的双12位ADC,4Mbps的UART,18Mbps的SPI,18MHz的I/O口翻转速度等特点;图3.2MCU内部构造图[4]图3.2中显示的是MCU的内部组成结构。从图中可以看出,除了作为CPU的Cortex-M3内核外,一个完整的MCU组成还需要加上其他的外设,比如时钟、存储器以及IO口等其他模块。为了本次实验的便捷集成和性能要求,本次选取的是STM32F103RCT6MINI开发版,该开发版主要特点如下:接口方面:3个SPI、5个串口、2个USB口、3个12位ADC、1个12位DAC及51个通用IO口,基本满足了项目所需要增加的外设的引脚需求。内存方面:内置48KBSRAM和256KBFLASH定时器方面:2个基本定时器、4个通用定时器、2个高级定时器,基本满足固件程序要求。主要集成外设:USB转串口芯片CH340G、JTAG/SWD接口、SD卡接口、TFTLCD模块接口(16位)开发版非常小巧,整个板子尺寸大小仅有8cm*10cm*2cm,非常合适本次系统设计要求,开发板集成了系统需要的SD卡接口以及TFTLCD模块接口,在成本和功能上都取得了一个很好的平衡点。图3.3、图3.4分别展示了MINI开发板的正面与背面:图3.3STM32MINI开发板正面图[5]图3.4STM32MINI开发板背面图[5]3.2TFT-LCD显示模块TFT-LCD中文全称薄膜晶体管液晶显示器,英文全称叫做:ThinFilmTransistor–LiquidCrystalDisplay。TFT即薄膜场效应晶体管,属于有源矩阵液晶。我们日常提到的液晶显示屏的工作原理是利用电压控制从而产生灰阶,而当利用薄膜技术所制成的电晶体电极来产生电压进而控制液晶转向的时候,则称之为TFT-LCD。TFT-LCD采用“主动式矩阵”进行驱动。利用扫描的方法控制任意显示点的开启与关闭,从而达到可以“自主地”对屏幕上的每一个独立的像素进行控制,这样可以大大的提高屏幕的反应速度。一般的TFT反应速度差不多在80ms左右,人眼的可视角度可以高达130度,做到高亮度、高速度、高对比度的显示屏幕信息,主要应用在高端的显示产品中。图3.5TFT-LCD切片结构图[6]本文系统设计将通过STM32的普通I/O口模拟MCU8080总线实现驱动TFTLCD显示,选取主控制器为ILI9341,触摸芯片为XPT2046,分辨率为320*240的2.8寸TFTLCD作为整个系统的主要显示模块。整个TFTLCD模块采用2*17的2.54公排针脚与STM32连接,接口定义如图3.6所示:图3.6TFT-LCD接口定义[7]从图3.6中可以看到,TFTLCD模块采用16位的并行方式与外部进行连接。3.3RFID射频识别技术RFID的中文全称为射频识别技术,英文全称为:RadioFrequencyIdentification。射频识别技术即无线射频识别是自动识别技术的其中一种,通过无线射频的方式进行无接触双向数据通讯,对记录媒体(射频卡或者电子标签等)进行读写,以达到识别目标以及数据交换等目的,被认为是21世纪最具有发展潜力、应用最为广泛的信息技术之一[8]。RFID系统一般由三个系统模块组成:询问器(阅读器)、电子标签以及数据处理模块;RFID技术的工作原理并不复杂:利用询问器的双向无线电波收发器向电子标签发出信号,电子标签利用感应电流获得足够的微小电流后,发送自身存储的识别信息进行应答。识别信息既可以是自身存储的信息,也可以标签自身串行号。图3.7RFID工作原理图[9]本文系统设计将选用MF_RC522非接触式读写卡芯片,进行模拟学生校园卡上课打卡功能,本次使用的RC522是由恩智浦半导体公司研发的高频射频芯片,主要支持ISO14443A通讯协议的MIFARE卡。RCC522适用于各种支持ISO/IEC14443A标准协议并要求小尺寸、低成本、高性能的非接触式通讯的应用场所,十分符合本次系统设计。3.4Wi-Fi模块Wi-Fi,又称“无线网络”或“无线热点”,是一种基于IEEE802.11标准的无线局域网技术,经由无线以太网兼容性联盟(WirelessEthernetCompatibilityAlliance,WECA)为了实现通用兼容性和优质用户体验而推出的无线网络技术。在当前社会,随着互联网的广泛应用,Wi-Fi技术凭借其覆盖广,传播速度快,可靠性强等优势迅速占领了无线互联网传输的市场,受到用户和市场的广泛欢迎,在市面上人们所使用的平板电脑、智能手机以及大部分智能设备基本都支持Wi-Fi连接。Wi-Fi也成为了当今社会使用最广的一种无线网络技术[10]。此次系统设计选用的是嵌入式Wi-Fi模块。内置Wi-Fi协议和驱动,属于32位单片机接口一般为MCU接口如UART等,其主要的功能是将TTL电平或串口转换为符合Wi-Fi无线网络通信标准的通讯模块,是实现无线智能家居以及智能硬件等物联网应用的重要组成部分。应用Wi-Fi模块首先需要了解两个概念:STA(无线网络连接终端)以及AP(无线接入点)。作为网络的中心节点,一个无线网络的创建者,也就是在日常生活中,一般办公或家庭中所使用的无线路由器即是AP,而连接到路由器无线网络的手机、电脑、智能家居、硬件等可以联网的用户设备即为STA。基于以上,利用Wi-Fi模块作为不同的连接方式可以组成不一样的拓扑形式,分别是基础网(Infra)和自组网(AdHoc),根据设计需求来定制合适的互联网连接方案。图3.8为Wi-Fi模块作为AP+STA模式在系统中的连接示意图:图3.8Wi-Fi模块AP+STA模式连接示意图本次系统设计将Wi-Fi模块设置为AP模式,通过串口连接的方式连接开发板,从而利用Wi-Fi接入到校内路由器(STA)以连接校园网以及云端,以获取到相关的信息和进行通讯。图3.8为Wi-Fi模块与开发板的连接图:图3.9Wi-Fi模块连接示意图3.5SD卡SD卡中文全称为安全数码卡,英文全称为:SecureDigitalMemoryCard,它是一种基于半导体快闪记忆器,在MMC的基础上进行改进发展而来的新一代记忆存储器设备,被广泛使用于便携式装置上,例如多媒体播放器以及数码相机、移动端手机等设备。由日本松下,东芝以及美国的SanDisk公司联合开发研制而成的,于1999年8月发布。SD卡全身犹如一张邮票般大小,重量只有仅仅不到2克,但却能够拥有2G到2T不等的高储存容量,并且拥有快速数据传输率、高记忆容量、极大的移动灵活性以及安全性。按照容量进行分类可以将其分为三类,分别是:SD卡、SDHC卡以及SDXC卡。如图3.10所示:图3.10SD卡按容量分类[7]根据本次系统设计,SD容量没有太大的要求,最终选型为32G的SD/SDHC卡。

第四章系统固件与算法介绍本章主要讲解本系统的驱动核心:固件的部分关键代码和算法。根据系统功能,软件代码主要分为四大板块,其中有:FATFS文件管理和SD卡文件读取模块、机智云协议与Wi-Fi模块通讯、RFID无线射频技术以及LCD课程表显示模块,本章将对各个模块不同的功能及算法进行详细讲解介绍,以下图4.1是介绍本系统工程主要的程序流程:图4.1程序流程图4.1文件读取管理本系统主要设计的文件存储介质为SD卡,利用SPI串行外围设备接口进行通讯;将本学期每个教室的课程数据信息提前存入SD卡里面,设备将通过FATFS文件管理打开SD卡的文件并将读取到的信息经过计算得出不同时段显示的信息。4.1.1FATFS文件系统介绍FATFS是一个完全开源免费的文件系统管理模块,专门用于小型的嵌入式系统中实现FAT(FileAllocationTable)文件系统管理。它完全用标准的C语言编写而成,所以具有很好的硬件平台独立性,经过简单的修改后即可完整移植到8051、AVR、PIC、SH、ARM等系列单片机上。FATFS组件的编写遵循ANSIC(C89),因此可以完全分离于磁盘的I/0层而不依赖于硬件平台。FATFS有以下特点:Windows兼容的FAT文件系统(支持FAT12/FAT16/FAT32)代码与硬件平台无关,移植简单代码量较少、效率高、使用方便支持多个存储媒介有独立的缓冲区,可以对多个文件进行读写针对8位单片机和16位单片机做了相关优化正是因为FATFS本着免费、开源的原则,使得FATFS在小型嵌入式设备应用非常的广泛。FATFS的模块层次结构图如下图4.2所示:图4.2FATFS层次结构图[7]在最顶端的是应用层,里面包含复杂的FAT协议以及FATFS内部结构,使用者无需深入了解。中间层为FATFS模块,提供的是ff.c以及ff.h文件,用户只需要在使用时调用FAYFS模块提供的接口函数,比如f_open、f_read、f_write、f_close等相关函数即可实现读/写文件。在移植到不同平台的时候,唯一需要编写移植代码只有FATFS模块提供的底层结构,它包括存储媒介的读写接口(diskI/O)和实时时钟。4.1.2SD文件准备FATFS模块经过简单的移植后,在添加了相关头文件后,即可在main.c中进行函数调用。此次系统需要调用的主要是挂载SD卡与板上的Flash芯片作为本系统的存储媒介;并访问SD卡内的预存文件,并读出其中的信息。在SD卡中预存了两个TXT文件,其中一个名为table.txt,负责存放本学期本教室的课程安排信息,具体内容如:“110108001110916002120116003210116004310116003320116005350108001350916002410116006420116004510108001510916002530116003”从左到右算起,其编排方式为每九个数字为一组,以“110108001”为例,数字前两位“1”“1”分别代表星期一和第一节课,“0108”代表这节课的初始周数,最后三位数“001”代表着课程的代码另一个名为date.txt的文件是负责存放本学期开学日期以及当前教室号,如:“20200302203”“20200302”表示开学日期为2020年3月2日,以便于计算当前周数,“203”代表203教室。4.1.3代码设计首先在主函数中初始化FATFS文件管理系统,并为其申请相关变量内存,其主要代码如下:Intmain(void)

{

mem_init(); //内存池初始化exfuns_init(); //为fatfs相关变量申请内存f_mount(fs[0],"0:",1); //SD卡挂载f_mount(fs[1],"1:",1); //FLASH挂载

}

在FATFS模块初始化完成之后,直接调用ff.c文件中相关读写函数,也就是f_open与f_read等函数来读取获取文件信息。根据之前预存入SD文件的课程信息,在读取了两个文件的内容后,分别储存在数组buf以及buf_date中。主要代码如下:voidShow_SD(void)

{

res=f_open(&fil,"0:/table.txt",FA_READ);//打开文件 f_read(&fil,buf,200,&bww); //读取文件并将值存入buf f_close(&fil);//关闭文件 res_date=f_open(&fil_date,"0:/date.txt",FA_READ);//打开文件 f_read(&fil_date,buf_date,200,&bww_date);//读取文件存入buf f_close(&fil_date);//关闭文件 for(n=0;n>=0;n++)//统计文件中共有多少值 { str=buf[n]; if(str=='\0') { len=n; printf("Space:%d\r\n",len); break; } } group=len/9;//计算出本学期本教室一周要上多少课

}4.2RFID_RC522RC522模块提供了三种接口,分别是I2C、UART和SPI三种接口,根据设计要求,RC522选择用SPI接口与STM32进行通讯,通过相应寄存器控制SPI接口的数据传输率和数据时钟相位等通讯参数。在系统工程中HARDWARE中添加了rc522.c以及其头文件rc522.h,确保RC522能够顺利初始化并正常运行。由于在系统设计当中只需要提供学生打卡功能,也就是RC522只需要进行寻卡,读取卡片ID号以及读卡成功即可,不需要对卡内储存的值进行其他操作。所在在系统使用过程中,最主要调用的是位于rc522.h里提供的读卡函数RC522_Handel()。在使用之前在主函数intmain()中进行初始化InitRc522(),根据系统设计,打卡功能是在我们打开了“正在上课”开关后才相应开启的,其余时间RC522不工作,也就是说在非上课时间打卡是无效的。所以在主函数的while(1)里,将RC522_Handel()放置在以下位置,代码如下:if(currentDataPoint.valueClassroom==Classroom_VALUE4)//如果310教室上课 { RC522_Handel();//刷卡 LCD_ShowxNum(150,170,students,3,16,0); //LCD显示人数 }4.3机智云协议与Wi-Fi通讯模块4.3.1Wi-Fi模块固件烧录根据系统设计要求,此次Wi-Fi模块选用的是ESP8266。由于需要连接到机智云进行云端通信,所以Wi-Fi模块烧写的是机智云的官方固件GAgent通讯模组。GAgent通讯模组主要作用是让嵌入式系统与云端以及应用端(APP)进行设备数据转发和交互,如图4.3所示:图4.3机智云与智能硬件通讯示意图[11]GAgent固件通过固件烧写工具利用USBtoTTL模块和SPI模式进行烧写,烧写成功后将覆盖掉原本自带的AT指令功能。4.3.2MCU开发代码移植经过在云端网站设立的系统数据点,可以自动生成MCU开发代码,其中包含机智云的通讯协议以及数据点的接入代码等,分别在名为Gizwits和Utils两个文件夹中,其中包含相关几个重点文件:负责项目系统的机智云协议处理函数文件gizwits_product.cpp;负责SDKAPI接口的函数定义文件gizwits_protocol.cpp;以及两个.c文件的头文件gizwits_product.h以及gizwits_protocol.h。此次在云端设置的Dome数据点有五个,分别为数值类型的“学生数量”、布尔值类的“正在考试”以及“课程顺延”、枚举类的“显示上课”和“调课至”,其中除了“学生数量”为只读类型,其他四项都为可写类型。具体如图4.4所示:图4.4机智云数据点设定根据数据点生成的MCU代码移植到工程中,移植代码主要编写的是Gizwits文件夹中的gizwits_product.c,其中包含MCU中断以及串口等相关设置。同样云端设立的部分数据点相关处理函数主要在gizwitsEventProcess()中。根据系统设计需求编写相应的执行功能,详细代码可见附录,数据点代码分别为以下:caseEVENT_Examination://正在考试caseEVENT_Deferred://课程顺延caseEVENT_Classroom://显示上课caseEVENT_Lecture://调课至然后到工程当中,同样将Wi-Fi模块所需要的定时器(TIM3)以及串口通讯(USART2)在工程进行初始化。4.4Show.c文件在原系统工程中,已经成功添加了TFTLCD驱动代码的lcd.c和对应的头文件lcd.h,应用lcd.h里定义好的函数调用,以确保LCD正常显示。为了课表显示代码调用方便,特此建立了show.c文件以存放负责课表显示的函数集,主要内容分为以下几个函数板块:显示周数函数Show_Week(intmonth,intday)显示课表函数Show_Table(void)显示正在上课函数Show_Class(intclassroom)显示课程延顺函数Show_Deferred(void)显示考试函数Show_Examination(void)其中比较重点讲解的是显示周数函数Show_Week()以及显示课表函数Show_Table(),在前文讲解了读取文件信息后储存在名为buf以及buf_date的一维数组当中,如何精确的读取文件内信息并进行读解成为了本系统比较关键的一步。首先在Show_Week()函数中,函数入口需要month和day两个参数,也就是当前时间的日期月和日,以便于计算当前周数具体为开学第几周。在代码中系统调用了云端请求网络时间函数gizwitsGetNTP()并将当前时间的日期写入到变量month和day返回给了Show_Week()作为函数入口。在函数里,文件中的信息是以字符的形式储存并读取到数组里,我们利用ASC码的差值方式进行字符类型转化成相应的整数型,核心代码如下:current_month=(buf_date[4]-'0')*10+(buf_date[5]-'0');current_day=(buf_date[6]-'0')*10+(buf_date[7]-'0');current_class=(buf_date[8]-'0')*100+(buf_date[9]-'0')*10+(buf_date[10]-'0');根据代码所示,固定位置的信息经由转化后分别存进相对应的变量中方便使用,得出开学日期current_month、current_day,根据计算后得出从开学到当前时间差daytime后,再计算出当前周数以及周几,具体代码于附录中相同的,在课程表显示函数Show_Table()中,利用for循环依次读取文件字符串中每9个数字的值,通过转化为整数型后储存到相关的变量中,方便计算,以下为关键代码:for(m=0;m<group;m++){ str1=buf[0+m*9]; str2=buf[1+m*9]; m0=(buf[2+m*9]-'0')*10+(buf[3+m*9]-'0'); n0=(buf[4+m*9]-'0')*10+(buf[5+m*9]-'0'); str3=buf[8+m*9];}根据前文信息放置规则,经计算得出具体上课时间,开始结束周数以及课程代表等信息分别储存在:str1、str2、str3、m0、n0中。再由判断语句if将读取到的相关的课程信息分别显示在其对应的位置,具体代码附于附录中。最后调用lcd.h头文件提供的划线函数LCD_DrawLine()等绘制课程表雏形,完成课程表的基本显示,具体代码如下://绘制表格LCD_DrawLine(5,35,315,35);LCD_DrawLine(5,35,5,235);for(x=0;x<6;x++){ LCD_DrawLine(55+x*52,35,55+x*52,235); for(y=0;y<7;y++){ LCD_DrawLine(5,61+y*29,315,61+y*29); }}

第五章系统综合测试本章主要讲解系统的综合测试,查看系统能否根据设计思路正常运行。测试步骤分为串口调试以及机智云调试。5.1串口调试为了查看系统运行过程中,代码算法能否达到设计要求。本次利用串口调试软件XCOM进行系统软件调试,将信息利用串口不停打印到电脑上,可以清晰的观察到代码运行过程一些关键的运算数值和情况。在前文提到,我们在date.txt文件中存入了学期开学日期以及教室号信息,通过计算开学至今经过多少天以方便计算当前周周数。为了确保读取过程中正确读取相关信息以及算法正确,我们将current_month、current_day、current_class以及daytime通过printf的方式打印在串口中,同时打印出Wi-Fi模块在机智云云端获取的时间函数gizwitsGetNTP()的返回值,如图5.1所示:图5.1串口调试根据图5.1所示,我们存入的开学日期文件为20200302203,而current_month、current_day、current_class分别一一对应上,根据gizwitsGetNTP所返回的时间通过计算得出距离本学期开学daytime数值也是正确的,证明代码算法正确读取了文件内容。5.2机智云调试在硬件平台搭建基本完成后,为了确保MCU代码移植成功与设备云端通讯正常,系统分别进行了虚拟设备的测试和实际设备测试。首先根据前文提到的云端数据点定义完成后,对进行了虚拟设备的调试,通过对虚拟设备进行模拟真实设备进行通讯处理数据,可以快速检验接口功能的开发情况。图5.2为手机端DemoAPP调试界面,图5.3为云端虚拟设备上报数据情况与通讯日志。图5.2手机端DemoAPP调试界面图5.3云端虚拟设备与通讯日志经过虚拟设备的调试后确保虚拟设备定义点与云端通讯正常,系统将进入设备实测。开启电源,系统通过初始化完成后,系统进入无线循环while(1)内。此时根据代码设计,Wi-Fi模块与云端进行通讯自动获取时间信息,课程表必须经过联网成功后才自动显示出来,系统开启后如图5.4所示:图5.4系统初始化成功界面根据图5.4可看到,位于上方状态栏可以观察到,Wi-Fi模块成功连接网络与云端完成通讯并获取到时间信息,此时课程表成功显示在界面上。通过手机DemoAPP的控制面板,对数据点进行操作并观察系统的变化,将显示相对的界面。经过测试,系统所有功能正常运行,在手机DemoAPP进行操作时,系统成功实现了与云端的通讯和数据上报,实现了总体系统设计要求。测试部分的APP以及系统显示截图如下:图5.5手机端APP正在上课功能开启图5.6系统显示正在上课图5.7手机端APP正在考试功能开启图5.8系统显示正在考试

总结与展望系统通过硬件以及固件的设计开发,经过多次测试和调试,基本实现了预计功能,以下是本次实验的总结:1、成果通过多次测试与实验,系统稳定的完成了WIFI互联网通讯,SD卡读取预存文件信息,正确显示课表,以及其他附属的既定功能。本系统可以访问利用每个学期更新的SD卡内的文件获取到一整学期的课程,通过WIFI连接与互联网进行通讯,自动获取网络时间以及根据计算显示出当前周数和课程表。利用机智云设置和DemoAPP,本系统实现远程操控和监控。基本完成了本次系统设计要求和应用。2、缺陷硬件方面上,由于目前依旧使用开发板进行开发测试,所以此系统在现实应用的话成本上会比较高,不适合大批量生产;本系统目前整合的功能性不够完善外设较少,比如像教室的门禁系统与交互通讯等功能尚未实现,功能外设不够丰富,暂时只连接Wi-Fi模块以及RFID;鉴于目前系统只是在单台功能开发,在多台设备连接方面的通讯系统尚未有明确的解决方案。软件方面上,由于算法尚未进行相关优化,在运行速度以及响应方面不够好;在一些特殊情况或者操作会出现少许BUG现象,系统稳定性有待提升;因为兼容性问题暂时系统尚未支持中文版;目前开源APP的设计只使用在Android平台上,相关的IOS或者其他平台并没有进行开发;本系统目前处在个人理论开发测试阶段,还未能够进行真正投入实地应用中。若想成为一个真正的产品系统,还需要针对现实情况再做进一步的研究,以符合一个嵌入式系统的基本目的。3、未来计划未来计划通过对本系统的进一步开发升级,发掘完善本系统的基本功能,继续优化算法以及贴切实际情况增加更多可选功能,比如:加入门禁系统利用临时密码或者授权磁卡进行开门、或者加入交互系统进行远程通讯联系物业等功能。继续修复系统工程的BUG以及优化系统整体响应速度,使设备能够更为流畅以及提高效率,等待系统功能以及算法完善后,在保证性能的同时重新设计硬件平台,降低硬件组装成本,成为一件真正成熟、能投入市场应用的产品。

参考文献[1]王亚.新形势下高校教务管理信息化建设现状分析及对策研究[J].软件导刊.教育技术,2015,14(2):29-30.[2]谭明芳,黄成荣.高校教务管理信息系统建设的现状及对策探讨[J].中国成人教育,2008,(2):36-37.[3]杨丽.高校教务管理信息化建设现状及对策思考[J].产业与科技论坛,2018,(17):249-250.[4]/content/2018/100011122.html[5]/docs/boards/stm32/zdyz_stm32f103_mini.html[6]/wikdoc/sp/qr/history/version.do?ver=15&hisiden=hfm,B,mR0dnAn5kcHx6ZGZFTg[7]刘军.STM32不完全开发手册[EB/OL],/docs/book-videos/1stm32/zdyz_stm32_stdlib_book.html,2011.[8]李鑫.基于射频识别(RFID)技术的铁鞋跟踪管理系统开发与设计[D].兰州交通大学,2018.[9]刘斌.基于RFID的食品供应链管理系统[D].德州学院,2016.[10]陶存心.无线WiFi技术应用及发展介绍[J].中国新通信,2019,21(22):49-50.[11]/a/164077252_99934917

致谢写到最后,论文也即将完成了,这标志了我的大学生涯已经来到结尾。经过这几个月研究毕业设计,把老师之前在课堂上讲的理论知识进行回顾和学习新的知识,再运用在实际项目中,让我充分体会到,只有动手实践了才能知道知识的运用有多么的重要,实践出真知,在此使我受益匪浅。在整个毕业设计当中,特别感谢我的指导老师黄海老师,项目开发所运用的大部分知识都是由黄海老师授课讲解的,在理论知识和实践开发给了我很大的启发,工作上给予我肯定;也感谢那些曾经指导我和教导我的专业老师们,在学习过程中给予了我宝贵的意见;还有感谢那些在网络上的陌生人大咖们能够为我解答疑惑;同时要感谢我的家人、朋友、同学们,无论是在精神上还是在物资上都给予了我很大的鼓励和帮助,正是因为有他们无私的付出和支持,才能成就今日的我。在最后,对所有在大学期间帮助过我的人们表示真诚的感谢!

附录gizwits_product.c文件部分核心代码://正在考试开关caseEVENT_Examination:currentDataPoint.valueExamination=dataPointPtr->valueExamination;GIZWITS_LOG("Evt:EVENT_Examination%d\n",currentDataPoint.valueExamination);if(0x01==currentDataPoint.valueExamination)//正在考试开关打开{ LCD_Clear(WHITE);//清屏 Show_Examination();//显示正在考试}else{ LCD_Clear(WHITE);//清屏 Show_Table();//显示课表 }break;//考试顺延开关caseEVENT_Deferred:currentDataPoint.valueDeferred=dataPointPtr->valueDeferred;GIZWITS_LOG("Evt:EVENT_Deferred%d\n",currentDataPoint.valueDeferred);if(0x01==currentDataPoint.valueDeferred)//如果正在课程顺延打开{ LCD_Clear(WHITE);//清屏 Show_Deferred();//显示考试顺延 }else{ LCD_Clear(WHITE);//清屏 Show_Table();//显示课表}break;//显示上课代码caseEVENT_Classroom:currentDataPoint.valueClassroom=dataPointPtr->valueClassroom;GIZWITS_LOG("Evt:EVENT_Classroom%d\n",currentDataPoint.valueClassroom);switch(currentDataPoint.valueClassroom){caseClassroom_VALUE0://当前教室为None students_flag=1; students=0;//学生人数清空 LCD_Clear(WHITE);//清屏 Show_Table();//显示课表 break;caseClassroom_VALUE3://当前教室为A203 students_flag=1; students=0;//学生人数清空 LCD_Clear(WHITE);//清屏 Show_Class(203);//显示A203教室详细情况break;}break;//显示调课caseEVENT_Lecture:currentDataPoint.valueLecture=dataPointPtr->valueLecture;GIZWITS_LOG("Evt:EVENT_Lecture%d\n",currentDataPoint.valueLecture);switch(currentDataPoint.valueLecture){caseLecture_VALUE0://调课选择None LCD_Clear(WHITE);//清屏 Show_Table();//显示课表break;caseLecture_VALUE1: LCD_Clear(WHITE);//清屏 Show_Lecture(201);//显示调课至201break;}break;caseWIFI_CON_M2M:wifi_sta=1;//wifi设备连接标志break;caseWIFI_DISCON_M2M:wifi_sta=0;//wifi设备断开标志break;caseWIFI_NTP://获取网络时间GIZWITS_LOG("WIFI_NTP:[%d-%d-%d%02d:%02d:%02d][%d]\n",ptime->year,ptime->month,ptime->day,ptime->hour,ptime->minute,ptime->second,ptime->ntp);//显示年月日LCD_ShowxNum(5,0,ptime->year,4,16,0); LCD_ShowChar(36,0,'/',16,0); LCD_ShowxNum(44,0,ptime->month,2,16,0); LCD_ShowChar(59,0,'/',16,0); LCD_ShowxNum(67,0,ptime->day,2,16,0); //显示时分秒 LCD_ShowxNum(110,0,ptime->hour,2,16,0); LCD_ShowChar(130,0,':',16,0); LCD_ShowxNum(140,0,ptime->minute,2,16,0); //LCD_ShowChar(150,0,':',16,0); //LCD_ShowxNum(160,0,ptime->second,2,16,0); //显示周几 Show_Week(ptime->month,ptime->day); months=ptime->month; days=ptime->day; currentmin=ptime->hour*60+ptime->minute; //计算当前是第几节课 if(currentmin>=(8*60+40)&¤tmin<=(10*60)) { classnum=1; }elseif(currentmin>=(10*60+20)&¤tmin<=(11*60+40)) { classnum=2; }elseif(currentmin>=(14*60+10)&¤tmin<=(15*60+30)) { classnum=3; }elseif(currentmin>=(15*60+50)&¤tmin<=(17*60+10)) { classnum=4; }elseif(currentmin>=(18*60+30)&¤tmin<=(19*60+50)) { classnum=5; }elseif(currentmin>=(20*60+10)&¤tmin<=(21*60+30)) { classnum=6; } break;//MCU中断函数voidmcuRestart(void){ __set_FAULTMASK(1);//关闭所有中断NVIC_SystemReset();//复位//串口发送函数int32_tuartWrite(uint8_t*buf,uint32_tlen)for(i=0;i<len;i++){USART_SendData(USART2,buf[i]); while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET);if(i>=2&&buf[i]==0xFF){ USART_SendData(USART2,0x55); while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET);}}show.c文件部分核心代码://显示当前周数voidShow_Week(intmonth,intday){ intdays[12]={31,28,31,30,31,30,31,31,30,31,30,31};//每月标准天数 intcurrent_month,current_day; current_month=(buf_date[4]-'0')*10+(buf_date[5]-'0'); current_day=(buf_date[6]-'0')*10+(buf_date[7]-'0'); current_class=(buf_date[8]-'0')*100+(buf_date[9]-'0')*10+(buf_date[10]-'0');//计算从开学到现在一共多少天 for(i=current_month-1;i<month-1;i++) { daytime=daytime+days[i]; }if(day>=current_day){ daytime+=days[i]; daytime+=day-current_day; } else{ daytime+=days[i]; daytime+=current_day-day; } currentoday=today%7+1;//计算当前周几 daytime-=current_day; weeks=daytime/7+1;//计算开学到现在当前周数 LCD_ShowString(130,18,30,16,16,"Week"); LCD_ShowxNum(160,18,weeks,2,16,0);//LCD显示周数 if(currentoday==0)//显示当前周几 { LCD_ShowString(170,0,100,16,16,"SUN"); }elseif(currentoday==1) { LCD_ShowString(175,0,100,16,16,"MON"); }elseif(currentoday==2) { LCD_ShowString(175,0,100,16,16,"TUE"); }elseif(currentoday==3) { LCD_ShowString(175,0,100,16,16,"WED"); }elseif(currentoday==4) { LCD_ShowString(175,0,100,16,16,"THU"); }elseif(currentoday==5) { LCD_ShowString(175,0,100,16,16,"FRI"); }elseif(currentoday==6) { LCD_ShowString(175,0,100,16,16,"SAT"); }}//课表绘制voidShow_Table(void){ //绘制表格 LCD_DrawLine(5,35,315,35); LCD_DrawLine(5,35,5,235); for(x=0;x<6;x++) { LCD_DrawLine(55+x*52,35,55+x*52,235); for(y=0;y<7;y++) { LCD_DrawLine(5,61+y*29,315,61+y*29); } } for(m=0;m<group;m++) { str1=buf[0+m*9];//周几 str2=buf[1+m*9];//第几节课 m0=(buf[2+m*9]-'0')*10+(buf[3+m*9]-'0');//课程开始周数 n0=(buf[4+m*9]-'0')*10+(buf[5+m*9]-'0');//课程结束周数 str3=buf[8+m*9];//课程代码 if(str1=='1')//按照周几第几节课将课程名称填入对应位置 { x0=57; }elseif(str1=='2') { x0=109; }elseif(str1=='3') { x0=161; }elseif(str1=='4') { x0=213; }elseif(str1=='5') { x0=265; } if(str2=='1') { y0=66; }elseif(str2=='2') { y0=95; } elseif(str2=='3') { y0=123; } elseif(str2=='4') { y0=152; } elseif(str2=='5') { y0=181; } elseif(str2=='6') { y0=210; } if(weeks>=m0&&weeks<=n0) { if(str3=='1') { LCD_ShowString(x0,y0,50,16,16,"Computer"); }elseif(str3=='2') { LCD_ShowString(x0,y0,50,16,16,"Math"); }elseif(str3=='3') { LCD_ShowString(x0,y0,50,16,16,"English"); }elseif(str3=='4') { LCD_ShowString(x0,y0,50,16,16,"Physics"); }elseif(str3=='5') { LCD_ShowString(x0,y0,50,16,16,"History"); }elseif(str3=='6') { LCD_ShowString(x0,y0,50,16,16,"Politics"); } }

PowerPoint课件制作实用技巧PowerPoint是微软公司生产的制作幻灯片和简报的软件(以下简称PPT)。在我们许多人看来,它只不过是一个简单地对文字、图形、图片进行演示的软件,教学中的课件制作软件当属Authorware、Flash。Authorware和Flash制作的动画效果的确很好,而且它们的功能也很强大。不过这些软件在制作课件的过程中往往非常耗时,用这些专业软件来制作课件用于平时的教学往往效率很低。PPT就是一个非常简单、实用的制作课件的软件,只要你用好它,同样能做非常棒的课件来。一、掌握基本,知道“插入”。(一)知道从“插入”菜单进入,会给PPT课件添加文字、图片、影片和声音等,也就会做一般的课件了。(二)图片插入与处理1.插入图片具体方法:a)插入剪贴画或文件中的图片;b)添加图片做背景;c)给自选图形做填充。2.处理图片具体方法:我们用PPT制作课件时,经常从网上下载图片来用,而网络中的图片往往含有超链接和网站名称痕迹,我们需要删除其中超链接,并对图片进行裁剪处理。在Powerpoint中,我们一般可以利用“图片”工具栏上的“裁剪”工具进行裁剪处理,但是,这里的工具只能对图片进行矩形裁剪,若想裁剪成圆形、多边形等其他形状,通常方法就无能为力了。其实这个问题在PPT中是可以解决的。我们用给自选图形做填充图片的方法就可以实现我们需要的效果。具体步骤:a)首先利用“绘图”工具栏画一个想要裁剪的图形,如椭圆。b)选中椭圆后单击“绘图”工具栏上“填充颜色”按钮右侧黑三角,从列表菜单中单击“填充效果”命令。c)打开选择“图片”选项卡,单击〔选择图片〕按钮,从“选择图片”对话框中找到合适的图片,单击〔插入〕按钮后返回到“填充效果”对话框最后单击〔确定〕按钮后退出。此图片当作椭圆图形的背景出现,改变了原来的矩形形状,获得了满意的裁剪图片效果。图片在插入PPT之前,我们可以用ACDSEE软件进行加工,如改变大小,裁剪等操作。二、学会下载,查找方法。在制作课件过程中,我们时常需要从网络上下载各种资源用以丰富课件内容,提升课堂效果。但有许多网站的flash动画都不提供下载;还有网站为我们提供了许多视频素材,这些视频素材都是FLV流媒体格式。FLV流媒体格式是一种新的视频格式,全称为FlashVideo。由于它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能,它的出现也有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上很好的使用等缺点。目前各在线视频网站均采用此视频格式。如新浪播客、56、优酷、土豆、酷6等,无一例外。FLV已经成为当前视频文件的主流格式。这些网站一般都不提供下载。我们想要这些素材,怎样办?1.寻找下载方法:a)在百度网站搜索栏中输入下载的内容,搜索下载方法。b)弄清格式,再搜索方法。2.具体方法推荐①flasah动画的下载方法一:IE缓存中寻找在网上看过一个flash后,一般情况下都会保存在IE缓存里。右击桌面上的IE图标,选“属性”命令,单击中间的“设置”按钮,弹出“Internet临时文件和历史记录设置”面板,单击“查看文件”,可以打开临时文件夹,按时间排序,找到刚才打开的flash动画文件。优点:不需要安装其它软件。缺点:操作相对烦琐。方法二:借助Flashsaver等软件下载,这些软件都可以快速、方便的下载你所需要的flash文件。优点:简单、方便、快速。缺点:需要安装使用。②FLV视频的获取方法一:IE缓存中寻找,方法同flasah。方法二:flv视频解析下载/三、学用控件,转化应用1.flash动画的插入方法一:安装flash插件,再插入flash。步骤:a)安装“ppt插flash软件”插件;b)单击“插入”→“flashmovie”→打开要播放的flash文件→确定。方法二:利用控件插入flash动画。步骤:a)插入“ShockwaveFlashObject”控件对象:右击“工具栏”→选“控件工具箱”(或点“视图→工具栏→控件工具箱”);点“其他控件”(控件工具箱中最后一个形似锤子斧头的按钮),拖动滚动条或在英文输入法状态下按键盘上“s”键,快速定位到以s开头的控件,选择“ShockwaveFlashObject”控件。将鼠标移到幻灯片工作区,鼠标指针变成“十”字型,拖动鼠标绘制出一个形似信封的矩形。b)打开控件对象“属性”对话框:右击矩形控件对象,在弹出的快捷菜单中选“属性”命令。c)正确设置控件对象属性:主要是在“Movie”空白文本域中正确输入演示文稿要播放的.swf动画的完整名称。d)将控件对象适当缩放:为了获得比较好的播放效果,拖动控件对象的缩放点使它几乎覆盖整个幻灯片工作区,但要在幻灯片工作区底部保留少许空白区域。这样既可以享受.swf动画大屏幕播放的好处,又能够保证幻灯片能够顺利地切换。e)一般情况下,幻灯片应显示出动画的第一帧图形。如果控件对象仍是空白的,可保存演示文稿,关闭后再打开它,按F5放映幻灯片,应该能够正确播放动画。2.FLV视频的插入FLV视频与FLASH不一样的。全称是flashvideo,所用的播放器也不一样。①利用控件插入PPT的方法也是有区别的。不同点:先要下载pptflv.swf文件,此文件是类似于网页中FLV视频播放器的一个Flash文件(可用百度搜索下载下来后记着要改文件名,保留扩展名);例如改成:pptflv1.swf“Movie”参数值填入方法不一样,参数值示例:pptflv.swf?file=视频.FLV“pptflv.swf”即为步骤一下载下来的Flash文件的完整文件,“视频.FLV”即为需要播放的FLV视频的文件名,大家只要将pptflv.swf换成自己下载后起的文件名,将“视频.FLV”换成自己的FLV视频文件名,则此FLV文件就可以在PowerPoint中播放了。如播放2.flv视频参数填法:示例:pptflv1.swf?file=2.FLV②方法二:将flv转换成swf再插入转换软件:UltraFlashVideoFLVConverter3.2.0软件说明:该软件又叫全格式FLV转换器,支持将几乎所有主流视频格式转换为FLV或者SWF且对用户较为关心的RealMedia(RM/RMVB...)和QuickTime(MOV/QT...)支持良好。三大特色功能:既可输出FLV格式,也可输出SWF格式,甚至同时输出FLV+SWF格式。此软件也支持创建调用播放的网页支持导入所有的主流字幕格式。srt,*.sub,*.idx,*.ssa,*.ass,*.psb,*.smi)有字幕合成功能,你现在无需再使用那些繁琐的专业软件来合成字幕到视频中去,字幕合成与格式转换一气呵成!支持视频分割,右键点击列表中的源文件,选择[编辑视频],自己设置下起点终点即可对视频进行去粗取精处理!③方法三:将flv转换成其他格式视频文件再插入工具:FLV转AVI(FreeFLVtoAVIConverter1.5)作用:一个免费的将FLV转换成AVI的软件,简单好用,自带解码器。四、学做交互,理解运用。1.利用母版进行交互母版≠模版母版和模版可以使课件统一整体风格,展现自己的个性和特点;模版是对同一类课件所做的整体风格统一设置,母版则是对某一部课件内部所做的个性化统一设置。母版设置得好,就可以存为模版,供别人在制作同类题材时使用。修改幻灯片母板的方法和技巧。如果我们希望为每一张幻灯片添加上一项固定的内容,并做超链接,可以通过修改“母板”来实现。a)执行“视图→母板→幻灯片母板”命令,进入“幻灯片母板”编辑状态。b)插入固定内容。例如:将图片插入到幻灯片中,调整好大小、定位到合适的位置上。c)给这张图片插入超链接,就可以进行交互了。d)单击“关闭母板视图”按钮退出“幻灯片母板”编辑状态。以后添加幻灯片时,该幻灯片上自动添加上该图片。如果说一个PPT有它的灵魂的话,那就是PPT的母板,它的作用犹如摩天大厦的根基一般。2.在PPT演示文稿中插入PowerPoint演示文稿对象实现交互具体效果:①导航目录内容展示效果②单击小图片就可看到该图片的放大图自动缩效果《画家乡》一课五个画面交互的具体操作方法:a)单击“插入→对象”,在出现的选择页中选择“MicrosoftPowerPoint演示文稿”,单击确定。此时就会在当前幻灯片中插入一个“PowerPoint演示文稿”的编辑区域。b)在此编辑区域中我们就可以对插入的演示文稿对象进行编辑了,编辑方法与PowerPoint演示文稿的编辑方法一样。c)在插入的演示文稿对象中创建所需的幻灯片。可将图片设置为幻灯片相同大小,退出编辑后,就可发现图片以缩小方式显示了(其实是整个插入的演示文稿对象被缩小显示了)。d)最后,我们只需对剩余的图片进行插入。为了提高效率,可将这个插入的演示文稿对象进行复制,并按照上面的方法对图片进行替换即可。e)完毕后,单击“观看放映”命令进行演示,单击小图片马上会放大,再单击放大的图片马上又返回到了浏览小图片的幻灯片中了。原理:这里的小图片实际上是插入的演示文稿对象,它们的“动作设置”属性中的“单击鼠标”中的“对象动作”被设为了“演示”(这是默认值)。因此我们在演示时,单击小图片,就是等于对插入的演示文稿对象进行“演示观看”。而演示文稿对象在播放时就会自动全屏幕显示。所以我们看到的图片就好像被放大了一样,而我们单击放大图片时,插入的演示文稿对象实际上已被播放完了(因为只有一张),它就会自动退出,所以就回到了主幻灯片中了。3.用触发器控制自定义动画进行交互以前我们在使用PowerPoint制作课件时,常常发现制作人机交互性的课件非常麻烦。其实在PowerPoint2003里,用触发器控制自定义动画可以轻松地制作出交互性很强的课件。触发器功能可以将画面中的任一对象设置为触发器,单击它,该触发器下的所有对象就能根据预先设定的动画效果开始运动,并且设定好的触发器可以多次重复使用。类似于Authorware、Flash等软件中的热对象、按钮、热文字等,单击后会引发一个或者的一系列动作。例1:单击“棱台”后,“小球”开始按一定路径运动。例2:分别单击“变色一”和“变色二”,让“笑脸”颜色。例3:单击下面一段话的关键词,让词语变红色读下面一段话,说说从哪些词语中可以看出侵略者采用了各种野蛮手段掠夺、毁灭圆明园的?他们把园内凡是能拿走的东西,统统掠走,拿不动的,就用大车或牲口搬运。实在运不走的,就任意破坏、毁掉。步骤:a)将原来段落中的重点词消去;(将词语颜色变成和背景色一样)b)将重点词作为单独文本覆盖到原来位置;c)设置重点词自定义动画为“添加效果→强调→更改字体颜色→红色”d)右击重点词自定义动画,选择“效果选项”,选择“计时”,选择“触发器”,选“单击下列对象时启动效果”,再选重点词,按确定。五、学会截取,合理选用。(一)视频的截取加工1.工具:万能转换器(英文名TotalVideoConverter)作用:可以帮助你快速的分割,修整大的AVI、MPEG、ASF或者WMV文件为一个个小的视频文件,内置视频播放器,你可以很方便的按照所选择的播

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论