基于STM32的uCGUI移植和优化_第1页
基于STM32的uCGUI移植和优化_第2页
基于STM32的uCGUI移植和优化_第3页
基于STM32的uCGUI移植和优化_第4页
基于STM32的uCGUI移植和优化_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

基于STM32的UCGUI移植和优化首先在开始这个说明之前,要简要说明下具体的环境编译工具MDK420开发板安富莱V2版开发板调试器JLINKV8盗版移植篇相信大家有移植经验的都知道,移植确实是一件非常墨迹的事情,怎么说呢,代码都是别人的,风格也是别人的,文件结构,定义之类都是别人的,看别人的东西是种进步,但是,也是一个痛苦的过程,因为有时候资料确实很少,而且有时候还是E文的,专业名词一大堆,我们根本没有办法想象工作量是多么的巨大不过事情都是这样,你不懂他的时候他就像是巨山,但是一旦你理解他的时候,你才会感觉到原来他是那么的简单从我的经验上来看,至少应该是这样的好吧,闲话少说,我们就来开始我们的移植之旅把首先,我们需要准备的东西有UCGUI390,这个版本是大家现在用的比较多的,效率也比较高,别人都是这么评论的,至于其他版本的,我没有接触很多,所以不能过多评论UCGUI有三个文件夹,一个是TOOL,这个文件夹是用来使用一些UCGUI的上位机程序,基本都是字体和模板查看之类的在SAMPLE文件夹下面是已经别人帮你写好了很多有用的东西,像跟操作系统有关的GUI_X或者一些模板后面我们会用到的自己定义的DEMO,或者是GUI配置后面再一一详细叙说这个文件夹的功能在START文件夹里面,这是我们最主要的文件夹里面就包含了UCGUI的源代码,UCGUI的作者把源代码放进VC里面进行编译了当然,这是用标准C语言写的程序,所以我们可以放在任何C语言平台下编译而不会担心兼容性问题,这个UCGUI在这方面做的算是完美了,所以,我们可以在VC平台下写界面,然后再把代码拷进我们的下位机编译器进行编译,这样子效率就会非常高了像51那时候写界面就是疯狂的一次一次的烧,真是纠结然后这里放的就是UCGUI的源代码了,在GUI文件夹下面这则是每个文件夹的功能参考UCGUI中文手册,UCGUICOM翻译大概看一下就可以了,这个跟我们移植的关系不大,关键点是带的可以不包含进去待会配置会讲到然后其他的都要包含进去接着我们要把我们的文件包含进我们已经搭建好的工程,这里说明下我们的工程要求一般来说,我们要画一个图形,最基本的就是从点开始,从点到线,从点到面,所以在已经建好的工程里面你要能点亮你的屏幕,能点出最基本的点,能填充出最基本矩阵这是UCGUI最包含的函数,反正我移植的时候涉及到的包括三个函数,LCD_INITLCD_DRAW_POINTX,Y,COLOR,LCD_FILLCIRCUITX1,X2,Y1,Y2这三个函数是必须的,后面也会说明如何把这三个函数进行填充当我们把文件复制进去的时候,再加上我们一开始已经创建好的工程的时候,文件结构差不多就是这个样子了,截图如下USER包括,MAIN函数就是我们初始化和函数调用,绘图用的文件,另外那几个文件相信大家都明白了把,TFT_LCDC就是你在,没有移植UCGUI的情况下,纯液晶屏驱动,这里建议把液晶屏的API和最底层驱动API就是画圆啊,画椭圆啊,清除屏幕之类的,底层驱动就是驱动液晶屏的管脚运作,FSMC初始化,时钟配置之类的,不过我这里也是集成在一起了,比较懒,大家别学其他文件夹我都包含进去了,在没包含进去的时候,编译是可以通过的,但是,那么多文件包含进去,有些配置还是没有设定好的所以会有错误,蛮编译一下没事的这里我们需要修改的文件只有这几个,这是UCGUI开放给我们的用户层的文件,在UCGUI中,LCDDRIVE文件夹要自己加进去,GUI_XC也是,另外三个文件都是包含了,在GUICONFH中1IFNDEFGUICONF_H2DEFINEGUICONF_H34DEFINEGUI_OS0/这里指的是对操作系统的支持,因为我们这里只有单纯的移植UCGUI,5/所以,要把这个关闭,不然后面会有很多东西编译进去6/不然到时候编译的时候会发生很多你无法修改的错误7DEFINEGUI_SUPPORT_TOUCH0/这里则是对触摸屏的支持,触摸屏我是能做,但是没有用,8/所以省去麻烦,把触摸屏关掉,相信移植好之后,要支持触摸屏大家都会有门路了9DEFINEGUI_SUPPORT_UNICODE1/UNICODE编码支持,如果大家只是单纯的想用英文显示,而不移植中文字库进去,10/这个是可以关掉的,因为UNICODE是向下支持的,所以开不开无所谓11/反正都是能够正常显示的12DEFINEGUI_DEFAULT_FONT910/1112TIMING13GUI_X_GETTIME14GUI_X_DELAYINT1516SOMETIMINGDEPENDENTROUTINESREQUIREAGETTIME17ANDDELAYFUNCTIONDEFAULTTIMEUNITTICK,NORMALLYIS181MS19译一些需要时间的相关函数需要用到GETTIME和延迟20默认时间单位为1MS21/2223INTGUI_X_GETTIMEVOID24RETURN0252627VOIDGUI_X_DELAYINTMS28293031/3233GUI_X_INIT3435NOTE36GUI_X_INITISCALLEDFROMGUI_INITISAPOSSIBILITYTOINIT37SOMEHARDWAREWHICHNEEDSTOBEUPANDRUNNINGBEFORETHEGUI38IFNOTREQUIRED,LEAVETHISROUTINEBLANK3940译GUI_X_INIT是在GUI_INIT调用前,GUI启动或者运行前准备41如果不是必须的,可以把这个函数留空白42/4344VOIDGUI_X_INITVOID45464748495051/5253GUI_X_EXECIDLE5455NOTE56CALLEDIFWMISINIDLESTATE57译视窗管理器空闲时候调用58/5960VOIDGUI_X_EXECIDLEVOID6162/6364LOGGINGOSDEPENDENT6566NOTE67LOGGINGISUSEDINHIGHERDEBUGLEVELSONLYTHETYPICALTARGET68BUILDDOESNOTUSELOGGINGANDDOESTHEREFORNOTREQUIREANYOF69THELOGGINGROUTINESBELOWFORARELEASEBUILDWITHOUTLOGGING70THEROUTINESBELOWMAYBEELIMINATEDTOSAVESOMESPACE71IFTHELINKERISNOTFUNCTIONAWAREANDELIMINATESUNREFERENCED72FUNCTIONSAUTOMATICALLY73译系统日志层应用程序7475/7677VOIDGUI_X_LOGCONSTCHARS78VOIDGUI_X_WARNCONSTCHARS79VOIDGUI_X_ERROROUTCONSTCHARS复制代码在UCGUI和底层驱动的接口文件时LCDDRIVERC,大家打开文件夹可以看到这几个文件LCDWINC,LCDNULLC,LCDDUMMYC,这三个文件你随便修改哪个都行,一开始我是直接修改LCDNULLC的,不过一开始没经验,一直不能正常调用我的UCGUI函数,所以,我的队友告诉我,要修改另外一个LCDWINC,这次才反应过来,理论上,修改LCDNULLC也是可以的,就是一些细节性的东西可以要多注意点下面我讲解下怎么修改LCDWINC这个文件源文件我先贴出来IFDEFINEDWIN32RETURN1RETURN0DEFINESETPIXELX,Y,CIF_CHECKBOUNDCLCDSIM_SETPIXELINDEXX,Y,C,LCD_DISPLAY_INDEXELSEDEFINESETPIXELX,Y,CLCDSIM_SETPIXELINDEXX,Y,C,LCD_DISPLAY_INDEXENDIFDEFINEXORPIXELX,Y_XORPIXELX,Y/STATICCODE/_XORPIXEL/STATICVOID_XORPIXELINTX,INTYUNSIGNEDINTINDEXLCD_L0_GETPIXELINDEXX,YLCDSIM_SETPIXELINDEXX,Y,LCD_NUM_COLORS1INDEX,LCD_DISPLAY_INDEX/_DRAWBITLINE1BPP/STATICVOID_DRAWBITLINE1BPPINTX,INTY,U8CONSTP,INTDIFF,INTXSIZE,CONSTLCD_PIXELINDEXPTRANSLCD_PIXELINDEXINDEX0PTRANS0LCD_PIXELINDEXINDEX1PTRANS1XDIFFSWITCHGUI_CONTEXTDRAWMODEIFDIFF8DIFF0PWHILEXSIZEBREAKCASELCD_DRAWMODE_TRANSDOIFPXIFDIFF8DIFF0PWHILEXSIZEBREAKCASELCD_DRAWMODE_XORDOIFPLCDSIM_SETPIXELINDEXX,Y,LCD_NUM_COLORS1PIXEL,LCD_DISPLAY_INDEXXIFDIFF8DIFF0PWHILEXSIZEBREAK/_DRAWBITLINE2BPP/IFLCD_MAX_LOG_COLORS2STATICVOID_DRAWBITLINE2BPPINTX,INTY,U8CONSTP,INTDIFF,INTXSIZE,CONSTLCD_PIXELINDEXPTRANSLCD_PIXELINDEXPIXELSPINTCURRENTPIXELDIFFXDIFFSWITCHGUI_CONTEXTDRAWMODELCD_PIXELINDEXPIXELINDEXPTRANSINDEXSETPIXELX,Y,PIXELINDEXIFCURRENTPIXEL4CURRENTPIXEL0PIXELSPWHILEXSIZEELSEDOINTSHIFT3CURRENTPIXEL6SHIFTSHIFTSETPIXELX,Y,INDEXIFCURRENTPIXEL4CURRENTPIXEL0PIXELSPWHILEXSIZEBREAKCASELCD_DRAWMODE_TRANSIFPTRANSDOINTSHIFT3CURRENTPIXEL6SHIFTSHIFTIFINDEXLCD_PIXELINDEXPIXELINDEXPTRANSINDEXSETPIXELX,Y,PIXELINDEXXIFCURRENTPIXEL4CURRENTPIXEL0PIXELSPWHILEXSIZEELSEDOINTSHIFT3CURRENTPIXEL6SHIFTSHIFTIFINDEXSETPIXELX,Y,INDEXXIFCURRENTPIXEL4CURRENTPIXEL0PIXELSPWHILEXSIZEBREAKENDIF/_DRAWBITLINE4BPP/IFLCD_MAX_LOG_COLORS4STATICVOID_DRAWBITLINE4BPPINTX,INTY,U8CONSTP,INTDIFF,INTXSIZE,CONSTLCD_PIXELINDEXPTRANSLCD_PIXELINDEXPIXELSPINTCURRENTPIXELDIFFXDIFFSWITCHGUI_CONTEXTDRAWMODELCD_PIXELINDEXPIXELINDEXPTRANSINDEXSETPIXELX,Y,PIXELINDEXIFCURRENTPIXEL2CURRENTPIXEL0PIXELSPWHILEXSIZEELSEDOINTSHIFT1CURRENTPIXEL4SHIFTSHIFTSETPIXELX,Y,INDEXIFCURRENTPIXEL2CURRENTPIXEL0PIXELSPWHILEXSIZEBREAKCASELCD_DRAWMODE_TRANSIFPTRANSDOINTSHIFT1CURRENTPIXEL4SHIFTSHIFTIFINDEXLCD_PIXELINDEXPIXELINDEXPTRANSINDEXSETPIXELX,Y,PIXELINDEXXIFCURRENTPIXEL2CURRENTPIXEL0PIXELSPWHILEXSIZEELSEDOINTSHIFT1CURRENTPIXEL4SHIFTSHIFTIFINDEXSETPIXELX,Y,INDEXXIFCURRENTPIXEL2CURRENTPIXEL0PIXELSPWHILEXSIZEBREAKENDIF/_DRAWBITLINE8BPP/IFLCD_MAX_LOG_COLORS16STATICVOID_DRAWBITLINE8BPPINTX,INTY,U8CONSTP,INTXSIZE,CONSTLCD_PIXELINDEXPTRANSLCD_PIXELINDEXPIXELIFGUI_CONTEXTDRAWMODEXSIZE0XSIZE,X,PPIXELPSETPIXELX,Y,PTRANSPIXELELSEFORXSIZE0XSIZE,X,PSETPIXELX,Y,PELSE/HANDLETRANSPARENTBITMAP/IFPTRANSFORXSIZE0XSIZE,X,PPIXELPIFPIXELSETPIXELX0,Y,PTRANSPIXELELSEFORXSIZE0XSIZE,X,PPIXELPIFPIXELSETPIXELX0,Y,PIXELENDIF/_DRAWBITLINE16BPP/IFLCD_BITSPERPIXEL8STATICVOID_DRAWBITLINE16BPPINTX,INTY,U16CONSTP,INTXSIZE,CONSTLCD_PIXELINDEXPTRANSLCD_PIXELINDEXPIXELIFGUI_CONTEXTDRAWMODEXSIZE0XSIZE,X,PPIXELPSETPIXELX,Y,PTRANSPIXELELSEFORXSIZE0XSIZE,X,PSETPIXELX,Y,PELSE/HANDLETRANSPARENTBITMAP/IFPTRANSFORXSIZE0XSIZE,X,PPIXELPIFPIXELSETPIXELX0,Y,PTRANSPIXELELSEFORXSIZE0XSIZE,X,PPIXELPIFPIXELSETPIXELX0,Y,PIXELENDIF/EXPORTEDCODE/LCD_L0_DRAWPIXELPURPOSEWRITES1PIXELINTOTHEDISPLAY/VOIDLCD_L0_DRAWPIXELINTX,INTYIFGUI_CONTEXTDRAWMODEELSESETPIXELX,Y,LCD_COLORINDEX/LCD_L0_DRAWHLINE/VOIDLCD_L0_DRAWHLINEINTX0,INTY,INTX1IFGUI_CONTEXTDRAWMODEX02CASE2_DRAWBITLINE2BPPX0,IY0,PDATA,DIFF,XSIZE,PTRANSBREAKENDIFIFLCD_MAX_LOG_COLORS4CASE4_DRAWBITLINE4BPPX0,IY0,PDATA,DIFF,XSIZE,PTRANSBREAKENDIFIFLCD_MAX_LOG_COLORS16CASE8_DRAWBITLINE8BPPX0,IY0,PDATA,XSIZE,PTRANSBREAKENDIFIFLCD_BITSPERPIXEL8CASE16_DRAWBITLINE16BPPX0,IY0,CONSTU16PDATA,XSIZE,PTRANSBREAKENDIFPDATABYTESPERLINE/LCD_L0_DRAWBITMAPPURPOSESETSTHEORIGINALPOSITIONOFTHEVIRTUALDISPLAYHASNOFUNCTIONATTHISPOINTWITHTHEPCDRIVER/VOIDLCD_L0_SETORGINTX,INTYGUI_USE_PARAXGUI_USE_PARAY/SUPPORTFORVERIFICATIONPURPOSETHEFOLLOWINGROUTINESAREIMPLEMENTED,BUTHAVENOFUNCTIONILITYATTHISPOINTTHEREASONISTHATTHESEFUNCTIONSARESUPPOSEDTOSUPERVISETHEHARDWARE,WHICHFOROBVIOUSREASONSCANNOTBEDONEINASIMULATION/IFLCD_VERIFYINTLCD_GETERRSTATVOIDRETURN0VOIDLCD_CLRERRSTATVOIDINTLCD_GETERRCNTVOIDRETURN0ENDIF/LCD_ONLCD_OFFNOTSUPPORTEDINSIMULATION/VOIDLCD_OFFVOIDVOIDLCD_ONVOID/LCD_L0_SETLUTENTRY/VOIDLCD_L0_SETLUTENTRYU8POS,LCD_COLORCOLORLCDSIM_SETLUTENTRYPOS,COLOR,LCD_DISPLAY_INDEX/LCD_L0_INIT/INTLCD_L0_INITVOIDRETURN0INTLCD_L0_CHECKINITVOIDRETURN0/LCD_L0_REINITPURPOSETHISROUTINEISSUPPLIEDFORCOMPATIBILITYANDINTERCHANGABILITYOF“C“SOURCESWITHEMBEDDEDVERSIONSOFTHEDRIVERITHASNOREALEFFECTINTHEPCVERSIONASTHEREISSIMPLYNONEEDTOREINITIALIZETHELCDSINCEITISJUSTSIMULATEDANYHOW/VOIDLCD_L0_REINITVOIDUNSIGNEDLCD_L0_GETPIXELINDEXINTX,INTYRETURNLCDSIM_GETPIXELINDEXX,Y,LCD_DISPLAY_INDEX/LCD_L0_XORPIXELPURPOSEINVERTS1PIXELOFTHEDISPLAY/VOIDLCD_L0_XORPIXELINTX,INTYXORPIXELX,Y/LCD_L0_SETPIXELINDEXPURPOSEWRITES1PIXELINTOTHEDISPLAY/VOIDLCD_L0_SETPIXELINDEXINTX,INTY,INTCOLORINDEXSETPIXELX,Y,COLORINDEXELSEVOIDLCDWIN_CVOIDVOIDLCDWIN_CVOID/AVOIDEMPTYOBJECTFILES/ENDIF/DEFINEDWIN32复制代码库函数大家可以字节查询源代码,最后修改后DEMO代码如下IFDEFHARDWARE_PLATFORM_ALI/015作为数据线DEFINELCD_DATA_BUSGPIO_PIN_ALL/片选信号/DEFINELCD_CS_LOWGPIO_RESETBITSGPIOC,GPIO_PIN_9/DEFINELCD_CS_HIGHGPIO_SETBITSGPIOC,GPIO_PIN_9/VERHXHDEFINELCD_CS_LOWGPIOCBRRGPIO_PIN_9DEFINELCD_CS_HIGHGPIOCBSRRGPIO_PIN_9/数据/命令/DEFINELCD_RS_LOWGPIO_RESETBITSGPIOC,GPIO_PIN_8/DEFINELCD_RS_HIGHGPIO_SETBITSGPIOC,GPIO_PIN_8/VERHXHDEFINELCD_RS_LOWGPIOCBRRGPIO_PIN_8DEFINELCD_RS_HIGHGPIOCBSRRGPIO_PIN_8/ENDHXH/写数据/DEFINELCD_WR_LOWGPIO_RESETBITSGPIOC,GPIO_PIN_7/DEFINELCD_WR_HIGHGPIO_SETBITSGPIOC,GPIO_PIN_7/VERHXHDEFINELCD_WR_LOWGPIOCBRRGPIO_PIN_7DEFINELCD_WR_HIGHGPIOCBSRRGPIO_PIN_7/ENDHXH/读数据/DEFINELCD_RD_LOWGPIO_RESETBITSGPIOC,GPIO_PIN_6/DEFINELCD_RD_HIGHGPIO_SETBITSGPIOC,GPIO_PIN_6/VERHXHDEFINELCD_RD_LOWGPIOCBRRGPIO_PIN_6DEFINELCD_RD_HIGHGPIOCBSRRGPIO_PIN_6/ENDHXH/PB015,作为数据线DEFINEDATAOUTXGPIOBODRX/数据输出DEFINEDATAINGPIOBIDR/数据输入ENDIF复制代码把对管脚置高置底进行的操作完全跟改成寄存器操作,当然,你也可以改成对寄存器指针进行操作,不过效率是一样的,因为DEFINE的效果是复制,所以,通过观察源代码00127DEFINEGPIO_PIN_0UINT16_T0X000100128DEFINEGPIO_PIN_1UINT16_T0X000200129DEFINEGPIO_PIN_2UINT16_T0X000400130DEFINEGPIO_PIN_3UINT16_T0X000800131DEFINEGPIO_PIN_4UINT16_T0X0010复制代码所以,当程序在编译的时候,也是把地址进行简单的拷贝,所以这部分功夫是可以完全剩下来的接下来是关于填充矩阵的函数操作/LCD_L0_FILLRECT/VOIDLCD_L0_FILLRECTINTX0,INTY0,INTX1,INTY1/最后修改2011723/FORY0Y1Y0INTX/填充X轴坐标和Y轴坐标/_IOUINT16_TBANK4_LCD_C0X0200_IOUINT16_TBANK4_LCD_DY0_IOUINT16_TBANK4_LCD_C0X0201_IOUINT16_TBANK4_LCD_D399X0/写显存前准备/_IOUINT16_TBANK4_LCD_C0X0202/开始写入显存/XX0FORX0X1X0_IOUINT16_TBANK4_LCD_DLCD_COLORINDEXX0X/最后修改2011726/U32N/设定窗口/_IOUINT16_TBANK4_LCD_C0X0210/_IOUINT16_TBANK4_LCD_DY0/_IOUINT16_TBANK4_LCD_C0X0211/_IOUINT16_TBANK4_LCD_DY1/_IOUINT16_TBANK4_LCD_C0X0212/_IOUINT16_TBANK4_LCD_D399X1/_IOUINT16_TBANK4_LCD_C0X0213/_IOUINT16_TBANK4_LCD_D399X0/设定开始位置/_IOUINT16_TBANK4_LCD_C0X0200/_IOUINT16_TBANK4_LCD_DY0/_IOUINT16_TBANK4_LCD_C0X0201/_IOUINT16_TBANK4_LCD_D399X0/进行填充/NU32Y1Y01X1X01/_IOUINT16_TBANK4_LCD_C0X0202/WHILEN/_IOUINT16_TBANK4_LCD_DLCD_COLORINDEX/恢复窗口/_IOUINT16_TBANK4_LCD_C0X0210/_IOUINT16_TBANK4_LCD_D0X0000/_IOUINT16_TBANK4_LCD_C0X0211/_IOUINT16_TBANK4_LCD_D0X00EF/_IOUINT16_TBANK4_LCD_C0X0212/_IOUINT16_TBANK4_LCD_D0X0000/_IOUINT16_TBANK4_LCD_C0X0213/_IOUINT16_TBANK4_LCD_D0X018F复制代码这里有关于两种填充方式,都是避开函数操作,被注释掉的是对窗口进行操作的,而没被注释掉的是对线条进行填充对线条进行操作的相信大家应该非常了解了,这里详细解释下对窗口进行操作的一些细节窗口也就是可以进行填充的区域,液晶驱动里面,每个物理像素对应的坐标已经是固定的,但是窗口可以不固定,窗口就是可以进行填充的区域,你如果要在窗口外面进行填充,是无法进行的,同样的,当你填充到窗口边缘的时候,会自动跳转到下一行进行填充,只要你设定的点正确,那么整个你设定的窗口区域都会被填充完毕,这段期间你要做的知识单纯的填充数据,不需要进行设定点的操作,也不需要换行,这样子屏幕填充矩阵操作看起来效果就不会有刷屏的感觉了填充行对行进行填充,只需要在换行的时候进行坐标切换,我用整个函数,慢了30万个点每秒把在优化的时候,我只是抛砖引玉的给大家介绍下怎么用什么样的思路进行优化,细节性的东西还是要大家好好去琢磨的初稿到这边就差不多结束了,后面会陆续补充,只要大家想知道都可以直接进行联系毕业设计(论文)管理规定及相关表格汇编目录本科生毕业设计(论文)管理规定1毕业论文(设计)工作实施细则(草案)2优秀毕业论文评选办法7毕业论文的写作与排版规范10毕业设计(论文)写作模板14毕业设计(论文)答辩提问记录表21毕业设计第周工作总结22毕业设计(论文)过程跟踪表23毕业设计(论文)课题申请表24毕业设计(论文)任务书25毕业设计(论文)开题报告26毕业设计工作中期检查27毕业设计工作中期检查28大学本科生毕业设计(论文)管理规定为提高本科生毕业设计(论文)质量,加强毕业生毕业设计管理工作,特制定如下规定1本科毕业设计工作从第七学期(四年级第一学期)考试周前,完成教师选题、师生见面及指导教师向学生下达任务书(见附表一)。毕业设计从第八学期开学正式开始,十六周内完成。2毕业设计开始时,教师必须填写毕业设计课题申请表、并由系汇总后交院毕业设计领导小组审核。(见附表)。3指导教师必须定期对学生辅导(每周至少两次),并将确定的周辅导时间上报教学办,教学办将定期和不定期进行检查。4指导教师自行组织学生的开题报告,并填写开题报告表(见附表二)5加强中期的监督与检查,第一次检查时间定在第五周,检查内容含学生资料阅读,方案论证情况。第二次检查定在第十周,形式为由指导教师组织,院毕业设计领导小组成员旁听,学生口头汇报。主要检查学生的阶段性结果。两次检查学生均应填写中期检查报告表格(见附表三、四),指导教师或系对检查情况写出书面评语。6学生需上交一篇与本专业有关不少于5000字的外文文章翻译,并将原文和译文用A4打印加自设计封皮一起装订成册。7论文答辩前,指导教师必须给出评语及评分,然后由各系主任指定其他评阅人对论文进行评阅及评分(请参考毕业论文书面成绩评分表规定的评分标准评分)。8论文答辩由各系组织,并成立答辩委员会对所有学生论文进行答辩。答辩必须给出答辩委员会意见及评分并填写相应表格。答辩委员会成员必须按评分表中各项指标标准进行评分,然后由各成员给出的分数计算出得分。9毕业设计(论文)最终成绩计算指导教师评分X30评阅人评分X30答辩委员会评分X40总分10毕业设计(论文)提交的文档及装订要求(1)毕业论文一份(包含封皮、目录、中英文摘要、内容及参考文献)(2)不少于5000汉字的科技翻译资料一份(并将原文和译文用A4打印加自设计封皮一起装订成册)(3)毕业论文简介(A4纸打印12页)(包含题目、专业、年级、姓名、指导教师、毕业论文所做的工作、解决的问题、创新之处等)(4)毕业设计任务书(加在毕业论文目录之前和毕业论文一起装订,)(5)开题报告(加在毕业论文目录之前和毕业论文一起装订,)(6)毕业设计工作中期检查表、注(4)(5)(6)加在毕业论文目录之前和毕业论文一起装订。11毕业设计(论文)随正式论文一律附交电子文档(光盘或软盘)。被推荐参加学校优秀毕业设计(论文)3评选的,还要另附(符合发表格式要求的)修改为5000字左右的电子文档。2005年12月修订大学毕业设计(论文)工作实施细则(试行)根据毕业设计(论文)工作暂行规定,为了进一步规范毕业设计(论文)工作的各个环节,结合我院实际情况,经院教学指导委员会讨论,院长办公联席会议通过,对我院毕业设计(论文)工作特制订以下实施细则。一、指导教师资格毕业设计(论文)的指导教师原则上应由各专业具有中级含中级以上专业技术职务的教师担任。也可以聘任具有相应职称、学术水平高的工程技术人员担任。指导教师名单由各系系主任核定,报分管教学的副院长批准后实施。二、课题的命题过程1命题的基本原则是(1)目标原则命题必须符合专业培养目标,具有一定的深度、广度与新颖性,能使学生得到比较全面的训练。(2)价值原则命题应具有一定的学术研究或应用开发价值,尽可能做到理论与实际相结合,体现学科的发展性与应用性。(3)能力原则命题的难度应考虑学生完成命题的条件与能力,因材施教。(4)兴趣原则应考虑学生对命题的兴趣与探索研究的积极性。(5)多样化原则命题应注意题目的不断更新与类型的多样化,同一指导教师的设计(论文)课题选题和近三届毕业设计课题的重复率不高于50,题目数量应满足一人一题的基本要求。2课题的审核由各专业指导教师确定后的课题,填写毕业设计课题申请表。经系主任汇总后,报院毕业设计领导小组审核,由分管教学的副院长批准。3确定课题的时间要求一般在第七学期第15周前完成命题,对于经批准认可的命题,在第16周内向学生公布。指导教师在实际指导过程中,一般不应随意更改命题,确实需要更改命题时,应办理相关手续。三、选题与任务书1学生在教师指导下从公布的命题范围内选题。2学生自拟题目须经系主任审阅后指定指导教师,并报分管教学副院长批准。3选题原则上要求一人一题。4学生选题一般在第七学期的第17周前完成。5根据学生选题情况,填写大学毕业论文(设计)任务书,其中“设计所需的工作条件”应与课题的实际需要相符;“设计(论文)任务及目标”应指明毕业设计的详细任务(所需完成的工作、达到的设计要求等),不能简单了事。四、开题1指导学生书写开题报告,开题报告主要内容包括课题研究的意义和背景、课题研究相关资料的研究情况(说明课题研究的历史、现状和发展趋势)、对课题研究的基本构思。2指导学生填写大学毕业论文(设计)开题报告,并要求学生在第八学期的第2周前提交不少于1000字的开题报告,基本内容应包括课题研究的意义和背景、课题研究相关资料的研究情况(说明课题研究的历史、现状和发展趋势)、对课题研究的基本构思、阶段性工作计划、参考文献等。参考文献的列写格式要符合要求。3第八学期的第3周前完成开题审核,通过开题审核的学生,一般不应更换选题;开题未获通过的学生,应及时根据开题指导小组的意见更换选题,并于开题后的2周内做好准备,向开题指导小组第二次提出开题申请;对再次开题未获通过的学生,取消其本次毕业设计(论文)资格,延至下届进行。指导教师要重视对开题未获通过的学生进行指导。4开题报告中,“指导教师意见”应对学生开题情况作出基本评价以及对学生毕业设计(论文)研究方案或毕业设计(论文)写作提纲提出改进意见,同时还应对学生是否可以进入研究和设计(论文)撰写阶段提出意见。开题意见应对选题及设计方案的合理性、可行性作出简单评价,并明确表示是否同意开题,不能只简单写“同意开题”及类似意见。五、过程指导1指导教师确定以后,不得随意更换。指导教师因各种原因确实不能或不宜进行毕业设计(论文)指导时,必须办理有关手续,并由所在系指定水平相当的教师指导。2每名教师指导的学生人数一般限定在8名以内。3指导教师应指导学生制订毕业设计(论文)工作计划,提出毕业设计(论文)的具体要求,指导学生阅读文献和参考资料。4指导教师应定期(平均每周不少于一次)检查学生的工作进度与工作质量,填写毕业设计过程跟踪表。及时解答和处理学生提出的有关问题,指导学生完成各阶段的设计(论文)任务,并认真填写毕业设计(论文)指导过程的各项表格。5指导教师应指导学生按要求及规范撰写毕业论文。毕业论文及格式应符合本科生毕业设计(论文)管理规定、毕业论文(设计)排版打印格式的要求。论文的具体要求是设计方案合理、理论准确、理论分析和技术分析充分、实验(试验)和计算的方法正确、各方面的数据可靠、图表规范清晰、文字表述的语言流畅简练准确;字数在8000字以上,一律按规定格式进行打印。论文内容和设计方案要杜绝抄袭别人的成果,避免和往届类似题目内容上的雷同以及网上可查阅资料内容的雷同(技术文档除外),如果需要引用别人的成果内容,一定要注明参考文献的出处。6指导教师应指导学生撰写不少于5000字的外文文章翻译。格式应符合要求。要求内容应与研究的课题相关。参考文献不少于15篇,格式规范。六、毕业答辩和成绩评定1指导教师应审阅学生毕业设计(论文),填写毕业设计(论文)评审表,“指导教师评语”应对所指导的毕业设计(论文)质量以及学生工作态度作出全面评价,包括以下内容对选题及研究成果的评价(选题及研究成果的意义,理论上创新性、科学性,应用上应用范围、可行程度、效果或效益等);论文(设计)写作(论据的充分性、论证的逻辑性、书面表达能力、文面规范程度);独立解决实际问题的能力;是否按要求的内容和时间,认真完成了所规定的任务(含阅读与本课题相关的文献资料,就本课题的研究进行科学实验或社会调查以及综述报告完成情况);存在问题;依据上述评价,提出建议成绩,并明确表示是否同意答辩。2交叉评阅教师对其他教师指导的毕业设计(论文)进行评阅,并按要求写出交叉评阅评语,给出交叉评阅成绩。“评阅意见”应对学生掌握基础理论、基本技能、专业知识及综合训练的情况;学生文字表达、计算方法以及实验结果分析等方面的能力和插图(或图纸)质量;学生完成课题过程中的创新能力及工作质量;毕业设计(论文)资料的规范性、完整性等填写审查意见、给出建议成绩,同时还应对学生是否可以进行答辩提出意见。3由答辩小组和答辩委员会进行毕业设计(论文)的答辩和成绩评定。按要求填写毕业论文(设计)答辩评分表,“答辩情况记录”应简明记载答辩提问及回答内容,不能简单填写“回答正确”等类似文字。“答辩评语”应对回答问题的正确性,对所研究课题的了解程度,答辩人的思维能力、综合表达能力,基本理论和基本概念的掌握程度等作出评价。“答辩成绩”只针对答辩情况评定成绩。另外,每个答辩小组将小组答辩(综合评价)成绩末位10的学生提交到各系进行二次答辩。二次答辩小组由系主任及每个答辩小组组长组成。二次答辩小组将小组答辩(综合评价)成绩末位20的学生提交到学院进行最终答辩。学院(最终)答辩小组由学院教学副院长及各系主任组成。这次答辩的(综合评价)成绩作为确定这部分学生的最终成绩。4答辩小组应综合指导教师和评阅教师意见,结合答辩小组成员在毕业论文(设计)评分表评定的成绩,填写毕业论文(设计)评审表中答辩小组评语,并给出毕业论文(设计)最终成绩。“答辩小组评语”是对毕业论文(设计)质量和答辩情况综合评审后所作出的评定性结果,具有权威性和终结性。应包括以下内容对选题及研究成果的评价(主要是选题及研究成果的意义;理论上创新性、科学性;应用上应用范围、可行程度、效果或效益等);论文写作(论据的充分性、论证的逻辑性、书面表达能力、文面规范程度);论文答辩(回答问题的正确性,对所研究课题的了解程度,答辩人的思维能力、综合表达能力,基本理论和基本概念等)。在以上评价的基础上,给出评定成绩。答辩评语要明确成绩和缺点,要避免千篇一律,要与成绩等级相吻合。七、毕业论文(设计)总结与统计1各系应对本专业毕业设计(论文)工作进行认真总结,总结内容包括(1)基本情况答辩人数,未能如期答辩学生及其原因,成绩分布及其原因等;(2)在毕业论文(设计)工作过程中执行学校规定和要求的情况;(3)结合专业特点、制定具体措施及执行效果;(4)存在问题及改进措施。2各系应对本专业毕业设计(论文)进行统计,填报以下统计资料(1)毕业设计(论文)选题分析;(2)毕业设计(论文)质量分析;(3)毕业设计(论文)情况汇总表;(4)毕业设计(论文)成绩统计分析表。(5)毕业设计(论文)工作总结八、校级优秀毕业设计(论文)推荐1认真做好向学校优秀毕业设计(论文)的推荐、审定工作,评选出的优秀毕业设计(论文)比例不超过本专业本届毕业设计(论文)总数的35。2拟推荐的优秀毕业论文(设计),应认真填写毕业设计(论文)推荐表(一式二份),并将连同毕业设计(论文)原件和5000字左右适合发表格式的电子文档报送教务处审批。九、材料归档按要求整理归档材料,包括毕业设计(论文)任务书、开题报告、答辩评分表、评审表、毕业设计(论文)简介、毕业论文、及各种材料的电子文档(光盘)等。十、本细则自发文之日起实施,由学院教学指导委员会负责解释。大学2006年6月大学优秀毕业论文评选办法毕业设计(论文)是实现人才培养目标的重要教学环节,是评价学院教学质量和人才培养质量的重要依据。为发挥毕业设计(论文)在培养学生独立分析问题与解决问题的能力、科研能力、实践能力、创新能力和促使学生掌握工程设计、撰写报告的基本方法,展示我院毕业环节的教学成果,鼓励表彰优秀学生和指导教师。特制定本办法。1评选范围、数量1)评选范围大学本科应届毕业生的毕业论文。2)评选数量本科毕业生人数的12。2组织机构与工作职责院里成立毕业论文评优委员会,委员会应由79名具有高级职称的人员组成,其中必须包含教学督导员。各系推荐优秀毕业论文侯选人名单,院毕业论文评优委员会负责组织侯选人进行评审,并最终确定优秀毕业论文名单。3优秀毕业论文的评选条件(1)成绩必须在90分以上的毕业设计(论文)(2)具有一定的创新性或具有一定的实用(参考)价值;(3)选题科学,数据资料真实、完整;(4)较好地体现了本专业基本理论、基本知识和基本技能的综合应用;(5)设计(论文)完整、规范,表明学生已掌握工程设计和理论研究的基本方法,并展现了作者的设计或分析问题思路和创新理念,体现了对知识掌握和运用的熟练程度,设计方案具有应用价值或论文具有理论价值;(6)毕业设计(论文)应显示出作者具有综合运用多学科理论、知识的能力,具有一定的科研能力、创新能力和学术水平。4评选程序及办法在各系组织答辩后推选出90分以上的毕业设计(论文),经院毕业设计(论文)评优委员会评审确定,并将评选结果公示。各系在评优时,应在不突破总指标的前提下,以毕业论文的质量为依据,不按专业分配指标。5奖励办法院里将对获得优秀毕业论文的学生及指导教师颁发荣誉证书。附件一毕业设计评分表附件二毕业论文评分表大学2006年5月15日附件一毕业设计评价表(试行)专业学号姓名毕业设计题目评价项目分值得分01选题符合专业培养目标,体现综合训练基本要求02题目难易度03题目工作量选题质量04题目与生产,科研,实验室建设等实际的结合程度2005综合运用知识的能力(论文(设计)涉及学科范围,内容深广度及问题难易度)06应用文献资料的能力07实验(设计)能力08计算能力(数据运算与处理能力等)09外文应用能力10计算机应用能力能力水平11对实验结果的分析能力(或综合分析能力,技术经济分析能力)12插图(或图纸)的质量13论文(或设计说明书)撰写水平14论文(或设计)的实用性与科学性15论文(或设计)规范化程度(论文(或设计)栏目齐全合理,SI制的使用等)成果质量16创见性(只分“有”或“无”)60评阅与答辩15评阅与答辩(是否指导教师和论文评阅人评阅意见,答辩委员会意见以及成绩评定是否恰当等)20总成绩年月日(仅供参考)附件二毕业论文评价表(试行)专业学号姓名毕业论文题目评价项目分值得分01选题符合专业培养目标,体现综合训练基本要求02题目难易度03题目工作量选题质量04理论意义或实际价值2005查阅文献资料能力06综合运用知识能力07研究方案的设计能力08研究方向和手段的运用能力能力水平09外文应用能力10文题相符11写作水平12写作规范13篇幅成果质量14成果的理论或实际价值60评阅与答辩15评阅与答辩(有否指导教师和论文评阅人评阅意见,答辩委员会意见以及成绩评定是否恰当等)20总成绩年月日(仅供参考)毕业论文的写作与排版本科生毕业论文是学生在毕业前提交的一份具有一定科研价值和实用价值的学术论文。它是本科学生开始从事工程设计、科学实验和科学研究的初步尝试,是学生在教师的指导下,所取得成果的科学表述,是学生毕业及学位资格认定的重要依据。毕业论文撰写是本科生培养过程的基本训练之一,其撰写应符合国家及各专业部门制定的有关标准,符合汉语语法规范。学生应在完成毕业设计要求的基础上撰写毕业论文。毕业论文应反映出学生能够准确地掌握大学阶段所学的专业基础知识,基本学会综合运用所学知识进行科学研究的方法,对从事的设计内容和所研究的题目有一定的心得体会。1毕业论文的写作毕业论文包括题目、摘要、关键词、目录、正文、参考文献和附录等几部分。11题目题目是毕业论文最重要内容的概括,应该简短、明确,论文题目不超过25汉字。读者通过标题,能大致了解文章的内容、专业的特点和学科的范畴。12摘要摘要是毕业论文主要内容的提要,应该扼要叙述本论文的主要内容、特点,文字要精炼,是一篇具有独立性和完整性的短文,应包括本论文的主要成果和结论性意见、突出论文的创造性和新见解。论文摘要的字数一般不超过500汉字。一般还要有对应的英文摘要。论文摘要是论文的缩影,是检索论文的主要方法之一,也是学术期刊是否收录论文的关键内容。摘要不是目录,并要避免将摘要写成目录式的内容介绍。13关键词关键词是供检索用的主题词条,应采用能覆盖论文主要内容的通用技术词条,一般列35个。关键词是从论文的题目、摘要和正文中选取出来的,是对表述论文的中心内容有实质意义的词汇。关键词是用作计算机系统标引论文内容特征的词语,便于信息系统汇集,以供读者检索。14目录目录通常独立成页,包括论文中全部章、节的标题及页码。15正文正文是毕业论文的核心内容,包括前言、主体、结论三大部分。正文字数不能少于8000汉字、一般也不要超过2万汉字(包括标点符号、图表等)。151前言前言又称引言、序言、导言、导论等,用在论文的开头。前言一般要说明论文工作的选题目的、背景和意义,概括地写出作者的研究工作。前言要紧扣主题,简

温馨提示

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

评论

0/150

提交评论