收藏 分销(赏)

单片机原理及应用.doc

上传人:仙人****88 文档编号:9462650 上传时间:2025-03-27 格式:DOC 页数:53 大小:511.94KB
下载 相关 举报
单片机原理及应用.doc_第1页
第1页 / 共53页
单片机原理及应用.doc_第2页
第2页 / 共53页
点击查看更多>>
资源描述
任课教师:孟建华 08级自动化04班 单片机原理及应用 2.1基本结构 基本组成 中央处理器 (CPU) 存储器 输入/输出接口 CPU 字长8位 00H ~ 0FFH 无符号数 0 ~ 255 有符号数 -128 ~ 127 寻址空间16位地址 64KB×2 工作频率0 ~ 40MHz 程序存储器 0 / 4KB / 8KB ROM / PROM (OTP) (UV)EPROM / E2PROM / FLASH 数据存储器 128B / 256B SRAM 特殊功能寄存器(SFR) 21 (26)个 控制管理片内各功能模块 并行口 4个8位并行双向I/O接口电路 P0、P1、P2、P3 串行口(UART) 1个串行全双工异步接口 4种工作方式 定时/计数器 2 / 3个 16位 0000H ~ 0FFFFH 65536 4种工作方式 中断系统 5 / 6个中断源 2个中断优先级 时钟电路 片内振荡器及时钟产生电路 需外接晶振 总线结构 布尔处理机 实现位操作 命名方式 N N C N N │ │ │ │ │ │ │ │ │ 1 -51子系列 │ │ │ │ 2 -52子系列 增强型 │ │ │ 3 片内无程序存储器 │ │ │ 5 片内有程序存储器 │ │ NMOS或HMOS │ │ C CMOS或CHMOS(低功耗) │ │ S 支持ISP(在线编程) │ 0 掩模ROM │ 7 (UV)EPROM │ 9 FLASH 8 数据 存储器 程序 存储器 定时/计数器 中断源 -51 128B 4KB 2 5 -52 256B 8KB 3 6 8031 8051 8751 89C51 89S52 2.2引脚 封装形式 DIP (Double In-line Package) 双列直插式 PLCC LQFP 引脚功能 40条引脚 电源线(2条) VCC 电源线 +5V VSS 接地线 GND 时钟引脚(2条) XTAL1和XTAL2 Crystal 片内振荡电路输入输出端 有生命,生物,心跳 端口线(8 × 4 = 32条) 4个8位并行I/O端口 P0、P1、P2、P3 单片模式 扩展模式 P0 I/O口 数据总线 低8位地址总线 (分时复用) P1 I/O口 I/O口 P2 I/O口 高8位地址总线 第二功能 注 释 P3.0 RXD 串行数据接收口 P3.1 TXD 串行数据发送口 P3.2 INT0(_________) 外部中断0输入口 P3.3 INT1(_________) 外部中断1输入口 P3.4 T0 计数器0计数脉冲输入口 P3.5 T1 计数器1计数脉冲输入口 P3.6 WR(_______) 片外数据存储器写选通信号输出口 P3.7 RD(______) 片外数据存储器读选通信号输出口 控制线(4条) RST / VPD (9) Reset 复位信号输入端 单片机正常工作的保证 24个时钟周期的高电平 12MHz 1/12μs 2μs 上电复位 手动复位 VPD Voltage Power Down 备用电源 EA(_____) / VPP (31) External Access Enable 片外程序存储器访问允许输入端 EA(_____)=0时,CPU访问片外程序存储器 EA(_____)=1时,CPU访问片内程序存储器 VPP Voltage Pulse of Programming 编程电源 ALE / PROG(___________) (30) Address Latch Enable 地址锁存允许信号输出端 单片机上电正常工作后,ALE引脚不断向外输出正脉冲信号,频率为振荡器频率fosc的1/6。12MHz 2 MHz CPU访问片外存储器时,该信号作为将P0口输出的低8位地址锁存到片外地址锁存器中的控制信号。 ALE = 1 P0地址总线 ALE = 0 P0数据总线 PROG(_________) Programming 编程脉冲输入端 编程器、烧录器、写入器 PSEN(___________) (29) Program Store Enable 片外程序存储器读选通信号输出端 应用模式 工作状态 单片模式 扩展模式 编程状态 2.3存储器配置 哈佛结构 MCS-51单片机 程序存储器和数据存储器分开设计。 普林斯顿结构 微机 只有一个地址空间,程序和数据可以随意安排在这一地址范围内不同的空间。 程序存储器 (ROM) 指令、常数 掉电不失 数据存储器 (RAM) 数据 可用程序改写 在单片机内部,程序存储器和数据存储器存贮器是分开制造的。通常,程序存储器的容量较大,数据存储器的容量较小,这是单片机用作控制的一大特点。 程序存储器 数据存储器 片内 4KB 128B 片外 64KB 64KB 物理上有4个存储空间 片内程序存储器 片外程序存储器 片内数据存储器 片外数据存储器 逻辑上有3个存储空间 片内外统一编址的程序存储器 MOVC 片内数据存储器 MOV 片外数据存储器 MOVX 程序存储器 EA(_____) 输入引脚 E(___)A(___) = 0 访问片外程序存储器 E(___)A(___) = 1 访问片内程序存储器 程序计数器PC 16位程序地址寄存器,专门用来存放下一条需要执行指令的地址,能自动加1。 PC指示程序执行的位置 PC中存放的是程序存储器的地址 PC中存放下一条将要执行的指令的地址 复位后 PC = 0000H 寻址范围:0000H ~ 0FFFFH 64KB 65536B 入口地址 入口地址 复位 0000H INT0(_________) 0003H T0 000BH INT1(_________) 0013H T1 001BH 串行口 0023H T2 002BH 通常,在入口地址处写一条跳转指令,跳转至服务程序。 0000H LJMP 0030H 0003H LJMP 1000H ┇ 000BH LJMP 2000H ┇ 0030H 主程序 ┇ 1000H INT0中断服务程序 ┇ RETI 2000H T0中断服务程序 MOVC 常数 MOVC指令 MOV DPTR, #2000H MOV A, #08H MOVC A, @A+DPTR 片外数据存储器 最大64KB 0000H ~ 0FFFFH 只可用MOVX指令 间接寻址方式访问 读: MOV DPTR, #2008H MOVX A, @DPTR 写: MOV A, #12H MOV DPTR, #2008H MOVX @DPTR, A 片外数据存储器与片外I/O设备统一编址 (如A/D、D/A、I/O芯片等) 片内数据存储器(低128B) 地址范围:00H ~ 7FH 通用数据区 (30H~7FH) 80个字节 用于存放的用户数据或作堆栈区使用。 读: MOV A, 30H ;直接寻址 MOV R0, #30H MOV A, @R0 ;间接寻址 INC R0 写: MOV A, #12H MOV 30H, A 位寻址区 (20H~2FH) 16个字节 即可按字节寻址,又可按位寻址 8 × 16 = 128位 用途: 开关决策、逻辑电路仿真、实时控制 位地址空间:00H ~ 7FH 位操作指令: SETB CLR CPL JB JNB 2FH字节的位地址: D7 D0 7FH 7EH 7DH 7CH 7BH 7AH 79H 78H 将2FH字节的最高位置“1” 不能影响其它位 SETB 7FH ORL 2FH, #10000000B MOV 2FH, #10000000B 最高位清“0” CLR 7FH ANL 2FH, #01111111B 若 2FH 字节的最高位为“1”, 则跳转到LED_ON JB 7FH, LED_ON 若 2FH 字节的最高位为“0”, 则跳转到LED_OFF JNB 7FH, LED_OFF 工作寄存器区 (00H~1FH) 32个字节 4个工作寄存器组 每组8个工作寄存器 R0 ~ R7 由RS1、RS0两位决定目前使用哪组工作寄存器 RS1 RS0 组号 0 0 0 0 1 1 1 0 2 1 1 3 方便快速保护现场 主程序(0组) MOV R0, #12H ;(00H)←12H (程序中断) INC R0 中断服务程序(2组) PUSH PSW SETB RS1 CLR RS0 ; bank2 MOV R0, #34H ;(10H)←34H ┇ POP PSW RETI 工作寄存器的功能: MOV R0, #30H MOV A, @R0 ;间接寻址 寄存器与存储器的区别: 存储器:容量大 速度慢 有地址 寄存器:容量小 速度快 有名字 MCS-51 统一编址 速度一致 MOV A, R0 ;1 byte MOV A, 00H ;2 bytes 片内数据存储器(高128B) 地址范围:80H ~ 0FFH 仅52子系列有 只可用间接寻址方式访问 MOV R0, #80H MOV A, @R0 ;间接寻址 MOV A, 80H ;直接寻址SFR 特殊功能寄存器(SFR) 地址范围:80H ~ 0FFH 只可用直接寻址方式访问 21个 51子系列 26个 52子系列 离散分布 控制、管理各个功能模块(中断、定时器、串行口……) 控制寄存器 状态寄存器 数据寄存器 符号 寄存器名称 地址 ACC 累加器 0E0H B B寄存器 0F0H PSW 程序状态字 0D0H SP 堆栈指针 81H DPL 数据指针低8位 82H DPH 数据指针高8位 83H P0 P0口寄存器 80H P1 P1口寄存器 90H P2 P2口寄存器 0A0H P3 P3口寄存器 0B0H IE 中断允许控制寄存器 0A8H IP 中断优先控制寄存器 0B8H TMOD 定时器方式选择寄存器 89H TCON 定时器控制寄存器 88H TL0 定时器0低8位 8AH TH0 定时器0高8位 8CH TL1 定时器1低8位 8BH TH1 定时器1高8位 8DH SCON 串行口控制寄存器 98H SBUF 串行数据缓冲寄存器 99H PCON 电源控制及波特率选择寄存器 87H 累加器ACC (Accumulator) 具有特殊用途的8位寄存器 专门用来存放操作数或运算结果 3 + 5 = ? MOV A, #3 ; A = 3 ADD A, #5 ; A = 3 + 5 通用寄存器B (General Purpose Register) 8位 专门为乘法和除法设置的寄存器 3 × 5 = ? MOV A, #3 ; A = 3 MOV B, #5 ; B = 5 MUL AB ; BA←A×B 程序状态字PSW (Program Status Word) 8位标志寄存器 用来存放指令执行后的有关状态 可按位寻址 D7 D0 CY AC F0 RS1 RS0 OV - P CY 进位标志位 OV 溢出标志位 AC 半进位位(辅助进位位) 二进制加法 无符号数 有符号数 1111 1111 255 -1 +) 0000 0001 +) 1 +) 1 1 1111 111 0000 0000 256 0 CY=1 最高进位位(进位标志位) (无符号数运算溢出标志位) CS=1 次高进位位 AC=1 半进位位(辅助进位位) (用于BCD码调整) OV=0 溢出标志位 = CYCS (有符号数运算溢出标志位) F0 用户位 RS1、RS0 工作寄存器组 选择控制位 P 奇偶标志位 偶校验 串行通信差错控制 注意标志位(状态位)和控制位区别 标志位(状态位) 指示灯 由硬件系统根据运行状态自动置“1”或清“0”,供用户通过指令查询、判断,决定程序的执行顺序。 CY、AC、OV、P 控制位 开关 由用户通过指令置“1”或清“0”,以控制相应的硬件功能模块。 RS0、RS1 TR1 TR0 写 读 标志位 硬件 软件 控制位 软件 硬件 写控制位: SETB RS1 ; RS1 = 1 CLR RS0 ; RS0 = 0 判断标志位: JB OV, Overflow ;若OV=1则跳转到 Overflow JNB OV, NOT_Overflow ;若OV=0则跳转到 NOT_Overflow 堆栈指针SP (Stack Pointer) 8位寄存器 专门用来存放堆栈的栈顶地址 能自动加1和减1 堆栈是一种按 “后进先出”规律存取数据的存储区域 处理中断、子程序调用 栈区:片内RAM低128B 不可对任意地址操作 堆栈的操作 压栈(入栈) PUSH 弹栈(出栈) POP SP先加一,再入栈(向上生成) 复位后 SP = 07H 修改到 SP = 2FH MOV SP, #2FH 数据指针DPTR (Data Pointer) 16位寄存器 由两个8位寄存器DPH和DPL拼装而成 用来存放16位地址。 用于访问程序存储器和片外数据存储器 访问程序存储器 MOV DPTR, #2000H MOV A, #08H MOVC A, @A+DPTR 访问片外数据存储器 MOV DPTR, #2008H MOVX A, @DPTR MOV A, #12H MOV DPTR, #2008H MOVX @DPTR, A 端口P0 ~ P3 寄存器 端口 端口 字节单元 P1 引脚 位 P1.0 输出锁存、输入缓冲 MOV P1, #12H MOV A, #12H SETB P1.0 SETB ACC.0 字节地址可被8整除的寄存器可按位寻址 最低位位地址与字节地址相同 可按位寻址的寄存器: A B PSW P0 ~ P3 …… 不可按位寻址的寄存器: SP DPTR …… 地址的重叠与区分 片内程序存储器vs片外程序存储器 片外程序存储器 EA(_____) = 0 片内程序存储器 EA(_____) = 1 EA(_____)输入引脚 SETB EA 程序存储器vs片内数据存储器 vs片外数据存储器 程序存储器 MOVC 片内数据存储器 MOV 片外数据存储器 MOVX 例: 访问程序存储器 MOV DPTR, #0030H MOV A, #0 MOVC A, @A+DPTR MOVC A, 0030H 访问片外数据存储器 MOV DPTR, #0030H MOVX A, @DPTR MOVX A, 0030H 访问片内数据存储器 MOV R0, #30H MOV A, @R0 or MOV A, 30H 片内数据存储器高128B vs SFR 高128B 间接寻址方式 MOV R0, #80H MOV A, @R0 SFR 直接寻址方式 MOV A, P0 or MOV A, 80H 字节地址vs位地址 字节地址 字节指令 INC 30H MOV A, 30H 位地址 位指令 CPL 30H MOV C, 30H 2.4时钟 内部时钟方式 高增益反相放大器 外接晶体 0 ~ 24MHz 电容 30pF 帮助起振 XTAL1 XTAL2 外部时钟方式 时钟脉冲从XTAL1或XTAL2接入 不同类型的芯片接法不一样 多个芯片同时工作 机器周期和指令周期 振荡周期 晶振振荡周期 最小时间单位 机器周期 计算机执行一种基本操作的时间单位 CPU访问一次存储器所需要的时间 1机器周期 = 12振荡周期 1μS @12MHz 6状态 (State) S1 ~ S6 2拍(相位)(Phase) P1 ~ P2 S1P1 S1P2 S2P1 S2P2 …… …… S6P1 S6P2 指令周期 执行一条指令所需的时间 1指令周期 = 1 ~ 4机器周期 时间 单周期 双周期 四周期 乘除 空间 单字节 双字节 三字节 pp350 附录A CPU取指、执行时序 每个机器周期,地址锁存信号ALE有效两次,CPU可访问两次存储器 2.5复位 复位操作的主要功能 使单片机从一个稳定的初始状态开始工作 上电复位 手动复位 复位后各寄存器的状态: PC 0000H SP 07H P0~P3 0FFH (输入状态) 片内RAM 不定 SBUF 不定 其他 清“0”(功能关闭) MOV SP, #2FH 复位信号及其产生 RST引脚 复位信号: 高电平 24振荡周期 2机器周期 2μs @12MHz 复位电路 上电复位 手动复位 复位芯片 2.6低功耗工作方式 便携式 电池供电 方式的设定 PCON (87H) D7 D0 SMOD - - - GF1 GF0 PD IDL 不可按位寻址 SMOD 波特率倍频位 GF1 通用标志 GF0 通用标志 PD 掉电方式位 IDL 空闲方式位 空闲(等待、待机)工作方式 CPU停止工作 其它部件工作 中断 定时器 串行口 功耗降低为20% 正常工作电流20mA 空闲状态电流5mA 进入方式: ORL PCON, #00000001B SETB IDL 退出方式: 中断 硬件复位 掉电(停机、休眠)工作方式 所有部件停止工作 片内RAM内容保留 功耗最低 电压2V 电流75μA 进入方式: ORL PCON, #00000010B SETB PD 退出方式: 硬件复位 2.7输入/输出端口 概述 4个 P0、P1、P2、P3 8位 准双向口 正确、合理使用端口 I/O口的功能 单片模式 扩展模式 P0 I/O口 数据总线 低8位地址总线 (分时复用) P1 I/O口 I/O口 P2 I/O口 高8位地址总线 P3 I/O口 或 第二功能 第二功能 注 释 P3.0 RXD 串行数据接收口 P3.1 TXD 串行数据发送口 P3.2 INT0(_________) 外部中断0输入口 P3.3 INT1(_________) 外部中断1输入口 P3.4 T0 计数器0计数脉冲输入口 P3.5 T1 计数器1计数脉冲输入口 P3.6 WR(_______) 片外数据存储器写选通信号输出口 P3.7 RD(______) 片外数据存储器读选通信号输出口 I/O口的内部结构 输出 锁存器(D触发器) 驱动器(场效应管) 输入 缓冲器(三态门) 引脚 特殊功能寄存器 输出: MOV A, #12H MOV P1, A 输入: MOV A, P1 输出 输入 P0 I/O口 C=0 开关向下 漏极开路式 外接上拉电阻 读引脚 先写“1” 读锁存器 总线 C=1 开关向上 推拉式 读引脚 P1 I/O口 内部有上拉电 阻的漏极开路 读引脚 先写“1” 读锁存器 P2 I/O口 开关向左 同P1 同P1 总线 开关向右 同P1 -- P3 I/O口 W=1 同P1 同P1 第二功能 Q=1 漏极d 栅极g 源极s MOV P1, #0FFH MOV A, P1 MOV R1, #0FFH MOV A, R1 I/O口的读操作 读引脚 MOV A, P1 先写“1” 读锁存器 CPL P1.0 “读-修改-写”指令 输出驱动三极管 SETB P1.0 CPL P1.0 I/O口的写操作及驱动能力 MOV P1, A S6P2 写入锁存器 P0 8个LS型TTL门 P1 4 P2 4 P3 4 2.8布尔处理器 功能 位操作 开关决策 逻辑电路仿真 实时控制 资源 CPU 位处理器 寄存器 位累加器CY 存储器 可按位寻址空间 (1) 片内数据存储器20H~2FH单元 (2) 部分SFR I/O口 P0.0~P0.7 P1.0~P1.7 P2.0~P2.7 P3.0~P3.7 指令 位指令 SETB 00H CLR C CPL P1.0 JB OV, Overflow 3.1指令系统概述 指令和程序设计语言 指令 指令系统 程序 程序设计 高级语言 编译 汇编语言 汇编 机器语言 A = 10 + 20 74 0A MOV A, #0AH 24 14 ADD A, #14H 指令格式 操作码 [操作数][,操作数][,操作数] 42个助记符 MOV ADD + 不同的寻址方式 MOV A, #12H MOV A, R0 111条指令 MOV A, Rn 255个机器码 A5除外 反汇编 破译 加密 指令分类 按字节数分类 空间 单字节指令 49条 双字节指令 45条 三字节指令 17条 学会正确计算指令字节数 按指令周期分类 时间 单周期指令 64条 双周期指令 45条 四周期指令 2条 按功能分类 数据传送 28 算术运算 24 逻辑运算 25 控制转移 17 位操作 17 符号注释 Rn R0 ~ R7 工作寄存器 Ri R0、R1 地址寄存器 #data 8位立即数 #data16 16位立即数 direct 8位直接地址(片内数据存储器) addr11 11位目的地址(程序转移) addr16 16位目的地址(程序转移) rel 8位带符号数(补码 -128 ~ +127) 偏移量(程序转移) bit 直接位地址 @ 间接寻址 / 位取反 (X) X中的内容 ((X)) 由X指出的地址单元中的内容 → 数据流向 3.2寻址方式 寻址方式: 如何找到操作数的地址,并提取出来的方法 直接寻址 机器码 助记符 05 30 INC 30H 85 40 30 MOV 30H, 40H MOV A, 40H MOV 30H, A 寄存器寻址 机器码中不出现操作数的地址 05 E0 INC A 04 INC A 08 INC R0 A3 INC DPTR E8 MOV A, R0 A4 MUL AB 84 DIV AB 05 90 INC P1 ;P1是寄存器,不是寄存器寻址 05 90 INC 90H E5 30 MOV A, 30H E5 90 MOV A, P1 E5 F0 MOV A, B 立即数寻址 74 30 MOV A, #30H E5 30 MOV A, 30H 90 12 34 MOV DPTR, #1234H 75 30 40 MOV 30H, #40H 75 81 2F MOV SP, #2FH 寄存器间接寻址 08 INC R0 06 INC @R0 E6 MOV A, @R0 E0 MOVX A, @DPTR ;片外RAM读 F0 MOVX @DPTR, A ;片外RAM写 变址寻址 93 MOVC A, @A+DPTR 83 MOVC A, @A+PC ;当前PC值 仅有的两条使用变址寻址方式的指令 仅有的两条访问程序存储器的指令 位寻址 直接寻址 C2 30 CLR 30H D2 30 SETB 30H 位地址的表达方式: 直接位地址 位名 字节名.位号 字节地址.位号 D2 D4 SETB 0D4H D2 D4 SETB RS1 D2 D4 SETB PSW.4 D2 D4 SETB 0D0H.4 D2 90 SETB P1.0 D2 D7 SETB C D3 SETB C A2 30 MOV C, 30H E5 30 MOV A, 30H 相对寻址 寻找程序转移的目的地址 绝对寻址: 地址 机器码 助记符 ORG 0000H 0000 02 00 30 LJMP MAIN ORG 0030H 0030 74 12 MAIN: MOV A, #12H 相对寻址: 地址 机器码 助记符 ORG 0000H 0000 80 2E SJMP MAIN (0030H – 0002H = 2EH) 0002 ORG 0030H 0030 74 12 MAIN: MOV A, #12H ORG 0050H 0050 80 DE SJMP MAIN (0030H - 0052H = -22H = 0DEH) 0052 rel 8位带符号数(补码 -128 ~ +127) 偏移量(程序转移) 80 FE SJMP $ 80 FE HERE: SJMP HERE B4 12 XX CJNE A,#12H,NOT_EQU 3.3数据传送指令 28条 最基本、最主要的操作 以累加器A为目的操作数的指令 4条 MOV A, Rn MOV A, direct MOV A, @Ri MOV A, #data 以寄存器Rn为目的操作数的指令 3条 MOV Rn, A MOV Rn, direct MOV Rn, #data 非法指令: MOV R1, R0 MOV R7, @R0 以直接地址为目的操作数的指令 5条 MOV direct, A MOV direct, Rn MOV direct, direct MOV direct, @Ri MOV direct, #data [例] MOV 30H, 40H MOV A, 40H MOV 30H, A 以间接地址为目的操作数的指令 3条 MOV @Ri, A MOV @Ri, direct MOV @Ri, #data 16位数据传送指令 1条 MOV DPTR, #data16 ; DPTR←data16 [例] MOV DPTR, #1234H 查表指令 2条 MOVC A, @A+DPTR ; A←((A+DPTR))ROM MOVC A, @A+PC ; A←((A+PC))ROM 仅有的两条访问程序存储器的指令 仅有的两条使用变址寻址方式的指令 [例] 程序存储器 1010H 24H 1011H 05H 1012H 16H 1013H 08H ORG 1000H 1000H MOV A, #0DH 1002H MOVC A, @A+PC 1003H MOV R0, A 0DH + 1003H = 1010H (A) = 02H ORG 7010H DB 02H DB 04H DB 06H DB 08H [例] 程序存储器 7000H 65H 7010H 52H 7011H 64H 7012H 36H 7013H 78H MOV DPTR, #7000H MOV A, #12H MOVC A, @A+DPTR 累加器A与片外RAM传送指令 4条 MOVX A, @DPTR ;A←((DPTR))片外RAM MOVX @DPTR, A ;((DPTR))←(A)片外RAM MOVX A, @Ri ;A←((Ri))片外RAM MOVX @Ri, A ;((Ri))←(A)片外RAM 高8位地址由P2口决定 唯一的4条访问外部数据存储器的指令 [例] 片外RAM 1000H单元中的数 à 片外RAM 2000H单元 MOVX 2000H, 1000H MOV DPTR, #1000H MOVX A, @DPTR MOV DPTR, #2000H MOVX @DPTR, A 输入/输出指令 片外数据存储器与片外I/O设备统一编址 (如A/D、D/A、I/O芯片等) 堆栈操作指令 2条 PUSH direct ; SP←SP+1 ((SP))←(direct) 间接←直接 POP direct ; direct←((SP)) SP←SP-1 直接←间接 [例] 利用堆栈交换70H单元和71H单元的内容 MOV SP, #2FH PUSH 70H PUSH 71H POP 70H POP 71H 70H 71H X Y 错误指令 正确指令 PUSH A PUSH ACC POP A POP ACC PUSH R0 PUSH 00H POP R0 POP 00H SETB ACC.0 交换指令 4条 XCH A, Rn ;(A)ó(Rn) XCH A, direct ;(A)ó(direct) XCH A, @Ri ;(A)ó((Ri)) XCHD A, @Ri ;(A)3~0ó((Ri))3~0 [例]交换30H单元和31H单元的内容 XCH 30H, 31H MOV A, 30H MOV 30H, 31H MOV 31H, A MOV A, 30H XCH A, 31H MOV 30H, A 30H 31H A X Y X Y X Y [例] 交换片外RAM 3000H单元 和片内RAM 30H单元的内容 MOV DPTR, #3000H MOVX A, @DPTR MOV R0, #30H XCH A, @R0 MOVX @DPTR, A 片外 3000H 片内 30H DPTR A R0 X Y 3000H X 30H Y X Y 3.4算术运算指令 24条 加法指令 ADD A, Rn ;A←(A)+(Rn) ADD A, direct ;A←(A)+(direct) ADD A, @Ri ;A←(A)+((Ri)) ADD A, #data ;A←(A)+data [例] MOV A, #0C3H MOV R0, #0AAH ADD A, R0 二进制加法 无符号数 有符号数 1100 0011 195 -61 +) 1010 1010 +) 170 +) -86 1 0000 01 0110 1101 365 -147 CY=1 最高进位位 (无符号数运算溢出标志位) CS=0 次高进位位 AC=0 辅助进位位(半进位位) OV=1 溢出标志位 = CYCS (有符号数运算溢出标志位) 带进位加法指令 ADDC A, Rn ;A←(A)+(Rn)+CY ADDC A, direct ;A←(A)+(direct)+CY ADDC A, @Ri ;A←(A)+((
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服