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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 7918|回復(fù): 0
收起左側(cè)

[求助]幾個(gè)單片機(jī)小問題

[復(fù)制鏈接]
ID:3852 發(fā)表于 2008-7-31 13:46 | 顯示全部樓層 |閱讀模式

我剛學(xué)習(xí)單片機(jī)
遇到了幾個(gè)小問題想不明白
請(qǐng)各位大蝦指教

請(qǐng)知道的大手
把回答發(fā)上來供新手學(xué)習(xí)

鍵控流水燈程序
#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; // 四個(gè)鍵所接位置
 KeyV=P3;                                       一
 if((KeyV|0xc3)==0xff) //無鍵按下
  return(0);
 mDelay(10);  //延時(shí),去鍵抖
 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; // 四個(gè)鍵所接位置
 KeyV=P3;
 if((KeyV|0xc3)==0xff) //無鍵按下
用這個(gè)來確認(rèn)鍵是否被按下
2是否在
 KeyV=P3; 后
程序會(huì)掃描端口
 若不是  什么時(shí)候掃描端口
3 mDelay(10);  //延時(shí),去鍵抖
  是什么意思
問題二處
for(;;)不加行不行?不行去掉會(huì)怎么樣?

[此貼子已經(jīng)被作者于2008-7-31 13:56:00編輯過]
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表