收藏 分享(赏)

基本指令-2.ppt

上传人:hskm5268 文档编号:9818179 上传时间:2019-09-08 格式:PPT 页数:31 大小:448KB
下载 相关 举报
基本指令-2.ppt_第1页
第1页 / 共31页
基本指令-2.ppt_第2页
第2页 / 共31页
基本指令-2.ppt_第3页
第3页 / 共31页
基本指令-2.ppt_第4页
第4页 / 共31页
基本指令-2.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、SCLR,块清除,概述,清除由n1和n2指定的多个过程,程序示例,0 1 4 8 9 12 15 18 21 、 、 100 101106,ST X 0 NSTL 0 SSTP 0 ST X 1 NSTL 1 NSTL 2 NSTL 3 SSTP 1 OT Y 10 、 、 ST X F SCLRK 1K 3 STPE,地址,指令,梯形图程序,布尔形式,当输入XF变为ON时,正在执行的过程1至3被清除。,示例说明,过程0,过程1,过程2,过程3,结束,X0,X1,XF,描述,当执行SCLR指令时,从过程n1至过程n2的全部过程被清除。,编程时的注意事项,将n1值设定为大于或等于n2值(n1n2

2、) 在常规梯形图程序和正在运行的过程中,都可以执行SCLR指令。,CALL,子程序调用,概述,CALL:执行指定的子程序。 SUB:表示子程序的开始。 RET:表示子程序的结束。,程序示例,10 11 、 、 20 21 、 、 30,ST X 0 CALL 1 、 、 ED 、 、 SUB 1 RET,地址,指令,梯形图程序,布尔形式,描述,当执行条件(触发器)为ON时,执行CALL指令,并且从SUB指令处开始执行指定编号的子程序。 当子程序执行到RET指令时,程序返回到CALL指令之后的主程序并且继续执行主程序。,执行CALLn时,程序按照(1)(2)(3)的顺序执行,如上所示。,(*)对

3、于FP2、FP2SH、FP10SH,当CALL指令中的编号“n”使用索引寄存器变址时,程序步数不同(参阅2.2节)。,对于FP2、FP2SH和FP10SH,可以利用索引寄存器变址指定CALL的编号。,SUB,RET,子程序进入,子程序返回,子程序编号,子程序,主程序,主程序,子程序,标志情况,子程序语法,各机型可使用的子程序点数如下表所示。,编程时的注意事项,错误标志(R9007):当进行第五层嵌套并对第五层嵌套的子程序执行CALL指令时,变为ON并且保持。 错误标志(R9008):当进行第五层嵌套并对第五层嵌套的子程序执行CALL指令时,瞬间变为ON。,子程序n是由SUBn指令到RET指令之

4、间的程序。始终应该把地址(子程序)放在ED指令之后。 编程时可以将CALL指令放在主程序、中断程序区或者子程序区中。 在一个程序中可以指定两个或两个以上程序号相同的CALL指令。 子程序可以进行嵌套,最多5层。,型号,FP-C/FP2/FP2SH/FP3/FP10SH,点数,100个子程序(SUB0SUB99),FP-M C16 FP1 C14,C16,FP-M C20,C32 FP1 C24,C40,C56,C72,FP0,8个子程序(SUB0SUB7),16个子程序(SUB0SUB15),16个子程序(SUB0SUB15),在中断程序中,不能使用子程序。,(第二步),(第三步),(第四步)

5、,(第五步),子程序内调用,5层嵌套,子程序,对于FP-C/FP2/FP2SH/FP3/FP10SH,子程序可以使用多个入口而只使用单个出口。,在子程序中,不能使用中断程序。,对于FP-M/FP0/FP1,不能在一个子程序内编写另一个子程序。,子程序,子程序,子程序,执行“调用11”时,执行(1)至(4)。 执行“调用13”时,执行(3)至(4)。 在子程序中使用以下指令时必须注意,因为这些指令(例如微分指令)在检测到执行条件(触发器)的上升沿时被执行。有关详细内容,请参阅4.3节。 DF指令 CT指令的计数输入 F118(UDC)指令的计数输入 SR指令的移位输入 F119(LRSR)指令的

