单片机笔记 - 图文

更新时间:2023-03-15 20:49:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

CS、DS就是所谓的段寄存器。一个程序往往分为好几个段。CS中保存了代码段的基地址,DS保存的是数据段的基地址,而IP中保存的是所要执行的下一条指令的地址。

计算机内,所有数据都是二进制数据,不管是数据还是机器指令都是二进制,也就是说指令和数据在内存中是一样表示的,这样如果内存中存在两段数据,一段是数据,一段是指令,如果我们指令段的基址写入CS中那么计算机就会认为这个段是指令段,反之我们把数据段基址写入CS中,计算机也会认为数据段是可执行的就会执行,但执行时就会出错,因为数据段不是我们写的指令,其结果很难预料,所以计算机分辨指令是根据CS段寄存器来的.区别就看你把段地址装入哪个寄存器中。

CS为代码段寄存器 内容为2000 IP为指令指针 即计算机下一条要执行的指令的有效地址

故计算机要执行的指令的物理地址为 CS×16+IP=20000+0000=20000H

在右侧 内存中存放的是要执行的指令 如第一条指令是 MOV AX,0123H 它存放的物理地址就是20000H 该指令占3个字节 第一个字节 B8H 为操作码

表示该指令时将一个操作数传送给累加器AX.

第二个字节 第三个字节 就是要传送的操作数 低字节在前 即23H 高字节在后 即 01H

当将该指令读入计算机执行后,指令指针IP会自动加3,使IP=0003H 则指向下一条要执行的指令 其物理地址 CS×16+IP=20003H

指令指针EIP、IP(Instruction Pointer)是存放下次将要执行的指令在代码段的偏移量。

什么是MCS-51单片机的震荡周期,状态周期,机器周期,指令周期。当采用6MHz晶振时,每个机器周期是多少?

振荡周期:也称时钟周期,是指为单片机提供时钟信号的振荡源的周期(也叫时钟周期),当采用6MHz晶振时,一个振荡周期是1/6M秒。

状态周期:每个状态周期为时钟周期的2倍,一个状态周期为,2/6M秒。

机器周期:一个机器周期包含6个状态周期,也就是12个时钟周期,一个状态周期为12/6M秒。

指令周期:它是指CPU完成一条操作的所需的全部时间。每条指令执行时间都是有一个或几个机器周期组成。MCS-51系统中,有单周期指令、双周期指令和四周期指令。

mcs-51单片机中断优先级寄存器IP

在MCS-中断优先级中由中断优先级寄存器IP来高置的,IP中某位设为1,相应的中断就是高优先级,否则就是低优先级。 - - - PS PT1 PX1 PT0 PX0 IP优先级别寄存器各位介绍如下:

PT2(IP.5):若=1,定时器2中断设为高优先级(只适用于8052及其增强型)

PS:串行口中断优先级控制位。PS=1设定串行口为高优先级中断;PS=0为低优先级中断。

PT1:T1中断优先级控制位。PT1=1设定定时器T1为高优先级中断;PT1=0为低优先级中断。

PX1:外部中断1优先级控制位。PX1=1设定定时器外部中断1为高优先级中断;PX1=0为低优先级中断。

PT0:T0中断优先级控制位。PT0=1设定定时器T0为高优先级中断;PT0=0为低优先级中断。

PX0:外部中断0优先级控制位。PX0=1设定定时器外部中断0为高优先级中断;PX0=0为低优先级中断。

例:设有如下要求,将T0、外中断1设为高优先级,其它为低优先级,求IP的值。

IP的首3位没用,可任意取值,设为000,后面根据要求写就可以了 - 0 - 0 - 0 PS PT1 PX1 PT0 PX0 0 0 1 1 0 因此,最终,IP的值就是06H。

例:在上例中,如果5个中断请求同时发生,求中断响应的次序。 响应次序为:定时器0->外中断1->外中断0->定时器1->串行中断。

80C51单片机具有几个中断源,分别是如何定义的? 有5个中断源,外部中断0,定义为INT0,;

定时/计数器0,定义为T0, 外部中断1,定义为INT1; 定时/计数器1,定义为T1;

串行通信口中断

其中哪些中断源可以被定义为高优先级中断,如何定义?

5个中断源都可以根据需要定义高优先级,当需要定义高优先级时,只需要将IP寄存器中的相应位置1即可,它们的位分别是:PX0,PT0,PX1,PT1,PS

各中断源对应的中断服务程序的入口地址是多少?否能任意设定? INT0:0003H T0:000BH INT1:0013H T1:001BH 串口:0023H

地址是固定的,不能任意设定。

简述单片机89C51中断的自然优先级顺序,如何提高某一中断源的优先级别。 自然优先级顺序由高到底是:INT0-T0-INT1-T1-串口

提高优先级别只要设定相应的中断优先级寄存器,将对应位置1.

中断允许控制器:IE EA(IE.7):总允许位 (IE.6:保留)

ET2(IE.5):定时器2中断允许位(只适用于8052及其增强型) ES(IE.4):串行中断允许位 ET1(IE.3):定时器1中断允许位 EX1(IE.2):外部中断1允许位 ET0(IE.1):定时器0中断允许位 EX0(IE.0):外部中断0允许位

中断请求源:

(1)外部中断请求源:即外中断0和1,经由外部管脚引入的,在单片机上有两个管脚,名称为INT0、INT1,也就是P3.2、P3.3这两个管脚。在内部的TCON中有四位是与外中断有关的。IT0:INT0触发方式控制位,可由软件进和置位和复位,IT0=0,INT0为低电平触发方式,IT0=1,INT0为负跳变触发方式。这两种方式的差异将在以后再谈。IE0:INT0中断请求标志位。当有外部的中断请求时,这位就会置1(这由硬件来完成),在CPU响应中断后,由硬件将IE0清0。IT1、IE1的用途和IT0、IE0相同。(2)内部中断请求源TF0:定时器T0的溢出中断标记,当T0计数产生溢出时,由硬件置位TF0。当CPU响应中断后,再由硬件将TF0清0。TF1:与TF0类似。TI、RI:串行口发送、接收中断,在串行口中再讲解。2、中断允许寄存器IE在MCS-51中断系统中,中断的允许或禁止是由片内可进行位寻址的8位中断允许寄存器IE来控制的。见下表EAX

其中EA是总开关,如果它等于0,则所有中断都不允许。ES-串行口中断允许ET1-定时器1中断允许EX1-外中断1中断允许。ET0-定时器0中断允许EX0-外中断0中断允许。如果我们要设置允许外中断1,定时器1中断允许,其它不允许,则IE能是EAX

即8CH,当然,我们也能用位操作指令SETB EA SETB ET1SETB EX1

来实现它。3、五个中断源的自然优先级与中断服务入口地址外中断0:0003H定时器0:000BH外中断1:0013H定时器1:001BH串行口:0023H它们的自然优先级由高到低排列。写到这里,大家应当明白,为什么前面有一些程序一始我们这样写:

ORG 0000HLJMP START ORG 0030H START:。

本文来源:https://www.bwwdw.com/article/n26v.html

Top