外部中断实验

2019-07-15 20:58发布

外部中断实验
  (1)、实验要求
  实验原理图如图5-1所示,图中数码管为共阳极,元器件型号为7SEG-COM-AN-BLUE;数码管驱动应加上拉电阻如RP1。
  要求:当无外部中断(外部中断0)时,数码管按a~g段依次点亮,不断循环显示;当有外部中断(按钮被按下,P3.2有下降沿电压)时,数码管显示状态改为“8”亮灭闪烁显示,亮灭闪烁显示8次后,返回主程序继续按段顺序点亮。
#include<reg51.h>
#include<intrins.h>
void delay()

  unsigned char code a[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char i;
main()
{
  
ea=1;
ex0=1;
it0=1;
while(1)
{ if(i==10)
     i=0;
  P2=~a;
  delay();
   i++;
   }
   }
void int0() interrupt 0 using 0
{
   ex0=0;
   for(i=0;i<8;i++)
  {
     P2=0x80;
   delay();
   P2=0xff;
   delay();
   if(i==8)
     ex0=1;
   }
}
void delay()
  {
unsigned int i,j;
for(i=800;i>0;i--)
  for(j=300; j>0;j--);
  }
  我这个程序为什么没办法返回主程序,执行中断程序后单片机就停止工作了没有返回主程序。我是初学者,也是自学的.希望各位前帮忙下。如果可以的话请帮忙把修改完后的程序发到我邮箱1744436360@qq.com.希望大家帮帮忙。
电路题如下
D[E_0]WRONDXR4A2YRI09DL.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。