機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
C51獨(dú)立按鍵的識(shí)別示例程序
C51獨(dú)立按鍵的識(shí)別示例程序
 更新時(shí)間:2008-7-27 14:28:43  點(diǎn)擊數(shù):3
【字體: 字體顏色

每按一次獨(dú)立鍵盤的S2鍵,與P1口相連的一個(gè)發(fā)光二極管往下移動(dòng)一位。

東哥單片機(jī)學(xué)習(xí)網(wǎng) www.picavr.com

#include <reg52.h>

sbit BY1=P3^4;       //定義按鍵的輸入端S2鍵

unsigned char count; //按鍵計(jì)數(shù),每按一下,count加1

unsigned char temp;

unsigned char a,b;

void delay10ms(void) //延時(shí)程序

{

      unsigned char i,j;

      for(i=20;i>0;i--)

      for(j=248;j>0;j--);

}

key()           //按鍵判斷程序

{

      if(BY1==0)  //判斷是否按下鍵盤,當(dāng)單片機(jī)上電時(shí)所有IO口為//高電平,S2鍵一端接地另一端接P3.4,所以當(dāng)鍵被按下時(shí)P3.4口//直接接地,此時(shí)檢測(cè)P3.4肯定為低電平。

      {

        delay10ms(); //延時(shí),軟件去干擾

        if(BY1==0)   //確認(rèn)按鍵按下

         {

           count++;     //按鍵計(jì)數(shù)加1

           if(count==8) //計(jì)8次重新計(jì)數(shù)

           {

          count=0;    //將count清零

           }

       }

      while(BY1==0);//等待按鍵釋放,如果鍵未釋放則一直在此等待。

      }

}

 MOVe()         //廣告燈向下移動(dòng)移動(dòng)函數(shù)

{

      a=temp<<count;  //這三句為一個(gè)循環(huán)移位,相當(dāng)于前面提到的

      b=temp>>(8-count);//  _crol_()函數(shù)

      P1=a|b;

}

 

main()

{

 count=0;  //初始化參數(shù)設(shè)置

 temp=0xfe;

 P1=0xff;

 P1=temp;

 while(1)  //永遠(yuǎn)循環(huán),掃描判斷按鍵是否按下

 {

   key();    //調(diào)用按鍵識(shí)別函數(shù)

   MOVe();   //調(diào)用廣告燈移動(dòng)函數(shù)

 }

}

  • 上一篇: 書柜自動(dòng)照明燈
  • 下一篇: 手電筒光遙控交流開關(guān)
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1