欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 求高手幫忙改一段代碼 [打印本頁]

作者: xymiss    時間: 2017-10-3 03:05
標題: 求高手幫忙改一段代碼
幫忙改成按一下按鍵流水燈開始 ,再按一下中段并重新開始。不按不亮 每按一下只走一遍。不循環。謝謝!
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
sbit button = P3^0;
uchar press = 1;
uchar luishui = 0xfe;
void Delay(uchar z)
{
    uchar x, y;
    for(x = z; x > 0; x--)  for(y = 255; y > 0; y--);
}
void main()
{
    IT0 = 1;
    EX0 = 1;
    EA = 1;
    while(1) {
      if(press == 1)   P1 = 0xff;
      if(press == 0)  {
        P1 = luishui;
        luishui = _crol_(luishui, 1);
        Delay(200);  
      }
    }
}
X0_INT()   interrupt 0
{
    press += 1; if(press == 2)  press = 0;
    Delay(10);  
    while(button == 0);
}



作者: liut_text    時間: 2017-10-3 03:05
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
sbit button = P3^2;//外部中斷P3^2和P3^3
int b=1;
bit press = 1;
uchar luishui = 0xfe;
void Delay(uchar z)
{
    uchar x, y;
    for(x = z; x > 0; x--)  for(y = 255; y > 0; y--);
}
void main()
{
    int i=0;
    IT0 = 1;
    EX0 = 1;
    EA = 1;
    while(press) P1=0xff;
        while(!press)
        {
          b=1;
          luishui=0xfe;
          for(i=0;i<8;i++)
          {
           if(!b)break;
           P1=luishui;
           Delay(200);
           luishui=_crol_(luishui,1);                               
          }         
         if(i==8)press=1;
        }
}
void X0_INT()   interrupt 0
{  
  b=0;
  press=0;  
}
你看看是不是這樣
作者: wulin    時間: 2017-10-3 11:37
外部中斷P3.2~P3.3
作者: wulin    時間: 2017-10-3 13:42
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
sbit button = P3^2;
uchar press = 1;
uchar luishui = 0xfe;
void Delay(uchar z)
{
        uchar x, y;
        for(x = z; x > 0; x--)  
                for(y = 255; y > 0; y--);
}
void main()
{
        P3=0x0f;
        IT0 = 1;
        EX0 = 1;
        EA = 1;
        while(1)
        {
                if(press == 1)   
                        P1 = 0xff;
                if(press == 0)  
                {
                        P1 = luishui;
                        luishui = _crol_(luishui, 1);
                        Delay(250);  
                        if(P1 == 0x7f)  
                                press = 1;
                }
        }
}
X0_INT()   interrupt 0
{
        press = 0;
//        if(press == 2)  
//        press = 0;
//        Delay(10);  
//        while(button == 0);
}

作者: 不倒翁.WZT    時間: 2017-10-5 07:07
標題: RE: 求高手幫忙改一段代碼
#include<reg51.h>             //51系列單片機頭文件
#include<intrins.h>           //左右循環頭文件
#define uint unsigned int     //宏定義
#define uchar unsigned char   //宏定義
void delayms(uint);           //聲明子函數
uchar n;                      //定義一個變量,用來控制循環次數
uchar aa;                     //定義一個變量,用來給P1口賦值
void main()                   //主函數
{
        IT0=1;       //下降沿觸發
        EX0=1;       //INT0中斷允許
        IT1=1;       //下降沿觸發
        EX1=1;       //INT1中斷允許
        EA=1;        //總中斷允許        //P1口賦初值11111110
  while(1){}                   //大循環
}
void delayms(uint X)       //延時子函數
{
        uint i,j;                //定義i,j
        for(i=X;i>0;i--)       //i=xms即延時約xms毫秒
        for(j=110;j>0;j--);      
}
void  INT0_1(void) interrupt 0  using 1
{  
        EX0=0;   //進入外部INT0中斷關閉,防止誤操作
        aa=0x01;
        P0=aa;                //先點亮一個發光管
        aa=_crol_(aa,1);      //將aa循環左移1位后再賦給aa         
        delayms(500);         //調用延時500ms
        EX0=1;   //中斷函數結束,外部INT0中斷打開,中斷生效
}       

作者: xymiss    時間: 2017-10-5 22:43
本帖最后由 xymiss 于 2017-10-6 22:49 編輯
wulin 發表于 2017-10-3 13:42
#include
#include
#define uchar unsigned char
謝謝老師。明白了




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1