各位大哥!能否帮小弟看看这程序?

2019-07-15 20:50发布

本帖最后由 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;
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。