c51单片机如何使用中断

c51单片机如何使用中断,第1张

将按键接到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什么情况下要调用中断程序中断程序怎么用、简述单片机中断系统使用步骤等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9826740.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存