本帖最后由 li1557554 于 2014-2-22 15:36 编辑
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
#define led P2
sbit sb = P0^0;
void ys(uint i)
{
unsigned char j;
for(i; i > 0; i--) //循环 600*255 次
for(j = 255; j > 0; j--);
}
void KAISHI(uchar x)
{
uchar i;
for(i = 0; i < x; i ++)
{
led = 0xff;
ys(600);
led = 0x00;
ys(600);
}
}
void main(void)
{
EA = 1; //打开总中断
EX1 = 1; //INT1中断使能位
IT1 = 1; //负边沿触发
while(1)
{
led = 0x00;
ys(600);
led = 0xff;
ys(600);
}
}
void MY_INT1(void) interrupt 2 //中断
{
uchar bhled = led;
EX1 =0;
ys(20);
if(sb == 0) //判断开关
{
KAISHI(5); //五次
led = bhled;
}
if(sb !=1)
ys(20);
EX1 = 1;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>