您现在的位置: 主页 > MCU > 单片机技术应用 > STC89C52中断系统 -
本文所属标签:
为本文创立个标签吧:

STC89C52中断系统 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-07 

[导读]80C51的中断系统有5个中断源(80C52有6个),2个优先级,可实现二级中断嵌套。 根据它的原理图就可以看出,80C51一共有4个寄存器(TCON,SCON,IE,IP),附件有她们的详细的寄存器示例图。 如果想产生一个中断请求,首

80C51的中断系统有5个中断源(80C52有6个),2个优先级,可实现二级中断嵌套。
根据它的原理图就可以看出,80C51一共有4个寄存器(TCON,SCON,IE,IP),附件有她们的详细的寄存器示例图。

本文引用地址: http://www.21ic.com/app/mcu/201808/784906.htm



如果想产生一个中断请求,首先要做的就是打开IE里的EA标志位,因为IE寄存器的地址是0xA8,所以可以对其位进行操作。而EA标志位是整个中断系统的总开关,这一步必不可少。接着还要将你要产生的中断号对位的IE中的相应位置高电平,包括EX0(0号外部中断),ET0(0号定时器中断),EX1(1号外部中断),ET1(1号定时器中断),ES(串口中断);上面的就是IE中的一些特殊位。下一步就是要指定是电平触发还是脉冲触发了,此步是要操作TCON寄存器,将IT0置1表示脉冲触发,置0表示是电平触发,此处操作是0号外部中断的一些基本设置,其它中断设置参照原理图便可得,此处不再重复。
接下来就可以拿出板子进行试验了,注意因为是电平触发,所以要将P32引脚接地,也就是变为低电平即可,来产生一个中断请求。下面附上我的一个示例程序, 产生的效果是:蜂鸣器将不间断的发出响声,注:程序为手写,没调试过,不能保证一定能调通

#includesbitbeep=P3^2;inti,j;voiddelay(unsignedchar);//声明延迟函数voidmain(){EA=1;//打开中断系统总开关EX0=1;//产生0号外部中断IT0=0;//采用电平触发方式触发while(1){beep=0;delay(100);//延迟函数interupt();//调用中断函数}}//延迟函数voiddelay(unsignedchart){for(i=0;i<50000;i++)for(j=0;j




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > STC89C52中断系统 -
 

"STC89C52中断系统 -"的相关文章

网站地图

围观()