日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

6位密码锁的c语言编程,51单片机4*3矩阵键盘6位密码锁c语言程序

發布時間:2025/3/8 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 6位密码锁的c语言编程,51单片机4*3矩阵键盘6位密码锁c语言程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

滿意答案

#include

#include

#define uchar unsigned char

uchar key;

int i=0;

char b[4]={'0','0','0','0'};//輸入的密碼放這里和初始的比較來判斷是否密碼正確

void keyscan()//掃描按鍵是否按下

{

uchar temp;

P3=0xfe;//掃描第一行

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)//判斷按鍵是否按下

{

delayms(10);//去抖動

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)//確認按鍵按下

{

temp=P3;

switch(temp)

{

case 0xee:key='0';break;

case 0xde:key='1';break;

case 0xbe:key='2';break;

case 0x7e:key='3';break;

}

while(temp!=0xf0)//判斷按鍵是否松開

{

temp=P3;

temp=temp&0xf0;

}

b[i]=key;i++;if(i==3)i=0;

}

}

P3=0xfd;//掃描第二行

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

{

delayms(10);

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

{

temp=P3;

switch(temp)

{

case 0xed:key='4';break;

case 0xdd:key='5';break;

case 0xbd:key='6';break;

case 0x7d:key='7';break;

}

while(temp!=0xf0)

{

temp=P3;

temp=temp&0xf0;

}

b[i]=key;i++;if(i==3)i=0;

}

}

P3=0xfb;//掃描第三行

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

{

delayms(10);

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

{

temp=P3;

switch(temp)

{

case 0xeb:key='8' ;break;

case 0xdb:key='9' ;break;

case 0xbb:key='A';break;

case 0x7b:key='B';break;

}

while(temp!=0xf0)

{

temp=P3;

temp=temp&0xf0;

}

b[i]=key;i++;if(i==3)i=0;

}

}

P3=0xf7;//掃描第四行

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

{

delayms(10);

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

{

temp=P3;

switch(temp)

{

case 0xe7:key='C';break;

case 0xd7:key='D';break;

case 0xb7:key='E';break;

case 0x77:key='F';break;

}

while(temp!=0xf0)

{

temp=P3;

temp=temp&0xf0;

}

b[i]=key;i++;if(i==3)i=0;

}

}

}

main()

{

char a[4]={'3','5','A','C'}; //這個做初始密碼

while(1)//無限循環,保證了b 0-3 四個數有值

{

keyscan();

if(a[0]==b[0]&&a[1]==b[1]&&a[2]==b[2]&&a[3]==b[3])

{

//這里寫密碼正確程序要怎么處理

}

}

}

00分享舉報

總結

以上是生活随笔為你收集整理的6位密码锁的c语言编程,51单片机4*3矩阵键盘6位密码锁c语言程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。