第1篇 课程设计报告内容
课程设计报告篇一
首先我们由衷的感谢老师提供给我们这样一个锻炼自己的机会,经过这四周的学习,本次课程设计即将结束,总的来说,经过这门课的学习收获还是相当大的。回顾这段时间的课程设计,至今我仍感慨万分。的确,从选材到开始制作,从理论到实践,在四周的实训日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我们都更加懂得并亲身体会到了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从实践中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到很多问题,可以说是困难重重,并且在设计的过程中发现了自己的很多不足之处,发现自己对之前所学过的知识理解得不够深刻,掌握得不够牢固,有待加强。
生活就是这样,汗水预示着结果但是也见证着收获,劳动是人类生存、生活永恒不变的话题,通过实训,我才真正领略到“艰苦奋斗”这一词的真正含义。我想说,设计确实有些辛苦,但苦中也有乐,在如今单一的理论学习中,很少有机会能有实践的机会,但我们可以。而且设计也是一个团队的任务,一起的工作可以让我们有说有笑,相互帮助,配合默契,多少欢乐在这里洒下。我想说,之前的时间确实很累,但当我们看到自己所做的劳动成果时,心中也不免产生兴奋。也许有人不喜欢这类的工作,也许有人认为编程的工作有些枯燥,但我们认为无论干什么,只要人生活的有意义就够了,而且这也是最主要的,社会需要我们,我们也可以为社会而工作。
我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神,某个人的离群都可能导致整项工作的失败。实训中只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个项目失败,团结协作是我们实训成功的一项非常重要的保证。而这次实习也正好锻炼我们这一点,这也是非常宝贵的。
虽然我们的课程设计在规定的时间内按时完成了任务,但是,由于知识和经验的欠缺,整个系统的开发功能还不算太完善,在设计的过程中也遇到了很多困难,比如由于早期的需求分析不充分,给后来系统的具体实现带来了很大的困难,所以中间做了一部分的无用功,但通过我们的不懈努力和老师、同学的帮助,设计才得以圆满按时的完成,所以仅凭个人的力量想设计出一个完美的系统几乎是不可能的。
老师为我们安排此次课程设计的基本目的,在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟,尤其是观察、分析和解决问题的实际工作能力,以便培养成能够主动适应社会主义现代化建设需要的高素质人才。在这四个星期的课程设计之后,我们普遍感到不仅实际动手能力有所提高,更重要的是通过对软件开发流程的了解,进一步激发了我们对专业知识学习的兴趣,并能够结合实际存在的问题在专业领域内进行更深入的学习。
作为整个学习体系的有机组成部分,课程设计的一个重要功能,在于运用学习成果,检验学习成果。运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际工作中,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足之处,以便为完善学习计划,改变学习内容与方法提供实践依据。
对我们软件专业的专科生来说,实际动手能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习中及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。
此次课程设计达到了专业学习的预期目的。在课程设计之后,我们都感到不仅实际动手能力有所提高,更重要的是通过对软件开发、软件管理流程的了解,进一步激发了我们对专业知识的兴趣,并能够结合实际存在的问题在专业领域内进行更深入的学习。
关于本次课程设计,我们的设计虽然还不够完善,许多功能因为时间和本身的知识水平有限无法实现,不过,至少在平时的学生基础之上已经有了很大的提高,我坚信它必将会对我们的未来走上工作岗位产生积极的影响。
在此次课程设计中,学到了很多课内学不到的东西,比如独立思考解决问题的能力,出现差错的随机应变能力,和与人合作共同提高的能力,都受益匪浅,并且使我们的动手能力得到了很大的提高,对以后的工作、学习都有非常大的帮助。对我们而言,知识上的收获固然重要,但是精神上的丰收更加可喜,挫折是一种财富,经历是一种拥有,这次实训必将成为我们人生旅途上一个非常美好的回忆!
课程设计报告篇二
通过学习dsp课程我们都知道,dsp实际上也是一种单片机,它同样是将中央处理单元、控制单元和外围设备集成到一块芯片上。但dsp有别于普通的单片机,它采用了多组总线技术实现并行运行机制,从而极大地提高了运算速度,也提供了非常灵活的指令系统。
此次课程设计从是从我们做完单片机的课程设计后开始的。实际上在单片机的课设时,我们就着手准备设计资料。按设计要求,按部就班地进行设计,基本上用了一周的时间。每天我们都要在固定的教室碰面,安排一天的设计任务,每人都有明确的.分工。而我的分工就是和其他的两个组员按照事先画好的电路图焊接电路板。这个工作看起来很容易,毕竟我们大一的时候就进行过类似的焊接电路板的电子工艺实习。所以我以为会很得心应手,但就是因为有那么的轻视的味道在里面,导致了我后面的功亏一篑,一周的成果不得不全盘重来。
在刚开始进行焊接的时候我们就犯了一个整体布局的错误,因为一开始以为会有主芯片焊在电路板上,所以我们的芯片的布局比较集中,这就直接导致了后来我们接线的困难,但为了避免更大的麻烦,我们还是继续了下去。当时完全没有考虑到一个基本常识,那就是像这种直接用飞线连接的情况下使用过于密集的连接方法不仅不容易焊接,而且电器性能非常的差,极其容易导致短路和强烈的电子干扰。
就这样,我们在之后的一周时间里完成了板子的初步焊接工作,就在我们兴高采烈的拿去实验的时候,结果确是指示灯毫无反映,这下我们就迷糊了,什么原因呢?查吧!于是乎我们开始了一个下午的仔细的检查工作,还别说,我们小组特别认真的按照电路图来一一检查,还真被我们检查到了好几处明显的错误,特别是好几个电容没有接地,这种低级错误真是不应该犯啊。我们自己看到这个错误都觉得是很不应该,不过知错能改,善莫大焉。我们很快的改正了这个错误。于是第二次拿去测试,想不到这次问题更糟,发光二极管直接一股青烟给烧了。我们当时这是傻了眼了,只好又回来检查。
检查后才发现我们电路图都画错了,原来我们把发光二极管直接接到12v电源上了,不烧才怪。经过这两次的错误,我们总结了一下我们出现的错误,大部分都是很低级的错误,这真是我们不认真造成的啊。于是我们又一次认真的检查了一下电路板,这下果然被我们发现了好几处短路的地方。但是由于一开始的整体排列就没有弄好,导致了现在都无法改动了。终于在我们一致讨论后,我们终于决定干脆推倒重来,把功率放大模块整体重新焊接过。这样虽然可能速度比较慢,但正确性很高,这其实也是无奈之举。要不是当初焊接的时候没焊好,导致问题多多,现在也不至于要重新来过,不过还好,我们在接受这次惨痛的教训后终于明白了一个道理,工作一定要踏踏实实的去做,特别是学我们这行的,一点马虎的也不能有,宁可重来,也不能交上一分马虎之中做出的东西!在这样的信念下,我们一直忙到晚上七点,终于是完成重新焊接的工作了,为了保险起见,我们又一次重新完整的检查了一遍系统,在最后确定没有问题后,我们终于欣慰的走出了教室的大门,来到了食堂吃饭,那一刻感觉食堂的饭怎么都比平常好吃多了,呵呵,这大概就是所谓的自我成就吧。
通过这次课程设计,我懂得了做一件事情一定要细心仔细,要不然本来很简单的一件事情也会做的很糟糕,而且一定有怀疑的精神,我们这次二极管烧了就是因为太迷信自己设计的电路图了,没有注意到那个明显的设计失误,才导致了这种结果。我希望以后能有更多的课程设计来给我们锻炼,这样我们将来走向社会才会有更强的竞争力。我会更加的珍惜以后的这种学习的机会的!
第2篇 过程控制课程设计报告
过程控制课程设计报告
一份好的课程设计报告,需要组员配合完成,下面是过程控制课程设计报告,为大家提供参考。
一、课程设计目的:
1.熟悉并熟练掌握组态王软件; 2.通过组态王软件的使用,进一步掌握了解过程控制理论基础知识; 3.了解典型工业生产过程(锅炉设备)的工艺流程和控制要求; 4.加强对课堂理论知识的理解与综合应用能力,提高解决实际工程问题的能力; 5.培养自主查找资料、收索信息的能力以及实践动手能力与合作精神。
二、组态王简介:
“组态王”是运行于 microsoft windows 200/nt4.0.xp 中文平台的中文界 面软件,充分利用了 windows 图形功能完备、界面一致性好、易学易用的特点, 并且采用了多线程。 com 组件等新技术, 实现了实时多任务, 软件运行稳定可靠。
“ 组 态 王 ” 软 件 包 括 由 工 程 浏 览 器 (touchexplorer) 、 工 程 管 理 器 (proj-manager)和画面运行系统(touchvew)三大部分组成。在工程浏览中可以 查看工程的各个组成部分,也可以完成数据库构造、定义外部设备等工作;工程 管理器中内嵌了画面管理系统,用于新工程的创建和已有工程的管理。画面的开 发和运行由工程浏览器调用画面制作系统 touchmak 和运行系统 touchvew 来完 成。
三、锅炉设备的的控制原理及工艺流程:
锅炉是过程工业中不可缺少的动力设备,它所产生的蒸汽不仅能够为蒸馏、 化学反应、干燥、蒸发等过程提供热源,而且,还可以作为风机、压缩机、泵类 驱动透平的动力源。随着石油化学工业生产规模不断强化,生产设备不断革新, 作为全厂动力和热源的锅炉,亦向着大容量、高参数、高效率方向发展。为确保 安全,稳定生产,对锅炉设备的自动控制就显得十分重要。为实现调节任务,将 锅炉设备控制划分为若干个控制系统,主要控制系统有:
(1) 给水自动控制系统(即锅炉汽包水位的控制) 操纵变量是给水流量, 它主要考虑汽包内部的物料平衡,使给水量适应蒸汽量,维持汽包中水位在工艺 允许范围内。维持汽包中水位在给定范围内是保证锅炉、汽轮机安全运行的必要条件,使锅炉正常运行的主要标志之一。 由于锅炉是一个多输入、多输出、多回路、非线性的、相互关联的复杂控 制系统,汽包液位控制与给水控制、蒸汽压力控制、送风控制、炉膛负压控制等 有关。汽包水位在外界扰动作用下的变化过程与蒸汽流量 d、补充给水量 w、 补充水温 t、炉膛热负荷(燃料量 m) 、汽包蒸汽压力 pd 等参数有关,其中影响 作用较大的主要是蒸汽流量 d、炉膛热负荷(燃料量 m) 、补充给水量 w。 汽包液位控制分为三种:单冲量控制、双冲量控制、三冲量控制。
(2)锅炉燃烧的自动控制 有三个被控变量,蒸汽压力(或负荷) 、烟气成分(反 映燃烧经济性指标)和炉膛负压。而操纵变量亦有三个:燃料量、送风量和引风 量。这三个被控变量和操纵变量互相关联,需要统筹兼顾,从而组成合适的燃烧 系统控制方案,以满足燃料燃烧所产生的热量适应蒸汽负荷的需要;保证燃烧的 经济性和锅炉的安全性。炉膛负压保持在一定的范围内。
第一个任务是维持汽压恒定。汽压的变化表示锅炉蒸汽量和负荷的耗汽量不相适应, 必须相应地改变燃料量,以改变锅炉的.蒸汽量。 第二个任务是保证燃烧过程的经济性。当燃料量改变时,必须相应地调节送风量,使它 与燃料量相配合,保证燃烧过程有较高的经济性。 第三个任务是调节引风量与送风量相配合,以保证炉膛压力不变。 对于一台锅炉, 燃烧过程的这三项调节任务是不可分隔的, 对调节系统设计时应加以注 意。
(3)过热蒸汽系统的自动控制 以过热蒸汽温度为被控变量,喷水量为操纵 变量组成的温度控制系统,以使过热器出口温度保持在允许范围内,并保证管壁 温度不超过允许的工作温度。 控制方案选择: 单回路控制方案:在运行过程中。改变减温水流量,实际上是改变过热器 出口蒸汽的热焙,亦改变进口蒸汽温度,如下图所示。从动态特性上看,这种调 节方法是最不理想的,但由于设备简单,因此,应用得最多。 减温器有表面式和喷水式两种。减温器应尽可能地安装在靠近蒸汽出口处, 但一定要考虑过热器材科的安全问题,这样能够获得较好的动态特蛀。但作为控制对象的过热器,由于管壁金属的热容量比较大,使之有较大的热惯性。加上管 道较长有一定的传递滞后,如果用下图所示的控制系统,调节器接受过热器出口 蒸汽温度 t 变化后,调节器才开始动作,去控制减温水流量 w .w 的变化又要经 过一段时向才能影响到蒸汽温度 t 这样,既不能及早发现扰动,又不能及时反映 控制的效果,将使蒸汽温度 t 发生不能允许的动态偏差。影响锅炉生产的安全和 经济运行。
改变减温水量控制蒸汽温度系统
实际中过热蒸汽控制系统常采用减温水流量作为操纵变量,但由于控制通道 的时间常数及纯滞后均较大,组成单回路控制系统往往不能满足生产的要求。因 此常采用串级控制系统,减温器出口温度为副参数,以提高对过热蒸汽温度的控 制质量。 串级控制方案:过热器出口蒸汽温度串级控制系统的方框图如下图所示。 采用两级调节器,这两级调节器串在一起,各有其特殊任务,调节阀直接受调节 器 1 的控制,而调节器 1 的给定值受到调节器 2 的控制,形成了特有的双闭环系 统,由副调节器调节器和减温器出口温度形成的闭环称为副环。由主调节器和主 信号—出口蒸汽温度,形成的闭环称为主环,可见副环是串在主环之中。
过热蒸汽温度串级调节系统原理图
调节器 2 称主调节器,调节器 1 称为副调节器。将过热器出口蒸汽温度调节 器的输出信号,不是用来控制调节阀而是用来改变调节器 2 的给定值,起着最后 校正作用。 串级系统是一个双回路系统,实质上是把两个调节器串接起来,通过它们的 协调工作, 使一个被控量准确地保持为给定值。 通常串级系统副环的对象惯性小, 工作频率高,而主环惯性大,工作频率低。为了提高系统的控制性能,希望主副 环的工作频率相差三倍以上,以免频率相近时发生共振现象面破坏正常工作。串 级控制系统可以看作一个闭合的副回路代替了原来的一部分对象, 起了改善对象 特征的作用。除了克服落在副环内的扰动外,还提高了系统的工作频率,加快过 渡过程。 串级控制由于副环的存在,改善了对象的特性,使等效副对象的时间常数减 小,系统的工作频率提高。同时,由于串级系统具有主、副两只控制器,使控制 器的总放大倍数增大,系统的抗干扰能力增强,因此,一般来说串级控制系统的 控制质量要比单回路控制系统高。
四、工程建立:
设计思路:首先,一打开运行,就是进入首页,点击“锅炉控制”进入主界 面,动作之前,先要给定“水位设定值” ,然后点击自动按钮,就可以观察实时 曲线;也可以将开关打到手动状态进行手动控制。
设计过程: (一)首先建立工程“锅炉控制” ,进入画面界面,点击新建工程画面,进 入开发系统界面,确定背景属性,打开工具栏,使用图库(快捷键 f2)创建所 需的器件:锅炉汽包、炉膛、各种阀门等;并设计水流的动态表示; (二)设置串口; (三)然后打开数据词典, 定义所需的变量, 注意其变量类型及其后续设置; (四)接下来就是动画连接,双击画面上的器件,输入变量,或点击“?” 进入变量浏览器选择所需变量,当设定完成后,进入工程浏览器双击“应用程序 命令语言”输入控制程序。
工程创建过程的截图显示:
(一)系统变量定义:
(二)动画连接:
(三)图形界面的设计:
(四)自动运行结果: (设定值为 30 时)
(五)手动控制运行结果:
五、系统软件编译:
if(本站点手自动转换开关==0) {if(本站点给水阀==1) {本站点汽包水位=本站点汽包水位+1; 本站点给水流量=本站点给水流量+1; } else {本站点给水流量=0;} if((本站点空气阀==1)&&(本站点燃料阀==1)) {本站点燃料流量=本站点燃料流量+1; 本站点空气流量=本站点空气流量+1; 本站点炉膛压力=本站点炉膛压力-1; } else
{本站点空气流量=0; 本站点燃料流量=0; 本站点炉膛压力=99; } if((本站点饱和蒸汽阀==1)&&(本站点过热蒸汽阀==1)&&(本站点给水 阀==0)) {本站点饱和蒸汽流量=本站点饱和蒸汽流量+1; 本站点饱和蒸汽温度=本站点饱和蒸汽温度+1; 本站点饱和蒸汽压力=20; 本站点过热蒸汽温度=本站点过热蒸汽温度+1; 本站点过热蒸汽压力=20; 本站点汽包水位=本站点汽包水位-1; } if((本站点饱和蒸汽阀==1)&&(本站点过热蒸汽阀==1)) {本站点饱和蒸汽流量=本站点饱和蒸汽流量+1; 本站点饱和蒸汽温度=本站点饱和蒸汽温度+1; 本站点饱和蒸汽压力=20; 本站点过热蒸汽温度=本站点过热蒸汽温度+1; 本站点过热蒸汽压力=20; } else if((本站点饱和蒸汽阀==1)&&(本站点过热蒸汽阀==0)) {本站点过热蒸汽压力=10; 本站点饱和蒸汽压力=10; 本站点过热蒸汽温度=20; 本站点饱和蒸汽温度=本站点饱和蒸汽温度+1; } else if((本站点饱和蒸汽阀==0)&&(本站点过热蒸汽阀==1)) {本站点饱和蒸汽流量=0; 本站点饱和蒸汽温度=20;
本站点饱和蒸汽压力=10; 本站点过热蒸汽温度=20; 本站点过热蒸汽压力=10; } if(本站点汽包水位>;=80) {本站点汽包水位=本站点汽包水位-1; 本站点给水阀=0; } } else {if(本站点汽包水位<本站点汽包水位设定) else='' if=''>;本站点汽包水位设定) {本站点过热蒸汽阀=1; 本站点饱和蒸汽阀=1; 本站点给水阀=0; 本站点给水流量=0; 本站点汽包水位=本站点汽包水位-1; } else if(本站点汽包水位设定==本站点汽包水位) {本站点过热蒸汽阀=1; 本站点饱和蒸汽阀=1; 本站点给水流量=20;
本站点汽包水位=本站点汽包水位+1; 本站点给水阀=1; } if(本站点汽包水位>;=10) {本站点燃料阀=1; 本站点空气阀=1; 本站点空气流量=本站点空气流量+1; 本站点燃料流量=本站点燃料流量+1; 本站点炉膛压力=本站点炉膛压力-1; } else{本站点空气流量=0; 本站点燃料流量=0; 本站点燃料阀=0; 本站点空气阀=0; } }
六、课程设计感想:
通过这次课程设计,我们熟练掌握了组态王软件 6.52 版的使用。 使我对组态软件有了更深刻的理解,特别是组态王软件的应用、组态王软件 的系统开发过程。在画面加工上做的更美观,立体感更强。使我得到了一次用专 业知识、专业技能分析和解决问题全面系统的锻炼。相信以后在使用组态软件设 计能够更全面,设计出更方便的实现监控和控制的功能,同时让我在使用编程技 巧的熟悉度向前迈了一大步。
七、参考文献:
《过程控制工程》 孙洪程 李大宇 翁维勤编著 高等教育出版社 出版
人民邮电 《可编程序控制器应用系统设计及通信网络技术》 郭宗仁 吴弈锋 郭宁明编著 出版社 出版
《组态软件控制技术》 覃贵礼 吴尚庆编著 北京理工大学出版社 出版
《过程控制》 金以慧 编著 清华大学出版社 出版
第3篇 课程设计报告格式要求
课程设计报告格式要求
总结必须有情况的概述和叙述,那么有哪些格式要求呢?下面和小编一起来看看吧!
课程设计报告格式要求
正文要求如下:
一、问题描述
由老师公布,描述课程设计的内容,约束条件,要求达到的目标等内容。
二、基本要求
由老师公布,对课程设计项目应达到的基本要求,作者实现时,在满足基本要求的情况下可扩展课程设计的'功能。
三、工具/准备工作
在开始做课程设计项目前,应回顾或复习的相关内容;需要的硬件设施与需要安装哪些c++集成开发环境软件。
四、分析与实现
分析课程设计项目的实现方法,采用适当的数据结构与算法,并写出类声明与核心算法实现代码。
五、测试与结论
粘贴课程设计程序运行的图像,并加以简单的文字说明,注意程序运行要覆盖算法的各种情况,最后说明课程设计程序是否满足课程设计题目的要求。
六、课程设计总结
主要说明算法的特点,你进行了哪些功能扩展,特别是重点说明独创或创新的部分,相关课程设计项目最有价值的内容,在哪些方面需要进一步了解或得到帮助,以及编程实现课程设计的的感悟等内容。
注:如没有某些内容(例如没有功能功展),则不填写相应内容。
扩展阅读:
题 目
题目: (小一号、黑体、加粗)
姓 名: 专 业: 班 级: 学 号: 指导老师:
(宋体三号加粗)
(宋体三号加粗)
书写要求:
1. 语言表述
报告书写简明扼要、语言准确、条理清晰、论述有据、重点突出,实习报告格式及要求。
2. 标题和层次
层次要清楚,标题要重点突出,简明扼要。
图、表、公式等与正文之间要有一行的间距,且图、表、公式编号与报告正文相对应;文中的图、表、附注、公式一律采用阿拉伯数字连续编号。如:图1,2,3,……,表1,2,3,……,公式1,2,3……等,实习报告《实习报告格式及要求》。若图或表中有附注,采用英文小写字母顺序编号。(具体可参见毕业论文格式要求)
3. 论文字体、字号要求
大 标 题 黑体小三号
一级标题 黑体四号
二级标题 黑体四号
三级标题 黑体小四号
正文及参考文献 宋体小四号
4. 段落及行间距要求
a.正文段落行距取22磅 。
b.按照标题的不同,分别采用不同的段前、段后间距:
标题级别 段前、段后间距
大 标 题 18磅
一级标题 12磅
二级标题 9磅
三级标题 6磅
5. 页边距要求:默认
6. 打印纸张规格、尺寸(mm):a4
第4篇 数字电子技术基础课程设计总结报告
一、课程设计名称
金属探测器的设计
二、课程设计目的
1.进一步了解什么是自激振荡、产生正弦波自激振荡的条件、正弦波振荡电路的组成和判断电路能否产生正弦波振荡的方法和步骤;
2.了解正弦波电路所产生的自激振荡和负反馈放大电路中产生的自激振荡的区别;
3.掌握正弦波振荡电路中为什么必须要有选频网络;
4.重点掌握电感反馈式振荡电路的工作原理;
5.掌握进行模拟电子电路功能原理设计的技术;
6.掌握实用工程电子电路的完整设计过程;
7.认识相关电子元件,器件,掌握电子元件,器件的电气性能;
8.初步掌握现代电子设计自动化(eda )工具软件protel99原理图绘制和pcb 板绘制;
9.了解所用器件特性及性能的`运用,掌握经典焊接技术,基本元器件制作技术及电子线路板的综合调试技术。
三、课程设计要求:
1.根据相关的教材内容及教师推荐的有关参考资料,设计出金属探测器的原理图,要求能测出某区域是否有金属,如有给出相应的声光提示;
2.用protel99绘制直流电机驱动器电路原理图;
3.用protel99绘制印刷电路板(pcb );
4.用pcb 组装焊接实体电路;
5.调试电路并分析存在的问题,提出解决的方法。
四、课程设计内容:
在此电路中,lc 正弦波振荡电路工作在临界状态,产生一定频率正弦波,当无金属靠近电感时,lc 正弦波振荡电路正常工作,t3管截止,无声光提示; 当有金属靠近电感时,破坏lc 正弦波振荡电路振荡条件,无正弦波输出,t3管导通,发出声光提示。
分析以下问题:
1.产生正弦波振荡的条件是什么?
2.电路中t2管的作用是什么?
3.为什么无金属靠近电感时,t3管截止,无声光提示;
4.为什么有金属靠近电感时,t3管截止,无声光提示。
五、课程设计步骤:
1. 查阅和学习相关科技文献,熟悉电感反馈式振荡电路工作原理及其应用场合;
2. 运用模拟电子技术课程中学习的波形的发生的知识,并且依据产品的设计思想,设计出可靠性高,性价比高的金属探测器;
3. 查元器件手册,设计金属探测器电路原理图;
4.用protel99原理图绘制原理图和pcb 板图;
5. 焊接电路板,进行电路调试。
6.课程设计总结,完成课程设计报告。
第5篇 cad课程设计报告
cad课程设计报告范文
一、课程设计的内容
结合本专业要求,自选题目,作一个计算机绘图辅助设计项目。例如:1)根据一个住宅小区项目的具体要求(范围、面积、容积率、绿化率、水景、道路、公共设施等),结合当地风俗、文化的实际特点,确定项目总体占地、布局方案,进行两种以上户型设计。2)设计一座栋建筑物的楼层平面图,立面图,建筑效果图等。
二、课程设计的要求与数据
1) 项目设计符合专业要求(如:小区规划合理,有创意、有特点,户型设计合理,计算机绘图思路正确,成图效果好)。
2) 图形以a4纸打印,以附件的形式附在设计报告后面,要求界面规范、清晰、美观,设计标题、图例、比例尺、绘制者、单位、制图时间等绘图基本要素齐全。
3) 绘图工作量最低不能小于16机时。
4) 使用二维和三维相结合的方式完成设计(例如:可通过拉伸二维多段线成为三维实体,三维图形渲染要结合建筑特色,进行材料、色彩、采光、环境等设计,反复试验,寻找最佳效果)。
5) 设计报告要求格式正确,要素完整,层次清楚,思路清晰,文字流畅,报告内容不少于6000字。
三、课程设计应完成的工作
1) 根据专业要求和自己的兴趣,选择合理的设计项目;
2) 做好课程设计工作计划,按计算机绘图(辅)设计程序,完成设计内容。 3) 设计成果提交设计图电子版,按班提交光盘。 4) 每个同学提交设计报告纸质版。
四、课程设计进程安排
五、应收集的资料及主要参考文献
徐建平,马利涛. 精通autocad2007中文版[m],北京:清华大学出版社,2006
杨国清,戴立望,李爽.中文autocad应用基础教程[m].北京:冶金工业出版社,2007
[3] 相关网站:晓东cad家园:http://www.xdcad.net
第6篇 电子测量课程设计报告
电子测量课程设计报告
电子测量与虚拟仪器课程设计是电子科学与技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。下面小编为你整理了电子测量课程设计报告,希望能帮到你!
题目:有源高通滤波器的设计
一、设计思路
有源滤波器是一种由rc和放大电路网络构成的滤波器。它的特点是各级滤波器的输出阻抗与截止频率fc无关,而且这个输出阻抗可以做得很低,前后级带负载能力更强;前后级之间相互独立地设计、确定各级滤波器的截止频率以及品质因数q值的rc参数。
滤波器的频率响应主要有五种:1、butterworth特性2、bessel特性3、chebyshev特性4、椭圆特性。其中:
butterworth特性最大平坦;
bessel特性滤波器与阶数相同的其它滤波器相比,有最快的相应速度,但截止特性缓慢在截止频率前后形成明显的肩部;
chebyshev特性滤波器在通过区域允许的波动下截止特性具有非常大的倾斜,且各级截止频率不同;
椭圆特性滤波器比chebyshev特性有更加陡峭的衰减特性。
设计采用四阶butterworth特性滤波器,电路结构简单,参数计算简洁,-80db衰减。
二 参数选择计算
fc=20 khz, fc= 电阻成为放大器的负载,所以下限值约为1k,而且这些电阻会因放大器的偏置电流而产生直流失调电压,由此上限应为几十k左右。电容c若选的太大,对应的r过小,会不满足要求,c一般满足大于100pf且小于10nf。所以选择c=1 nf,对应的r=8.2k。
根据butterworth特性归一化表
表1
阶数
2
4
6
8
增益g
一级
1.586
1.152
1.068
1.038
二级
2.235
1.586
1.337
三级
2.483
1.889
四级
2.610
选取r5=62 k,r6=(1.152-1)r5=9.42k 计算r5-r8的阻值如下:
r7=20k,r8=(2.235-1)r7=24.7k
三 元件清单
调试部分
一、接线调试
1、按照原理图接线完毕后,测量各连接点是否开路。
2、检查示波器是否正常。
3、将信号源的输出端接在滤波器的输入,滤波器的输出接在示波器的输入端;信号源、示波器、电路中所有的接地端都与电源的地相连。此时示波器显示经过滤波的信号。
发现有一下几点问题:
1、波形严重失真。经过很多次检查电路、更换r、c元件及增益电阻、测量后发现波形失真表现在:
1、毛刺很多
2、削波,波峰波谷处为一直线,或波谷完整,波峰出现削波
3、低频信号波形无失真或失真很小,但高频信号时失真严重,毛刺很多,根本不是正弦波
4、低频信号毛刺很多,到高频时有所好转,波形光滑,但近似于三角波,说明并不是真正的好转
5、正半周期是三角波,负半周期近似与正弦波,但比正弦波平缓
2、截止频率并不在20 khz,大约在25k左右
3、截止频率20k,但在40k左右时信号开始衰减,并且衰减非常严重,到120k时接近于0v,以至于接近带通滤波器
4、波形只有正半周期无负半周期
二、解决方法
针对这些问题我一一做了实验找到症结所在。
1、出现毛刺有部分原因是接触问题,也有电容值不相等的因素。毛刺较多且较大时接触问题是主要因素。当整体波形较光滑,只在几个点上有小毛刺时是电容的问题。这一点很好理解。电容两端的电压不可以跳变,在电阻相等的情况下,两个电容不相等时,积分的斜率就会发生变化,由此产生小毛刺。更换电容及处理好接触的问题后,毛刺问题比较好的解决了。另外,调节电路的通道增益也可减小毛刺的影响。具体做法如下:
将电路中调节增益的r7、r8、r12换成电位器104以实现增益的连续调节。先将第一级输出接到示波器上,边调节电位器边观察波形变化。当增益增大时,毛刺会慢慢变小,曲线变得平滑,最后总能找到一个固定的电阻值,使输出无失真。再用同样的方法调节第二级的电位器,使最后的输出波形无失真。
此外,放大器也会引入干扰信号。这一点可以从rc无源滤波实验找到证明。我做了一个二阶rc无源滤波实验,当调整电容、增益的值使输出信号波形良好无失真后,再插上放大器构成有缘滤波器,结果输出出现毛刺,并且lm324插入深度和干扰有直接的影响。反复调整lm324的位置,并测量管脚的电平,保证在lm324正常工作的情况下消除了放大器管脚引入的干扰。
2、尖波的原因部分来自于毛刺。当增加信号频率时,毛刺看起来会消失,波形也算光滑,波峰波谷若有毛刺将会直接变为尖波,使波形近似于三角波。而且尖波的问题不是一个独立的问题,毛刺会消失很大程度上在于问题3,也就是信号衰减的因素。当信号衰减时,幅值减小很快,相应的干扰信号下降的更快。如果在低频段时波峰波谷处或是附近有毛刺,这时候就会转变成尖波。可以说尖波涉及了毛刺和高频衰减两个重要的问题。
3、削波问题在这不是幅值失真问题。因为lm324n接正负12v的电源,而输出信号的电压始终控制在2v左右。这个问题困扰了很久,比毛刺和尖波出现的次数少。由此我断定是接线时不仔细导致。事实证明80%的削波是这样产生的,还有10%由接触不良导致或接地端未接好引起。而且波形只有正半周期而无负半周期也可归为此类问题。
4、信号在40k时开始衰减是最麻烦的问题,因为做之前根本没有考虑过会有衰减,不知道这是什么因素引起的。十几次实验时波形已经调的很好了,但衰减一直存在。解决过程如下:
1、四阶高通滤波器是由两个二阶滤波器级联而成的。第二级的输入完全就是第一级的输出。所以四阶时高频部分有衰减很有可能是第一级、第二级中的某一级衰减,也有可能两级都对高频信号造成了衰减。
2、根据这个道理,我又做了多次二阶高通滤波器的实验。将控制增益的电阻换成电位器,这样可以方便地实现增益调节。发现有一部分实验中不会出现这个问题,一部分出现这个问题时,更换电容可以解决;另一部分出现这个问题时,更换电阻可以解决。当固定两个电阻完全相等时,调节电容即可。
3、做一阶滤波实验时不会产生高频衰减,而且调节电位器只会对信号的幅值产生影响(此时调节电位器还可以消除毛刺,见解决问题1)。
4、再做二阶实验,发现当两个电阻相等时,测量得到的两个电容值若相等,则不会产生衰减;若不等,就会有衰减。
推测:高频衰减的问题是由电容、电阻不相等造成的。
5、重复二阶实验2次,确定推测是正确的。
这样,终于找到了高频衰减的原因。虽然在理论上只要满足fc= 即可,但在实际实验中对电容电阻的要求却非常高。选择了完全相等的电容后,高频衰减的问题就解决了。
但还应认识到:当频率很高时,电容会产生寄生效应。当频率高到一定程度时,电容的阻抗会下降,就会出现衰减变大的现象。在理想的状况下,频率再高电压增益也不会随频率升高而下降。之所以电压增益会随频率升高而下降,是因为所用的运放的带宽增益乘积有限。一个运放的带宽增益乘积决定的它的频率适用范围。
5、截止频率>;20k:由fc= 得:固定c不变,fc增加,r就减小。现在要使fc减小,r应该增加。试过几组电阻后,发现当r=9.7时,fc=20k hz
对上述问题、产生原因及解决方法列表如下:
表2
问题
产生原因
解决方法
波形上有毛刺
毛刺较多且引起的失真严重时:导线接触有问题(很多时候导线插在面包板中,但会接触不良,只要轻轻触碰元器件就会发现这个问题)
使导线接触良好,尝试略微变换角度插导线
波形较光滑时有小毛刺:电容值不相等
每一级二阶滤波器的两个电容值相等
增益调整不当
将控制增益的电阻换成电位器,实现增益的连续调节,观察波形,可以通过电位器找到一个固定的阻值,使输出的毛刺消失
放大器管脚引入干扰
调整放大器的位置
示波器因素
检查示波器工作是否正常
尖波
有毛刺在高频衰减时演变而来
同消除毛刺和高频衰减一起解决
削波
接线有错误
共地端连接错误
接触不良
检查接线
对低频信号无衰减
未开电源
不要忘记开电源
元器件接触问题
当检查了所有接线均无问题时,可以尝试重连电路
用电位器代替电阻r1-r5
时,无法实现高通功能
电位器的阻值会随着频率的变化而变化
r1-r5只能用电阻,所以应将电位器换成电阻
频率>;40k时信号衰减严重
由每一级的两个电容不相等所致
选择两个完全一样的电容和电阻(一定要用万用表测量),但各级的电容可以不相等
截止频率>;20k hz
rc参数设计有问题
改变rc的参数
样看来,各个单独的问题都找到了原因,那么是不是只要严格按照每个问题对应的解决方案就可以做出很好的波形呢?当然是不一定的。这更需要耐心的调试。此时的波形已经比最初好了很多。但也有新的问题: 由此可见,理论与实际的差异有多么大,实际结果与仿真的差异也很大。这
频率在20k以下时,信号按照预定的规律衰减;在20k-30k时信号的幅值并没有保持不变,而是有所上升;当频率超过30k后,幅值又会下降,对应的幅频特性曲线就会有一个“肩部”。
butterworth特性响应时平稳上升的,没有增益的起伏。实际的曲线就不符合butterworth特性响应了。我尝试了更换小的电容,对应的电阻值就变大,电阻调节范围更大。多次实验后终于找到了一个固定的电阻可以有效的改善幅频特性。但问题还是存在的,只不过幅值增加的幅度减小了。我又调节电位器,发现当第一级的增益减小时,幅频特性会有改观,但会引起总增益的减小。同时增大r5的值有利于稳定第一级输出。所以我改变电路参数,将第一级运放的负端与输出端短接,并且增大r5,这样第一级就完全没有增益,使第一级带负载能力更强;整个电路的增益都放到第二级去完成。这样幅频特性“肩部”的问题就很好的解决了)。此问题是在解决了上述所有问题的基础上发现的,故没有列入表3。
实际的元件清单:
至此,四阶有缘高通滤波器就完成了,输出波形从低频到高频均无丝毫失真,幅频相应曲线符合设计要求。
元件
参数
数量
1
运放
lm324n
1
2
电容
1nf
4
3
电阻
9.7k
4
4
电阻
75k
1
5
电阻
35k
1
6
电阻
100k
1
由此可见,我最终完成四阶有源高通滤波器的过程:连好第一级的电路——调节电位器、电容、电阻值——输出波形无失真——连第二级电路——输出无真——将两级级联起来,同时调整两个电位器至波形无失真——将电位器换成电阻提高电路的稳定性。
从调试过程可以看出,由butterworth特性设计出来的有源高通滤波器具有平坦上升的特性,它结构简单,参数计算简单,但对于元器件的精度要求较高,调试工作的难度大大增加。在一些对于滤波精度要求不高的地方,butterworth可以发挥很大的作用,要想获得更高精度的高通滤波器,简单的有源滤波器就不能满足设计要求了。
四、体会收获
通过这次课程设计,我熟悉掌握了示波器应用,对于有源高通滤波器的原理、设计电路有了深入的'认识。检查电路的能力有了提高,分析问题解决问题的能力得到了锻炼。做任何事要符合事情的发展规律,由简到难,由浅入深,切不可想当然。比如说我看到电路图很简单,原理也很清楚,一开始就做四阶有源高通滤波器,结果发现很多问题。起先不知道这些问题由什么引起,处理方法只是简单的拆了重连,浪费了不少精力;后来才将问题分类,分为波形失真、高频衰减等问题,并将波形失真再细分为若干小问题,然后一一找到解决的方法。另外,做四阶滤波器时,应先检查两个二阶滤波器的输出是否符合要求,尤其是第一级的二阶滤波器。因为很多次实验中我都是第一级的二阶滤波器的输出就不理想,这样要想从最后的输出得到理想的波形就不太可能了。遇到问题冷静分析。比如高频衰减的问题,我解决时就经历了从四阶滤波器到二阶滤波器,再到一阶滤波器的分析过程,逐级排查,找到症结所在。再比如电位器的使用对实验成功有着巨大的贡献。电位器实现了增益的连续可调,减少了更换电阻的麻烦。学会用protel软件进行简单的pcb板设计。
对于这次课程设计我总结如下:
具体到电路方面主要有
1、电容、电阻的值对电路有极其重要的影响。选择了精确的电容电阻可以解决实验中很多问题。
2、电位器的使用给实验带来了很大的方便,也拓宽了元器件的选择范围。
3、控制电路增益的电阻影响到电路的多个方面,比如消除波形的毛刺,调整增益,调整衰减。应妥善选择。
4、所有元件的管脚都会引入干扰,因此在布线时应尽量简单,减少导线的使用。
5、导线间也会有电容,会给实验结果造成干扰。尤其是本设计采用的电容并不大,线间电容带来的干扰作用就更大。布线时要特别注意。
6、对于电路,连接好一部分就检测一部分,不要等到全部连好了再检测,这样不仅加大了检测的工作量和难度,也会使电路调好的概率大大降低。
7、逐级找到问题的源头,先将各小部分调试到理想状态,再组合成整体进行调试。
8、良好的布线习惯不仅会让电路显得美观,查线时也会减小工作量,也可降低干扰对电路的影响。
9、不可想当然,不可掉以轻心
10、正视理论与实际的差别,尊重实际的结果。正视仿真,仿真只是对理论的一种检验,与实际也会有很大的差别
11、遇到很多问题不退缩,将问题分类,找出共性与个性,现着重解决大类问题,再对剩余的小问题逐个击破。
第7篇 会计课程设计报告
会计课程设计报告
经过三周的艰苦奋斗,财务会计课程设计这门大实验终于告一段落,虽然课程设计的过程很艰辛,但是也收获了不少。在课程设计的过程中,首先,我们知道了如何将自己所学的会计知识融会贯通于实际操作中,锻炼了自身的能力;其次,在做明细账科目汇总表的同时也意识到了耐心与细心在会计中的重要性;第三,会计并不是简单的写写数字,而是需要我们经过一系列的处理填制编写汇总才能得到最终需要的成果;最后,我们对会计核算的认识进一步加强,加上这次课程设计是综合性训练,每一个过程都是我们自己参与,不论是编凭证还是登账还是结账,因此,在做完此次课程设计时,我深深感受到了财务会计的真正含义,受益匪浅。
1、课程设计的目的
本次我们课程设计的主要任务是完成某个企业当年12月份的各项经济业务的全套账务处理,包括填制凭证,登记账簿,计算利润,进行年终利润结算,编制主要会计报表,撰写课程设计报告书。目的在于通过课程设计,加深对会计核算的基本原则和方法的理解,将所有的基础会计、财务会计等相关课程进行综合运用,了解会计内部控制的基本要求,掌握从理论到实践的转化过程;熟练掌握了会计操作的基本技能;同时让我们学会在工作中熟练的进行财务会计记账过程,将会计专业理论知识和专业实践,有机的结合起来,开阔我们的视野,增进我们对企业实践运作情况的认识,为我们以后毕业走上工作岗位奠定坚实的基础。
2、课程设计的内容
财务会计课程设计以《企业会计准则》为依据,以虚构的非凡市吉星机械股份有限公司2023年12月的经济业务为内容,按照《会计基础工作规范》的要求进行。
课程设计内容包括:取得或填制原始凭证;审核原始凭证;根据审核的原始凭证编制记账凭证,相互复核记账凭证,编制科目汇总表;根据科目汇总表和有关会计凭证登记总分类账和明细分类账,结账,对账,月末进行成本计算,进行各种结转业务;最后编制会计报表,并将记账凭证装订成册。
具体以非凡市吉星机械股份有限公司资料为依据,进行以下操作:根据期初资料,开立新账,进行试算平衡;处理上旬、中旬、下旬的经济业务,包括编制记账凭证、编制科
目汇总表、复核记账凭证、等级账簿等;月末进行成本计算,结转各期间费用,集装利润与利润分配,进行月末结账工作;填写资产负债表、利润表、现金流量表和所有者权益变动表。
3、课程设计过程中的难点总结
财务会计课程设计的内容涵盖了会计操作的全部基本技能——从建账、填制和审核原始凭证、记账凭证到登记账簿;从日常会计核算、成本计算到编制会计报告、年终结账、会计档案管理。这中间我碰到了许多困难,并深深觉得自己的知识掌握的不够牢靠,还需要更加认真努力地积累知识。比如原始凭证的填写规范,不可以进行任何涂改,原始凭证如何附在记账凭证后面,明细账的填写规范及结账等,每个都看似简单,实则操作起来有很多需要注意的问题。
3.1 填写原始凭证和记账凭证
首先,老师要求我们根据非凡吉星机械股份有限公司12月份发生的各种业务和会计分录填制记账凭证和相关原始凭证。
原始凭证主要是根据实际业务填写。这之中的难点就是要保证不写错不涂改,因为要体现原始凭证的真实性,合法性。像支票的填写,入账单的填写是比较突出的,在填写这类原始凭证的时候我们要注各项的规范写法,比如,人民币金额有的要用大写书写,有的金额前面要加“¥“,这些都是值得注意的地方。
而记账凭证的填写,资料已经给出了每笔业务的会计分录,这无疑给我们节约了大量时间,在完成了会计分录的书写后,我们与答案进行了比较,避免出现将错误的分录写入记账凭证,耗费凭证并增大工作量。
开始填写前,我以为填写记账凭证相对来说还是比较简单的。然而在这过程中我出现了许许多多的问题,比如数字写错,方向写错,不知道如何处理多笔业务或者一笔业务有许多科目该如何填写等问题。
我后来分析了自己出错的原因,是因为填制凭证的过程中不够专心和耐心,时常一边和同学聊天或者干别的事情,一边填写凭证。认识到自己的问题,才能更好的完善自己,于是在后来的过程中,我严格要求自己,认真填写每一笔凭证,虽然很累,但是在后来的过程中因为粗心大意而弄错的情况明显减少了。
在这一环节我学会了划线更正方法,学会了如何处理一笔分录多个科目的处理,就是分多张凭证来写。写完一笔分录,要用笔和尺子将金额部分空白的地方画条斜线。这些不
进行实际操作我们是无法注意到并牢记于心的。
3.2 登记明细账
填写完记账凭证,接下来就要登记明细账。明细账的填制过程是比较头疼的,它需要我们设置明细科目的名称。然后根据记账凭证翻来覆去查找信息,这个过程比较繁琐,对一个人的耐心可以得到很好的锻炼。
这个过程让我学会了如何设置科目,还有明细账科目活页式账簿,主要是使用方便,便于账页的重新排列和记账人员的分工,但是活页账的账页容易散失和被随意抽换。因此,使用时应顺序编号并装订成册,注意妥善保管。明细账要根据不同科目采用三栏式或者多栏式的账簿,我们应根据不同科目的要求采用不同的账簿,比如生产成本要采用多栏式,管理费用、财务费用、销售费用、制造费用就要采用十七栏式,原材料、包装物、低值易耗品、材料采购、库存商品则要采用数量金额式现金,库存现金日记账和银行存款日记账则有专门的账页,其余的就可以用三栏式填写。多栏式和十七栏式的比较容易把金额填错行,还有对计算要求比较高,而三栏式的内容则比较多,需要对照着凭证进行登记,很容易就错写或者漏写,总之还是要更细心。
明细账的填写要按照时间顺序和发生顺序逐笔登记,并且每登记一笔都要在记账凭证相应业务后面打勾,这样子在以后方便核查是否有业务未进行登记。当发生登账错误的时候,我们就可以直接用红线划掉,在上面用黑字填写正确内容并签上自己的名字,而不必像记账凭证那样必须重新填写一张。值得一提的.是,管理费用等科目要自己根据实际情况设置二级科目,所以我们要自己做出明确的判断,以方便账务的登记。我在登记管理费用的时候由于没有设计好填写方式,就导致出现了一些格式上的错误,导致最后无法更改,只好重新填写,很是费时费力。
3.3 填写科目汇总表
第三步要填写科目汇总表,是10天汇总一次,根据记账凭证填写科目汇总表,有了前面的过程,我对企业有了大致的了解,也学会了细心的去填写。同时,这也是一项比较头疼的工作,不小心就会错写漏写,导致最后的借方贷方总额不等。我在遇到问题的时候也会虚心向老师和同学请教,当我解决的问题之后,觉得很开心。科目汇总表填完之后要进行试算平衡,也就是借方贷方总额相等,如果不相等,那肯定是某个地方出现了错误,就必须找出错误,将它改正。
总体来说科目汇总表的填写是比较简单的,但是在填写的时候也要注意科目汇总表不
可以有更正涂改,发生错误必须要重新填写。
3.4 登记总账及结账
根据之前填好的科目汇总表填写总账。总账也需要10天汇总一次。工作量计算量是比较大的,尤其是结账时候的计算,一不小心就弄错了,需要算几遍才才放心,其中也出现过许多问题,比如说借贷方写错,计算错误等,而且由于我们的总账是订本式的不能重新填写账页,写错的账页也不能撕掉,所以必须很小心。总之我明白了做会计处理这个专业,必须细心再细心,由于自己的粗心出现问题,好在现在是模拟,要是在实际工作中出现问题,那是相当严重的。
至于结账工作是很重要的,我们只是进行了月结,而这也让人颇感困难。老师教给我们三种方法,分别是总账类结账方式、生产成本结账方式和管理费用类结账方式。总账还比较容易进行,直接合计本月借贷方发生额以及余额,划上通栏单红线即可。生产成本在此基础上还要结转本月产品成本并算出在产品生产成本,这就要求我们要运用以前学的生产成本的相关知识进行生产成本的计算,任何计算方式都是有一定的误差的,所以如何确定计算方法也是很重要的一个点,最后我们使用的是约当产量法进行计算的。管理费用类的结账就要将管理费用转入本年利润中,在各项费用下用红字冲销,在进行本月余额及发生额的合计。
3.5 登记财务报表
最后,根据填写的资料登记财务报表。登记报表是需要技巧的,老师在课堂上教过我们,但是自己动起手来还是比较生涩,主要还是一部分的计算汇总问题。相信通过这次课程设计,我能更好的掌握。需要注意的地方是资产负债表最后要满足“资产=负债+所有者权益”这个公式。像资产负债表里的存货项的计算就比较麻烦,涉及原材料、包装物、低值易耗品材料采购、材料成本差异、库存商品、生产成本以及存货跌价准备等多个科目,我们在计算这些项目时就要加倍细心,避免出现错误。比较值得一提的是,我们的经济业务中出现了一笔10万元的递延收益,由于从前都没有碰到过此类业务,在填写资产负债表时我就不知道该如何填写,上网查询资料后我发现有两种填法,一种是填入“其他流动负债”,一种是填入“其他非流动负债”,我困惑了,后来求证老师,老师告诉我该计入“其他流动负债”中。利润表则比较容易填写,直接将数据进行加加减减就可以了。但由于数据比较复杂,所以依然得小心对付。
经过不懈的努力,看到自己填写的这些报表和凭证,我由衷感觉到成功的滋味,但是
我知道自己还存在的问题,因此,为了在将来的工作中能发挥自己的作用,我必须努力学习,用更专业的知识武装自己。
4、课程设计心得体会
通过这次模拟课程设计,加深了我对会计的基本理论、知识、方法的掌握和应用,使我了解到各个岗位的责任,掌握了做账的基本程序,理论联系实际,也让我锻炼了自己的动手操作的能力,提高了我的实践能力,使我更深一步了解到了当中的乐趣,也使我对这几年所学的专业更加热爱,为以后的实际工作打下了良好的基础。在课程设计的过程中,我深深感觉到自身所学知识的有限,会计行业还有很多值得我学习的东西。有些知识现实中的情况与书本上的处理情况还是有很大的不同的,以前自己没有认真的考虑过,在课程设计的过程中突然间觉得自己真的知之甚少,这些问题现在可以用很多种方式去寻找解决的方法,但还是浪费了许多时间,这一点是我必须在以后的学习和工作中应该加以改进的地方,同时也要督促自己在学习的过程中不断的完善自我。另外每次课程设计中必不可少的部分就是同学之间的互帮互助,团结合作。我们是以小组的形式开展的,每组八个成员,各自既能分工合作又能互相发现错误及时改正,避免了很多无用功。组内每一个成员的力量很小,但是我们团队的能力是不容小觑的。这也告诉我们在以后的工作中要加强团队合作精神,用大家的力量来把我们的工作做好。
作为一个会计人员,在会计工作中,我们要严格按照各项会计要求,认真遵守会计准则和规范来完成工作,做账每一个步骤都不可以发生差错,我记得在登记明细账的时候就有同学没有先登记明细账就去汇总科目汇总表和登记总账,老师立刻阻止了他们,这在实际工作中是绝对不可以有的,记账是按照顺序来的,如果随意登记,很容易发生错误,造成重大损失,而且这在会计制度上也是不允许的。在这次财务会计课程设计中我们也许确实容易发生这种错误,但是在现代计算机系统下,是不可以进行此项操作行为的。这让我们将之前进行过的计算机课程设计和此次课程设计进行了对比,使我们对会计工作有了更清楚的认识和更深刻的理解。
第8篇 c++课程设计实践报告
c++课程设计实践报告
班级:83121
姓名:张弛
学号:20121000491
题目一、 题目描述: 已知银行整存整取存款不同期限的月息利率(采用复利 方式,即利滚利)分别为 0.63% 期限一年 0.66% 期限二年 月息利率= 0.69% 期限三年
0.75% 期限五年 0.85% 期限八年 要求输入存钱的本金和期限(以整数年为单位) ,求到期时能从银行 得到的利息与本金的合计。 提示:可以用嵌套的 if-else 结构或 switch 结构实现,核心函数 pow(1+月利率,月份)。 请思考年份是四、六、七或八年以上的情况。
设计思路: (一)使用 switch 选择语句 对应年份
(二)明确核心函数 pow 是计算复利的(例如:x 的 n 次方 ) ;由于 是以年为计算期限的,而所给的利率是月利率,所以计算时 应该在年的基础上乘以 12; (三)复利计算就是一种幂运算,i=p*(1+i)^n,本金和利率都是变
动的 (四)在除了 1、2、3、5 和 8 年之外的其他年份中,要注意“就低 不就高”的原则,尤其是在 8 年之后,也是套用期限八年的利率。
附源程序如下: #include #include void main { int years; float capital,sum;
scanf('%f %d',&capital,&years); switch(years) { case 1:sum=capital*pow(1+0.63*0.01,12);break; case 2:sum=capital*pow(1+0.66*0.01,24);break; case 3:sum=capital*pow(1+0.69*0.01,36);break;
case 4:sum=capital*pow(1+0.69*0.01,48);break;
case 5:sum=capital*pow(1+0.75*0.01,60);break; case 6:sum=capital*pow(1+0.75*0.01,72);break; case 7:sum=capital*pow(1+0.75*0.01,84);break; case 8:sum=capital*pow(1+0.85*0.01,96);break; default:sum=capital*pow(1+0.85*0.01,12*years); } printf('%f',sum); }
题目二、 题目描述: 简单计算器。用 switch 语句编写一个程序计算表达式: data1 op data2 的值。其中 op 为运算符+、-、*、/。
设计思路: (一)明确计算器是怎样进行计算的; (二) 细节, 比如很多地方需要分号, 在遇到字符时, 我们应该用 ‘’ , 而不是“” ; (三 switch 语句主要用于多分支选择,此题有+、-、*、/,这就是 选择。使用 switch 每个 case 对应+ - * /符号 程序涉及到至
少三个量,运算符 op 和两个数字;先让用户输入两个数字和运算符, 两个数字的计算在后面的程序中用 swith 结构运行。 运 行 效 果 截 图 :
附源程序如下:#include int main { float data1,data2,c;
char op; printf('请输入表达式中两个数字 data1 和 data2 '); //打印 scanf('%f%c%f',&data1,&op,&data2); //输入
printf('请输入运算符+、-、*、/ ');// 打印 switch(op) //switch {case stick:break;} 这个是个选择结构
如果 op = stick 则执行这一句 如果没有 则执行 default 后面 的语句 { case '+':c=data1+data2;break; case '-':c=data1-data2;break; case '*':c=data1*data2;break; case '/':c=data1/data2;break; default:printf('输入错误');break; } printf('%f',c); return 0; } 题目三 题目描述:编写程序,用二分法求方程 2x3-4x2+3x-6=0 在(-10,10) 之间的根。 提示: ① 用 do-while 语句实现。
② 二分法的计算步骤: (1) 准备 计算 f(x)在有根区间[a,b]端点处的值 f(a),f(b) (2) 二分 计算 f(x)在区间中点(a+b)/2 处的值 f[(a+b)/2] (3) 判断若 f[(a+b)/2]=0,则即是根,计算过程结束。 否则,检测: a. 若 f[(a+b)/2]与 f(a)异号, 则根位于区间[a,(a+b)/2]内, 这时以(a+b)/2 代替 b; b. 若 f[(a+b)/2]与 f(a)同号, 则根位于区间[(a+b)/2,b]内, 这时以(a+b)/2 代替 a; 反复执行步骤 2 和 3,直到区间[a,b]长度缩小到允许的误差范围之 内,此时中点(a+b)/2 即为所求的根 设计思路: (一)二分法是指在整个算法中,让计算值无限趋近于根的值,利用 数学知识可知,当了两个点的结果异号时,函数的根就在这两个数之 间,利用二分法可以无限的把根的范围缩小,直到可以确定为止; (二)do-while 是循环语句,先执行一次指定的循环体语句,然后 判别表达式, 当表达式的值为非零 (真) 时, 返回重新执行循环语句, 如此反复,直到表达式的值等于 0(假)为止才结束。 (三)void main是声明函数,并且是对主函数的声明。题目所 给的范围是(-10,10) ,因此在声明函数中定义一个 a 和 b 来代替区 间的范围,而用 c 来代指中间指也是最后的结果,在这个程序中 a、 b、c 都是随着范围不断变化的变量。如果(-10,10)的范围过大,
就需要循环语句来缩小区间范围, 即 a=c 或 b=c。 当函数值在 (-10,10) 中任意一点取得 0 时,就正是我们所要的结果。循环条件是当区间 a 和 b 的函数值小于精度 0.01。 运行效果截图:
附源程序如下: #include 'stdio.h' float f(float x) { float y; y=2*x*x*x-4*x*x+3*x-6; return y; } void main { float a=-10,b=10,c;
do{c=f((a+b)/2); if(c==0) break; if(c*f(a)>;0) a=c; else b=c; } while(f(b)*f(a)<0.01); /*解的精度为 0.01*/ printf('方程的解是:%f',c); }
题目四 题目描述:编写程序,给定一个整数 i,请求出另一个整数 j,使 i 和 j 在用 8 位二进制表示时互为逆序。例如:给定 i=3 时,应得到 j=192(3 的二进制为:00000011,192 的二进制为 11000000) 。 提示: ① 十进制整数转换为二进制整数用“除 2 求余”法。 ② 二进制整数转换为十进制整数用“按权相加”法。
设计思路: (一)二进制整数转化为十进制整数用“按权相加”法 (二)二十进制整数转化为二进制整数用“除 2 求余” ,用&转化。
(三)运算符:<<是指左移一位,>;>;是指右移一位,<<=结合时从右 到左运算, 其中 a<>;a 是指 b 向右移 a 位, 左移一位相当于乘 2 右移 1 位相当于除 2 (四)在交换时,用的是中间法
运行效果截图: 附源程序如下:#include 'stdio.h' void main { int i,j,s=1,a[8]; printf('请输入一个整数 i: '); scanf('%d',&i); for(j=0;j<8;j++,s<<=1) { a[j]=i & s; } printf('所得到的 j 为: ');
printf('%d ',(a[0]<<7) | (a<<5) | (a<<3) | (a[3]<<1) | (a[4]>;>;1) | (a[5]>;>;3) | (a[6]>;>;5) | (a[7]>;>;7)); }
题目五 题目描述:编写程序,抓交通肇事犯。 一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没 有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相 同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是位 数学家,他说:四位的车号刚好是一个整数的平方。根据以上线索求 出车号。 提示: ① 按照题目的要求,造出一个前两位数相同、后两位数相同且相互 间又不同的整数,然后判断该整数是否是另一个整数的平方。 ② 用穷举法解此题。穷举法是最简单、最常见的一种程序设计方法, 它充分利用了计算机处理的高速特征。穷举法的关键是要确定穷 举的范围,既不能过分扩大穷举的范围,也不能过分缩小穷举的 范围,否则程序的运行效率会很低,或有可能遗漏正确的结果而 产生错误。
设计思路:
(一)11 11
到 11
99
在
99 11 这样 穷举
判断是否一个
数的平方 则是 将这个数开方
取整 再取平方 是否还是原来的数
(二)此题需要满足三个条件:①前两个数相同,后两个数相同;② 前后两数分别不相同;③这个数是一个整数的平方。需要每个条件都 满足,if 才为真。 (三)主要思路是穷举。穷举是指在适当的范围内举出一个数。 运 行 效 果 截 图 :
附源程序如下: #include void main { int a,b; for(a=32;a<=99;a++)
{ b=a*a; if(b/1000==b%1000/100 b%100!=(b/1000)*10+b%1000/100) printf('the license plate is:%d ',b); } } && b%100/10==b%10 &&
题目六 题 目 描 述 : 从 终 端 输 入 实 数 ex=1+x+x2/2!+x3/3!+?+xn/n!的值。 设计思路: 先输入一个 x 的值; 再设计一个子函数, 计算 1! , 2! , 3! ?n! 的值;之后用 sum 函数,和 pow 函数处理分子,用累加的方式进行分 子计算,并形成等式;最后输出结果。 x , 用 递 推 法 求
附源程序如下:#include 'stdio.h' int f(int x,int n) { int i,m=0; for(i=0;i
for(i=0,s=0;f(x,i)<0.001;i++) s+=f(x,i); printf('其结果为:%d ',s); }
题目七 题目描述:打印出以下的杨辉三角形(要求打印出 10 行) 。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ?? ?? ??
设计思路: (一)二维数组主要用于处理多行的问题,而且第一行在数组之中是 第 0 行。 (二)杨辉三角有一个明显的特点:每一行的最后一个数字与第一个 数是相同的,此外,下 (三)一行的第二个数是由上一行的第一个数和第二个数相加之和, 以此类推。
定义指针是为了让整个程序不那么复杂。 运行效果截图:
附源程序如下: #include int main(void) { int a[10][10],(*p)[10]=a,i,j; for(i=0;i<10;i++) {
*(*(p+i)+0)=1; *(*(p+i)+i)=1; } for(i=2;i<10;i++) for(j=1;j
题目八 题目描述:找出一个二维数组的“鞍点” ,即该位置上的元素在该行 上最大,在该列上最小。 提示: ① 一个二维数组可能有鞍点也可能没有鞍点,若有鞍点,则只有一 个。
② 准备两组测试数据: (1) 二维数组有鞍点: 9 80 205 90 -60 210 40
96 1 89
-3 101
(2) 二维数组没有鞍点: 9 80 205 90 -60 210 40 1 89
196
-3 101 7
45 54 156
③用 scanf 函数从键盘输入数组各元素的值,检查结果是否正确。如 果已指定了数组的行数和列数,可以在程序中对数组元素赋初值,而 不必用 scanf 函数。请同学们修改程序以实现之。
设计思路: (一) 先找出一行中值最大的元素,然后看它是不是该列中的最小值,由于 一个二维数组最多有一个鞍点,所以如果是则鞍点存在且它就是鞍 点,输出该鞍点;如果不是,则再找下一行的最 大数,以此类推。如果每一行的最大数都不是鞍点,则此数组无鞍点 (二) 在程序中,先令 a[i][0]最大赋值给 maxi,在 for 循环的比较中,把
符合条件的行的最大值赋给 maxi,将每一次比较后的最大的列数赋 值给 maxj,从而找出 i 行最大的那个。 再假设那个数就是鞍点,将最大数和同列的数值相比,如果 maxj 不 是最小的,则不是鞍点,继续找。 (三)引入一个参数 flag=1,若不存在鞍点则 flag 为 0,若存在鞍 点则 flag 依旧为 1
运行效果截图:
附源程序如下:#include 'stdio.h' #define s 80 #define t 80 void main { int m,n,i,j,t,maxh,maxl,flag,a[s][t]; printf('请输入二维数组的行数 m 和列数 n: '); scanf('%d %d',&m,&n); printf('请输入二维数组的各个元素: ');
for(i=0;ia[i][0]) t=a[i][j];maxh=i;maxl=j; } for(i=0;i
a[%d][%d]=%d ',maxh,maxl,a[maxh][maxl]); }
题目九 题目描述:某班期终考试科目为高数 mt、英语 en 和物理 ph,有 30
个人参加考试。为评定奖学金,要求统计并输出一个表格,表格内容 包括学好、各科分属、总分和平均分,并标出 3 门课均在 90 分以上 者(该栏标志输出为 y,否则为 n) ,表格形式如下: no mt en ph sum v >;90 1 2 3 97 87 92 276 92 92 91 90 273 91 90 81 82 253 84 ...... n y n
#include 'stdio.h' void main
设计思路:由于是对 30 个学生的数据进行输入与统计,所以建立二 维数组, 根据各位置的条件来定义其内容, 第 8 个数据是字符型数据, 所以另设一数组进行存储,最后在将数据整合输出。
附源程序如下:#include 'stdio.h' void main { int i,j,sum,flag,a[30][7]; printf('请输入 30 个考生的三科成绩: ');
for(i=0;i<30;i++) { a[i][0]=i+1; for(sum=0,j=1;j<4;j++) {scanf('%d',&a[i][j]); sum+=a[i][j]; if(a[i][j]>;90) flag=1; else flag=0; } a[i][4]=sum; a[i][5]=sum/3; if(flag=1) a[i][6]='y'; else a[i][6]='n';
} printf('no mt en ph sum v >;90 '); for(i=0;i<30;i++) for(j=0;j<6;j++) { printf('%5d',a[i][j]); printf(' %c ',a[i][6]); }
}
题目十 题目描述下面是一个 5*5 阶的螺旋方阵,试编程打印出此形式的 n*n (n<10)阶的方阵(顺时针旋进) 。 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 提示:用二维数组实现。
设计思路:定义一个 n*n 维数组存放该方阵,m 为该方阵的圈数,一个大循环中嵌套了
四个小循环,每一圈为一个大循环,第一个小循环按顺序写出第一行的数,第二个小循环按 顺序写出最后一列的数, 第三个小循环按顺序写出最后一行的数, 第四个小循环按顺序写出 第一列的数,再进行第二次大循环,循环完毕后再进行循环输出数组中的 n*n 个数,该螺旋 方阵就出来了。
附源程序如下: #include 'stdio.h' void main { int i, j, k = 0, m, n,a[10][10]; printf('请输入方阵行列数 n(n<10): '); scanf('%d',&n); if(n%2==0) m = n / 2; else m = n / 2 + 1; for(i=0;i
k++; a[i][j]=k; } for (j=i+1;j=i;j--) { k++; a[n-i-1][j] =k; } for (j=n-i-2;j>;=i+1;j--) { k++; a[j][i]=k; } } for (i=0;i
printf('%5d', a[i][j]); printf(' '); } } 附:
实习总结与心得体会
经过 c 语言实习,让我加深了对 c 语言的了解,而不只是单单 的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编 写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理 论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。 不过,通过几天的实习,逐渐积攒了一些经验,有些错误可以很快就 看出来。 这次实习有很大的收获,让我对 c 语言有了更深的认识,平时 在课堂上学到的.东西可以自己动手编写,将其转化成一些实用的技 能。如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣 就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技 能,让我对 c 语言有了浓厚的兴趣和更深层的认识。 c 语言是一个有序的学习, 学了最基本的替换, 然后扩展到循环, 嵌套, 条理很清楚, 不是一个零散的知识, 实际上所有的课程都如此, 不过通过实习我也知道了自己的不足,存在的很多问题。比如自己写 的写的小程序出了问题,不会解决了就叫老师帮忙,但是会养成一种 依赖的心理,碰到问题了个想到的是求助而不是自己独立解决,所以
以后要多多锻炼自己的信心和增加自己的能力, 争取做到老师不在身 边的时候也可以完成一些简单的程序编写与错误排除。 还有自己的基础知识不扎实, 遇到的问题, 没有很好的逻辑思维, 亲自编写一个陌生的程序的时候会有种无法下手的感觉, 找不到突破 口。通过实习,逐渐理清了顺序,对于简单的程序和一些相对比较繁 琐的嵌套,循环,不在是看着一头雾水。其实只要理清了思路,把基 础知识掌握了,然后有条不紊的分析,一步一步理解,c 语言还是很 有意思的课程。 自己亲自动手编写程序让我增加了对 c 语言程序开发环境的了 解,在上课的时候老师就讲,学习 c 语言最重要的是学习 c 语言的 逻辑思维,不管以后从事什么行业,学习 c 语言都对自己的职业很 有帮助,如果是从事编程工程工作的话,就更有帮助了,即使以后的 编程工作可能不用 c 语言,但是拥有扎实的 c 语言基础是对工作很 有用的。 当初在初步接触 c 语言的时候,看着一堆“奇形怪状”的符号, 觉得甚是无聊,通过这次实训,摆脱了那种似懂非懂的状态! 感谢学校安排这次实习和老师的耐心讲解,让我学到了很多知 识,在实习过程中,同学之间的相互探讨,老师的循循善诱,最终让 我们达到了举一反三的效果,在学知识的同时,也增加了同学老师之 间的感情。希望以后还会有更多类似的实习课程,在有限的大学时间 内学到更多的实用技能,为以后的生活和工作打下一个良好的基础。
第9篇 流水灯课程设计报告
流水灯课程设计报告
欢迎阅读流水灯课程设计报告,本文主要介绍了基于单片机的流水灯系统,首先介绍了以at89c51为控制核心,8位共阳极接法的二极管显示电路的流水灯系统,并通过对流水灯的基本控制原理进行了流程控制设计,从而实现流水灯现象。
1 概述
随着科学技术水平的不断向前提高以及社会经济的不断向前发展,人们越来越意识到广告宣传的重要性,越来越多的丰富多彩、新颖夺目的led广告宣传牌充斥在城市的公共场所中,为灯红酒绿的城市增加了炫目多姿的色彩。这些led广告宣传牌动态显示的背后,则是以流水灯的原理为基础,以单片机为控制核心,按照广告商的宣传需求,通过炫目的多彩和新颖的方式来吸引人们的眼球来完成广告宣传。基于单片机的流水灯的设计,主要是以单片机为控制核心,通过自身的数据输入输出端口完成与流水灯显示电路的数据联通,通过内部的程序运行来实现对流水灯显示电路的动态控制,进而实现显示电流的循环亮灭的操作。所以对于基于单片机的流水灯系统的深入研究与学习对于学习单片机控制系统以及led广告宣传系统的工作机制进来说具有非常重要的现实意义。
2 基于单片机的流水灯的系统电路
流水灯的显示电路就是多个二极管通过一端公共连接而构成的显示电路,并将另一端分别与单片机的多个数据输入输出端口进行连接,当单片机向这些端口发送相应的数据时,根据二极管的工作特性,从而实现对其的亮灭控制。当然,单片机工作还需要复位电路和晶振电路配合单片机芯片构成单片机工作的最小系统,从而满足单片机正常工作的基本条件。如图1所示,为基于单片机的流水灯控制系统硬件电路图,该硬件电路以at89c51为基本的控制核心,实现对8为二极管流水灯显示电路的亮灭控制。
该控制系统是以at89c51为系统的控制单片机,它是美国atmel公司生产的高性能的cmos 8位处理器,同时配备了丰富的硬件资源,有128字节的ram供用户使用,并提供2个16为定时器/计数器完成定时和计数的工作以及32根数据输入输出端口来单片机与外部电路的数据连通的工作。
8位二极管构成的流水灯显示电路是用共阳极的连接方法来构成的显示电路的。常见的led显示灯电路中的二极管连接方法有两种,一种是共阳极连接,一种是共阴极连接,它们是根据显示电路中二极管公共连接的方式来决定的。共阳极接法就是将构成led显示电路的二极管的阳极接在一起构成公共端,共阴极接法就是将led显示电路中的二极管的阴极接在一起构成公共端。对于共阳极接法的显示电路来说,如果在该端实施低电压(零电压),对于共阴极接法的显示电路来说,如果在该端实施高电压,那么无论在另外一段如何控制电压都不能使该显示电路亮灭,从而实现了通过对该公共端的电压的改变对整个led显示电路的进行控制。当公共端施加了使能电压后,通过对该显示电路中的某个二极管进行控制从而实现了对显示电路的二极管亮灭控制。图1中所示的流水灯显示电路为共阳极接法的led显示电路,通过施加vcc电压,可以是led显示电路中的所有二级管一直处在使能状态,从而配合的单片机控制完成流水灯的设计。
3 基于单片机的流水灯的流程控制
流水灯就是按照一定的顺序和规则,按照人们的意愿有序地亮灭,通过人的视觉误差从而形成流水状的状态。基于单片机的流水灯系统设计,以图1为基本的硬件电路,根据人们的意愿来编写程序代码,通过单片机定时向p1端口发送控制信号数据,从而对流水灯显示电路的二极管亮灭的控制,实现流水灯的效果。
由于本文中采取的是流水灯显示电路采用的是共阳极的接法,所以在针对一个二极管亮灭的控制情况下,主要是是向该端口发送低电压数据即可使该二极管发亮,依次类推,即可实现流水灯的现象。但是值得注意的是,由于人类研究对于视觉具有暂留的.特性,如果紧邻的两个二极管的亮灭交替时间间隔太少,在人眼观察下就会是持续亮的状态,达不到流水灯的效果,所以设计的时间间隔要满足一定的要求。对于流水灯的实现上有很多方法,其中循环移位法是相对比较简单的控制方法,即对8位二极管的亮灭信号控制字进行循环移位来实现流水灯的方法。
以紧邻两个二极管亮灭时间间隔为0.5s为例,对基于单片机的流水灯系统的控制流程进行伪代码设计如下:
a,对单片机的定时器/计数器进行初始化,包括定时器/计数器的选择,工作方式选择等初始化工作。
b,设定二极管亮灭控制变量v_number,并赋值为0xfe(该值是对高7位的二极管的阴极设定为高电压,对最后一位的二极管的阴极设定为低电压,从而实现最后一个二极管亮,其他二极管灭的初始状态)。
c,将v_number赋值到p1端口。
d,对定时器/计数器进行初始值设定(定时0.5s)并开始计时知道结束。
e,对v_number进行循环移位操作并将结果重新赋值给v_number。
f,跳到步骤c
根据上述流程,即可实现对p1端口输出控制数据的循环变化,实现共阳极的二极管显示电路的流水灯现象。
4 总结
基于单片机的流水灯系统的设计,主要是以51单片机为控制核心,配备8位共阳极接法的二极管显示电路,通过定时器/计数器的定时以及对连接8位二级管显示电路的p1端口进行循环移位赋值,从而实现对二极管显示电路的亮灭自动控制,实现流水灯现象。
参考文献:
张灿.单片机花样流水灯设计[j].信息通信,2013(01)
易礼智.基于51单片机实现流水灯的若干种编程方法[j].铜仁学院学报,2012(06)
[3]朱艳梅.基于单片机的流水灯的设计与实现[j].电子制作,2014(04)
[4]李灵锋.单片机控制流水灯方法研究[j].煤炭技术,2010(11)
第10篇 设计模式课程设计报告
一、问题要求及任务描述
设计模式课程作业要求独立制作一个软件,功能是实现23种模式的定义、优缺点以及显示示例代码。
(一)、题目要求
设计软件,将23种设计模式结合,要能够显示每种模式的定义、优缺点以及举例说明例子,加上简单的代码说明。
(二)、主要任务
主要是选择一种工具,实现显示的功能,整理各种模式的定义,概念、使用情况、以及选择模式实例,代码实现;
(三)、典型实例实现(任选三个分属于不同设计模式的实例)
1、单例模式 定义与结构
单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 单例模式的要点
显然单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。在下面的对象图中,有一个单例对象,而客户甲、客户乙和客户丙是单例对象的三个客户对象。可以看到,所有的客户对象共享一个单例对象。而且从单例对象到自身的连接线可以看出,单例对象持有对自己的引用。静态变量(这是c/c++的叫法,其他语言或有不同)是实现单例模式的要素。 单例模式的2种方式:饿汉式,懒汉式
单例模式属于对象创建型模式,其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点。对一些类来说,只有一个实例是很重要的,虽然系统中可以有许多打印机,但却只应该有一个打印机假脱机,只应该有一个文件系统和一个窗口管理器,一个数字滤波器只能有一个a/d转换器,一个会计系统只能专用于一个公司。怎样才能保证一个类只有一个实例并且这个实例易于被访问,一个全局变量使得一个对象可以被访问,但它不能防止你实例化多个对象,一个更好的方法是让类自身负责保存他的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法,这就是singleton模式。
一个产生随机数的例子,整个应用程序中只需要一个类的实例来产生随机数,客户端程序从类中获取这个实例,调用这个实例的方法nextint,公用的方法访问需要进行同步,这是单例模式需要解决的同步问题。
2、工厂方法模式 定义与结构
工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。
工厂方法模式是简单工厂模式的衍生,解决了许多简单工厂模式的问题。首先完全实现‘开-闭 原则’,实现了可扩展。其次更复杂的层次结构,可以应用于产品结果复杂的场合。
工厂方法模式的对简单工厂模式进行了抽象。有一个抽象的factory类(可以是抽象类和接口),这个类将不在负责具体的产品生产,而是只制定一些规范,具体的生产工作由其子类去完成。在这个模式中,工厂类和产品类往往可以依次对应。即一个抽象工厂对应一个抽象产品,一个具体工厂对应一个具体产品,这个具体的工厂就负责生产对应的产品。
适用情况
第一种情况是对于某个产品,调用者清楚地知道应该使用哪个具体工厂服务,实例化该具体工厂,生产出具体的产品来。java collection中的iterator 方法即属于这种情况。
第二种情况,只是需要一种产品,而不想知道也不需要知道究竟是哪个工厂为生产的,即最终选用哪个具体工厂的决定权在生产者一方,它们根据当前系统的情况来实例化一个具体的工厂返回给使用者,而这个决策过程这对于使用者来说是透明的。 优缺点
首先,良好的封装性,代码结构清晰。一个对象创建是有条件约束的,如一个调用者需要一个具体的产品对象,只要知道这个产品的类名(或约束字符串)就可以了,不用知道创建对象的艰辛过程,减少模块间的耦合。
其次,工厂方法模式的扩展性非常优秀。在增加产品类的情况下,只要适当地修改具体的工厂类或扩展一个工厂类,就可以完成“拥抱变化”。例如在我们的例子中,需要增加一个棕色人种,则只需要增加一个brownhuman类,工厂类不用任何修改就可完成系统扩展。 再次,屏蔽产品类。这一特点非常重要,产品类的实现如何变化,调用者都不需要关心,它只需要关心产品的接口,只要接口保持不表,系统中的上层模块就不要发生变化,因为产品类的实例化工作是由工厂类负责,一个产品对象具体由哪一个产品生成是由工厂类决定的。在数据库开发中,大家应该能够深刻体会到工厂方法模式的好处:如果使用jdbc连接数据库,数据库从mysql切换到oracle,需要改动地方就是切换一下驱动名称(前提条件是sql语句是标准语句),其他的都不需要修改,这是工厂方法模式灵活性的一个直接案。 最后,工厂方法模式是典型的解耦框架。高层模块值需要知道产品的抽象类,其他的实现类都不用关心,符合迪米特原则,我不需要的就不要去交流;也符合依赖倒转原则,只依赖产品类的抽象;当然也符合里氏替换原则,使用产品子类替换产品父类,没问题!
3、备忘录模式
定义与结构
备忘录(memento)模式又称标记(token)模式。gof给备忘录模式的定义为:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。
从定义可以看出备忘录模式是专门来存放对象历史状态的,这对于很好的实现undo、redo功能有很大的帮助。所以在命令模式中undo、redo功能可以配合备忘录模式来实现。
适用情况
使用了备忘录模式来实现保存对象的历史状态可以有效地保持封装边界。使用备忘录可以避免暴露一些只应由“备忘发起角色”管理却又必须存储在“备忘发起角色”之外的信息。把“备忘发起角色”内部信息对其他对象屏蔽起来, 从而保持了封装边界。
但是如果备份的“备忘发起角色”存在大量的信息或者创建、恢复操作非常频繁,则可能造成很大的开销。
gof在《设计模式》中总结了使用备忘录模式的前提:
1) 必须保存一个对象在某一个时刻的'(部分)状态, 这样以后需要时它才能恢复到先前的状态。
2) 如果一个用接口来让其它对象直接得到这些状态,将会暴露对象的实现细节并破坏对象的封装性。 优缺点
优点:使用备忘录模式,可以避免暴露一些只应由源发器管理却又必须存储在源发器之外的信息,而且能够在对象需要时恢复到先前的状态。
缺点:使用备忘录可能代价很高。如果源发器在生成备忘录时必须复制并存储大量的信息,或者客户非常频繁地创建备忘录和恢复源发器状态,可能会导致非常大的开销。
1)备忘录(memento)角色:备忘录角色存储“备忘发起角色”的内部状态。“备忘发起角色”根据需要决定备忘录角色存储“备忘发起角色”的哪些内部状态。为了防止“备忘发起角色”以外的其他对象访问备忘录。备忘录实际上有两个接口,“备忘录管理者角色”只能看到备忘录提供的窄接口——对于备忘录角色中存放的属性是不可见的。“备忘发起角色”则能够看到一个宽接口——能够得到自己放入备忘录角色中属性。
2)备忘发起(originator)角色:“备忘发起角色”创建一个备忘录,用以记录当前时刻它的内部状态。在需要时使用备忘录恢复内部状态。
3)备忘录管理者(caretaker)角色:负责保存好备忘录。不能对备忘录的内容进行操作或检查。
三、小结
(一)、问题解决方法及程序实现小结
我的课程设计作业用的是dreamever,即静态网页。因为本身每种模式的内容相对固定,实例代码以及uml图片都不会有很大的变动,而且所有模式所涉及的数据内容不多,不需要数据库支持,所以用静态网页形式显示既方便又合理。
在制作网页的过程中,开始的思路是运用浮动框架,但是因为每种模式代码普遍比较多,若显示与框架之内,整个页面布局不够合理,也不美观,于是,一种模式运用两个页面来显示,即合理又美观。
但是软件也有本身的缺陷,内容相对固定,不易改变,在变动后不容易改变。从每个页面回归前一个页面的时候可能会不方便。
学习设计模式让我们感觉程序设计实际上是一件很有意思的事情,23种设计模式,每种模式又有自己独特的解决思路,带有一定的通用性。我们在发现问题到解决问题这个过程中,常会发现很多问题是重复出现的,或是某个问题的变体,外在不同,而本质相同,这些问题的本质就是模式。设计模式主要是在大量变成的基础上加以总结,以减少重复编码。
(二)、 尚未解决的问题及下一步工作思路
对于模板方法模式的理解还不够,相关内容还没有找到,对于课本上c#理解还不够深入,应该学习用多种语言实现每种模式,理解其基本思想。
(三)、 收获
在本次课程设计中,加深了对于23种设计模式的理解和记忆,更加明白总结对于学习的重要性,在程序开发中,重复性的东西是对于资源的一种浪费,所以在以后学习中应该在更加注重总结学习。本次的课程设计作业也能作为以后学习的一个工具,在需要复习的时候,可以回来查阅总结的内容,一举两得。
第11篇 软件工程课程设计报告怎么写
软件工程课程设计报告怎么写
软件工程专业以计算机科学与技术学科为基础,强调软件开发的工程性,使学生在掌握计算机科学与技术方面知识和技能的基础上熟练掌握从事软件需求分析、软件设计、软件测试、软件维护和软件项目管理等工作所必需的基础知识。软件工程课程设计报告怎么写,我们来看看。
软件工程课程设计报告怎么写
专业:08计本2班
姓名:张敬宇
学号:20806032039
在我们整个软件工程过程中,我体会到了许多,也学到了许多。
在项目要进行自由分组后,我们的项目小组便诞生了。我们小组由3个成员组成,在相互商量后我们也确定了我们组的项目,是做一个校园文件管理系统。我们也随即做了分工,。我们的项目也正式开始了。
需求调研和分析对于软件开发过程至关重要。我们在开发时如果不进行调研和分析,那么对于后来的项目进展将产生致命的后果。我们在项目的开发中便遇到了这样的问题。我们开始自己随意的计划整个系统的设计,然后报给老师,老师作为一个客户并不是全部认同,随后我们也必须按着客户的要求更改我们的设计报告。我也明白了,再做一个系统时,必须随时和客户保持沟通,随时了解他们需要什么,他们想要什么功能。如果我们不去和客户沟通,不去调研客户的需求,做出来的系统即使在我们看来是一个很好,很完美的产品,但是如果客户不认同,那么我们所做的一切都是徒劳,还要返工去修改,费时费力。所以在做任何一个项目时,前期的需求调研和需求分析都是必须的,这是在做一个项目的基本,是关系成败的重要一环。
对于一个项目,它的需求设计也非常重要。在我们的文件管理系统开发的过程中,遇到了一些问题,出现的这些问题很多都是非常棘手的,我们为了解决这些棘手的问题浪费了大量的时间,我们不得不在工程代码上改了又改,在数据库里增表、删表、加数据、减数据,当然,在文档里也要做出相应的修改以适应新的功能。还好,我们能及时地发现问题,通过相互沟通讨论,问题也得到了解决。通过总结,我们也意识到,我们大家在做需求分析和进行需求了解时仅仅考虑了一些基本的功能,而至于管理员和客户之间的联系,以及具体的一些流程我们都没有深究,而导致我们到后期花费了大量的时间用于修复之前没有考虑周全而带
来的问题。如果我们的需求设计能够比较清晰和完善,那么我们在开发过程中便会很明白的知道我们应该实现什么样的功能,在数据库里应该怎样建表,以什么方式插入数据,从而可以避免反复修改工程的问题,也能避免出现可能毁坏整个工程的问题。整个工程的需求设计对于一个项目的顺利进展至关重要。
对于文档在软件工程中的作用,我在这次项目开发过程中有了更加深刻的理解。文档在软件开发过程中是很有用的,文档是一项必不可少的东西,但文档也不能太多,太过繁琐,如果是那样就不太好了。首先我们要明确开发过程中为什么要写这些文档,文档的最根本的作用是为了更好的沟通。一个项目或产品可能需要延续很长的时间,开发过程中可能需要很多的环节,可能会遇到很多的问题和很多的解决的方法,这时,我们需要文档的帮助,我们需要有一个东西来记录,我们需要有一个共同的声音。文档只不过是一个准绳,将开发中的各个树枝树叶扶正。如果,这个准绳太多太紧,大树可能会发育的很高很直,但是就是有些畸形,如果这个准绳太少太松,大树可能就会变成灌木丛。文档的多少、繁简是有度的,绝对不能说越多越好。我觉得,文档需要说明解决问题的方法而不是解决问题的理论,因为解决问题的理论是在文档形成中做到的'。文档完整即可,每一份文档说明一个问题,无需将多个文档的内容放在一个文档的里面。除了重要阶段形成文档,其它部分都只是讨论或者说是想法。不要让文档成为累赘,如果真是这样,我认为就是该考虑写这些文档的必要性的时候了。 我们在文档的时候,一定要明白为什么要写这些。
在整个项目开发过程中,我们也同时遇到了许多程序接口问题,页面和功能相结合的问题,数据库建表的问题,这些问题都是源于我们项目小组成员之间的沟通不足。我深刻认识到,在项目开发时,项目小组中各个成员之间的相互沟通是非常重要的。如果我们要在功能方面作出修改,那么程序人员和页面人员及数据库人员就必须相互沟通,共同对整个程序作出相应的修改,这样才能避免最终整合时出现问题。
在这十个周里,我还对软件工程有了新的理解。在我以前的理解当中,软件工程,无非就是一个人或者几个人或一个团队集中在一起进行编写代码的工作,以实现开发出所用的软件。但现在我明白了,软件工程的作用,就是告诉人们怎样去开发软件和管理软件。具体地讲,它表现在与软件开发和管理有关的人员和
过程上。所以,软件工程就不仅仅是单一的编程过程了。它包括了系统分析->;建模->;概要设计->;详细设计->;编码->;测试->;维护。编码可以理解为编程,这个只占总时间的20%左右。编程只是其中的一小部分。
在这次项目里我完成了许多工作,在界面设计上我完成了,首页、全部的商品页面、全部的用户页面及部分管理员页面的制作,在后期项目整合过程中修改了功能和界面结合时出现的bug,还有数据库插入数据及解决数据库集中整合时出现的问题。这些工作我都顺利完成了,虽然并不能算是非常的出色,但也算是尽力了。现在看到自己辛劳的成果,我感到很欣慰。
当然,在这次项目过程中我也发现了自己的一些问题。如现在的网站开发技术还不够强,在和小组成员相互沟通上还不够积极等。我希望以此为契机,在将来的项目开发中能做得更好。
第12篇 供配电课程设计报告
供配电课程设计报告
第一章供配电与电气照明系统概述
供配电技术,就是研究电力的供应及分配的问题。电力,是现代工业生产、民用住宅、及企事业单位的主要能源和动力,是现代文明的物质技术基础。没有电力,就没有国民经济的现代化。现代社会的信息化和网络化,都是建立在电气化的基础之上的。因此,电力供应如果突然中断,则将对这些用电部门造成严重的和深远的影响。故,作好供配电工作,对于保证正常的工作、学习、生活将有十分重要的意义。
供配电工作要很好的为用电部门及整个国民经济服务,必须达到以下的基本要求:
安全——在电力的供应、分配及使用中,不发生人身事故和设备事故。
可靠——应满足电力用户对供电可靠性和连续性的要求。 优质——应满足电力用户对电压质量和频率质量的要求。 经济——应使供配电系统投资少,运行费用低,并尽可能的节约电能和减少有色金属消耗量。
随着照明技术的迅速发展,照明设计已成为建筑设计的重要组成部分。目前无论照明设计理念还是照明设备都发生了很大的变化。新的设计思想强调以人为本的人性化设计,以满足人们提出的环境优美、亮度适宜、空间层次感舒适、立体感丰富等多个层面的要求,同时注重艺术性,文化品味和特色。
电气照明是建筑物内外人工环境的重要组成部分,它的基本功能是在自然光不足时,为人们进行各种活动提供视觉的必要条件,而且对人的生理、心理健康具有重要影响,所以电气照明设计应满足家庭生活的需求,并且要确保用电安全。
总之,建筑电气照明与人类的生产、工作和生活有着密切的关系,随着我国建筑业、装饰业的蓬勃发展,人们对电气光源、照明设备技术的更新以及照明光环境的要求就更高了。
第二章 照明系统的设计
2.1照明设计的负荷的选取与原则
一级负荷为中断供电将造成人身伤亡者;或将在政治上,经济上造成重大损失者;或中断将影响有重大政治经济意义的用电单位的正常工作者。二级负荷为中断供电将在政治上,经济上产生较大损失的负荷,如主要设备损坏,大量产品报废等;或中断供电将影响重要的用电单位正常的工作负荷,如交通枢纽、通信枢纽等;或中断供电将造成秩序混乱的负荷等。三级负荷为不属于前两级负荷者。对供电无特殊要求。本次设计主要为三级负荷。 照明的全方位发展,改变了人们以往的观念。光的环境要受照度、亮度、眩光、阴影、显色性、稳定性等各项因素的影响和制约,设计时应恰当的.选择。同时应遵循安全、实用、经济、美观的照明设计的基本原则。为配合装修一步到位条件,应充分掌握设计前提因素,努力创造最佳方案。有效利用天然光,合理的选择照明方式和控制区域,尽力降低电能消耗指标。
2.2 照明设计的目的和原则
照明的设计目的,就是在充分利用自然光的基础上,运用现代人工照明的手段,为人们的工作、生活、娱乐等创造一个优美舒适的灯光环境。也就是说,使灯光环境符合人们的工作、生活等封面的要求,从而在生理和心理两方面满足人们的需求。
照明设计的原则
(1) 使用性原则,使用是根本也是设计的出发点和基本条件。使用性还包括照明系统的施工安装、运行几维修的方便简单,及对未来照明发展变化留有一定的空间。
(2)安全性原则,在选择设计照明系统时要自始至终坚持安全第一的原则。在设计中要遵循规范的规定和要求,严格按规范设计。
(3)美观性原则,灯光照明尚具有装饰空间、美化环境的功能。对于房间的照明设计,我们也应该从美观的角度选择、布置灯具,使之符合人们的审美习惯。
(4) 经济性原则,一方面是节能,另一方面是节约[3]。
2.3 照明的分类方式
(1)一般照明
为使整个照明场地获得均匀明亮的水平照度,使用照明器在整个照明场所基本均匀布置的照明方式。
(2)分区一般照明
根据需要提高特定区域照度的一般照明。根据工作面布置的实际情况,将照明器集中或分区集中均匀的布置在工作区上方,使室内不同被照面上产生不同的照度,可以有效的节约能源。
(3)局部照明
以满足照明范围内某些部位的特殊需要而设置的照明称为局部照明。它仅限于照亮一个有限的工作区,通常采用从最适合的方向装设台灯、射灯或反射灯型灯泡。其优点是灵活、方便、节电、能有效地突出重点。
(4)混合照明
由一般照明和局部照明共同组成的照明称为混合照明。其实质是在一般照明的基础上,在另外需要提供特殊照明的局部,采用局部照明。
照明种类可分为:正常照明、应急照明、值班照明、警卫照明和障碍照明[3]。
按照下列要求确定照明种类:
1、工作场所均应设置正常照明,它是在正常情况下使用的室内、外照明。
2、工作场所下列情况应设置应急照明:
(1)正常照明因故障熄灭后,需确保正常工作或活动继续进行的场所,应设置备用照明;
(2)正常照明因故障熄灭后,需确保处于潜在危险之中的人员安全的场所,应设置安全照明;
(3)正常照明因故障熄灭后,需确保人员安全疏散的出口和通道,应设置疏散照明;
3、大面积所宜设置值班照明,一般在非工作时间内供值班人员用的照明。
4、有警戒任务的场所,应根据警戒范围的要求设置警卫照明。
5、有危及航行安全的建筑物、构筑物上,应根据航行要求设置障碍照明。
2.4照明灯具的要求
灯具的选择是照明设计的基本内容之一,其选择恰当与否,直接影响到照明的质量、经济性能和耗能指标的好坏。
1、在潮湿的场所,应采用相应防护等级的防水灯具或带防水灯头的开敞式灯具。
2、在有腐蚀性气体或蒸汽的场所,宜采用__蚀密闭式灯具。若采用开敞式灯具,各部分应有__蚀或防水措施;
3、在高温场所,宜采用散热性能好、耐高温的灯具。 4、在有尘埃的场所,应按防尘的相应防护等级选择适宜的灯具。
5、在装有锻锤、大型桥式吊车等震动、摆动较大场所所使用的灯具,应有防振和防脱落措施。
6、在易受机械损伤、光源自行脱落可能造成人员伤害或财物损失的场所使用的灯具,应有防护措施;
7、在有爆炸或火灾危险场所使用的灯具,应符合国家现行相关标准和规范的有关规定。
8、在有洁净要求的场所,应采用不易积尘、易于擦拭的洁净灯具。
9、在需防止紫外线照射的场所,应采用隔紫灯具或无紫光源。
第三章 电气设备的选型
3.1 开关的选型
开关的种类
开关可以根据其结构特点、极数、位数、用途等进行分类。
(1)按结构特点分类 开关按结构特点可分为按钮开关、拨动开关、薄膜开关、水银开关、杠杆式开关、微动开关、行程开关等。
(2)按极数、位数分类 开关按极数和位数可分为单极单位开关、双极双位开关、单极多位开关、多极单位开关和多极多位开关等。
(3)按用途分类 开关按用途可分为电源开关、录放开关、波段开关、预选开关、限位开关、脚踏开关、转换开关、控制开关等。
3.2插座的选型
电源插座
电源插座根据安装形式可以分为墙壁插座、地面插座两种类别。墙壁开关可分为三孔、四孔、五孔、组合孔插座等,一般来讲住宅的每个主要墙面至少各有一个5孔插座,电器设置集中的地方应该至少安装两个5孔插座,如:电视机摆放位置。如果要使用空调或其它大功率电器,一定要使用带开关的16a插座。地面插座可分为开启式、跳起式、螺旋式等类型。 功能插座
功能插座在家庭使用时一般也是安装于墙壁上的。功能插座根据连接的不同的家用设备可以分音响、电话、电视以及网络插座。这些插座在选择时因为其后端有接插模块,为保证长期使用最好要选择专业的电气插座生产厂家的产品。
第四章 供配电系统设计
4.1 负荷分级
本工程中:一级负荷:事故照明等消防负荷 三级负荷:其它电力负荷及住宅照明
4.2 负荷计算
按需用系数法确定计算负荷
1、在方案设计阶段可采用单位指标法;在初步设计及施工图设计阶段,宜采用需要系数法。
2、用电设备台数较多,各台设备容量相差不悬殊时,宜采用需要系数法,一般用于干线配电所的负荷计算。酒店宜采用需要系数法。
44位用户关注
55位用户关注
76位用户关注
73位用户关注
74位用户关注
64位用户关注
66位用户关注
93位用户关注
97位用户关注
23位用户关注