51单片机两个中断及中断嵌套 | 您所在的位置:网站首页 › 51系列单片机内部有几个中断源 › 51单片机两个中断及中断嵌套 |
文章目录
前言一、中断嵌套是什么?二、两个同级别中断2.1 中断运行关系2.2 测试程序
三、两个不同级别中断实现中断嵌套3.1 中断运行关系3.2 测试程序
总结
前言
提示:这里可以添加本文要记录的大概内容: 课程需要: 提示:以下是本篇文章正文内容,下面案例可供参考 一、中断嵌套是什么?主函数->中断0->主函数 主函数->中断1->主函数 主函数->中断0->中断1->主函数 主函数->中断1->中断0->主函数 关键: PX0=0; //外部中断0为低优先级 PX1=0; //外部中断1为低优先级代码如下(示例): #include #define uchar unsigned char void Delay(unsigned int i) //延时函数Delay( ) { unsigned int j; for(;i > 0;i--) for(j=0;j uchar display[9]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //流水灯显示数据组 uchar a; for(;;) { EA=1; //总中断允许 EX0=1; //允许外部中断0中断 EX1=1; //允许外部中断1中断 IT0=1; //选择外部中断0为跳沿触发方式 IT1=1; //选择外部中断1为跳沿触发方式 PX0=0; //外部中断0为低优先级 PX1=0; //外部中断1为高优先级 for(a=0;a for(;;) { P1=0x0f; //低4位LED灭,高4位LED亮 Delay(400); //延时 P1=0xf0; //高4位LED灭,低4位LED亮 Delay(400); //延时 } } void int1_isr (void) interrupt 2 using 1 //外中断1中断函数 { uchar m; for(m=0;m unsigned int j; for(;i > 0;i--) for(j=0;j uchar display[9]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //流水灯显示数据组 uchar a; for(;;) { EA=1; //总中断允许 EX0=1; //允许外部中断0中断 EX1=1; //允许外部中断1中断 IT0=1; //选择外部中断0为跳沿触发方式 IT1=1; //选择外部中断1为跳沿触发方式 PX0=0; //外部中断0为低优先级 PX1=1; //外部中断1为高优先级 for(a=0;a for(;;) { P1=0x0f; //低4位LED灭,高4位LED亮 Delay(400); //延时 P1=0xf0; //高4位LED灭,低4位LED亮 Delay(400); //延时 } } void int1_isr (void) interrupt 2 using 1 //外中断1中断函数 { uchar m; for(m=0;m |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |