📄 中断系统的应用(二).c
字号:
/***************************************************************************
中断系统的应用(二)
*****************************************************************************/
#include"reg51.h"
#define uint unsigned int
#define uchar unsigned char
sbit P1_0=P1^0;
const tab1[]={0xf0,0x0f0,0xf0,0x0f0,0xf0,0x0f0, //同时点亮4个灯
0xaa,0x55,0xaa,0x55,0xaa,0x55,0xff, };
const tab2[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, //正向流水灯
0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff, //反向流水灯
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, //正向流水灯
0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,}; //反向流水灯
uchar a;
void delay()
{ uint i,j;
for(i=0;i<256;i++)
for(j=0;j<256;j++)
{;}
}
/**************************中断程序1***********************************/
void int1() interrupt 0
{ a=a+1;
if (a==1)
{ uchar i;
for(i=0;i<14;i++)
{ P0=tab1[i];
delay();}
}
if (a==2)
{ uchar i;
for(i=0;i<33;i++)
{ P0=tab2[i];
delay();}
a=0;
}
}
/**********************************************************************/
/**************************中断程序2***********************************/
void int2() interrupt 2
{ P1_0=0;
delay();
P1_0=1;
}
/**********************************************************************/
void main(void)
{ IE=0x85;
IP=0x04;
TCON=0x00;
a=0;
while(1)
{ uchar x;
for(x=0;x<23;x++)
{ P0=~P0;
delay();}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -