找回密码
 注册
关于网站域名变更的通知
查看: 166|回复: 2
打印 上一主题 下一主题

单片机基础及应用4 80C51单片机指令系统介绍

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-6-6 10:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 Ele_insect 于 2022-6-7 09:52 编辑 8 x- u5 n7 s& A& A4 b

: B3 K* i& H8 B1 v一、单片机指令系统概述 6 q, J! w4 F* y. B2 D/ |
1、指令概述
2 \- a% O- Y9 j  C* u5 _' [指令:是CPU根据人们的意图来执行某种操作的命令。
! K4 L/ ^3 Q8 b" @- b/ F" k) Z指令系统:是计算机所能够执行的全部指令的集合。
/ M+ r9 d# @) {4 C程序:是按人们的要求所编制的指令操作序列。* I  \' u% _2 m/ k' @
本章主要介绍80C51单片机的汇编语言指令系统。
; Y+ v! W# }% ?4 a/ a) Q5 ~+ ~程序设计语言:是编写程序的某种规则。! K( y  m. h+ q

. y: y/ `7 z! h# t: U! C三类编程语言:0 J/ P4 N6 N0 {/ r
机器语言、汇编语言、高级语言4 R( I/ m( [. t8 H1 `
机器语言:用二进制编码表示每条指令,是计算机能直接识别和执行的语言。
. g2 n9 H, A9 y- i5 @& }汇编语言:是用助记符、符号和数字等来表示指令的程序设计语言。它与机器语言指令是一一对应的。
7 A8 v# [1 A2 u5 `7 Z' Y. u( ~4 B
4 S" s( |2 g3 E7 s5 O2 、指令格式和指令的表示形式
5 J+ A; m0 k7 w) c" H$ ~0 k  L 80C51汇编语言指令格式
$ M+ W9 u* |0 @* \4 _, a[标号:]  操作码  [目的操作数][,源操作数][;注释]- p0 G' X* P/ g  h7 G& }) R! w  a
4 _0 ?6 S0 H# O* c
: L& N: L5 h, z5 `5 a
3、指令中的常用符号; h% m- \" F& j  K: V
(1)Rn(n=0~7)当前选中的工作寄存器R0~R7# V+ l1 t) _/ r
(2)Ri(i=0,1)当前选中的、作地址指针的寄存器R0、R1
7 ?0 A/ Q) x( a' \(3)#data             8位立即数+ q% ~3 b1 W! p; a$ o
(4)#data16         16位立即数
7 `) m3 ?; E9 ?$ B                    如:MOV    DPTR,#data16
( {5 U* o+ v$ y* f5 d. [(5)direct      8位片内RAM单元(包括SFR)的直接地址
, N0 F$ U* \1 B/ P! \         如:MOV    direct,#data        ;#data→direct
1 X$ y* @9 B% b; Y( X- F+ t, g(6)addr11      
& l' ^0 F# K0 [  E9 R        11位目的地址,用于Acall和AJMP指令中
$ E# h- @4 N! I7 m3 V/ ~6 p(7)addr16      + B% L& K7 r2 @' L- o
        16位目的地址,用于LCALL和LJMP指令中5 t  J; i  s# s
(8)rel       补码形式的8位地址偏移量* ]6 }0 V+ o) W9 K' ^# ^; }/ M
(9) bit       片内RAM或SFR的直接寻址的位地址8 \$ ~$ _3 D; H4 n, o- S, T
(10)@      间接地址方式中,表示间址寄存器的符号
+ }" I) R! X5 c2 b(11) /        对位取反操作   如:ANL    C,/P1.2
0 w4 T# W; h& q6 `+ _; ]& N(12)(×)   指“×” 中的内容,其内容是数据; ×是地址
: K( f' u" r2 h(13)(( ×))由“×”间接寻址单元中的内容, ×中的内容“(×) ”是地址
3 N/ H/ @/ _& |. Z% D如:设58H单元的数据是36H,R0的内容是58H
8 n' z$ U2 h3 a+ C5 Z% O" D# U/ yINC   58H;(58H)+1→ 58H
+ m1 R( n$ @9 u3 w4 KDEC  @R0;((R0))-1 → (R0)
. m- @' h& E+ [0 g(14)→  示将箭头左边的内容传送到箭头右边的单元1 u$ d+ D0 J3 ?  [& ~' M5 M1 F
3 M0 K' T5 p: l0 ^7 \
4 、指令的字节数和指令周期5 O) |; d4 H1 t7 E) z9 Q( q

5 x- g0 o, C% v2 ~% x* G8 B' M. Y% y; u8 p4 H$ p4 }# g1 Z
二、80C51单片机指令寻址方式
6 s, S8 a% ]6 D* V1 t& S6 }9 ?寻址方式:就是指令中找到操作数或操作数地址的方式。. j5 ?. j0 m7 Z; s9 J/ Z2 h
80C51单片机有七种寻址方式:
0 c% u, }& P3 T# q$ t0 J0 E1、立即寻址   
7 y% s3 O# Z. r9 V, b操作数在指令中,在操作码后面。用“#”表示。5 q$ F  |; [4 b9 B0 B2 f/ _# x
操作数可以是8位的,也可以是16位的。' I2 L5 }5 \+ R. h  G; Y* y% r. X
2、直接寻址
2 }, |- ~. p) |% P* l3 c直接寻址:在指令中直接给出操作数所在存储单元的地址。指令中操作数部分是操作数所在地址。; Z9 S! m! v$ G$ x
直接寻址方式可访问片内RAM的128个单元以及所有的SFR。对于SFR,既可以使用它们的地址,也可以使用它们的名字。
- p! z% V) K8 D% [3、寄存器寻址   ; h+ H, G# c6 d; c% g
操作数在某一个寄存器中。+ k- E/ F9 F4 l# }2 i" T' g- `1 K1 J; S- ]
所用的寄存器可以是:R0~R7、A、B、DPTR等。
5 |' b/ n! H0 P. M  `5 ? 4、寄存器间接寻址! x  J1 y1 N4 P, D$ p
指令中寄存器中的内容给出的是操作数的地址。
. d: u% J$ O4 n; ^80C51规定:R0、R1和DPTR可以作为间接寻址寄存器。
/ a1 i* V  B  _) s* G; T(1)R0、R1间址访问片内RAM的低128B或片外RAM的低256B空间) f" x. R/ ?2 P0 e' D3 `
如:设(R0)=65H,(65H)=47H
7 f( w5 N! P( k, X, \MOV    A,@R0   ;    (65H)→ A,A中的值是47H6 H- Y8 K+ D, A$ u" Q1 l" K
MOV    @R0,#3AH ;3AH→ 65H6 D3 e4 h( {" g/ U: Y2 e$ q
MOVX   A,@R0        ;外RAM的(65H)→ A
/ s' ~. b& K* C3 {$ H
8 r1 B) V' H3 O/ k5 O0 \' N3 T
& f5 E. Z' z- Q* ]' o8 z9 I

单片机基础及应用(四):80C51单片机指令系统介绍.pdf

1.16 MB, 下载次数: 0, 下载积分: 威望 -5

该用户从未签到

2#
发表于 2022-6-6 13:34 | 只看该作者
来了来了,学习学习。

该用户从未签到

3#
发表于 2022-6-6 15:47 | 只看该作者
来了来了,学习学习。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-9 05:21 , Processed in 0.140625 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表