您的位置:首页 > 其它

中断0和中断1的应用

2016-03-11 23:01 190 查看
仿真图:





源程序:

#include

#define LED P1

void delay(int x);

void left(int x);

void right(int x);

void main()

{

  IE=0x85;

  IP=0x01;

  TCON=0x05;

  LED=0x00;

  while(1)

  {

   
LED=~LED;

 delay(200);

  }

}

void delay(int x)

{

  int i,j;

  for(i=0;i

   
for(j=0;j<120;j++);

}

void my_int0() interrupt 0

{

  char saveLED;

  saveLED=LED;

  left(3);

  LED=saveLED;

}

void my_int1() interrupt 2

{

  char saveLED;

  saveLED=LED;

  right(3);

  LED=saveLED;

}

void left(int x)

{

  int i,j;

  for(i=0;i

  {

   
LED=0xfe;

 for(j=0;j<7;j++)

 {

   delay(1000);

   LED=(LED<<1)|0x01;

 }

 delay(1000);

  }

}

void right(int x)

{

  int i,j;

  for(i=0;i

  {

   
LED=0x7f;

 for(j=0;j<7;j++)

 {

   delay(1000);

   LED=(LED>>1)|0x80;

 }

 delay(1000);

  }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: