- 1、本文档共126页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 可编程序控制器的指令系统
外部输入中断的应用(2) 说明: 设定输入中断号为0; 将中断信号从输入端子00003接入; 用编程器将DM6628的内容设置为0001,表示00003为中断输入端子; 选择计数器中断模式,在INT指令中,C1选择为003,C2选择为000E,表示端子3中断输入的计数器设定值更新; 在梯形图中,当输入00003(中断号0)接点从OFF变为ON共10次时,立即去执行中断处理子程序#000,使DM0000内容加1。 计数器中断模式 设定值10 输入00003中断允许 #000子程序 DM0000加1 中断返回 计数值设定值 25315 MOV #000A 240 25315 INT 003 000 #000E SBN 000 INC DM0000 RET 25313 END 外部输入的计数器中断模式 (二)间隔定时器的中断功能 1.间隔定时器 定义:指设定定时器的定时时间,当定时时间到时,产生一次中断(不受扫描周期的影响), 或者每隔一段定时时间,执行一次中断。 2.间隔定时器中断模式 1)单次模式:定时时间到,立即执行中断,且只执行一次中断。 2)重复模式:每隔一段时间(定时时间),进行一次中断。 3.间隔定时器的中断处理子程序 不论是单次中断模式还是重复中断模式,关于是否启动单次或重复中断、其设定值是多少、中断处理子程序的编号等,都要由间隔定时器中断控制指令STIM来确定。 4.间隔定时器中断使用过程 ①选择模式(单次中断模式、重复中断模式)→②编制梯形图(使用间隔定时器中断控制STIM指令) 5.间隔定时器中断指令STIM (二)间隔定时器的中断功能 (1)C1=000 启动单次中断模式 (2)C1=003 启动重复中断模式 ①C2若为常数(BCD 0000~9999)时,则为定时器的设定值,时间间隔固定为1ms,实际定时时间即为该常数值,单位为毫秒(ms) ,C3为子程序号 ②C2若为通道号,则时间间隔由C2+1的内容(BCD 0005~0320)确定,实际定时时间为[C2的内容×(C2+l)的内容]×0.1ms,故实际定时时间的范围是0.5~319968ms ,C3为子程序号 (3)C1=006 读出定时器的当前值 可读出计数器减1的次数、时间间隔、从上一次减1到当前时刻的时间,读出的数据分别放在C2、C2+1、C3中,由此计算出定时开始到当前时刻的时间为[C2的内容×(C2+1)的内容+C3的内容]×0.1ms (4)C1=010 停止间隔定时器工作 此时C2、C3固定为000 对标志位的影响:当指定的操作数不正确时,25503为ON 间隔定时器中断的应用(1) 单次中断模式 指令STIM中: C1=000,表示单次中断模式; C2= #100(DM0010中的值),表示递减计数器的设定值为100;C2+1= #100( DM0011中的值),表示计数间隔设定为10ms C3= #023,表示中断子程序号为023 当输入端00005为ON时,起动单次中断模式(其间隔时间为:100×100×0.1=1000ms),1s后,转去执行中断子程序023,使DM0000内容加1 25315 MOV #0000 DM0000 STIM 000 DM0010 #023 INC DM0000 RET END MOV #0100 DM0010 MOV #0100 DM0011 00005 SBN 023 25313 DM0000清零 减计数器设定值为100 #023子程序 DM0000加1 中断返回 计数间隔设定为10ms 起动单次中断模式 间隔定时器中断的应用(2) 重复中断模式 指令STIM中: C1=003,表示重复中断模式; C2= #100(DM0010中的值),表示递减计数器的设定值为100;C2+1= #100( DM0011中的值),表示计数间隔设定为10ms; C3= #023,表示中断子程序号为023。 当输入端00005为ON时,起动重复中断模式(其间隔时间为:100×100×0.1=1000ms),每隔1s钟,转去执行中断子程序023,使DM0000内容加1。 25315 MOV #0000 DM0000 STIM 003 DM0010 #023 INC DM0000 RET END MOV #0100 DM0010 MOV #0100 DM0011 00005 SBN 023 25313 DM0000清零 减计数器设定值为100 #023子程序 DM0000加1 中断返回 计数间隔设定为10ms 起动重复中断模式 (三)中断的优先级 中断的优先级: 外部输入中断>间隔定时器中断=高速计数器中断 相同优先级的中断同时发生时: 外部输
文档评论(0)