教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 小学教育 >

第3章80C51单片机汇编语言概述单片机原理及应用(C51编程)-李全利

来源:网络收集 时间:2026-08-23
导读: 第3章 80C51单片机汇编语言概述3.1 3.23.3 3.4 3.5 单片机可执行程序生成示例 汇编指令格式与寻址方式汇编器的伪指令 80C51的指令系统汇编语言程序示例 2015-1-6 3.1 单片机可执行程序生成示例3.1.1 编辑源文件 【例3-1】编写程序,实现将30H至3FH共16个RAM

第3章 80C51单片机汇编语言概述3.1 3.23.3 3.4 3.5 单片机可执行程序生成示例

汇编指令格式与寻址方式汇编器的伪指令

80C51的指令系统汇编语言程序示例

2015-1-6

3.1 单片机可执行程序生成示例3.1.1 编辑源文件 【例3-1】编写程序,实现将30H至3FH共16个RAM单元初始 化为“55H”的功能。 ORG MAIN:MOV MOV MOV LOOP:MOV INC DJNZ SJMP END2015-1-6

0000H R7,#16 R0,#30H A,#55H @R0,A R0 R7,LOOP $

;R7存放单元数量16 ;R0作为地址寄存器,初值为30H ;数据55H放入累加器中 ;累加器内容送入R0指向的单元中 ;调整地址指向下一单元 ;循环直至16个单元全都完成 ;踏步暂停

3.1.2

汇编与连接

汇编连接后得到目标文件。

:记录长度|起始地址|记录类型|指令代码|校验和

3.1.32015-1-6

可执行程序的写入3

3.2 汇编指令格式及寻址方式3.2.1 汇编语言的指令格式[标号:] 指令助记符 [操作数1,] [操作数2,] [操作数3,] [;注释]

标号是指令的符号地址,以非数字字符开头; 助记符是指令功能的英文缩写; 操作数是指令要操作的数据或数据的地址; 注释字段可以增加程序的可读性。

运算符(表3.1):

NOT、HIGH、LOW、MOD、SHL、SHR、AND、OR、XOR等。例:17/5结果为3、17 MOD 5结果为2。2015-1-6 4

3.2.2 2015-1-6

汇编指令功能描述符号

Rn(n=0~7)-当前工作寄存器组中的寄存器R0~R7之一 Ri(i=0,1)-当前工作寄存器组中的寄存器R0或R1 @ ----------间址寄存器前缀 #data ------8位立即数/ #data16-----16位立即数 direct------片内低128个RAM单元地址及SFR地址 addr11------11位目的地址 addr16------16位目的地址 rel---------8位地址偏移量,范围:-128~+127 bit---------片内RAM位地址、SFR的位地址 (×)------表示 × 地址单元或寄存器中的内容 / ----------位操作数的取反操作前缀5

3.2.3

操作数寻址方式

寻址方式:寻找(源)操作数或指令转移地址的方式 仅介绍5种操作数寻址方式

一、寄存器寻址

【例】若(R0)=30H,执行

MOV A,R0后,(A)=30H 操作数在寄存器中 寻址空间: 00H R0 30H R0~R7、A、B(AB形式) 操作数 在R0 MOV A,R0 E8H 和DPTR特点: 传送和执行速度快ROM RAM 30H SFR ACC

2015-1-6

二、 直接寻址 操作码后接字节存放的是操作数地址 寻址空间: 【例】若(50H)=3AH , 片内RAM低128字节 执行MOV A,50H后,(A)=3AH SFR(符号形式)操作数 在50H单元

另一类直接寻 址是转移目标地 址的寻址。如: LJMP ADDR16

50H E5H 50H MOV A,50H RAM

3AH

3AH ROM SFR

ACC

2015-1-6

三、寄存器间接寻址 寄存器中的内容是操作数的地址 寻址空间: 【例】若(R0)=30H,(30H)=5AH 片内RAM(@Ri、SP) 执行MOV A,@R0后

,(A)=5AH 片外RAM(@Ri、@DPTR)30H R0

指令助记符: 片内:MOV 片外:MOVX

30H E6H MOV A,@R0 RAM R0中的内容为 操作数的地址 ROM

5AH

5AH SFR

ACC

2015-1-6

四、立即寻址 操作数在指令编码中 寻址空间: ROM74H 50H

【例】执行MOV

A,#50H

结果:(A)=50H00H

MOV A,#50H RAM 操作码后紧跟 操作数50H 50H SFR ACC

ROM

对于MOV DPTR,#2100H指令,立即数高8位“21H”装入DPH2015-1-6 9

