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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1912|回復: 0
打印 上一主題 下一主題
收起左側

51按鍵掃描

[復制鏈接]
跳轉到指定樓層
樓主
ID:372503 發表于 2018-7-17 09:37 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include "keyboard.h"
extern bit bdata flag_key;
//按鍵掃描函數 :   
//功能;只掃描一個按鍵,按鍵為號小優先  
//返回鍵值:
//         1    2    3    10    //10:清零重量,兼去皮功能
//         4    5    6    11    //11:清除單價
//         7    8    9    12    //12:顯示數值偏大調節按鍵  
//         14   0    15   13    //14:無功能(用于擴展)15:小數點   13:顯示數值偏小調節按鍵
unsigned char Getkeyboard(void)
{
    unsigned char number = 0;
    unsigned char i;
//行輸入低電平
    ROW1=ROW2=ROW3=ROW4=0;
//如果列輸出不全為高,則說明有鍵按下
if (((COL1!=1)||(COL2!=1)||(COL3!=1)||(COL4!=1))&&flag_key==1)
{
    //輸入0111
    flag_key=0;
    ROW1=0;
    ROW2=ROW3=ROW4=1;
    for (i=0;i<20;i++);
    if (COL1==0) return 1;    // 7
    else if (COL2==0) return 2; //  8
    else if (COL3==0) return 3;  // 9
    else if (COL4==0) return 10;  //  10
    //輸入1011
    ROW2=0;
    ROW1=ROW3=ROW4=1;
    for (i=0;i<20;i++);
    if (COL1==0) return 4;   //4
    else if (COL2==0) return 5; //  5
    else if (COL3==0) return 6; // 6
    else if (COL4==0) return 11;  // 11
    //輸入1101
    ROW3=0;
    ROW1=ROW2=ROW4=1;
    for (i=0;i<20;i++);
    if (COL1==0) return 7;  //1
    else if (COL2==0) return 8;   // 2
    else if (COL3==0) return 9;   //   3
    else if (COL4==0) return 12;   //   12
    //輸入0111
    ROW4=0;
    ROW1=ROW2=ROW3=1;
    for (i=0;i<20;i++);
    if (COL1==0) return 14;
    else if (COL2==0) return 0;
    else if (COL3==0) return 15;
    else if (COL4==0) return 13;
    //沒有檢測到列低電平
    return 99;
}
else if(COL1==1&&COL2==1&&COL3==1&&COL4==1)
flag_key=1;
return 99;
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表