51单片机课程第5次课优质资料
51单片机第05章dpj
图5-1所示。对事件的整个处理过程,称为中断处 所示。对事件的整个处理过程,称为中断处 或中断服务) 理(或中断服务)。
能够实现中断处理功能的部件称为中断系统; 能够实现中断处理功能的部件称为中断系统;产生中 中断系统 断的请求源称为中断请求源 中断请求源。 断的请求源称为中断请求源。 中断源向CPU提出的处理请求,称为中断请求(或中断 中断源向CPU提出的处理请求,称为中断请求( CPU提出的处理请求 中断请求 申请) 申请)。 进入中断→保护现场→ 进入中断→保护现场→中断处理恢复现场 →中断返回 中断方式优点 大大地提高了CPU的工作效率。 优点: CPU的工作效率 中断方式优点:大大地提高了CPU的工作效率。 5.2 8051单片机中断系统的结构 8051单片机中断系统的结构 有5个中断请求源,两个中断优先级,可两级嵌套。 个中断请求源,两个中断优先级,可两级嵌套。 中断系统结构示意图如下图所示 如下图所示。 中断系统结构示意图如下图所示。
SCON为串行口控制寄存器,字节地址为98H SCON为串行口控制寄存器,字节地址为98H。串行口的 为串行口控制寄存器 98 发送中断和接收中断的中断请求标志TI和RI, 的中断请求标志TI 发送中断和接收中断的中断请求标志TI和RI,格式 如下: 如下:
第五章MCS51单片机的内部资源及应用PPT课件
8
2. 中断源是指在计算机系统中向CPU发出中断请求的来 源, 在MCS-51有3种类型的5个中断源,分别是外部中断 INT0、INT1,定时中断T0、T1和串行中断 。
9
5.2 MCS - 51中断系统控制
有了中断源,那么单片机的5个中断源是如何向单片 机发出中断请求的呢?中断源是通过中断请求标志位来 通知CPU的。
断允许控制位。
=0 :禁止中断;
=1 :允许中断。
EA:总的中断允许控制位(总开关):
=0 :禁止全部中断;
=1 :允许中断。
注意:
(1)MCS-51复位后,IE=00H。若使用中断,则必须用软件方法开放
中断。
(2)CPU响应中断后不会自动关闭开放的中断,在转入中断服务程序
后,应根据需要关闭中断。
• =0:在INT0/INT1端申请中断的信号低电平有效; • =1:在INT0/INT1端申请中断的信号负跳变有效.
12
练习: 要求外中断0中断请求信号为低电平有效,
外中断1中断请求信号为下降沿有效。请设置 TCON有关位。分别利用字节操作和位操作来 完成。
CLR IT0 或 CLR 88H SETB IT1 或 SETB 8AH
14
2. 特殊功能寄存器SCON (9FH)
SM0 SM1 SM2 REN TB0 RB0
98H
TI
RI
串行控制寄存器(SCON)的寄存器地址是98H,位地址 是98H-9FH其中和中断有关的位是它的低两位TI(99H) 和TI(98H)。 TI:串行口发送中断请求标志位。TI=1,送入发送缓冲 器SBUF的一帧数据发送完毕。 RI:串行口接收中断请求标志位。RI=1,一帧数据已经 接收完毕,可以处理相关数据了。 (由硬件自动置位,必须由用户在中断服务程序中用 软件清0)。
MCS51单片机原理(第五章)PPT课件
定时器控制寄存器TCON除可字节寻址外,各位 还可以位寻址(字节地址88H)
5.1.1 定时器方式控制寄存器TMOD
TMOD的格式如下图所示。
控 制 T1
控 制 T0
89H GATE C/T M 1 M 0 GATE C/T M 1 M 0 和T0 类同
5.1.2定时器控制寄存器—TCON(88H)
TCON的格式如下图所示。
D7 D6 D5 D4 D3 D2 D1 D0 TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 位地址 8F 8E 8D 8C 8B 8A 89 88
与中断见相下关一的节申请标志位
{ 0:停T0 计数 1:启T0 计数
5.2.1 方式0----13位方式
由TL1的低5位和TH1的8位构成13位计数器(TL1的 高3位无效)。计数外部脉冲个数:1~8192(213) 定时时间(T=1s):Ts ~8.19*T ms,工作方式 0的结构见下图:
由图中的逻辑电路可知,当GATE=0时,只要TR1 =1就可打开控制门,使定时器工作;当GATE=1 时,只有TR1=1且INT1=1,才可打开控制门。 GATE,TR1,C/T的状态选择由定时器的控制寄 存器TMOD,TCON中相应位状态确定,INT1则是 外部引脚上的信号。
5.2.2 方式1----16位方式
与方式0基本相同,区别仅在于方式1的计数器TL1 和TH1组成16位计数器,从而比方式0有更宽的定 时/计数范围。计数外部脉冲个数:1~65536(216) 定时时间(T=1s):Ts ~ 65.54*T ms
5.2.3 方式2----8位自动重装初值方式
51单片机讲稿第五章修改版2010
四、外部中断
1. 外部中断的触发方式
TCON 寄存器中的 IT0、IT1位的值决定了外部中断触发的特征, 0值对应电平触发,1值对应沿触发。 电平触发的特点是: 在 S5P2 期间产生的低电平信号可直接触发中断。在被响应之 前,中断源必须持续有效,一直到中断实际产生为止,并且在中断 服务程序返回之前清除该信号,否则,机器将再一次进入中断服务 程序。所以,电平触发方式适合于外部输入为低电平,且在中断服 务程序中能清除该中断源申请信号的情况。
IP中的值用于确定该中断处于什么优先级
BDH BC H BB H BAH B9 H B8 H IP - - PT2 PS PT1 PX1 PT0 PX0
位地址 字节地址B8 H 复位后初值为: XX00 0 00 0B
定时/计数器T2 中断优先级低位 串行口中断优先级低位 定时/计数器T1 中断优先级低位
3. 中断入口地址
各中断源对应的中断入口地址如下: 外部中断0 定时/计数器T0 外部中断1 0003H 000BH 0013H
定时/计数器T1
串行口中断
001BH
0023H
CPU从入口地址开始执行中断服务程序,直到遇到1条RETI指 令为止。 CPU执行该指令, 一方面清除优先级有效触发器,另一 方面,从断点弹出断点地址送程序计数器 PC ,从而返回主程序。 因此,现场恢复指令应在RETI前执行。
外中断信号的清除
当51单片机外中断源输入信号设置为电平信号时,在CPU响 应完中断后需要拆除外加的低电平,下图所示即为低电平拆除电路。
例2 微型打印机使用举例 单片机和微型打印机的数据交互。接线如图所示, STB—数据选通,用于启动打印机接收数据并开始打印; ACK—打印机打印完后,给单片机发送的应答信号。
单片机课件-第五章
单 0,使上拉场效应管处于截止状态,因此输出级是漏
片 机
极开路电路。这样,当写脉冲加在触发器时针端CP
原 上时,则与内部总线相连的D端数据取反后就出现在
理 及 应
Q端,再经场效应管反相,在P0引脚上出现的数据正 好是内部总线的数据。
用
编 不难看出,P0口在输出地址/数据信息和作为一般
著 组
I/O口输出数据时,其输出驱动电路的工作状态是有
P1.0
K0
P1.1 K1
P1.3 K2 8031
P1.2
F
(b)8031的接线
R L
编 著
平时就开始模拟一组变
对电路进行模拟是
组 量(D和E)的输入,并
指模拟它的输出状
通过LED显示输出结果。 态如何随输入状态
的变化而变化。
第五章 MCS-51单片机的硬件资源
湘 相应程序为:
潭 大
ORG 0500H
差别的。
第五章MCS-51单片机的硬件资源
湘 潭 大 学
一般P0口的输出级能驱动8个LS TTL 输入,但对 NMOS输入而言,P0口做地址/数据总线口使用时,不 必外加提升电阻。而作一般I/O口使用时,由于输出驱
单 动电路工作于开漏状态,故需外接上拉电阻。
片
机 原
当P0口引脚上输入数据,此时上拉FET应一直
单 片
数据必须一直保持到CPU把它读走为止。P0、P1 、
机 原 理
P2 和P3端口的电路形式不同,其功能也不同。下面 结合电路结构就其功能加以说明。
及 应
一、P0口
用 编
在访问外部存储器时,P0口是一个真正的双向
著 数据口,并分时送出地址的8位和送出(接收)相应
51单片机ch5
信息工程系电子信息教研室
三、实验内容
(1)顺序结构程序练习 a)编程实现 将存放在内部RAM起始地址为50H 60H的 编程实现: RAM起始地址为50H和 a)编程实现:将存放在内部RAM起始地址为50H和60H的2个3 字节无符号数相加,结果存放在内部RAM单元70H 71H、 RAM单元70H、 字节无符号数相加,结果存放在内部RAM单元70H、71H、 72H中 低位对应低字节) 72H中(低位对应低字节) b)编程实现 将存放在内部RAM起始地址为50H 60H的 编程实现: RAM起始地址为50H和 b)编程实现:将存放在内部RAM起始地址为50H和60H的2个3 字节无符号数相减,结果存放在内部RAM单元70H 71H、 RAM单元70H、 字节无符号数相减,结果存放在内部RAM单元70H、71H、 72H中 低位对应低字节) 72H中(低位对应低字节)
(顺序结构、分支结构)
信息工程系电子信息教研室
一、实验目的
(1)掌握汇编语言程序的基本格式 (2)进一步熟悉常用伪指令的用法 灵活选用不同算法进行程序设计, (3)灵活选用不同算法进行程序设计, 掌握算法描述的基本方法
信息工程系电子信息教研室
二、实验设备与器件
HJPC51-B型单片机学习(开发)系统 HJPC51- 型单片机学习(开发) 集成开发系统软件 微机
信息工程系电子信息教研室
三、实验内容
(2)分支结构程序练习 编程实现如下功能: 编程实现如下功能: X (X>0) Y= 20H (X=0) X+5 (X<0)
信息工程系电子信息教研室
四、实验步骤及要求
(1)预习本次实验内容,做好汇编语言源程序设计; 预习本次实验内容,做好汇编语言源程序设计; 将已编好的顺序结构加法程序进行编辑、编译、 (2)将已编好的顺序结构加法程序进行编辑、编译、 下载及运行,设计结果输出方案,并记录运行结果; 下载及运行,设计结果输出方案,并记录运行结果; 将已编好的顺序结构减法程序进行编辑、编译、 (3)将已编好的顺序结构减法程序进行编辑、编译、 下载及运行,设计结果输出方案,并记录运行结果; 下载及运行,设计结果输出方案,并记录运行结果; 将已编好的分支结构程序进行编辑、编译、 (4)将已编好的分支结构程序进行编辑、编译、下载 及运行,设计结果输出方案,并记录运行结果; 及运行,设计结果输出方案,并记录运行结果; (5)进行实验总结
51单片机讲义课程第5次课
程 加法(ADD)、带进位加法(ADDC) 以及带借位减
技 法(SUBB)运算中,如果产生了进位或借位,将自动
术 对PSW中的Cy标志位置“1” 。
学
院
带进位加法(ADDC):(A)(A)+(Cy)+(第二操作数)
带借位减法(SUBB):(A)(A)-(Cy)-(第二操作数)
第三章 MCS-51指令系统
加法指令
成
都 1.不带进位位的加法指令(4条)
理
工
大
学 ADD A,#data
; A+data→A
工 ADD A,direct
; A+(direct )→A
程 ADD A,Rn
; A+Rn→A
用技术学途:A将DAD中A的,值@与Ri源操作数所指内;容相A+加(,Ri)最→终A 结果
院 存在A中。
第三章 MCS-51指令系统
4087H
工
程 先做67H+20H=87H,没有超过0FFH,因此
技 最终保存在A中的是87H,而PSW中的CY=0。
术 学 院
然后再做10H + 30H + CY,结果是40H,所 以最终的结果是4087H。
第三章 MCS-51指令系统
3. 十进制调整指令(1条)
成
都 DA A
理 工
在进行BCD码加法运算时,跟在ADD和ADDC
应该注意,DA指令不能对减法进行十进制调整。
第三章 MCS-51指令系统
减法指令(8条)
成 都
1. 带借位的减法指令(4条)
理
工 SUBB A,Rn
; A-Rn-CY→A
大 SUBB A,direct
; A-(direct )-CY→A
手把手教你学51单片机ppt课件
C/T
定时器或计数器选择位。该位被清零时用作定时器功能(内部系统时钟), 被置1用作计数器功能。
8
TMOD——定时器模式寄存器M1/M0工作模式
M1 M0 工作模式
描述
00
01 10 11
0
兼容8048单片机的13位定时器,THn的8位和TLn的5 位组成一个13位定时器。
1
THn和TLn组成一个16位的定时器。
14
15
2 IT1
1 IE0
0 IT0
7
TMOD—定时器模式寄存器的位分配(地址0x89、不可位寻址)
位
7
6
符号 GATE(T1) C/T(T1)
复位值
0
0
5 M1(T1)
0
4
3
2
M0(T1) GATE(T0) C/T(T0)
0
0
0
1 M1(T0)
0
0 M0(T0)
0
TMOD——定时器模式寄存器的位描述
符号
6
TCON—定时器控制寄存器的位分配(地址0x88、可位寻址)
位
7
6
5
4
3
2
1
0
符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
复位 0
0
0
0
0
0
0
0
值
TCON——定时器控制寄存器的位描述
位 符号
描述
7 TF1 定时器1溢出标志。一旦定时器1发生溢出时硬件置1。清零有两种方式:软件清零,或
定时器:打开定时器后,定时器"存储寄存器" 的值经过一个机器周期自动加1,也就是说, 机器周期是定时器的计数周期。
C51单片机课件 5第五章顺序控制系统
5.2 89C51单片机定时器/计数器
2、中断方式参考源程序:
#include <reg51.h>
sbit P1_0=P1^0; void timer0( ) interrupt 1
{ TH0=0x15;
TL0=0xa0; P1_0=~P1_0; }
void main ( void ) { P1=0xff; TMOD=0X01; TH0=0x15; TL0=0xa0; TR0=1; EA=1; ET0=1; While (1); }
六、顺序控制系统所涉及的知识点
(1)定时/计数器的概念。 (2)89C51单片机中定时/计数器的应用。 (3)C51定时/计数器中断服务程序的设计与应用。
5.2 89C51单片机定时器/计数器
定时和计数功能最终都是通过计数实现的,若计数的事件源是
周期固定的脉冲,则可以实现定时功能,否则只能实现计数功 能。因此可以将定时和计数功能由一个部件实现。
图5-4 定时器/计数器结构框图
5.2 89C51单片机定时器/计数器
2、计数方式:外部输入信号的下降沿触发计数,计数器 在每个时钟周期或时钟周期的12分频采样外部输入信号, 若一个周期的采样值为1,下一个周期的采样值为0,则 计数器加1,故识别一个从1到0的跳变需2个周期,所以,
单片机对外部输入信号最高的计数速率是时钟频率的
实现定时和计数的方法一般有软件、专用硬件电路和可编程定
时器/计数器三种方法。
采用软件只能定时,且占用CPU时间,降低了CPU的使用效率。
专用硬件电路可实现精确的定时和计数,但参数调节不便。
可编程定时器/计数器,不占用CPU时间,能与CPU并行工作, 实现精确的定时和计数,又可以通过编程设置其工作方式和 其它参数,因此使用方便。
单片机05-1
三、扩展方法
CPU应向EPROM提供三种信号线: (1)数据总线:P0口接EPROM的O0~O7(D7~D0) (2)地址总线:P0口经锁存器向EPROM提供地址低8位, P2口提供高8位地址以及片选线。 扩展的程序存储器究竟需要多少位地址线,应根据程序 存储器的总容量和选用的EPROM芯片容量而定。如:2k: 11条(=2k);4K:12条(=4k);8k:13条;16k:14条; 32k:15条;64k:16条。 (3)控制总线:/PSEN—片外程序存储器取指令控制信号, 接EPROM的“/OE”。ALE—接锁存器的/G。/EA—接地。 扩展单片EPROM时,EPROM的地址线分别接到单片机上 对应的地址线上,而/CE片选信号接地。 扩展二片以上的EPROM芯片时,应考虑片选控制电路, 此时EPROM的片选端应由片选信号来控制。片选信号可采 用线选译码法或者采用全地址译码法产生片选。
5.1 概 述
要点
1.单片机外总线结构 2.MCS-51系列单片机扩展时的地址译码规则 3.MCS-51单片机扩展时的地址译码方法
一、单片机外总线结构
单片机系统扩展的方法有并行扩展法和串行扩展法两种。 并行扩展法是指利用单片机的三总线(AB、DB、CB)进 行的系统扩展;串行扩展法是利用SPI三线总线或I2C双总 线的串行系统扩展。 主要介绍并行扩展法。 外总线结构如图5-1所示。
全地址译码法
5.2
程序存储器的扩展技术要点
一、访问外部程序存储器的时序
1、基本扩展电路 MCS-51系列单片机扩展外部程序存储器的基本硬件电路 如图所示。
访问外部程序存储器ROM的时序:
如图所示(取指令代码)
取指令操作时序(未考虑片外数据存储器时)
取常数时工作时序
MCS51单片机原理课件(第五章)
5.3 MCS-51定时器/计数器的应用
在使用定时器/计数器功能的程序中,你需要做如 下步骤的工作:
1. 按实际需要选择定时/计数功能
2. 按时间或计数长度选择工作方式
3. 计算时间常数并进行初始化编程
4. 对定时器进行初始化编程:使用定时器工作之前, 先写入控制寄存器,确定好定时器工作方式。初 始化编程格式如下:
TR:定时器/计数器开闭控制位。
5.2 定时器/计数器的4种工作方式
每个定时/计数器还有4种工作方式,也就是每个 定时器可构成4种电路结构方式。(由前面所述的 TMOD寄存器的M0和M1来设置 在方式0、1和2,T0和T1的工作方式相同,在方式 3,两个定时器的模式不同。下面以T1为例,分述 各种工作模式的特点和用法。
5.2.2 方式1----16位方式
与方式0基本相同,区别仅在于方式1的计数器TL1 和TH1组成16位计数器,从而比方式0有更宽的定 时/计数范围。计数外部脉冲个数:1~65536(216) 定时时间(T=1s):Ts ~ 65.54*T ms
5.2.3 方式2----8位自动重装初值方式
MOV TMOD,# 方式字 MOV THx,#XH MOV TLx,#XL (SETB EA ) (SETB ETx ) SETB TRx
;选择方式 ;装入Tx时间常数(初值) ;开Tx中断 ;启动Tx定时器
5.对计数溢出需要作相应的编程处理,可以使用 查询方式查询计数是否溢出,也可使用中断方式 来处理。编程格式如下:
LJMP MAIN
LJMP PTS
5.4定时器/计数器的应用举例
例1:由P1.0输出方波信号,周期为2ms,设系统 时钟频率为12MHz。
新编单片机应用技术第五章MCS-51系统扩展技术-精品文档资料PPT课件
概况二
点击此处输入相关文本内容 点击此处输入相关文本内容
概况三
点击此处输入相关文本内容 点击此处输入相关文本内容
项目引入
1.项目描述 片外RAM对信号灯的控制及可编程I/O口的应用 2.硬件电路与工作原理 让学生根据任务分析硬件要求,画出具体电路,并在实验 开发板上接线 3.程序设计(给出控制程序)
控制总线—— CB,ALE 、EA P、SEN WR 、 RD 、等。
12
§7-2 存储器的扩展
一、三总线的连接 1、数据线的连接
P0口的八位线承担此任,此时不用外接上拉电阻。 2、地址线的连接
P0口承担地址低八位线,A0 ~ A7; P2口承担地址高八位线。A8 ~ A15。 注意:P0口线地址 / 数据分时复用,需用地址锁存器
SJMP START
;8个数据读完,继续从第一个数据单元开始。
7
单片机内资源少,容量小,在进行较复杂过程的控制时, 它自身的功能远远不能满足需要。为此,应扩展其功能。
MCS-51单片机的扩展性能较强,根据需要,可扩展:
ROM、RAM; 定时 / 计数器; 并行I / O口、串行口; 中断系统扩展等。
OE WE CS2 CS1
22 27 26 20
接 8031RD 接 8031W R VCC
1 2 0 0× 8
b 5
a
c
d
e
g 3
f
2 dp
7
6
4
0
PC0 0
1
2
3
PC1 4
5
6
7
PC2 8
9
10
11
PC3 12
13
14
15
PA0~PA 7
单片机原理及应用(C51版)第5章MCS-51单片机PPT课件
定时器/计数器T0工作模式2逻辑结构框图
-
16
4. 工作模式3 工作模式3对T0和T1大不相同。若将T0设置为模式3,
TL0和TH0被分成为两个相互独立的8位计数器。
5. 波特率发生器 定时器T0和T1可同时工作在不同的工作方式。在定时器
T0工作在模式3时,尽管TR1和TF1被T0占用,但T1仍可 通过M0M1设置其工作模式为0~2。此时,T1常用作串 口的波定特时率器/发计生数器器T。0工作模式3逻辑结构框图
定时器/计数器1
串行口
-
6
5.1.3 MCS-51中断响应过程
MCS-51系列单片机的中断响应过程可分为中断响应、 中断处理和中断返回三个阶段。
1. 中断响应 CPU响应中断的条件主要有以下几点: (1)有中断源发出中断请求; (2)中断总允许为EA=1,即CPU开中断; (3)请求中断的中断源的中断允许位为1
{
TH0 =0-50000 / 256;
//重新装入初值
TL0 =0-50000 % 256;
while(!TF0) ;
//等待T0溢出
TF0 = 0;
//清除溢出标志位
i ++;
//软件计数加1
if(i == 10)
{
led = ~led;
// P1.0取反输出
i = 0;
//软件计数器清0
}
}
}
(2)TCON寄存器 TCON是定时器/计数器0和1(T0、T1)的控制寄存器, 同时也用来锁存T0、T1的溢出中断请求标志和外部中断请
求标志。
(3)SCON寄存器 SCON为串行口控制寄存器,其中的低两位用作串行口中 断请求标志。
51单片机学习第五章
第五章汇编语言程序设计基础(共3次课,共6课时)5.1汇编程序的汇编一、汇编程序功能汇编源程序目标程序(汇编指令程序)(机器码指令程序)汇编指令与机器码指令有一一对应的关系。
汇编程序是一种翻译程序,将源程序翻译成目标程序。
二、汇编程序的汇编过程汇编有两种方法:手工汇编、机器汇编。
1.手工汇编:第一次汇编:确定地址,翻译成各条机器码,字符标号原样写出;第二次汇编:标号代真,将字符标号用所计算出的具体地址值或偏移量代换。
源程序地址目标程序第一次汇编第二次汇编ORG 1000HSTART:MOV R0,BUFFER-1 1000 A82F A82FMOV R2,#00H 1002 7A00 7A00MOV A,@R0 1004 E6 E6MOV R3,A 1005 FB FBINC R3 1006 0B 0BSJMP NEXT 1007 80NEXT 8005LOOP:INC R0 1009 08 08CJNE @R0,#44H,NEXT 100A B644NEXT B64401INC R2 100D 0A 0ANEXT:DJNZ R3,LOOP 100E DBLOOP DBF9MOV RESULT,R2 1010 8A2A 8A2ASJMP $ 1012 80FE 80FEBUFFER DATA 30HRESULT DATA 2AHEND2.机器汇编两次扫描过程。
第一次扫描:检查语法错误,确定符号名字;建立使用的全部符号名字表;每一符号名字后跟一对应值(地址或数)。
第二次扫描:是在第一次扫描基础上,将符号地址转换成真地址(代真);利用操作码表将助记符转换成相应的目标码。
三、伪指令伪指令是告诉汇编程序,如何汇编源程序的指令。
伪指令既不控制机器的操作,也不能被汇编成机器代码,故称为伪指令。
1.起始地址伪指令 ORGORG addr16用于规定目标程序段或数据块的起始地址,设置在程序开始处。
2.汇编结束伪指令 END告诉汇编程序,对源程序的汇编到此结束。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(R3)=0110 0111B,表示的BCD码为67,(CY)=0。 执行以下指令:
都
ADD A,R2
理ቤተ መጻሕፍቲ ባይዱ
DA A
工
由于(A)=0010 0011B,即23,且(CY)=1,即
理
工
大
学 ADD A,#data
; A+data→A
工 ADD A,direct
; A+(direct )→A
程 ADD A,Rn
; A+Rn→A
用技术学途:A将DAD中A的,值@与Ri源操作数所指内;容相A+加(,Ri)最→终A 结果
院 存在A中。
2019年8月21日3时19分
第三章 MCS-51指令系统
术
DA A ; A=23H,按十进制规律加
学
院
2019年8月21日3时19分
第三章 MCS-51指令系统
调整要完成的任务是:
成 都 理
(1)当累加器A中的低4位数出现了非 BCD码(1010~1111)或低4位产生进位
工 (AC=1),则应在低4位加6调整,以产
大 生低4位正确的BCD结果。
学
工 (2)当累加器A中的高4位数出现了非BCD
ADDC A,Rn ADDC A,direct
; A+Rn+CY→A ; A+(direct )+CY→A
大
ADDC A,@Ri
; A+(Ri)+CY→A
学
ADDC A,#data
; A+data+CY→A
工
程 用途:将A中的值和其后面的值以及进位位C中的值相
技 术
加,最终结果存在A,常用于多字节数运算中。
成 例:设(A)=49H,(R0)=6BH
都
执行: ADD A,R0
理 工 大
结果:CY=?,AC=?,P=?,OV=?, (A)=?
学
工 程
CY=0,AC=1,P=0,OV=1, (A)=B4H
技
术
学
院
2019年8月21日3时19分
第三章 MCS-51指令系统
2.带进位位的加法指令(4条)
成
都 理 工
第三章 MCS-51指令系统
2 算术运算类指令(24条)
成
Arithmetic Operations
都
理
工
大 主要对8位无符号数;也可用于带符号数运算。
学 工
包括:加、减、乘、除、加1、减1运算指令
程
影响PSW有关位。
技
术
学
院
2019年8月21日3时19分
第三章 MCS-51指令系统
算术运算类指令(6种/24条)
成
都
0001 0000 0110 0111
1067H
理 工
0011 0000 0010 0000
3020H
大 学
0100 0000 1000 0111
4087H
工
程 先做67H+20H=87H,没有超过0FFH,因此
技 最终保存在A中的是87H,而PSW中的CY=0。
术 学 院
然后再做10H + 30H + CY,结果是40H,所 以最终的结果是4087H。
技 法(SUBB)运算中,如果产生了进位或借位,将自动
术 对PSW中的Cy标志位置“1” 。
学
院
带进位加法(ADDC):(A)(A)+(Cy)+(第二操作数)
带借位减法(SUBB):(A)(A)-(Cy)-(第二操作数)
2019年8月21日3时19分
第三章 MCS-51指令系统
加法指令
成
都 1.不带进位位的加法指令(4条)
都 理
中,计算R1R0+R3R2,结果存在R5R4中。
工
大 学 工
MOV A,R0 ADD A,R2 ;R0+R2→A和CY
程
MOV R4,A
技
MOV A,R1
术
ADDC A,R3 ;R1+R3+CY→A和CY
学 院
MOV R5,A
2019年8月21日3时19分
第三章 MCS-51指令系统
又例: 1067H+3020H
2019年8月21日3时19分
第三章 MCS-51指令系统
3. 十进制调整指令(1条)
成
都 DA A
理 工
在进行BCD码加法运算时,跟在ADD和ADDC
大指令之后,用于对累加器A中刚进行的两个BCD码的
学加法的结果进行十进制调整。
工 程
例:A=0001 0101BCD(代表十进制数15)
技
ADD A,#8; A=1DH,按二进制规律加
术 学
0~65535。
院
2019年8月21日3时19分
第三章 MCS-51指令系统
例: 1067H+30A0H
成
都
0001 0000 0110 0111
1067H
理 工
0011 0000 1010 0000
30A0H
大 学
0100 0001 0000 0111
4107H
工 先做67H+A0H=107H,而107H显然超过了
成
都 加法运算:
理 工
带进位加法运算:
大 带借位减法运算:
(ADD——4条) (ADDC——4条) (SUBB——4条)
学 加1/减1操作:
(INC,DEC——9条)
工 程
单字节乘/除法运算: (MUL,DIV——2条)
技 十进制调整:
(DA A——1条)
术
学
院
2019年8月21日3时19分
第三章 MCS-51指令系统
加法运算:
成 都 理
带进位加法运算: 带借位减法运算:
(ADD——4条) (ADDC——4条) (SUBB——4条)
工大
学 工
所有的加法(ADD)、带进位加法(ADDC)、带借位 减法(SUBB)运算都是以 A为一个加数或被减数,最 终结果也存进 A 。
程 加法(ADD)、带进位加法(ADDC) 以及带借位减
学
院
2019年8月21日3时19分
第三章 MCS-51指令系统
成
都 理 工
说明:由于51单片机是一种8位机,所以只能 做8位的数学运算,但8位运算的范围只有
大 0~255,这在实际工作中是不够的,因此就
学 工 程
要进行扩展,一般是将2个8位(两字节)的数 学运算合起来,成为一个16位的运算,这
技 样,可以表达的数的范围就可以达到
程 码(1010~1111)或高4位产生进位
技 术 学
(CY=1),则应在高4位加6调整,以产生 高4位正确的BCD结果。
院 十进制调整指令执行后,PSW中的CY表
示结果的百位值。
2019年8月21日3时19分
第三章 MCS-51指令系统
例 若(A)=0101 0110B,表示的BCD码为56,
成
程 0FFH,因此最终保存在A中的是07H,而1则到
技 术 学
了PSW中的CY位了。换言之,CY就相当于是 100H。
院 然后再做10H + 30H + CY,结果是41H,所
以最终的结果是4107H。
2019年8月21日3时19分
第三章 MCS-51指令系统
成 例:设1067H存在R1R0中, 30A0H存在R3R2