- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模块三 80C51 的指令系统和程序设计
(1 )了解80C51 指令系统的构成。
(2 )掌握80C51 单片机的寻址方式。
(3 )掌握80C51 单片机的各种指令及其应用。
(4 )掌握汇编语言程序设计方法,为以后实际控制系统的程序设计奠定基础。
3.1 80C51 指令系统概述
对于任何一台计算机,如果只有硬件 (称为裸机),而没有软件 (即程序)的支持是不能
工作的。单片机也不例外,它必须在各种各样的软件支持下才能发挥其运算和控制功能。而程
序的最基本单位就是指令,不同的CPU 具有不同的指令系统,要编写适用于80C51 单片机的
程序就要先学习80C51 的指令系统。
所谓指令就是CPU 所能进行的操作。每条指令都对应CPU 的一种操作,CPU 有多少种
操作就应该有多少条指令。把所有指令的集合称为CPU 的指令系统,80C51 单片机的指令系
统共包括111 条指令。
3.1.1 计算机常用的编程语言
程序是完成某项任务的计算机指令的有序集合。设计程序就要用到程序设计语言,从使
用的角度看,程序设计语言可分为如下3 种:
(1)机器语言。机器语言是计算机唯一能 “懂”的语言,直接用二进制代码表示,这种
编码称为机器码,或者称为机器指令。只有内存中的机器码能被计算机直接执行。然而,不同
类型的CPU 其机器语言必然不同,且直接用机器语言来编程,很难懂,极易出错,很难用它
来进行程序设计。
(2 )汇编语言。为了克服使用机器语言编程的缺点,人们采用一些符号来代表地址或数
据,用简单明了的助记符 (英文缩写)表示指令的操作码,这就形成了汇编语言。用汇编语言
编制程序时,程序的每一个语句都与计算机的某一具体操作相对应,因此汇编语言是面向机器
的语言,编程者必须熟悉机器的硬件结构。但汇编语言毕竟不是机器语言,计算机不能直接识
别,必须将这种符号代码翻译成计算机可识别的机器代码,这种翻译过程称为汇编。汇编工作
通常由计算机通过一种具有 “翻译”功能的程序——汇编程序来完成 (称为机器汇编),也可
通过查指令表来完成汇编 (称为手工汇编)。
(3 )高级语言。上述两种语言都针对计算机硬件,程序的可读性和可移植性都比较差。
3 单片机应用技术
为了克服这些缺点,人们又逐步创造出许多面向用户,适合于不同机器、不同场合的高级语言,
如 BASIC 、FORTRAN 、COBOL、Pascal 、C 语言以及目前非常流行的可视化程序设计语言
Visual Basic 、Visual C++等。这些高级语言更接近人的自然语言,从而使编制的程序直观、简
练、易读,且具有较强的通用性。然而,高级语言是更符号化的语言,计算机不能直接接受,
需要经过复杂的编译程序或解释程序的“翻译”才能转化为机器代码,因此它比前两种语言占
用更多的内存和更长的执行时间。
由此可以看出,汇编语言的性能介于机器语言和高级语言之间。它与机器语言相比,易
学、易记、好理解、使用方便;与高级语言相比,占用存储空间少、执行速度快,特别是其具
有直接针对输入/输出端口的操作指令,便于自控及检测系统中数据的采集及发送,而许多高
级语言却无此功能。因此,对于要求反应灵敏与控制及时的工控、检测等实时控制系统,以及
要求体积小、系统小的许多“电脑化”产品,采用汇编语言的优越性是显而易见的。目前单片
机系统普遍采用汇编语言编程,当然高级用户也常采用C51 编程。
3.1.2 汇编语言指令格式
80C51 单片机的汇编指令由操作码和操作数两大部分组成,指令格式如下:
[标号:] 操作码 [操作数1,][操作数2,][操作数3][;注释]
例如:
LB:MOV A,R2 ;把寄存器R2 中的数送入A
(1)标号:是该指令的符号地址 (如上述指令中的 “LB ”)。并非每条指令都需要标号。
当一条指令含有标号时,那么在其他指令的操作数中就可以引
文档评论(0)