久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: [求助]幾個單片機小問題 [打印本頁]

作者: xiaoquan403    時間: 2008-7-31 13:46
標題: [求助]幾個單片機小問題

我剛學習單片機
遇到了幾個小問題想不明白
請各位大蝦指教

請知道的大手
把回答發上來供新手學習

鍵控流水燈程序
#include "reg51.h"
#include "intrins.h"
#define uchar unsigned char
void mDelay(unsigned int DelayTime)
{ unsigned int  j=0;
 for(;DelayTime>0;DelayTime--)
 { for(j=0;j<125;j++) 
  {;} }}
uchar Key()
{ uchar KeyV;
 uchar tmp;  
 P3=P3|0x3c; // 四個鍵所接位置
 KeyV=P3;                                       一
 if((KeyV|0xc3)==0xff) //無鍵按下
  return(0);
 mDelay(10);  //延時,去鍵抖
 KeyV=P3;
 if((KeyV|0xc3)==0xff)
  return(0);
 else
 { for(;;){ tmp=P3;                               二
   if((tmp|0xc3)==0xff)
    break;}
  return(KeyV);}}
void main()
{ unsigned char OutData=0xfe; 
 bit UpDown=0;
 bit Start=0;
 uchar KValue;
 for(;;)
 { KValue=Key();
  switch (KValue)
{ case 0xfb:  //P3.2=0,Start
   { Start=1; 
    break; }
   case 0xf7:  //P3.3=0,Stop
   { Start=0;
    break; }
   case 0xef:  //P3.4=0 Up
   { UpDown=1;
    break; }
   case 0xdf: //P3.5=0 Down
   { UpDown=0;
    break; }
  }
  if(Start)
  { if(UpDown)
  OutData=_crol_(OutData,1);  
   else
  OutData=_cror_(OutData,1);    P1=OutData;
  }
  else
   P1=0xff; //否則燈全滅
  mDelay(1000);
 }
}

問題一處
1 為何
 P3=P3|0x3c; // 四個鍵所接位置
 KeyV=P3;
 if((KeyV|0xc3)==0xff) //無鍵按下
用這個來確認鍵是否被按下
2是否在
 KeyV=P3; 后
程序會掃描端口
 若不是  什么時候掃描端口
3 mDelay(10);  //延時,去鍵抖
  是什么意思
問題二處
for(;;)不加行不行?不行去掉會怎么樣?

[此貼子已經被作者于2008-7-31 13:56:00編輯過]





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日日夜夜免费精品视频 | 日韩免费视频一区二区 | 国产欧美一区二区久久性色99 | 精品国产乱码一区二区三区 | 日韩欧美黄色 | 欧美天堂一区 | 精品视频一区二区三区 | 亚洲视频免费在线观看 | 日韩在线欧美 | 国产精品美女久久久免费 | 久久88| 欧美一区二区三区在线视频 | 天天夜干 | 天堂av中文在线 | 91成人免费电影 | 一区二区三区欧美在线 | 亚洲欧美一区二区三区在线 | 嫩草视频入口 | 一区二区三区回区在观看免费视频 | 岛国精品 | 天堂一区在线 | 操操日 | 伊人狠狠操 | 亚洲一区视频在线 | 亚洲一区二区久久 | 亚洲成人av在线播放 | av免费入口| 成人午夜精品 | 99久久精品国产一区二区三区 | 粉嫩一区二区三区国产精品 | 久久久久黑人 | 国产精品久久久久久久久久免费 | 一区二区三区国产 | 在线免费看黄 | 国产免费一二三区 | 成人午夜在线观看 | 欧美精三区欧美精三区 | 中文字幕三区 | 三级成人在线观看 | 国产精品一区二 | 在线视频一区二区 |