




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、BNC头焊接授课班级: 2014级楼宇中技1班, 2014级物业中技1班主讲教师:李聪玲单片机控制设备安装与调试机器语言1不同进制数的识别及数制间的转换2内容提要 逻辑代数的基本运算34逻辑函数及其表示方式第1部分:机器语言大家知道什么是单片机吗?单片机应用领域红绿灯、机器人、3D打印机.机器人视频:/w_19rrri9bdl.html 第1部分 机器语言 第1部分机器语言怎么让机器(单片机)为人类工作?单片机是怎么工作的?他听得懂人类说话吗?他们有语言吗? 第1部分 机器语言计算机语言(Computer Language)指用于人与计算机之间通讯的语言。为了使电子计算机进行各种工作,就需要有
2、一套用以编写计算机程序的数字、字符和语法规划,由这些字符和语法规则组成计算机各种指令(或各种语句)。这些就是计算机能接受的语言。 第2部分 机器语言发展历程 1、早期 20世纪40年代,计算机刚问世,程序员必须手动控制计算机。当时的计算机十分昂贵,唯一想到利用程序设计语言来解决问题的人是德国工程师楚泽(konradzuse)。 不久后,计算机的价格大幅度下跌,而程序也越来越复杂。随着c,pascal,fortran等结构化高级语言的诞生,使程序员可以离开机器层次,在更抽象的层次上表达意图。 随着程序规模的不断扩大,在60年代末期出现了软件危机出现了面向对象程序设计语言。比如eiffel,c+,
3、java,这些语言都以新的观点去看待问题,即问题就是由各种不同属性的对象以及对象之间的消息传递构。 第2部分 机器语言发展历程2、现状如今通用的编程语言有两种形式:汇编语言和高级语言。实质是相同的,都是直接对硬件操作。 和汇编语言相比,高级语言不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。 高级语言是相对于低级语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如流行的vb、vc、delphi等。 第2部分 机器语言发展历程高级语言
4、所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:解释类和编译类。(1)解释类:执行方式类似于 “同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。(2)编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(*OBJ)才能执行,只
5、有目标文件而没有源代码,修改很不方便。如今大多数的编程语言都是编译型的,例如VisualBasic、VisualC+、VisualFoxpro、Delphi等。 第2部分 机器语言发展历程3、发展趋势简单性:提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。面向对象:提供简单的类机制以及动态的接口模型。对象中封装状态变量以及相应的方法,实现了模块化和信息隐藏;提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。安全性:用于网络、分布环境下有安全机制保证。平台无关性:与平台无关的特性使程序可以方便地被移植到网络
6、上的不同机器、不同平台。 第2部分 机器语言发展历程“计算机语言之父”尼盖德 奥斯陆大学的教授,因为发展了simula编程语言,为msdos和因特网打下了基础而享誉国际。 于1926年在奥斯陆出生,1956年毕业于奥斯陆大学并取得数学硕士学位,此后致力于计算机计算与编程研究。 1961年1967年,在挪威计算机中心工作,参与开发了面向对象的编程语言。 2001年,因为表现出色,尼盖德和同事奥尔约安达尔获得了图灵机奖及其它多个奖项。当时为尼盖德颁奖的计算机协会认为他们的工作为java,c+等编程语言在个人电脑和家庭娱乐装置的广泛应用扫清了道路。尼盖德因其卓越的贡献,而被誉为“计算机语言之父”,其
7、对计算机语言发展趋势的掌握和认识,以及投身于计算机语言事业发展的精神都将激励我们向着计算机语言无比灿烂的明天前进。第3部分 机器语言分类 电脑每做的一次动作,一个步骤,都是按照程序来执行,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。 计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。低级语言:机器语言、汇编语言、符号语言。第3部分 机器语言分类第3部分 机器语言分类机器语言:第一代计算机语言。指一台计算机全部的指令集合。电子计算机所使用的是由“0”和“1”组成的二进制数。二进制是
8、计算机语言的基础。程序就是一个个的二进制文件。一条机器语言成为一条指令。指令是不可分割的最小功能单元。汇编语言:第二代计算机语言。为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用“ADD”代表加法,“MOV”代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言。第3部分 机器语言分类计算机是不认识字母这些符号的,这就需要一个专门的程序负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。优点:依赖于机器硬件,移植性不好,效率高,程序精炼而质
9、量高,用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快,所以至今仍是一种常用而强有力的软件开发工具。缺点:汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识。第3部分 机器语言分类高级语言:高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,包括BASIC(True basic、Qbasic、Virtual Basic)、C、 C+、智能化语言(LISP、Prolog、CLIPS、OpenCyc)、动态
10、语言(Python、PHP、Ruby、Lua)等等。高级语言是绝大多数编程者的选择。编程者也不需要具备太多的专业知识,这些语言的语法、命令格式都各不相同。第3部分 机器语言分类高级语言的发展在C语言诞生以前,系统软件主要是用汇编语言编写的。 由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性的新语言C语言。高级语言的发展也经历了从早期语言到结构化程序设计语言,从面向过程到非过程化程序语言的过程。相应地,软件的开发也由最初的个体手工作坊式的封闭式生产,发展为产业化、流水
11、线式的工业化生产。高级语言的下一个发展目标是面向应用,也就是说:只需要告诉程序你要干什么,程序就能自动生成算法,自动进行处理,这就是非过程化的程序语言。第4部分 常用的机器语言汇编语言汇编是第一个计算机语言。汇编语言实际上是你计算机处理器实际运行的指令的命令形式表示法。这意味着你将与处理器的底层打交道,比如寄存器和堆栈。优点:最小、最快的语言。汇编高手能编写出比任何其他语言能实现的快得多的程序。你将是利用处理器最新功能的第一人,因为你能直接使用它们。缺点:难学、语法晦涩、坚持效率,造成大量额外代码不适于心脏虚弱者。移植性:接近零。因为这门语言是为一种单独的处理器设计的,根本没移植性可言。如果使
12、用了某个特殊处理器的扩展功能,你的代码甚至无法移植到其他同类型的处理器上(比如,AMD的3DNow指令是无法移植到其它奔腾系列的处理器上的)。5 第4部分 常用的机器语言举例:1-100求和start:mov ax,0mov bx,1mov cx,100next:add ax,bxinc bxloop next /循环mov ah,4chint 21hcode endsend start第4部分 常用的机器语言C语言是Dennis Ritchie在七十年代创建的,它功能更强大。C语言被设计成一个比它的前辈更精巧、更简单的版本,它适于编写系统级的程序,比如操作系统。在此之前,操作系统是使用汇编语
13、言编写的,而且不可移植。C语言是第一个使得系统级代码移植成为可能的编程语言。优点:有益于编写小而快的程序。很容易与汇编语言结合。具有很高的标准化,因此其他平台上的各版本非常相似。缺点:不容易支持面向对象技术。语法有时会非常难以理解,并造成滥用。移植性:C语言的核心以及ANSI函数调用都具有移植性,但仅限于流程控制、内存管理和简单的文件处理。其他的东西都跟平台有关。比如说,为Windows和Mac开发可移植的程序,用户界面部分就需要用到与系统相关的函数调用。这一般意味着你必须写两次用户界面代码,不过还好有一些库可以减轻工作量。第4部分 常用的机器语言例1:输出“你好,C语言”#include v
14、oid main()printf(你好,c语言!n);例2:输出9*9口诀。#include stdio.h main() int i,j,result; printf(n); for (i=1;i10;i+) for(j=1;j10;j+) result=i*j; printf(%d*%d=%3d,i,j,result);/*-3d表示左对齐,占3位*/ printf(n);/*每一行后换行*/ 第4部分 常用的机器语言C+是具有面向对象特性的C语言的继承者。面向对象编程,或称OOP是结构化编程的下一步。OO程序由对象组成,其中的对象是数据和函数离散集合。有许多可用的对象库存在,这使得编程简
15、单得只需要将一些程序“建筑材料”堆在一起。优点:组织大型程序时比C语言好得多。很好的支持面向对象机制。通用数据结构,如链表和可增长的阵列组成的库减轻了由于处理低层细节的负担。缺点:非常大而复杂。与C语言一样存在语法滥用问题。比C慢。大多数编译器没有把整个语言正确的实现。移植性:比C语言好多了,但依然不是很乐观。因为它具有与C语言相同的缺点,大多数可移植性用户界面库都使用C+对象实现。第4部分 常用的机器语言C+(见贪吃蛇代码)是具有面向对象特性的C语言的继承者。面向对象编程,或称OOP是结构化编程的下一步。OO程序由对象组成,其中的对象是数据和函数离散集合。有许多可用的对象库存在,这使得编程简
16、单得只需要将一些程序“建筑材料”堆在一起。优点:组织大型程序时比C语言好得多。很好的支持面向对象机制。通用数据结构,如链表和可增长的阵列组成的库减轻了由于处理低层细节的负担。缺点:非常大而复杂。与C语言一样存在语法滥用问题。比C慢。大多数编译器没有把整个语言正确的实现。移植性:比C语言好多了,但依然不是很乐观。因为它具有与C语言相同的缺点,大多数可移植性用户界面库都使用C+对象实现。第4部分 常用的机器语言Pascal语言由NicolasWirth在七十年代早期设计的,因为他对于FORTRAN和COBOL没有强制训练学生的结构化编程感到很失望,Pascal被设计来强行使用结构化编程。最初的Pa
17、scal被严格设计成教学之用,最终 大量的拥护者促使它闯入了商业编程中。当Borland发布IBMPC上的TurboPascal时,Pascal辉煌一时。集成的编辑器,闪电般的编译器加上低廉的价格使之变得不可抵抗,Pascal编程了为MS-DOS编写小程序的首选语言。然而时日不久,C编译器变得更快,并具有优秀的内置编辑器和调试器。Pascal在1990年Windows开始流行时走到了尽头,Borland放弃了Pascal而把目光转向了为Windows编写程序的C+。TurboPascal很快被人遗忘。基本上,Pascal比C简单。虽然语法类似,它缺乏很多C有的简洁操作符。优点:易学、平台相关的
18、运行(Dephi)非常好。缺点:“世界潮流”面向对象的Pascal继承者(Modula、Oberon)尚未成功。语言标准不被编译器开发者认同。移植性:很差。语言的功能由于平台的转变而转变,没有移植性工具包来处理平台相关的功能。第4部分 常用的机器语言VisualBasic优点:整洁的编辑环境。易学、即时编译导致简单、迅速的原型。大量可用的插件。虽然有第三方的DirectX插件,DirectX7已准备提供VisualBasic的支持。缺点:程序很大,而且运行时需要几个巨大的运行时动态连接库。虽然表单型和对话框型的程序很容易完成,要编写好的图形程序却比较难。调用Windows的API程序非常笨拙,
19、因为VB的数据结构没能很好的映射到C中。有OO功能,但却不是完全的面向对象。移植性:非常差。因为VisualBasic是微软的产品,你自然就被局限在他们实现它的平台上。第4部分 常用的机器语言Java是由Sun最初设计用于嵌入程序的可移植性“小C+”。在网页上运行小程序的想法着实吸引了不少人的目光,于是这门语言迅速崛起。Java不仅仅适于在网页上内嵌动画它是一门极好的完全的软件编程的小语言。“虚拟机”机制、垃圾回收以及没有指针等使它很容易实现不易崩溃且不会泄漏资源的可靠程序。 优点:二进制码可移植到其他平台。程序可以在网页中运行。内含的类库非常标准且极其健壮。自动分配合垃圾回收避免程序中资源泄漏。网上数量巨大的代码例程。缺点:使用一个“虚拟机”来运行可移植的字节码而非本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 舞蹈课堂安全协议书
- 鱼塘终止合同协议书
- 项目合作股东协议书
- 计算机二级Msoffice高频复习试题及答案
- 财务分析中的逻辑推理与决策实践试题及答案
- 合同法律制度试题及答案
- 计算机二级Delphi快速上手试题及答案
- 国际经济法律试题及答案
- 2025年Msoffice考试疑难试题及答案
- 法律自学考试题型及答案
- 四川省2023年小升初语文试卷汇总六(含答案)
- 合伙买大货车协议书
- SOAP病历冠心病介绍
- 中建机电样板专项施工方案
- 小学一年级新生入学手册
- 宠物app创业计划书
- 《大数据财务分析-基于Python》教学大纲
- 巴以冲突的历史和现状分析
- 中国古典园林-留园调研分析
- 患者转运流程图
- 中医科常见病诊疗指南及操作规范
评论
0/150
提交评论