- 1、本文档共143页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
陕西科技大学单片机第4章MCS51指令系统
4.1 MCS-51单片机汇编语言与指令格式 4.1.1 汇编语言 程序设计语言:机器语言、汇编语言和高级语言。 机器语言:CPU唯一能直接识别的语言,是机器指令的集合,二进制代码书写 。 特点:程序简洁,占用存储空间小,执行速度快,控制功能强。 缺点:不易辨识、记忆和书写。 用机器语言描述的程序通常称为目标程序。用汇编语言和高级语言编制的程序称之为源程序,都要转换成机器语言程序后才能为计算机直接执行。 汇编语言:用助记符来表示机器指令的一种程序设计语言。其每条语句对应相应的机器指令。汇编语言与机器的指令系统密切相关,不同的机型其指令系统不同,汇编语言程序不具备高级语言的通用性; 用汇编语言编写的程序要经过汇编程序(也可以手译)翻译成机器语言程序后才能为计算机所识别。 特点:占用的内存小、执行速度快。 高级语言的特点是通用性强,可以在不同的机器上运行。用高级语言编写的程序要用编译程序或解释程序翻译成机器语言程序方能执行。 4.1.2 51单片机指令系统概述 一台计算机具有的所有指令的集合称为该计算机的指令系统。 MCS—51系列单片机的指令系统共有111条指令,在储存空间与执行时间上都有较高的效率,还含有丰富的位操作指令。 按其功能可分为数据传送、算术运算、逻辑运算、程序转移、位操作等5个大类。 按指令执行时间:单机器周期指令64条,双机器周期指令45条,乘、除2条指令的执行时间为4个机器周期。 3) 三字节指令 三字节指令格式中, 第一个字节为操作码, 后两个字节为操作数, 例如: MOV 40H, #30H→75H 40H 30H MCS-51单片机指令系统有如下特点: (1)指令执行时间快。 (2)指令短,约有一半的指令为单字节指令。 (3)用一条指令即可实现2个一字节的相乘或相除。 (4)具有丰富的位操作指令。 (5)可直接用传送指令实现端口的输入输出操作。 MOV DPTR, #0DFFFH 功能:将立即数 0DFFFH送数据指针DPTR中。 0DFH→DPH, 0FFH→DPL 上述两条指令均为立即寻址方式。 立即寻址方式主要用来给寄存器或存储单元赋初值,只能用于源操作数,不能用于目的操作数。 立即寻址方式源操作数位于程序存储器中 a)寄存器间接寻址只能使用寄存器R0、R1 作为地址指针 b)寻址内部RAM区(00H~FFH,256个单元)的数据 c)不能访问特殊功能寄存器 d)当访问外部RAM时, 可使用R0、 R1或DPTR作为地址指针。 MOVC A, @A+DPTR 16位程序存储器地址 MOV Rn, #data ; (Rn)←#data , 78~7F data MOV R0, #40H 78 40 MOV R1, #40H 79 40 MOV @Ri, #data ; (( Ri)) ←#data Ri: 8bit,指向内部数据存储器 Ri :R0 R1 MOV @R0, #data 76 data MOV @R1, #data 77 data 例如:将立即数40H传送到RAM的30H 、 40H单元中 MOV R0, #30H 78 30 MOV R1, #40H 79 30 MOV @R0, #40H 76 40 MOV @R1, #40H 77 40 MOV DPTR, #data16 DPTR——地址指针,16位 ( DPTR ) ←#data, 90 data15~8 data7~0 MOV DPTR, #1234H DPH, #12H DPL, #34H d) 寄存器间接寻址 MOV A,@Ri ;(A)←((Ri)), E6~E7 MOV direct ,@Ri ; (direct)←((Ri)), 86~87 direct 这组指令把以Ri的内容作为地址进行寻址所得到单元的内容,传送到累加器A或direct指定的片内RAM区单元。间接寻址可访问片内数据存储器的低128个单元(00H~7FH)和高128个单元(80H~FFH,对52子系列),但不能用于寻址特殊功能寄存器SFR。 例:设内部RAM单元(30H)=40H,
文档评论(0)