6、移位输入 NSTP指令 微分执行型高级指令(这些指令由P和指令编号指定),调用13,调用11,注释,当CALL指令执行条件(触发器)为OFF时,若CALL指令的执行条件(触发器)为OFF状态时,不执行子程序。(与主控指令或步进梯形图程序相同)。当CALL指令的执行条件(触发器)为OFF状态时,子程序中的指令的动作如下,FP2SH和FP10SH有一个称为“FCAL”的指令,当执行指令变为OFF时,FCAL指令会关闭在子程序中正在被使用的所有指令。,指令,OT,KP,SET,RST,TM,CT,SR,DF和DF/(*),其他指令,操作状态,保持状态,保持状态,保持状态,保持状态,不执行任何操作。如

7、果不能在 每个扫描周期执行一次定时器指令, 则不能保证准确的定时。,保持经过值,保持经过值,与在MC和MCE指令之间使 用微分指令时的动作相同。 请参考MC和MCE指令,不执行,FCAL,输出OFF型子程序调用,概述,执行指定的子程序。当返回到主程序时,子程序中所有的输出将被置为OFF。,程序示例,10 11 、 、 20 21 23 24 、 、 30,ST X 0 、 、 FCAL 1 ED SUB 1 ST X 20 OT Y 10 、 、 RET,地址,指令,梯形图程序,布尔形式,运行和语法与一般的子程序调用指令基本相同。但是,下列几点有所差别。 如果FCAL指令的触发器为OFF,则不

8、执行子程序。当FCAL指令的触发器处于OFF状态时,子程序中的指令的运行状态如下。,描述,子程序编号,指令,OT,KP,SET,RST,TM,CT,SR,DF和DF/(*),其他指令,操作状态,全部OFF,保持状态,保持状态,保持状态,复位(不同于通常的子程序调用指令),保持触发器变为OFF之前时刻的状态,保持触发器变为OFF之前时刻的状态,记忆执行条件(触发器)的状态,不执行,(*)与MC指令的执行状态(触发器)变为OFF时的运行方式相同。参考MC和MCE指令说明。,(*)对于FP2、FP2SH和FP10SH,FCAL指令中的数字“n”使用索引寄存器变址时,步数不同(见第2.2节)。,编程时

9、的注意事项,与CALL指令相同,FCAL指令最多可以使用五层嵌套。但是,根据嵌套层次的不同,某些MC的编号不能使用。如下表所示。,由其他子程序调用,第2层,第3层,第4层,第5层,MC255,MC255至254,MC255至253,MC255至252,MC255至251,INT,主控继电器,概述,当执行条件为ON时,执行MC和MCE之间的程序。 当执行条件为OFF时,MC和MCE之间的输出全部为OFF。,程序示例,20 21 、 、 26,ED INT 0 、 、 IRET,地址,指令,梯形图程序,布尔形式,IRET,主控继电器结束,描述,当产生中断输入时,开始执行由INT指令起始的指定编号的

10、中断程序。 当中断程序到达IRET指令时,程序返回中断发生时的地址,恢复运行主程序。,终端指令代码,主程序,中断程序,中断,当中断发生时,按如上所示的(1)(2)(3)顺序执行程序。 在缺省设置下,所有的中断程序无效并且不被执行。应当使用ICTL指令设置允许执行中断程序。请参阅ICTL指令的说明。,1)对于FP-C/FP2/FP2SH/FP3/FP10SH中断程序的语法,中断程序n(n:0到24)是位于INTn指令与IRET指令之间的程序。中断程序必须全部放在ED指令之后。最多可以编写25个中断程序。 中断程序的编号由中断的类型决定。 INT0至INT15:由中断单元产生的中断。 INT16至

