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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

做單片機密碼鎖遇到一點問題,請教論壇各位朋友

[復制鏈接]
跳轉到指定樓層
樓主
ID:645543 發表于 2020-2-14 17:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
手里現在只有一個單片機的試驗儀,所以按上面的接線寫程序。但是按了6遍0再按D確認,led燈也沒反應。查不出來是那里出問題了。
矩陣是按行從左到右3210列從上到下7654的順序,掃描程序我另外試了,對應關系都對,就是沒有消抖處理。感覺是主程序輸入密碼那里有點問題。
#include"reg51.h"
typedef unsigned char u8;
typedef unsigned int u16;

sbit led=P2^0;
sbit led2=P2^1;
bit pass=0;

u8  Input[6];
u8  Correct[6]={0,0,0,0,0,0};


/*************5ms延時********************/
void Delay5Ms(void)
{
        unsigned int TempCyc = 5552;
        while(TempCyc--);
}


/************將按鍵值編碼為數值**************/
unsigned char coding(unsigned char m)         
{
        unsigned char k;
        switch(m)
        {
                case (0x77): k=1;break;
                case (0x7b): k=2;break;
                case (0x7d): k=3;break;
                case (0x7e): k='A';break;
                case (0xb7): k=4;break;
                case (0xbb): k=5;break;
                case (0xbd): k=6;break;
                case (0xbe): k='B';break;
                case (0xd7): k=7;break;
                case (0xdb): k=8;break;
                case (0xdd): k=9;break;
                case (0xde): k='C';break;
                case (0xe7): k='*';break;
                case (0xeb): k=0;break;
                case (0xed): k='#';break;
                case (0xee): k='D';break;
        }
        return(k);
}
//=====================按鍵檢測并返回按鍵值===============================
unsigned char keynum(void)
{
  u8 temp;
  u8 com1,com2;
  P1=0xf0;
if(P1!=0xf0)
{          Delay5Ms();
      Delay5Ms();
    if(P1!=0xf0)
        {
      {
            com1=P1;
        P1=0x0f;
             com2=P1;
      }
        P1=0xf0;
        while(P1!=0xf0);
        temp=com1|com2;
        return(temp);
        }
        else return 0;
}
else return 0;
}



/******************密碼判斷程序*********************/
void judge()                          
{        if((Input[0]==Correct[0])&&(Input[1]==Correct[1])&&(Input[2]==Correct[2])&&(Input[3]==Correct[3])&&(Input[4]==Correct[4])&&(Input[5]==Correct[5]))
       {
              pass=1;
                  led=0;                //開鎖指示燈亮
                     
           }
    else pass=0;
}

void main()
{         u8  key,num;
         u8  N=0;
     while(1)

         {   led2=0;
             key=keynum();
             num=coding(key);
                 switch(num)
                 { case('A'):     ;break;
                   case('B'):     ;break;
                   case('C'):     ;break;
                   case('D'):judge();break;
                   case('*'):     ;break;
                   case('#'):     ;break;
                   default:
                   {  if(N<6)
                      {Input[N]=num;N++;}
                          else
                          {N=6;break;}

                   }

                 }

         }
}

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美三级 | 天天操夜夜看 | 国产日产精品一区二区三区四区 | caoporn国产精品免费公开 | 91在线精品一区二区 | 中文字幕精品一区久久久久 | 国产一级影片 | 黄色毛片免费看 | 国产一区二区三区精品久久久 | 嫩草视频免费 | 色婷婷久久 | 国产综合久久 | 国产视频三级 | 欧美日韩视频在线 | 日韩在线精品视频 | 懂色av一区二区三区在线播放 | 国产一区二区三区在线视频 | 极品一区| 亚洲精品乱码久久久久久黑人 | 国产精品午夜电影 | 男女视频免费 | 91av视频在线播放 | 性网址| 免费能直接在线观看黄的视频 | 精品91久久 | 狠狠操在线 | 国产高清久久 | 一区二区三区国产 | 精品日韩电影 | 亚洲 欧美 另类 综合 偷拍 | 九九热在线视频免费观看 | 日韩成人在线一区 | 精品免费国产一区二区三区四区介绍 | 成人免费观看男女羞羞视频 | www国产亚洲精品 | 日韩a视频 | 久久久91精品国产一区二区三区 | 亚洲一区二区三区四区五区中文 | 欧美日韩在线精品 | 狠狠做六月爱婷婷综合aⅴ 国产精品视频网 | 国产精品久久久久久吹潮 |