发表于:2014/12/1 17:12:06
#0楼
前面我们学习了中断的基本概念以及中断的使用,那么今天就做一些对中断的应用。下面就以例子的形式讲一下应用。
1、利用中断做8灯的亮与灭
主程序:
INT_0:
INT_1:
以上程序中的事件号0和2分别代表的是I0.0上升沿中断和I0.1的上升沿中断,与0号事件建立的中断是INT_0,与2号事件建立的中断是INT_1,在INT_0中是传送255到QB0中,而在INT_1中是传送0到QB0中。这样当I0.0的上升沿接通时,那么8灯亮,当I0.1的上升沿接通时,那么8灯灭。
2、利用定时器中断制作高精度定时,显示时分秒
主程序:
中断程序:
以上的程序,在主程序中,首先是SM0.1首次扫描,传送1到特殊标志位SMB34,因为定时中断0的特殊标志位是SBM34,然后是建立中断号INT_0和中断事件10的中断连接,这里也就是设置定时中断0的时间间隔为1ms并连接INT_0到事件10,然后全局允许中断,此外,还对VW0进行清零。在中断程序中首先是进行VW0的加1操作,这里也就是每中断一次加1进行累加。直到VW0大于等于1000,也就是1s时,做一个对VW2的加1操作,那么这里VW2计的就是秒,当VW0大于等于1000时同时对VW0清零进行。直到累加到VW2大于等于60时,做一个对VW4的加1操作,那么这里VW4计的就是分,当VW0大于等于60时同时对VW2清零,直到累加到VW4大于等于60时,做一个对VW6的加1操作,那么这里VW6计的就是时,当VW0大于等于60时同时对VW4清零。那么这样就实现了利用定时器中断制作高精度定时,显示时分秒的功能。
1、利用中断做8灯的亮与灭
主程序:
INT_0:
INT_1:
以上程序中的事件号0和2分别代表的是I0.0上升沿中断和I0.1的上升沿中断,与0号事件建立的中断是INT_0,与2号事件建立的中断是INT_1,在INT_0中是传送255到QB0中,而在INT_1中是传送0到QB0中。这样当I0.0的上升沿接通时,那么8灯亮,当I0.1的上升沿接通时,那么8灯灭。
2、利用定时器中断制作高精度定时,显示时分秒
主程序:
中断程序:
以上的程序,在主程序中,首先是SM0.1首次扫描,传送1到特殊标志位SMB34,因为定时中断0的特殊标志位是SBM34,然后是建立中断号INT_0和中断事件10的中断连接,这里也就是设置定时中断0的时间间隔为1ms并连接INT_0到事件10,然后全局允许中断,此外,还对VW0进行清零。在中断程序中首先是进行VW0的加1操作,这里也就是每中断一次加1进行累加。直到VW0大于等于1000,也就是1s时,做一个对VW2的加1操作,那么这里VW2计的就是秒,当VW0大于等于1000时同时对VW0清零进行。直到累加到VW2大于等于60时,做一个对VW4的加1操作,那么这里VW4计的就是分,当VW0大于等于60时同时对VW2清零,直到累加到VW4大于等于60时,做一个对VW6的加1操作,那么这里VW6计的就是时,当VW0大于等于60时同时对VW4清零。那么这样就实现了利用定时器中断制作高精度定时,显示时分秒的功能。
技成微信号:jcpeixun 工控资料天天有!