11、INT23:由能发生中断的智能单元所产生的中断。 INT24:定时中断。 FP-C不带中断板(中断单元)。中断板是一种发生中断的智能板(智能单元),所以不能使用从INT0至INT23的中断程序。,当正在执行另一个中断程序时,只有在当前正在执行的中断程序结束之后才会产生中断。,如果中断被禁止,则只有在使用ICTL指令使中断有效的时刻才会产生中断。,中断程序的执行,主程序,有三种类型的中断: (1)由中断单元产生的中断(对应于INT0至INT15)对应于中断单元输入信号的上升沿或下降沿产生的中断(上升沿或下降沿在中断单元中设定)。 (2)由能产生中断的智能单元产生的中断(对应于INT16至INT2

12、3)是由具有中断功能的智能单元根据运行状态产生的中断。 (3)定时(INT24)中断以固定的时间间隔出现。用ICTL指令设定时间间隔。当中断出现时,执行带有对应编号的中断程序。,中断程序,中断输入,执行,执行,执行,主程序,中断程序,中断输入,执行,执行,使能,主程序,中断程序1,中断输入,中断程序2,执行,执行,执行,在输入中断程序之前,2)对于FP0,中断程序n是在INTn指令与IRET指令之间的程序。中断程序必须全部放置在ED指令之后。 中断程序的编号取决于中断类型。,中断程序的语法,若某一触点被设为高速计数器/脉冲捕捉输入,则该触点不能作为中断输入(触发器)使用。 对于高速计数器-启动

13、中断和定时中断,不必指定输入(触发器)触点。,注释,(1)指定被作为中断输入(触发器)的触点。从X0至X5之中选择作为中断输入(触发器)使用的触点,并且系统寄存器403中进行定义。,中断程序编号,中断输入(触发器)设置,高速计数器设置 (使用F166/167指令时),INV0,X0,等同于ch0目标值,INV1,X1,等同于ch1目标值,INV2,X2,-,INV3,X3,等同于ch2目标值,INV4,X4,等同于ch3目标值,INV5,X5,-,INV24,定时中断,在RUN模式下改写时的注意事项,若在RUN模式下改写程序,则所有中断程序将被禁止执行,并且只有在RUN模式下完成改写之后,才重

14、新允许执行。有关详细内容,请参阅ICTL指令的说明。,(2)允许执行中断程序。缺省值的设置是禁止中断程序。用ICTL指令允许中断程序的执行。参阅ICTL指令的说明。,当正在执行另一个中断程序时,只有在当前正在执行的中断程序结束之后才会产生中断。,如果中断被禁止,则只有在使用ICTL指令使中断有效的时刻才会产生中断。,中断程序的执行,主程序,中断有三种类型。 (1)输入(触发器)触点产生的中断(INT0至INT5)在由系统寄存器403指定的输入信号(触发器)出现上升沿(ON)或下降沿(OFF)时产生中断。 (2)高速计数器-启动中断(INT0、INT1、INT3、INT4)在执行指令F166或指

15、令F167时,当高速计数器经过值等于设定目标值时,产生中断。参阅F166指令和F167指令的说明。 (3)定时中断(INT24)以固定的时间间隔产生中断。用ICTL指令设定时间间隔。在10ms至30s的范围内,以10ms为单位进行设置(ICTL S1=H2)在0.5ms至1.5s的范围内,以0.5ms为单位进行设置(ICTL S1=H3)当产生中断时,执行带有对应编号的中断程序。,中断程序,中断输入,执行,执行,执行,主程序,中断程序,中断输入,执行,执行,使能,主程序,中断程序1,中断输入,中断程序2,执行,执行,执行,在输入中断程序之前,2)对于FP-M/FP1,中断程序是INTn指令与I

