
程序设计总结
通过本次课程设计,对这门课程更深入的理解。
是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。
一个人的力量是有限的,要想把课程设计做的更好,就要学会参考一定的资料,吸取别人的经验,让自己和别人的思想有机的结合起来,得出属于你自己的灵感。
程序的编写需要有耐心,有些事情看起来很复杂,但问题需要一点一点去解决,分析问题,把问题一个一个划分,划分成小块以后就逐个去解决。
再总体解决大的问题。
这样做起来不仅有条理也使问题得到了轻松的解决。
在这个过程中,我也曾经因为实践经验的缺乏失落过,也曾经仿真成功而热情高涨。
生活就是这样,汗水预示着结果也见证着收获。
劳动是人类生存生活永恒不变的话题。
虽然这只次的极简单的课程制作,可是平心而论,也耗费了我不少的心血,这就让我不得不佩服开发技术的前辈,才意识到老一辈对我们社会的付出,为了人们的生活更美好,他们为我们社会所付出多少心血啊
对我而言,知识上的收获重要,精神上的丰收更加可喜。
让我知道了学无止境的道理。
我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。
挫折是一份财富,经历是一份拥有。
这次课程设计必将成为我人生旅途上一个非常美好的回忆
通过这次的课程设计我对于专业课的学习有了更加深刻的认识,以为现在学的知识用不上就加以怠慢,等到想用的时候却发现自己的学习原来是那么的不扎实。
以后努力学好每门专业课,让自己拥有更多的知识,才能解决更多的问题
学习《软件工程》心得和体会
软程学习心得在期的软件工程课程的学习中,我们学习了十一章容。
第一章软软件工程的概念,这一章主要讲解的是一些概念性和基础性的内容,例如软件的概念、特性,软件危机的主要表现,软件工程的概念以及软件生存期、典型生存期模型等等。
第二章软件工程方法与工具,这一章主要对软件工程方法进行介绍,包括三种方法:传统方法、面向对象方法、形式化方法。
还引出了工具UML。
第三章软件需求获取与结构化分析方法,本章详细介绍了需求获取与需求分析阶段的任务以及结构化分析方法,画分层的数据流图、E-R图以及状态图式本节的重点。
第四章结构化分析方法,这一章重点讲解了使用变换型映射方法和事务型映射方法生成初始的模块结构以及模块结构的改进。
第五章编码,这一章重点讲解了编码的风格及规范,还告诉我们编码规范说带来的好处,并告诫我们将来一点要形成好的编码风格。
第六章软件测试方法,本章讲解了软件测试相关的概念及重要性,软件测试与开发各个阶段的关系;还介绍了白盒测试技术以及黑河测试技术。
第七章统一建模语言UML概述,本章详细介绍了UML的基本模式、事物、关系及建模时用到的各种图进行了介绍。
第八章面向对象分析,这一章主要讲解了面向对象分析的3种模型,包括功能模型、静态模型和动态模型。
第九章软件体系结构与设计模式,本章对软件体系结构的基本概念、典型风格等进行了讲解。
第十章面向对象设计,本章的重点是对面向对象分析时建立的对象模型进行调整和细化。
第十一章软件维护,本章主要介绍软件维护的任务、软件维护活动以及软件维护方法进行了介绍。
要学习软件工程,学会如何系统的思考,以及养成良好的编码习惯,想学好软件工程,就必须知道软件工程的目标、过程和原则: 软件工程目标:生产具有正确性、可用性以及开销合宜的产品。
正确性指软件产品达到预期功能的程度。
可用性指软件基本结构、实现及文档为用户可用的程度。
开销合宜是指软件开发、运行的整个开销满足用户要求的程度。
这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。
软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。
软件工程过程主要包括开发过程、运作过程、维护过程。
它们覆盖了需求、设计、实现、确认以及维护等活动。
需求活动包括问题分析和需求分析。
问题分析获取需求定义,又称软件需求规约。
需求分析生成功能规约。
设计活动一般包括概要设计和详细设计。
概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。
详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。
实现活动把设计结果转换为可执行的程序代码。
确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。
维护活动包括使用过程中的扩充、修改与完善。
伴随以上过程,还有管理过程、支持过程、培训过程等。
软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。
我们学习了详细设计的方法,其原则是过程描述是否易于理解、复审和维护,进而过程描述能够自然地转换成代码,并保证详细设计与代码完全一致。
包括程序流程图、N-S图、PAD图、HIPO图程序流程图:程序流程图又称之为程序框图,它是软件开发者最熟悉的一种算法表达工具。
它独立于任何一种程序设计语言,比较直观和清晰地描述过程的控制流程,易于学习掌握。
在流程图中只能使用下述的五种基本控制结构:顺序型;选择型;while型循环;until型循环;多情况型选择。
N-S图:一种符合结构化程序设计原则的图形描述工具,称为盒图,又称为N-S图。
在N-S图中,为了表示五种基本控制结构,规定了五种图形构件。
顺序型;选择型;WHILE重复型;UNTIL重复型;多分支选择型。
PAD图:它是用结构化程序设计思想表现程序逻辑结构的图形工具。
PAD也设置了五种基本控制结构的图示,并允许递归使用。
HIPO图:HIPO图是由一组IPO图加一张HC图组成。
它是美国IBM公司在软件设计中使用的主要表达工具。
HC图既是层次图,用于表示软件的分层结构。
HC图中的每一个模块,均可用一张IPO图来描述。
IPO 图由输入、处理和输出三个框组成,需要时还可以增加一个数据文件框,这种图形的优点,是能够直观地显示输入—处理—输出三者之间的联系。
还有测试方法:按照测试过程是否在实际应用环境中来分,有静态分析与动态测试。
测试方法有分析方法(包括静态分析法与白盒法)与非分析方法(称黑盒法)。
静态分析技术:不执行被测软件,可对需求分析说明书、软件设计说明书、源程序做结构检查、流程分析、符号执行来找出软件错误。
动态测试技术:当把程序作为一个函数,输入的全体称为函数的定义域,输出的全体称为函数的值域,函数则描述了输入的定义域与输出值域的关系。
还学习了其他很多工具、语言、方法等,虽然不是都学得很透彻,但我相信在今后的学习中一定会慢慢的完善的。
软件工程对于初学者来说,知识基础较薄弱,对一些应用操作、概念、工具方法等理解起来较为困难,要能从整体概念上较好地理解和把握、学好软件工程,不是仅仅把几本专业书籍细致地看几遍,然后上机练习几次就可以成功,学习过程中要注意多看多练要注意结合实际,更要多思考,面对错误不要一范就问,要尝试自己去解决。
但是还要注意什么都学,肯定是什么都学不透的,要集中精力打攻坚战,学习软件工程首先要明白自己的学习目标究竟是什么,根据自己的实际工作出发,有针对性的在相应的学习方向上进行提高,制定出详细的学习规划。
还要注意与其他科目的相辅相成,就像我们在学习面向对象分析的时候要结合大一学习的面向对象及其方法学这一专业科目进行研究拓展;在学习语言时,要看看与C语言的联系,多思多想,把从各个科目学到的知识通汇贯通。
在软件工程的学习中,我了解到了软件并非是一些代码这么简单,在开发软件的过程中,编写代码的工作量其实只占不到所有工程量的30%,而后期的管理和维护更是占了60%到80%之多。
一个完整的项目规划须包括,软件的定义,可行性分析报告,项目开发计划,软件需求说明书,概要设计说明书,详细设计说明书,用户操作手册,测试计划,测试分析报告,开发进度报告,项目开发总结报告,软件维护手册,软件问题报告,软件修改报告,等多个文档,每个文档都要上级验收审查,而文档数量众多,要做好这点真的不是很容易,而恰恰写好文档正能保证完成软件工程其中一个目的的关键,既研究如何用最小的开销做出生存期较长的软件,再加上各个阶段都要进行周密的策划、详细的分工部署和人员安排,且各阶段要据具体情况不断的反复才能达成,所以代码只是开发软件这个浩大的工程的一个小小的过程。
而编码的学习中,我更了解到形成自己独特的规范的编码风格是非常重要的事。
因为这影响到了软件后期繁重的维护,大家都要阅读你的程序,如果你写的程序毫无规范可言,那么别人怎么能读懂你的程序
读不懂程序,维护又从何谈起呢
所以,我们在今后的学习中,一定要注意这方面的培养,在写程序的过程中,要逐步的在规范的基础上形成属于自己的风格,即方便自己的修改,也方便日后他人的阅读。
在学习中,我们还要注意比较三种方法的优缺点,例如:传统方法虽然使软件摆脱了混乱和无序,但其在适应需求变化的方面不够灵活,而且传统方法要么面向行为,要么面向数据,缺乏两者的有机结合。
而面向对象方法的程序设计和问题求解更符合人们日常自然的思维习惯,适合大型、复杂及交互性比较强的系统。
形式化方法则是一中基于形式化数学变换的软件开发方法,它可将系统的规格说明转换为可执行的程序。
在今后的学习中要注意多读书、多思考、多练习、多讨论,不断熟悉书本的基础,并以此为基础将其扩散开来,应用于今后的实践。
不断锻炼自己,向一名合格的程序设计师迈进。
对所学软件工程课程各部分内容的目的、作用、主要内容等进行总结,
1、软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
在现代社会中,软件应用于多个方面。
典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。
同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。
这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 。
2、开发流程▪ 需求分析 ▪ 概要设计▪ 详细设计▪ 编码▪ 测试▪ 软件交付▪ 验收▪ 维护3、软件架构(softwarearchitecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。
软件架构是一个系统的草图。
软件架构描述的对象是直接构成系统的抽象组件。
各个组件之间的连接则明确和相对细致地描述组件之间的通讯。
在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。
在面向对象领域中,组件之间的连接通常用接口_(计算机科学)来实现。
软件体系结构是构建计算机软件实践的基础。
与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,一个软件架构师或者系统架构师陈述软件构架以作为满足不同客户需求的实际系统设计方案的基础。
软件构架是一个容易理解的概念,多数工程师(尤其是经验不多的工程师)会从直觉上来认识它,但要给出精确的定义很困难。
特别是,很难明确地区分设计和构架:构架属于设计的一方面,它集中于某些具体的特征。
在“软件构架简介”中,David Garlan 和 Mary Shaw认为软件构架是有关如下问题的设计层次:“在计算的算法和数据结构之外,设计并确定系统整体结构成为了新的问题。
结构问题包括总体组织结构和全局控制结构;通信、同步和数据访问的协议;设计元素的功能分配;物理分布;设计元素的组成;定标与性能;备选设计的选择。
但构架不仅是结构;IEEE Working Groupon Architecture 把其定义为“系统在其环境中的最高层概念”。
构架还包括“符合”系统完整性、经济约束条件、审美需求和样式。
它并不仅注重对内部的考虑,而且还在系统的用户环境和开发环境中对系统进行整体考虑,即同时注重对外部的考虑。
在Rational Unified Process 中,软件系统的构架(在某一给定点)是指系统重要构件的组织或结构,这些重要构件通过接口与不断减小的构件与接口所组成的构件进行交互。
从和目的、主题、材料和结构的联系上来说,软件架构可以和建筑物的架构相比拟。
一个软件架构师需要有广泛的软件理论知识和相应的经验来事实和管理软件产品的高级设计。
软件架构师定义和设计软件的模块化,模块之间的交互,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作、逻辑和流程。
一般而言,软件系统的架构(Architecture)有两个要素:它是一个软件系统从整体到部分的最高层次的划分。
一个系统通常是由元件组成的,而这些元件如何形成、相互之间如何发生作用,则是关于这个系统本身结构的重要信息。
详细地说,就是要包括架构元件(Architecture Component)、联结器(Connector)、任务流(Task-flow)。
所谓架构元素,也就是组成系统的核心砖瓦,而联结器则描述这些元件之间通讯的路径、通讯的机制、通讯的预期结果,任务流则描述系统如何使用这些元件和联结器完成某一项需求。
建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。
建造一个系统之前会有很多的重要决定需要事先作出,而一旦系统开始进行详细设计甚至建造,这些决定就很难更改甚至无法更改。
显然,这样的决定必定是有关系统设计成败的最重要决定,必须经过非常慎重的研究和考察。
4、自己写了
毕业设计总结
毕业设计总结转眼之间,历经整整大三的上半个学期、近半月的毕业设计马上就要结束了,这是我们大学之中最后一个也是最重要的一个设计、一个阶段。
毕业设计是考验我们大学这三年来的所学,它要求我们将大学这三年来所学到的知识能够融会贯通、熟练应用,并要求我们能够理论联系实际,培养我们的综合运用能力以及解决实际问题的能力。
对此我进行了以下总结。
一、总体情况毕业设计是作为我在大学学习阶段的最后一个环节,是对所学基础知识和专业知识的一种综合应用,是一种综合的再学习、再提高的过程,这一过程对我的学习能力和独立工作能力也是一个培养,同时毕业设计的水平也反映了本科教育的综合水平,因此学校十分重视毕业设计这一环节,加强了对毕业设计工作的指导和动员教育。
在学期初进行了毕业设计动员,强调了毕业设计的重要性;学期末,安排了毕业设计答辩中。
这次的毕业设计工作总体来说,时间较长,毕业设计内容也较充实,每个同学都有各自重点深入的部分。
整个毕业设计期间,指导教师从认真填写《毕业设计任务书》着手,严格按照《浙江科技学院本科毕业设计(论文)的实施意见》的有关规定执行,对我们的毕业设计内容及工作量进行讨论并确定,并注重对我们解决实际工程问题的能力、独立查阅文献能力、计算机及软件应用能力等的培养。
指导教师平时加强毕业设计的辅导,还可随时找导师进行答疑,导师为方便与我们联系,把电话号码或Email地址给我们,有什么事就可以及时得到解决
软件工程总体设计包括哪些数据图
系统总体设计即对全局问题的设计,也就是设计系统总的处理方案,又称概要设计。
制造系统工程总体设计包括:市场调研,技术规格书编写,初步设计,详细设计,产品制造等。
软件工程总体设计包括:计算机配置设计、系统模块结构设计
软件设计工程师主要是做什么的
技术总结报告(格式)一,项目概述阐述与项目来源相关的技术背景,现有技术基础和工作基础,包括前期所取得的成果或技术(工艺)情况,相关领域的研究开发情况及与国内外同类技术比较情况.二,应用领域项目的技术总体目标,内容及技术指标(参照合同),项目成果涉及的科技领域及推广应用的范围.术方案及原理项目技术总体方案,技术路线,项目过程管理的方法.四,关键技术的科学性,先进性和创新性项目特色及解决的关键技术及内容,取得的专利(尤其是发明专利和取得的国外专利)及知识产权分析,项目涉及到的技术改造,技术引进及国际合作,项目技术水平与国内外的对比评价.五,项目的规模,功能及系统性能系统运行的硬件和网络支撑环境,应用覆盖面,软件各个子系统的功能模块,各个子系统的性能描述.六,应用情况及分析成果目前的应用,转化情况(包括与用户或企业等的合作状况)及推广应用的范围,条件和前景分析.天津市科技计划项目验收工作总结报告、技术总结报告编写提纲一、项目概述的内容应包括: 项目的基本信息,包括来源及立项依据,承担人,研究目的、用途,主要研究内容,技术方案、方法和技术路线的选择等。
二、项目研究进程与主要工作 项目研究过程中的工作开展情况。
包括工作过程的描述,碰到的题目,采取的措施、方法,取得的结果。
三、合同指标的完成情况 对应合同约定的内容,合同规定的具体研究内容,技术指标、效益指标及工作指标的实际完成情况。
四、项目创新点和
求一份C语言课程设计报告要求包括:系统需求分析,总体设计,详细设计,程序调试分析。
C语言课程设计任务书 一、题目: 学生成绩管理 二、目的与要求 1. 目的: (1)基本掌握面向过程程序设计的基本思路和方法; (2)达到熟练掌握C语言的基本知识和技能; (3)能够利用所学的基本知识和技能,解决简单的程序设计问题 2. 要求 基本要求: 1. 要求利用C语言面向过程的编程思想来完成系统的设计; 2. 突出C语言的函数特征,以多个函数实现每一个子功能; 3. 画出功能模块图; 4. 进行简单界面设计,能够实现友好的交互; 5. 具有清晰的程序流程图和数据结构的详细定义; 6. 熟练掌握C语言对文件的各种操作。
创新要求: 在基本要求达到后,可进行创新设计,如系统用户功能控制,对管理员级和一般级别的用户系统功能操作不同 三、信息描述 输入一个班10个学生的学号和每个学生考试三门功课(数学、英语、计算机基础)的成绩。
编程计算出每个学生的总分和平均分,并按学生成绩优劣排序,最后打印一张按高分到低分名次排序的成绩单。
要求: 1)排序用一个函数实现。
2)打印的成绩单表项包括:序号,学号、数学、英语、计算机、总分、平均分。
3)按实验报告电子模板格式填写实验内容。
四、功能描述 1. 学生基本信息及成绩所选科目成绩的录入。
2. 基本信息的查询(分系、班级;分科目)与修改。
3. 对每系或每班各科成绩进行分析(即求单科平均成绩、及格率和优秀率); 4. 对所开课程的成绩分析(求其平均成绩,最高分和最低分); 5. 对学生考试成绩进行排名(单科按系别或班级进行排名,对每一个班级,同一学期学生总体成绩进行排名,并显示各科成绩信息) 五、解决方案 1. 分析程序的功能要求,划分程序功能模块。
2. 画出系统流程图。
3. 代码的编写。
定义数据结构和各个功能子函数。
4. 程序的功能调试。
5. 完成系统总结报告以及使用说明书 六、进度安排 此次课程设计时间为两周,分四个阶段完成: 1. 分析设计阶段。
指导教师应积极引导学生自主学习和钻研问题,明确设计要求,找出实现方法,按照需求分析、总体设计、详细设计这几个步骤进行。
2. 编码调试阶段:根据设计分析方案编写C代码,然后调试该代码,实现课题要求的功能。
3. 总结报告阶段:总结设计工作,写出课程设计说明书,要求学生写出需求分析、总体设计、详细设计、编码、测试的步骤和内容。
4. 考核阶段。
#include
*\\\/ \\\/*输入这十个学生的相关信息*\\\/ for(int i = 0; i 请输入第1个学生的学号:001 输入第1个学生的数学成绩:1 输入第1个学生的英语成绩:1 输入第1个学生的计算机成绩:1 请输入第2个学生的学号:002 输入第2个学生的数学成绩:2 输入第2个学生的英语成绩:2 输入第2个学生的计算机成绩:2 请输入第3个学生的学号:003 输入第3个学生的数学成绩:3 输入第3个学生的英语成绩:3 输入第3个学生的计算机成绩:3 请输入第4个学生的学号:004 输入第4个学生的数学成绩:4 输入第4个学生的英语成绩:4 输入第4个学生的计算机成绩:4 请输入第5个学生的学号:005 输入第5个学生的数学成绩:5 输入第5个学生的英语成绩:5 输入第5个学生的计算机成绩:5 请输入第6个学生的学号:006 输入第6个学生的数学成绩:6 输入第6个学生的英语成绩:6 输入第6个学生的计算机成绩:6 请输入第7个学生的学号:007 输入第7个学生的数学成绩:7 输入第7个学生的英语成绩:7 输入第7个学生的计算机成绩:7 请输入第8个学生的学号:008 输入第8个学生的数学成绩:8 输入第8个学生的英语成绩:8 输入第8个学生的计算机成绩:8 请输入第9个学生的学号:009 输入第9个学生的数学成绩:9 输入第9个学生的英语成绩:9 输入第9个学生的计算机成绩:9 请输入第10个学生的学号:010 输入第10个学生的数学成绩:10 输入第10个学生的英语成绩:10 输入第10个学生的计算机成绩:10 输出: 序号: 0 学号:010 数学:10.000000 英语:10.000000 计算机:10.000000 平均成绩:10.000000 总分:30.000000 序号: 1 学号:009 数学:9.000000 英语:9.000000 计算机:9.000000 平均成绩:9.000000 总分:27.000000 序号: 2 学号:008 数学:8.000000 英语:8.000000 计算机:8.000000 平均成绩:8.000000 总分:24.000000 序号: 3 学号:007 数学:7.000000 英语:7.000000 计算机:7.000000 平均成绩:7.000000 总分:21.000000 序号: 4 学号:006 数学:6.000000 英语:6.000000 计算机:6.000000 平均成绩:6.000000 总分:18.000000 序号: 5 学号:005 数学:5.000000 英语:5.000000 计算机:5.000000 平均成绩:5.000000 总分:15.000000 序号: 6 学号:004 数学:4.000000 英语:4.000000 计算机:4.000000 平均成绩:4.000000 总分:12.000000 序号: 7 学号:003 数学:3.000000 英语:3.000000 计算机:3.000000 平均成绩:3.000000 总分:9.000000 序号: 8 学号:002 数学:2.000000 英语:2.000000 计算机:2.000000 平均成绩:2.000000 总分:6.000000 序号: 9 学号:001 数学:1.000000 英语:1.000000 计算机:1.000000 平均成绩:1.000000 总分:3.000000 七、撰写课程设计报告或课程设计总结 课程设计报告要求: 总结报告包括需求分析、总体设计、详细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结、参考资料等,不符合以上要求者,则本次设计以不及格记。 C语言常见错误 书写标识符时,忽略了大小写字母的区别 main() { int a=5; printf(%d,A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息。 C认为大写字母和小写字母是两个不同的字符。 习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。 2.忽略了变量的类型,进行了不合法的运算。 main() { float a,b; printf(%d,a%b); } %是求余运算,得到a\\\/b的整余数。 整型变量a和b可以进行求余运算,而实型变量则不允许进行“求余”运算。 3.将字符常量与字符串常量混淆。 char c; c=a; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。 C规定以“\\\\”作字符串结束标志,它是由系统自动加上的,所以字符串“a”实际上包含两个字符:‘a'和‘\\\\',而把它赋给一个字符变量是不行的。 4.忽略了“=”与“==”的区别。 在许多高级语言中,用“=”符号作为关系运算符“等于”。 如在BASIC程序中可以写 if (a=3) then … 但C语言中,“=”是赋值运算符,“==”是关系运算符。 如: if (a==3) a=b; 前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。 由于习惯问题,初学者往往会犯这样的错误。 5.忘记加分号。 分号是C语句中不可缺少的一部分,语句末尾必须有分号。 a=1 b=2 编译时,编译程序在“a=1”后面没发现分号,就把下一行“b=2”也作为上一行语句的一部分,这就会出现语法错误。 改错时,有时在被指出有错的一行中未发现错误,就需要看一下上一行是否漏掉了分号。 { z=x+y; t=z\\\/100; printf(%f,t); } 对于复合语句来说,最后一个语句中最后的分号不能忽略不写(这是和PASCAL不同的)。 6.多加分号。 对于一个复合语句,如: { z=x+y; t=z\\\/100; printf(%f,t); }; 复合语句的花括号后不应再加分号,否则将会画蛇添足。 又如: if (a%3==0); I++; 本是如果3整除a,则I加1。 但由于if (a%3==0)后多加了分号,则if语句到此结束,程序将执行I++语句,不论3是否整除a,I都将自动加1。 再如: for (I=0;I<5;I++); {scanf(%d,&x); printf(%d,x);} 本意是先后输入5个数,每输入一个数后再将它输出。 由于for()后多加了一个分号,使循环体变为空语句,此时只能输入一个数并输出它。 7.输入变量时忘记加地址运算符“&”。 int a,b; scanf(%d%d,a,b); 这是不合法的。 Scanf函数的作用是:按照a、b在内存的地址将a、b的值存进去。 “&a”指a在内存中的地址。 8.输入数据的方式与要求不符。 ①scanf(%d%d,&a,&b); 输入时,不能用逗号作两个数据间的分隔符,如下面输入不合法: 3,4 输入数据时,在两个数据之间以一个或多个空格间隔,也可用回车键,跳格键tab。 ②scanf(%d,%d,&a,&b); C规定:如果在“格式控制”字符串中除了格式说明以外还有其它字符,则在输入数据时应输入与这些字符相同的字符。 下面输入是合法的: 3,4 此时不用逗号而用空格或其它字符是不对的。 3 4 3:4 又如: scanf(a=%d,b=%d,&a,&b); 输入应如以下形式: a=3,b=4 9.输入字符的格式与要求不一致。 在用“%c”格式输入字符时,“空格字符”和“转义字符”都作为有效字符输入。 scanf(%c%c%c,&c1,&c2,&c3); 如输入a b c 字符“a”送给c1,字符“ ”送给c2,字符“b”送给c3,因为%c只要求读入一个字符,后面不需要用空格作为两个字符的间隔。 10.输入输出的数据类型与所用格式说明符不一致。 例如,a已定义为整型,b定义为实型 a=3;b=4.5; printf(%f%d\\\ ,a,b); 编译时不给出出错信息,但运行结果将与原意不符。 这种错误尤其需要注意。 11.输入数据时,企图规定精度。 scanf(%7.2f,&a); 这样做是不合法的,输入数据时不能规定精度。 12.switch语句中漏写break语句。 例如:根据考试成绩的等级打印出百分制数段。 switch(grade) { case 'A':printf(85~100\\\ ); case 'B':printf(70~84\\\ ); case 'C':printf(60~69\\\ ); case 'D':printf(<60\\\ ); default:printf(error\\\ ); 由于漏写了break语句,case只起标号的作用,而不起判断作用。 因此,当grade值为A时,printf函数在执行完第一个语句后接着执行第二、三、四、五个printf函数语句。 正确写法应在每个分支后再加上“break;”。 例如 case 'A':printf(85~100\\\ );break; 13.忽视了while和do-while语句在细节上的区别。 (1)main() {int a=0,I; scanf(%d,&I); while(I<=10) {a=a+I; I++; } printf(%d,a); } (2)main() {int a=0,I; scanf(%d,&I); do {a=a+I; I++; }while(I<=10); printf(%d,a); } 可以看到,当输入I的值小于或等于10时,二者得到的结果相同。 而当I>10时,二者结果就不同了。 因为while循环是先判断后执行,而do-while循环是先执行后判断。 对于大于10的数while循环一次也不执行循环体,而do-while语句则要执行一次循环体。 14.定义数组时误用变量。 int n; scanf(%d,&n); int a[n]; 数组名后用方括号括起来的是常量表达式,可以包括常量和符号常量。 即C不允许对数组的大小作动态定义。 15.在定义数组时,将定义的“元素个数”误认为是可使的最大下标值。 main() ; printf(%d,a[10]); } C语言规定:定义时用a[10],表示a数组有10个元素。 其下标值由0开始,所以数组元素a[10]是不存在的。 16.初始化数组时,未使用静态存储。 int a[3]=; 这样初始化数组是不对的。 C语言规定只有静态存储(static)数组和外部存储(exterm)数组才能初始化。 应改为: static int a[3]=; 17.在不应加地址运算符&的位置加了地址运算符。 scanf(%s,&str); C语言编译系统对数组名的处理是:数组名代表该数组的起始地址,且scanf函数中的输入项是字符数组名,不必要再加地址符&。 应改为: scanf(%s,str); 18.同时定义了形参和函数中的局部变量。 int max(x,y) int x,y,z; {z=x>y?x:y; return(z); } 形参应该在函数体外定义,而局部变量应该在函数体内定义。 应改为: int max(x,y) int x,y; {int z; z=x>y?x:y; return(z); } C语言心得体会 通过这次实训,增加了我学习软件技术的兴趣,虽然还不明确软件技术包含的具体内容,但从C语言这门课程开始,已发现程序设计的乐趣,在学习C语言的过程中也学到了许多计算机应用基础知识,对计算机的机体也有了一个大体的了解。 这次实训是老师给了范例程序,经过自己的改写,实现要求。 先做简单的输出,一步步的再做其它图案,在实际操作过程中犯的一些错误还会有意外的收获,感觉实训很有意思。 在具体操作中对这学期所学的C语言的理论知识得到巩固,达到实训的基本目的,也发现自己的不足之出,在以后的上机中应更加注意,同时体会到C语言具有的语句简洁,使用灵活,执行效率高等特点。 发现上机实训的重要作用,特别是对数组和循环有了深刻的理解。 通过实际操作,学会 C语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。 深刻体会到“没有做不到的,只有想不到的”,“团结就是力量”,“实践是检验真理的标准”,“不耻下问”……的寓意。 计时在此希望以后应多进行这样的实训,加长设间,培养学生独立思考问题的能力,提高实际操作水平。 八、参考资料 :《C语言程序设计教程》\ \ 发给你了邮箱里 兰州理工大学技术工程学院 课程设计任务书 课程名称: 电子技术课程设计 题 目: 智力竞赛抢答器 专业班级: 学生姓名: 学 号: 指导老师: 审 批: 任务书下达日期 2009年 12 月 28日 星期一 设计完成日期 2010年 1 月 8 日 星期五 设计内容与设计要求 一、设计内容: 1.设计一个可容纳8组代表队参赛的智力抢答器,每组设一个抢答按钮,按钮的编号与选手的编号相对应。 2. 抢答器具有第一信号鉴别及数据锁存功能。 主持人将设备复位(清零)后,发出抢答指令,当第一组参赛者触动按钮时,该组指示灯亮。 此后,其他组别触动按钮无效。 3. 设计一个用数码管显示1~8组中最先抢答组别的电路。 4. 抢答器具有定时30S抢答的功能,当主持人发出抢答指令后开始减计时,并用显示器显示时间。 当抢答时间到,蜂鸣器鸣叫发出报警信号,并封锁输入电路,禁止选手超时抢答。 5.设计一个犯规判别电路,并用指示灯显示。 6.设置记分显示电路,每组预置100分,答对1次加10分,答错1次减10分。 7.功能扩展(自选) 二、设计要求: 1.思路清晰,给出整体设计框图和总电路图; 2.单元电路设计,给出具体设计思路和电路; 3.写出设计报告; 主要设计条件 1. 在实验楼南楼的四楼“综合实验室”和“电子实验室”调试。 2. 提供调试用实验箱和电路所需元件及芯片。 说明书格式 1. 课程设计封面; 2. 任务书; 3. 说明书目录; 4. 设计总体思路,基本原理和框图(总电路图); 5. 单元电路设计(各单元电路图); 6. 安装、调试步骤; 7. 故障分析与电路改进; 8. 总结与体会; 9. 附录(元器件清单); 10. 参考文献; 11.课程设计成绩评分表 目录 1 绪论 6 2 设计方案 7 2.1 设计方案和要求 7 2.2 设计思想和原理 8 2.3 单元电路的设计 8 (1)抢答器部分电路设计 8 (2)定时电路设计 9 (3)报警电路设计 11 (4)计分电路设计 11 2.4 总体设计 12 3 EWB仿真 15 4故障分析与电路改进 15 5部分重要原件引脚图及其功能表 18 6心得体会 20 7附录 22 参考文献 22 1 绪论 智力竞赛是一种生动活泼的教育方式,而抢答就是智力竞赛中非常常见的一种答题方式。 抢答能引起参赛者和观众的极大兴趣,并且能在极短的时间内,使人们迅速增加一些科学知识和生活常识。 但是,在这类比赛中,对于谁先谁后抢答,在何时抢答,如何计算答题时间等等问题,若是仅凭主持人的主观判断,就很容易出现误判。 所以,我们就需要一种具备自动锁存,置位,清零等功能智能抢答器来解决这些问题。 在本次课程设计中,将主要设计一个供八人使用的定时抢答器。 他要实现以下主要功能:(1)为8位参赛选手各提供一个抢答按钮,分别编号S0、S1、S2、S3、S4、S5、S6、S7;(2)主持人可以控制系统的清零与抢答开始;(3)抢答器要有数据锁存与显示的功能。 抢答开始后,若有任何一名选手按动抢答按钮,则要显示其编号至系统被主持人清零,并且扬声器发生提示,同时其他人再按对应按钮无效;(4)抢答器要有自动定时功能,并且一次抢答时间由主持人任意设定。 当主持人启动“开始”键后,定时器自动减计时,并在显示器上显示。 同时扬声器上发出短暂声响;(5)参赛选手只有在设定时间内抢答方为有效抢答。 若抢答有效,则定时器停止工作,并且显示抢答开始时间直到系统被清零;(6)若设定时间内无选手进行抢答(按对应按钮),则系统短暂报警,并且禁止选手超时抢答,定时器上显示00数字抢答器由主体电路与扩展电路组成。 优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出;用控制电路和主持人开关启动报警电路,以上两部分组成主体电路。 通过定时电路和译码电路将秒脉冲产生的信号在显示器上输出实现计时功能,构成扩展电路。 利用本次设计出的电路制造成的定时抢答器,即可轻松实现在8人或8个代表队之间进行的抢答比赛中进行控制,使得这一活动更加趣味、公平。 2 设计方案 2.1 设计方案和要求 1.给定的主要器件:74ls148 74ls138 74ls192 555 发光二极管 显示器 2功能要求:设计一个智力竞赛抢答球,可同时共8个选手参加比赛,并具有定时抢答功能。 具体功能要求如下: 基本功能: (1) 设计一个智力竞赛抢答器,可同时供8名选手或8个代表队参加比赛,他们的选号分别是s0,s1,s2,s3,s4,s5,s6,s7。 (2) 给节目主持人设置一个控制开关,用来控制系统的清零(编号显示数码管灭灯)和抢答器的开始。 (3) 抢答器具有数据锁存和显示功能。 抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在led数码管上显示选手的编号,同时扬声器给出音响提示。 此外,要封锁输入电路,禁止其他选手抢答。 优先抢答选手的编号一直保持到主持人将系统清零为止 (4) 抢答器具有定时30S抢答的功能,当主持人发出抢答指令后开始减计时,并用显示器显示时间。 当抢答时间到,蜂鸣器鸣叫发出报警信号,并封锁输入电路,禁止选手超时抢答。 (5) 设计一个犯规判别电路,并用指示灯显示。 (6) 设置记分显示电路,每组预置100分,答对1次加10分,答错1次减10分。 (7) 功能扩展(自选) 2.2设计思想和原理 多路智力抢答器的组成框 该设计抢答器的电路主要是由抢答电路,触发电路,触发锁存电路,七段显示译码器几部分构成。 工作原理:通电后,主持人将开关拨到“清零状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间:主持人将开关置“开始”状态,宣布“开始”抢答器工作。 定时器倒计时,扬声器给出声响提示。 当定时时间到,却没有选手抢答时,系统报警,并封锁输入电路,禁止选手超时抢答。 选手在定时时间内抢答时,抢答器完成:优先判断,编号锁存,编号显示,扬声器提示。 当一轮抢答之后,定时器停止,禁止二次抢答,定时器显示剩余时间。 如果再次抢答必须由主持人再次操作“清除”和“开始:状态开关 2.3单元电路的设计 (1)抢答器电路的设计 该部分主要完成两个功能:一是分辨选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。 选用优先编码器74ls148和RS锁存器可以完成上述功能,所组成的电路图如下所示。 这个电路的工作原理过程:当主持人控制开关s置于“清零” 端时,RS触发器的R非端均为0,4个触发器输出(Q4--Q1)全部置0,使74ls148的BI的非=0,显示器灯灭:74ls148的选通输入端ST的非=0,使之处于工作状态,此时锁存电路不工作。 当主持人把开关S置于“开始”时,优先编码器和锁存电路同时处于工作状态,即抢答器处于等待工作状态,等待输入端的信号,当有选手将键按下时(比如按下s5),74ls148的输出Y2Y1Y0的非=010,YEX的非=0,经RS锁存后,CTR=1,BI的非=1,经74ls148译码后,显示器显示为“5”。 此外,CRT=1,使74ls148的ST的非为高电平,封锁其他按键的输入。 如果再次抢答需有主持人将S开关重新“清除”,电路复位。 (2)定时电路的设计 节目主持人可根据抢答题的难以程度,来设定某一次抢答的时间,通过 置时间电路对计数器进行预置,计数器的时钟脉冲由秒脉冲电路提供。 可预置时间的电路选用可由两片十进制同步加减计数器74Ls192、译码器7448、气短数码显示管来进行设计。 其中,两块74LS192实现减法计数,通过译码电路74LS48显示到数码管上,其时钟信号由时钟产生电路提供。 74192的预置数控制端实现预置数,由节目主持人根据抢答题的难易程度,设定一次抢答的时间,通过预置时间电路对计数器进行预置,计数器的时钟脉冲由秒脉冲电路提供。 按键弹起后,计数器开始减法计数工作,并将时间显示在共阴极七段数码显示管上,当有人抢答时,停止计数并显示此时的倒计时时间;如果没有人抢答,且倒计时时间到时, 输出低电平到时序控制电路,控制报警电路报警,同时以后选手抢答无效。 74LS192是同步十进制可逆计数器,具备双时钟输入,同时具备清零和置位功能。 其管脚图如图所示: (3)报警电路的设计 这部分电路我们是由555构成多谐振荡器,振荡频率fo=1.43\\\/【(R1+2R)C】,其输出信号经三极管推动扬声器。 PR为控制信号,当PR为谐振荡器工作;而当PR为低电平时,电路停振。 2.4 总体电路设计和电路图 经过以上分析,我们将各部分电路连接,并加以适当控制,即得到了八位定时抢答器的总体电路图。 如图11所示: 其工作原理是: 八位选手编号分别为0、1、2、3、4、5、6、7,对应按钮分别为S0、S1、S2、 S3、S4、S5、S6、S7; 首先主持人根据题目的难易程度设置抢答时间,此设定可以通过调节输入两片74LS192的D、C、B、A四个管脚的高低电平来进行(例如要设定时间为60s,就将十位的192的D、C、B、A分别置位为0、1、1、0,而将各位的192的D、C、B、A都置于0)。 当主持人宣读完题目说“开始”并将开关置于“开始”位置后,输出为高电平,此高电平分为三路:一路输出到集成单稳态触发器74LS121的输入端,使其产生单个周期为0.5S的脉冲,驱动报警电路发出声响,即实现了发声提示的功能;另一路输出到74LS192的LD端,使其处于高电平而开始减 计数;还有一路输出到锁存器的C端; 若没有选手安东按钮,则74LS373输出全为高电平,74LS148也输出高电平,E0端输出低电平至7448的灭灯输入RI\\\/RBO端,使得信号经7448到显示器 上时无显示; 当任意一路(设1)抢答器按下按钮时,八D锁存器74LS373工作,与输入端相对应的输出端(1)输出高电平,则锁存器输出的八位电平经8~3八位优先编码器74LS148编码输出的A0~A2成为与输入信号相对应的三位二进制码,而74LS148的管脚15(E0)的输出电平由低变高,输出到七段译码显示器74LS48的二进制码经其译码后输出到七段共阴数码管上,则显示器上显示对应的编号(1)。 此时,7448的RI\\\/RBO端输出高电平,开关出也输出高电平,二者经过与非门输出低电平,经过与门还是低电平输出到锁存器373的C端,起到所存功能,其他选手若再按动对应按钮也无对应输出,,即实现了抢答功能; 同时,由于74LS148的E0段输出高电平输出到集成单稳态触发器74LS121的输入端,使其产生单个周期为0.5S的脉冲,驱动报警电路发出声响,即实现了发声提示的功能; 同时,74LS148的GS端输出电平由高变低,与秒脉冲发生器产生的秒脉冲相与后输出为0,使得无脉冲抵达计数器192的Down端。 计数器停止工作,保持原来显示不变,即实现了暂停减计数使其记录抢答时间的功能; 当选手回答完问题后,主持人将开关置于“清零”的位置,输出低电平,也是分为三路:一路与74148的E0端(高)与非后变为高电平输出到373的使能端C,使得锁存器不再锁存数据,此时,抢答部分显示器灭灯无显示,实现了清零; 另一路低电平输出到计数器192的LD端,而CR端也是低电平,所以使得对应显示器输出预置的数据; 若在定时部分计数器倒计时到00还无选手按动按钮的话,两片74LS192的借位输出端都输出高电平,二者相与后输出高电平到单稳态触发器74121的B端口,使其产生周期为0.5s的脉冲刺激报警电路发声提示 计分电路图 3 EWB仿真 按照总体电路图在仿真软件EWB上一一选择芯片并进行连接,然后启动开关观察。 当仿真结果和预期一样,则证明仿真成功。 设计的电路是正确的。 4故障分析与电路改进 1. 显示器上不显示数字,我们从后级往前级进行测试,首先用1.5~2V的电压作用各个笔段,看对应各笔段是否亮,判断是否完好。 若完好则继续检测74ls148芯片是否完好。 在74ls148的A、B、C、D四个输入端随意输入一组二进制数码(用高低电平表示1和0,此处注意要用到8V以上的电源电压),看是否能显示数字。 无显示的故障一般问题出在这两个环节。 2. 若显示器上显示的是不符合要求的数字,在设计原理正确的前提下,首先通过测试判断74ls148的输出a~g与LED管的a~g笔段是否连接有错。 其方法是74ls148的输出a~g分别按规律输入高低电平,观察LED管是否显示相应的数字。 如果这个环节正常,则问题在二极管编码电路,再逐一进行检查。 3. 如果不能锁存,或是锁存不了1和7,则问题在锁存电路,应该从原理上进行分析。 锁存电路的设计原理是:启用CD4511的锁存功能端LE,高电平有效,即输入高电平时执行锁存功能。 锁存器应能锁定第一个抢答信号,并拒绝后面抢答信号的干扰。 如何设计呢,我们对0~9十个数字的显示笔段进行分析,只有0数字的d笔段亮与g笔段灭,其它数字至少有一点不成立。 由此可以区分0与其它数字。 我们将LED管的a笔段与g笔段的输入信号反馈到锁存电路,通过锁存电路控制锁存端LE输入为0或1(锁存与否)。 当LED显示器显示为0时,LE=0,CD4511译码芯片不锁存;当LED显示器显示其它数字时, LE=1,芯片锁存。 这样只要显示器上显示为0,74ls148译码芯片才不锁定,显示其它数字均锁存。 所以只要有选手按了按键,显示器上一定是显示1~8的数字,LE=1芯片锁存,之后任何其他选手再按下按键均不起作用。 例如SB1键先按下,显示器上显示1,LE=1芯片锁存,其他选手再按SB2~SB8,显示器上仍显示1,SB1按下之后的任一按键信号均不显示。 直到主持人按清零键SB9,显示器上又显示0,LE=0,锁存功能解除,又开始新一轮的抢答。 若所有的数字都不能锁存,说明不管LED显示什么数字,74ls148管脚的5脚输入为电平,可能是5脚与地短接或者是锁存电路的两个二极管VD13和VD14断开等故障;若只有1和7两个数字不显示则可以分析一下其原因:显示1和7数字时g段不亮,74ls148的g输出端为低电平,VD14截止,而b段亮d段不亮本应该三极管VT截止而使VT13导通,产生高电平(锁存信号)给LE,现在不能锁存说明VD13截止,推断是三极管击穿损坏。 4. 在测试的过程中我们一定要注意,高低电平的测试电压数值要针对不同的电路而选取不同的数值。 比如,针对LED管,高电平只能用1.5~2V,而在CD4511的输入端高电平要用到8V以上的电源电压。 选高了,会烧管子;选低了,会看不到效果,甚至产生误判断。 5. 判断PNP型和MPN型晶体管:用万用表的R×1k(或者R×100)档。 用黑表笔接晶体管的某一个管脚,用红表笔分别接其它两脚。 如果表 针指示的两个阻值都很大,那么黑表笔接晶体管的某一个管脚,用红表笔接其它两脚。 如果表针指示的两个阻值都很大,那么黑表笔所 接的那一个管脚是PNP型的基极,如果表针指示的两个阻值都很小,那么黑表笔所接的那个一个管脚是NPN型的基极;如果表针指示的阻 值一个很大,一个很小,那么黑表笔所接的那一个管脚不是基极。 这就要另换一个管脚来试。 以上方法,不但可以判断基极,而且可以 判断是PNP型还是NPN型晶体管。 判断基极后就可以进一步判断集电极和发射极。 先假定一个管脚是集电极,另一个管脚是发射极。 然后反过来,把原先假定的管脚对调一下,再估测β值,其中,β值大的那次的假定是对的。 这样就把集电极个发射极也判 5部分重要原件引脚图及其功能表 (1)74ls148 管脚图 (2)74ls192 管脚图 功能表 (3)555 管脚图 6 总结与体会 转眼间两周数字电子课程设计转眼就结束了,通过这次课程设计,我学会了许多课本上学不到的东西,同时也加强了我的动手、思考和解决问题的能力,受益匪浅。 通过杨老师的讲课,杨老师从整体上给我们说明了设计的大体思路,每一步该实现怎么样的功能,怎么实现该功能。 而我们的任务是通过这次杨老师的讲课去找资料了解各芯片的功能,并通过芯片实现其功能。 接下来的任务就去找资料,设计电路图,并且仿真。 为了弄懂74LS192芯片的功能,我从图书馆里借来了好几本书,同时也在网上找了资料再到逻辑功能,经过一番努力终于解决啦,还有其它的芯片的功能也要慢慢的去琢磨。 而在课程设计过程中,我觉得是对课本知识的巩固和加强,由于课本上的知识太多,同时平时课间又没有好好的运用额理解个个元件的功能,而且考试的内容有限,所以在这次课程设计过程中,我们了解很多元件的功能,对其在电路中的使用有更多的认识。 从前的学习过程过于浮浅,只是流于表面的理解,而现在要做课程设计,就不得不要求我们对所用到的知识有更深层次的理解。 因为课程设计的内容比及书本中的理论知识而言,更接近于现实生活,而理论到实践的转化往往是一个艰难的过程,它犹如一只拦路虎,横更在我们的面前。 但是我们毫不畏惧,因为我们相信我们能行。 前几天的主要任务是设计和仿真出主体电路。 虽然在设计中会遇到这样那样的问题,有时认为是正确的,而在仿真中却出现了这样那样的问题。 比如说在设计好的主电路图要实现南北各灯泡的状态,电路图我认为是对的,而在仿真的是后去出现了问题,就是出现了一个出状态,其它的都是正确的,经过了反复的检查没什么问题,后来问杨老师,其实没有问题,在实际中就不会出现了这种问题啦,所以有不懂的还是要问老师,那样还节省很多的时间。 电路图接好了,下面就是接线啦,这可是一个比较麻烦的事。 首先要测试个芯片是否有问题,电路板有没有问题,以及导线是不是断了。 这一系列的工作都是细心的事,容不的半点马虎。 在接线的时候要细心和耐心、恒心,这样才能做好事情。 首先是线的布局上既要美观又要实用和走线简单,兼顾到方方面面去考虑是很需要的,否则只是一纸空话。 同时接好了一步电路以后,最为重要的是检查这部分是不是接对了。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。 在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,和与人合作共同提高,都受益非浅,今后的制作应该更轻松,自己也都能扛的起并高质量的完成项目。 两周的课程设计已经结束,我将珍藏这段难忘的时光,是她让我让我知道,任何一种小小的成绩后面,也许就隐藏着许许多多不为人的艰辛。 在此,我要感谢给予我们精心辅导的杨老师,还有其他代理课程设计的老师,也向他们表示衷心的感谢 7 附录.元器件清单 74ls148 1个 74ls138 1个 74ls192 2个 555 2个 JK触发器 2个 面包板 1块 调试箱 1个 参 考 文 献 1.《电子线路设计、实验、测试》(第二版) 华中理工大学出版社-------谢自美 主编 2.《新型集成电路的应用》---------电子技术基础课程设计 华中理工大学出版社 梁宗善 主编 3.《电子技术基础实验》 高等教育出版社-------------陈大钦 主编 4.《电子技术课程设计指导》 高教出版社-------------------彭介华 主编抢答器课程设计实验总结怎么写



