
计算机导论大一论文 1000字谢谢
《计算机导论》课程小论文题目:对计算机专业的认识及学业规划 院、 系:计算机与信息学院、计算机系 专业班级:姓名:学号:指导教师:起止日期:计算机与信息学院2010年9月目 录1引言12 职业目标13大学学习规划23.1大学学习目的23.2准备选择的专业模块23.3学习规划24 小结2[参考文献]3课程考核评价表41 引言计算机科学与技术专业是伴随着计算机技术的诞生与发展而确立的新型专业,最早成立于清华大学和哈尔滨工业大学,半个世纪已来,该专业已经成为全国最大的、最有发展前景的工科专业之一。
本人能为这个专业的一员,非常荣幸。
通过计算机导论课程教学、上网查阅文献、及小组合作讨论,使我对该专业有了较为深刻的了解:现在的大学计算机设有计算机科学与技术、软件工程、网络工程三大专业。
其专业的主要课程有C语言程序设计、编译原理、操作系统、电工与电子技术、计算机网络、计算机系统结构、计算机组成原理、接口与通讯、离散数学、数据结构、数据库原理、数字逻辑、线性代数、专业导论、专业英语等;专业选修课有:概率论与数理统计、汇编语言、计算方法、人工技能、软件工程、信息检索与利用、JAVA语言、多媒体技术、分布式与并行处理、计算机控制系统、计算机图形学、面向对象技术、模糊逻辑与运用、嵌入式系统、数据挖掘、数字图像
怎么学好高级语言程序设计啊
学习C语言始终要记住“曙光在前头”和“千金难买回头看”,“千金难买回头看”是学习知识的重要方法,就是说,学习后面的知识,不要忘了回头弄清遗留下的问题和加深理解前面的知识,这是我们学生最不易做到的,然而却又是最重要的。
比如:在C语言中最典型的是关于结构化程序设计构思,不管是那种教材,一开始就强调这种方法,这时也许你不能充分体会,但是学到函数时,再回头来仔细体会,温故知新,理解它就没有那么难了。
学习C语言就是要经过几个反复,才能前后贯穿,积累应该掌握的C知识。
那么,我们如何学好《C程序设计》呢
一.学好C语言的运算符和运算顺序 这是学好《C程序设计》的基础,C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。
在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。
当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。
在学习中,只要我们对此合理进行分类,找出它们与我们在数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后更会牢记心中,将来用起来得心应手,而有些可暂时放弃不记,等用到时再记不迟。
先要明确运算符按优先级不同分类,《C程序设计》运算符可分为15种优先级,从高到低,优先级为1 ~ 15,除第2、3级和第14级为从右至左结合外,其它都是从左至右结合,它决定同级运算符的运算顺序。
下面我们通过几个例子来说明: (1) 5*8\\\/4%10 这个表达式中出现3种运算符,是同级运算符,运算顺序按从左至右结合,因此先计算5 *8=40,然后被4除,结果为10,最后是%(求余数)运算,所以表达式的最终结果为10%10 = 0; (2)a = 3;b = 5;c =++ a* b ;d =a + +* b; 对于c=++a*b来说,按表中所列顺序,+ +先执行,*后执行,所以+ + a执行后,a的值为4,由于+ +为前置运算,所以a的值4参与运算,C的值计算式为4*5=20而不是3*5=15了;而对于d=a++*b来说,由于a + +为后置运算,所以a值为4参与运算,使得d的值仍为20,而a参与运算后其值加1,值为5。
这个例子执行后,a的值为5,b的值为5,c的值为20,d的值也是20; (3)(a = 3,b = 5,b+ = a,c = b* 5) 例子中的“,”是逗号结合运算,上式称为逗号表达式,自左向右结合,最后一个表达式的结果值就是逗号表达式的结果,所以上面的逗号表达式结果为40,a的值为3,b的值为8,c的值为40。
(4)a=5;b=6;c=a>b?a:b; 例中的a>b?a:b是一个三目运算,它的功能是先做关系运算a>b部分,若结果为真,则取问号后a的值,否则取冒号后b的值,因此c的值应该为6,这个运算可以用来代替if…else…语句的简单应用。
二.学好C语言的四种程序结构 (1)顺序结构 顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。
例如;a = 3,b = 5,现交换a,b的值,这个问题就好象交换两个杯子水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为: c = a; a = b; b = c; 执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b = c; 则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。
顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三步曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径 r,计算s = 3.14159*r*r,输出圆的面积s。
不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等。
(2) 分支结构 顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。
对于要先做判断再选择的问题就要使用分支结构。
分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。
分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的分支语句。
分支结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。
程序流程图是根据解题分析所绘制的程序执行流程图。
学习分支结构不要被分支嵌套所迷惑,只要正确绘制出流程图,弄清各分支所要执行的功能,嵌套结构也就不难了。
嵌套只不过是分支中又包括分支语句而已,不是新知识,只要对双分支的理解清楚,分支嵌套是不难的。
下面我介绍几种基本的分支结构。
求一篇计算机导论学后感,1500字左右
这一门科学深深的吸引着我们这些同学们,原先不管是国内还是国外都喜欢把这个系分为计算机软件理论、计算机系统、计算机技术与应用。
后来又合到一起,变成了现在的。
我一直认为这门专业,在本科阶段是不可能切分成计算机科学和计算机技术的,因为计算机科学需要相当多的实践,而实践需要技术;每一个人(包括非),掌握简单的计算机技术都很容易(包括原先Major们自以为得意的程序设计),但的优势是:我们掌握许多其他专业并不深究的东西,例如,算法,体系结构,等等。
非的人可以很容易地做一个芯片,写一段程序,但他们做不出计算机专业能够做出来的大型系统。
今天我想专门谈一谈计算机科学,并将重点放在计算理论上。
1)计算机语言 随着20世纪40年代第一台存储程序式通用电子计算机的研制成功,进入20世纪50年代后,计算机的发展步入了实用化的阶段。
然而,在最初的应用中,人们普遍感到使用机器指令编制程序不仅效率低下,而且十分别扭,也不利于交流和软件维护,复杂程序查找错误尤其困难,因此,软件开发急需一种高级的类似于自然语言那样的。
1952年,第一个Short Code出现。
两年后,Fortran问世。
作为一种面向科学计算的高级,Fortran的最大功绩在于牢固地树立了高级语言的地位,并使之成为世界通用的程序设计语言。
Algol60的诞生是计算机语言的研究成为一门科学的标志。
该语言的文本中提出了一整套的新概念,如变量的类型说明和作用域规则、过程的递归性及参数传递机制等。
而且,它是第一个用严格的语法规则——巴科斯范式(BNF)定义语言文法的高级语言。
程序设计语言的研究与发展在产生了一批成功的高级语言之后,其进一步的发展开始受到程序设计思想、方法和技术的影响,也开始受到程序理论、软件工程、人工智能等许多方面特别是实用化方面的影响。
在“软件危机”的争论日渐平息的同时,一些设计准则开始为大多数人所接受,并在后续出现的各种高级语言中得到体现。
例如,用于支持结构化程序设计的,适合于军队各方面应用的大型通用程序设计语言ADA,支持并发程序设计的MODULA-2,支持逻辑程序设计的PROLOG语言,支持人工智能程序设计的,支持面积对象程序变换的SMALLTALK、C等。
而且,伴随着这些语言的出现和发展,产生了一大批为解决语言的编译和应用中所出现的问题而发展的理论、方法和技术。
有大量的学术论文可以证明,由高级语言的发展派生的各种思想、方法、理论和技术触及到了计算机科学的大多数学科方向,但内容上仍相对集中在语言、计算模型和软件开发方法学方面。
(2)计算机模型与软件开发方法 20世纪80年代是、分布式处理和多媒体大发展的时期。
在各种高级程序设计语言中增加并发机构以支持分布式程序设计,在语言中通过扩展绘图子程序以支持程序设计成为当时程序设计语言的一种时尚。
之后,在模数\\\/数模转换等接口技术和数据库技术的支持下,通过扩展高级语言的程序库又实现了多媒体程序设计的构想。
进入20世纪90年代之后,并行计算机和分布式大规模异质的发展又将并行程序设计语言、并行编译程序、并行、并行与等试行软件的开发的关键技术依然与高级语言和计算模型密切相关,如各种并行、并发程序设计语言,进程代数,PETRI网等,它们正是软件开发方法和技术的研究中支持不同阶段软件开发的程序设计语言和支持这些软件开发方法和技术的理论基础——计算模型。
(3)计算机应用 用计算机来代替人进行计算,就得首先研究计算方法和相应的计算机算法,进而编制计算机程序。
由于早期计算机的应用主要集中在科学计算领域,因此,就成为最早的应用数学分支与计算机应用建立了联系。
最初的时候,由于计算机的存储器容量很小,速度也不快,为了计算一些稍稍大一点的题目,人们常常要挖空心思研究怎样节省存储单元,怎样减少不需要的操作。
为此,发展了像稀疏矩阵计算理论来进行方程组的求解;发展了杂凑函数来动态地存储、访问数据;发展了虚拟程序设计思想和程序覆盖技术在内存较小的计算机上运行较大的程序;在子程序和程序包的概念提出之后,许多人开始将数学中的一些通用计算公式和计算方法写成子程序,并进一步开发成程序包,通过简洁的调用命令向用户开放。
子程序的提出是今日软件重用思想的开端。
在计算机应用领域,科学计算是一个长久不衰的方向。
该方向主要依赖于应用数学中的数值计算的发展,而数值计算的发展也受到来自计算机系统结构的影响。
早期,科学计算主要在单机上进行,经历了从小规模数值分析到中大规模数值分析的阶段。
随着并行计算机和分布式并行计算机的出现,并行数值计算开始成为科学计算的热点,处理的问题也从中大规模数值分析进入到中大规模复杂问题的计算。
所谓中大规模复杂问题并不是由于数据的增大而使计算变得困难,使问题变得复杂,而主要是由于计算中考虑的因素太多,特别是一些因素具有不确定性而使计算变得困难,使问题变得复杂,其结果往往是在算法的研究中精度与复杂性的矛盾难于克服。
几何是数学的一个分支,它实现了人类思维方式中的数形结合。
在计算机发明之后,人们自然很容易联想到了用计算机来处理图形的问题,由此产生了计算机图形学。
计算机图形学是使用计算机辅助产生图形并对图形进行处理的科学。
并由此推动了计算机辅助设计(CAD)、计算机辅助教学(CAI)、计算机辅助信息处理、计算机辅助测试(CAT)等方向的发展。
在各种实际应用系统的开发中,有一个重要的方向值得注意,即实时系统的开发。
利用计算机证明数学定理被认为是人工智能的一个方向。
人工智能的另一个方向是研究一种不依赖于任何领域的通用解题程序或通用解题系统,称为GPS。
特别值得一提的是在专家系统的开发中发展了一批新的技术,如知识表示方法、不精确性推理技术等,积累了经验,加深了对人工智能的认识。
20世纪70年代末期,一部分学者认识到了人工智能过去研究工作基础的薄弱,开始转而重视人工智能的逻辑基础研究,试图从总结和研究人类推理思维的一般规律出发去研究机器思维,并于1980年在《Artificial Intelligence》发表了一组非单调逻辑的研究论文。
他们的工作立即得到一大批计算机科学家的响应,非单调逻辑的研究很快热火朝天地开展起来,人工智能的逻辑基础成为人工智能方向发展的主流。
数据库技术、多媒体技术、图形学技术等的发展产生了两个新方向,即计算可视化技术与虚拟现实技术。
随着计算机网络的发展,分布在全世界的各种计算机正在以惊人的速度相互连接起来。
网络上每天都在进行着大量政治、经济、军事、外交、商贸、科学研究与艺术信息的交换与交流。
网络上大量信息的频繁交换,虽然缩短了地域之间的距离,然而同时也使各种上网的信息资源处在一种很难设防的状态之中。
于是,计算机信息安全受到各国政府的高度重视。
除了下大力气研究对付计算机病毒的软硬件技术外,由于各种工作中保密的需要,计算机密码学的研究更多地受到各国政府的重视。
实际上,在计算机科学中计算机模型和计算机理论与实现技术同样重要。
但现在许多学生往往只注重某些计算机操作技术,而忽略了基础理论的学习,并因为自己是“操作高手”而沾沾自喜,这不仅限制了自己将研究工作不断推向深入,而且有可能使自己在学科发展中处于被动地位。
例如,在20世纪50年代和20世纪60年代,我国随着计算机研制工作和软件开发工作的发展,陆续培养了在计算机制造和维护中对计算机某一方面设备十分精通的专家,他们能准确地弄清楚磁芯存储器、磁鼓、运算器、控制器,以及整机线路中哪一部分有问题并进行修理和故障排除,能够编制出使用最少存储单元而运算速度很快的程序,对机器代码相当熟悉。
但是,当容量小的磁芯存储器、磁鼓、速度慢的运算器械、控制器很快被集成电路替代时,当程序设计和软件开发广泛使用高级语言、软件开发工具和新型软件开发方法后,这批技术精湛的专家,除少量具有坚实的数学基础、在工作中已有针对性地将研究工作转向其他方向的人之外,相当一部分专家伴随着新技术的出现,在替代原有技术的发展过程中而被淘汰。
因此,在计算机科学中,计算比实现计算的技术更重要。
只有打下坚实的理论基础,特别是数学基础,学习计算机科学技术才能事半功倍,只有建立在高起点理论基础之上的计算机科学技术,才有巨大的潜力和发展前景。
计算机理论的一个核心问题我国计算机科学系里的传统是培养做学术研究,尤其是理论研究的人(方向不见得有多大的问题,但是做得不是那么尽如人意)。
而计算机的理论研究,说到底了,如网络安全学,图形图像学,视频音频处理,哪个方向都与数学有着很大的关系,虽然也许是正统数学家眼里非主流的数学。
这里我还想阐明我的一个观点:我们都知道,数学是从实际生活当中抽象出来的理论,人们之所以要将实际抽象成理论,目的就在于想用抽象出来的理论去更好的指导实践,有些数学研究工作者喜欢用一些现存的理论知识去推导若干条推论,殊不知其一:问题考虑不全很可能是个错误的推论,其二:他的推论在现实生活中找不到原型,不能指导实践。
严格的说,我并不是一个理想主义者,政治课上学的理论联系实际一直是指导我学习科学文化知识的航标(至少我认为搞计算机科学与技术的应当本着这个方向)。
我个人的浅见是:计算机系的学生,对数学的要求固然跟数学系不同,跟物理类差别则更大。
通常非数学专业的所?高等数学,无非是把数学分析中较困难的理论部分删去,强调套用公式计算而已。
而对计算机系来说,数学分析里用处最大的恰恰是被删去的理论部分。
记上一堆曲面积分的公式,难道就能算懂了数学
那倒不如现用现查,何必费事记呢
再不然直接用Mathematica或是Matlab好了。
退一万步。
华罗庚在数学上的造诣不用我去多说,但是他这光辉的一生做得我认为对我们来说,最重要的几件事情:首先是它筹建了中国科学院计算技术研究所,这是我们国家计算机科学的摇篮。
在有就是他把很多的高等数学理论都交给了做工业生产的技术人员,推动了中国工业的进步。
第三件就是他一生写过很多书,但是对高校师生价值更大的就是他在病期间在病床上和他的爱徒王元写了《高等数学引论》(王元与其说是他的爱徒不如说是他的同事,是中科院数学所的老一辈研究员,对歌德巴赫猜想的贡献全世界仅次于陈景润)这书在我们的图书馆里居然找得到,说实话,当时那个书上已经长了虫子,别人走到那里都会闪开,但我却格外感兴趣,上下两册看了个遍,我的最大收获并不在于理论的阐述,而是在于他的理论完全的实例化,在生活中去找模型。
这也是我为什么比较喜欢具体数学的原因,正如我在上文中提到的,理论脱离了实践就失去了它存在的意义。
正因为理论是从实践当中抽象出来的,所以理论的研究才能够更好的指导实践,不用于指导实践的理论可以说是毫无价值的。
正如上面所论述的,计算机系的学生学习高等数学:知其然更要知其所以然。
你学习的目的应该是:将抽象的理论再应用于实践,不但要掌握题目的解题方法,更要掌握解题思想,对于定理的学习:不是简单的应用,而是掌握证明过程即掌握定理的由来,训练自己的推理能力。
只有这样才达到了学习这门科学的目的,同时也缩小了我们与数学系的同学之间思维上的差距。
关于计算机技术的学习我想是这样的:学校开设的任何一门科学都有其滞后性,不要总认为自己掌握的某门技术就已经是天下无敌手了,虽然现在Java,VB,C,C++用的都很多,怎能保证没有被淘汰的一天,我想.NET平台的诞生和X#语言的初见端倪完全可以说明问题。
换言之,在我们掌握一门新技术的同时就又有更新的技术产生,身为当代的大学生应当有紧跟科学发展的素质。
举个例子,就像有些同学总说,我做网页设计就喜欢直接写html,不愿意用什么Frontpage,Dreamweaver。
能用语言写网页固然很好,但有高效的手段你为什么不使呢
仅仅是为了显示自己的水平高,unique? 我看真正水平高的是能够以最快的速度接受新事物的人。
高级程序设计语言的发展日新月异,今后的程序设计就像人们在说话一样,我想大家从xml中应是有所体会了。
难道我们真就写个什么都要用汇编,以显示自己的水平高,真是这样倒不如直接用机器语言写算了。
反过来说,想要以最快的速度接受并利用新技术关键还是在于你对计算机科学地把握程度。
总的来说,从教育角度来讲,国内高校的课程安排不是很合理,强调理论,又不愿意在理论上深入教育,无力接受新技术,想避开新技术又无法避得一干二净。
我觉得关键问题就是国内的高校难于突破现状,条条框框限制着怎么求发展。
我们虽然认识得到国外教育的优越性,但为什么迟迟不能采取行动
哪怕是去粗取精的取那么一点点。
单片机学到什么样子才算是高手了
课程设计需要自己做,需要资料可以找指导老师解决,这里给你一篇相关毕业设计范文(仅供参考):篮球比赛计时器的设计与实现摘要 本文主要介绍:篮球比赛计时器。
本文首先介绍单片机的相关知识,对单片机进行相应的研究,并将其与74HC595串行显示电路配合使用。
本电路主要核心是AT89S51,利用软件和硬件的结合实现开机自动置节计数器为第一节,节计时器为12分00秒,24秒违例为24秒。
用数字显示篮球比赛当时节数,每节时间及24秒的倒计时,采用单片机串行显示。
最后,本文会详细叙述此电路的安装与调试,并对调试过程中出现的问题做简要说明。
关键词 AT89S52单片机;74HC595;XXX 课题背景在电子技术飞速发展的今天,电子产品的人性化和智能化已经非常成熟,其发展前景仍然不可估量。
如今的人们需求的是一种能给自己带来方便的电子产品,当然最好是人性化和智能化的,如何能做到智能化呢
单片机的引入就是一个很好的例子。
单片机又称单片微型计算机,也称为微控制器,是微型计算机的一个重要分支,单片机是20世纪70年代中期发展起来的一种大规模集成电路芯片,是集CPU,RAM,ROM,I\\\/O接口和中断系统于同一硅片上的器件。
单片机的诞生标志着计算机正式形成了通过计算机系统和嵌入式计算机系统两个分支。
目前单片机已渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
在我们身边,由单片机作为主控制器的全自动洗衣机、高档电风扇、电子厨具、变频空调、遥控彩电、录像机、VCD\\\/DVD机、组合音响、电子琴等。
单片机已在广阔的计算机应用领域中表现得淋漓尽致,出尽了风头。
从家用消费类电器到复印机、打印机、扫描仪、传真机等办公自动化产品;从智能仪表、工业测控装置到CT、MRI、γ刀等医疗设备;从数码相机、摄录一体机到航天技术、导航设备、现代军事装备;从形形色色的电子货币如电话卡、水电气卡到身份识别卡、门禁控制卡、档案管理卡及相关读\\\/写卡机等等都有单片机在里面扮演重要角色。
因此,单片机已成为电子类工作者必须掌握的专业技术之一。
单片机就是一个微型中央处理器,通过编程即能完成很多智能化的工作 ,因此它的出现给电子技术智能化和微型化起到了很大的推动作用。
随着人们生活水平的提高,社会经济的发展,人们开始考虑精神生活的享受,并开始注重身体素质的提高。
开始举办一些小型的篮球比赛。
这就需要裁判有一个公正的判罚,以保证比赛的顺利进行。
这就需要有一个专门计时的工具。
所以我就设计了一个篮球比赛计时器。
设计简单,耗费少,容易制作。
可用于街头篮球比赛和校园篮球比赛。
花很少的钱就可以得到一个实用的篮球比赛计时器。
本次设计注重对单片机工作原理以及键盘控制及显示原理的理解,以便今后自己在单片机领域的学习和开发打下基础,提高自己的动手能力和设计能力,培养创新能力,丰富自己的理论知识,做到理论和实践相结合。
本次设计的重要意义还在于对单片机的内部结构和工作状态做更进一步的了解,同时还对单片机的接口技术,中断技术,存储方式和控制方式作更深层次的了解。
此次设计更进一步了解基本电路的设计流程,提高自己的设计理念,丰富自己的理论知识,巩固所学知识,使自己的动手动脑能力有更进一步提高,为自己今后的学习和工作打好基础,为自己的专业技能打好基础。
设计简介 篮球比赛中除了有总时间倒计时外,为了加快比赛的节奏,新的规则还要求进攻方在24秒内有一次投篮动作,否则视为违例。
根据要求,以AT89S52单片机为核心,设计篮球比赛计时控制器。
篮球比赛上下半场四节制,每节12分钟,要求能随时暂停,启动后继续计时,一节比赛结束后可清零。
按篮球比赛规则,进攻方有24秒为例计时。
分秒显示用LED数码管。
用开关控制计时器的启动\\\/暂停。
该篮球比赛计时器的设计,可对比赛总时间和各方每次控球时间计时。
该计时器采用按键操作、LED显示,非常实用。
此计时器在程序参数稍加修改后也可作为其他球类比赛的计时器。
主控芯片为AT89S52,采用12MHz晶振,P0.0-P0.7作键盘输入。
A1为12分钟暂停键;A2为启动12分钟计时键,,24秒计时开始;A3为24S复位开启键(投篮或交换控球时按下此键); A4为24秒计时停止键(没有违例);A5为总计时和24秒计时同时启动键;A6为总计时和24S计时同时停止键。
电路采用静态显示,一起点亮各位数码管,同时显示不同的字符。
点亮各位数码管锁存输出。
显示器的第一位显示计时节数,3至6位显示计时的分,最后2位显示24秒。
用T0定时器中断进行24秒处理,12分钟计时用T1定时器中断计时。
同时电路通过键盘扫描,根据键值转相应键处理。
系统电路的设计方案系统设计方案的提出 本设计是基于89S52单片机的键盘控制及显示电路设计,从系统的设计功能上看,系统可分为两大部分,即键盘输入控制部分和显示部分,对于每一个部分都有不同的设计方案,起初我拟订了下面两种方案: 第一种方案: 键盘控制采用矩阵扫描键盘,可以用普通按键构成4×4矩阵键盘,直接接到89S52单片机的P0口,高四位作为行,低四位作为列,通过软件完成键盘的扫描和定位。
显示部分采用动态显示,采用移位寄存器74LS164和译码器74LS138通过显示驱动程序驱动七段数码管显示。
此方案成本低,所用到的两个外围芯片价格都很低廉,而且单片机的I\\\/O口占用较少,可以节约单片机接口资源。
第二种方案: 键盘控制采用独立是式键盘,每个按键的接零端均接地,每个按键的测试端各接一条输入线,通过检测输入线的电平状态就可以很容易地判断哪个键被按下了,这种方法操作速度高而且软件结构很简单。
这种方法比较适合按键较少或操作速度较高的场合。
显示部分采用静态显示方法,所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的接口用于笔划段字形代码。
这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小。
方案的确定 本设计要求按键较多,且本次设计只是对所学知识的一次实践,设计要求简单,容易实现,成本低。
比较以上两中设计方案,第二种成本低,占用单片机资源少,且容易实现,这样的设计比较适合本次设计,故选用第二种设计方案。
电路设计原理及芯片介绍 键盘控制及显示电路设计的原理及要求电路的设计原理与功能要求 本设计采用AT89S52单片机芯片作为中央处理芯片,采用AT89S52的P0口构成独立8键键盘,采用AT89S52串行口静态显示,选用74HC595作为LED驱动芯片。
本电路设计有以下功能及要求: (1)篮球比赛计时器全场时间为48分钟,共四节,每节12分钟和24秒违例。
要求开机自动置节计数器为第一节,节计时器为12分00秒,24秒违例为24秒。
(2)用数字显示篮球比赛当时节数,每节时间及24秒的倒计时,采用单片机串行显示。
(3)能随时用按纽开关控制比赛的启动\\\/暂停,启动后开始比赛,暂停期间不计时,重新启动后继续计时。
电路的总设计框图 根据设计任务与要求,可初步将系统分为五大功能模块:主电路、开关启\\\/停控制电路、显示电路、音响电路和+5V稳压电源。
进一步细说,主电路选用89S52作为中央处理器;开关启\\\/停控制电路由八个按键组成;显示电路由八位七段数码管和74HC595组成;音响电路用ULN2003驱动蜂鸣器;+5V稳压电路采用7805稳压块把电源电压稳定在+5V。
目 录摘要 IABSTRACT II第1章 绪论 11.1 课题背景 11.2 设计简介 2第2章 系统电路的设计方案 32.1 系统设计方案的提出 32.2 方案的确定 32.3 本章小结 3第3 章 电路设计原理及芯片介绍 43.1 键盘控制及显示电路设计的原理及要求 43.1.1 电路的设计原理与功能要求 43.1.2 电路的总设计框图 43.2 总电路选用芯片简介 43.2.1 控制芯片AT89S52 43.3 LED显示原理介绍 113.4 键盘控制原理介绍 143.4.1 键盘的工作原理 143.4.2 独立式键盘 173.5 本章小结 20第4章 键盘控制及显示硬件电路实现 214.1 LED显示电路设计 214.2 独立按键键盘的电路设计 224.3 硬件的焊接 234.3.1 硬件的焊接 234.3.2 电路板的检查和故障排除 244.4 本章小结 24第5 章 键盘控制及显示电路软件设计 265.1 软件设计的基本工具 265.1.1 汇编语言的简介 265.1.2 汇编语言的指令系统与程序 265.1.3 keilC51开发软件简介 285.2 独立式键盘软件设计 285.2.1 软件设计流程图 295.3 键盘控制及显示电路设计软件实现总流程图 295.3.1 总流程图 295.4 本章小结 30结 论 31致 谢 32参考文献 33附录1 外文资料 34附录2 电路原理图 37附录3 汇编源程序 38附录4 元件清单 45
单片机定时器中断实验 程序(汇编语言)不要c语言的
下列程序,已经经过实验,可以满足题目要求. ORG 0000H SJMP MAIN ORG 000BH SJMP T0_INTMAIN: MOV TMOD, #01H ;T0定时方式1 MOV TH0, #(65536-50000) \\\/ 256 ;定时50ms@12MHz MOV TL0, #(65536-50000) MOD 256 ; SETB TR0 ;启动T0 MOV IE, #82H ;开中断;第一秒钟L0,L2亮,第二秒钟L1,L3亮,第三秒L4,L6亮,第四秒钟L5,L7亮,;第五秒L0,L2,L4,L6亮,第六秒钟,L1,L3,L5,L7亮,第七秒钟八个二极管全亮,第八秒钟全灭. MOV 30H, #11111010B MOV 31H, #11110101B MOV 32H, #10101111B MOV 33H, #01011111B MOV 34H, #10101010B MOV 35H, #01010101B MOV 36H, #00000000B MOV 37H, #11111111B MOV R0, #30H MOV R7, #20M_LOOP: SJMP M_LOOP ;无限循环T0_INT: MOV TL0, #(65536-50000) MOD 256 ; MOV TH0, #(65536-50000) \\\/ 256 ;定时50ms@12MHz DJNZ R7, T0_END MOV R7, #20 MOV P1, @R0 INC R0 CJNE R0, #38H, T0_END MOV R0, #30HT0_END: RETIEND ;完



