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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1749|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)密碼鎖

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:272436 發(fā)表于 2018-1-6 17:50 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include <reg51.h>
#include <intrins.h>
sbit DX=P2^0;
sbit WX=P2^1;
sbit red=P2^2;
sbit green=P2^3;
unsigned char flag=0,esc=0;
unsigned char admin[8]={0,1,2,3,4,5,6,7};
unsigned char password[8]={16,16,16,16,16,16,16,16};//存放輸入的按鍵,初始為16,不顯示
unsigned char code table[] = {
0x3f,0x06,0x5b,0x4f,0x66,0x6d,
0x7d,0x07,0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0x00};
unsigned char code keycode[]={
0xee,0xde,0xbe,0x7e,
0xed,0xdd,0xbd,0x7d,
0xeb,0xdb,0xbb,0x7b,
0xe7,0xd7,0xb7,0x77
};
void delay(unsigned int xms)//延時(shí)xms 毫秒
{
  unsigned int i,j;
  for(i=0;i<=xms;i++)
  for(j=0;j<=110;j++);
}
unsigned char cmpstr(unsigned char p[],unsigned char q[])
{
unsigned char j=1;
int i;
for(i=7;i>=0;i--)
if(p[i]!=q[i])
{
   j=0;
  break;
}
  return j;
}
unsigned char keyscan()//4*4矩陣按鍵掃描函數(shù):(要去抖) 掃描哪個(gè)鍵被按下。若有按鍵按下,返回對(duì)應(yīng)的按鍵值(0-15),否則返回16
{ unsigned char i=16,hang,temp;//初值設(shè)置為16,目的是:沒有按鍵按下時(shí)返回16;
                               //若不設(shè)初值(默認(rèn)值為0) ,沒有按鍵按下時(shí),將返回0,會(huì)顯示0,誤認(rèn)為0被按下
P1=0x0f;//列輸出全0,行輸出全1
temp=P1;//讀行列輸入
if(temp!=0x0f) //若無按鍵按下,輸入仍為0x0f ;若有按鍵按下對(duì)應(yīng)行輸入變?yōu)?,其他不變
{ delay(10);//去抖
  temp=P1;//再次讀行列輸入
if(temp!=0x0f)
{ hang=temp^0xf0;
P1=hang;//輸出行掃描信號(hào)
temp=P1;//讀行列輸入
for(i=0;i<16;i++)
if(temp==keycode[i])
break;
P1=0x0f;//檢測(cè)按鍵是否釋放
while((temp=P1)!=0x0f);
}
}
return(i);
}
void display()//數(shù)碼管動(dòng)態(tài)顯示一個(gè)字符串(不超過8位)函數(shù)*/
{
unsigned char i;
unsigned char wtemp=0xfe;//位選
  unsigned char tag=0;//高位連續(xù)0標(biāo)記
for(i=1;i<=8;i++)
{
  P0=0xff;//位選消影
  WX=1;//開位選
  P0=wtemp;//送位選
  WX=0;//鎖存位選
  wtemp=_crol_(wtemp,1);//更新位選變量
  P0=0x00; //段選消影
  DX=1;//開段選
  P0=table[password[i-1]]; //送段選
  DX=0;//鎖存段選
  delay(1);
}
}
void clear()
{
unsigned char i;
for(i=0;i<8;i++)
  password[i]=16;
  display();
}
void main()
{
//外部中斷初始化
EA=1;//總中斷允許
EX0=1;//INT0中斷允許
IT0=1;//下降沿觸發(fā)中斷
while(1)
{
P1=0xf0;//送測(cè)試信號(hào),若有按鍵按下,與門輸出0,觸發(fā)外部中斷,否則與門輸出1,不會(huì)產(chǎn)生外部中斷
display(); //顯示輸入的數(shù)據(jù)
if(flag==1)
{
if(cmpstr(password,admin)==1)
  {
    green=0;
  }
  else
  {
          red=0;
  }
clear();
delay(3000);
flag=0;
}
else
{
green=1;
red=1;
}
if(esc==1)
{  
clear();
esc=0;
}
}
}
void EX_INT0() interrupt 0
{
unsigned char i,y;
y=keyscan();
if(y<10)
{
for(i=0;i<7;i++)
{
password[i]=password[i+1];//左移
}
password[7]=y;
}
if(y==10)
    esc=1;
if(y==11)
  flag=1;
}

評(píng)分

參與人數(shù) 1黑幣 +5 收起 理由
BH2RSJ + 5

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:272436 發(fā)表于 2018-1-6 18:02 | 只看該作者
代碼是對(duì)的,大家可以看看
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 鲁大师一区影视 | 黄色免费在线观看网址 | 亚洲精品在线观看视频 | a级免费观看视频 | 日韩第1页 | 精品久久久久久久人人人人传媒 | 在线欧美| 午夜日韩 | 亚洲精品国产一区 | 懂色中文一区二区三区在线视频 | 一区免费 | 成人在线观看免费爱爱 | 成人高清在线视频 | 国产一区久久精品 | 欧美福利精品 | 国产精品久久国产精品久久 | 国产成人精品久久二区二区91 | 国产在线a | 91佛爷在线观看 | 一区二区久久电影 | 欧美精品一区二区三区在线四季 | 天天夜夜操 | 日韩精品一区二区三区中文在线 | 激情欧美一区二区三区中文字幕 | 免费看黄色片 | 精品欧美一区二区三区久久久 | 亚洲美女一区 | 91在线电影 | 天天躁日日躁狠狠躁2018小说 | 午夜二区 | 亚洲一区二区中文字幕在线观看 | 久草在线在线精品观看 | 国产精品一区一区 | 欧美成人影院在线 | 国产高清自拍视频在线观看 | 日韩伦理一区二区 | 日韩欧美国产精品综合嫩v 一区中文字幕 | 日韩一区二区三区在线视频 | av网站免费观看 | 亚洲欧美在线视频 | 色综合久久天天综合网 |