16、RET指令之间的程序n(n:0至7,24)。 中断程序必须全部放置在ED指令之后。 中断程序的编号取决于中断输入或定时的类型。,中断程序的语法,若某一触点被设为高速计数器/脉冲捕捉输入,则该触点不能作为中断输入(触发器)使用。 对于高速计数器-启动中断和定时中断,不必指定输入(触发器)触点。,注释,从X0至X7之中选择作为中断输入(触发器)使用的触点,并且系统寄存器403中进行定义。,中断程序编号,中断输入(触发器)设置,INV0,X0或高速计数器,INV1,X1,INV2,X2,INV3,X3,INV4,X4,INV5,X5,INV6,缺省值的设置是禁止中断程序。用ICTL指令允许中断程序的

17、执行。参阅ICTL指令的说明。,X6,INV7,X7,INV24,定时中断,指定被作为中断输入(触发器)的触点。,允许执行中断程序,当正在执行另一个中断程序(INT1)时,只有在当前正在执行的中断程序结束之后才会产生中断(INT2)。,如果中断被禁止,则即使中断触发器变为ON,也只有在使用ICTL指令使中断有效的时刻才会产生中断。,中断程序的执行,主程序,中断有三种类型。 (1)输入(触发器)触点产生的中断(INT0至INT7)在由系统寄存器403指定的输入信号(触发器)出现上升沿时产生中断。 (2)高速计数器-启动中断(INT0)在执行指令F162(HC0S)或指令F165(CAM0)时,当

18、高速计数器经过值等于设定目标值时,产 生中断。参阅F162(HC0S)指令和F165(CAM0)指令的说明。 (3)定时中断(INT24)以固定的时间间隔产生中断。用ICTL指令设定时间间隔。在10ms至30s的范围内,以10ms为单位进行设置。当产生中断时,执行带有对应编号的中断程序。,中断程序,中断输入,执行,执行,执行,主程序,中断程序,中断输入,执行,执行,ICTL指令:使能,主程序,中断程序1,中断输入,中断程序2,执行,执行,执行,在子程序中不能使用中断程序。,在中断程序中不能使用子程序。,对各类型中断进行编程时的注意事项,若缺少INT指令或IRET指令(不匹配),则会产生语法错误

19、。当中断产生时,对应于中断输入触点的运算存储器尚未进行I/0刷新。因此,应将中断输入触点以外的触点(如常闭触点继电器R9010)作为中断程序中的执行条件使用。,常闭继电器R9010 或其他触点代替X5,子程序,子程序,对于FP-M/FP0/FP1,编程时不能将一个中断程序写在另一个中断程序之中。,当产生中断程序11的中断时,执行(1)至(3)。当产生中断程序13的中断时,执行(3)。,示例:,中断11,中断13,同时出现一个以上中断的控制,当同时出现一个以上的中断时,首先执行编号较小的中断程序。其他程序被置于等待执行状态。当第一个中断程序结束后,将按编号顺序由小到大执行其他程序。,示例:,主程

20、序,中断程序1,中断程序2,中断程序3,中断输入1,中断输入2,中断输入3,当正在执行一个中断程序时出现一个以上的中断,那么在当前正被执行的程序结束后,将以编号由小到大的顺序执行其他程序。,示例:,在上面示例中,在INT3程序的执行过程中,INT2输入先于INT1出现。但是当INT3程序结束之后,先执行INT1程序,然后再执行INT2程序。,主程序,中断程序1,中断程序2,中断程序3,中断输入1,中断输入2,中断输入3,中断程序4,中断输入4,中断程序等待执行状态和清除,若置于等待执行状态,则在中断出现与实际执行中断程序之间存在一个时间差。如果因此而不想执行处于等待状态的中断程序,则可使用IC

