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

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

  [复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 Ele_insect 于 2022-6-7 09:52 编辑 . u  W- Y; J9 G
, l! g5 C" [3 C/ F
一、单片机指令系统概述
- ?# e! H) r1 u. F+ r1、指令概述2 @3 J, |/ S0 F& v1 ^. a5 P' A
指令:是CPU根据人们的意图来执行某种操作的命令。
2 b( U' z1 v8 C5 E8 N+ P- Q& g5 }指令系统:是计算机所能够执行的全部指令的集合。  y5 O" C/ {2 Q7 [
程序:是按人们的要求所编制的指令操作序列。
. }$ M5 m9 [1 y  \$ F% o0 j本章主要介绍80C51单片机的汇编语言指令系统。$ {& e) f* W& t' Q
程序设计语言:是编写程序的某种规则。
3 N1 E; K5 b4 a
. Z  ^1 V9 s0 J三类编程语言:
+ t+ `+ d7 L! |! n. u8 ?) N机器语言、汇编语言、高级语言2 _' A0 L% j$ N" f1 S7 D' b
机器语言:用二进制编码表示每条指令,是计算机能直接识别和执行的语言。
$ u4 @: g5 U3 R汇编语言:是用助记符、符号和数字等来表示指令的程序设计语言。它与机器语言指令是一一对应的。4 p" \$ B6 n3 i' z- c2 f' h
) v4 N( B2 a  {7 {. H+ C* s) Y
2 、指令格式和指令的表示形式
, e- }& L6 h/ P" Y: x% Z# m  u 80C51汇编语言指令格式# `& H: o) N7 o/ l+ o- d8 A6 t- \
[标号:]  操作码  [目的操作数][,源操作数][;注释]
8 j4 _4 C  [6 E# a
; @# {4 S' D1 R6 S. ^- I
2 u" N- K; }# e! K5 _4 ~ 3、指令中的常用符号
2 L6 Q  U# J, ^0 K(1)Rn(n=0~7)当前选中的工作寄存器R0~R7
4 }# j6 }# p$ h& B$ r& C, V(2)Ri(i=0,1)当前选中的、作地址指针的寄存器R0、R1; {5 T0 ~) h3 I( J
(3)#data             8位立即数: A3 q1 V! O, m' E; w" e. n
(4)#data16         16位立即数
* _$ u0 u& ^0 @! }6 B% a/ z! ?                    如:MOV    DPTR,#data165 O) i) ^1 _- a2 ~; F0 B- N& j
(5)direct      8位片内RAM单元(包括SFR)的直接地址/ o- p1 L2 j! x
         如:MOV    direct,#data        ;#data→direct8 R/ |+ U0 F# s' ^1 X1 {' u" [
(6)addr11      5 m$ e/ S5 M! U, J: `4 [
        11位目的地址,用于Acall和AJMP指令中, L# C- q9 W8 }7 [3 X8 z9 P- \0 ^" l
(7)addr16      
9 M; L* Z3 L# z" m7 ~        16位目的地址,用于LCALL和LJMP指令中
& _, F: Y/ u6 J* L/ L; j3 E(8)rel       补码形式的8位地址偏移量
- `0 r# @/ t; M(9) bit       片内RAM或SFR的直接寻址的位地址. c4 {/ u: H* C. ^# g
(10)@      间接地址方式中,表示间址寄存器的符号
8 v/ E5 d5 m& m6 @(11) /        对位取反操作   如:ANL    C,/P1.2
) b& Y& X! Y6 o* L(12)(×)   指“×” 中的内容,其内容是数据; ×是地址
' P+ Z- [& k5 t+ X' G(13)(( ×))由“×”间接寻址单元中的内容, ×中的内容“(×) ”是地址
0 v1 t8 U! m# R. @& Z如:设58H单元的数据是36H,R0的内容是58H5 Y3 p8 K- v  P
INC   58H;(58H)+1→ 58H
1 E7 ]6 t8 L  n: N1 D5 wDEC  @R0;((R0))-1 → (R0)
) t9 ^: `6 v' z$ J( F/ e(14)→  示将箭头左边的内容传送到箭头右边的单元
5 d( C7 R3 g7 H7 ~4 O. B; }( H" j2 r, c- U' \  `' z6 U8 ?1 v, |
4 、指令的字节数和指令周期
2 ?2 k/ ^8 r" X* a8 G . T1 e% h  r- Z

3 Q- P' n& V" C1 n二、80C51单片机指令寻址方式
" b* C( S6 f9 g/ C9 Q: u寻址方式:就是指令中找到操作数或操作数地址的方式。
( k4 \+ D: R  O, _3 d4 A80C51单片机有七种寻址方式:
1 R) A6 e+ U% k& f2 ]1、立即寻址   
! \+ X( f9 a9 A' F  `. Y4 c& A操作数在指令中,在操作码后面。用“#”表示。
; @+ [- A. \, Y3 o2 }" @操作数可以是8位的,也可以是16位的。
9 x& T0 Z! M9 u& k6 z, D; q: j: _$ a2、直接寻址% h% o2 c- u6 _3 \  I) q
直接寻址:在指令中直接给出操作数所在存储单元的地址。指令中操作数部分是操作数所在地址。
* ]' x1 P( q- B; ^$ {! j直接寻址方式可访问片内RAM的128个单元以及所有的SFR。对于SFR,既可以使用它们的地址,也可以使用它们的名字。
3 p7 E2 ]& X) N! i4 K3、寄存器寻址   , q" v* W6 L8 a
操作数在某一个寄存器中。
6 r; L. ]( k6 w/ [  B5 l2 w* P所用的寄存器可以是:R0~R7、A、B、DPTR等。
+ m! G# U0 \  O+ E 4、寄存器间接寻址6 s& p8 p9 ^2 T8 u! l' s
指令中寄存器中的内容给出的是操作数的地址。4 @) D/ c$ \7 Y1 X8 J- s, s# c
80C51规定:R0、R1和DPTR可以作为间接寻址寄存器。) P8 p: e* D5 P  x7 W3 C
(1)R0、R1间址访问片内RAM的低128B或片外RAM的低256B空间+ m# U6 ?7 b, s7 g! l: t+ D! \" p
如:设(R0)=65H,(65H)=47H/ r( S2 r, H6 N  w
MOV    A,@R0   ;    (65H)→ A,A中的值是47H" D# H: }! G* S/ B! n6 W" x+ G
MOV    @R0,#3AH ;3AH→ 65H2 [1 J6 y2 z3 ?# L# Z/ c
MOVX   A,@R0        ;外RAM的(65H)→ A
; l7 O* f; v. P3 \: q  \; V- \: G7 e# e7 {+ V

2 h$ c' p' h2 ^/ b# t" g

单片机基础及应用(四):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-7-18 19:35 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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