汇编语言课程设计模版(共8篇)
《C语言程序设计》
课程设计报告
系
部:
三
系
专业班级: 电子资讯工程(2)班
学
号:
070306210
姓
名:
冀
鹏
超
设计题目:
同学通讯录设计
起讫日期: 2008.6.16 至 2008.6.29 指导老师:
徐 化 祥
2008 年 6 月
宿迁学院课程设计报告
课程设计(论文)内容要求:
1.本课程设计的目的
(1)熟练掌握C语言的基本知识和技能;(2)掌握程序设计的一些经典算法和基本方法;(3)了解数组、指针和结构体的应用;
(4)利用所学的基本知识和技能,解决日常生活中经常面临的问题;(5)培养分析、解决问题的能力;提高学生的科技论文写作能力。
2.课程设计的任务及要求 1)课程设计题目:同学通讯录设计
2)基本要求:
(1)设计一个菜单将在实现的功能显示出来,并有选择提示;
(2)通讯簿应包含姓名、性别、电话号码、QQ号码、Email、班级、宿舍等基本信息;(3)能够查询全部成员清单;
(4)能够按号码或姓名查询某一个成员的信息;(5)能够增加、修改某一个成员的信息;
(6)要求有错误提示功能,例如性别只能输入F,M,输入错误提示重新输入。
3)创新要求:
(1)加入删除功能,实现对指定成员信息的删除操作;
(2)信息的输入输出可以用文件的存取和显示的方式,建立文件,直接存取默认檔或指定文件。
4)课程设计报告编写要求
(1)要按照课程设计模板的规格书写课程设计报告;(2)报告包括目录、正文、心得体会、参考文献等;
(3)课程设计论文用A4纸统一打印,装订按学校的统一要求完成。
5)参考数据:
(1)谭浩强.C程序设计(第三版).北京:清华大学出版社,2005.7(2)张强华.C语言程序设计.北京:人民邮电出版社,2001.8(3)http:///
6)提交内容:
6.18
209实验室
编程设计与调试
6.186.28
209实验室 提交所有数据
6.282345int i,j;/*下面的循环是对初始值的处理*/ for(i=0;i strcpy(stu[i].sex,”“);stu[i].age=0;strcpy(stu[i].tel,”“);strcpy(stu[i].major,”“);strcpy(stu[i].classes,”“);strcpy(stu[i].room,”“);strcpy(stu[i].qq,”“);strcpy(stu[i].email,”“);strcpy(stu[i].others,”“);} 宿迁学院课程设计报告 int print1(){ int n;printf(”tttt<<通讯录>>n“);printf(”**************************************************************n“);printf(”t欢迎使用本通讯录应用程序,愿您从中找到所需要的信息。n“);printf(”制作人:冀鹏超 & 李长明t学号:070306210 & 070306211t班级:07电子信息(2)班n“);printf(”**************************************************************n“);printf(”n“);printf(”ttt1.浏览通讯簿n“);printf(”ttt2.输入同学信息n“);printf(”ttt3.查询同学信息n“);printf(”ttt4.删除同学信息n“);printf(”ttt5.增加同学信息n“);printf(”ttt6.修改同学信息n“);printf(”ttt7.退出通讯簿n“);printf(”n请输入您的选择(1-7):“);scanf(”%d“,&n);return n;} void menu(struct txl stu[]){ int i,j,flag=1;char str[15];for(;flag==1;){ switch(print1()) 电话{ :case 1: for(i=0;stu[i].age!=0;i++){ printf(”姓名: %sn性别:%sn年龄:%dn%sn 班 级 : %sn 宿 舍 : %sn 专 业 : %snQQ号:%snEmail: %sn“,stu[i].name,stu[i].sex,stu[i].age,stu[i].tel,stu[i].classes,stu[i].room,stu[i].major,stu[i].qq,stu[i].email); } printf(”其它信息:%sn“,stu[i].others);if(i==0)printf(”目前通讯簿为空,请先输入信息n“); 宿迁学院课程设计报告 ,stu[i].room,stu[i].major,stu[i].qq,stu[i].email); } if(i==N)printf(”t通讯簿中没有你要找的同学!n“);break; printf(”其它信息:%sn“,stu[i].others);break;} case 4: printf(”现在你将进行删除操作!请输入要删除的同学的名字,按Enter结束.n“); scanf(”%s“,str);for(i=0;i if(strcmp(stu[i].name,str)==0){ printf(”姓名: %sn性别:%sn年班级:%sn 宿舍:%sn 专业:%snQQ龄:%dn电话:%sn号:%snEmail: %sn“,stu[i].name,stu[i].sex,stu[i].age,stu[i].tel,stu[i].classes,stu[i].room,stu[i].major,stu[i].qq,stu[i].email); printf(”该同学将被删除n“); } 宿迁学院课程设计报告 scanf(”%s“,stu[i].name);printf(”输入同学的性别: “);scanf(”%s“,stu[i].sex);printf(”输入同学的年龄: “);scanf(”%d“,stu[i].age);printf(”输入同学的电话: “);scanf(”%s“,stu[i].tel);printf(”输入同学的班级: “);scanf(”%s“,stu[i].classes);printf(”输入同学的宿舍: “);scanf(”%s“,stu[i].room);printf(”输入同学的专业: “);scanf(”%s“,stu[i].major);printf(”输入同学的QQ号: “);scanf(”%s“,stu[i].qq);printf(”输入同学的Email: “);scanf(”%s“,stu[i].email);printf(”输入同学的其它信息: “);scanf(”%s“,stu[i].others);} } break;case 7: flag=0;break;default: printf(”你的输入有错误,请重新输入!n");} } } void main(){ struct txl stu[N]; } init(stu);menu(stu); 宿迁学院课程设计报告 四、测试结果 1.通讯录菜单如下图所示: 2.输入“1”,进行“浏览通讯录操作: 3.输入“2”,进行“输入同学信息”的操作: 宿迁学院课程设计报告 8.输入“7”,进行“退出通讯簿”操作: 宿迁学院课程设计报告 五、设计心得 自从记事以来就听过了计算机这个高科技,现在终于实现了自己的一个小小愿望——成为了计算机系的一名学生,这学期我们学的C语言,以前就听过这个名字,打开书一看简直一窍不通,学好这门科简直就是一个挑战,课前课后都要把书啃一遍,要不然上课就跟不上,终于学期快结束了,我们有一个课程设计,在两个星期内,完成一个复杂的程序,我们的题目是做一个通讯簿。 通过为期一周的C课程设计实验课使我了解到了一个程序开发的过程,虽然规模不大,但为我以后的编程学习打下了基础。在编程的过程中,我体会到了学习编程的辛苦,为了一个算法的实现而思考,为了一个小小的编译错误而花时间去寻找,这需要很大的毅力和耐心,而且要有良好的思维,这才使得我完成这个任务,也使我感到一分喜悦,毕竟自己完成了一个有模有样的程序。于此,我也发现自己的一些不足,良好的编程习惯的养成,坚定的毅力和耐心仍是我要加强的,同别人的交流也是必须的,这样才能不断使我进步。在这次设计中,我遇到了很多困难,但我没有向困难低头,通过查询数据,虚心向同学、老师请教,才一一得到了解决。我发现平时学的太少了,在今后我首先要把老师在课堂讲的弄懂,弄透,在此基础上利用课余时间多看课外书籍,拓宽知识面。在设计过程中,合作精神必不可少。单凭一个人的力量是不能完成的,毕竟一个人学的很有限。每个人掌握的不同。我相信:态度决定一切,只有努力才有收获。 总的来说,这次程序设计让我获益匪浅,对C语言也有了进一步的认识:C语言功能高、表达能力强、使用灵活方便、目标程序效率高。 C语言是在国内外广泛使用的一种计算机语言,我相信除了以上优点之外还有许多,希望能在以后的学习中有更深入的认识。 很感谢这次的课程设计,它使我更加深刻地体会到多看专业书的重要性,只有掌握了一定量的专业知识才能得心应手地解决诸多问题;另外,做任何事都要有耐心,不要一遇到困难就退缩;在学习和工作中要时刻谨记“团结”二字,它好比通向成功的铺路石,不可或缺。 人生的道路是曲折的,但正是因为曲折人生才光彩夺目,在人生的路上,总遇到重重困难,但正是因为困难我们才变的更坚强。今后的路还很长,面对困难,让我们用行动去俘虏它吧! 宿迁学院课程设计报告 六、参考文献 [1] 谭浩强.C++程序设计.北京:清华大学出版社,2004 [2] http:/// [4] http:/// [5] 刘振安.C程序设计课程设计.北京:机械工业出版社,2004 [6] 张强华.C语言程序设计.北京:人民邮电出版社,2001.8 汇编语言程序设计作为一门计算机专业的课程,其存在的合理性在近年受到争议。有些人认为,汇编语言作为一种低级语言,指令繁多,难以掌握。另外,编程效率也不高,一个高级语言用一条语句实现的功能,在汇编语言中需要很多条指令才能实现。此外,汇编语言在时间上和空间上的优势由于高速CPU和大容量存储器的出现,也变得意义不大。 我认为学习汇编语言仍然具有重要意义。可以归纳如下: 1)可以比较深入了解计算机硬件的底层工作原理,例如:CPU的工作模式,寄存器的概念,内存的寻址方式,中断的工作原理等。 2)熟悉各种数据表示方法。如各种数制的转化,各种类型的数据在内存中的存储方式。学生在系统学习汇编语言程序设计这门课程后,对二进制,十进制以及十六进制相互间的转换应该非常熟练。对数据在内存中两种排列方式即大端方式(Big Endian,低地址存放高位字节)与小端方式(Little Endian,低地址存放低位字节)有清晰的理解。而这些相关的概念的牢固掌握对高级语言中的数据类型以及计算机网络编程的学习具有很大的帮助。 3)通过汇编语言编程学习,可以促进对高级编程语言相关概念的理解。高级语言在编译的时候,一般都是先生成汇编代码,然后再生成的二进制代码。所以,通过对比分析汇编代码与高级语言代码的实现方式,对程序的执行效率,数据在内存中存放方式,堆栈的概念,函数的调用及参数传递的方式等都会有进一步的了解。 在教学中,我也遇到一些问题。一方面就是学生的积极性不高。主要原因包括:指令很多,难以记忆。对于几个大类的指令,如果每次课上一类,学生课后如果不进行主动复习,往往到下一次课的时候,就会忘记前面所学的内容或者发生混淆。另外,在学习汇编课程之前,他们已经学过一门高级语言,如C/C++等,汇编语言的学习方式与高级语言的学习方式有所不同,高级语言比较容易上机练习,也容易对程序运行结果验证,对于开发实用软件也相对容易,所以学生的兴趣比较大。而汇编语言一方面涉及到底层的硬件概念,比较难以理解,另一方面上机也比较困难,可以这么说,如果按照课本的顺序讲课,要到差不多讲完课,学生才可以上机完成一个功能比较完整的程序。 2 促进学生对知识的掌握 要解决这些问题,我认为要在学生的知识掌握方式以及学习兴趣的培养上下功夫。对于知识的掌握,除了每次新课内容讲完后,精心给学生布置作业习题之外。还应该注意到由于汇编语言的指令及相关的知识点很多,对于刚接触这门课程的学生一开始往往不大适应,容易混淆前面学过的内容,所以教师及时对所学过知识点进行比较和总结就很有必要。此外还应该定期对学生的学习效果进行检测,从过去的教学经验看,汇编语言这门课程是学生比较容易与教师的教学进度脱离的一门课程,不少学生在一开始由于在掌握知识遇到困难,问题越积越多,最终可能放弃听课。在检测的方法上,可以借助网上考试系统。教师可以自主出题,也可以让系统自动出题。通过分析学生的测试结果,教师可以及时调整教学进度,学生也会有一定的学习压力,使他们花更多时间查补缺漏的知识。 程序设计学习的最佳方法就是上机实践。汇编语言上机练习跟高级语言的上机练习相比,对于学生来说比较困难。一方面是由于一个完整的汇编程序涉及的知识点很多,而教材往往按知识点分类进行编排。所以学生要想在刚开始学习阶段,就编出完整的程序有一定的难度。另一方面,汇编程序的运行结果较难在屏幕上输出,汇编语言只有字符与字符串的输入输出,对于一道简单的算术运算题目,其结果的输出都要通过一大段的转换程序来实现。对于第一个问题,教师可以对教材内容进行选讲,把实验所涉及到的知识点先进行讲解。对于第二个问题,我认为应该重点培养学生熟练使用调试工具的能力,通过掌握调试工具如DEBUG,CV等的使用,一方面学生可以直接观察程序的运行结果,另一方面,对于程序的逻辑错误也可以进行跟踪、分析以及解决。此外,由于汇编语言作为一种低级语言,编程都由一条条指令进行构造,所以相对繁琐,应尽早让学生应用模块化思路,掌握子程序及宏的使用方法。这样把一些常用功能做成模块,如输入输出功能,以后学生在编程的时候就可以直接调用这些模块,从而专注于实验的其它方面。 3 提高学生的学习积极性 对于如何提高学生的学习兴趣,我认为主要让学生意识到汇编语言的作用。一方面可以引入一些接口技术相关内容,使学生熟练掌握中断的概念以及I/O指令,然后上机编写中断程序,在中断控制器(8259A)进行验证,由于这些实验有按键输入,有屏幕输出,还能直接看到程序控制设备的效果,所以学生兴趣会比较大。此外,教师也可以适当拓展一些知识,如嵌入式编程相关概念,有兴趣的同学可以在课后自主进行学习。另外,由于不少学生对硬盘相关的问题感兴趣,比如硬盘数据的存放方式,数据的修复等。可以引导学生对这些问题进行思考,然后通过汇编语言提供的I/O指令和中断子功能,编程实现对硬盘的MBR,文件分配表等数据结构的读取,备份,修复等功能。教师通过布置一些学生比较感兴趣的课外作业,并适当提供协助,往往能提高学生的学习积极性。 另外,在汇编语言的学习过程中,教师应该有意识引导学生将汇编语言与高级语言的各个对应的部分进行比较。学生在学习汇编语言之前,通常已经学过一门高级语言,如C/C++等。高级语言在编译的时候,一般是先转换成汇编代码,所以它们具有相通性。大部分学生编写应用程序的时候是用高级语言,所以通过比较分析高级语言与低级语言在数据定义,程序流程控制,函数的定义及调用等的对应部分内容,对于学生更好的使用高级语言编写程序是很有帮助的。比如:汇编语言里有分段的概念,一般把变量定义到数据段,把代码定义的代码段。而C语言是把数据与代码都定义在一起,那么C语言编写的程序在编译成可执行文件后,它的全局变量,局部变量的空间是如何分配的。另外,对于动态内存分配,堆与栈的区别在哪里。还有函数的定义与调用,参数的传递顺序是如何的?这些疑问,都可以让学生编写简单的C语言程序,生成可执行文件后,然后通过调试工具进行反汇编进行分析。此外,在利用VC++,Dephi等IDE开发工具进行程序编写时,都会用到里面的调试功能。基本上调试功能都会包括反汇编与内存查看的功能,教师可以引导学生进行这方面的训练,使他们在以后编程时能熟练应用这个工具解决一些疑难问题,例如:内存非法访问,指针的非法引用等。 4 Win32平台下的汇编语言教学思考 目前很多高校在汇编程序设计教学中讲解的是8088/8086 CPU实模式环境,实际上是虚拟8086模式,因为真正的实模式工作DOS下,而现在汇编语言实验环境都是在windows 2000以上。由于现在大部分CPU都是32位以上,并且是工作上保护模式之上,此外这些CPU的寄存器类型以及寻址方式都已经发生较大变化。所以教师有必要对实模式与保护模式在逻辑地址转化为物理地址的方式的差异,还有16位与32位的指令在用法的不同点进行重点讲解。因为汇编语言现在的实际应用基本上采用工作于保护模式的Win32平台,在Windows操作系统控制下,汇编语言虽然不能再直接存取硬件,但是能通过调用系统提供的API函数完成各种功能。其实这里的API函数当于DOS下的中断调用,但是Window API函数无论从数量上、功能上还是易用性上都大大超过了DOS或BIOS的中断调用功能。所以现在在Win32平台下,汇编语言就像高级语言一样,可以方便的开发各种Windows应用程序。有些教师认为,既然在实模式讲解汇编语言很少涉及实用性,那就应该直接迁移到Win32汇编平台,讲解用汇编语言开发的Windows应用程序设计实例,从而提高学生积极性。我认为如果采用这种教学方法,可能会存在以下问题:首先由于上课时间有限,学生需要大量的时间才能熟练掌握各类指令,汇编语言的语法,程序结构等方面的知识。如果过多涉及Windows程序设计实例,对于不熟悉Windows编程机制的学生的来说,又多了一个不小的学习负担,这样子反而影响了汇编语言基础知识的掌握。另外,DOS下的实模式与Window下的保护模式下的编程在本质上并无很大的区别,只要学生熟练掌握各类指令用法,理解16位与32位的指令及寻址方式的区别,逻辑地址与物理地址转换机制等知识,他们就可以通过自主学习,较容易的掌握用汇编语言进行Win32应用程序的开发。对于教师,除了帮学生打好汇编语言的基础,可以适当以课外作业的形式,引入一些汇编语言在不同应用领域的简单实例,如加密与解密,软件的逆向工程等,这些课外作业的完成对学生汇编语言的应用能力的提高将会有不小的帮助。 5 结束语 汇编语言难教难学是教师与学生的共识,但是作为计算机科学中一门低级程序设计语言,通过对它的良好掌握,确实可以促进对计算机软硬件底层的了解,而这又能促进编程能力的提高。作为教师,在教学中应该不断尝新的教学方法,不断积累经验,只有这样,才能把这门课上好。 参考文献 [1]沈美明,等.IBM-PC汇编语言程序设计[M].2版.清华大学出版社,2001 关键词 高级语言 教学设计 教学方法 中图分类号:G633.67 文献标识码:A 我校以C语言作为高级语言程序设计的目标语言进行教学设计,本人在多年的教学实践中,努力探索新的教学方式,认真研究不同的教学方法,大大提高了学生的学习积极性,取得了一定的教学效果。 1 精心设计课程实施方案,注重理论与实践相结合 对于高等院校的学生来说,很多学生在开始接触高级语言程序设计课程时,由于对C语言认识不深刻,认为C语言过时了,不值得学,学习积极性不高。因此在进行教学设计时对教学内容与教学方法要进行精心设计,不能只是单纯的讲授C语言的语法,而应将理论教学与实践教学并重,并将之紧密结合、互相促进,提高学生的积极性,以求达到最佳教学效果。在实际教学中应充分发挥C语言解决实用问题的导向作用,将枯燥的理论生动演绎为解决问题的利器,通过设计巧妙的教学内容,充分调动学生的积极性,让学生的思维围绕教师的思维活动。通过一些有趣实用的题目去诱导学生学习,给学生的思维中留下一定的期望与神秘感,促使学生驱动自己的好奇心,从而充分调动学生主动学习的欲望。 2 改进教学方式,采用多种教学方法 要取得良好的教学效果,仅仅进行教学设计是远远不够的,还要结合灵活多变的教学手段进行教学,让学生真正参与教学过程,真正做到“学为主体,教为主导”。 2.1 传统讲授式教学方法 讲授演示教学法是在传统教学方法的基础上,进行适度的改良,以学生对具体知识和技能的掌握作为主要目标进行教学的方法,它主要由以下四个步骤。 首先由教师导入问题。教师在了解学生已有的知识结构、专业水平的基础上,由简单问题导入新的教学内容,让学生感受到新知识在解决实际问题中的作用,从而激发学生对新知识的学习兴趣。 第二步,教师进行讲解演示。教师通过自己深入浅出的讲解,要让学生理解新知识的应用原理,做到“知其然,并知其所以然”;然后演示操作步骤,详细说明操作的实现过程。 第三步,学生自主实践。按照教师的演示讲解,学生自己动手实践新知识的应用,教师从旁指导答疑,让学生真正理解掌握新知识。 最后进行总结练习。教师对整个教学活动进行归纳总结,突出教学重点、难点,同时了解学生对新知识的掌握程度。在此基础上,由学生自己通过练习,逐步对新学知识达到完全掌握和熟练运用。 2.2 实例研究教学法 实例教学法是指根据典型的例子采用不同的解决方式进行教与学,使学生能通过实例来掌握新知识。例如:编程求1+2+3+……+100之和,这是循环语句典型的求累加的问题。针对这一问题,即可以采用while、do-while语句来实现,也可以采用for语句来实现。通过同一问题的三种实现方法,让学生掌握三种循环语句的原理、特点和用法,了解它们之间的相同点与不同点,以及三种语句的使用范围等知识点。 实例研究教学法以精选出的程序实例为中心,把学习的重点放在实例的讲解上,把要学习的语法结构和概念融入到具体实例中,整个教学过程中强调学以致用,避免了枯燥、繁杂的理论说明,不仅增进了学生的学习积极性,同时对提高学生综合分析能力和解决实际问题的能力有很大帮助。 2.3 探讨式教学法 探讨式教学法是教师在教学中根据教学要求和重难点设计问题,学生在教师引导下参与课堂研讨,分析问题、解决问题,从而启发学生思维并培养学生能力的一种教学方法。在C语言程序设计教学中,探讨式教学法能够突出学生的主体地位,充分发挥学生的主观能动性,有效地培养学生分析问题与解决问题的能力。 当然,在实际教学过程中可采用的方法还有很多,如案例教学法、研讨式教学法等,正所谓“教学有法,教无定法”,全看你怎么使用。只要能取得良好的教学效果,完全不必拘泥于任何一种教学方法,多种手段并用。 3 利用实践操作,提高学生应用能力 高级语言程序设计是一门实践性非常强的课程,对于将其作为基础课来学习的学生来讲,实践课的课时安排普遍不足,因此在教学过程中要充分利用有限的实践课时间,尽可能地提高学生的操作能力。而教材上的例题、习题基本以算法设计为主,内容枯燥不易编写,学生上机积极性不高,程序设计过程的成就感不强,因此在实践内容的安排上不能简单的让学生照抄或直接编写程序。在实验过程中,可以让学生先做基本的实验,通过实验理解课堂上所学习的理论知识;再通过验证书上的例题,理解并掌握程序设计的步骤,进而能自己进行课后习题的程序设计;最后通过一些算法设计与过程设计相结合的提高性实验,一步一步的提高学生的实践应用能力。 对每一个知识点,可以设计一些紧扣知识点的相对简单而趣味性强的问题,学生在实验时由浅入深,循序渐进,每次实践都能有收获,这样将极大地提高学生编写程序的积极性。在此基础上,再布置相对复杂一些的算法设计问题,学生就能够有信心有能力综合应用所学知识进行设计,解决问题。当然趣味性的题目只是培养学生兴趣的手段,要真正让学生学好C语言,关键还是让学生充分掌握运用C语言解决实际问题的能力。因此无论在课堂上讲的例题,还是课后布置的作业,都可以设计一些与专业相关的实用性较强的题目,来培养学生的创新能力和自主学习能力。 当然,一门课程的教学效果如何,除了教师的精心组织和讲解之外,学生的学习积极性也是一个关键。只有教师和学生共同努力,充分互动,才能切实提高教学效果,才能真正让学生学有所获,才能避免理论与实践脱钩,也才能充分调动学生的积极性。 利用Altium Designer设计单片机最小系统一、设计目的: 1.掌握、使用实用电子线路、计算机系统设计、仿真软件的能力。2.提高读图、分析线路和正确绘制设计线路、系统的能力。 二、基本要求: 1.了解原理图设计基础、了解设计环境设置、学习Altium Designer 软件的功能及其使用方法。 2.掌握绘制原理图的各种工具、利用软件绘制原理图。3.掌握编辑元器件的方法并构造原理图元件库。4.熟练掌握手动布局以及手动布线的方法。 5.掌握绘制编辑元器件封装图的方法,构造印制板元件库。 6.了解电路板设计的一般规则、利用软件绘制原理图并自动生成印制板图。 三、设计内容和要求: 1.根据题目要求的指标,通过查阅有关资料,确定系统设计方案,并设计其硬件电路图。 2.绘制电路原理图,并绘制PCB板。 四、设计成果形式及要求: 1.电路原理图及PCB板图 2.编写课程设计报告。 五:设计的详细过程及心得体会 Altium Designer软件是由Altium公司推出的一款功能强大的电路CAD软件,广泛应用于电子电路设计。除了全面继承包括Protel 99se和Protel2004在内的先前一系列版本的功能和优点外,Altium Designer还增加了许多改进和高 课程设计报告 端功能。该软件全面集成了FPGA设计和SOPC设计功能,从而允许工程师能够将系统设计中的FPGA与PCB设计集成在一起。利用Altium Designer软件设计系统的详细步骤如下: 1.绘制流程图 新建工程绘制原理图编译原理图导入PCB文件得到最终的原理图和PCB图PCB自动查错PCB的手动排版自动布线编辑网络表 2.绘制过程 (1)电路原理图设计和绘制。 电路原理设计是整个系统设计的基础,一般有以下五个步骤: ① 设置原理图设计环境。 根据电路图的规模设定图纸的大小,另外通过原理图设置选项选择合适的格点、线形以及线宽等。 课程设计报告 ② 元器件布局。 根据系统的需要从元器件库中选择相应的元件并放置在图纸上合适的地方,另外需对放置元件的标号和封装进行设定。虽然Altium Designer软件一直以来都自带丰富的元件,但是电子技术及相关器件的迅速发展,这就需要对元器件库中没有的元件创建新的集成库。添加原理图库需要根据元件信息进行器件外形绘制和引脚定义等步骤。这一过程可以通过对空的元件进行编辑,也可对现有的元件库中的元件进行必要的修改。(下图所示为原理图元件库添加元件)。 ③ 原理图布线。 利用Altium Designer软件的布线工具将图纸上元件用具有电气意义的线(包括导线和总线)和符号(包括网络标号和端口号等)连接起来,另外根据需要放置电缘端子,这样就构成了完整的原理图。原理图布线讲求线路清晰并且美观匀称。 课程设计报告 ④ 原理图调整和检查。 在保证原理图正确性的前提下对原理图进行调整以达到美观和整洁。同时对元件的编号、封装进行设定。这其中对元器件的封装设置尤为重要,我们需要根据最终选定的封装形式在封装编辑器中对其进行编辑。在完成前述的步骤后,利用Altium Designer 的电气规则对画好的电路原理图进行电气规则检查。若有错误,需要对其进行改正。课程设计报告 ⑤ 生成网络表。 网络表是电路原理图设计和印刷电路板设计之间的桥梁,执行生成网络表命令可以生成具有元件名、元件封装、参数及元件之间连接关系的网络表。 (2)印刷电路板的设计。 通过印刷电路板得到电子产品的实际结构,是电路原理图变成一个具体产品的必经之路,印刷电路板的设计主要有以下六个步骤: ① 线路板规划。 根据要设计的电路确定电路板的尺寸板层数(可以通过PCB向导工具完成),接着在Keep-Out 层绘制电路板的边框,这样就设计出电路板的基本框架。 ② 导入文件和网络。 导入文件和网络就是从原理图更新PCB操作,即将原理图中的元件符号和导线转换成PCB中的元件封装和网络。因此这步操作至关重要,需要 5 课程设计报告 认真对待出现的任何问题。在确保没有错误完成执行操作后,由飞线连接的所有PCB就会出现在编辑区中。 ③ 设置设计规则。 设置规则包括电气规则、布线规则、布局规则、层规则等,每项还可进行细分。这些规则将直接影响到电路板的布线、性能和尺寸等一系列问题。通常我们需要对布线线宽、安全间隔规则和层设计规则进行调整。 ④ 元件布局。 元件布局是否合理将直接影响到布线的速度和质量,对后续操作至关重要。在布局时一般先放置与机械尺寸有关的固定位置的元器件,再放置特殊的和较大的元器件,最后放置小的元器件。同时要兼顾布线方面的要求,例如高频元器件的放置要尽量紧凑,信号线的布线才可能尽可能的短,从而降低信号线的交叉干扰。 课程设计报告 ⑤ 自动布线。 布线操作是PCB设计的重点,Altium Designer特有的智能交互式布线能力,只需拖拉即可完成布线。在自动布线的方式下,可以选择对全部对象布线,或者是对指定网络布线。⑥ 设计规则检查。 显示没有错误。 课程设计报告 ⑦ 手工调整。 对自动布线不完善或不尽如人意的部分进行手工布线操作,另外手工调整阶段还要完成铺地、调整元件编号、添加字符(如需要)等操作。这样就完成了印制电路板的设计。 3.心得体会 首先,Altium Designer是一款功能十分强大的软件,我们所接触到和使用的它的功能仅仅是皮毛,所以课程设计结束之后,如果想进一步更深地理解PCB设计,还有很多的经验和技巧要学。为期两周的PCB课程设计让我对利用Altium Designer软件设计原理图和电路板的基本步骤有了初步的了解。 这次的课程设计与以往的有很大的区别,主要是自学教学视频和参考书,老师则给我们提供了学习的平台并随时进行答疑。这是一种新的学习方法,通过自学、同学之间相互交流以及老师的指导,提高了自身的自学能力。 在学习的过程中,我熟悉了利用软件设计系统的详细步骤,对原理图设计中的网络标号、端口号、电气规则检查和网络表等概念有了一定的了解,懂得了绘制印刷电路板的具体流程。除此以外,这次课程设计还加深了元器件封装的相关知识,并让我对于芯片的引脚、常用连接方式和功能有了深入的认识,受益匪浅。以下是我在绘制过程中的具体心得: (1)画原理图的时候就要注意元器件的封装,这将比最后生成pcb图时再去检查要节省很多时间,原理图要严格按照所设计的电气关系连接。画图时要注意原理图的元器件编号和网络标号。原理图中NetLable摆放位置要注意,一定要把它放在有电气连接点的位置,如果把NetLable放在了管脚的中间,并没有构成电气连接,这样生成网表时根本就连不上。 (2)在原理图画好后要注意compile时message框中显示的错误和警告,要耐心的一个一个读懂他们并且改正,这是一个整个原理图绘制过程中最能发现自己错误、总结经验的时刻,也是pcb设计中自我技能提升的时候,所以别怕错误多,错的越多,学的越多。 (3)一块好的PCB取决于好的布局。有经验的设计者在布局时一般都按电路 课程设计报告 功能分块布局。布局时尽量考虑布线方向和各种电源的相对集中性.如CPU跟其他元件的连接时IO口最好选择一定方向顺序选取,如顺时针,而不要将几个排在一起的如输入输出等在CPU上不按顺序选取而中间隔着其他信号,会增加布线的复杂程度。 除了学习上的收获,我还得到了许多经验与教训。初期,由于对器件知识的欠缺,我曾按照原理图所示将所有的去耦电容连接在一起,而不知道将它们并联到芯片周围。另外,在前期准备阶段不够仔细,导致许多元件的封装出现了问题,这也给后来印制电路板的设计带来了极大的不便。但“实践出真知”,这些教训也是本次课程设计极宝贵的经验。 六、主要参考文献: [1] 史久贵.基于Altium Designer的原理图与PCB设计.机械工业出版社, 2009 [2].李珩.Altium Designer 6 电路设计实例与技巧.国防工业出版社, 2008 [3] 邹丽新 翁桂荣.单片微型计算机原理(第二版).苏州大学出版社, 2009 数字频带传输系统的仿真设计 二.主要内容及具体要求 a.利用所学的《通信原理及应用》的基础知识,设计一个 2ASK 数字调制器。完成对 2ASK 的调制与解调仿真电路设计,并对其仿真结果进行分析。要求理解 2ASK 信 号的产生,掌握 2ASK 信号的调制原理和实现方法并画出实现框图。 b.设计一个 2FSK 数字调制器。要求给出 2FSK 的产生原理框图(调频法、键控法、SystemView 仿真电路图、调制解调的原理框图, 给出信号的频谱图、调制前与借 条后数据波形比较覆盖图,加噪前后相关波形。 三.进度安排 5.28-5.29 图书馆查阅资料,确定选题,思考总体设计方案 熟悉软件的编程环境 推荐的参考资料有: 《 MA TLAB 通信工程仿真》 《 MA TLAB/SIMULINK通信系统建模与仿真实例分析》 《 MA TLAB 在通信系统建模中的应用》 5.30 总体设计方案的确定与设计 5.31 各部分的具体实现 6.01— 6.02 程序调试并程序注释 6.03 整理完成设计报告 四.成绩评定 总成绩由平时成绩(考勤与课堂表现、程序设计成绩和报告成绩三部分组成,各部分 比例为 30%,50%,20%.(1平时成绩:无故旷课一次,平时成绩减半;无故旷课两次平时成绩为 0分,无故 旷课三次总成绩为 0分。迟到 15分钟按旷课处理 (2设计成绩:按照实际的设计过程及最终的实现结果给出相应的成绩。(3设计报告成绩:按照提交报告的质量给出相应的成绩。备注:每人提交一份课程设计报告(打印稿和电子稿各一份 课程设计报告按照模板撰写内容,要求详细、准确、完整。第一部分 1 2ASK调制方法 1.基本原理调 频移键控是利用载波的幅度变化来传递数字信息,而其频率和初始相位保持不 变。在 2ASK 中,载波的幅度只有两种变化状态,分别对应二进制信息“ 0”或 “ 1”。一种常用的也是最简单的二进制振幅键控方式称为通 — 断键控(OOK , 其表达式为: =(t e O O K ⎪⎩⎪⎨ ⎧-时 发送“ 以概率 ”时 发送“ 以概率 “ 01, 01, cos P P t A c ω(1-1 典型波形如图 1-1所示: 图 1-1 2ASK 信号的一般表达式为: t t s t c ASK e ωcos((2=(1-2 ∑-=n s n T a n t g t s(((1-4 时钟:T s持续时间为 T s 的基带脉冲波形,通常假设是高 度为 1,宽度等于 T s 的矩形脉冲;a n-第 N 个符号的电平取值,若取 ⎩⎨⎧-=P 10P , 1,概率为 概率为 a n 则相应的 2ASK 信号就是 OOK 信号。 2ASK/OOK信号的产生方法通常有两种:模拟调制法(相乘器法和键控法, 相应的调制器如图 1.2。图(a 就是一般的模拟幅度调制的方法, 用乘法器实现;图(吧是一种数字键控法,其中的开关电路受 s(t控制。 (a 模拟相乘法 (b数字键控法 图 1.2 2 2ASK的解调方法 与 AM 信号的解调方法一样。2ASK/OOK有两种基本的解调方法:非相干 解调(包络检波法和相干解调(同步检测法 ,相应的接收系统方框图如图 : (a 非相干解调(包络检波(b相干解调 图 1.3 2ASK/OOK调制 框 图 3 解调模块 解调模块中, 相干解调法经过相乘器—低通—抽样判决后输出;非相干解调 经过整流—低通—抽样判决后输出。这里调制信号省略了经过带通滤波器这一环 节,影响不大。低通滤波器后面整个部分是抽样判决器。其中,抽样由同步冲激 信号与解调信号相乘实现, 信号值与开关门限值进行比较后, 若信号值较大, 则 输出 1,否则输出 0,这样就实现了判决功能。原理图如图 14所示,参数表如表 4所示。 Simulink 解调模块 2ASK的仿真1、2ASK 信号的调制仿真如图 1.4所示。 Token5输出频率为 20Hz, 幅值为 500e-3的矩形波作为调制电路输入信号, token7输出频率 80Hz, 幅值为 1V 的正弦波, Token6为乘法器,矩形波与正弦波 经乘法器相乘输出 2ASK/OOK信号。Token8、Token9为分析观察点。 图 1.4 2ASK 调制图 Token8显示波形(随机数字信号 : Token9显示波形(2ASK 调制信号2、2ASK 信号的解调仿真 Token0, Token2,Token9,Token17,Token18 组 成 2ASK 调 制 电 路 Token10,Token11,Token12,Token13,Token14,Token15组成 2ASK 相干解调电路,Token10、13为抽样判决器;Token11、17为相乘器;Token10、13为抽样判决 器;Token7为逻辑缓冲器;Token18, 19,20为分析观察点.2ASK 调制信号波形 Token18: 输入随机数字序列: 2ASK 相干解调输出波形: 相干解调法输出波形, 可见与上面的基本相同, 相比于调制信号在时间上有一定延迟, 但基 本上是相同的。 参考文献 [1] 樊昌信,曹丽娜.通信原理(第 6版.国防工业出版社, 2007 [2] 王力宁.MATLAB 与通信仿真.人民邮电出版社, 1999 [3] 陈亚勇等.MATLAB 信号处理详解.人民邮电出版社, 2001 第二部分 1 2FSK调制方法 1.基本原理调 频移键控是利用载波的频率变化来传递数字信息,而其振幅保持不变。在 2FSK 中,载波的频率随二进制基带信号在 f 1 和 f 2 两个频率点之间变化。其表 达式为: =(2t e FSK ⎪⎩ ⎪⎨⎧++时 发送“ ”时 发送“ ” 0, cos(1, cos 21(ϕωϕωn n t A t A(2-1 : 图 2.1 2FSK信号时间波形 由图可见, 2FSK 信号的波形(a 可以分解为波形(b 和波形(c , 也就是 说, 一个 2FSK 信号可以看成是两个不同载频的 2ASK 信号的叠加。因此, 2FSK 信号的时域表达式也可写成: 式中:g(t 为单个矩形脉冲,宽度等于 Ts ⎩ ⎨⎧-=P P a n 10, 1, 概 率 为 概 率 为 n 是 a n 的反码。2FSK信号的解调方法 2FSK 信号的产生方法通常有两种:模拟调制法(相乘器法和键控法,相 应的调制器如图 2.2。图(a 就是一般的模拟幅度调制的方法,用乘法器实现;图(b 是一种数字键控法,其中的开关电路受 s(t控制。 (b 数字键控法 图 2.2 2FSK 调制 框 图 2FSK 信号有两种基本的解调方法:非相干解调(包络检波法 和相干解调(同步检测法 ,相应的接收系统方框图如图 : (a 非相干解调(包络检波 (b 相干解调(同步检测 图 2.3 2FSK信号的接收系统组成方框图 下图为 2FSK 信号非相干解调过程的时间波形: 图 2.4 2FSK信号非相干解调过程的时间波形 3 2FSK 信号调制电路设计(1 2FSK 的调制部分 打开 simulink 工具箱,点击 file 图标,选择新建中的 model ,新建一个仿真 空白模型,将 2FSK 信号调至所需要的模块拖入空白模型中,也可点击鼠标左键 单击 “add to untitled”。 下图中 Pulse Generator 模块为正弦基带信号模块, Sine wave1, Sine wave2为频率为 f1和 f2载波模块, Product 为乘法器模块, Scope 为示波器模块, NOT 为反相器模块, Power Spectral是功率谱模块, To File为封装模块,目的是方便 调用调制部分。2FSK 信号是由频率分别为 Sine wave1和 Sine wave2的两个载波 对信号源进行频率上的控制而形成的,其中 Sine wave1和 Sine wave2是两个频 率有明显差别的且都远大于信号源频率的载波信号。调制模型图如下图所示: 2FSK 信号调制部分的 simulink 模型方框图(2 2FSK 的调制部分参数设置 载波 sin wave1的参数设置 其中 f1幅度为 2;频率 3HZ;采样时间为 0.002的信号。 载波 sin wave2的参数设置 其中 f1幅度为 2;频率 2HZ;采样时间为 0.002的信号。 本信号源 s(t序列是用随机的 0 1信号产生,在此为了方便仿真就选择了基 于采样的 Pulse Generator信号模块其参数设置如下: 基带信号 Pulse Generator信号模块参数设置 其中方波是幅度为 1,周期为 3,占 1比为 1/3的基于采样的信号。(3 2FSK 的调制部分仿真以及功率谱分析 经过以上参数的设置后就可以进行系统的仿真,其各点的时间波形如下: 2FSK 调制波形图 加入高斯噪声的 2FSK 非相干解调 高斯噪声是指它的概率密度函数服从高斯分布(即正态分布的一类 噪声。在理想信道调制与解调的基础上, 在调制信号上加入高斯噪声, 把 Simulink 噪声源下的高斯噪声模块(Gaussian Noise Generator加入到模型中。噪声参数 设置、模型与波形图如下: 图 3-19 2FSK加入高斯噪声模型 图 3-20 高斯躁声 Variance 参数设置为 1 原理想信道下的 2FSK 解调图 方差为 1时候的高斯躁声下的 2FSK 解调图 如图所示,图 3-19为理想信道解调波形,均为加入高斯噪声的波形,可通 过修改参数表中的方差来改变加入噪声的大小,把噪声的方差设为 1,与理想信 道的输出波形相比较可以看出, 波形均出现不同程度的失真, 当方差为 1的时候 比较接近原理想信道下的波形图不同的噪声使信号发生失真的参数各不相同。在 现实生活中, 无处不存在着噪声, 因此研究如何减小噪声对信道的影响有着重大 意义。2FSK的仿真1、2FSK 信号调制图如图 3.1所示 图 3.1 2FSK 调制图 Token8为随机数字信号, F=30Hz,A=500e-3,Token9为延迟, Token7,12为载波信 号, 频率和幅度分别为:75Hz,1V;150Hz,1V , Token10,13,14,15为观测点, 且 Token 14输出为 2FSK 调制信号;Token10输出: Token13输出: Token15: 2FSK 调制信号(Token14输出 2.2FSK 信号解调的仿真 如图 3.1为 2FSK 信号的非相干解调电路,输入随机数字信号频率为 10Hz, 载波 分 别 为 90Hz 和 120Hz,Token0,1,3,15,20,32组 成 2FSK 调 制 电 路 , Token4,5,24,25,12,27,28,29,14,10组成 2FSK 信号非相干解调电路。 Token4为加法器, Token24,27带通滤波器, 25, 28为全流整波器, 12, 29为低通滤波器, 14为抽样判决器, 10和 32为观测分析点。 Token32: 2FSK 非相干解调输出: 上图为非相干解调法得到的输出波形,可见其与输入波形出入不大。 参考文献.《通信原理》樊昌信 曹丽娜 国防工业出版社 2.《现代通信系统分析与仿真——matlab 通信工具箱》李建新 刘乃安 西安电子科技大学出版社 3.《数字信号处理教程——matlab 释义与实现》陈怀琛 电子工业出版社 4.《现代通信系统——使用 matlab》约翰-G-普罗克斯 西安交通大学出版社 5.《MATLAB 通信工程仿真》张德丰 机械工业出版社 实验心得 通过实验,基本掌握了SystemView的基本功能和使用方法,对数字基带传输系统 有了一定的了解,加深了对2ASK和2FSK信号的调制原理的认识,理解了如何对他 们进行解调,掌握了2ASK信号相干解调法和2FSK非相干解调法,通过使用System View仿真,对个调制和解调电路中各元件的特性有了较为全面的理解。对于 2ASK 信号,由调制时通过仿真所 功能:假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息。试设计一选修课程系统。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数; 2、建立一个文件,将每条记录信息写入文件中并能显示于屏幕上 3、完成上述添加、查找(课程编号、课程名称、课程性质等)、修改等功能。 4、进一步要求:学生选修课程(可选项) 要求: 1、用C语言实现程序设计; 2、利用结构体数组实现信息的数据结构设计; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序加必要的注释。 课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 汇编语言程序设计是计算机专业及相关专业重要的专业必修课。汇编语言面向计算机硬件, 与计算机机器指令一一对应, 功能强大, 使用灵活。目标程序效率高, 长期以来一直适用于系统软件及驱动程序的编写。汇编语言程序设计课程不仅需要培养学生的程序设计技能, 而且还要培养学生对计算机硬件运行机制的理解能力, 为学习后续与硬件密切相关的课程 (如计算机组成原理, 微机原理与接口, 单片机等) 打下扎实的基础知识, 同时, 它也是NCRE三级的一个可选科目, 因此其对计算机专业及相关专业的重要性不言而喻。 该门课程的特点是软件知识与硬件知识相互融合, 理论与实践并重, 同时对英语水平的要求也比一般计算机高级语言高, 而独立学院是一种新型高等教育办学形式, 其高考招生录取分数线主要介于普通本科和高等专科之间。独立学院学生在基础知识、自身素质、自制力、认知能力等方面与一本和二本的学生存在一定的差异。所以在汇编语言程序设计课程教学中, 许多学生都反映课程内容抽象, 难理解、难掌握, 从而产生了不同程度的畏难心理, 对教学效果产生消极影响。为了能较好地提高该课程的教学质量, 本文从该门课程和学生特点入手, 通过长期的教学实践, 总结了一些思路和建议, 并将其运用到实际教学中, 有效地提高了学生的学习积极性, 取得了较好的教学效果。 1 独立学院汇编语言程序设计课程教学中存在的问题 1.1 从课程内容来说, 客观上确实比较抽象 学习汇编语言程序设计的学生, 通常只学习过计算机导论和一门高级计算机语言, 对于计算机硬件运行的机制很陌生, 无法将冯·诺依曼工作原理与80x86计算机组织相互联系, 导致一开始学习面向硬件编程的汇编语言, 就有很强烈的挫折感, 丧失了学习的自信和兴趣。由于学生80x86计算机组织的知识没有很好掌握, 使得其指令系统和寻址方式的学习根本难以有效进行, 其后果是这门课程难以学下去。 1.2 学生未养成良好的学习习惯, 没有掌握正确的学习方法 汇编语言程序设计课程一般开设在大一第二学期, 许多学生还没有完全适应大学的学习方式, 遇到困难容易退缩, 不能发挥学习的潜能, 且对自己学习时间安排不够科学充分, 达不到消化吸收课堂和课本知识的效果。部分学生还有“等靠要”的依赖思想, 等教师来总结, 靠教师来消化, 要教师来灌输, 没有发挥学习主体应用的主观能动性。 1.3 教学过程没有以学生为中心 传统教学方式以教师和教材为中心, 课堂上教师与学生沟通较少, 这样显然教学进度有了保证, 但学生是否能跟上教学的进度却成了未知数。不充分的沟通还导致了教师对学生的学习指导缺乏针对性。教师不了解学生学习困难的具体细节, 不可能正确引导学生克服困难, 也无法加强教师与学生的相互联系。 1.4 学生理论与实践脱节 在汇编语言程序设计教学过程中, 理论与实践是并重的关系, 偏袒任何一方都不可能有好的教学效果。偏向理论, 实践不到位, 应用能力低下;偏向实践, 学习到的知识无法系统化、条理化, 不利于知识水平的提高和升华, 导致知识水平有一定的局限性。在该门课程教学实践过程中, 这两种情况的学生都有, 急需教师给予科学引导。 2 独立学院汇编语言程序设计课程教学改革 为了解决好上述教学问题, 笔者针对独立学院的办学特点和学生特点, 总结了一些有益的思路和想法, 具体思路如下: 2.1 课程开始时, 要和学生就如何学习好汇编语言程序设计这门课程作充分的沟通 课程一开始, 就需要将这课程的特点、难点, 及其所需要的合理学习时间和正确的方法告诉学生, 帮助学生科学合理安排好自己的学习时间, 使学习达到应有的效果, 同时也有利于学生做好积极战胜学习困难的心理准备。通过笔者自身的学习经历和与众多学习效果比较好的同学沟通, 一致认为汇编语言程序设计在学习的开始阶段, 上课时间与自己理解消化的时间的比例以1∶6为佳。 2.2 使用多媒体教学方法, 变抽象为具体 主要是通过制作多媒体课件, 使用文字、图形/图像、动画等素材, 向学生动态展现学习内容里比较难想象和难理解的部分, 帮助学生深刻理解80x86计算机组织和运行机制以及计算机工作原理的动态过程, 从而为学生学习指令系统和寻址方式清除障碍, 打下坚实的知识基础, 并为今后的硬件知识学习建立一个初步的知识框架。同时, 帮助学生克服学习上的困难和挫折感, 保持学习的自信和兴趣。 2.3 引入“案例”式教学方法, 加强理论联系实际, 理论指导实际工作 “案例”式教学方法的引入, 可以使学生将学习的理论进行实践, 学生在学习理论的过程中始终在思考如何完成对应的案例, 较好地激发了学生的学习热情和学习兴趣, 同时也兼顾了学习的连贯性和整体性。如让学生完成一个“从键盘输入2个十连制数, 然后比较它们的大小, 最后在屏幕上输出比较结果”的案例, 可以让学生完成对输出/入、字符比较等理论知识的实践, 又可以使学生提高如何将有关的理论知识联系在一起, 解决实际问题的能力。 在每次实践前, 都要求学生做好实践计划, 将有关理论知识进行复习。实践完毕, 都要求学生对结果进行原因分析, 成功的, 总结经验;失败的, 吸取教训。从而提高学生的理论水平, 防止理论与实际脱节。 2.4 教学以学生为中心, 课堂教学提倡精讲多练 根据学生特点, 对教材内容进行漏选, 对涉及知识总体框架的重要知识点及其相互关系详讲, 而对于偏、难的内容, 则略讲或不讲。同时, 在课堂教学中实时地, 有针对性地进行课堂练习, 学生通过练习产生的问题, 可以得到及时的反馈, 教师也可以及时准确地知道学生的不足, 以便针对这些不足进行教学进度计划的调整、加强和补充。这一方式不但提高了学生的学习兴趣, 巩固了所学知识, 也加强了教师和学生之间的互动和沟通, 有利于建立学生对该门课程的学习自信心。 3 结束语 本文总结了独立学院在汇编语言程序设计教学过程中存在的一些问题, 并针对性的提出了一些思路和建议, 并将其运用于实际的教学实践中。实践表明这些解决问题的教学思路方法具有一定的实际意义, 取得了较好的教学效果, 有利于培养高素质的应用型人才。 摘要:针对独立学院在汇编语言程序设计课程教学中存在的问题, 从课程和独立学院学生特点出发, 针对性地提出了一些可实际操作的教学改革的思路和方法。实践表明, 此教学改革效果良好, 有利于培养真正具有高素质的应用型人才。 关键词:汇编语言,教学改革,多媒体教学方法,案例教学方法 参考文献 [1]玉婷.独立学院Visual FoxPro课程教学与考试改革初探[J].中国教育信息化, 2012 (2) . [2]于丽波.三本院校学生特点分析[J].科技信息, 2011 (8) . [3]沈美明.IBM-PC汇编语言程序设计 (第2版) [M].北京:清华大学出版社, 2010. 关键词:C语言程序设计 课程教学 教学效果 教学方法 C语言是国内外广泛使用的计算机语言,学会使用C语言进行程序设计是计算机工作者的一些基本功。C语言程序设计是计算机相关专业的一门专业基础课。在计算机课程体系中,C语言程序设计是学习其他计算机课程的基础,也是引领学生进入计算机学科领域的第一门课程,学生学习C语言程序设计的效果,将对其他课程的学习积极性产生影响。因此,C语言程序设计课程的教学显得非常重要。作者根据多年从事C语言程序设计课程的实践,对该课程教学实践中遇到的若干问题进行整理,并提出一些解决思路,以供同仁们参考。 一、培养学生的学习兴趣 C语言程序设计课程是计算机相关专业学生所接触的计算机类课程的先行课程之一,学生在学习这门课程时,往往对程序设计满怀期望和好奇心。教学初期,要把握时机,对学生好奇心理加以利用,提高学生学习兴趣,提高学习效果。随着课程的深入,所学内容逐渐增多、学习难度加深,教师如不一如既往地特意培养学生学习兴趣,学生在学习中遇到的各种挫折都可能打击其学习兴趣。教学中、后期,要调用各种教学方法和手段,强化学生的学习兴趣。可以根据教学内容设计适宜的、学生感兴趣的题目供学生讨论,在讨论中以学生为中心,并进行适当的引导,使讨论富于情趣,寓教于乐,达到较好的教学效果,强化学生的学习兴趣。比如,在讲授起泡发排序时,教师先用多媒体课件将算法思想陈述清楚,然后随机抽取教室中就坐的一列学生,由全体学生根据算法思想对抽取的同学的身高进行排序,这样可以让所有学生在都参与算法的演示,以加强学生对算法思想的理解,在轻松愉悦的环境中培养学生的学习积极性。 二、授予算法思想 C语言程序设计课程的是一门专业基础课,其教学目标就要体现“专业”与“基础”两个方面。一是,使学生掌握各种C语言本身的语法与程序结构,二是,使学生通过该门课程的学习掌握一定的算法和常用子程序的编程实现,学会用C语言编写程序,实现所需处理的任务,为后续课程打下坚实的基础。 算法是程序的核心,是程序的靈魂。语法是程序的外壳,是程序的工具。教学中,要处理好算法与语法的关系。不能把重点放在语法规则上。语法是重要的,掌握不好语法就无法编写出正确的程序,但是,只学会语法,甚至把语法背得滚瓜烂熟,也不可能编写出好的程序。要把重点放在算法思想上,通过大量的实例讲解和练习使学生学会怎样设计算法,编写程序,解决实际问题。算法思想与语法知识的关系就如“授予渔”与“授予鱼”的关系。教育不是要“授予鱼”,而是要“授予渔”。因此,C语言程序设计课程“授予算法思想”最为重要。 三、改进教学方法 在教学实践中采用多媒体教学与传统教学相结合的方法。多媒体教学信息量大、变换快速、表现直观、操作简便,教学活动很容易出现课件喧宾夺主的不良倾向;教师容易忽视教学策略和教学方法,忽视教学难点和重点,忽视与学生的交流;学生忙于观看课件,无暇做笔记,无暇思考。因此,在C语言程序设计课程中一定要注重适时适当地采用一些传统的教学方法,加强与学生的交流,在课堂中注重与学生的互动,杜绝采用填鸭式教学方法。教师要从学生的主宰转变为学生学习的引导者,课堂教学要从过去的“满堂灌”“填鸭式”转变为学生自主探讨,尽可能把时间还给学生,使学生从被动的“受教育者”转变为主动的“探索者”。 此外,教师要注意在每一堂课结束之后对所学内能进行归纳小结,整理教学内容的内在联系。在整门课程的教学过程中,注重各种C语言程序结构之间及数组、函数、指针、结构体与共用体之间的比较,使学生总览全局,对各种C语言程序结构之间及数组、函数、指针、结构体与共用体之间的差异和联系有宏观的把握,促进对各种C语言程序设计知识的理解和掌握。 四、抓好实验教学 程序语言的学习最终的目标就是能够熟练地根据具体问题设计适合的算法将其转变为C语言程序,解决实际问题。所以,实验是C语言程序设计课程必学、必练的教学环节。学生对实验内容的掌握程度直接反映学生对C语言程序设计课程的掌握程度。 C语言程序设计课程是计算机相关专业学生的开设的第一门专业基础课,学生对该课程的学习思维的把握需要一个循序渐进的过程。因此,在实验教学中,教师要把握循序渐进的度。一开始,可以学生非常熟悉的问题设计实验内容,在实验中为学生给出完整的实验程序,其目的是让学生掌握C语言程序设计课程的上机环节及编程的基本方法。接下来,可以根据第一次的实验,设计一个有关语句、语法、程序结构等环节的实验内容,是学生对C语言程序的基本结构、基本的语法特点有一个总体的印象。之后便可以根据教学内容来设计实验内容。 在实验教学中,对于实验内容的设计除了要与教学内容相结合外,还要注意实验内容满足学生的兴趣。而且,一定要把握好实验预习、准备关。除了最初的两次实验之外,其他的实验,一定要要求学生做好充分的准备,严格要求学生在实验之前提交实验程序。我们的做法是将课后作业与实验内容合二为一,学生因为对布置的内容有准备,所以尽管实验内容多,但也能较好地完成,能较好地达到实验教学的预期目标。而且,学生对自己的学习目标的达成及完成情况更加清晰、明确,对于C语言程序设计课程的学习亦随着实验内容的增多和。 五、结束语 C语言程序设计课程具有鲜明的实践目标性,教学中,教师一定要结合学生实际,合理设计教学内容及教学环节,用恰当的方法方式引领学生进入更加广阔的计算机相关专业领域。 参考文献: 【汇编语言课程设计模版】推荐阅读: c语言课程设计要求07-25 c语言课程设计指导书06-23 c语言课程设计电话簿06-28 c语言通讯录课程设计07-09 C语言实验报告模版07-10 出国留学英国语言课程10-20 教学设计语言赏析09-18 语言教案活动设计方案06-16 幼儿语言活动设计方案07-11汇编语言课程设计模版 篇2
高级语言程序设计课程教学探究 篇3
PCB课程设计报告(模版) 篇4
汇编语言课程设计模版 篇5
汇编语言课程设计模版 篇6
汇编语言课程设计模版 篇7
C语言程序设计课程的教学探索 篇8