在直接寻址中,操作数存放在存储器中,指令中给出的是操作数的存放地址。 指令执行过程中,地址值被送上地址总线,经译码后选通操作数所在的存储单元, 这样就可对操作数进行操作。 在寄存器间接寻址中,操作数存放在存储器中,该存储单元的地址又存放在 寄存器中,而指令中给出的是寄存器名称。执行这类指令时,CPU将寄存器的值 (即操作数的地址)送上地址总线译码,选通操作数所在的存储单元,再对操作 数进行操作。书写时,寄存器名称前要加“@”。 在变址寻址中,操作数存放在程序存储器中,操作数的地址是累加器A与数 据指针DPTR或程序计数器PC的值的和。 3.4指令系统 MCS-51系列单片机指令系统丰富、完整,共有111条指令。按照它们的操 作性质可划分成数据传送、算术操作、逻辑操作、程序转移、位操作等五类。如 果按照字节数分类,则有49条单字节指令、46条双字节指令和16条三字节指 令。若按指令执行时间分类,则有64条单周期指令、45条双周期指令和2条四 周期指令。 数据传送就是将数据从一个部件传送到另一个部件,它是单片机最基本、最 主要、量最大的操作。发送数据的部件称为源,接收数据的部件称为目的地 以累加器为目的地的指令是将工作寄存器内容或存储单元内容或立即数送 给累加器。 以Rn为目的地的指令是将累加器内容、存储单元内容或立即数送工作寄存 以直接地址为目的地的指令是把累加器、工作寄存器、存储单元或立即数送 片内数据存储器单元中(用直接寻址表示) 以间接地址为目的地的指令是把累加器、存储单元或立即数送片内数据存储 器单元中(用间接寻址表示) 以16位数据指针为目的地的指令是将一个16位的立即数送给数据指针 DPTR 累加器与片外数据存储器间的传送指令(输入/输出指令) 程序存储器操作指令(查表指令) 数据交换指令
在直接寻址中,操作数存放在存储器中,指令中给出的是操作数的存放地址。 指令执行过程中,地址值被送上地址总线,经译码后选通操作数所在的存储单元, 这样就可对操作数进行操作。 在寄存器间接寻址中,操作数存放在存储器中,该存储单元的地址又存放在 寄存器中,而指令中给出的是寄存器名称。执行这类指令时,CPU 将寄存器的值 (即操作数的地址)送上地址总线译码,选通操作数所在的存储单元,再对操作 数进行操作。书写时,寄存器名称前要加“@”。 在变址寻址中,操作数存放在程序存储器中,操作数的地址是累加器 A 与数 据指针 DPTR 或程序计数器 PC 的值的和。 3.4 指令系统 MCS-51 系列单片机指令系统丰富、完整,共有 111 条指令。按照它们的操 作性质可划分成数据传送、算术操作、逻辑操作、程序转移、位操作等五类。如 果按照字节数分类,则有 49 条单字节指令、46 条双字节指令和 16 条三字节指 令。若按指令执行时间分类,则有 64 条单周期指令、45 条双周期指令和 2 条四 周期指令。 数据传送就是将数据从一个部件传送到另一个部件,它是单片机最基本、最 主要、量最大的操作。发送数据的部件称为源,接收数据的部件称为目的地。 以累加器为目的地的指令是将工作寄存器内容或存储单元内容或立即数送 给累加器。 以 Rn 为目的地的指令是将累加器内容、存储单元内容或立即数送工作寄存 器。 以直接地址为目的地的指令是把累加器、工作寄存器、存储单元或立即数送 片内数据存储器单元中(用直接寻址表示)。 以间接地址为目的地的指令是把累加器、存储单元或立即数送片内数据存储 器单元中(用间接寻址表示)。 以 16 位数据指针为目的地的指令是将一个 16 位的立即数送给数据指针 DPTR。 累加器与片外数据存储器间的传送指令(输入/输出指令) 程序存储器操作指令(查表指令) 数据交换指令
堆栈操作指令 算术运算类指令 加法指令 减法指令 加1指令 减1指令 乘法指令 除法指令 十进制调整指令 逻辑运算类指令 与运算指令 或运算指令 异或运算指令 累加器操作指令 移位指令 控制转移类指令 无条件转移指令 条件转移指令 子程序调用和返回指令 空操作指令 位操作指令 可进行位操作的位及其表示方法 位传送指令 位修改指令 位逻辑运算指令 位条件转移指令 伪指令 3.5汇编语言程序设计 汇编语言源程序格式 数据处理程序 代码转换程序
堆栈操作指令 算术运算类指令 加法指令 减法指令 加 1 指令 减 1 指令 乘法指令 除法指令 十进制调整指令 逻辑运算类指令 与运算指令 或运算指令 异或运算指令 累加器操作指令 移位指令 控制转移类指令 无条件转移指令 条件转移指令 子程序调用和返回指令 空操作指令 位操作指令 可进行位操作的位及其表示方法 位传送指令 位修改指令 位逻辑运算指令 位条件转移指令 伪指令 3.5 汇编语言程序设计 汇编语言源程序格式 数据处理程序 代码转换程序
数值运算程序 查表及散转程序 子程序及其调用 第四章中断系统与定时/计数器 本章教学提要 教学重点:单片机中断的概念 单片机的中断系统 单片机的定时/计数器及其应用 教学难点:单片机的中断系统;单片机的定时计数器。 本章教学内容 1输入/输出控制方式 无条件传送方式是指计算机不考虑外围设备的状态,CPU可随时执行输入或 输出指令,立即进行数据传送的一种方式。 程序查询传送方式是指CPU在与外围设备进行数据传送前,先对外围设备的 状态进行査询,若确定外围设备已准备就绪,CPU执行输入输出指令,进行数据 传送,否则,CPU继续进行查询,直到外围设备准备就绪为止。 中断传送方式是CPU接到外围设备的处理请求后,暂停执行原来的程序,转 去执行对外设请求的处理,与外围设备进行数据交换,数据交换完后,返回到原 来的程序继续执行。 直接存储器传送(DMA)方式是CPU出让总线控制权,系统利用硬件(DMA 控制器)来控制总线,使外围设备与内存间通过总线建立直接通道,用于数据的 交换。当数据传送完成后,CPU再收回对总线的控制权。 4.2中断系统 中断是用以提高计算机工作效率的一种重要技术。所谓中断是指CPU在正常 执行程序的过程中,由于计算机内部或外部发生了另一事件(如定时时间到,超 压报警等),请求CPU迅速去处理,CPU暂时停止当前程序的运行,而转去处理 所发生的事件,待发生的事件处理完以后,CPU再返回到原来暂停的地方,继续 执行原来程序,这样一个过程称为中断
数值运算程序 查表及散转程序 子程序及其调用 第四章 中断系统与定时/计数器 本章教学提要 教学重点:单片机中断的概念 单片机的中断系统 单片机的定时/计数器及其应用 教学难点:单片机的中断系统;单片机的定时计数器。 本章教学内容 4.1 输入/输出控制方式 无条件传送方式是指计算机不考虑外围设备的状态,CPU 可随时执行输入或 输出指令,立即进行数据传送的一种方式。 程序查询传送方式是指 CPU 在与外围设备进行数据传送前,先对外围设备的 状态进行查询,若确定外围设备已准备就绪,CPU 执行输入输出指令,进行数据 传送,否则,CPU 继续进行查询,直到外围设备准备就绪为止。 中断传送方式是 CPU 接到外围设备的处理请求后,暂停执行原来的程序,转 去执行对外设请求的处理,与外围设备进行数据交换,数据交换完后,返回到原 来的程序继续执行。 直接存储器传送(DMA)方式是 CPU 出让总线控制权,系统利用硬件(DMA 控制器)来控制总线,使外围设备与内存间通过总线建立直接通道,用于数据的 交换。当数据传送完成后,CPU 再收回对总线的控制权。 4.2 中断系统 中断是用以提高计算机工作效率的一种重要技术。所谓中断是指 CPU 在正常 执行程序的过程中,由于计算机内部或外部发生了另一事件(如定时时间到,超 压报警等),请求 CPU 迅速去处理,CPU 暂时停止当前程序的运行,而转去处理 所发生的事件,待发生的事件处理完以后,CPU 再返回到原来暂停的地方,继续 执行原来程序,这样一个过程称为中断
中断源是指向CPU发出中断请求的来源或引起中断的事件。主要有以下几 种:外围设备,故障源,实时时钟电路,人为设置的中断源等 单片机的中断系统主要有中断源、与中断有关的特殊功能寄存器、中断入口 及中断查询逻辑电路等组成。 MCS-51系列单片机是一种多中断源的单片机。以8051为例,共有5个中断 源,其中2个是外部中断,即外部中断0和外部中断1,它们的中断请求信号分 别由引脚INT(P3.2)和Im(P3.3)输入;2个为内部定时器中断,由片内定 时/计数器T0和T1计数溢出发出中断请求信号:1个为片内串行口中断,串行 口每接收或发送完一组串行数据就产生一个中断请求信号。这些中断源的中断请 求信号分别由特殊功能寄存器TCON和SCON的相关位锁存。 8051单片机的5个中断源分成2个优先级别,每一个中断请求源都可以编 程设置为高优先级中断或低优先级中断,能实现两级中断嵌套。 中断控制是指提供给用户使用的中断控制手段,也就是用户可以通过设置4 个与中断有关的特殊功能寄存器中的状态位,来使用MCS-51单片机的中断系统。 这4个特殊功能寄存器分别是:定时器控制寄存器TCON;串行口控制寄存器SCON 中断允许控制寄存器IE:中断优先级控制寄存器IP 4.3中断处理过程 个完整的中断处理过程,一般可分为三个阶段:中断响应、中断处理和中 断返回。 中断响应是对中断源提出的中断请求的接受。 中断处理又称中断服务,是指CPU从入口地址开始执行中断服务程序,直到 执行完中断返回指令RETI为止的过程。 中断返回是指中断服务程序执行完成后,CPU返回到断点处,继续执行原来 的程序。 CPU响应中断后,必须及时清除相应的中断请求标志,否则,就意味着该中 断请求仍存在,在中断返回后,CPU将可能再次响应该中断,造成中断混乱。 中断响应时间的概念 4定时/计数器
中断源是指向 CPU 发出中断请求的来源或引起中断的事件。主要有以下几 种:外围设备,故障源,实时时钟电路,人为设置的中断源等。 单片机的中断系统主要有中断源、与中断有关的特殊功能寄存器、中断入口 及中断查询逻辑电路等组成。 MCS-51 系列单片机是一种多中断源的单片机。以 8051 为例,共有 5 个中断 源,其中 2 个是外部中断,即外部中断 0 和外部中断 1,它们的中断请求信号分 别由引脚 INT0 (P3.2)和 INT1 (P3.3)输入;2 个为内部定时器中断,由片内定 时/计数器 T0 和 T1 计数溢出发出中断请求信号;1 个为片内串行口中断,串行 口每接收或发送完一组串行数据就产生一个中断请求信号。这些中断源的中断请 求信号分别由特殊功能寄存器 TCON 和 SCON 的相关位锁存。 8051 单片机的 5 个中断源分成 2 个优先级别,每一个中断请求源都可以编 程设置为高优先级中断或低优先级中断,能实现两级中断嵌套。 中断控制是指提供给用户使用的中断控制手段,也就是用户可以通过设置 4 个与中断有关的特殊功能寄存器中的状态位,来使用 MCS-51 单片机的中断系统。 这4个特殊功能寄存器分别是:定时器控制寄存器TCON;串行口控制寄存器SCON; 中断允许控制寄存器 IE;中断优先级控制寄存器 IP。 4.3 中断处理过程 一个完整的中断处理过程,一般可分为三个阶段:中断响应、中断处理和中 断返回。 中断响应是对中断源提出的中断请求的接受。 中断处理又称中断服务,是指 CPU 从入口地址开始执行中断服务程序,直到 执行完中断返回指令 RETI 为止的过程。 中断返回是指中断服务程序执行完成后,CPU 返回到断点处,继续执行原来 的程序。 CPU 响应中断后,必须及时清除相应的中断请求标志,否则,就意味着该中 断请求仍存在,在中断返回后,CPU 将可能再次响应该中断,造成中断混乱。 中断响应时间的概念 4.4 定时/计数器
单片机应用系统中,实现定时的方法一般有三种:软件定时、硬件定时可编 程定时/计数器。 MCS-51系列单片机的51子系列内部有2个16位的可编程定时/计数器,简 称为定时器0(T0)和定时器1(T1)。它们都具有定时功能和计数功能,可用 于定时或延时控制、对外部事件的检测、计数等。 MCS-51单片机内部定时/计数器的实质是一个16位的可编程加法计数器 所谓可编程是指定时/计数器的工作方式、定时时间、启动方式等均可编制程序 加以控制,而加法计数器(又称加1计数器)是指每来一个计数脉冲,计数器就 加1,直到计数器计满产生溢出 当定时/计数器工作在计数器方式时,对来自输入引脚T0(P3.4)和T1(P3.5) 的外部信号计数。外部信号的有效形式为边沿触发信号(下降沿触发),每个机器 周期CP对外部计数脉冲进行采样。若前一个机器周期采样为高电平,后一个机 器周期采样为低电平,即为一个有效的计数脉冲,计数器加1。由于识别一个计 数信号需要2个机器周期,因此,计数器计数的最高频率为晶振频率的1/24。 定时/计数器工作在定时器方式时,是对单片机内部的机器周期脉冲进行计 数。每一个机器周期,计数器加1。由于1个机器周期等于12个振荡周期,所 以计数频率为晶振频率的1/12。可以看出,定时时间不仅与计数器中设定的计 数初值有关,还与系统的晶振频率有关。 TMOD寄存器用来设定定时/计数器的工作模式,低4位用于T0,高4位用于 。其地址为8驲H,不可位寻址,只能用字节操作指令进行设置。 控制寄存器TCON中的高4位用作定时/计数器的运行控制和溢出标志,低4 位与外部中断有关。 MCS-51单片机的定时/计数器T0有模式0、模式1、模式2和模式3四种工 作模式,定时/计数器T1有模式0、模式1和模式2三种工作模式,由模式寄存 器TMOD中的M1、M0两个选择位设定。 4.5定时/计数器的应用 4.6外部中断源的扩展
单片机应用系统中,实现定时的方法一般有三种:软件定时、硬件定时可编 程定时/计数器。 MCS-51 系列单片机的 51 子系列内部有 2 个 16 位的可编程定时/计数器,简 称为定时器 0(T0)和定时器 1(T1)。它们都具有定时功能和计数功能,可用 于定时或延时控制、对外部事件的检测、计数等。 MCS-51 单片机内部定时/计数器的实质是一个 16 位的可编程加法计数器。 所谓可编程是指定时/计数器的工作方式、定时时间、启动方式等均可编制程序 加以控制,而加法计数器(又称加 1 计数器)是指每来一个计数脉冲,计数器就 加 1,直到计数器计满产生溢出。 当定时/计数器工作在计数器方式时,对来自输入引脚 T0(P3.4)和 T1(P3.5) 的外部信号计数。外部信号的有效形式为边沿触发信号(下降沿触发),每个机器 周期 CPU 对外部计数脉冲进行采样。若前一个机器周期采样为高电平,后一个机 器周期采样为低电平,即为一个有效的计数脉冲,计数器加 1。由于识别一个计 数信号需要 2 个机器周期,因此,计数器计数的最高频率为晶振频率的 1/24。 定时/计数器工作在定时器方式时,是对单片机内部的机器周期脉冲进行计 数。每一个机器周期,计数器加 1。由于 1 个机器周期等于 12 个振荡周期,所 以计数频率为晶振频率的 1/12。可以看出,定时时间不仅与计数器中设定的计 数初值有关,还与系统的晶振频率有关。 TMOD 寄存器用来设定定时/计数器的工作模式,低 4 位用于 T0,高 4 位用于 T1。其地址为 89H,不可位寻址,只能用字节操作指令进行设置。 控制寄存器 TCON 中的高 4 位用作定时/计数器的运行控制和溢出标志,低 4 位与外部中断有关。 MCS-51 单片机的定时/计数器 T0 有模式 0、模式 1、模式 2 和模式 3 四种工 作模式,定时/计数器 T1 有模式 0、模式 1 和模式 2 三种工作模式,由模式寄存 器 TMOD 中的 M1、M0 两个选择位设定。 4.5 定时/计数器的应用 4.6 外部中断源的扩展