将按键接到P32(INT0)或P33(INT1)
main(){EA=1; //EA总中断控制,EA=0关,EA=1开
EX0=1;//INT0中断控制。0关1开,按键接P32用这个
EX1=1;//INT1中断控制。0关1开,按键接P33用这个
//默认情况下,直接使EX0=1或EX1=1来打开中断,INT0、INT1中断是电平触发的
while(1){
//主程序写这里
}
}
/ 外部中断0服务程序,按下接P32的开关k=0下面程序被执行 /
int0()interrupt 0
{
//程序代码写这里面
}
/ 外部中断1服务程序,按下接P33的开关k=0下面程序被执行 /
int1()interrupt 2
{
//程序代码写这里面
}
注意,上面的中断程序,如果执行完后,按键k还没有放开,则中断程序会再次被执行。为了防止这种情况发生,有以下几种处理办法以:
(1)可以在中断程序中进行判断,只有放开了按钮k=1了中断函数才返回。
(2)可以在进入中断后关闭中断,让EX0或EX1=0。然后在主程序中,需要的时候再开起。
因为程序是顺序执行的,如果程序大的话,完整扫描时间的就长,如果程序小 完整执行时间就短,如果需要定时执行的程序就需要使用中断,例如PID功能就必须使用中断!例如在S7300里边 我们一般都使用OB35作为PID的中断程序。
中断的基本概念
1数据传送方式
程序控制方式
无条件传送方式:输入输出 *** 作完全取决于程序的安排,而不管外设的状态。
程序查询方式:先查询外设的当前状态,获得端口信息;I/O *** 作完全由CPU控制。缺点:浪费CPU时间,效率低。
中断传送方式
CPU不必定时查询接口状态,接口在数据发送或接收数据准备好后通知CPU;
CPU通过执行一个中断服务程序来完成数据传送。
接口没有准备好时,CPU继续执行主程序,提高CPU工作效率。
DMA(Direct Memory Access):直接存储器存取方式
I/O设备在DMA接口控制下直接把成块信息送到主存储器,或从主存储器取出成块信息送给I/O设备,中间不经CPU参与。
比中断、查询方式更加提高了CPU的利用率。
2中断概念:CPU在正常运行程序时,由于CPU以外某一事件的发生,引起CPU暂停正在运行的程序,而转到为该事件的发生预先安排好的服务程序中去执行。
相关文章
使用单片机实现PWM调光的C语言实例免费下载
使用单片机实现花样灯的C语言实例免费下载
使用单片机实现查表显示LED灯的C语言实例免费下载
使用单片机实现8位LED左移的C语言实例免费下载
使用单片机实现8位LED右移的C语言实例免费下载
使用51单片机实现液晶读写的源代码免费下载
抗抖动计数电路的工作原理及应用设计
使用PIC单片机实现热敏电阻数字化方法详细说明
以上就是关于c51单片机如何使用中断全部的内容,包括:c51单片机如何使用中断、PLC什么情况下要调用中断程序中断程序怎么用、简述单片机中断系统使用步骤等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)