21、TL指令将其清除。被清除的中断程序将不被执行。,示例:,当多个中断程序同时出现、或在一个中断程序的执行过程中出现新的中断程序时,优先级较低的中断程序将处于等待执行状态。随后,当其他中断程序完成后,再按优先级顺序来执行这些程序。,示例:,主程序,中断程序1,中断程序2,中断输入1,中断输入2,主程序,中断程序1,中断程序2,中断输入1,中断输入2,等待执行状态,ICTL(中断2清除)执行,清除,当使用ICTL指令禁止中断程序的执行时,所出现的中断仍然处于等待执行状态。当使用ICTL指令允许执行中断时,处于等待状态的中断程序将被执行。处于等待执行状态的程序可使用ICTL指令进行清除。,ICTL,中

22、断控制,概述,进行中断的禁止、允许和清除控制。,程序示例,40 41 42,ST X 10 DF ICTLH 0H 1,地址,指令,梯形图程序,布尔形式,操作数,(*1)对于FP2、FP2SH和FP10SH,为I0至IC。 (*2)对于FP2、FP2SH和FP10SH,为ID。,A: 可以使用 N/A:不可以使用,指令,S1,继电器,WX,WY,WR,WL,定时器/计数器,SV,EV,寄存器,DT,LD,FL,索引寄存器,常数,K,H,索引 修正值,A,A,A,A,A,A,A,A,A,A,A,IX (*1),IY (*2),描述,当执行ICTL指令时,根据S1和S2中的设置来设定中断程序的禁止

23、/允许和清除中断。 应该使用DF指令,使ICTL指令只在执行条件(触发器)的上升沿被执行一次。 两个或两个以上的ICTL指令可以有相同的执行条件(触发器)。,S1,S2,设定中断控制的16位等值常数或16位控制区,设定中断触发状态的16位等值常数或16位控制区,注释,在执行中断程序之前,必须利用ICTL指令允许执行中断程序。,S2,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,输入示例,R9013(初始脉冲继电器)在开始运行后的第一个扫描周期内为ON。,示例:设置定时中断,从运行开始每10ms执行中断程序。,示例:当X30出现上升沿时,允许执行INT0至INT3。,中断2

24、4每10MS执行一次,X0:当通的时候对中断0-中断3使能,在INT0程序执行结束以后清除INT0以外的中断,示例:在INT0程序执行结束以后清除INT0以外的中断。,指定控制数值,1)对于FP-C/FP2/FP2SH/FP3/FP10SHS1:指定控制功能和中断类型,选择中断类型 H00:中断0-中断15 H01:中断16-中断23(*) H02:中断24(10MS) H04:中断24(5MS:只有 FP2/FP2SH/FP10SH),选择控制类型 H00:中断操作使能/不使能 H01:中断清楚,(*)高速计数单元、脉冲输出单元和其他能够产生的智能模块。,用于指定INT0至INT15的允许或

25、禁止时,S1=H0; 用于指定清除INT0至INT15的中断时,S1=H100; 用于指定INT16至INT23的允许或禁止时,S1=H1; 用于指定清除INT16至INT23的中断时,S1=H101; 用于设置INT24的时间间隔时,S1=H2; 用于设置INT24的时间间隔时,S1=H3(仅对FP2、FP2SH、FP10SH)。,FP2、FP2SH和FP-C没有中断单元或可发生中断的智能单元,因此,不能使用由INT0至IN23的中断程序。,注释,2)对于FP-M/FP1S1:指定控制功能和中断类型,选择中断类型 H00:中断0-中断15 H02:中断24(10MS),选择控制类型 H00:

26、中断操作使能/不使能 H01:中断触发源重设控制,设S1=H0,指定禁止或允许INT0至INT7。 设S1=H100,清除中断INT0至INT7。 设S1=H2,设定INT24的时间间隔(以10ms为单位)。,2)对于FP0S1:指定控制功能和中断类型,选择中断类型 H00:中断0-中断5 H02:中断24(10MS) H03:中断24(5MS),选择控制类型 H00:中断操作使能/不使能 H01:中断清除,如果已指定禁止或允许INT0至INT5的执行,则S1=H0。 如果已指定清除INT0至INT5的中断,则S1=H100。 设S1=S2(以10ms为单位)或S1=H3(以0.5ms为单位)

