0317矩陣鍵盤密碼鎖

一、功能描述

按下密碼開(kāi)啟LED燈

二、程序展示

#include <REGX51.H>

#include "INTRINS.H"

#define uchar unsigned char

#define uint unsigned int

//sbit P1_0=P1^0;

//sbit P1_1=P1^1;

//sbit P1_2=P1^2;

//sbit P1_3=P1^3;

sbit LED=P2^0;

uchar code D[]={9,8,0,4,1,7};

void delay(uint ms)

{

uchar i;

while(ms--)

{

for(i=0;i<125;i++);

}

}

uchar KeyV()

{

uchar key,key_value,a;

P1=0x0f;

if(P1==0x0f)

return(0);

else

{

delay(10);

if(P1==0x0f)

return(0);

for(a==0;a<4;a++)

{

P1=_cror_(0x7f,a);

if(P1_0==0)break;

if(P1_1==0)break;

if(P1_2==0)break;

if(P1_3==0)break;

}

key=P1;

for(;P1!=0x0f;P1=0x0f)

{;}

switch(key)

{

case 0xee:key_value=1;break;

case 0xed:key_value=2;break;

case 0xeb:key_value=3;break;

case 0xe7:key_value=4;break;

case 0xde:key_value=5;break;

case 0xdd:key_value=6;break;

case 0xdb:key_value=7;break;

case 0xd7:key_value=8;break;

case 0xbe:key_value=9;break;

case 0xbd:key_value=10;break;

case 0xbb:key_value=11;break;

case 0xb7:key_value=12;break;

case 0x7e:key_value=13;break;

case 0x7d:key_value=14;break;

case 0x7b:key_value=15;break;

case 0x77:key_value=16;break;

default:;break;

}

return(key_value);

}

}

void main(void)

{

uchar key_value=0xff;

while(1)

{

while(key_value!=D[0])

? ? ? {key_value=keyV();}

while(key_value!=D[1])

? ? ? {key_value=keyV();}

while(key_value!=D[2])

? ? ? {key_value=keyV();}

while(key_value!=D[3])

? ? ? {key_value=keyV();}

while(key_value!=D[4])

? ? ? {key_value=keyV();}

while(key_value!=D[5])

? ? ? {key_value=keyV();}

while(key_value!=D[16])

? ? ? {key_value=keyV();}

LED=0;

}

}

三、原理圖展示


四、小結(jié)

這次是我們第二次做單片機(jī)上機(jī)學(xué)習(xí),我認(rèn)為這次的我取得了很大的進(jìn)步,讓我學(xué)到了許多的單片機(jī)知識(shí),也讓我對(duì)這門課程第一次感到興趣。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、功能描述 按順序按下正確的按鈕,使LED燈亮。 二、程序 #include <REGX51.H> #inclu...
    TCurry閱讀 496評(píng)論 0 0
  • 1、功能描述 按順序按下正確的按鈕,使LED燈亮。 2、程序 #include <REGX51.H> #inclu...
    TCurry閱讀 345評(píng)論 0 0
  • 一、功能描述 按下980417后,燈變亮。 二、程序 #include <REGX51.H> #include"I...
    腹有詩(shī)書氣自華_2cc8閱讀 379評(píng)論 0 0
  • 不知不覺(jué)上了挺久的網(wǎng)課,由于大學(xué)還沒(méi)開(kāi)學(xué),所以有些實(shí)驗(yàn)課也得在家自己上。其中有個(gè)現(xiàn)代電子設(shè)計(jì)的實(shí)驗(yàn)課,老師給了一些...
    一瓶星星糖閱讀 8,004評(píng)論 1 3
  • 一、功能介紹 用開(kāi)關(guān)來(lái)控制密碼鎖。 二、程序代碼 #include #define uint unsigned i...
    掃黑除惡C閱讀 131評(píng)論 0 0

友情鏈接更多精彩內(nèi)容