五、变址寻址 操作数地址:基地址+偏移量 寻址空间: ROM 【例】(A)=0FH (DPTR)=2400H88H ROM 93H

执行MOVC

A,@A+DPTR”后

结果:(A)=88H00H RAM 00H 24H 0FH 88H SFR DPL DPH ACC

MOVC A,@A+DPTR 240FH单元的内 容88H为操作数 + 240FH

2400H

变址寻址还用于跳转指令,如JMP2015-1-6 10

@A+DPTR

3.3 汇编器的伪指令伪指令是汇编器能够识别并对汇编过程进行某种指示的命令。 一、 状态控制伪指令

ORG、END二、 符号定义伪指令

EQU、BIT

例:LEN EQU 10

三、存储空间初始化伪指令

DB,DW四、其他伪指令

例:DB -1,2

见表3.3所示。2015-1-6 11

3.4 80C51的指令系统3.4.1 数据传送类指令(29条)

一般不影响标志寄存器PSW的状态。传送类指令有两大类 一般传送( MOV ) 特殊传送,如: MOVC MOVX PUSH、POP XCH、XCHD SWAP2015-1-6 12

一、 一般传送指令16位传送(仅1条) MOV DPTR,#2100H;DPTR←#2100H 8位传送以A为目的,例如: MOV A,#55H ;A←#55H MOV A,55H ;A←(55H) MOV A,R0 ;A←(R0) MOV A,@R0 ;A←((R0)) 以Rn为目的,例如: MOV MOV MOV2015-1-6

R7,A ;R7←(A) R7,#55H ;R7←#55H R7,55H ;R7←(55H)13

以direct为目的,例如: MOV 30H,A ;(30H)←(A) MOV 30H,#55H ;(30H)←#55H MOV 30H,55H ;(30H)←(55H) MOV 30H,R0 ;(30H)←(R0)MOV 30H,@R0 ;(30H)←((R0))

以@Ri为目的,例如: MOV MOV MOV @R0,A ;(R0)←A @R0,#55H ;(R0)←#55H @R0,55H ;(R0)←(55H)14

2015-1-6

二、 特殊传送指令

堆栈操作指令PUSH和POP堆栈是一片存储区,遵循“后进先出”原则,栈顶由SP指示。 80C51的堆栈设在片内RAM低端的128个单元,向上生长。

入栈指令PUSH PUSH direct ;SP←(SP)+1,(SP)←(direct) 出栈指令POP POP direct ;(direct)←((SP)),SP ←(SP)-1

注:堆栈用于子程序调用时保护返回地址,或者用于保护子程序调 用之前的某些重要数据(即保护现场),还可以用于数据交换。

2015-1-6

数据交换指令XCH、XCHD和SWAP数据交换属于同时进行的双向传送 字节交换,例如: XCH A,55H ;(A) XCH XCH A,R7 A,@R0 ;(A) ;(A) (55H) (R7) ((R0))

半字节交换,例如:

XCHD SWAP

A,@R0 A

; 间址操作数的低半字节与A的低半字节互换。 ; 累加器的高低4位互换

片外RAM(或接口)传送指令MOVX

片外RAM中经常存放数据采集与处理的中间数据 读片外RAM MOVX MOVX A,@DPTR ;A ←((DPTR)) A,@Ri ;A ←((Ri))

写片外RAM MOVX @DPTR,A ;((DPTR))←A MOVX @Ri,A ;((Ri))←A 注意:用@Ri寻址时,高8位地址由P2口提供2015-1-6 17

读ROM中常数表项指令MOVCROM中可以存放程序代码,还经常存放常数表 以DPTR内容为基址 MOVC A,@A+DPTR;A ←((A)+(DPTR)) 常数表存放约束小,称为远程查表指令。占用DPTR 以PC内容为基址 MOVC A,@A+PC ;A ←((A)+(PC)) 常数表存放约束大,称为近程查表指令。不占用DPTR

3.4.2

算数运算类指令(24条)

算数运算结果要影响PSW中标志位标志位意义 CY为1,无符号数(字节)加减发生进位或借位 OV为1,有符号数(字节)加减发生溢出错误 AC为1,十进制数(BCD码)加法的结果应调整 P为1,存于累加器A中操作结果的“1”的个数为奇数 标志位与相关指令影响指令 标志 ADD、ADDC、SUBB DA MUL DIV

CYAC OV P

√√ √ √19

√√ × √

0× √ √

0× √ √

2015-1-6

…… 此处隐藏:2038字,全部文档内容请下载后查看。喜欢就下载吧 ……
第3章80C51单片机汇编语言概述单片机原理及应用(C51编程)-李全利.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/42029.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)