27、时,设置INT24的时间间隔。,(2)清除中断程序(当S1=H100或S1=H101时) 在需要控制的中断程序的编号的对应位中设置控制数据。 将需要清除的中断程序的编号的对应位设置为“0”(禁止中断)。 将不需要清除的中断程序的编号的对应位设置为“1”(允许中断)。,只为FP-C/FP2/FP2SH/FP3/FP10SH,S2:指定中断的控制,(1)禁止或允许执行中断程序(当S1=H0或S1=H1时) 在需要控制的中断程序的编号的对应位中设置控制数据。 将需要允许的中断程序的编号的对应位设置为“1”(允许中断)。 将需要禁止的中断程序的编号的对应位设置为“0”(禁止中断)。,常闭继电器R901

28、0 或其他触点代替X5,(3)指定定时中断(当S1=H2时) 以十进制设置。时间间隔= S210(ms),子程序,位址,中断指令编号,S2 (使能/不使能),15、12,15 14 13 12,0 0 0 0,11、9,11 10 9 8,0 0 0 0,8、4,7 6 5 4,0 0 0 0,3、0,3 2 1 0,0 0 0 0,位址,中断指令编号,S2 (使能/不使能),15、12,-,0 0 0 0,11、9,-,0 0 0 0,8、4,23 22 21 20,0 0 0 0,3、0,19 18 17 16,0 0 0 0,只为FP-C/FP2/FP2SH/FP3/FP10SH,位址,

29、中断指令编号,S2 (使能/不使能),15、12,15 14 13 12,0 0 0 0,11、9,11 10 9 8,0 0 0 0,8、4,7 6 5 4,0 0 0 0,3、0,3 2 1 0,0 0 0 0,位址,中断指令编号,S2 (使能/不使能),15、12,-,0 0 0 0,11、9,-,0 0 0 0,8、4,23 22 21 20,0 0 0 0,3、0,19 18 17 16,0 0 0 0,时间间隔设置:K1至K3000(10ms至30s) 禁止INT24:K0,S1:H0000 指定来自对应的中断单元(INT0至INT15)的中断,无论禁止或允许中断程序的执行。 S2

30、:H0101 允许INT0和INT8(将bits 0和8置为“1”),禁止全部其他中断。,允许中断程序执行的示例1) 对于FP-C/FP2/FP2SH/FP3/FP10SH,(4)指定定时中断(当S1=H3时)(仅对FP0/FP2/FP2SH/FP10SH) 以十进制设置。 时间间隔= S20.5(ms),时间间隔设置:K1至K3000(0.5ms至1.5s) 禁止INT24:K0,示例:当X30出现上升沿时,允许执行INT0至INT3。,执行ICTL指令后,如果出现中断程序INT0和INT8所对应的中断输入,则执行INT0和INT8。,需要允许中断时,将该中断对应的位设置为“1”。 I/O编

31、号是以安装在0号插槽的中断单元为例。 设置S2=HFFFF,允许INT0至INT15所有中断。,主程序,中断0,中断8,中断0输入,中断8输入,条件,执行,ICTL指令,执行,执行,执行,不使能,使能,2)对于FP-M/FP1,示例:当中断控制触发器X0变为ON时,执行中断程序0(INT0)和中断程序7(INT7)。,主程序,中断0,中断8,中断0输入,中断8输入,条件,执行,ICTL指令,执行,执行,执行,不使能,使能,S1;H0 设定允许或禁止指定的触发器产生的中断。,将允许的中断所对应的位设置为“1”。 利用系统寄存器403将输入“X0至X7”指定为中断触发器。 设置S2=HFFFF,允

