- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章80C51单片机的程序设计 5.1 概述 5.1.1计算机语言——机器语言、汇编语言与高级语言 5.1.2程序设计及程序结构 5.2 汇编语言及其程序设计 5.2.1汇编语言 5.2.2汇编语言程序设计 第五章80C51单片机的程序设计 5.3 C语言及其程序设计 5.3.1 Keil C语言 5.3.2 C语言与汇编语言的混合编程 5.3.3 C语言程序设计 5.3.4 80C51功能单元的C语言编程 思考与练习 ? 第五章80C51单片机的程序设计 第五章80C51单片机的程序设计 5.1 概述 5.1.1 计算机语言——机器语言、汇编语言与高级语言 程序就是为计算某一算式或完成某一工作的若干指令的有序集合。计算机的全部工作概括起来,就是执行这一指令序列的过程。这一指令序列称为程序。为计算机准备这一指令序列的过程称为程序设计。通常,计算机的配置不同,设计程序时所使用的语言也就不同。目前,可用于程序设计的语言基本上可分为三种:机器语言、汇编语言和高级语言。 第五章80C51单片机的程序设计 下面先对这三种语言作以简单说明,然后重点介绍80C51单片机的汇编语言。 1 机器语言在计算机中,所有的数符都是用二进制代码来表示的,指令也是用二进制代码来表示。这种用二进制代码表示的指令系统称为机器语言系统,简称为机器语言。直接用机器语言编写的程序称为手编程序或机器语言程序。 计算机可以识别机器语言,并加以执行。但是,对于使用者来说,不易看懂,不便记忆,容易出错。为了克服这些缺点,从而出现了汇编语言和高级语言。 第五章80C51单片机的程序设计 2 汇编语言 在程序设计自动化的第一阶段,就是用英文字符来代替机器语言,这些英文字符被称为助记符。用这种助记符表示指令系统的语言称为汇编语言或符号语言,用汇编语言编写的程序称为汇编语言程序。 第五章80C51单片机的程序设计 但是,计算机不能直接识别在汇编语言中出现的字母、数字和符号,需要将其转换成用二进制代码表示的机器语言程序,才能够识别和执行。通常把这一转换(翻译)工作称为汇编。汇编可由专门的程序来进行,这种程序称为汇编程序。经汇编程序汇编而得到的机器语言程序,计算机能够识别和执行,因此这一机器语言程序称为目的程序或目标程序,原来的汇编语言程序称为源程序。源程序、汇编程序与目的程序之间的关系如图5--1所示。 第五章80C51单片机的程序设计 图--51 汇编过程示意图 第五章80C51单片机的程序设计 显然,汇编语言要比机器语言前进了一大步。它醒目、易懂、不易出错,即使出错,也容易发现和修改。这给编制、阅读和修改程序带来了极大的方便,因此,它是微型计算机所使用的主要语言之一。 但是,汇编语言和机器语言一样,都脱离不开具体的机器,因此,这两种语言均为“面向机器”的语言。因此使用汇编语言进行程序设计必须熟悉计算机的系统结构,指令系统,寻址方式等功能,才能设计出符合要求的程序. 第五章80C51单片机的程序设计 同时汇编语言是计算机能提供给用户的最快而又最有效的语言,也是能利用计算机所有硬件特性并能直接控制硬件的唯一语言.因而,在对于程序设计的空间和时间要求很高的场合,汇编语言是必不可或缺的.很多需要直接控制硬件的应用场合,则是非汇编语言不可. 因此对设计者的要求较高.基要求设计者具有“软硬结合”功底.在一定程度上可以说掌握汇编语言是学习单片机的基本功. 第五章80C51单片机的程序设计 3 高级语言 高级语言,譬如,BASIC、FORTRAN、COBOL及PASCAL等,都是一些参照数学语言而设计的、近似于人们日常用语的语言。这种语言不仅直观、易学、易懂,而且通用性强,易于移植到不同类型的机器中去。 计算机也不能直接识别和执行高级语言,需要将其转换为机器语言才能识别和执行。对于高级语言,这一转换工作通常称为编译或者解释。进行编译或者解释的专用程序称为编译程序或者解释程序。 第五章80C51单片机的程序设计 由于高级语言不受具体机器的限制,而且使用了许多数学公式和习惯用语,从而简化了程序设计的过程,因此是一种面向问题或者面向过程的语言。近年来高级语言发展很快,相继出现了许多面向工程设计、自动控制、人工智能等方面的语言,如,APT、PROLOG、LISP、PL/M以及
文档评论(0)