機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開(kāi)發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開(kāi)發(fā)
培訓(xùn)信息
贊助商
鍵盤(pán)掃描
鍵盤(pán)掃描
 更新時(shí)間:2008-7-27 16:10:44  點(diǎn)擊數(shù):2
【字體: 字體顏色

/*******************************************************************/
//模 塊 名: 鍵盤(pán)掃描
//創(chuàng) 建 者: 好心情
//修 改 者:
//功能描述: 行列線(xiàn)掃描方式驅(qū)動(dòng) 4*4,含有按下去抖和彈起去抖
//其他說(shuō)明: 51上運(yùn)行通過(guò),晶振12M
//版    本: V1.0
//日    期:  2008-1-18
/*******************************************************************/

//-------------------------------------------------------------------
#ifndef _keyDriver_h_ //防止重復(fù)引用
#define _keyDriver_h_
//-------------------------------------------------------------------

#include"userdefined.h"
#include"yanshi.h"
//#include"ledDriver.h"

/****************************常量定義*******************************/
#define keyPort P2   //定義鍵盤(pán)接口
/****************************函數(shù)聲明*******************************/
code unsigned char stop[3] _at_ 0x3B;   //Mon51用!

//-------------------------------------------------------------------
#endif


//---------------------------函數(shù)實(shí)現(xiàn)-------------------------------//
uchar keyScan()
{
   uchar rCode;      //保存行碼
 uchar lCode;   //保存列碼  

 keyPort = 0xf0;      //初始化端口,準(zhǔn)備掃描 11110000

 if(keyPort != 0xf0)      //如果有按鍵動(dòng)作 
 {
  delay_1ms(10);     //延時(shí)去抖
  if(keyPort != 0xf0)    //再次檢測(cè)按鍵,去抖
  {
   rCode = (~keyPort) & 0xf0; //保存列碼    
   keyPort = 0x0f;    //翻轉(zhuǎn)行列電平,判斷行碼 00001111 
   lCode = (~keyPort) & 0x0f; //保存行碼
  
   do{       //按鍵彈起去抖
    keyPort = 0x0f;   
    delay_1ms(10);
   }while(keyPort != 0x0f);
   
   return (rCode | lCode);  //得到特征碼并將其返回
  }
 }
 return (0);
}

  • 上一篇: 51單片機(jī) Keil C 延時(shí)程序的簡(jiǎn)單研究 1
  • 下一篇: 單片機(jī)C51的編程規(guī)范
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(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)更名-聲明
    電話(huà):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