32、许INT0至INT7的全部中断。,位址,S1,15、12,0 0 0 0,11、9,0 0 0 0,8、4,0 0 0 0,3、0,0 0 0 0,位址,允许输入,S2,15、12,-,0 0 0 0,11、9,-,0 0 0 0,8、4,X7 X6 X5 X4,1 0 0 0,3、0,X3 X2 X1 X0,0 0 0 1,S2;H81 设定中断程序(INT0和INT7)的允许条件以及其他中断程序(INT1到INT6)的禁止条件。,位址,0,1,2,3,4,5,6,7,输入,X0,X1,X2,X3,X4,X5,X6,X7,中断程序,中断0,中断1,中断2,中断3,中断4,中断5,中断6,中断

33、7,条件,1,0,1,使能,不使能,使能,S1:H0000 设置禁止或允许执行由指定的输入(触发器)触点产生的中断或目标值一致中断。 S2:H0021 允许INT0和INT5(将bit0和bit5设为“1”),禁止其他所有中断。,2)对于FP0,将允许的中断所对应的位设置为“1”。 设置S2=HFF,允许INT0至INT7的全部中断。,示例:,执行ICTL指令后,如果出现相应的中断输入,则执行中断程序No.1和中断程序No.5。,主程序,中断0,中断8,中断0输入,中断8输入,条件,执行,ICTL指令,执行,执行,执行,不使能,使能,1)对于FP-C/FP2/FP2SH/FP3/FP10SH,

34、示例:,主程序,中断0,中断8,中断0输入,中断8输入,条件,ICTL指令,执行,清除中断程序的示例:,S1:H0100 清除来自中断单元的中断(INT0至INT15)。 S2:HFFFE 清除中断INT0(bit0为“0”),不清除其他中断。 有关设定值与中断单元之间的关系,请参阅2-134页“允许中断程序执行的示例”。 当中断程序被禁止时,即使发生INT0中断输入,也可以使用ICTL指令清除INT0中断。,执行,执行,清除,使能,不使能,由于INT0被清除,INT0程序即使在被允许后也不被执行。因为INT8未被清除,所以在允许执行之后INT8程序将被执行。,2)对于FP-M/FP1,示例:

35、当中断控制触发器X0变为ON时,仅对中断程序0(INT0)进行复位。,主程序,中断0,中断7,中断0触发 (X0),中断7触发 (X7),条件,ICTL指令,执行,S1:H100 设置为H100时,S2将指定需要清除的中断触发器。 S2:HFE 当bit1(X0)设置“0”时,需要执行的相应中断触发器被复位。,执行,执行,清除,使能,不使能,因为INT0程序已被复位,所以即使已经使用ICTL指令允许程序执行,该程序也不能执行。但是,由于INT0程序被清除,在允许执行后也不会被执行。由于INT7程序未被清除,因此在允许执行后,该程序将被执行。,3)对于FP0,示例:,主程序,中断0,中断1,中断

36、0输入,中断1输入,条件,ICTL指令,执行,S1:H100 清除由指定的输入(触发器)触点产生的中断或目标值一致中断。 S2:HFE 清除中断INT0(bit0为“0”),不清除其他中断。 有关设定值与中断输入(触发器)触点之间的关系,请参阅2-137页。 当中断程序被禁止时,即使发生INT0中断输入,也可以使用ICTL指令清除INT0中断。,执行,执行,清除,使能,不使能,因为INT0程序已被复位,所以即使已经使用ICTL指令允许程序执行,该程序也不能执行。由于INT1程序未被清除,因此在允许执行后,该程序将被执行。,设定定时中断的示例,示例:,S1:H0002 指定定时中断(单位:10ms) S2:K1500 指定定时中断的时间间隔,对于K1500,时间间隔为K150010ms=15000ms(15s)。 在执行ICTL指令之后,每隔15秒产生一次定时中断。此时,将执行INT24中断程序。,主程序,中断24,执行,执行,执行,ICTL,需要停止定时中断程序(INT24)时,请执行下列程序。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报